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

Theorem fodomfi 4546
Description: An onto function implies dominance of domain over range, for finite sets. Unlike fodom 4778 for arbitrary sets, this theorem does not require the Axiom of Choice for its proof.
Assertion
Ref Expression
fodomfi ((∃n ∈ ω AnF:AontoB) → BA)
Distinct variable group:   A,n

Proof of Theorem fodomfi
StepHypRef Expression
1 domentr 4408 . . . . . 6 ((BmmA) → BA)
2 fex 3643 . . . . . . . . . 10 ((F:A–→BAV) → FV)
32ancoms 436 . . . . . . . . 9 ((AVF:A–→B) → FV)
4 relen 4360 . . . . . . . . . 10 Rel ≈
54brrelexi 3203 . . . . . . . . 9 (AmAV)
6 fof 3663 . . . . . . . . 9 (F:AontoBF:A–→B)
73, 5, 6syl2an 454 . . . . . . . 8 ((AmF:AontoB) → FV)
87adantl 388 . . . . . . 7 ((m ∈ ω ⋀ (AmF:AontoB)) → FV)
9 visset 1809 . . . . . . . . . . . . . 14 gV
10 coexg 3516 . . . . . . . . . . . . . 14 ((FVgV) → (Fg) ∈ V)
119, 10mpan2 695 . . . . . . . . . . . . 13 (FV → (Fg) ∈ V)
12 foeq1 3659 . . . . . . . . . . . . . 14 (f = (Fg) → (f:montoB ↔ (Fg):montoB))
1312cla4egv 1859 . . . . . . . . . . . . 13 ((Fg) ∈ V → ((Fg):montoB → ∃f f:montoB))
1411, 13syl 10 . . . . . . . . . . . 12 (FV → ((Fg):montoB → ∃f f:montoB))
15 visset 1809 . . . . . . . . . . . . . . . 16 mV
16 fornex 3670 . . . . . . . . . . . . . . . 16 (mV → (f:montoBBV))
1715, 16ax-mp 7 . . . . . . . . . . . . . . 15 (f:montoBBV)
181719.23aiv 1293 . . . . . . . . . . . . . 14 (∃f f:montoBBV)
19 foeq3 3661 . . . . . . . . . . . . . . . . . 18 (x = B → (f:montoxf:montoB))
2019exbidv 1277 . . . . . . . . . . . . . . . . 17 (x = B → (∃f f:montox ↔ ∃f f:montoB))
21 breq1 2617 . . . . . . . . . . . . . . . . 17 (x = B → (xmBm))
2220, 21imbi12d 625 . . . . . . . . . . . . . . . 16 (x = B → ((∃f f:montoxxm) ↔ (∃f f:montoBBm)))
2322cla4gv 1858 . . . . . . . . . . . . . . 15 (BV → (∀x(∃f f:montoxxm) → (∃f f:montoBBm)))
24 foeq2 3660 . . . . . . . . . . . . . . . . . . 19 (m = ∅ → (f:montoxf:∅–ontox))
2524exbidv 1277 . . . . . . . . . . . . . . . . . 18 (m = ∅ → (∃f f:montox ↔ ∃f f:∅–ontox))
26 breq2 2618 . . . . . . . . . . . . . . . . . 18 (m = ∅ → (xmx ≼ ∅))
2725, 26imbi12d 625 . . . . . . . . . . . . . . . . 17 (m = ∅ → ((∃f f:montoxxm) ↔ (∃f f:∅–ontoxx ≼ ∅)))
2827albidv 1276 . . . . . . . . . . . . . . . 16 (m = ∅ → (∀x(∃f f:montoxxm) ↔ ∀x(∃f f:∅–ontoxx ≼ ∅)))
29 foeq2 3660 . . . . . . . . . . . . . . . . . . 19 (m = k → (f:montoxf:kontox))
3029exbidv 1277 . . . . . . . . . . . . . . . . . 18 (m = k → (∃f f:montox ↔ ∃f f:kontox))
31 breq2 2618 . . . . . . . . . . . . . . . . . 18 (m = k → (xmxk))
3230, 31imbi12d 625 . . . . . . . . . . . . . . . . 17 (m = k → ((∃f f:montoxxm) ↔ (∃f f:kontoxxk)))
3332albidv 1276 . . . . . . . . . . . . . . . 16 (m = k → (∀x(∃f f:montoxxm) ↔ ∀x(∃f f:kontoxxk)))
34 foeq2 3660 . . . . . . . . . . . . . . . . . . 19 (m = suc k → (f:montoxf:suc kontox))
3534exbidv 1277 . . . . . . . . . . . . . . . . . 18 (m = suc k → (∃f f:montox ↔ ∃f f:suc kontox))
36 breq2 2618 . . . . . . . . . . . . . . . . . 18 (m = suc k → (xmx ≼ suc k))
3735, 36imbi12d 625 . . . . . . . . . . . . . . . . 17 (m = suc k → ((∃f f:montoxxm) ↔ (∃f f:suc kontoxx ≼ suc k)))
3837albidv 1276 . . . . . . . . . . . . . . . 16 (m = suc k → (∀x(∃f f:montoxxm) ↔ ∀x(∃f f:suc kontoxx ≼ suc k)))
39 fo00 3706 . . . . . . . . . . . . . . . . . . . 20 (f:∅–ontox ↔ (f = ∅ ⋀ x = ∅))
4039pm3.27bi 326 . . . . . . . . . . . . . . . . . . 19 (f:∅–ontoxx = ∅)
41 0dom 4450 . . . . . . . . . . . . . . . . . . 19 ∅ ≼ ∅
4240, 41syl6eqbr 2647 . . . . . . . . . . . . . . . . . 18 (f:∅–ontoxx ≼ ∅)
434219.23aiv 1293 . . . . . . . . . . . . . . . . 17 (∃f f:∅–ontoxx ≼ ∅)
4443ax-gen 961 . . . . . . . . . . . . . . . 16 x(∃f f:∅–ontoxx ≼ ∅)
45 fof 3663 . . . . . . . . . . . . . . . . . . . . . . . . . . 27 (f:suc kontoxf:suc k–→x)
46 ffn 3619 . . . . . . . . . . . . . . . . . . . . . . . . . . 27 (f:suc k–→xf Fn suc k)
47 visset 1809 . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29 kV
4847sucid 3046 . . . . . . . . . . . . . . . . . . . . . . . . . . . 28 k ∈ suc k
49 fnsnfv 3758 . . . . . . . . . . . . . . . . . . . . . . . . . . . 28 ((f Fn suc kk ∈ suc k) → {(fk)} = (f “ {k}))
5048, 49mpan2 695 . . . . . . . . . . . . . . . . . . . . . . . . . . 27 (f Fn suc k → {(fk)} = (f “ {k}))
5145, 46, 503syl 20 . . . . . . . . . . . . . . . . . . . . . . . . . 26 (f:suc kontox → {(fk)} = (f “ {k}))
5251uneq2d 2180 . . . . . . . . . . . . . . . . . . . . . . . . 25 (f:suc kontox → ((fk) ∪ {(fk)}) = ((fk) ∪ (f “ {k})))
53 foima 3667 . . . . . . . . . . . . . . . . . . . . . . . . . 26 (f:suc kontox → (f “ suc k) = x)
54 df-suc 2949 . . . . . . . . . . . . . . . . . . . . . . . . . . . 28 suc k = (k ∪ {k})
55 imaeq2 3394 . . . . . . . . . . . . . . . . . . . . . . . . . . . 28 (suc k = (k ∪ {k}) → (f “ suc k) = (f “ (k ∪ {k})))
5654, 55ax-mp 7 . . . . . . . . . . . . . . . . . . . . . . . . . . 27 (f “ suc k) = (f “ (k ∪ {k}))
57 imaun 3452 . . . . . . . . . . . . . . . . . . . . . . . . . . 27 (f “ (k ∪ {k})) = ((fk) ∪ (f “ {k}))
5856, 57eqtr2 1493 . . . . . . . . . . . . . . . . . . . . . . . . . 26 ((fk) ∪ (f “ {k})) = (f “ suc k)
5953, 58syl5eq 1516 . . . . . . . . . . . . . . . . . . . . . . . . 25 (f:suc kontox → ((fk) ∪ (f “ {k})) = x)
6052, 59eqtrd 1504 . . . . . . . . . . . . . . . . . . . . . . . 24 (f:suc kontox → ((fk) ∪ {(fk)}) = x)
6160adantl 388 . . . . . . . . . . . . . . . . . . . . . . 23 (((k ∈ ω ⋀ ∀y(∃g g:kontoyyk)) ⋀ f:suc kontox) → ((fk) ∪ {(fk)}) = x)
62 snex 2745 . . . . . . . . . . . . . . . . . . . . . . . . 25 {(fk)} ∈ V
63 snex 2745 . . . . . . . . . . . . . . . . . . . . . . . . 25 {k} ∈ V
6447, 62, 63undom 4424 . . . . . . . . . . . . . . . . . . . . . . . 24 ((((fk) ≼ k ⋀ {(fk)} ≼ {k}) ⋀ (k ∩ {k}) = ∅) → ((fk) ∪ {(fk)}) ≼ (k ∪ {k}))
65 visset 1809 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30 fV
66 imaexg 3408 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30 (fV → (fk) ∈ V)
6765, 66ax-mp 7 . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29 (fk) ∈ V
68 foeq3 3661 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31 (y = (fk) → (g:kontoyg:konto→(fk)))
6968exbidv 1277 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30 (y = (fk) → (∃g g:kontoy ↔ ∃g g:konto→(fk)))
70 breq1 2617 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30 (y = (fk) → (yk ↔ (fk) ≼ k))
7169, 70imbi12d 625 . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29 (y = (fk) → ((∃g g:kontoyyk) ↔ (∃g g:konto→(fk) → (fk) ≼ k)))
7267, 71cla4v 1864 . . . . . . . . . . . . . . . . . . . . . . . . . . . 28 (∀y(∃g g:kontoyyk) → (∃g g:konto→(fk) → (fk) ≼ k))
7372imp 350 . . . . . . . . . . . . . . . . . . . . . . . . . . 27 ((∀y(∃g g:kontoyyk) ⋀ ∃g g:konto→(fk)) → (fk) ≼ k)
74 fores 3672 . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29 ((Fun fk ⊆ dom f) → (fk):konto→(fk))
75 fofun 3664 . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29 (f:suc kontox → Fun f)
76 sssucid 3042 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31 k ⊆ suc k
77 fdm 3623 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32 (f:suc k–→x → dom f = suc k)
7877sseq2d 2085 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31 (f:suc k–→x → (k ⊆ dom fk ⊆ suc k))
7976, 78mpbiri 194 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30 (f:suc k–→xk ⊆ dom f)
8045, 79syl 10 . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29 (f:suc kontoxk ⊆ dom f)
8174, 75, 80sylanc 471 . . . . . . . . . . . . . . . . . . . . . . . . . . . 28 (f:suc kontox → (fk):konto→(fk))
82 resexg 3386 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30 (fV → (fk) ∈ V)
8365, 82ax-mp 7 . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29 (fk) ∈ V
84 foeq1 3659 . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29 (g = (fk) → (g:konto→(fk) ↔ (fk):konto→(fk)))
8583, 84cla4ev 1865 . . . . . . . . . . . . . . . . . . . . . . . . . . . 28 ((fk):konto→(fk) → ∃g g:konto→(fk))
8681, 85syl 10 . . . . . . . . . . . . . . . . . . . . . . . . . . 27 (f:suc kontox → ∃g g:konto→(fk))
8773, 86sylan2 451 . . . . . . . . . . . . . . . . . . . . . . . . . 26 ((∀y(∃g g:kontoyyk) ⋀ f:suc kontox) → (fk) ≼ k)
8887adantll 392 . . . . . . . . . . . . . . . . . . . . . . . . 25 (((k ∈ ω ⋀ ∀y(∃g g:kontoyyk)) ⋀ f:suc kontox) → (fk) ≼ k)
89 fvex 3723 . . . . . . . . . . . . . . . . . . . . . . . . . . 27 (fk) ∈ V
90 en2sn 4418 . . . . . . . . . . . . . . . . . . . . . . . . . . 27 (((fk) ∈ VkV) → {(fk)} ≈ {k})
9189, 47, 90mp2an 696 . . . . . . . . . . . . . . . . . . . . . . . . . 26 {(fk)} ≈ {k}
92 endom 4372 . . . . . . . . . . . . . . . . . . . . . . . . . 26 ({(fk)} ≈ {k} → {(fk)} ≼ {k})
9391, 92ax-mp 7 . . . . . . . . . . . . . . . . . . . . . . . . 25 {(fk)} ≼ {k}
9488, 93jctir 293 . . . . . . . . . . . . . . . . . . . . . . . 24 (((k ∈ ω ⋀ ∀y(∃g g:kontoyyk)) ⋀ f:suc kontox) → ((fk) ≼ k ⋀ {(fk)} ≼ {k}))
95 nnord 3135 . . . . . . . . . . . . . . . . . . . . . . . . . 26 (k ∈ ω → Ord k)
96 orddisj 2980 . . . . . . . . . . . . . . . . . . . . . . . . . 26 (Ord k → (k ∩ {k}) = ∅)
9795, 96syl 10 . . . . . . . . . . . . . . . . . . . . . . . . 25 (k ∈ ω → (k ∩ {k}) = ∅)
9897ad2antrr 404 . . . . . . . . . . . . . . . . . . . . . . . 24 (((k ∈ ω ⋀ ∀y(∃g g:kontoyyk)) ⋀ f:suc kontox) → (k ∩ {k}) = ∅)
9964, 94, 98sylanc 471 . . . . . . . . . . . . . . . . . . . . . . 23 (((k ∈ ω ⋀ ∀y(∃g g:kontoyyk)) ⋀ f:suc kontox) → ((fk) ∪ {(fk)}) ≼ (k ∪ {k}))
10061, 99eqbrtrrd 2632 . . . . . . . . . . . . . . . . . . . . . 22 (((k ∈ ω ⋀ ∀y(∃g g:kontoyyk)) ⋀ f:suc kontox) → x ≼ (k ∪ {k}))
101100, 54syl6breqr 2650 . . . . . . . . . . . . . . . . . . . . 21 (((k ∈ ω ⋀ ∀y(∃g g:kontoyyk)) ⋀ f:suc kontox) → x ≼ suc k)
102101ex 373 . . . . . . . . . . . . . . . . . . . 20 ((k ∈ ω ⋀ ∀y(∃g g:kontoyyk)) → (f:suc kontoxx ≼ suc k))
10310219.23adv 1212 . . . . . . . . . . . . . . . . . . 19 ((k ∈ ω ⋀ ∀y(∃g g:kontoyyk)) → (∃f f:suc kontoxx ≼ suc k))
104103ex 373 . . . . . . . . . . . . . . . . . 18 (k ∈ ω → (∀y(∃g g:kontoyyk) → (∃f f:suc kontoxx ≼ suc k)))
10510419.21adv 1286 . . . . . . . . . . . . . . . . 17 (k ∈ ω → (∀y(∃g g:kontoyyk) → ∀x(∃f f:suc kontoxx ≼ suc k)))
106 foeq3 3661 . . . . . . . . . . . . . . . . . . . . 21 (x = y → (f:kontoxf:kontoy))
107106exbidv 1277 . . . . . . . . . . . . . . . . . . . 20 (x = y → (∃f f:kontox ↔ ∃f f:kontoy))
108 foeq1 3659 . . . . . . . . . . . . . . . . . . . . 21 (f = g → (f:kontoyg:kontoy))
109108cbvexv 1313 . . . . . . . . . . . . . . . . . . . 20 (∃f f:kontoy ↔ ∃g g:kontoy)
110107, 109syl6bb 535 . . . . . . . . . . . . . . . . . . 19 (x = y → (∃f f:kontox ↔ ∃g g:kontoy))
111 breq1 2617 . . . . . . . . . . . . . . . . . . 19 (x = y → (xkyk))
112110, 111imbi12d 625 . . . . . . . . . . . . . . . . . 18 (x = y → ((∃f f:kontoxxk) ↔ (∃g g:kontoyyk)))
113112cbvalv 1312 . . . . . . . . . . . . . . . . 17 (∀x(∃f f:kontoxxk) ↔ ∀y(∃g g:kontoyyk))
114105, 113syl5ib 206 . . . . . . . . . . . . . . . 16 (k ∈ ω → (∀x(∃f f:kontoxxk) → ∀x(∃f f:suc kontoxx ≼ suc k)))
11528, 33, 38, 44, 114finds1 3154 . . . . . . . . . . . . . . 15 (m ∈ ω → ∀x(∃f f:montoxxm))
11623, 115syl5 21 . . . . . . . . . . . . . 14 (BV → (m ∈ ω → (∃f f:montoBBm)))
11718, 116syl 10 . . . . . . . . . . . . 13 (∃f f:montoB → (m ∈ ω → (∃f f:montoBBm)))
118117pm2.43b 67 . . . . . . . . . . . 12 (m ∈ ω → (∃f f:montoBBm))
11914, 118sylan9 468 . . . . . . . . . . 11 ((FVm ∈ ω) → ((Fg):montoBBm))
12011919.23adv 1212 . . . . . . . . . 10 ((FVm ∈ ω) → (∃g(Fg):montoBBm))
121 19.42v 1306 . . . . . . . . . . . . 13 (∃g(F:AontoBg:montoA) ↔ (F:AontoB ⋀ ∃g g:montoA))
122 foco 3673 . . . . . . . . . . . . . 14 ((F:AontoBg:montoA) → (Fg):montoB)
12312219.22i 1038 . . . . . . . . . . . . 13 (∃g(F:AontoBg:montoA) → ∃g(Fg):montoB)
124121, 123sylbir 201 . . . . . . . . . . . 12 ((F:AontoB ⋀ ∃g g:montoA) → ∃g(Fg):montoB)
12515bren 4365 . . . . . . . . . . . . 13 (Am ↔ ∃f f:A1-1-ontom)
126 f1ocnv 3692 . . . . . . . . . . . . . . 15 (f:A1-1-ontomf:m1-1-ontoA)
127 f1ofo 3686 . . . . . . . . . . . . . . 15 (f:m1-1-ontoAf:montoA)
12865cnvex 3512 . . . . . . . . . . . . . . . 16 fV
129 foeq1 3659 . . . . . . . . . . . . . . . 16 (g = f → (g:montoAf:montoA))
130128, 129cla4ev 1865 . . . . . . . . . . . . . . 15 (f:montoA → ∃g g:montoA)
131126, 127, 1303syl 20 . . . . . . . . . . . . . 14 (f:A1-1-ontom → ∃g g:montoA)
13213119.23aiv 1293 . . . . . . . . . . . . 13 (∃f f:A1-1-ontom → ∃g g:montoA)
133125, 132sylbi 199 . . . . . . . . . . . 12 (Am → ∃g g:montoA)
134124, 133sylan2 451 . . . . . . . . . . 11 ((F:AontoBAm) → ∃g(Fg):montoB)
135134ancoms 436 . . . . . . . . . 10 ((AmF:AontoB) → ∃g(Fg):montoB)
136120, 135syl5 21 . . . . . . . . 9 ((FVm ∈ ω) → ((AmF:AontoB) → Bm))
137136imp 350 . . . . . . . 8 (((FVm ∈ ω) ⋀ (AmF:AontoB)) → Bm)
138137anasss 440 . . . . . . 7 ((FV ⋀ (m ∈ ω ⋀ (AmF:AontoB))) → Bm)
1398, 138mpancom 704 . . . . . 6 ((m ∈ ω ⋀ (AmF:AontoB)) → Bm)
14015ensym 4399 . . . . . . 7 (AmmA)
141140ad2antrl 406 . . . . . 6 ((m ∈ ω ⋀ (AmF:AontoB)) → mA)
1421, 139, 141sylanc 471 . . . . 5 ((m ∈ ω ⋀ (AmF:AontoB)) → BA)
143142exp32 377 . . . 4 (m ∈ ω → (Am → (F:AontoBBA)))
144143r19.23aiv 1740 . . 3 (∃m ∈ ω Am → (F:AontoBBA))
145144imp 350 . 2 ((∃m ∈ ω AmF:AontoB) → BA)
146 breq2 2618 . . 3 (n = m → (AnAm))
147146cbvrexv 1797 . 2 (∃n ∈ ω An ↔ ∃m ∈ ω Am)
148145, 147sylanb 449 1 ((∃n ∈ ω AnF:AontoB) → BA)
Colors of variables: wff set class
Syntax hints:   → wi 3   ⋀ wa 223  ∀wal 952   = wceq 954   ∈ wcel 956  ∃wex 978  ∃wrex 1643  Vcvv 1807   ∪ cun 2041   ∩ cin 2042   ⊆ wss 2043  ∅c0 2276  {csn 2405   class class class wbr 2614  Ord word 2942  suc csuc 2945  ωcom 3126  ccnv 3164  dom cdm 3165   ↾ cres 3167   “ cima 3168   ∘ ccom 3169  Fun wfun 3171   Fn wfn 3172  –→wf 3173  –ontowfo 3175  –1-1-ontowf1o 3176   ‘cfv 3177   ≈ cen 4354   ≼ cdom 4355
This theorem is referenced by:  fodomfib 4547  fofi 4548  iunfi 4549  pwfilem 4550
This theorem was proved from axioms:  ax-1 4  ax-2 5  ax-3 6  ax-mp 7  ax-7 960  ax-gen 961  ax-8 962  ax-9 963  ax-10 964  ax-11 965  ax-12 966  ax-13 967  ax-14 968  ax-17 969  ax-4 971  ax-5o 973  ax-6o 976  ax-9o 1121  ax-10o 1138  ax-16 1208  ax-11o 1216  ax-ext 1457  ax-rep 2688  ax-sep 2698  ax-nul 2705  ax-pow 2737  ax-pr 2774  ax-un 2861
This theorem depends on definitions:  df-bi 147  df-or 224  df-an 225  df-3or 775  df-3an 776  df-ex 979  df-sb 1170  df-eu 1380  df-mo 1381  df-clab 1462  df-cleq 1467  df-clel 1470  df-ne 1584  df-ral 1646  df-rex 1647  df-v 1808  df-dif 2045  df-un 2046  df-in 2047  df-ss 2049  df-nul 2277  df-if 2358  df-pw 2398  df-sn 2408  df-pr 2409  df-tp 2411  df-op 2412  df-uni 2499  df-br 2615  df-opab 2662  df-tr 2676  df-eprel 2827  df-id 2830  df-po 2835  df-so 2845  df-fr 2912  df-we 2929  df-ord 2946  df-on 2947  df-lim 2948  df-suc 2949  df-om 3127  df-xp 3179  df-rel 3180  df-cnv 3181  df-co 3182  df-dm 3183  df-rn 3184  df-res 3185  df-ima 3186  df-fun 3187  df-fn 3188  df-f 3189  df-f1 3190  df-fo 3191  df-f1o 3192  df-fv 3193  df-1o 4123  df-er 4251  df-en 4357  df-dom 4358
Copyright terms: Public domain