Step * of Lemma loop-class-memory_wf

[Info,B:Type]. ∀[X:EClass(B ─→ B)]. ∀[init:Id ─→ bag(B)].  (loop-class-memory(X;init) ∈ EClass(B))
BY
(Auto
   THEN Unfold `eclass` 0
   THEN RepeatFor ((BetterExt THEN Auto))
   THEN MoveToConcl (-1)
   THEN CausalInd'
   THEN RecUnfold `loop-class-memory` 0
   THEN RepUR ``primed-class-opt`` 0
   THEN GenConclAtAddr [2;1]) }

1
.....wf..... 
1. Info Type
2. Type
3. EClass(B ─→ B)
4. init Id ─→ bag(B)
5. es EO+(Info)@i'
6. E@i
7. ∀e1:E. ((e1 < e)  (loop-class-memory(X;init) es e1 ∈ bag(B)))
⊢ last(λe'.0 <#(eclass3(X;loop-class-memory(X;init)) es e')) e ∈ (∃e':{E
  ((e' <loc e)
  ∧ (↑((λe'.0 <#(eclass3(X;loop-class-memory(X;init)) es e')) e'))
  ∧ (∀e'':E. ((e' <loc e'')  (e'' <loc e)  (¬↑((λe'.0 <#(eclass3(X;loop-class-memory(X;init)) es e')) e'')))))})
  ∨ (∃e':{E| ((e' <loc e) ∧ (↑((λe'.0 <#(eclass3(X;loop-class-memory(X;init)) es e')) e')))}))

2
.....wf..... 
1. Info Type
2. Type
3. EClass(B ─→ B)
4. init Id ─→ bag(B)
5. es EO+(Info)@i'
6. E@i
7. ∀e1:E. ((e1 < e)  (loop-class-memory(X;init) es e1 ∈ bag(B)))
⊢ (∃e':{E| ((e' <loc e)
           ∧ (↑((λe'.0 <#(eclass3(X;loop-class-memory(X;init)) es e')) e'))
           ∧ (∀e'':E
                ((e' <loc e'')
                 (e'' <loc e)
                 (¬↑((λe'.0 <#(eclass3(X;loop-class-memory(X;init)) es e')) e'')))))})
  ∨ (∃e':{E| ((e' <loc e) ∧ (↑((λe'.0 <#(eclass3(X;loop-class-memory(X;init)) es e')) e')))})) ∈ ℙ

3
1. Info Type
2. Type
3. EClass(B ─→ B)
4. init Id ─→ bag(B)
5. es EO+(Info)@i'
6. E@i
7. ∀e1:E. ((e1 < e)  (loop-class-memory(X;init) es e1 ∈ bag(B)))
8. (∃e':{E| ((e' <loc e)
                ∧ (↑((λe'.0 <#(eclass3(X;loop-class-memory(X;init)) es e')) e'))
                ∧ (∀e'':E
                     ((e' <loc e'')
                      (e'' <loc e)
                      (¬↑((λe'.0 <#(eclass3(X;loop-class-memory(X;init)) es e')) e'')))))})
∨ (∃e':{E| ((e' <loc e) ∧ (↑((λe'.0 <#(eclass3(X;loop-class-memory(X;init)) es e')) e')))}))@i
9. (last(λe'.0 <#(eclass3(X;loop-class-memory(X;init)) es e')) e)
v
∈ ((∃e':{E| ((e' <loc e)
            ∧ (↑((λe'.0 <#(eclass3(X;loop-class-memory(X;init)) es e')) e'))
            ∧ (∀e'':E
                 ((e' <loc e'')
                  (e'' <loc e)
                  (¬↑((λe'.0 <#(eclass3(X;loop-class-memory(X;init)) es e')) e'')))))})
  ∨ (∃e':{E| ((e' <loc e) ∧ (↑((λe'.0 <#(eclass3(X;loop-class-memory(X;init)) es e')) e')))})))@i
⊢ case of inl(e') => eclass3(X;loop-class-memory(X;init)) es e' inr(x) => init loc(e) ∈ bag(B)


Latex:



Latex:
\mforall{}[Info,B:Type].  \mforall{}[X:EClass(B  {}\mrightarrow{}  B)].  \mforall{}[init:Id  {}\mrightarrow{}  bag(B)].    (loop-class-memory(X;init)  \mmember{}  EClass(B))


By


Latex:
(Auto
  THEN  Unfold  `eclass`  0
  THEN  RepeatFor  2  ((BetterExt  THEN  Auto))
  THEN  MoveToConcl  (-1)
  THEN  CausalInd'
  THEN  RecUnfold  `loop-class-memory`  0
  THEN  RepUR  ``primed-class-opt``  0
  THEN  GenConclAtAddr  [2;1])




Home Index