Step
*
1
2
2
2
of Lemma
Memory-loc-classrel1
1. Info : Type
2. B : Type
3. A : Type
4. f : Id ─→ A ─→ B ─→ B
5. init : Id ─→ bag(B)
6. X : EClass(A)
7. es : EO+(Info)
8. e : E
9. ¬0 < #(Accum-loc-class(f;init;X) es pred(e))
10. ¬↑first(e)
11. v : B
12. Accum-loc-class(f;init;X) es pred(e) ∈ bag(B)
⊢ uiff(v ∈ Memory-loc-class(f;init;X)(pred(e));↓(False ∧ v ↓∈ init loc(e))
                                                ∨ ((¬False)
                                                  ∧ ((∃a:A
                                                       (a ∈ X(pred(e))
                                                       ∧ (∃b:B
                                                           (b ∈ Memory-loc-class(f;init;X)(pred(e))
                                                           ∧ (v = (f loc(e) a b) ∈ B)))))
                                                    ∨ ((∀a:A. (¬a ∈ X(pred(e))))
                                                      ∧ v ∈ Memory-loc-class(f;init;X)(pred(e))))))
BY
{ ((Assert ¬0 < #(Accum-loc-class(f;init;X) es pred(e)) BY
          Auto)
   THEN (RWO "bag-size-bag-member" (-1) THENA Auto)
   THEN Fold `classrel` (-1)
   THEN (RWO "Accum-loc-classrel-Memory" (-1) THENA Auto)
   THEN MaAuto
   THEN SqExRepD) }
1
1. Info : Type
2. B : Type
3. A : Type
4. f : Id ─→ A ─→ B ─→ B
5. init : Id ─→ bag(B)
6. X : EClass(A)
7. es : EO+(Info)
8. e : E
9. ¬0 < #(Accum-loc-class(f;init;X) es pred(e))
10. ¬↑first(e)
11. v : B
12. Accum-loc-class(f;init;X) es pred(e) ∈ bag(B)
13. ¬↓∃b:B
       (↓∃a:A. ∃b1:B. (a ∈ X(pred(e)) ∧ b1 ∈ Memory-loc-class(f;init;X)(pred(e)) ∧ (b = (f loc(pred(e)) a b1) ∈ B)))
14. v ∈ Memory-loc-class(f;init;X)(pred(e))
⊢ ↓(False ∧ v ↓∈ init loc(e))
   ∨ ((¬False)
     ∧ ((∃a:A. (a ∈ X(pred(e)) ∧ (∃b:B. (b ∈ Memory-loc-class(f;init;X)(pred(e)) ∧ (v = (f loc(e) a b) ∈ B)))))
       ∨ ((∀a:A. (¬a ∈ X(pred(e)))) ∧ v ∈ Memory-loc-class(f;init;X)(pred(e)))))
2
1. Info : Type
2. B : Type
3. A : Type
4. f : Id ─→ A ─→ B ─→ B
5. init : Id ─→ bag(B)
6. X : EClass(A)
7. es : EO+(Info)
8. e : E
9. ¬0 < #(Accum-loc-class(f;init;X) es pred(e))
10. ¬↑first(e)
11. v : B
12. Accum-loc-class(f;init;X) es pred(e) ∈ bag(B)
13. ¬↓∃b:B
       (↓∃a:A. ∃b1:B. (a ∈ X(pred(e)) ∧ b1 ∈ Memory-loc-class(f;init;X)(pred(e)) ∧ (b = (f loc(pred(e)) a b1) ∈ B)))
14. (False ∧ v ↓∈ init loc(e))
∨ ((¬False)
  ∧ ((∃a:A. (a ∈ X(pred(e)) ∧ (∃b:B. (b ∈ Memory-loc-class(f;init;X)(pred(e)) ∧ (v = (f loc(e) a b) ∈ B)))))
    ∨ ((∀a:A. (¬a ∈ X(pred(e)))) ∧ v ∈ Memory-loc-class(f;init;X)(pred(e)))))
⊢ v ∈ Memory-loc-class(f;init;X)(pred(e))
Latex:
Latex:
1.  Info  :  Type
2.  B  :  Type
3.  A  :  Type
4.  f  :  Id  {}\mrightarrow{}  A  {}\mrightarrow{}  B  {}\mrightarrow{}  B
5.  init  :  Id  {}\mrightarrow{}  bag(B)
6.  X  :  EClass(A)
7.  es  :  EO+(Info)
8.  e  :  E
9.  \mneg{}0  <  \#(Accum-loc-class(f;init;X)  es  pred(e))
10.  \mneg{}\muparrow{}first(e)
11.  v  :  B
12.  Accum-loc-class(f;init;X)  es  pred(e)  \mmember{}  bag(B)
\mvdash{}  uiff(v  \mmember{}  Memory-loc-class(f;init;X)(pred(e));\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-loc-class(f;init;X)(pred(e))
                                                                                                                      \mwedge{}  (v  =  (f  loc(e)  a  b))))))
                                                                                                        \mvee{}  ((\mforall{}a:A.  (\mneg{}a  \mmember{}  X(pred(e))))
                                                                                                            \mwedge{}  v  \mmember{}  Memory-loc-class(f;init;X)(pred(e))))))
By
Latex:
((Assert  \mneg{}0  <  \#(Accum-loc-class(f;init;X)  es  pred(e))  BY
                Auto)
  THEN  (RWO  "bag-size-bag-member"  (-1)  THENA  Auto)
  THEN  Fold  `classrel`  (-1)
  THEN  (RWO  "Accum-loc-classrel-Memory"  (-1)  THENA  Auto)
  THEN  MaAuto
  THEN  SqExRepD)
Home
Index