Step * of Lemma equipollent-union-sum

[A,B:Type]. ∀[C:A ⟶ Type]. ∀[D:B ⟶ Type].
  a:A × C[a] (b:B × D[b]) d:A B × case of inl(a) => C[a] inr(b) => D[b]
BY
(Auto
   THEN (With ⌜λd.case of inl(p) => let a,c in <inl a, c> inr(p) => let b,d in <inr d>⌝ (D 0)⋅
         THENA Auto
         )
   THEN 0
   THEN RepUR ``inject surject`` 0
   THEN Auto) }

1
1. Type
2. Type
3. A ⟶ Type
4. B ⟶ Type
5. a1 a:A × C[a] (b:B × D[b])@i
6. a2 a:A × C[a] (b:B × D[b])@i
7. case a1 of inl(p) => let a,c in <inl a, c> inr(p) => let b,d in <inr d>
case a2 of inl(p) => let a,c in <inl a, c> inr(p) => let b,d in <inr d>
∈ (d:A B × case of inl(a) => C[a] inr(b) => D[b])
⊢ a1 a2 ∈ (a:A × C[a] (b:B × D[b]))

2
1. [A] Type
2. [B] Type
3. [C] A ⟶ Type
4. [D] B ⟶ Type
5. d:A B × case of inl(a) => C[a] inr(b) => D[b]@i
⊢ ∃a:a:A × C[a] (b:B × D[b])
   (case of inl(p) => let a,c in <inl a, c> inr(p) => let b,d in <inr d>
   b
   ∈ (d:A B × case of inl(a) => C[a] inr(b) => D[b]))


Latex:


Latex:
\mforall{}[A,B:Type].  \mforall{}[C:A  {}\mrightarrow{}  Type].  \mforall{}[D:B  {}\mrightarrow{}  Type].
    a:A  \mtimes{}  C[a]  +  (b:B  \mtimes{}  D[b])  \msim{}  d:A  +  B  \mtimes{}  case  d  of  inl(a)  =>  C[a]  |  inr(b)  =>  D[b]


By


Latex:
(Auto
  THEN  (With  \mkleeneopen{}\mlambda{}d.case  d
                                  of  inl(p)  =>
                                  let  a,c  =  p 
                                  in  <inl  a,  c>
                                  |  inr(p)  =>
                                  let  b,d  =  p 
                                  in  <inr  b  ,  d>\mkleeneclose{}  (D  0)\mcdot{}
              THENA  Auto
              )
  THEN  D  0
  THEN  RepUR  ``inject  surject``  0
  THEN  Auto)




Home Index