Step
*
1
of Lemma
memory-class3-fun-eq
1. Info : Type
2. B : Type
3. A1 : Type
4. A2 : Type
5. A3 : Type
6. init : Id ─→ B
7. tr1 : Id ─→ A1 ─→ B ─→ B
8. X1 : EClass(A1)
9. tr2 : Id ─→ A2 ─→ B ─→ B
10. X2 : EClass(A2)
11. tr3 : Id ─→ A3 ─→ B ─→ B
12. X3 : EClass(A3)
13. es : EO+(Info)
14. e : E
15. ¬↑first(e)
16. single-valued-classrel(es;X3;A3)
17. single-valued-classrel(es;X2;A2)
18. single-valued-classrel(es;X1;A1)
19. disjoint-classrel(es;A2;X2;A3;X3)
20. disjoint-classrel(es;A1;X1;A3;X3)
21. disjoint-classrel(es;A1;X1;A2;X2)
22. ↑pred(e) ∈b X1
⊢ ((tr1 o X1) || (tr2 o X2) || (tr3 o X3)(pred(e)) 
   loop-class-memory((tr1 o X1) || (tr2 o X2) || (tr3 o X3);λloc.{init loc})(pred(e)))
= (tr1 loc(e) X1@pred(e) memory-class3(init;tr1;X1;tr2;X2;tr3;X3)(pred(e)))
∈ B
BY
{ (Fold `classfun-res` 0
   THEN (RWO "classfun-res-parallel-class-left" 0 THENA Auto)
   THEN Try (Complete ((RWO "member-eclass-eclass1" 0 THEN Auto)))
   THEN ProveFunctional
   THEN Fold `memory-class3` 0
   THEN (RW (AddrC [2;1] (LemmaC `classfun-res-eclass1`)) 0 THEN Auto)
   THEN Try ((RWO "es-loc-pred" 0 THEN Auto))
   THEN ProveFunctional
   THEN RWO "member-memory-class3" 0
   THEN Auto) }
Latex:
Latex:
1.  Info  :  Type
2.  B  :  Type
3.  A1  :  Type
4.  A2  :  Type
5.  A3  :  Type
6.  init  :  Id  {}\mrightarrow{}  B
7.  tr1  :  Id  {}\mrightarrow{}  A1  {}\mrightarrow{}  B  {}\mrightarrow{}  B
8.  X1  :  EClass(A1)
9.  tr2  :  Id  {}\mrightarrow{}  A2  {}\mrightarrow{}  B  {}\mrightarrow{}  B
10.  X2  :  EClass(A2)
11.  tr3  :  Id  {}\mrightarrow{}  A3  {}\mrightarrow{}  B  {}\mrightarrow{}  B
12.  X3  :  EClass(A3)
13.  es  :  EO+(Info)
14.  e  :  E
15.  \mneg{}\muparrow{}first(e)
16.  single-valued-classrel(es;X3;A3)
17.  single-valued-classrel(es;X2;A2)
18.  single-valued-classrel(es;X1;A1)
19.  disjoint-classrel(es;A2;X2;A3;X3)
20.  disjoint-classrel(es;A1;X1;A3;X3)
21.  disjoint-classrel(es;A1;X1;A2;X2)
22.  \muparrow{}pred(e)  \mmember{}\msubb{}  X1
\mvdash{}  ((tr1  o  X1)  ||  (tr2  o  X2)  ||  (tr3  o  X3)(pred(e)) 
      loop-class-memory((tr1  o  X1)  ||  (tr2  o  X2)  ||  (tr3  o  X3);\mlambda{}loc.\{init  loc\})(pred(e)))
=  (tr1  loc(e)  X1@pred(e)  memory-class3(init;tr1;X1;tr2;X2;tr3;X3)(pred(e)))
By
Latex:
(Fold  `classfun-res`  0
  THEN  (RWO  "classfun-res-parallel-class-left"  0  THENA  Auto)
  THEN  Try  (Complete  ((RWO  "member-eclass-eclass1"  0  THEN  Auto)))
  THEN  ProveFunctional
  THEN  Fold  `memory-class3`  0
  THEN  (RW  (AddrC  [2;1]  (LemmaC  `classfun-res-eclass1`))  0  THEN  Auto)
  THEN  Try  ((RWO  "es-loc-pred"  0  THEN  Auto))
  THEN  ProveFunctional
  THEN  RWO  "member-memory-class3"  0
  THEN  Auto)
Home
Index