Step
*
1
2
2
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. ¬↑first(e)
10. v : B
⊢ uiff(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 ↓(False ∧ v ↓∈ init loc(e))
     ∨ ((¬False)
       ∧ ((∃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
{ ((Assert Accum-class(f;init;X) es pred(e) ∈ bag(B) BY MaAuto) THEN AutoSplit) }
1
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. ¬↑first(e)
10. v : B
11. Accum-class(f;init;X) es pred(e) ∈ bag(B)
12. 0 < #(Accum-class(f;init;X) es pred(e))
⊢ uiff(v ∈ Accum-class(f;init;X)(pred(e));↓(False ∧ v ↓∈ init loc(e))
                                           ∨ ((¬False)
                                             ∧ ((∃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))))))
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. ¬0 < #(Accum-class(f;init;X) es pred(e))
10. ¬↑first(e)
11. v : B
12. Accum-class(f;init;X) es pred(e) ∈ bag(B)
⊢ uiff(v ∈ Memory-class(f;init;X)(pred(e));↓(False ∧ v ↓∈ init loc(e))
                                            ∨ ((¬False)
                                              ∧ ((∃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.  \mneg{}\muparrow{}first(e)
10.  v  :  B
\mvdash{}  uiff(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  ;\mdownarrow{}(False  \mwedge{}  v  \mdownarrow{}\mmember{}  init  loc(e))
          \mvee{}  ((\mneg{}False)
              \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:
((Assert  Accum-class(f;init;X)  es  pred(e)  \mmember{}  bag(B)  BY  MaAuto)  THEN  AutoSplit)
Home
Index