Step
*
1
2
2
2
of Lemma
loop-class-memory-exists
1. Info : Type
2. B : Type
3. X : EClass(B ⟶ B)
4. init : Id ⟶ bag(B)
5. es : EO+(Info)
6. e : E@i
7. ∀e1:E. ((e1 < e) 
⇒ uiff(0 < #(init loc(e1));↓∃v:B. v ∈ loop-class-memory(X;init)(e1)))
8. 0 < #(init loc(e))
9. ¬↑first(e)
10. v : B
11. v ∈ loop-class-memory(X;init)(pred(e))
12. ¬↑pred(e) ∈b X
13. ∀e':E. ((e' <loc pred(e)) 
⇒ (∀w:B. (¬w ∈ eclass3(X;loop-class-memory(X;init))(e'))))
14. v ↓∈ init loc(pred(e))
⊢ ↓∃v:B. v ∈ loop-class-memory(X;init)(e)
BY
{ (D 0
   THEN InstConcl [⌜v⌝]⋅
   THEN Auto
   THEN RecUnfold `loop-class-memory` 0
   THEN MaUseClassRel 0
   THEN D 0
   THEN OrRight
   THEN Auto
   THEN (InstLemma `es-pred_property` [⌜es⌝;⌜e⌝]⋅ THEN Auto)
   THEN (InstHyp [⌜e'⌝] (-1)⋅ THENA Auto)
   THEN D (-1)
   THEN Auto
   THEN Try (Complete ((BackThruSomeHyp THEN D 0 THEN Auto)))
   THEN (D 0 THEN Auto)
   THEN MaUseClassRel (-1)
   THEN D (-15)
   THEN BLemma `assert-member-eclass`
   THEN Auto
   THEN D 0
   THEN InstConcl [⌜f⌝]⋅
   THEN Auto) }
Latex:
Latex:
1.  Info  :  Type
2.  B  :  Type
3.  X  :  EClass(B  {}\mrightarrow{}  B)
4.  init  :  Id  {}\mrightarrow{}  bag(B)
5.  es  :  EO+(Info)
6.  e  :  E@i
7.  \mforall{}e1:E.  ((e1  <  e)  {}\mRightarrow{}  uiff(0  <  \#(init  loc(e1));\mdownarrow{}\mexists{}v:B.  v  \mmember{}  loop-class-memory(X;init)(e1)))
8.  0  <  \#(init  loc(e))
9.  \mneg{}\muparrow{}first(e)
10.  v  :  B
11.  v  \mmember{}  loop-class-memory(X;init)(pred(e))
12.  \mneg{}\muparrow{}pred(e)  \mmember{}\msubb{}  X
13.  \mforall{}e':E.  ((e'  <loc  pred(e))  {}\mRightarrow{}  (\mforall{}w:B.  (\mneg{}w  \mmember{}  eclass3(X;loop-class-memory(X;init))(e'))))
14.  v  \mdownarrow{}\mmember{}  init  loc(pred(e))
\mvdash{}  \mdownarrow{}\mexists{}v:B.  v  \mmember{}  loop-class-memory(X;init)(e)
By
Latex:
(D  0
  THEN  InstConcl  [\mkleeneopen{}v\mkleeneclose{}]\mcdot{}
  THEN  Auto
  THEN  RecUnfold  `loop-class-memory`  0
  THEN  MaUseClassRel  0
  THEN  D  0
  THEN  OrRight
  THEN  Auto
  THEN  (InstLemma  `es-pred\_property`  [\mkleeneopen{}es\mkleeneclose{};\mkleeneopen{}e\mkleeneclose{}]\mcdot{}  THEN  Auto)
  THEN  (InstHyp  [\mkleeneopen{}e'\mkleeneclose{}]  (-1)\mcdot{}  THENA  Auto)
  THEN  D  (-1)
  THEN  Auto
  THEN  Try  (Complete  ((BackThruSomeHyp  THEN  D  0  THEN  Auto)))
  THEN  (D  0  THEN  Auto)
  THEN  MaUseClassRel  (-1)
  THEN  D  (-15)
  THEN  BLemma  `assert-member-eclass`
  THEN  Auto
  THEN  D  0
  THEN  InstConcl  [\mkleeneopen{}f\mkleeneclose{}]\mcdot{}
  THEN  Auto)
Home
Index