Step
*
of Lemma
State-comb-invariant-or
∀[Info,A,S:Type]. ∀[P:S ⟶ ℙ].
∀init:Id ⟶ bag(S). ∀f:A ⟶ S ⟶ S. ∀X:EClass(A). ∀es:EO+(Info). ∀e:E. ∀v:S.
(((single-valued-bag(init loc(e);S) ∧ single-valued-classrel(es;X;A)) ∨ (∀s:S. SqStable(P[s])))
⇒ (∀s:S. (s ↓∈ init loc(e)
⇒ P[s]))
⇒ (∀a:A. ∀e':E. (e' ≤loc e
⇒ a ∈ X(e')
⇒ (∀s:S. (s ∈ Memory-class(f;init;X)(e')
⇒ P[s]
⇒ P[f a s]))))
⇒ v ∈ State-comb(init;f;X)(e)
⇒ P[v])
BY
{ ((UnivCD THENA Auto)
THEN D (-4)
THEN RepD
THEN Try (Complete ((FLemma `State-comb-invariant-sv` [-3;-2;-1] THEN Auto)))
THEN Try (Complete ((FLemma `State-comb-invariant` [-3;-2;-1] THEN Auto)))) }
Latex:
Latex:
\mforall{}[Info,A,S:Type]. \mforall{}[P:S {}\mrightarrow{} \mBbbP{}].
\mforall{}init:Id {}\mrightarrow{} bag(S). \mforall{}f:A {}\mrightarrow{} S {}\mrightarrow{} S. \mforall{}X:EClass(A). \mforall{}es:EO+(Info). \mforall{}e:E. \mforall{}v:S.
(((single-valued-bag(init loc(e);S) \mwedge{} single-valued-classrel(es;X;A)) \mvee{} (\mforall{}s:S. SqStable(P[s])))
{}\mRightarrow{} (\mforall{}s:S. (s \mdownarrow{}\mmember{} init loc(e) {}\mRightarrow{} P[s]))
{}\mRightarrow{} (\mforall{}a:A. \mforall{}e':E.
(e' \mleq{}loc e {}\mRightarrow{} a \mmember{} X(e') {}\mRightarrow{} (\mforall{}s:S. (s \mmember{} Memory-class(f;init;X)(e') {}\mRightarrow{} P[s] {}\mRightarrow{} P[f a s]))))
{}\mRightarrow{} v \mmember{} State-comb(init;f;X)(e)
{}\mRightarrow{} P[v])
By
Latex:
((UnivCD THENA Auto)
THEN D (-4)
THEN RepD
THEN Try (Complete ((FLemma `State-comb-invariant-sv` [-3;-2;-1] THEN Auto)))
THEN Try (Complete ((FLemma `State-comb-invariant` [-3;-2;-1] THEN Auto))))
Home
Index