Step * 3 1 2 1 2 of Lemma loop-class-memory-fun-eq


1. Info Type
2. Type
3. EClass(B ─→ B)
4. init Id ─→ bag(B)
5. es EO+(Info)
6. E
7. ¬↑pred(e) ∈b X
8. ¬↑first(e)
9. ∀l:Id. (1 ≤ #(init l))
10. ∀l:Id. single-valued-bag(init l;B)
11. single-valued-classrel(es;X;B ─→ B)
12. E@i
13. (x <loc e)@i
14. ↑0 <#(eclass3(X;loop-class-memory(X;init)) es x)@i
15. ∀e'':E. ((x <loc e'')  (e'' <loc e)  (¬↑0 <#(eclass3(X;loop-class-memory(X;init)) es e'')))@i
16. (last(λe'.0 <#(eclass3(X;loop-class-memory(X;init)) es e')) e)
(inl x)
∈ ((∃e':{E| ((e' <loc e)
            ∧ (↑0 <#(eclass3(X;loop-class-memory(X;init)) es e'))
            ∧ (∀e'':E. ((e' <loc e'')  (e'' <loc e)  (¬↑0 <#(eclass3(X;loop-class-memory(X;init)) es e'')))))})
  ∨ (∃e':{E| ((e' <loc e) ∧ (↑0 <#(eclass3(X;loop-class-memory(X;init)) es e')))})))@i
17. (x <loc pred(e))
18. x1 E@i
19. (x1 <loc pred(e))@i
20. ↑0 <#(eclass3(X;loop-class-memory(X;init)) es x1)@i
21. ∀e'':E. ((x1 <loc e'')  (e'' <loc pred(e))  (¬↑0 <#(eclass3(X;loop-class-memory(X;init)) es e'')))@i
22. (last(λe'.0 <#(eclass3(X;loop-class-memory(X;init)) es e')) pred(e))
(inl x1)
∈ ((∃e':{E| ((e' <loc pred(e))
            ∧ (↑0 <#(eclass3(X;loop-class-memory(X;init)) es e'))
            ∧ (∀e'':E
                 ((e' <loc e'')  (e'' <loc pred(e))  (¬↑0 <#(eclass3(X;loop-class-memory(X;init)) es e'')))))})
  ∨ (∃e':{E| ((e' <loc pred(e)) ∧ (↑0 <#(eclass3(X;loop-class-memory(X;init)) es e')))})))@i
23. x1 ∈ E
⊢ eclass3(X;loop-class-memory(X;init))(x) eclass3(X;loop-class-memory(X;init))(x1) ∈ B
BY
(Fold `classfun-res` 0
   THEN RWO "-1" 0
   THEN Auto
   THEN Try ((BLemma `eclass3-single-val` THEN Auto THEN BLemma `loop-class-memory-single-val` THEN Auto))
   THEN (RW assert_pushdownC (-4) THENA Auto)
   THEN BLemma `member-eclass-iff-size`
   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
7.  \mneg{}\muparrow{}pred(e)  \mmember{}\msubb{}  X
8.  \mneg{}\muparrow{}first(e)
9.  \mforall{}l:Id.  (1  \mleq{}  \#(init  l))
10.  \mforall{}l:Id.  single-valued-bag(init  l;B)
11.  single-valued-classrel(es;X;B  {}\mrightarrow{}  B)
12.  x  :  E@i
13.  (x  <loc  e)@i
14.  \muparrow{}0  <z  \#(eclass3(X;loop-class-memory(X;init))  es  x)@i
15.  \mforall{}e'':E
            ((x  <loc  e'')  {}\mRightarrow{}  (e''  <loc  e)  {}\mRightarrow{}  (\mneg{}\muparrow{}0  <z  \#(eclass3(X;loop-class-memory(X;init))  es  e'')))@i
16.  (last(\mlambda{}e'.0  <z  \#(eclass3(X;loop-class-memory(X;init))  es  e'))  e)  =  (inl  x)@i
17.  (x  <loc  pred(e))
18.  x1  :  E@i
19.  (x1  <loc  pred(e))@i
20.  \muparrow{}0  <z  \#(eclass3(X;loop-class-memory(X;init))  es  x1)@i
21.  \mforall{}e'':E
            ((x1  <loc  e'')
            {}\mRightarrow{}  (e''  <loc  pred(e))
            {}\mRightarrow{}  (\mneg{}\muparrow{}0  <z  \#(eclass3(X;loop-class-memory(X;init))  es  e'')))@i
22.  (last(\mlambda{}e'.0  <z  \#(eclass3(X;loop-class-memory(X;init))  es  e'))  pred(e))  =  (inl  x1)@i
23.  x  =  x1
\mvdash{}  eclass3(X;loop-class-memory(X;init))(x)  =  eclass3(X;loop-class-memory(X;init))(x1)


By


Latex:
(Fold  `classfun-res`  0
  THEN  RWO  "-1"  0
  THEN  Auto
  THEN  Try  ((BLemma  `eclass3-single-val`
                        THEN  Auto
                        THEN  BLemma  `loop-class-memory-single-val`
                        THEN  Auto))
  THEN  (RW  assert\_pushdownC  (-4)  THENA  Auto)
  THEN  BLemma  `member-eclass-iff-size`
  THEN  Auto)




Home Index