Step
*
of Lemma
simple-comb2-classrel
∀[Info,A,B,C:Type]. ∀[f:A ─→ B ─→ C]. ∀[X:EClass(A)]. ∀[Y:EClass(B)]. ∀[es:EO+(Info)]. ∀[e:E]. ∀[v:C].
  uiff(v ∈ λa,b.lifting2(f;a;b)|X;Y|(e);↓∃a:A. ∃b:B. ((a ∈ X(e) ∧ b ∈ Y(e)) ∧ (v = (f a b) ∈ C)))
BY
{ ((UnivCD THENA Auto)
   THEN InstLemma `simple-comb-classrel` [⌈Info⌉; ⌈C⌉; ⌈2⌉; ⌈λn.[A; B][n]⌉; ⌈λn.[X; Y][n]⌉; ⌈λw.(f (w 0) (w 1))⌉; 
   ⌈λw.lifting2(f;w 0;w 1)⌉]⋅
   THEN Try (Complete ((Auto THEN Auto')))) }
1
.....antecedent..... 
1. Info : Type
2. A : Type
3. B : Type
4. C : Type
5. f : A ─→ B ─→ C
6. X : EClass(A)
7. Y : EClass(B)
8. es : EO+(Info)
9. e : E
10. v : C
⊢ ∀v:C. ∀bs:k:ℕ2 ─→ bag((λn.[A; B][n]) k).
    (v ↓∈ (λw.lifting2(f;w 0;w 1)) bs
    
⇐⇒ ↓∃vs:k:ℕ2 ─→ ((λn.[A; B][n]) k). ((∀k:ℕ2. vs k ↓∈ bs k) ∧ (v = ((λw.(f (w 0) (w 1))) vs) ∈ C)))
2
1. Info : Type
2. A : Type
3. B : Type
4. C : Type
5. f : A ─→ B ─→ C
6. X : EClass(A)
7. Y : EClass(B)
8. es : EO+(Info)
9. e : E
10. v : C
11. ∀[es:EO+(Info)]. ∀[e:E]. ∀[v:C].
      uiff(v ∈ simple-comb(λw.lifting2(f;w 0;w 1);λn.[X; Y][n])(e);↓∃vs:k:ℕ2 ─→ ((λn.[A; B][n]) k)
                                                                     ((∀k:ℕ2. vs[k] ∈ λn.[X; Y][n][k](e))
                                                                     ∧ (v = ((λw.(f (w 0) (w 1))) vs) ∈ C)))
⊢ uiff(v ∈ λa,b.lifting2(f;a;b)|X;Y|(e);↓∃a:A. ∃b:B. ((a ∈ X(e) ∧ b ∈ Y(e)) ∧ (v = (f a b) ∈ C)))
Latex:
Latex:
\mforall{}[Info,A,B,C:Type].  \mforall{}[f:A  {}\mrightarrow{}  B  {}\mrightarrow{}  C].  \mforall{}[X:EClass(A)].  \mforall{}[Y:EClass(B)].  \mforall{}[es:EO+(Info)].  \mforall{}[e:E].
\mforall{}[v:C].
    uiff(v  \mmember{}  \mlambda{}a,b.lifting2(f;a;b)|X;Y|(e);\mdownarrow{}\mexists{}a:A.  \mexists{}b:B.  ((a  \mmember{}  X(e)  \mwedge{}  b  \mmember{}  Y(e))  \mwedge{}  (v  =  (f  a  b))))
By
Latex:
((UnivCD  THENA  Auto)
  THEN  InstLemma  `simple-comb-classrel`  [\mkleeneopen{}Info\mkleeneclose{};  \mkleeneopen{}C\mkleeneclose{};  \mkleeneopen{}2\mkleeneclose{};  \mkleeneopen{}\mlambda{}n.[A;  B][n]\mkleeneclose{};  \mkleeneopen{}\mlambda{}n.[X;  Y][n]\mkleeneclose{};  \mkleeneopen{}\mlambda{}w.(f 
                                                                                                                                                                                              (w 
                                                                                                                                                                                                0) 
                                                                                                                                                                                              (w 
                                                                                                                                                                                                1))\mkleeneclose{}
  ;  \mkleeneopen{}\mlambda{}w.lifting2(f;w  0;w  1)\mkleeneclose{}]\mcdot{}
  THEN  Try  (Complete  ((Auto  THEN  Auto'))))
Home
Index