Nuprl Lemma : State-comb-mem2
∀[Info,B,A:Type]. ∀[R:A ─→ B ─→ B ─→ ℙ]. ∀[f:A ─→ B ─→ B]. ∀[init:Id ─→ bag(B)]. ∀[X:EClass(A)]. ∀[es:EO+(Info)].
∀[e1,e2:E].
∀v1,v2:B. ∀a:A.
((∀a:A. ∀s:B. ∀e:E. (e1 ≤loc e
⇒ e ≤loc e2
⇒ a ∈ X(e)
⇒ s ∈ Memory-class(f;init;X)(e)
⇒ R[a;s;f a s]))
⇒ (∀a1,a2:A. ∀s1,s2:B. ∀e,e':E.
(e1 ≤loc e
⇒ (e <loc e')
⇒ e' ≤loc e2
⇒ a1 ∈ X(e)
⇒ s1 ∈ Memory-class(f;init;X)(e)
⇒ a2 ∈ X(e')
⇒ s2 ∈ State-comb(init;f;X)(pred(e'))
⇒ R[a1;s1;s2]
⇒ R[a1;s1;f a2 s2]))
⇒ (∀s1,s2:B. ∀a:A. SqStable(R[a;s1;s2]))
⇒ single-valued-classrel(es;X;A)
⇒ single-valued-bag(init loc(e1);B)
⇒ e1 ≤loc e2
⇒ a ∈ X(e1)
⇒ v1 ∈ Prior(State-comb(init;f;X))?init(e1)
⇒ v2 ∈ State-comb(init;f;X)(e2)
⇒ R[a;v1;v2])
Proof
Definitions occuring in Statement :
State-comb: State-comb(init;f;X)
,
Memory-class: Memory-class(f;init;X)
,
primed-class-opt: Prior(X)?b
,
single-valued-classrel: single-valued-classrel(es;X;T)
,
classrel: v ∈ X(e)
,
eclass: EClass(A[eo; e])
,
event-ordering+: EO+(Info)
,
es-le: e ≤loc e'
,
es-locl: (e <loc e')
,
es-pred: pred(e)
,
es-loc: loc(e)
,
es-E: E
,
Id: Id
,
sq_stable: SqStable(P)
,
uall: ∀[x:A]. B[x]
,
prop: ℙ
,
so_apply: x[s1;s2;s3]
,
all: ∀x:A. B[x]
,
implies: P
⇒ Q
,
apply: f a
,
function: x:A ─→ B[x]
,
universe: Type
,
single-valued-bag: single-valued-bag(b;T)
,
bag: bag(T)
Lemmas :
State-comb-mem,
State-comb-classrel-mem,
classrel_wf,
State-comb_wf,
primed-class-opt_wf,
es-le_wf,
event-ordering+_subtype,
single-valued-bag_wf,
es-loc_wf,
single-valued-classrel_wf,
all_wf,
sq_stable_wf,
es-E_wf,
es-locl_wf,
Memory-class_wf,
es-pred_wf,
es-locl-first,
assert_elim,
btrue_neq_bfalse,
assert_wf,
es-first_wf2,
event-ordering+_wf,
eclass_wf,
Id_wf,
bag_wf
Latex:
\mforall{}[Info,B,A:Type]. \mforall{}[R:A {}\mrightarrow{} B {}\mrightarrow{} B {}\mrightarrow{} \mBbbP{}]. \mforall{}[f:A {}\mrightarrow{} B {}\mrightarrow{} B]. \mforall{}[init:Id {}\mrightarrow{} bag(B)]. \mforall{}[X:EClass(A)].
\mforall{}[es:EO+(Info)]. \mforall{}[e1,e2:E].
\mforall{}v1,v2:B. \mforall{}a:A.
((\mforall{}a:A. \mforall{}s:B. \mforall{}e:E.
(e1 \mleq{}loc e {}\mRightarrow{} e \mleq{}loc e2 {}\mRightarrow{} a \mmember{} X(e) {}\mRightarrow{} s \mmember{} Memory-class(f;init;X)(e) {}\mRightarrow{} R[a;s;f a s]))
{}\mRightarrow{} (\mforall{}a1,a2:A. \mforall{}s1,s2:B. \mforall{}e,e':E.
(e1 \mleq{}loc e
{}\mRightarrow{} (e <loc e')
{}\mRightarrow{} e' \mleq{}loc e2
{}\mRightarrow{} a1 \mmember{} X(e)
{}\mRightarrow{} s1 \mmember{} Memory-class(f;init;X)(e)
{}\mRightarrow{} a2 \mmember{} X(e')
{}\mRightarrow{} s2 \mmember{} State-comb(init;f;X)(pred(e'))
{}\mRightarrow{} R[a1;s1;s2]
{}\mRightarrow{} R[a1;s1;f a2 s2]))
{}\mRightarrow{} (\mforall{}s1,s2:B. \mforall{}a:A. SqStable(R[a;s1;s2]))
{}\mRightarrow{} single-valued-classrel(es;X;A)
{}\mRightarrow{} single-valued-bag(init loc(e1);B)
{}\mRightarrow{} e1 \mleq{}loc e2
{}\mRightarrow{} a \mmember{} X(e1)
{}\mRightarrow{} v1 \mmember{} Prior(State-comb(init;f;X))?init(e1)
{}\mRightarrow{} v2 \mmember{} State-comb(init;f;X)(e2)
{}\mRightarrow{} R[a;v1;v2])
Date html generated:
2015_07_22-PM-00_22_51
Last ObjectModification:
2015_01_28-AM-10_11_21
Home
Index