Step
*
of Lemma
Memory-class-invariant
∀[Info,B,A:Type].
∀P:B ⟶ ℙ. ∀f:A ⟶ B ⟶ B. ∀init:Id ⟶ bag(B). ∀X:EClass(A). ∀es:EO+(Info). ∀e:E. ∀v:B.
((∀s:B. SqStable(P[s]))
⇒ (∀a:A. ∀e':E. ((e' <loc e)
⇒ a ∈ X(e')
⇒ (∀s:B. (P[s]
⇒ P[f a s]))))
⇒ (∀v:B. (v ↓∈ init loc(e)
⇒ P[v]))
⇒ v ∈ Memory-class(f;init;X)(e)
⇒ P[v])
BY
{ ((Auto THEN Try ((Unfold `label` 0 THEN Auto)))
THEN (RWO "Memory-classrel" (-1) THENM D -1)
THEN Auto
THEN InstLemma `iterated_classrel_invariant2`
[⌜Info⌝;⌜A⌝;⌜B⌝;⌜init⌝;⌜f⌝;⌜X⌝;⌜es⌝;⌜P⌝;⌜pred(e)⌝;⌜v⌝]⋅
THEN Auto
THEN InstHyp [⌜a⌝;⌜e'⌝] (-10)⋅
THEN MaAuto) }
Latex:
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.
((\mforall{}s:B. SqStable(P[s]))
{}\mRightarrow{} (\mforall{}a:A. \mforall{}e':E. ((e' <loc e) {}\mRightarrow{} a \mmember{} X(e') {}\mRightarrow{} (\mforall{}s:B. (P[s] {}\mRightarrow{} P[f a s]))))
{}\mRightarrow{} (\mforall{}v:B. (v \mdownarrow{}\mmember{} init loc(e) {}\mRightarrow{} P[v]))
{}\mRightarrow{} v \mmember{} Memory-class(f;init;X)(e)
{}\mRightarrow{} P[v])
By
Latex:
((Auto THEN Try ((Unfold `label` 0 THEN Auto)))
THEN (RWO "Memory-classrel" (-1) THENM D -1)
THEN Auto
THEN InstLemma `iterated\_classrel\_invariant2`
[\mkleeneopen{}Info\mkleeneclose{};\mkleeneopen{}A\mkleeneclose{};\mkleeneopen{}B\mkleeneclose{};\mkleeneopen{}init\mkleeneclose{};\mkleeneopen{}f\mkleeneclose{};\mkleeneopen{}X\mkleeneclose{};\mkleeneopen{}es\mkleeneclose{};\mkleeneopen{}P\mkleeneclose{};\mkleeneopen{}pred(e)\mkleeneclose{};\mkleeneopen{}v\mkleeneclose{}]\mcdot{}
THEN Auto
THEN InstHyp [\mkleeneopen{}a\mkleeneclose{};\mkleeneopen{}e'\mkleeneclose{}] (-10)\mcdot{}
THEN MaAuto)
Home
Index