This is an inofficial mirror of http://metamath.tirix.org for personal testing of a visualizer extension only.
Description: An epimorphism of sets is a surjection. (Contributed by Mario Carneiro, 3-Jan-2017)
| Ref | Expression | ||
|---|---|---|---|
| Hypotheses | setcmon.c | ⊢ 𝐶 = ( SetCat ‘ 𝑈 ) | |
| setcmon.u | ⊢ ( 𝜑 → 𝑈 ∈ 𝑉 ) | ||
| setcmon.x | ⊢ ( 𝜑 → 𝑋 ∈ 𝑈 ) | ||
| setcmon.y | ⊢ ( 𝜑 → 𝑌 ∈ 𝑈 ) | ||
| setcepi.h | ⊢ 𝐸 = ( Epi ‘ 𝐶 ) | ||
| setcepi.2 | ⊢ ( 𝜑 → 2o ∈ 𝑈 ) | ||
| Assertion | setcepi | ⊢ ( 𝜑 → ( 𝐹 ∈ ( 𝑋 𝐸 𝑌 ) ↔ 𝐹 : 𝑋 –onto→ 𝑌 ) ) |
| Step | Hyp | Ref | Expression |
|---|---|---|---|
| 1 | setcmon.c | ⊢ 𝐶 = ( SetCat ‘ 𝑈 ) | |
| 2 | setcmon.u | ⊢ ( 𝜑 → 𝑈 ∈ 𝑉 ) | |
| 3 | setcmon.x | ⊢ ( 𝜑 → 𝑋 ∈ 𝑈 ) | |
| 4 | setcmon.y | ⊢ ( 𝜑 → 𝑌 ∈ 𝑈 ) | |
| 5 | setcepi.h | ⊢ 𝐸 = ( Epi ‘ 𝐶 ) | |
| 6 | setcepi.2 | ⊢ ( 𝜑 → 2o ∈ 𝑈 ) | |
| 7 | eqid | ⊢ ( Base ‘ 𝐶 ) = ( Base ‘ 𝐶 ) | |
| 8 | eqid | ⊢ ( Hom ‘ 𝐶 ) = ( Hom ‘ 𝐶 ) | |
| 9 | eqid | ⊢ ( comp ‘ 𝐶 ) = ( comp ‘ 𝐶 ) | |
| 10 | 1 | setccat | ⊢ ( 𝑈 ∈ 𝑉 → 𝐶 ∈ Cat ) |
| 11 | 2 10 | syl | ⊢ ( 𝜑 → 𝐶 ∈ Cat ) |
| 12 | 1 2 | setcbas | ⊢ ( 𝜑 → 𝑈 = ( Base ‘ 𝐶 ) ) |
| 13 | 3 12 | eleqtrd | ⊢ ( 𝜑 → 𝑋 ∈ ( Base ‘ 𝐶 ) ) |
| 14 | 4 12 | eleqtrd | ⊢ ( 𝜑 → 𝑌 ∈ ( Base ‘ 𝐶 ) ) |
| 15 | 7 8 9 5 11 13 14 | epihom | ⊢ ( 𝜑 → ( 𝑋 𝐸 𝑌 ) ⊆ ( 𝑋 ( Hom ‘ 𝐶 ) 𝑌 ) ) |
| 16 | 15 | sselda | ⊢ ( ( 𝜑 ∧ 𝐹 ∈ ( 𝑋 𝐸 𝑌 ) ) → 𝐹 ∈ ( 𝑋 ( Hom ‘ 𝐶 ) 𝑌 ) ) |
| 17 | 1 2 8 3 4 | elsetchom | ⊢ ( 𝜑 → ( 𝐹 ∈ ( 𝑋 ( Hom ‘ 𝐶 ) 𝑌 ) ↔ 𝐹 : 𝑋 ⟶ 𝑌 ) ) |
| 18 | 17 | biimpa | ⊢ ( ( 𝜑 ∧ 𝐹 ∈ ( 𝑋 ( Hom ‘ 𝐶 ) 𝑌 ) ) → 𝐹 : 𝑋 ⟶ 𝑌 ) |
| 19 | 16 18 | syldan | ⊢ ( ( 𝜑 ∧ 𝐹 ∈ ( 𝑋 𝐸 𝑌 ) ) → 𝐹 : 𝑋 ⟶ 𝑌 ) |
| 20 | 19 | frnd | ⊢ ( ( 𝜑 ∧ 𝐹 ∈ ( 𝑋 𝐸 𝑌 ) ) → ran 𝐹 ⊆ 𝑌 ) |
| 21 | 19 | ffnd | ⊢ ( ( 𝜑 ∧ 𝐹 ∈ ( 𝑋 𝐸 𝑌 ) ) → 𝐹 Fn 𝑋 ) |
| 22 | fnfvelrn | ⊢ ( ( 𝐹 Fn 𝑋 ∧ 𝑥 ∈ 𝑋 ) → ( 𝐹 ‘ 𝑥 ) ∈ ran 𝐹 ) | |
| 23 | 21 22 | sylan | ⊢ ( ( ( 𝜑 ∧ 𝐹 ∈ ( 𝑋 𝐸 𝑌 ) ) ∧ 𝑥 ∈ 𝑋 ) → ( 𝐹 ‘ 𝑥 ) ∈ ran 𝐹 ) |
| 24 | 23 | iftrued | ⊢ ( ( ( 𝜑 ∧ 𝐹 ∈ ( 𝑋 𝐸 𝑌 ) ) ∧ 𝑥 ∈ 𝑋 ) → if ( ( 𝐹 ‘ 𝑥 ) ∈ ran 𝐹 , 1o , ∅ ) = 1o ) |
| 25 | 24 | mpteq2dva | ⊢ ( ( 𝜑 ∧ 𝐹 ∈ ( 𝑋 𝐸 𝑌 ) ) → ( 𝑥 ∈ 𝑋 ↦ if ( ( 𝐹 ‘ 𝑥 ) ∈ ran 𝐹 , 1o , ∅ ) ) = ( 𝑥 ∈ 𝑋 ↦ 1o ) ) |
| 26 | 19 | ffvelcdmda | ⊢ ( ( ( 𝜑 ∧ 𝐹 ∈ ( 𝑋 𝐸 𝑌 ) ) ∧ 𝑥 ∈ 𝑋 ) → ( 𝐹 ‘ 𝑥 ) ∈ 𝑌 ) |
| 27 | 19 | feqmptd | ⊢ ( ( 𝜑 ∧ 𝐹 ∈ ( 𝑋 𝐸 𝑌 ) ) → 𝐹 = ( 𝑥 ∈ 𝑋 ↦ ( 𝐹 ‘ 𝑥 ) ) ) |
| 28 | eqidd | ⊢ ( ( 𝜑 ∧ 𝐹 ∈ ( 𝑋 𝐸 𝑌 ) ) → ( 𝑎 ∈ 𝑌 ↦ if ( 𝑎 ∈ ran 𝐹 , 1o , ∅ ) ) = ( 𝑎 ∈ 𝑌 ↦ if ( 𝑎 ∈ ran 𝐹 , 1o , ∅ ) ) ) | |
| 29 | eleq1 | ⊢ ( 𝑎 = ( 𝐹 ‘ 𝑥 ) → ( 𝑎 ∈ ran 𝐹 ↔ ( 𝐹 ‘ 𝑥 ) ∈ ran 𝐹 ) ) | |
| 30 | 29 | ifbid | ⊢ ( 𝑎 = ( 𝐹 ‘ 𝑥 ) → if ( 𝑎 ∈ ran 𝐹 , 1o , ∅ ) = if ( ( 𝐹 ‘ 𝑥 ) ∈ ran 𝐹 , 1o , ∅ ) ) |
| 31 | 26 27 28 30 | fmptco | ⊢ ( ( 𝜑 ∧ 𝐹 ∈ ( 𝑋 𝐸 𝑌 ) ) → ( ( 𝑎 ∈ 𝑌 ↦ if ( 𝑎 ∈ ran 𝐹 , 1o , ∅ ) ) ∘ 𝐹 ) = ( 𝑥 ∈ 𝑋 ↦ if ( ( 𝐹 ‘ 𝑥 ) ∈ ran 𝐹 , 1o , ∅ ) ) ) |
| 32 | fconstmpt | ⊢ ( 𝑌 × { 1o } ) = ( 𝑎 ∈ 𝑌 ↦ 1o ) | |
| 33 | 32 | a1i | ⊢ ( ( 𝜑 ∧ 𝐹 ∈ ( 𝑋 𝐸 𝑌 ) ) → ( 𝑌 × { 1o } ) = ( 𝑎 ∈ 𝑌 ↦ 1o ) ) |
| 34 | eqidd | ⊢ ( 𝑎 = ( 𝐹 ‘ 𝑥 ) → 1o = 1o ) | |
| 35 | 26 27 33 34 | fmptco | ⊢ ( ( 𝜑 ∧ 𝐹 ∈ ( 𝑋 𝐸 𝑌 ) ) → ( ( 𝑌 × { 1o } ) ∘ 𝐹 ) = ( 𝑥 ∈ 𝑋 ↦ 1o ) ) |
| 36 | 25 31 35 | 3eqtr4d | ⊢ ( ( 𝜑 ∧ 𝐹 ∈ ( 𝑋 𝐸 𝑌 ) ) → ( ( 𝑎 ∈ 𝑌 ↦ if ( 𝑎 ∈ ran 𝐹 , 1o , ∅ ) ) ∘ 𝐹 ) = ( ( 𝑌 × { 1o } ) ∘ 𝐹 ) ) |
| 37 | 2 | adantr | ⊢ ( ( 𝜑 ∧ 𝐹 ∈ ( 𝑋 𝐸 𝑌 ) ) → 𝑈 ∈ 𝑉 ) |
| 38 | 3 | adantr | ⊢ ( ( 𝜑 ∧ 𝐹 ∈ ( 𝑋 𝐸 𝑌 ) ) → 𝑋 ∈ 𝑈 ) |
| 39 | 4 | adantr | ⊢ ( ( 𝜑 ∧ 𝐹 ∈ ( 𝑋 𝐸 𝑌 ) ) → 𝑌 ∈ 𝑈 ) |
| 40 | 6 | adantr | ⊢ ( ( 𝜑 ∧ 𝐹 ∈ ( 𝑋 𝐸 𝑌 ) ) → 2o ∈ 𝑈 ) |
| 41 | eqid | ⊢ ( 𝑎 ∈ 𝑌 ↦ if ( 𝑎 ∈ ran 𝐹 , 1o , ∅ ) ) = ( 𝑎 ∈ 𝑌 ↦ if ( 𝑎 ∈ ran 𝐹 , 1o , ∅ ) ) | |
| 42 | 1oex | ⊢ 1o ∈ V | |
| 43 | 42 | prid2 | ⊢ 1o ∈ { ∅ , 1o } |
| 44 | df2o3 | ⊢ 2o = { ∅ , 1o } | |
| 45 | 43 44 | eleqtrri | ⊢ 1o ∈ 2o |
| 46 | 0ex | ⊢ ∅ ∈ V | |
| 47 | 46 | prid1 | ⊢ ∅ ∈ { ∅ , 1o } |
| 48 | 47 44 | eleqtrri | ⊢ ∅ ∈ 2o |
| 49 | 45 48 | ifcli | ⊢ if ( 𝑎 ∈ ran 𝐹 , 1o , ∅ ) ∈ 2o |
| 50 | 49 | a1i | ⊢ ( 𝑎 ∈ 𝑌 → if ( 𝑎 ∈ ran 𝐹 , 1o , ∅ ) ∈ 2o ) |
| 51 | 41 50 | fmpti | ⊢ ( 𝑎 ∈ 𝑌 ↦ if ( 𝑎 ∈ ran 𝐹 , 1o , ∅ ) ) : 𝑌 ⟶ 2o |
| 52 | 51 | a1i | ⊢ ( ( 𝜑 ∧ 𝐹 ∈ ( 𝑋 𝐸 𝑌 ) ) → ( 𝑎 ∈ 𝑌 ↦ if ( 𝑎 ∈ ran 𝐹 , 1o , ∅ ) ) : 𝑌 ⟶ 2o ) |
| 53 | 1 37 9 38 39 40 19 52 | setcco | ⊢ ( ( 𝜑 ∧ 𝐹 ∈ ( 𝑋 𝐸 𝑌 ) ) → ( ( 𝑎 ∈ 𝑌 ↦ if ( 𝑎 ∈ ran 𝐹 , 1o , ∅ ) ) ( 〈 𝑋 , 𝑌 〉 ( comp ‘ 𝐶 ) 2o ) 𝐹 ) = ( ( 𝑎 ∈ 𝑌 ↦ if ( 𝑎 ∈ ran 𝐹 , 1o , ∅ ) ) ∘ 𝐹 ) ) |
| 54 | fconst6g | ⊢ ( 1o ∈ 2o → ( 𝑌 × { 1o } ) : 𝑌 ⟶ 2o ) | |
| 55 | 45 54 | mp1i | ⊢ ( ( 𝜑 ∧ 𝐹 ∈ ( 𝑋 𝐸 𝑌 ) ) → ( 𝑌 × { 1o } ) : 𝑌 ⟶ 2o ) |
| 56 | 1 37 9 38 39 40 19 55 | setcco | ⊢ ( ( 𝜑 ∧ 𝐹 ∈ ( 𝑋 𝐸 𝑌 ) ) → ( ( 𝑌 × { 1o } ) ( 〈 𝑋 , 𝑌 〉 ( comp ‘ 𝐶 ) 2o ) 𝐹 ) = ( ( 𝑌 × { 1o } ) ∘ 𝐹 ) ) |
| 57 | 36 53 56 | 3eqtr4d | ⊢ ( ( 𝜑 ∧ 𝐹 ∈ ( 𝑋 𝐸 𝑌 ) ) → ( ( 𝑎 ∈ 𝑌 ↦ if ( 𝑎 ∈ ran 𝐹 , 1o , ∅ ) ) ( 〈 𝑋 , 𝑌 〉 ( comp ‘ 𝐶 ) 2o ) 𝐹 ) = ( ( 𝑌 × { 1o } ) ( 〈 𝑋 , 𝑌 〉 ( comp ‘ 𝐶 ) 2o ) 𝐹 ) ) |
| 58 | 11 | adantr | ⊢ ( ( 𝜑 ∧ 𝐹 ∈ ( 𝑋 𝐸 𝑌 ) ) → 𝐶 ∈ Cat ) |
| 59 | 13 | adantr | ⊢ ( ( 𝜑 ∧ 𝐹 ∈ ( 𝑋 𝐸 𝑌 ) ) → 𝑋 ∈ ( Base ‘ 𝐶 ) ) |
| 60 | 14 | adantr | ⊢ ( ( 𝜑 ∧ 𝐹 ∈ ( 𝑋 𝐸 𝑌 ) ) → 𝑌 ∈ ( Base ‘ 𝐶 ) ) |
| 61 | 6 12 | eleqtrd | ⊢ ( 𝜑 → 2o ∈ ( Base ‘ 𝐶 ) ) |
| 62 | 61 | adantr | ⊢ ( ( 𝜑 ∧ 𝐹 ∈ ( 𝑋 𝐸 𝑌 ) ) → 2o ∈ ( Base ‘ 𝐶 ) ) |
| 63 | simpr | ⊢ ( ( 𝜑 ∧ 𝐹 ∈ ( 𝑋 𝐸 𝑌 ) ) → 𝐹 ∈ ( 𝑋 𝐸 𝑌 ) ) | |
| 64 | 1 37 8 39 40 | elsetchom | ⊢ ( ( 𝜑 ∧ 𝐹 ∈ ( 𝑋 𝐸 𝑌 ) ) → ( ( 𝑎 ∈ 𝑌 ↦ if ( 𝑎 ∈ ran 𝐹 , 1o , ∅ ) ) ∈ ( 𝑌 ( Hom ‘ 𝐶 ) 2o ) ↔ ( 𝑎 ∈ 𝑌 ↦ if ( 𝑎 ∈ ran 𝐹 , 1o , ∅ ) ) : 𝑌 ⟶ 2o ) ) |
| 65 | 52 64 | mpbird | ⊢ ( ( 𝜑 ∧ 𝐹 ∈ ( 𝑋 𝐸 𝑌 ) ) → ( 𝑎 ∈ 𝑌 ↦ if ( 𝑎 ∈ ran 𝐹 , 1o , ∅ ) ) ∈ ( 𝑌 ( Hom ‘ 𝐶 ) 2o ) ) |
| 66 | 1 37 8 39 40 | elsetchom | ⊢ ( ( 𝜑 ∧ 𝐹 ∈ ( 𝑋 𝐸 𝑌 ) ) → ( ( 𝑌 × { 1o } ) ∈ ( 𝑌 ( Hom ‘ 𝐶 ) 2o ) ↔ ( 𝑌 × { 1o } ) : 𝑌 ⟶ 2o ) ) |
| 67 | 55 66 | mpbird | ⊢ ( ( 𝜑 ∧ 𝐹 ∈ ( 𝑋 𝐸 𝑌 ) ) → ( 𝑌 × { 1o } ) ∈ ( 𝑌 ( Hom ‘ 𝐶 ) 2o ) ) |
| 68 | 7 8 9 5 58 59 60 62 63 65 67 | epii | ⊢ ( ( 𝜑 ∧ 𝐹 ∈ ( 𝑋 𝐸 𝑌 ) ) → ( ( ( 𝑎 ∈ 𝑌 ↦ if ( 𝑎 ∈ ran 𝐹 , 1o , ∅ ) ) ( 〈 𝑋 , 𝑌 〉 ( comp ‘ 𝐶 ) 2o ) 𝐹 ) = ( ( 𝑌 × { 1o } ) ( 〈 𝑋 , 𝑌 〉 ( comp ‘ 𝐶 ) 2o ) 𝐹 ) ↔ ( 𝑎 ∈ 𝑌 ↦ if ( 𝑎 ∈ ran 𝐹 , 1o , ∅ ) ) = ( 𝑌 × { 1o } ) ) ) |
| 69 | 57 68 | mpbid | ⊢ ( ( 𝜑 ∧ 𝐹 ∈ ( 𝑋 𝐸 𝑌 ) ) → ( 𝑎 ∈ 𝑌 ↦ if ( 𝑎 ∈ ran 𝐹 , 1o , ∅ ) ) = ( 𝑌 × { 1o } ) ) |
| 70 | 69 32 | eqtrdi | ⊢ ( ( 𝜑 ∧ 𝐹 ∈ ( 𝑋 𝐸 𝑌 ) ) → ( 𝑎 ∈ 𝑌 ↦ if ( 𝑎 ∈ ran 𝐹 , 1o , ∅ ) ) = ( 𝑎 ∈ 𝑌 ↦ 1o ) ) |
| 71 | 49 | rgenw | ⊢ ∀ 𝑎 ∈ 𝑌 if ( 𝑎 ∈ ran 𝐹 , 1o , ∅ ) ∈ 2o |
| 72 | mpteqb | ⊢ ( ∀ 𝑎 ∈ 𝑌 if ( 𝑎 ∈ ran 𝐹 , 1o , ∅ ) ∈ 2o → ( ( 𝑎 ∈ 𝑌 ↦ if ( 𝑎 ∈ ran 𝐹 , 1o , ∅ ) ) = ( 𝑎 ∈ 𝑌 ↦ 1o ) ↔ ∀ 𝑎 ∈ 𝑌 if ( 𝑎 ∈ ran 𝐹 , 1o , ∅ ) = 1o ) ) | |
| 73 | 71 72 | ax-mp | ⊢ ( ( 𝑎 ∈ 𝑌 ↦ if ( 𝑎 ∈ ran 𝐹 , 1o , ∅ ) ) = ( 𝑎 ∈ 𝑌 ↦ 1o ) ↔ ∀ 𝑎 ∈ 𝑌 if ( 𝑎 ∈ ran 𝐹 , 1o , ∅ ) = 1o ) |
| 74 | 70 73 | sylib | ⊢ ( ( 𝜑 ∧ 𝐹 ∈ ( 𝑋 𝐸 𝑌 ) ) → ∀ 𝑎 ∈ 𝑌 if ( 𝑎 ∈ ran 𝐹 , 1o , ∅ ) = 1o ) |
| 75 | 1n0 | ⊢ 1o ≠ ∅ | |
| 76 | 75 | nesymi | ⊢ ¬ ∅ = 1o |
| 77 | iffalse | ⊢ ( ¬ 𝑎 ∈ ran 𝐹 → if ( 𝑎 ∈ ran 𝐹 , 1o , ∅ ) = ∅ ) | |
| 78 | 77 | eqeq1d | ⊢ ( ¬ 𝑎 ∈ ran 𝐹 → ( if ( 𝑎 ∈ ran 𝐹 , 1o , ∅ ) = 1o ↔ ∅ = 1o ) ) |
| 79 | 76 78 | mtbiri | ⊢ ( ¬ 𝑎 ∈ ran 𝐹 → ¬ if ( 𝑎 ∈ ran 𝐹 , 1o , ∅ ) = 1o ) |
| 80 | 79 | con4i | ⊢ ( if ( 𝑎 ∈ ran 𝐹 , 1o , ∅ ) = 1o → 𝑎 ∈ ran 𝐹 ) |
| 81 | 80 | ralimi | ⊢ ( ∀ 𝑎 ∈ 𝑌 if ( 𝑎 ∈ ran 𝐹 , 1o , ∅ ) = 1o → ∀ 𝑎 ∈ 𝑌 𝑎 ∈ ran 𝐹 ) |
| 82 | 74 81 | syl | ⊢ ( ( 𝜑 ∧ 𝐹 ∈ ( 𝑋 𝐸 𝑌 ) ) → ∀ 𝑎 ∈ 𝑌 𝑎 ∈ ran 𝐹 ) |
| 83 | dfss3 | ⊢ ( 𝑌 ⊆ ran 𝐹 ↔ ∀ 𝑎 ∈ 𝑌 𝑎 ∈ ran 𝐹 ) | |
| 84 | 82 83 | sylibr | ⊢ ( ( 𝜑 ∧ 𝐹 ∈ ( 𝑋 𝐸 𝑌 ) ) → 𝑌 ⊆ ran 𝐹 ) |
| 85 | 20 84 | eqssd | ⊢ ( ( 𝜑 ∧ 𝐹 ∈ ( 𝑋 𝐸 𝑌 ) ) → ran 𝐹 = 𝑌 ) |
| 86 | dffo2 | ⊢ ( 𝐹 : 𝑋 –onto→ 𝑌 ↔ ( 𝐹 : 𝑋 ⟶ 𝑌 ∧ ran 𝐹 = 𝑌 ) ) | |
| 87 | 19 85 86 | sylanbrc | ⊢ ( ( 𝜑 ∧ 𝐹 ∈ ( 𝑋 𝐸 𝑌 ) ) → 𝐹 : 𝑋 –onto→ 𝑌 ) |
| 88 | fof | ⊢ ( 𝐹 : 𝑋 –onto→ 𝑌 → 𝐹 : 𝑋 ⟶ 𝑌 ) | |
| 89 | 88 | adantl | ⊢ ( ( 𝜑 ∧ 𝐹 : 𝑋 –onto→ 𝑌 ) → 𝐹 : 𝑋 ⟶ 𝑌 ) |
| 90 | 17 | biimpar | ⊢ ( ( 𝜑 ∧ 𝐹 : 𝑋 ⟶ 𝑌 ) → 𝐹 ∈ ( 𝑋 ( Hom ‘ 𝐶 ) 𝑌 ) ) |
| 91 | 89 90 | syldan | ⊢ ( ( 𝜑 ∧ 𝐹 : 𝑋 –onto→ 𝑌 ) → 𝐹 ∈ ( 𝑋 ( Hom ‘ 𝐶 ) 𝑌 ) ) |
| 92 | 12 | adantr | ⊢ ( ( 𝜑 ∧ 𝐹 : 𝑋 –onto→ 𝑌 ) → 𝑈 = ( Base ‘ 𝐶 ) ) |
| 93 | 92 | eleq2d | ⊢ ( ( 𝜑 ∧ 𝐹 : 𝑋 –onto→ 𝑌 ) → ( 𝑧 ∈ 𝑈 ↔ 𝑧 ∈ ( Base ‘ 𝐶 ) ) ) |
| 94 | 2 | ad2antrr | ⊢ ( ( ( 𝜑 ∧ 𝐹 : 𝑋 –onto→ 𝑌 ) ∧ ( 𝑧 ∈ 𝑈 ∧ ( 𝑔 ∈ ( 𝑌 ( Hom ‘ 𝐶 ) 𝑧 ) ∧ ℎ ∈ ( 𝑌 ( Hom ‘ 𝐶 ) 𝑧 ) ) ) ) → 𝑈 ∈ 𝑉 ) |
| 95 | 3 | ad2antrr | ⊢ ( ( ( 𝜑 ∧ 𝐹 : 𝑋 –onto→ 𝑌 ) ∧ ( 𝑧 ∈ 𝑈 ∧ ( 𝑔 ∈ ( 𝑌 ( Hom ‘ 𝐶 ) 𝑧 ) ∧ ℎ ∈ ( 𝑌 ( Hom ‘ 𝐶 ) 𝑧 ) ) ) ) → 𝑋 ∈ 𝑈 ) |
| 96 | 4 | ad2antrr | ⊢ ( ( ( 𝜑 ∧ 𝐹 : 𝑋 –onto→ 𝑌 ) ∧ ( 𝑧 ∈ 𝑈 ∧ ( 𝑔 ∈ ( 𝑌 ( Hom ‘ 𝐶 ) 𝑧 ) ∧ ℎ ∈ ( 𝑌 ( Hom ‘ 𝐶 ) 𝑧 ) ) ) ) → 𝑌 ∈ 𝑈 ) |
| 97 | simprl | ⊢ ( ( ( 𝜑 ∧ 𝐹 : 𝑋 –onto→ 𝑌 ) ∧ ( 𝑧 ∈ 𝑈 ∧ ( 𝑔 ∈ ( 𝑌 ( Hom ‘ 𝐶 ) 𝑧 ) ∧ ℎ ∈ ( 𝑌 ( Hom ‘ 𝐶 ) 𝑧 ) ) ) ) → 𝑧 ∈ 𝑈 ) | |
| 98 | 89 | adantr | ⊢ ( ( ( 𝜑 ∧ 𝐹 : 𝑋 –onto→ 𝑌 ) ∧ ( 𝑧 ∈ 𝑈 ∧ ( 𝑔 ∈ ( 𝑌 ( Hom ‘ 𝐶 ) 𝑧 ) ∧ ℎ ∈ ( 𝑌 ( Hom ‘ 𝐶 ) 𝑧 ) ) ) ) → 𝐹 : 𝑋 ⟶ 𝑌 ) |
| 99 | simprrl | ⊢ ( ( ( 𝜑 ∧ 𝐹 : 𝑋 –onto→ 𝑌 ) ∧ ( 𝑧 ∈ 𝑈 ∧ ( 𝑔 ∈ ( 𝑌 ( Hom ‘ 𝐶 ) 𝑧 ) ∧ ℎ ∈ ( 𝑌 ( Hom ‘ 𝐶 ) 𝑧 ) ) ) ) → 𝑔 ∈ ( 𝑌 ( Hom ‘ 𝐶 ) 𝑧 ) ) | |
| 100 | 1 94 8 96 97 | elsetchom | ⊢ ( ( ( 𝜑 ∧ 𝐹 : 𝑋 –onto→ 𝑌 ) ∧ ( 𝑧 ∈ 𝑈 ∧ ( 𝑔 ∈ ( 𝑌 ( Hom ‘ 𝐶 ) 𝑧 ) ∧ ℎ ∈ ( 𝑌 ( Hom ‘ 𝐶 ) 𝑧 ) ) ) ) → ( 𝑔 ∈ ( 𝑌 ( Hom ‘ 𝐶 ) 𝑧 ) ↔ 𝑔 : 𝑌 ⟶ 𝑧 ) ) |
| 101 | 99 100 | mpbid | ⊢ ( ( ( 𝜑 ∧ 𝐹 : 𝑋 –onto→ 𝑌 ) ∧ ( 𝑧 ∈ 𝑈 ∧ ( 𝑔 ∈ ( 𝑌 ( Hom ‘ 𝐶 ) 𝑧 ) ∧ ℎ ∈ ( 𝑌 ( Hom ‘ 𝐶 ) 𝑧 ) ) ) ) → 𝑔 : 𝑌 ⟶ 𝑧 ) |
| 102 | 1 94 9 95 96 97 98 101 | setcco | ⊢ ( ( ( 𝜑 ∧ 𝐹 : 𝑋 –onto→ 𝑌 ) ∧ ( 𝑧 ∈ 𝑈 ∧ ( 𝑔 ∈ ( 𝑌 ( Hom ‘ 𝐶 ) 𝑧 ) ∧ ℎ ∈ ( 𝑌 ( Hom ‘ 𝐶 ) 𝑧 ) ) ) ) → ( 𝑔 ( 〈 𝑋 , 𝑌 〉 ( comp ‘ 𝐶 ) 𝑧 ) 𝐹 ) = ( 𝑔 ∘ 𝐹 ) ) |
| 103 | simprrr | ⊢ ( ( ( 𝜑 ∧ 𝐹 : 𝑋 –onto→ 𝑌 ) ∧ ( 𝑧 ∈ 𝑈 ∧ ( 𝑔 ∈ ( 𝑌 ( Hom ‘ 𝐶 ) 𝑧 ) ∧ ℎ ∈ ( 𝑌 ( Hom ‘ 𝐶 ) 𝑧 ) ) ) ) → ℎ ∈ ( 𝑌 ( Hom ‘ 𝐶 ) 𝑧 ) ) | |
| 104 | 1 94 8 96 97 | elsetchom | ⊢ ( ( ( 𝜑 ∧ 𝐹 : 𝑋 –onto→ 𝑌 ) ∧ ( 𝑧 ∈ 𝑈 ∧ ( 𝑔 ∈ ( 𝑌 ( Hom ‘ 𝐶 ) 𝑧 ) ∧ ℎ ∈ ( 𝑌 ( Hom ‘ 𝐶 ) 𝑧 ) ) ) ) → ( ℎ ∈ ( 𝑌 ( Hom ‘ 𝐶 ) 𝑧 ) ↔ ℎ : 𝑌 ⟶ 𝑧 ) ) |
| 105 | 103 104 | mpbid | ⊢ ( ( ( 𝜑 ∧ 𝐹 : 𝑋 –onto→ 𝑌 ) ∧ ( 𝑧 ∈ 𝑈 ∧ ( 𝑔 ∈ ( 𝑌 ( Hom ‘ 𝐶 ) 𝑧 ) ∧ ℎ ∈ ( 𝑌 ( Hom ‘ 𝐶 ) 𝑧 ) ) ) ) → ℎ : 𝑌 ⟶ 𝑧 ) |
| 106 | 1 94 9 95 96 97 98 105 | setcco | ⊢ ( ( ( 𝜑 ∧ 𝐹 : 𝑋 –onto→ 𝑌 ) ∧ ( 𝑧 ∈ 𝑈 ∧ ( 𝑔 ∈ ( 𝑌 ( Hom ‘ 𝐶 ) 𝑧 ) ∧ ℎ ∈ ( 𝑌 ( Hom ‘ 𝐶 ) 𝑧 ) ) ) ) → ( ℎ ( 〈 𝑋 , 𝑌 〉 ( comp ‘ 𝐶 ) 𝑧 ) 𝐹 ) = ( ℎ ∘ 𝐹 ) ) |
| 107 | 102 106 | eqeq12d | ⊢ ( ( ( 𝜑 ∧ 𝐹 : 𝑋 –onto→ 𝑌 ) ∧ ( 𝑧 ∈ 𝑈 ∧ ( 𝑔 ∈ ( 𝑌 ( Hom ‘ 𝐶 ) 𝑧 ) ∧ ℎ ∈ ( 𝑌 ( Hom ‘ 𝐶 ) 𝑧 ) ) ) ) → ( ( 𝑔 ( 〈 𝑋 , 𝑌 〉 ( comp ‘ 𝐶 ) 𝑧 ) 𝐹 ) = ( ℎ ( 〈 𝑋 , 𝑌 〉 ( comp ‘ 𝐶 ) 𝑧 ) 𝐹 ) ↔ ( 𝑔 ∘ 𝐹 ) = ( ℎ ∘ 𝐹 ) ) ) |
| 108 | simplr | ⊢ ( ( ( 𝜑 ∧ 𝐹 : 𝑋 –onto→ 𝑌 ) ∧ ( 𝑧 ∈ 𝑈 ∧ ( 𝑔 ∈ ( 𝑌 ( Hom ‘ 𝐶 ) 𝑧 ) ∧ ℎ ∈ ( 𝑌 ( Hom ‘ 𝐶 ) 𝑧 ) ) ) ) → 𝐹 : 𝑋 –onto→ 𝑌 ) | |
| 109 | 101 | ffnd | ⊢ ( ( ( 𝜑 ∧ 𝐹 : 𝑋 –onto→ 𝑌 ) ∧ ( 𝑧 ∈ 𝑈 ∧ ( 𝑔 ∈ ( 𝑌 ( Hom ‘ 𝐶 ) 𝑧 ) ∧ ℎ ∈ ( 𝑌 ( Hom ‘ 𝐶 ) 𝑧 ) ) ) ) → 𝑔 Fn 𝑌 ) |
| 110 | 105 | ffnd | ⊢ ( ( ( 𝜑 ∧ 𝐹 : 𝑋 –onto→ 𝑌 ) ∧ ( 𝑧 ∈ 𝑈 ∧ ( 𝑔 ∈ ( 𝑌 ( Hom ‘ 𝐶 ) 𝑧 ) ∧ ℎ ∈ ( 𝑌 ( Hom ‘ 𝐶 ) 𝑧 ) ) ) ) → ℎ Fn 𝑌 ) |
| 111 | cocan2 | ⊢ ( ( 𝐹 : 𝑋 –onto→ 𝑌 ∧ 𝑔 Fn 𝑌 ∧ ℎ Fn 𝑌 ) → ( ( 𝑔 ∘ 𝐹 ) = ( ℎ ∘ 𝐹 ) ↔ 𝑔 = ℎ ) ) | |
| 112 | 108 109 110 111 | syl3anc | ⊢ ( ( ( 𝜑 ∧ 𝐹 : 𝑋 –onto→ 𝑌 ) ∧ ( 𝑧 ∈ 𝑈 ∧ ( 𝑔 ∈ ( 𝑌 ( Hom ‘ 𝐶 ) 𝑧 ) ∧ ℎ ∈ ( 𝑌 ( Hom ‘ 𝐶 ) 𝑧 ) ) ) ) → ( ( 𝑔 ∘ 𝐹 ) = ( ℎ ∘ 𝐹 ) ↔ 𝑔 = ℎ ) ) |
| 113 | 112 | biimpd | ⊢ ( ( ( 𝜑 ∧ 𝐹 : 𝑋 –onto→ 𝑌 ) ∧ ( 𝑧 ∈ 𝑈 ∧ ( 𝑔 ∈ ( 𝑌 ( Hom ‘ 𝐶 ) 𝑧 ) ∧ ℎ ∈ ( 𝑌 ( Hom ‘ 𝐶 ) 𝑧 ) ) ) ) → ( ( 𝑔 ∘ 𝐹 ) = ( ℎ ∘ 𝐹 ) → 𝑔 = ℎ ) ) |
| 114 | 107 113 | sylbid | ⊢ ( ( ( 𝜑 ∧ 𝐹 : 𝑋 –onto→ 𝑌 ) ∧ ( 𝑧 ∈ 𝑈 ∧ ( 𝑔 ∈ ( 𝑌 ( Hom ‘ 𝐶 ) 𝑧 ) ∧ ℎ ∈ ( 𝑌 ( Hom ‘ 𝐶 ) 𝑧 ) ) ) ) → ( ( 𝑔 ( 〈 𝑋 , 𝑌 〉 ( comp ‘ 𝐶 ) 𝑧 ) 𝐹 ) = ( ℎ ( 〈 𝑋 , 𝑌 〉 ( comp ‘ 𝐶 ) 𝑧 ) 𝐹 ) → 𝑔 = ℎ ) ) |
| 115 | 114 | anassrs | ⊢ ( ( ( ( 𝜑 ∧ 𝐹 : 𝑋 –onto→ 𝑌 ) ∧ 𝑧 ∈ 𝑈 ) ∧ ( 𝑔 ∈ ( 𝑌 ( Hom ‘ 𝐶 ) 𝑧 ) ∧ ℎ ∈ ( 𝑌 ( Hom ‘ 𝐶 ) 𝑧 ) ) ) → ( ( 𝑔 ( 〈 𝑋 , 𝑌 〉 ( comp ‘ 𝐶 ) 𝑧 ) 𝐹 ) = ( ℎ ( 〈 𝑋 , 𝑌 〉 ( comp ‘ 𝐶 ) 𝑧 ) 𝐹 ) → 𝑔 = ℎ ) ) |
| 116 | 115 | ralrimivva | ⊢ ( ( ( 𝜑 ∧ 𝐹 : 𝑋 –onto→ 𝑌 ) ∧ 𝑧 ∈ 𝑈 ) → ∀ 𝑔 ∈ ( 𝑌 ( Hom ‘ 𝐶 ) 𝑧 ) ∀ ℎ ∈ ( 𝑌 ( Hom ‘ 𝐶 ) 𝑧 ) ( ( 𝑔 ( 〈 𝑋 , 𝑌 〉 ( comp ‘ 𝐶 ) 𝑧 ) 𝐹 ) = ( ℎ ( 〈 𝑋 , 𝑌 〉 ( comp ‘ 𝐶 ) 𝑧 ) 𝐹 ) → 𝑔 = ℎ ) ) |
| 117 | 116 | ex | ⊢ ( ( 𝜑 ∧ 𝐹 : 𝑋 –onto→ 𝑌 ) → ( 𝑧 ∈ 𝑈 → ∀ 𝑔 ∈ ( 𝑌 ( Hom ‘ 𝐶 ) 𝑧 ) ∀ ℎ ∈ ( 𝑌 ( Hom ‘ 𝐶 ) 𝑧 ) ( ( 𝑔 ( 〈 𝑋 , 𝑌 〉 ( comp ‘ 𝐶 ) 𝑧 ) 𝐹 ) = ( ℎ ( 〈 𝑋 , 𝑌 〉 ( comp ‘ 𝐶 ) 𝑧 ) 𝐹 ) → 𝑔 = ℎ ) ) ) |
| 118 | 93 117 | sylbird | ⊢ ( ( 𝜑 ∧ 𝐹 : 𝑋 –onto→ 𝑌 ) → ( 𝑧 ∈ ( Base ‘ 𝐶 ) → ∀ 𝑔 ∈ ( 𝑌 ( Hom ‘ 𝐶 ) 𝑧 ) ∀ ℎ ∈ ( 𝑌 ( Hom ‘ 𝐶 ) 𝑧 ) ( ( 𝑔 ( 〈 𝑋 , 𝑌 〉 ( comp ‘ 𝐶 ) 𝑧 ) 𝐹 ) = ( ℎ ( 〈 𝑋 , 𝑌 〉 ( comp ‘ 𝐶 ) 𝑧 ) 𝐹 ) → 𝑔 = ℎ ) ) ) |
| 119 | 118 | ralrimiv | ⊢ ( ( 𝜑 ∧ 𝐹 : 𝑋 –onto→ 𝑌 ) → ∀ 𝑧 ∈ ( Base ‘ 𝐶 ) ∀ 𝑔 ∈ ( 𝑌 ( Hom ‘ 𝐶 ) 𝑧 ) ∀ ℎ ∈ ( 𝑌 ( Hom ‘ 𝐶 ) 𝑧 ) ( ( 𝑔 ( 〈 𝑋 , 𝑌 〉 ( comp ‘ 𝐶 ) 𝑧 ) 𝐹 ) = ( ℎ ( 〈 𝑋 , 𝑌 〉 ( comp ‘ 𝐶 ) 𝑧 ) 𝐹 ) → 𝑔 = ℎ ) ) |
| 120 | 7 8 9 5 11 13 14 | isepi2 | ⊢ ( 𝜑 → ( 𝐹 ∈ ( 𝑋 𝐸 𝑌 ) ↔ ( 𝐹 ∈ ( 𝑋 ( Hom ‘ 𝐶 ) 𝑌 ) ∧ ∀ 𝑧 ∈ ( Base ‘ 𝐶 ) ∀ 𝑔 ∈ ( 𝑌 ( Hom ‘ 𝐶 ) 𝑧 ) ∀ ℎ ∈ ( 𝑌 ( Hom ‘ 𝐶 ) 𝑧 ) ( ( 𝑔 ( 〈 𝑋 , 𝑌 〉 ( comp ‘ 𝐶 ) 𝑧 ) 𝐹 ) = ( ℎ ( 〈 𝑋 , 𝑌 〉 ( comp ‘ 𝐶 ) 𝑧 ) 𝐹 ) → 𝑔 = ℎ ) ) ) ) |
| 121 | 120 | adantr | ⊢ ( ( 𝜑 ∧ 𝐹 : 𝑋 –onto→ 𝑌 ) → ( 𝐹 ∈ ( 𝑋 𝐸 𝑌 ) ↔ ( 𝐹 ∈ ( 𝑋 ( Hom ‘ 𝐶 ) 𝑌 ) ∧ ∀ 𝑧 ∈ ( Base ‘ 𝐶 ) ∀ 𝑔 ∈ ( 𝑌 ( Hom ‘ 𝐶 ) 𝑧 ) ∀ ℎ ∈ ( 𝑌 ( Hom ‘ 𝐶 ) 𝑧 ) ( ( 𝑔 ( 〈 𝑋 , 𝑌 〉 ( comp ‘ 𝐶 ) 𝑧 ) 𝐹 ) = ( ℎ ( 〈 𝑋 , 𝑌 〉 ( comp ‘ 𝐶 ) 𝑧 ) 𝐹 ) → 𝑔 = ℎ ) ) ) ) |
| 122 | 91 119 121 | mpbir2and | ⊢ ( ( 𝜑 ∧ 𝐹 : 𝑋 –onto→ 𝑌 ) → 𝐹 ∈ ( 𝑋 𝐸 𝑌 ) ) |
| 123 | 87 122 | impbida | ⊢ ( 𝜑 → ( 𝐹 ∈ ( 𝑋 𝐸 𝑌 ) ↔ 𝐹 : 𝑋 –onto→ 𝑌 ) ) |