Step
*
1
of Lemma
equipollent-product-sum
1. A : Type
2. B : A ⟶ Type
3. C : a:A ⟶ B[a] ⟶ Type
4. a1 : x:A ⟶ (y:B[x] × C[x;y])
5. a2 : x:A ⟶ (y:B[x] × C[x;y])
6. <λx.(fst((a1 x))), λx.(snd((a1 x)))> = <λx.(fst((a2 x))), λx.(snd((a2 x)))> ∈ (f:a:A ⟶ B[a] × (x:A ⟶ C[x;f x]))
⊢ a1 = a2 ∈ (x:A ⟶ (y:B[x] × C[x;y]))
BY
{ ((EqHD (-1) THENA Auto) THEN All Reduce) }
1
1. A : Type
2. B : A ⟶ Type
3. C : a:A ⟶ B[a] ⟶ Type
4. a1 : x:A ⟶ (y:B[x] × C[x;y])
5. a2 : x:A ⟶ (y:B[x] × C[x;y])
6. (λx.(fst((a1 x)))) = (λx.(fst((a2 x)))) ∈ (a:A ⟶ B[a])
7. (λx.(snd((a1 x)))) = (λx.(snd((a2 x)))) ∈ (x:A ⟶ C[x;fst((a1 x))])
⊢ a1 = a2 ∈ (x:A ⟶ (y:B[x] × C[x;y]))
Latex:
Latex:
1.  A  :  Type
2.  B  :  A  {}\mrightarrow{}  Type
3.  C  :  a:A  {}\mrightarrow{}  B[a]  {}\mrightarrow{}  Type
4.  a1  :  x:A  {}\mrightarrow{}  (y:B[x]  \mtimes{}  C[x;y])
5.  a2  :  x:A  {}\mrightarrow{}  (y:B[x]  \mtimes{}  C[x;y])
6.  <\mlambda{}x.(fst((a1  x))),  \mlambda{}x.(snd((a1  x)))>  =  <\mlambda{}x.(fst((a2  x))),  \mlambda{}x.(snd((a2  x)))>
\mvdash{}  a1  =  a2
By
Latex:
((EqHD  (-1)  THENA  Auto)  THEN  All  Reduce)
Home
Index