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