Nuprl Lemma : Memory-class-invariant-sv1
∀[Info,B,A:Type].
∀P:B ─→ ℙ. ∀f:A ─→ B ─→ B. ∀init:Id ─→ bag(B). ∀X:EClass(A). ∀es:EO+(Info). ∀e:E. ∀v:B.
(single-valued-classrel(es;X;A)
⇒ single-valued-bag(init loc(e);B)
⇒ (∀v:B. (v ↓∈ init loc(e)
⇒ P[v]))
⇒ (∀a:A. ∀e':E. ∀s:B. ((e' <loc e)
⇒ a ∈ X(e')
⇒ s ∈ Memory-class(f;init;X)(e')
⇒ P[s]
⇒ P[f a s]))
⇒ v ∈ Memory-class(f;init;X)(e)
⇒ P[v])
Proof
Definitions occuring in Statement :
Memory-class: Memory-class(f;init;X)
,
single-valued-classrel: single-valued-classrel(es;X;T)
,
classrel: v ∈ X(e)
,
eclass: EClass(A[eo; e])
,
event-ordering+: EO+(Info)
,
es-locl: (e <loc e')
,
es-loc: loc(e)
,
es-E: E
,
Id: Id
,
uall: ∀[x:A]. B[x]
,
prop: ℙ
,
so_apply: x[s]
,
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-member: x ↓∈ bs
,
bag: bag(T)
Lemmas :
Memory-classrel2,
decidable__assert,
es-first_wf2,
sq_stable__bag-member,
iterated-classrel-invariant,
es-pred_wf,
bag-member_wf,
es-loc_wf,
prior-iterated-classrel_wf,
classrel_wf,
es-le_wf,
Memory-class_wf,
all_wf,
es-E_wf,
event-ordering+_subtype,
es-locl_wf,
single-valued-bag_wf,
single-valued-classrel_wf,
event-ordering+_wf,
eclass_wf,
Id_wf,
bag_wf,
es-loc-pred,
and_wf,
equal_wf,
iterated-classrel_wf,
assert_wf,
not_wf,
es-locl_transitivity1,
es-pred-locl,
iff_weakening_equal,
es-pred-loc-base,
true_wf,
squash_wf,
sq_stable__single-valued-iterated-classrel
Latex:
\mforall{}[Info,B,A:Type].
\mforall{}P: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{}e:E. \mforall{}v:B.
(single-valued-classrel(es;X;A)
{}\mRightarrow{} single-valued-bag(init loc(e);B)
{}\mRightarrow{} (\mforall{}v:B. (v \mdownarrow{}\mmember{} init loc(e) {}\mRightarrow{} P[v]))
{}\mRightarrow{} (\mforall{}a:A. \mforall{}e':E. \mforall{}s:B.
((e' <loc e) {}\mRightarrow{} a \mmember{} X(e') {}\mRightarrow{} s \mmember{} Memory-class(f;init;X)(e') {}\mRightarrow{} P[s] {}\mRightarrow{} P[f a s]))
{}\mRightarrow{} v \mmember{} Memory-class(f;init;X)(e)
{}\mRightarrow{} P[v])
Date html generated:
2015_07_22-PM-00_13_23
Last ObjectModification:
2015_07_16-AM-09_39_44
Home
Index