Step
*
2
2
of Lemma
State-comb-classrel-class
.....falsecase..... 
1. Info : Type
2. B : Type
3. A : Type
4. f : A ─→ B ─→ B
5. init : Id ─→ bag(B)
6. X : EClass(A)@i'
7. es : EO+(Info)@i'
8. e : E@i
9. ∀e':E. ((e' < e) 
⇒ (∀v:B. (v ∈ State-comb(init;f;X)(e') 
⇐⇒ v ∈ State-class(init;f;X)(e'))))
10. v : B@i
11. v ∈ State-class(init;f;X)(e)@i
12. ¬((X es e) = {} ∈ bag(A))
⊢ v ↓∈ lifting-2(f) (X es e) (Prior(State-comb(init;f;X))?init es e)
BY
{ ((InstLemma `bag-member-iff-size` [⌈A⌉;⌈X es e⌉]⋅ THENA Auto)
   THEN D (-1)
   THEN Thin (-2)
   THEN (D (-1) THENA ((SupposeNot THEN MaAuto) THEN D (-2) THEN BLemma `empty-bag-iff-size` THEN Auto))
   THEN BagMemberD 0
   THEN Try (Fold `classrel` 0)
   THEN Try (Fold `classrel` (-1))
   THEN SquashExRepD
   THEN MaUseClassRel (-4)
   THEN RecUnfold `iterated_classrel` (-4)
   THEN SquashExRepD
   THEN (SplitOnHypITE (-5) THENA MaAuto)) }
1
.....truecase..... 
1. Info : Type
2. B : Type
3. A : Type
4. f : A ─→ B ─→ B
5. init : Id ─→ bag(B)
6. X : EClass(A)@i'
7. es : EO+(Info)@i'
8. e : E@i
9. ∀e':E. ((e' < e) 
⇒ (∀v:B. (v ∈ State-comb(init;f;X)(e') 
⇐⇒ v ∈ State-class(init;f;X)(e'))))
10. v : B@i
11. z : B
12. z ↓∈ init loc(e)
13. (∃a:A. (a ∈ X(e) ∧ (v = (f a z) ∈ B))) ∨ ((∀a:A. (¬a ∈ X(e))) ∧ (v = z ∈ B))
14. ¬((X es e) = {} ∈ bag(A))
15. x : A
16. x ∈ X(e)
17. ↑first(e)
⊢ ↓∃a:A. ∃b:B. (a ∈ X(e) ∧ b ∈ Prior(State-comb(init;f;X))?init(e) ∧ (v = (f a b) ∈ B))
2
.....falsecase..... 
1. Info : Type
2. B : Type
3. A : Type
4. f : A ─→ B ─→ B
5. init : Id ─→ bag(B)
6. X : EClass(A)@i'
7. es : EO+(Info)@i'
8. e : E@i
9. ∀e':E. ((e' < e) 
⇒ (∀v:B. (v ∈ State-comb(init;f;X)(e') 
⇐⇒ v ∈ State-class(init;f;X)(e'))))
10. v : B@i
11. z : B
12. iterated_classrel(es;B;A;f;init;X;pred(e);z)
13. (∃a:A. (a ∈ X(e) ∧ (v = (f a z) ∈ B))) ∨ ((∀a:A. (¬a ∈ X(e))) ∧ (v = z ∈ B))
14. ¬((X es e) = {} ∈ bag(A))
15. x : A
16. x ∈ X(e)
17. ¬↑first(e)
⊢ ↓∃a:A. ∃b:B. (a ∈ X(e) ∧ b ∈ Prior(State-comb(init;f;X))?init(e) ∧ (v = (f a b) ∈ B))
Latex:
Latex:
.....falsecase..... 
1.  Info  :  Type
2.  B  :  Type
3.  A  :  Type
4.  f  :  A  {}\mrightarrow{}  B  {}\mrightarrow{}  B
5.  init  :  Id  {}\mrightarrow{}  bag(B)
6.  X  :  EClass(A)@i'
7.  es  :  EO+(Info)@i'
8.  e  :  E@i
9.  \mforall{}e':E.  ((e'  <  e)  {}\mRightarrow{}  (\mforall{}v:B.  (v  \mmember{}  State-comb(init;f;X)(e')  \mLeftarrow{}{}\mRightarrow{}  v  \mmember{}  State-class(init;f;X)(e'))))
10.  v  :  B@i
11.  v  \mmember{}  State-class(init;f;X)(e)@i
12.  \mneg{}((X  es  e)  =  \{\})
\mvdash{}  v  \mdownarrow{}\mmember{}  lifting-2(f)  (X  es  e)  (Prior(State-comb(init;f;X))?init  es  e)
By
Latex:
((InstLemma  `bag-member-iff-size`  [\mkleeneopen{}A\mkleeneclose{};\mkleeneopen{}X  es  e\mkleeneclose{}]\mcdot{}  THENA  Auto)
  THEN  D  (-1)
  THEN  Thin  (-2)
  THEN  (D  (-1)
              THENA  ((SupposeNot  THEN  MaAuto)  THEN  D  (-2)  THEN  BLemma  `empty-bag-iff-size`  THEN  Auto)
              )
  THEN  BagMemberD  0
  THEN  Try  (Fold  `classrel`  0)
  THEN  Try  (Fold  `classrel`  (-1))
  THEN  SquashExRepD
  THEN  MaUseClassRel  (-4)
  THEN  RecUnfold  `iterated\_classrel`  (-4)
  THEN  SquashExRepD
  THEN  (SplitOnHypITE  (-5)  THENA  MaAuto))
Home
Index