Step
*
1
1
1
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.(fst((a2 x)))) ∈ (a:A ⟶ B[a])
7. (λx.(snd((a1 x)))) = (λx.(snd((a2 x)))) ∈ (x:A ⟶ C[x;fst((a1 x))])
8. x : A
9. (fst((a1 x))) = (fst((a2 x))) ∈ B[x]
10. (snd((a1 x))) = (snd((a2 x))) ∈ C[x;fst((a1 x))]
⊢ (a1 x) = (a2 x) ∈ (y:B[x] × C[x;y])
BY
{ (RepeatFor 2 (MoveToConcl (-1)) THEN GenConclTerms Auto [⌜a1 x⌝;⌜a2 x⌝]⋅) }
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))])
8. x : A
9. v : y:B[x] × C[x;y]
10. (a1 x) = v ∈ (y:B[x] × C[x;y])
11. v1 : y:B[x] × C[x;y]
12. (a2 x) = v1 ∈ (y:B[x] × C[x;y])
⊢ ((fst(v)) = (fst(v1)) ∈ B[x]) 
⇒ ((snd(v)) = (snd(v1)) ∈ C[x;fst(v)]) 
⇒ (v = v1 ∈ (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.(fst((a2  x))))
7.  (\mlambda{}x.(snd((a1  x))))  =  (\mlambda{}x.(snd((a2  x))))
8.  x  :  A
9.  (fst((a1  x)))  =  (fst((a2  x)))
10.  (snd((a1  x)))  =  (snd((a2  x)))
\mvdash{}  (a1  x)  =  (a2  x)
By
Latex:
(RepeatFor  2  (MoveToConcl  (-1))  THEN  GenConclTerms  Auto  [\mkleeneopen{}a1  x\mkleeneclose{};\mkleeneopen{}a2  x\mkleeneclose{}]\mcdot{})
Home
Index