Metamath Proof Explorer


Theorem php3

Description: Corollary of Pigeonhole Principle. If A is finite and B is a proper subset of A , the B is strictly less numerous than A . Stronger version of Corollary 6C of Enderton p. 135. (Contributed by NM, 22-Aug-2008) Avoid ax-pow . (Revised by BTernaryTau, 26-Nov-2024)

Ref Expression
Assertion php3 ( ( 𝐴 ∈ Fin ∧ 𝐵𝐴 ) → 𝐵𝐴 )

Proof

Step Hyp Ref Expression
1 isfi ( 𝐴 ∈ Fin ↔ ∃ 𝑥 ∈ ω 𝐴𝑥 )
2 bren ( 𝐴𝑥 ↔ ∃ 𝑓 𝑓 : 𝐴1-1-onto𝑥 )
3 pssss ( 𝐵𝐴𝐵𝐴 )
4 imass2 ( 𝐵𝐴 → ( 𝑓𝐵 ) ⊆ ( 𝑓𝐴 ) )
5 3 4 syl ( 𝐵𝐴 → ( 𝑓𝐵 ) ⊆ ( 𝑓𝐴 ) )
6 5 adantl ( ( 𝑓 : 𝐴1-1-onto𝑥𝐵𝐴 ) → ( 𝑓𝐵 ) ⊆ ( 𝑓𝐴 ) )
7 pssnel ( 𝐵𝐴 → ∃ 𝑦 ( 𝑦𝐴 ∧ ¬ 𝑦𝐵 ) )
8 eldif ( 𝑦 ∈ ( 𝐴𝐵 ) ↔ ( 𝑦𝐴 ∧ ¬ 𝑦𝐵 ) )
9 f1ofn ( 𝑓 : 𝐴1-1-onto𝑥𝑓 Fn 𝐴 )
10 difss ( 𝐴𝐵 ) ⊆ 𝐴
11 fnfvima ( ( 𝑓 Fn 𝐴 ∧ ( 𝐴𝐵 ) ⊆ 𝐴𝑦 ∈ ( 𝐴𝐵 ) ) → ( 𝑓𝑦 ) ∈ ( 𝑓 “ ( 𝐴𝐵 ) ) )
12 11 3expia ( ( 𝑓 Fn 𝐴 ∧ ( 𝐴𝐵 ) ⊆ 𝐴 ) → ( 𝑦 ∈ ( 𝐴𝐵 ) → ( 𝑓𝑦 ) ∈ ( 𝑓 “ ( 𝐴𝐵 ) ) ) )
13 9 10 12 sylancl ( 𝑓 : 𝐴1-1-onto𝑥 → ( 𝑦 ∈ ( 𝐴𝐵 ) → ( 𝑓𝑦 ) ∈ ( 𝑓 “ ( 𝐴𝐵 ) ) ) )
14 dff1o3 ( 𝑓 : 𝐴1-1-onto𝑥 ↔ ( 𝑓 : 𝐴onto𝑥 ∧ Fun 𝑓 ) )
15 imadif ( Fun 𝑓 → ( 𝑓 “ ( 𝐴𝐵 ) ) = ( ( 𝑓𝐴 ) ∖ ( 𝑓𝐵 ) ) )
16 14 15 simplbiim ( 𝑓 : 𝐴1-1-onto𝑥 → ( 𝑓 “ ( 𝐴𝐵 ) ) = ( ( 𝑓𝐴 ) ∖ ( 𝑓𝐵 ) ) )
17 16 eleq2d ( 𝑓 : 𝐴1-1-onto𝑥 → ( ( 𝑓𝑦 ) ∈ ( 𝑓 “ ( 𝐴𝐵 ) ) ↔ ( 𝑓𝑦 ) ∈ ( ( 𝑓𝐴 ) ∖ ( 𝑓𝐵 ) ) ) )
18 13 17 sylibd ( 𝑓 : 𝐴1-1-onto𝑥 → ( 𝑦 ∈ ( 𝐴𝐵 ) → ( 𝑓𝑦 ) ∈ ( ( 𝑓𝐴 ) ∖ ( 𝑓𝐵 ) ) ) )
19 n0i ( ( 𝑓𝑦 ) ∈ ( ( 𝑓𝐴 ) ∖ ( 𝑓𝐵 ) ) → ¬ ( ( 𝑓𝐴 ) ∖ ( 𝑓𝐵 ) ) = ∅ )
20 18 19 syl6 ( 𝑓 : 𝐴1-1-onto𝑥 → ( 𝑦 ∈ ( 𝐴𝐵 ) → ¬ ( ( 𝑓𝐴 ) ∖ ( 𝑓𝐵 ) ) = ∅ ) )
21 8 20 syl5bir ( 𝑓 : 𝐴1-1-onto𝑥 → ( ( 𝑦𝐴 ∧ ¬ 𝑦𝐵 ) → ¬ ( ( 𝑓𝐴 ) ∖ ( 𝑓𝐵 ) ) = ∅ ) )
22 21 exlimdv ( 𝑓 : 𝐴1-1-onto𝑥 → ( ∃ 𝑦 ( 𝑦𝐴 ∧ ¬ 𝑦𝐵 ) → ¬ ( ( 𝑓𝐴 ) ∖ ( 𝑓𝐵 ) ) = ∅ ) )
23 22 imp ( ( 𝑓 : 𝐴1-1-onto𝑥 ∧ ∃ 𝑦 ( 𝑦𝐴 ∧ ¬ 𝑦𝐵 ) ) → ¬ ( ( 𝑓𝐴 ) ∖ ( 𝑓𝐵 ) ) = ∅ )
24 7 23 sylan2 ( ( 𝑓 : 𝐴1-1-onto𝑥𝐵𝐴 ) → ¬ ( ( 𝑓𝐴 ) ∖ ( 𝑓𝐵 ) ) = ∅ )
25 ssdif0 ( ( 𝑓𝐴 ) ⊆ ( 𝑓𝐵 ) ↔ ( ( 𝑓𝐴 ) ∖ ( 𝑓𝐵 ) ) = ∅ )
26 24 25 sylnibr ( ( 𝑓 : 𝐴1-1-onto𝑥𝐵𝐴 ) → ¬ ( 𝑓𝐴 ) ⊆ ( 𝑓𝐵 ) )
27 dfpss3 ( ( 𝑓𝐵 ) ⊊ ( 𝑓𝐴 ) ↔ ( ( 𝑓𝐵 ) ⊆ ( 𝑓𝐴 ) ∧ ¬ ( 𝑓𝐴 ) ⊆ ( 𝑓𝐵 ) ) )
28 6 26 27 sylanbrc ( ( 𝑓 : 𝐴1-1-onto𝑥𝐵𝐴 ) → ( 𝑓𝐵 ) ⊊ ( 𝑓𝐴 ) )
29 imadmrn ( 𝑓 “ dom 𝑓 ) = ran 𝑓
30 f1odm ( 𝑓 : 𝐴1-1-onto𝑥 → dom 𝑓 = 𝐴 )
31 30 imaeq2d ( 𝑓 : 𝐴1-1-onto𝑥 → ( 𝑓 “ dom 𝑓 ) = ( 𝑓𝐴 ) )
32 f1ofo ( 𝑓 : 𝐴1-1-onto𝑥𝑓 : 𝐴onto𝑥 )
33 forn ( 𝑓 : 𝐴onto𝑥 → ran 𝑓 = 𝑥 )
34 32 33 syl ( 𝑓 : 𝐴1-1-onto𝑥 → ran 𝑓 = 𝑥 )
35 29 31 34 3eqtr3a ( 𝑓 : 𝐴1-1-onto𝑥 → ( 𝑓𝐴 ) = 𝑥 )
36 35 psseq2d ( 𝑓 : 𝐴1-1-onto𝑥 → ( ( 𝑓𝐵 ) ⊊ ( 𝑓𝐴 ) ↔ ( 𝑓𝐵 ) ⊊ 𝑥 ) )
37 36 adantr ( ( 𝑓 : 𝐴1-1-onto𝑥𝐵𝐴 ) → ( ( 𝑓𝐵 ) ⊊ ( 𝑓𝐴 ) ↔ ( 𝑓𝐵 ) ⊊ 𝑥 ) )
38 28 37 mpbid ( ( 𝑓 : 𝐴1-1-onto𝑥𝐵𝐴 ) → ( 𝑓𝐵 ) ⊊ 𝑥 )
39 php2 ( ( 𝑥 ∈ ω ∧ ( 𝑓𝐵 ) ⊊ 𝑥 ) → ( 𝑓𝐵 ) ≺ 𝑥 )
40 38 39 sylan2 ( ( 𝑥 ∈ ω ∧ ( 𝑓 : 𝐴1-1-onto𝑥𝐵𝐴 ) ) → ( 𝑓𝐵 ) ≺ 𝑥 )
41 nnfi ( 𝑥 ∈ ω → 𝑥 ∈ Fin )
42 f1of1 ( 𝑓 : 𝐴1-1-onto𝑥𝑓 : 𝐴1-1𝑥 )
43 f1ores ( ( 𝑓 : 𝐴1-1𝑥𝐵𝐴 ) → ( 𝑓𝐵 ) : 𝐵1-1-onto→ ( 𝑓𝐵 ) )
44 42 3 43 syl2an ( ( 𝑓 : 𝐴1-1-onto𝑥𝐵𝐴 ) → ( 𝑓𝐵 ) : 𝐵1-1-onto→ ( 𝑓𝐵 ) )
45 vex 𝑓 ∈ V
46 45 resex ( 𝑓𝐵 ) ∈ V
47 f1oeq1 ( 𝑦 = ( 𝑓𝐵 ) → ( 𝑦 : 𝐵1-1-onto→ ( 𝑓𝐵 ) ↔ ( 𝑓𝐵 ) : 𝐵1-1-onto→ ( 𝑓𝐵 ) ) )
48 46 47 spcev ( ( 𝑓𝐵 ) : 𝐵1-1-onto→ ( 𝑓𝐵 ) → ∃ 𝑦 𝑦 : 𝐵1-1-onto→ ( 𝑓𝐵 ) )
49 bren ( 𝐵 ≈ ( 𝑓𝐵 ) ↔ ∃ 𝑦 𝑦 : 𝐵1-1-onto→ ( 𝑓𝐵 ) )
50 48 49 sylibr ( ( 𝑓𝐵 ) : 𝐵1-1-onto→ ( 𝑓𝐵 ) → 𝐵 ≈ ( 𝑓𝐵 ) )
51 44 50 syl ( ( 𝑓 : 𝐴1-1-onto𝑥𝐵𝐴 ) → 𝐵 ≈ ( 𝑓𝐵 ) )
52 endom ( 𝐵 ≈ ( 𝑓𝐵 ) → 𝐵 ≼ ( 𝑓𝐵 ) )
53 sdomdom ( ( 𝑓𝐵 ) ≺ 𝑥 → ( 𝑓𝐵 ) ≼ 𝑥 )
54 domfi ( ( 𝑥 ∈ Fin ∧ ( 𝑓𝐵 ) ≼ 𝑥 ) → ( 𝑓𝐵 ) ∈ Fin )
55 53 54 sylan2 ( ( 𝑥 ∈ Fin ∧ ( 𝑓𝐵 ) ≺ 𝑥 ) → ( 𝑓𝐵 ) ∈ Fin )
56 55 3adant2 ( ( 𝑥 ∈ Fin ∧ 𝐵 ≼ ( 𝑓𝐵 ) ∧ ( 𝑓𝐵 ) ≺ 𝑥 ) → ( 𝑓𝐵 ) ∈ Fin )
57 domfi ( ( ( 𝑓𝐵 ) ∈ Fin ∧ 𝐵 ≼ ( 𝑓𝐵 ) ) → 𝐵 ∈ Fin )
58 57 3adant3 ( ( ( 𝑓𝐵 ) ∈ Fin ∧ 𝐵 ≼ ( 𝑓𝐵 ) ∧ ( 𝑓𝐵 ) ≺ 𝑥 ) → 𝐵 ∈ Fin )
59 domsdomtrfi ( ( 𝐵 ∈ Fin ∧ 𝐵 ≼ ( 𝑓𝐵 ) ∧ ( 𝑓𝐵 ) ≺ 𝑥 ) → 𝐵𝑥 )
60 58 59 syld3an1 ( ( ( 𝑓𝐵 ) ∈ Fin ∧ 𝐵 ≼ ( 𝑓𝐵 ) ∧ ( 𝑓𝐵 ) ≺ 𝑥 ) → 𝐵𝑥 )
61 56 60 syld3an1 ( ( 𝑥 ∈ Fin ∧ 𝐵 ≼ ( 𝑓𝐵 ) ∧ ( 𝑓𝐵 ) ≺ 𝑥 ) → 𝐵𝑥 )
62 52 61 syl3an2 ( ( 𝑥 ∈ Fin ∧ 𝐵 ≈ ( 𝑓𝐵 ) ∧ ( 𝑓𝐵 ) ≺ 𝑥 ) → 𝐵𝑥 )
63 62 3expia ( ( 𝑥 ∈ Fin ∧ 𝐵 ≈ ( 𝑓𝐵 ) ) → ( ( 𝑓𝐵 ) ≺ 𝑥𝐵𝑥 ) )
64 41 51 63 syl2an ( ( 𝑥 ∈ ω ∧ ( 𝑓 : 𝐴1-1-onto𝑥𝐵𝐴 ) ) → ( ( 𝑓𝐵 ) ≺ 𝑥𝐵𝑥 ) )
65 40 64 mpd ( ( 𝑥 ∈ ω ∧ ( 𝑓 : 𝐴1-1-onto𝑥𝐵𝐴 ) ) → 𝐵𝑥 )
66 65 exp32 ( 𝑥 ∈ ω → ( 𝑓 : 𝐴1-1-onto𝑥 → ( 𝐵𝐴𝐵𝑥 ) ) )
67 66 exlimdv ( 𝑥 ∈ ω → ( ∃ 𝑓 𝑓 : 𝐴1-1-onto𝑥 → ( 𝐵𝐴𝐵𝑥 ) ) )
68 2 67 syl5bi ( 𝑥 ∈ ω → ( 𝐴𝑥 → ( 𝐵𝐴𝐵𝑥 ) ) )
69 ensymfib ( 𝑥 ∈ Fin → ( 𝑥𝐴𝐴𝑥 ) )
70 69 adantr ( ( 𝑥 ∈ Fin ∧ 𝐵𝑥 ) → ( 𝑥𝐴𝐴𝑥 ) )
71 70 biimp3ar ( ( 𝑥 ∈ Fin ∧ 𝐵𝑥𝐴𝑥 ) → 𝑥𝐴 )
72 endom ( 𝑥𝐴𝑥𝐴 )
73 sdomdom ( 𝐵𝑥𝐵𝑥 )
74 domfi ( ( 𝑥 ∈ Fin ∧ 𝐵𝑥 ) → 𝐵 ∈ Fin )
75 73 74 sylan2 ( ( 𝑥 ∈ Fin ∧ 𝐵𝑥 ) → 𝐵 ∈ Fin )
76 75 3adant3 ( ( 𝑥 ∈ Fin ∧ 𝐵𝑥𝑥𝐴 ) → 𝐵 ∈ Fin )
77 sdomdomtrfi ( ( 𝐵 ∈ Fin ∧ 𝐵𝑥𝑥𝐴 ) → 𝐵𝐴 )
78 76 77 syld3an1 ( ( 𝑥 ∈ Fin ∧ 𝐵𝑥𝑥𝐴 ) → 𝐵𝐴 )
79 72 78 syl3an3 ( ( 𝑥 ∈ Fin ∧ 𝐵𝑥𝑥𝐴 ) → 𝐵𝐴 )
80 71 79 syld3an3 ( ( 𝑥 ∈ Fin ∧ 𝐵𝑥𝐴𝑥 ) → 𝐵𝐴 )
81 41 80 syl3an1 ( ( 𝑥 ∈ ω ∧ 𝐵𝑥𝐴𝑥 ) → 𝐵𝐴 )
82 81 3com23 ( ( 𝑥 ∈ ω ∧ 𝐴𝑥𝐵𝑥 ) → 𝐵𝐴 )
83 82 3exp ( 𝑥 ∈ ω → ( 𝐴𝑥 → ( 𝐵𝑥𝐵𝐴 ) ) )
84 68 83 syldd ( 𝑥 ∈ ω → ( 𝐴𝑥 → ( 𝐵𝐴𝐵𝐴 ) ) )
85 84 rexlimiv ( ∃ 𝑥 ∈ ω 𝐴𝑥 → ( 𝐵𝐴𝐵𝐴 ) )
86 1 85 sylbi ( 𝐴 ∈ Fin → ( 𝐵𝐴𝐵𝐴 ) )
87 86 imp ( ( 𝐴 ∈ Fin ∧ 𝐵𝐴 ) → 𝐵𝐴 )