Step
*
of Lemma
memory-classrel2-sv
∀[Info,A1,A2,S:Type].
∀init:Id ─→ S. ∀tr1:Id ─→ A1 ─→ S ─→ S. ∀X1:EClass(A1). ∀tr2:Id ─→ A2 ─→ S ─→ S. ∀X2:EClass(A2). ∀es:EO+(Info). ∀e:E.
∀v:S.
(disjoint-classrel(es;A2;X2;A1;X1)
⇒ single-valued-classrel(es;X2;A2)
⇒ single-valued-classrel(es;X1;A1)
⇒ (v ∈ memory-class2(init;tr1;X1;tr2;X2)(e)
⇐⇒ prior-iterated-classrel(es;A1 + A2;S;v;X1 (+) X2;tr1 + tr2 loc(e);λloc.{init loc};e)))
BY
{ ((UnivCD THENA Auto)
THEN (RWO "Memory2-memory-class2<" 0 THENM Try ((Unfold `Memory2` 0 THEN RWO "Memory-loc-classrel-single-val" 0)))
THEN Auto
THEN Reduce 0
THEN Auto
THEN Try (ProveSingleVal)) }
Latex:
Latex:
\mforall{}[Info,A1,A2,S:Type].
\mforall{}init:Id {}\mrightarrow{} S. \mforall{}tr1:Id {}\mrightarrow{} A1 {}\mrightarrow{} S {}\mrightarrow{} S. \mforall{}X1:EClass(A1). \mforall{}tr2:Id {}\mrightarrow{} A2 {}\mrightarrow{} S {}\mrightarrow{} S. \mforall{}X2:EClass(A2).
\mforall{}es:EO+(Info). \mforall{}e:E. \mforall{}v:S.
(disjoint-classrel(es;A2;X2;A1;X1)
{}\mRightarrow{} single-valued-classrel(es;X2;A2)
{}\mRightarrow{} single-valued-classrel(es;X1;A1)
{}\mRightarrow{} (v \mmember{} memory-class2(init;tr1;X1;tr2;X2)(e)
\mLeftarrow{}{}\mRightarrow{} prior-iterated-classrel(es;A1 + A2;S;v;X1 (+) X2;tr1 + tr2 loc(e);\mlambda{}loc.\{init loc\};e)))
By
Latex:
((UnivCD THENA Auto)
THEN (RWO "Memory2-memory-class2<" 0
THENM Try ((Unfold `Memory2` 0 THEN RWO "Memory-loc-classrel-single-val" 0))
)
THEN Auto
THEN Reduce 0
THEN Auto
THEN Try (ProveSingleVal))
Home
Index