Step * 1 of Lemma memory-class3-classrel


1. Info Type
2. A1 Type
3. A2 Type
4. A3 Type
5. 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
15. B
⊢ uiff(v ∈ memory-class3(init;tr1;X1;tr2;X2;tr3;X3)(e);↓if first(e)
                                                        then (init loc(e)) ∈ B
                                                        else ∃b:B
                                                              (b ∈ memory-class3(init;tr1;X1;tr2;X2;tr3;X3)(pred(e))
                                                              ∧ if pred(e) ∈b X1 ∨bpred(e) ∈b X2 ∨bpred(e) ∈b X3
                                                                then (∃a1:A1
                                                                       (a1 ∈ X1(pred(e)) ∧ (v (tr1 loc(e) a1 b) ∈ B)))
                                                                     ∨ (∃a2:A2
                                                                         (a2 ∈ X2(pred(e))
                                                                         ∧ (v (tr2 loc(e) a2 b) ∈ B)))
                                                                     ∨ (∃a3:A3
                                                                         (a3 ∈ X3(pred(e))
                                                                         ∧ (v (tr3 loc(e) a3 b) ∈ B)))
                                                                else b ∈ B
                                                                fi )
                                                        fi )
BY
(Unfold `memory-class3` 0
   THEN (RW (AddrC [1] (LemmaC `loop-class-memory-classrel`)) THENA Auto)
   THEN Reduce 0
   THEN AutoSplit) }

1
1. Info Type
2. A1 Type
3. A2 Type
4. A3 Type
5. 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
15. ¬↑first(e)
16. B
⊢ uiff(↓∃b:B
         (b ∈ loop-class-memory((tr1 X1) || (tr2 X2) || (tr3 X3);λloc.{init loc})(pred(e))
         ∧ if pred(e) ∈b (tr1 X1) || (tr2 X2) || (tr3 X3)
           then ∃f:B ⟶ B. (f ∈ (tr1 X1) || (tr2 X2) || (tr3 X3)(pred(e)) ∧ (v (f b) ∈ B))
           else b ∈ B
           fi );↓∃b:B
                  (b ∈ loop-class-memory((tr1 X1) || (tr2 X2) || (tr3 X3);λloc.{init loc})(pred(e))
                  ∧ if pred(e) ∈b X1 ∨bpred(e) ∈b X2 ∨bpred(e) ∈b X3
                    then (∃a1:A1. (a1 ∈ X1(pred(e)) ∧ (v (tr1 loc(e) a1 b) ∈ B)))
                         ∨ (∃a2:A2. (a2 ∈ X2(pred(e)) ∧ (v (tr2 loc(e) a2 b) ∈ B)))
                         ∨ (∃a3:A3. (a3 ∈ X3(pred(e)) ∧ (v (tr3 loc(e) a3 b) ∈ B)))
                    else b ∈ B
                    fi ))


Latex:


Latex:

1.  Info  :  Type
2.  A1  :  Type
3.  A2  :  Type
4.  A3  :  Type
5.  B  :  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.  v  :  B
\mvdash{}  uiff(v  \mmember{}  memory-class3(init;tr1;X1;tr2;X2;tr3;X3)(e);\mdownarrow{}if  first(e)
                                                                                                                then  v  =  (init  loc(e))
                                                                                                                else  \mexists{}b:B
                                                                                                                            (b  \mmember{}  memory-class3(init;tr1;X1;tr2;X2;
                                                                                                                                                                  tr3;X3)(pred(e))
                                                                                                                            \mwedge{}  if  pred(e)  \mmember{}\msubb{}  X1
                                                                                                                                      \mvee{}\msubb{}pred(e)  \mmember{}\msubb{}  X2
                                                                                                                                      \mvee{}\msubb{}pred(e)  \mmember{}\msubb{}  X3
                                                                                                                                then  (\mexists{}a1:A1
                                                                                                                                              (a1  \mmember{}  X1(pred(e))
                                                                                                                                              \mwedge{}  (v  =  (tr1  loc(e)  a1  b))))
                                                                                                                                          \mvee{}  (\mexists{}a2:A2
                                                                                                                                                  (a2  \mmember{}  X2(pred(e))
                                                                                                                                                  \mwedge{}  (v  =  (tr2  loc(e)  a2  b))))
                                                                                                                                          \mvee{}  (\mexists{}a3:A3
                                                                                                                                                  (a3  \mmember{}  X3(pred(e))
                                                                                                                                                  \mwedge{}  (v  =  (tr3  loc(e)  a3  b))))
                                                                                                                                else  v  =  b
                                                                                                                                fi  )
                                                                                                                fi  )


By


Latex:
(Unfold  `memory-class3`  0
  THEN  (RW  (AddrC  [1]  (LemmaC  `loop-class-memory-classrel`))  0  THENA  Auto)
  THEN  Reduce  0
  THEN  AutoSplit)




Home Index