Step
*
1
of Lemma
Memory-classrel1
1. Info : Type
2. B : Type
3. A : Type
4. f : A ─→ B ─→ B
5. init : Id ─→ bag(B)
6. X : EClass(A)
7. es : EO+(Info)
8. e : E
9. v : B
⊢ uiff(v ∈ Memory-class(f;init;X)(e);↓((↑first(e)) ∧ v ↓∈ init loc(e))
                                      ∨ ((¬↑first(e))
                                        ∧ ((∃a:A
                                             (a ∈ X(pred(e))
                                             ∧ (∃b:B. (b ∈ Memory-class(f;init;X)(pred(e)) ∧ (v = (f a b) ∈ B)))))
                                          ∨ ((∀a:A. (¬a ∈ X(pred(e)))) ∧ v ∈ Memory-class(f;init;X)(pred(e))))))
BY
{ Subst ⌈v ∈ Memory-class(f;init;X)(e) ~ if first(e) then v ↓∈ init loc(e)
         if 0 <z #(Accum-class(f;init;X) es pred(e)) then v ∈ Accum-class(f;init;X)(pred(e))
         else v ∈ Memory-class(f;init;X)(pred(e))
         fi ⌉ 0⋅ }
1
.....equality..... 
1. Info : Type
2. B : Type
3. A : Type
4. f : A ─→ B ─→ B
5. init : Id ─→ bag(B)
6. X : EClass(A)
7. es : EO+(Info)
8. e : E
9. v : B
⊢ v ∈ Memory-class(f;init;X)(e) ~ if first(e) then v ↓∈ init loc(e)
if 0 <z #(Accum-class(f;init;X) es pred(e)) then v ∈ Accum-class(f;init;X)(pred(e))
else v ∈ Memory-class(f;init;X)(pred(e))
fi 
2
1. Info : Type
2. B : Type
3. A : Type
4. f : A ─→ B ─→ B
5. init : Id ─→ bag(B)
6. X : EClass(A)
7. es : EO+(Info)
8. e : E
9. v : B
⊢ uiff(if first(e) then v ↓∈ init loc(e)
if 0 <z #(Accum-class(f;init;X) es pred(e)) then v ∈ Accum-class(f;init;X)(pred(e))
else v ∈ Memory-class(f;init;X)(pred(e))
fi ↓((↑first(e)) ∧ v ↓∈ init loc(e))
     ∨ ((¬↑first(e))
       ∧ ((∃a:A. (a ∈ X(pred(e)) ∧ (∃b:B. (b ∈ Memory-class(f;init;X)(pred(e)) ∧ (v = (f a b) ∈ B)))))
         ∨ ((∀a:A. (¬a ∈ X(pred(e)))) ∧ v ∈ Memory-class(f;init;X)(pred(e))))))
Latex:
Latex:
1.  Info  :  Type
2.  B  :  Type
3.  A  :  Type
4.  f  :  A  {}\mrightarrow{}  B  {}\mrightarrow{}  B
5.  init  :  Id  {}\mrightarrow{}  bag(B)
6.  X  :  EClass(A)
7.  es  :  EO+(Info)
8.  e  :  E
9.  v  :  B
\mvdash{}  uiff(v  \mmember{}  Memory-class(f;init;X)(e);\mdownarrow{}((\muparrow{}first(e))  \mwedge{}  v  \mdownarrow{}\mmember{}  init  loc(e))
                                                                            \mvee{}  ((\mneg{}\muparrow{}first(e))
                                                                                \mwedge{}  ((\mexists{}a:A
                                                                                          (a  \mmember{}  X(pred(e))
                                                                                          \mwedge{}  (\mexists{}b:B
                                                                                                  (b  \mmember{}  Memory-class(f;init;X)(pred(e))
                                                                                                  \mwedge{}  (v  =  (f  a  b))))))
                                                                                    \mvee{}  ((\mforall{}a:A.  (\mneg{}a  \mmember{}  X(pred(e))))
                                                                                        \mwedge{}  v  \mmember{}  Memory-class(f;init;X)(pred(e))))))
By
Latex:
Subst  \mkleeneopen{}v  \mmember{}  Memory-class(f;init;X)(e)  \msim{}  if  first(e)  then  v  \mdownarrow{}\mmember{}  init  loc(e)
              if  0  <z  \#(Accum-class(f;init;X)  es  pred(e))  then  v  \mmember{}  Accum-class(f;init;X)(pred(e))
              else  v  \mmember{}  Memory-class(f;init;X)(pred(e))
              fi  \mkleeneclose{}  0\mcdot{}
Home
Index