Metamath Proof Explorer


Theorem phplem2

Description: Lemma for Pigeonhole Principle. Equinumerosity of successors implies equinumerosity of the original natural numbers. (Contributed by NM, 28-May-1998) (Revised by Mario Carneiro, 24-Jun-2015) Avoid ax-pow . (Revised by BTernaryTau, 4-Nov-2024)

Ref Expression
Hypothesis phplem2.1 ⊢ A ∈ V
Assertion phplem2 ⊢ A ∈ ω ∧ B ∈ ω → suc ⁡ A ≈ suc ⁡ B → A ≈ B

Proof

Step Hyp Ref Expression
1 phplem2.1 ⊢ A ∈ V
2 bren ⊢ suc ⁡ A ≈ suc ⁡ B ↔ ∃ f f : suc ⁡ A ⟶ 1-1 onto suc ⁡ B
3 f1of1 ⊢ f : suc ⁡ A ⟶ 1-1 onto suc ⁡ B → f : suc ⁡ A ⟶ 1-1 suc ⁡ B
4 nnfi ⊢ A ∈ ω → A ∈ Fin
5 sssucid ⊢ A ⊆ suc ⁡ A
6 f1imaenfi ⊢ f : suc ⁡ A ⟶ 1-1 suc ⁡ B ∧ A ⊆ suc ⁡ A ∧ A ∈ Fin → f A ≈ A
7 5 6 mp3an2 ⊢ f : suc ⁡ A ⟶ 1-1 suc ⁡ B ∧ A ∈ Fin → f A ≈ A
8 3 4 7 syl2anr ⊢ A ∈ ω ∧ f : suc ⁡ A ⟶ 1-1 onto suc ⁡ B → f A ≈ A
9 ensymfib ⊢ A ∈ Fin → A ≈ f A ↔ f A ≈ A
10 4 9 syl ⊢ A ∈ ω → A ≈ f A ↔ f A ≈ A
11 10 adantr ⊢ A ∈ ω ∧ f : suc ⁡ A ⟶ 1-1 onto suc ⁡ B → A ≈ f A ↔ f A ≈ A
12 8 11 mpbird ⊢ A ∈ ω ∧ f : suc ⁡ A ⟶ 1-1 onto suc ⁡ B → A ≈ f A
13 nnord ⊢ A ∈ ω → Ord ⁡ A
14 orddif ⊢ Ord ⁡ A → A = suc ⁡ A ∖ A
15 13 14 syl ⊢ A ∈ ω → A = suc ⁡ A ∖ A
16 15 imaeq2d ⊢ A ∈ ω → f A = f suc ⁡ A ∖ A
17 f1ofn ⊢ f : suc ⁡ A ⟶ 1-1 onto suc ⁡ B → f Fn suc ⁡ A
18 1 sucid ⊢ A ∈ suc ⁡ A
19 fnsnfv ⊢ f Fn suc ⁡ A ∧ A ∈ suc ⁡ A → f ⁡ A = f A
20 17 18 19 sylancl ⊢ f : suc ⁡ A ⟶ 1-1 onto suc ⁡ B → f ⁡ A = f A
21 20 difeq2d ⊢ f : suc ⁡ A ⟶ 1-1 onto suc ⁡ B → f suc ⁡ A ∖ f ⁡ A = f suc ⁡ A ∖ f A
22 imadmrn ⊢ f dom ⁡ f = ran ⁡ f
23 22 eqcomi ⊢ ran ⁡ f = f dom ⁡ f
24 f1ofo ⊢ f : suc ⁡ A ⟶ 1-1 onto suc ⁡ B → f : suc ⁡ A ⟶ onto suc ⁡ B
25 forn ⊢ f : suc ⁡ A ⟶ onto suc ⁡ B → ran ⁡ f = suc ⁡ B
26 24 25 syl ⊢ f : suc ⁡ A ⟶ 1-1 onto suc ⁡ B → ran ⁡ f = suc ⁡ B
27 f1odm ⊢ f : suc ⁡ A ⟶ 1-1 onto suc ⁡ B → dom ⁡ f = suc ⁡ A
28 27 imaeq2d ⊢ f : suc ⁡ A ⟶ 1-1 onto suc ⁡ B → f dom ⁡ f = f suc ⁡ A
29 23 26 28 3eqtr3a ⊢ f : suc ⁡ A ⟶ 1-1 onto suc ⁡ B → suc ⁡ B = f suc ⁡ A
30 29 difeq1d ⊢ f : suc ⁡ A ⟶ 1-1 onto suc ⁡ B → suc ⁡ B ∖ f ⁡ A = f suc ⁡ A ∖ f ⁡ A
31 dff1o3 ⊢ f : suc ⁡ A ⟶ 1-1 onto suc ⁡ B ↔ f : suc ⁡ A ⟶ onto suc ⁡ B ∧ Fun ⁡ f -1
32 imadif ⊢ Fun ⁡ f -1 → f suc ⁡ A ∖ A = f suc ⁡ A ∖ f A
33 31 32 simplbiim ⊢ f : suc ⁡ A ⟶ 1-1 onto suc ⁡ B → f suc ⁡ A ∖ A = f suc ⁡ A ∖ f A
34 21 30 33 3eqtr4rd ⊢ f : suc ⁡ A ⟶ 1-1 onto suc ⁡ B → f suc ⁡ A ∖ A = suc ⁡ B ∖ f ⁡ A
35 16 34 sylan9eq ⊢ A ∈ ω ∧ f : suc ⁡ A ⟶ 1-1 onto suc ⁡ B → f A = suc ⁡ B ∖ f ⁡ A
36 12 35 breqtrd ⊢ A ∈ ω ∧ f : suc ⁡ A ⟶ 1-1 onto suc ⁡ B → A ≈ suc ⁡ B ∖ f ⁡ A
37 fnfvelrn ⊢ f Fn suc ⁡ A ∧ A ∈ suc ⁡ A → f ⁡ A ∈ ran ⁡ f
38 17 18 37 sylancl ⊢ f : suc ⁡ A ⟶ 1-1 onto suc ⁡ B → f ⁡ A ∈ ran ⁡ f
39 25 eleq2d ⊢ f : suc ⁡ A ⟶ onto suc ⁡ B → f ⁡ A ∈ ran ⁡ f ↔ f ⁡ A ∈ suc ⁡ B
40 24 39 syl ⊢ f : suc ⁡ A ⟶ 1-1 onto suc ⁡ B → f ⁡ A ∈ ran ⁡ f ↔ f ⁡ A ∈ suc ⁡ B
41 38 40 mpbid ⊢ f : suc ⁡ A ⟶ 1-1 onto suc ⁡ B → f ⁡ A ∈ suc ⁡ B
42 phplem1 ⊢ B ∈ ω ∧ f ⁡ A ∈ suc ⁡ B → B ≈ suc ⁡ B ∖ f ⁡ A
43 41 42 sylan2 ⊢ B ∈ ω ∧ f : suc ⁡ A ⟶ 1-1 onto suc ⁡ B → B ≈ suc ⁡ B ∖ f ⁡ A
44 nnfi ⊢ B ∈ ω → B ∈ Fin
45 ensymfib ⊢ B ∈ Fin → B ≈ suc ⁡ B ∖ f ⁡ A ↔ suc ⁡ B ∖ f ⁡ A ≈ B
46 44 45 syl ⊢ B ∈ ω → B ≈ suc ⁡ B ∖ f ⁡ A ↔ suc ⁡ B ∖ f ⁡ A ≈ B
47 46 adantr ⊢ B ∈ ω ∧ f : suc ⁡ A ⟶ 1-1 onto suc ⁡ B → B ≈ suc ⁡ B ∖ f ⁡ A ↔ suc ⁡ B ∖ f ⁡ A ≈ B
48 43 47 mpbid ⊢ B ∈ ω ∧ f : suc ⁡ A ⟶ 1-1 onto suc ⁡ B → suc ⁡ B ∖ f ⁡ A ≈ B
49 entrfil ⊢ A ∈ Fin ∧ A ≈ suc ⁡ B ∖ f ⁡ A ∧ suc ⁡ B ∖ f ⁡ A ≈ B → A ≈ B
50 4 49 syl3an1 ⊢ A ∈ ω ∧ A ≈ suc ⁡ B ∖ f ⁡ A ∧ suc ⁡ B ∖ f ⁡ A ≈ B → A ≈ B
51 48 50 syl3an3 ⊢ A ∈ ω ∧ A ≈ suc ⁡ B ∖ f ⁡ A ∧ B ∈ ω ∧ f : suc ⁡ A ⟶ 1-1 onto suc ⁡ B → A ≈ B
52 51 3expa ⊢ A ∈ ω ∧ A ≈ suc ⁡ B ∖ f ⁡ A ∧ B ∈ ω ∧ f : suc ⁡ A ⟶ 1-1 onto suc ⁡ B → A ≈ B
53 36 52 syldanl ⊢ A ∈ ω ∧ f : suc ⁡ A ⟶ 1-1 onto suc ⁡ B ∧ B ∈ ω ∧ f : suc ⁡ A ⟶ 1-1 onto suc ⁡ B → A ≈ B
54 53 anandirs ⊢ A ∈ ω ∧ B ∈ ω ∧ f : suc ⁡ A ⟶ 1-1 onto suc ⁡ B → A ≈ B
55 54 ex ⊢ A ∈ ω ∧ B ∈ ω → f : suc ⁡ A ⟶ 1-1 onto suc ⁡ B → A ≈ B
56 55 exlimdv ⊢ A ∈ ω ∧ B ∈ ω → ∃ f f : suc ⁡ A ⟶ 1-1 onto suc ⁡ B → A ≈ B
57 2 56 biimtrid ⊢ A ∈ ω ∧ B ∈ ω → suc ⁡ A ≈ suc ⁡ B → A ≈ B