HomeHome Metamath Proof Explorer < Previous   Next >
Related theorems
GIF version

Theorem fodomb 3615
Description: Equivalence of an onto mapping and dominance for a non-empty set. Proposition 10.35 of [TakeutiZaring] p. 93.
Hypotheses
Ref Expression
fodomb.1 AV
fodomb.2 BV
Assertion
Ref Expression
fodomb ((¬ A = ∅ ∧ ∃f f:AontoB) ↔ (∅ ≺ BBA))
Distinct variable group(s):   A,f   B,f

Proof of Theorem fodomb
StepHypRef Expression
1 fof 2788 . . . . . . . . . . 11 (f:AontoBf:A–→B)
2 fdm 2756 . . . . . . . . . . 11 (f:A–→B → dom f = A)
31, 2syl 12 . . . . . . . . . 10 (f:AontoB → dom f = A)
43cleq1d 1109 . . . . . . . . 9 (f:AontoB → (dom f = ∅ ↔ A = ∅))
5 forn 2789 . . . . . . . . . . 11 (f:AontoB → ran f = B)
65cleq1d 1109 . . . . . . . . . 10 (f:AontoB → (ran f = ∅ ↔ B = ∅))
7 dm0rn0 2549 . . . . . . . . . 10 (dom f = ∅ ↔ ran f = ∅)
86, 7syl5bb 410 . . . . . . . . 9 (f:AontoB → (dom f = ∅ ↔ B = ∅))
94, 8bitr3d 408 . . . . . . . 8 (f:AontoB → (A = ∅ ↔ B = ∅))
109negbid 463 . . . . . . 7 (f:AontoB → (¬ A = ∅ ↔ ¬ B = ∅))
1110biimpcd 137 . . . . . 6 A = ∅ → (f:AontoB → ¬ B = ∅))
12 fodomb.2 . . . . . . 7 BV
13120sdom 3368 . . . . . 6 (∅ ≺ B ↔ ¬ B = ∅)
1411, 13syl6ibr 186 . . . . 5 A = ∅ → (f:AontoB → ∅ ≺ B))
15 fodomb.1 . . . . . . 7 AV
1615fodom 3613 . . . . . 6 (f:AontoBBA)
1716a1i 7 . . . . 5 A = ∅ → (f:AontoBBA))
1814, 17jcad 455 . . . 4 A = ∅ → (f:AontoB → (∅ ≺ BBA)))
191819.23adv 954 . . 3 A = ∅ → (∃f f:AontoB → (∅ ≺ BBA)))
2019imp 277 . 2 ((¬ A = ∅ ∧ ∃f f:AontoB) → (∅ ≺ BBA))
21 sdomdomtr 3370 . . . . 5 (AV → ((∅ ≺ BBA) → ∅ ≺ A))
2215, 21ax-mp 6 . . . 4 ((∅ ≺ BBA) → ∅ ≺ A)
23150sdom 3368 . . . 4 (∅ ≺ A ↔ ¬ A = ∅)
2422, 23sylib 173 . . 3 ((∅ ≺ BBA) → ¬ A = ∅)
25 df-f1 2435 . . . . . . . . . . . . . . . . 17 (g:B1-1A ↔ (g:B–→A ∧ Fun g))
2625pm3.27bd 263 . . . . . . . . . . . . . . . 16 (g:B1-1A → Fun g)
27 visset 1350 . . . . . . . . . . . . . . . . . 18 zV
2827fconst 2774 . . . . . . . . . . . . . . . . 17 ((A ∖ ran g) × {z}):(A ∖ ran g)–→{z}
29 ffun 2754 . . . . . . . . . . . . . . . . 17 (((A ∖ ran g) × {z}):(A ∖ ran g)–→{z} → Fun ((A ∖ ran g) × {z}))
3028, 29ax-mp 6 . . . . . . . . . . . . . . . 16 Fun ((A ∖ ran g) × {z})
3126, 30jctir 241 . . . . . . . . . . . . . . 15 (g:B1-1A → (Fun g ∧ Fun ((A ∖ ran g) × {z})))
32 df-rn 2429 . . . . . . . . . . . . . . . . . . 19 ran g = dom g
3332cleqcomi 1105 . . . . . . . . . . . . . . . . . 18 dom g = ran g
3427snnz 1846 . . . . . . . . . . . . . . . . . . 19 ¬ {z} = ∅
35 dmxp 2552 . . . . . . . . . . . . . . . . . . 19 (¬ {z} = ∅ → dom ((A ∖ ran g) × {z}) = (A ∖ ran g))
3634, 35ax-mp 6 . . . . . . . . . . . . . . . . . 18 dom ((A ∖ ran g) × {z}) = (A ∖ ran g)
3733, 36ineq12i 1643 . . . . . . . . . . . . . . . . 17 (dom g ∩ dom ((A ∖ ran g) × {z})) = (ran g ∩ (A ∖ ran g))
38 difdisj 1758 . . . . . . . . . . . . . . . . 17 (ran g ∩ (A ∖ ran g)) = ∅
3937, 38eqtr 1119 . . . . . . . . . . . . . . . 16 (dom g ∩ dom ((A ∖ ran g) × {z})) = ∅
40 funun 2700 . . . . . . . . . . . . . . . 16 (((Fun g ∧ Fun ((A ∖ ran g) × {z})) ∧ (dom g ∩ dom ((A ∖ ran g) × {z})) = ∅) → Fun (g ∪ ((A ∖ ran g) × {z})))
4139, 40mpan2 519 . . . . . . . . . . . . . . 15 ((Fun g ∧ Fun ((A ∖ ran g) × {z})) → Fun (g ∪ ((A ∖ ran g) × {z})))
4231, 41syl 12 . . . . . . . . . . . . . 14 (g:B1-1A → Fun (g ∪ ((A ∖ ran g) × {z})))
4342adantl 305 . . . . . . . . . . . . 13 ((zBg:B1-1A) → Fun (g ∪ ((A ∖ ran g) × {z})))
44 f1f 2781 . . . . . . . . . . . . . . . . 17 (g:B1-1Ag:B–→A)
45 frn 2757 . . . . . . . . . . . . . . . . 17 (g:B–→A → ran gA)
4644, 45syl 12 . . . . . . . . . . . . . . . 16 (g:B1-1A → ran gA)
47 ssundif 1764 . . . . . . . . . . . . . . . 16 (ran gA ↔ (ran g ∪ (A ∖ ran g)) = A)
4846, 47sylib 173 . . . . . . . . . . . . . . 15 (g:B1-1A → (ran g ∪ (A ∖ ran g)) = A)
49 dmun 2536 . . . . . . . . . . . . . . . 16 dom (g ∪ ((A ∖ ran g) × {z})) = (dom g ∪ dom ((A ∖ ran g) × {z}))
5032uneq1i 1607 . . . . . . . . . . . . . . . . 17 (ran g ∪ dom ((A ∖ ran g) × {z})) = (dom g ∪ dom ((A ∖ ran g) × {z}))
5136uneq2i 1608 . . . . . . . . . . . . . . . . 17 (ran g ∪ dom ((A ∖ ran g) × {z})) = (ran g ∪ (A ∖ ran g))
5250, 51eqtr3 1121 . . . . . . . . . . . . . . . 16 (dom g ∪ dom ((A ∖ ran g) × {z})) = (ran g ∪ (A ∖ ran g))
5349, 52eqtr 1119 . . . . . . . . . . . . . . 15 dom (g ∪ ((A ∖ ran g) × {z})) = (ran g ∪ (A ∖ ran g))
5448, 53syl5eq 1136 . . . . . . . . . . . . . 14 (g:B1-1A → dom (g ∪ ((A ∖ ran g) × {z})) = A)
5554adantl 305 . . . . . . . . . . . . 13 ((zBg:B1-1A) → dom (g ∪ ((A ∖ ran g) × {z})) = A)
5643, 55jca 236 . . . . . . . . . . . 12 ((zBg:B1-1A) → (Fun (g ∪ ((A ∖ ran g) × {z})) ∧ dom (g ∪ ((A ∖ ran g) × {z})) = A))
57 df-fn 2433 . . . . . . . . . . . 12 ((g ∪ ((A ∖ ran g) × {z})) Fn A ↔ (Fun (g ∪ ((A ∖ ran g) × {z})) ∧ dom (g ∪ ((A ∖ ran g) × {z})) = A))
5856, 57sylibr 175 . . . . . . . . . . 11 ((zBg:B1-1A) → (g ∪ ((A ∖ ran g) × {z})) Fn A)
59 fdm 2756 . . . . . . . . . . . . . . . . 17 (g:B–→A → dom g = B)
6044, 59syl 12 . . . . . . . . . . . . . . . 16 (g:B1-1A → dom g = B)
61 dfdm4 2525 . . . . . . . . . . . . . . . 16 dom g = ran g
6260, 61syl5eqr 1138 . . . . . . . . . . . . . . 15 (g:B1-1A → ran g = B)
6362uneq1d 1610 . . . . . . . . . . . . . 14 (g:B1-1A → (ran g ∪ ran ((A ∖ ran g) × {z})) = (B ∪ ran ((A ∖ ran g) × {z})))
6463adantl 305 . . . . . . . . . . . . 13 ((zBg:B1-1A) → (ran g ∪ ran ((A ∖ ran g) × {z})) = (B ∪ ran ((A ∖ ran g) × {z})))
65 0ss 1725 . . . . . . . . . . . . . . . . . 18 ∅ ⊆ B
66 xpeq1 2440 . . . . . . . . . . . . . . . . . . . . . 22 ((A ∖ ran g) = ∅ → ((A ∖ ran g) × {z}) = (∅ × {z}))
67 xp0r 2474 . . . . . . . . . . . . . . . . . . . . . 22 (∅ × {z}) = ∅
6866, 67syl6eq 1140 . . . . . . . . . . . . . . . . . . . . 21 ((A ∖ ran g) = ∅ → ((A ∖ ran g) × {z}) = ∅)
6968rneqd 2557 . . . . . . . . . . . . . . . . . . . 20 ((A ∖ ran g) = ∅ → ran ((A ∖ ran g) × {z}) = ran ∅)
70 rn0 2567 . . . . . . . . . . . . . . . . . . . 20 ran ∅ = ∅
7169, 70syl6eq 1140 . . . . . . . . . . . . . . . . . . 19 ((A ∖ ran g) = ∅ → ran ((A ∖ ran g) × {z}) = ∅)
7271sseq1d 1527 . . . . . . . . . . . . . . . . . 18 ((A ∖ ran g) = ∅ → (ran ((A ∖ ran g) × {z}) ⊆ B ↔ ∅ ⊆ B))
7365, 72mpbiri 169 . . . . . . . . . . . . . . . . 17 ((A ∖ ran g) = ∅ → ran ((A ∖ ran g) × {z}) ⊆ B)
7473a1d 14 . . . . . . . . . . . . . . . 16 ((A ∖ ran g) = ∅ → (zB → ran ((A ∖ ran g) × {z}) ⊆ B))
75 rnxp 2657 . . . . . . . . . . . . . . . . . . 19 (¬ (A ∖ ran g) = ∅ → ran ((A ∖ ran g) × {z}) = {z})
7675adantr 306 . . . . . . . . . . . . . . . . . 18 ((¬ (A ∖ ran g) = ∅ ∧ zB) → ran ((A ∖ ran g) × {z}) = {z})
77 snssi 1851 . . . . . . . . . . . . . . . . . . 19 (zB → {z} ⊆ B)
7877adantl 305 . . . . . . . . . . . . . . . . . 18 ((¬ (A ∖ ran g) = ∅ ∧ zB) → {z} ⊆ B)
7976, 78eqsstrd 1534 . . . . . . . . . . . . . . . . 17 ((¬ (A ∖ ran g) = ∅ ∧ zB) → ran ((A ∖ ran g) × {z}) ⊆ B)
8079exp 291 . . . . . . . . . . . . . . . 16 (¬ (A ∖ ran g) = ∅ → (zB → ran ((A ∖ ran g) × {z}) ⊆ B))
8174, 80pm2.61i 110 . . . . . . . . . . . . . . 15 (zB → ran ((A ∖ ran g) × {z}) ⊆ B)
82 ssequn2 1631 . . . . . . . . . . . . . . 15 (ran ((A ∖ ran g) × {z}) ⊆ B ↔ (B ∪ ran ((A ∖ ran g) × {z})) = B)
8381, 82sylib 173 . . . . . . . . . . . . . 14 (zB → (B ∪ ran ((A ∖ ran g) × {z})) = B)
8483adantr 306 . . . . . . . . . . . . 13 ((zBg:B1-1A) → (B ∪ ran ((A ∖ ran g) × {z})) = B)
8564, 84eqtrd 1128 . . . . . . . . . . . 12 ((zBg:B1-1A) → (ran g ∪ ran ((A ∖ ran g) × {z})) = B)
86 rnun 2644 . . . . . . . . . . . 12 ran (g ∪ ((A ∖ ran g) × {z})) = (ran g ∪ ran ((A ∖ ran g) × {z}))
8785, 86syl5eq 1136 . . . . . . . . . . 11 ((zBg:B1-1A) → ran (g ∪ ((A ∖ ran g) × {z})) = B)
8858, 87jca 236 . . . . . . . . . 10 ((zBg:B1-1A) → ((g ∪ ((A ∖ ran g) × {z})) Fn A ∧ ran (g ∪ ((A ∖ ran g) × {z})) = B))
89 df-fo 2436 . . . . . . . . . 10 ((g ∪ ((A ∖ ran g) × {z})):AontoB ↔ ((g ∪ ((A ∖ ran g) × {z})) Fn A ∧ ran (g ∪ ((A ∖ ran g) × {z})) = B))
9088, 89sylibr 175 . . . . . . . . 9 ((zBg:B1-1A) → (g ∪ ((A ∖ ran g) × {z})):AontoB)
91 visset 1350 . . . . . . . . . . . 12 gV
9291cnvex 2670 . . . . . . . . . . 11 gV
93 difexg 1703 . . . . . . . . . . . . 13 (AV → (A ∖ ran g) ∈ V)
9415, 93ax-mp 6 . . . . . . . . . . . 12 (A ∖ ran g) ∈ V
95 snex 1859 . . . . . . . . . . . 12 {z} ∈ V
9694, 95xpex 2488 . . . . . . . . . . 11 ((A ∖ ran g) × {z}) ∈ V
9792, 96unex 1949 . . . . . . . . . 10 (g ∪ ((A ∖ ran g) × {z})) ∈ V
98 foeq1 2784 . . . . . . . . . 10 (f = (g ∪ ((A ∖ ran g) × {z})) → (f:AontoB ↔ (g ∪ ((A ∖ ran g) × {z})):AontoB))
9997, 98cla4ev 1401 . . . . . . . . 9 ((g ∪ ((A ∖ ran g) × {z})):AontoB → ∃f f:AontoB)
10090, 99syl 12 . . . . . . . 8 ((zBg:B1-1A) → ∃f f:AontoB)
101100exp 291 . . . . . . 7 (zB → (g:B1-1A → ∃f f:AontoB))
10210119.23adv 954 . . . . . 6 (zB → (∃g g:B1-1A → ∃f f:AontoB))
10310219.23aiv 952 . . . . 5 (∃z zB → (∃g g:B1-1A → ∃f f:AontoB))
104103imp 277 . . . 4 ((∃z zB ∧ ∃g g:B1-1A) → ∃f f:AontoB)
105 n0 1714 . . . . 5 B = ∅ ↔ ∃z zB)
10613, 105bitr 151 . . . 4 (∅ ≺ B ↔ ∃z zB)
10715brdom 3283 . . . 4 (BA ↔ ∃g g:B1-1A)
108104, 106, 107syl2anb 350 . . 3 ((∅ ≺ BBA) → ∃f f:AontoB)
10924, 108jca 236 . 2 ((∅ ≺ BBA) → (¬ A = ∅ ∧ ∃f f:AontoB))
11020, 109impbi 139 1 ((¬ A = ∅ ∧ ∃f f:AontoB) ↔ (∅ ≺ BBA))
Colors of variables: wff set class
Syntax hints:  ¬ wn 1   → wi 2   ↔ wb 127   ∧ wa 196  ∃wex 678   = wceq 1091   ∈ wcel 1092  Vcvv 1348   ∖ cdif 1484   ∪ cun 1485   ∩ cin 1486   ⊆ wss 1487  ∅c0 1707  {csn 1808   class class class wbr 2054   × cxp 2408  ccnv 2409  dom cdm 2410  ran crn 2411  Fun wfun 2416   Fn wfn 2417  –→wf 2418  –1-1wf1 2419  –ontowfo 2420   ≼ cdom 3272   ≺ csdm 3273
This theorem was proved from axioms:  ax-1 3  ax-2 4  ax-3 5  ax-mp 6  ax-4 673  ax-5 674  ax-6 675  ax-7 676  ax-gen 677  ax-8 798  ax-9 799  ax-10 800  ax-11 801  ax-12 802  ax-13 804  ax-14 805  ax-16 922  ax-17 925  ax-ext 1074  ax-rep 1075  ax-un 1076  ax-pow 1077  ax-reg 1078  ax-ac 1080
This theorem depends on definitions:  df-bi 128  df-or 197  df-an 198  df-3an 583  df-ex 679  df-sb 853  df-eu 1009  df-mo 1010  df-clab 1093  df-cleq 1097  df-clel 1099  df-ral 1205  df-rex 1206  df-reu 1207  df-rab 1208  df-v 1349  df-dif 1489  df-un 1490  df-in 1491  df-ss 1492  df-nul 1708  df-pw 1799  df-sn 1811  df-pr 1812  df-op 1815  df-uni 1920  df-br 2063  df-opab 2098  df-eprel 2122  df-id 2125  df-fr 2169  df-xp 2424  df-rel 2425  df-cnv 2426  df-co 2427  df-dm 2428  df-rn 2429  df-res 2430  df-ima 2431  df-fun 2432  df-fn 2433  df-f 2434  df-f1 2435  df-fo 2436  df-f1o 2437  df-fv 2438  df-er 3200  df-en 3274  df-dom 3275  df-sdom 3276
metamath.org