Step
*
1
1
2
of Lemma
simple-loc-comb2-classrel
1. Info : Type
2. A : Type
3. B : Type
4. C : Type
5. f : Id ─→ A ─→ B ─→ C
6. X : EClass(A)
7. Y : EClass(B)
8. es : EO+(Info)
9. e : E
10. v : C
11. x : Id@i
12. v1 : C@i
13. bs : k:ℕ2 ─→ bag([A; B][k])@i
14. v1 ↓∈ lifting-loc-gen-rev(2;bs;x;f)
⇐⇒ ↓∃lst:k:ℕ2 ─→ ((λn.[A; B][n]) k). ((∀[k:ℕ2]. lst k ↓∈ bs k) ∧ ((uncurry-rev(2;f x) lst) = v1 ∈ C))
⊢ v1 ↓∈ (λl,w. lifting2-loc(f;l;w 0;w 1)) x bs
⇐⇒ ↓∃vs:k:ℕ2 ─→ [A; B][k]. ((∀k:ℕ2. vs k ↓∈ bs k) ∧ (v1 = ((λx,vs. (f x (vs 0) (vs 1))) x vs) ∈ C))
BY
{ (Unfold `lifting2-loc` 0
   THEN Reduce 0
   THEN RepUR ``uncurry-rev uncurry-gen`` (-1)
   THEN RepeatFor 3 ((RW (SweepUpC UnrollRecursionC) (-1) THEN Reduce (-1)))) }
1
1. Info : Type
2. A : Type
3. B : Type
4. C : Type
5. f : Id ─→ A ─→ B ─→ C
6. X : EClass(A)
7. Y : EClass(B)
8. es : EO+(Info)
9. e : E
10. v : C
11. x : Id@i
12. v1 : C@i
13. bs : k:ℕ2 ─→ bag([A; B][k])@i
14. v1 ↓∈ lifting-loc-gen-rev(2;bs;x;f)
⇐⇒ ↓∃lst:k:ℕ2 ─→ [A; B][k]. ((∀[k:ℕ2]. lst k ↓∈ bs k) ∧ ((f x (lst 0) (lst 1)) = v1 ∈ C))
⊢ v1 ↓∈ lifting-loc-gen-rev(2;λn.[bs 0; bs 1][n];x;f)
⇐⇒ ↓∃vs:k:ℕ2 ─→ [A; B][k]. ((∀k:ℕ2. vs k ↓∈ bs k) ∧ (v1 = (f x (vs 0) (vs 1)) ∈ C))
Latex:
Latex:
1.  Info  :  Type
2.  A  :  Type
3.  B  :  Type
4.  C  :  Type
5.  f  :  Id  {}\mrightarrow{}  A  {}\mrightarrow{}  B  {}\mrightarrow{}  C
6.  X  :  EClass(A)
7.  Y  :  EClass(B)
8.  es  :  EO+(Info)
9.  e  :  E
10.  v  :  C
11.  x  :  Id@i
12.  v1  :  C@i
13.  bs  :  k:\mBbbN{}2  {}\mrightarrow{}  bag([A;  B][k])@i
14.  v1  \mdownarrow{}\mmember{}  lifting-loc-gen-rev(2;bs;x;f)
\mLeftarrow{}{}\mRightarrow{}  \mdownarrow{}\mexists{}lst:k:\mBbbN{}2  {}\mrightarrow{}  ((\mlambda{}n.[A;  B][n])  k).  ((\mforall{}[k:\mBbbN{}2].  lst  k  \mdownarrow{}\mmember{}  bs  k)  \mwedge{}  ((uncurry-rev(2;f  x)  lst)  =  v1))
\mvdash{}  v1  \mdownarrow{}\mmember{}  (\mlambda{}l,w.  lifting2-loc(f;l;w  0;w  1))  x  bs
\mLeftarrow{}{}\mRightarrow{}  \mdownarrow{}\mexists{}vs:k:\mBbbN{}2  {}\mrightarrow{}  [A;  B][k].  ((\mforall{}k:\mBbbN{}2.  vs  k  \mdownarrow{}\mmember{}  bs  k)  \mwedge{}  (v1  =  ((\mlambda{}x,vs.  (f  x  (vs  0)  (vs  1)))  x  vs)))
By
Latex:
(Unfold  `lifting2-loc`  0
  THEN  Reduce  0
  THEN  RepUR  ``uncurry-rev  uncurry-gen``  (-1)
  THEN  RepeatFor  3  ((RW  (SweepUpC  UnrollRecursionC)  (-1)  THEN  Reduce  (-1))))
Home
Index