Step * 1 2 1 of Lemma injection-inverse


1. [A] Type
2. [B] Type
3. A →⟶ B@i
4. A@i
5. : ℕ@i
6. : ℕn ⟶ A@i
7. Surj(ℕn;A;h)@i
8. ∀x,y:B.  Dec(x y ∈ B)@i
9. test b:B ⟶ (∃i:ℕn. ((f (h i)) b ∈ B) (∃i:ℕn. ((f (h i)) b ∈ B))))
⊢ ∃g:B ⟶ A. ∀a:A. ((g (f a)) a ∈ A)
BY
(With ⌜λb.case test of inl(e) => (fst(e)) inr(z) => a⌝ (D 0)⋅ THEN Reduce THEN Auto) }

1
1. Type
2. Type
3. A →⟶ B@i
4. A@i
5. : ℕ@i
6. : ℕn ⟶ A@i
7. Surj(ℕn;A;h)@i
8. ∀x,y:B.  Dec(x y ∈ B)@i
9. test b:B ⟶ (∃i:ℕn. ((f (h i)) b ∈ B) (∃i:ℕn. ((f (h i)) b ∈ B))))
10. a@0 A@i
⊢ case test (f a@0) of inl(e) => (fst(e)) inr(z) => a@0 ∈ A


Latex:


Latex:

1.  [A]  :  Type
2.  [B]  :  Type
3.  f  :  A  \mrightarrow{}{}\mrightarrow{}  B@i
4.  a  :  A@i
5.  n  :  \mBbbN{}@i
6.  h  :  \mBbbN{}n  {}\mrightarrow{}  A@i
7.  Surj(\mBbbN{}n;A;h)@i
8.  \mforall{}x,y:B.    Dec(x  =  y)@i
9.  test  :  b:B  {}\mrightarrow{}  (\mexists{}i:\mBbbN{}n.  ((f  (h  i))  =  b)  +  (\mneg{}(\mexists{}i:\mBbbN{}n.  ((f  (h  i))  =  b))))
\mvdash{}  \mexists{}g:B  {}\mrightarrow{}  A.  \mforall{}a:A.  ((g  (f  a))  =  a)


By


Latex:
(With  \mkleeneopen{}\mlambda{}b.case  test  b  of  inl(e)  =>  h  (fst(e))  |  inr(z)  =>  a\mkleeneclose{}  (D  0)\mcdot{}  THEN  Reduce  0  THEN  Auto)




Home Index