Step
*
3
of Lemma
loop-class-memory_wf
1. Info : Type
2. B : Type
3. X : EClass(B ─→ B)
4. init : Id ─→ bag(B)
5. es : EO+(Info)@i'
6. e : E@i
7. ∀e1:E. ((e1 < e) 
⇒ (loop-class-memory(X;init) es e1 ∈ bag(B)))
8. v : (∃e':{E| ((e' <loc e)
                ∧ (↑((λe'.0 <z #(eclass3(X;loop-class-memory(X;init)) es e')) e'))
                ∧ (∀e'':E
                     ((e' <loc e'')
                     
⇒ (e'' <loc e)
                     
⇒ (¬↑((λe'.0 <z #(eclass3(X;loop-class-memory(X;init)) es e')) e'')))))})
∨ (¬(∃e':{E| ((e' <loc e) ∧ (↑((λe'.0 <z #(eclass3(X;loop-class-memory(X;init)) es e')) e')))}))@i
9. (last(λe'.0 <z #(eclass3(X;loop-class-memory(X;init)) es e')) e)
= v
∈ ((∃e':{E| ((e' <loc e)
            ∧ (↑((λe'.0 <z #(eclass3(X;loop-class-memory(X;init)) es e')) e'))
            ∧ (∀e'':E
                 ((e' <loc e'')
                 
⇒ (e'' <loc e)
                 
⇒ (¬↑((λe'.0 <z #(eclass3(X;loop-class-memory(X;init)) es e')) e'')))))})
  ∨ (¬(∃e':{E| ((e' <loc e) ∧ (↑((λe'.0 <z #(eclass3(X;loop-class-memory(X;init)) es e')) e')))})))@i
⊢ case v of inl(e') => eclass3(X;loop-class-memory(X;init)) es e' | inr(x) => init loc(e) ∈ bag(B)
BY
{ (DVar `v'
   THEN AllReduce
   THEN Try (Complete (Auto))
   THEN RepUR ``eclass3 class-ap`` 0
   THEN RepeatFor 2 ((MemCD THEN Try (Complete (Auto))))
   THEN DVar `x'
   THEN BackThruSomeHyp
   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)@i'
6.  e  :  E@i
7.  \mforall{}e1:E.  ((e1  <  e)  {}\mRightarrow{}  (loop-class-memory(X;init)  es  e1  \mmember{}  bag(B)))
8.  v  :  (\mexists{}e':\{E|  ((e'  <loc  e)
                                \mwedge{}  (\muparrow{}((\mlambda{}e'.0  <z  \#(eclass3(X;loop-class-memory(X;init))  es  e'))  e'))
                                \mwedge{}  (\mforall{}e'':E
                                          ((e'  <loc  e'')
                                          {}\mRightarrow{}  (e''  <loc  e)
                                          {}\mRightarrow{}  (\mneg{}\muparrow{}((\mlambda{}e'.0  <z  \#(eclass3(X;loop-class-memory(X;init))  es  e'))  e'')))))\})
\mvee{}  (\mneg{}(\mexists{}e':\{E|  ((e'  <loc  e)  \mwedge{}  (\muparrow{}((\mlambda{}e'.0  <z  \#(eclass3(X;loop-class-memory(X;init))  es  e'))  e')))\}))@i
9.  (last(\mlambda{}e'.0  <z  \#(eclass3(X;loop-class-memory(X;init))  es  e'))  e)  =  v@i
\mvdash{}  case  v  of  inl(e')  =>  eclass3(X;loop-class-memory(X;init))  es  e'  |  inr(x)  =>  init  loc(e)  \mmember{}  bag(B)
By
Latex:
(DVar  `v'
  THEN  AllReduce
  THEN  Try  (Complete  (Auto))
  THEN  RepUR  ``eclass3  class-ap``  0
  THEN  RepeatFor  2  ((MemCD  THEN  Try  (Complete  (Auto))))
  THEN  DVar  `x'
  THEN  BackThruSomeHyp
  THEN  Auto)
Home
Index