Metamath Proof Explorer


Theorem hashgt23el

Description: A set with more than two elements has at least three different elements. (Contributed by BTernaryTau, 21-Sep-2023)

Ref Expression
Assertion hashgt23el ( ( 𝑉𝑊 ∧ 2 < ( ♯ ‘ 𝑉 ) ) → ∃ 𝑎𝑉𝑏𝑉𝑐𝑉 ( 𝑎𝑏𝑎𝑐𝑏𝑐 ) )

Proof

Step Hyp Ref Expression
1 2pos 0 < 2
2 0xr 0 ∈ ℝ*
3 2re 2 ∈ ℝ
4 3 rexri 2 ∈ ℝ*
5 hashxrcl ( 𝑉𝑊 → ( ♯ ‘ 𝑉 ) ∈ ℝ* )
6 xrlttr ( ( 0 ∈ ℝ* ∧ 2 ∈ ℝ* ∧ ( ♯ ‘ 𝑉 ) ∈ ℝ* ) → ( ( 0 < 2 ∧ 2 < ( ♯ ‘ 𝑉 ) ) → 0 < ( ♯ ‘ 𝑉 ) ) )
7 2 4 5 6 mp3an12i ( 𝑉𝑊 → ( ( 0 < 2 ∧ 2 < ( ♯ ‘ 𝑉 ) ) → 0 < ( ♯ ‘ 𝑉 ) ) )
8 1 7 mpani ( 𝑉𝑊 → ( 2 < ( ♯ ‘ 𝑉 ) → 0 < ( ♯ ‘ 𝑉 ) ) )
9 hashgt0elex ( ( 𝑉𝑊 ∧ 0 < ( ♯ ‘ 𝑉 ) ) → ∃ 𝑎 𝑎𝑉 )
10 9 ex ( 𝑉𝑊 → ( 0 < ( ♯ ‘ 𝑉 ) → ∃ 𝑎 𝑎𝑉 ) )
11 8 10 syld ( 𝑉𝑊 → ( 2 < ( ♯ ‘ 𝑉 ) → ∃ 𝑎 𝑎𝑉 ) )
12 11 imp ( ( 𝑉𝑊 ∧ 2 < ( ♯ ‘ 𝑉 ) ) → ∃ 𝑎 𝑎𝑉 )
13 difexg ( 𝑉𝑊 → ( 𝑉 ∖ { 𝑎 } ) ∈ V )
14 difsnid ( 𝑎𝑉 → ( ( 𝑉 ∖ { 𝑎 } ) ∪ { 𝑎 } ) = 𝑉 )
15 14 fveq2d ( 𝑎𝑉 → ( ♯ ‘ ( ( 𝑉 ∖ { 𝑎 } ) ∪ { 𝑎 } ) ) = ( ♯ ‘ 𝑉 ) )
16 15 breq2d ( 𝑎𝑉 → ( 2 < ( ♯ ‘ ( ( 𝑉 ∖ { 𝑎 } ) ∪ { 𝑎 } ) ) ↔ 2 < ( ♯ ‘ 𝑉 ) ) )
17 16 adantr ( ( 𝑎𝑉𝑉𝑊 ) → ( 2 < ( ♯ ‘ ( ( 𝑉 ∖ { 𝑎 } ) ∪ { 𝑎 } ) ) ↔ 2 < ( ♯ ‘ 𝑉 ) ) )
18 df-2 2 = ( 1 + 1 )
19 18 breq1i ( 2 < ( ♯ ‘ ( ( 𝑉 ∖ { 𝑎 } ) ∪ { 𝑎 } ) ) ↔ ( 1 + 1 ) < ( ♯ ‘ ( ( 𝑉 ∖ { 𝑎 } ) ∪ { 𝑎 } ) ) )
20 neldifsn ¬ 𝑎 ∈ ( 𝑉 ∖ { 𝑎 } )
21 1nn0 1 ∈ ℕ0
22 hashunsnggt ( ( ( ( 𝑉 ∖ { 𝑎 } ) ∈ V ∧ 𝑎𝑉 ∧ 1 ∈ ℕ0 ) ∧ ¬ 𝑎 ∈ ( 𝑉 ∖ { 𝑎 } ) ) → ( 1 < ( ♯ ‘ ( 𝑉 ∖ { 𝑎 } ) ) ↔ ( 1 + 1 ) < ( ♯ ‘ ( ( 𝑉 ∖ { 𝑎 } ) ∪ { 𝑎 } ) ) ) )
23 21 22 mp3anl3 ( ( ( ( 𝑉 ∖ { 𝑎 } ) ∈ V ∧ 𝑎𝑉 ) ∧ ¬ 𝑎 ∈ ( 𝑉 ∖ { 𝑎 } ) ) → ( 1 < ( ♯ ‘ ( 𝑉 ∖ { 𝑎 } ) ) ↔ ( 1 + 1 ) < ( ♯ ‘ ( ( 𝑉 ∖ { 𝑎 } ) ∪ { 𝑎 } ) ) ) )
24 13 23 sylanl1 ( ( ( 𝑉𝑊𝑎𝑉 ) ∧ ¬ 𝑎 ∈ ( 𝑉 ∖ { 𝑎 } ) ) → ( 1 < ( ♯ ‘ ( 𝑉 ∖ { 𝑎 } ) ) ↔ ( 1 + 1 ) < ( ♯ ‘ ( ( 𝑉 ∖ { 𝑎 } ) ∪ { 𝑎 } ) ) ) )
25 20 24 mpan2 ( ( 𝑉𝑊𝑎𝑉 ) → ( 1 < ( ♯ ‘ ( 𝑉 ∖ { 𝑎 } ) ) ↔ ( 1 + 1 ) < ( ♯ ‘ ( ( 𝑉 ∖ { 𝑎 } ) ∪ { 𝑎 } ) ) ) )
26 25 biimp3ar ( ( 𝑉𝑊𝑎𝑉 ∧ ( 1 + 1 ) < ( ♯ ‘ ( ( 𝑉 ∖ { 𝑎 } ) ∪ { 𝑎 } ) ) ) → 1 < ( ♯ ‘ ( 𝑉 ∖ { 𝑎 } ) ) )
27 19 26 syl3an3b ( ( 𝑉𝑊𝑎𝑉 ∧ 2 < ( ♯ ‘ ( ( 𝑉 ∖ { 𝑎 } ) ∪ { 𝑎 } ) ) ) → 1 < ( ♯ ‘ ( 𝑉 ∖ { 𝑎 } ) ) )
28 27 3expia ( ( 𝑉𝑊𝑎𝑉 ) → ( 2 < ( ♯ ‘ ( ( 𝑉 ∖ { 𝑎 } ) ∪ { 𝑎 } ) ) → 1 < ( ♯ ‘ ( 𝑉 ∖ { 𝑎 } ) ) ) )
29 28 ancoms ( ( 𝑎𝑉𝑉𝑊 ) → ( 2 < ( ♯ ‘ ( ( 𝑉 ∖ { 𝑎 } ) ∪ { 𝑎 } ) ) → 1 < ( ♯ ‘ ( 𝑉 ∖ { 𝑎 } ) ) ) )
30 17 29 sylbird ( ( 𝑎𝑉𝑉𝑊 ) → ( 2 < ( ♯ ‘ 𝑉 ) → 1 < ( ♯ ‘ ( 𝑉 ∖ { 𝑎 } ) ) ) )
31 30 3impia ( ( 𝑎𝑉𝑉𝑊 ∧ 2 < ( ♯ ‘ 𝑉 ) ) → 1 < ( ♯ ‘ ( 𝑉 ∖ { 𝑎 } ) ) )
32 31 3expib ( 𝑎𝑉 → ( ( 𝑉𝑊 ∧ 2 < ( ♯ ‘ 𝑉 ) ) → 1 < ( ♯ ‘ ( 𝑉 ∖ { 𝑎 } ) ) ) )
33 1lt2 1 < 2
34 1xr 1 ∈ ℝ*
35 xrlttr ( ( 1 ∈ ℝ* ∧ 2 ∈ ℝ* ∧ ( ♯ ‘ 𝑉 ) ∈ ℝ* ) → ( ( 1 < 2 ∧ 2 < ( ♯ ‘ 𝑉 ) ) → 1 < ( ♯ ‘ 𝑉 ) ) )
36 34 4 5 35 mp3an12i ( 𝑉𝑊 → ( ( 1 < 2 ∧ 2 < ( ♯ ‘ 𝑉 ) ) → 1 < ( ♯ ‘ 𝑉 ) ) )
37 33 36 mpani ( 𝑉𝑊 → ( 2 < ( ♯ ‘ 𝑉 ) → 1 < ( ♯ ‘ 𝑉 ) ) )
38 37 imp ( ( 𝑉𝑊 ∧ 2 < ( ♯ ‘ 𝑉 ) ) → 1 < ( ♯ ‘ 𝑉 ) )
39 38 3adant1 ( ( ¬ 𝑎𝑉𝑉𝑊 ∧ 2 < ( ♯ ‘ 𝑉 ) ) → 1 < ( ♯ ‘ 𝑉 ) )
40 difsn ( ¬ 𝑎𝑉 → ( 𝑉 ∖ { 𝑎 } ) = 𝑉 )
41 40 3ad2ant1 ( ( ¬ 𝑎𝑉𝑉𝑊 ∧ 2 < ( ♯ ‘ 𝑉 ) ) → ( 𝑉 ∖ { 𝑎 } ) = 𝑉 )
42 41 fveq2d ( ( ¬ 𝑎𝑉𝑉𝑊 ∧ 2 < ( ♯ ‘ 𝑉 ) ) → ( ♯ ‘ ( 𝑉 ∖ { 𝑎 } ) ) = ( ♯ ‘ 𝑉 ) )
43 39 42 breqtrrd ( ( ¬ 𝑎𝑉𝑉𝑊 ∧ 2 < ( ♯ ‘ 𝑉 ) ) → 1 < ( ♯ ‘ ( 𝑉 ∖ { 𝑎 } ) ) )
44 43 3expib ( ¬ 𝑎𝑉 → ( ( 𝑉𝑊 ∧ 2 < ( ♯ ‘ 𝑉 ) ) → 1 < ( ♯ ‘ ( 𝑉 ∖ { 𝑎 } ) ) ) )
45 32 44 pm2.61i ( ( 𝑉𝑊 ∧ 2 < ( ♯ ‘ 𝑉 ) ) → 1 < ( ♯ ‘ ( 𝑉 ∖ { 𝑎 } ) ) )
46 hashgt12el ( ( ( 𝑉 ∖ { 𝑎 } ) ∈ V ∧ 1 < ( ♯ ‘ ( 𝑉 ∖ { 𝑎 } ) ) ) → ∃ 𝑏 ∈ ( 𝑉 ∖ { 𝑎 } ) ∃ 𝑐 ∈ ( 𝑉 ∖ { 𝑎 } ) 𝑏𝑐 )
47 13 45 46 syl2an2r ( ( 𝑉𝑊 ∧ 2 < ( ♯ ‘ 𝑉 ) ) → ∃ 𝑏 ∈ ( 𝑉 ∖ { 𝑎 } ) ∃ 𝑐 ∈ ( 𝑉 ∖ { 𝑎 } ) 𝑏𝑐 )
48 47 alrimiv ( ( 𝑉𝑊 ∧ 2 < ( ♯ ‘ 𝑉 ) ) → ∀ 𝑎𝑏 ∈ ( 𝑉 ∖ { 𝑎 } ) ∃ 𝑐 ∈ ( 𝑉 ∖ { 𝑎 } ) 𝑏𝑐 )
49 19.29r ( ( ∃ 𝑎 𝑎𝑉 ∧ ∀ 𝑎𝑏 ∈ ( 𝑉 ∖ { 𝑎 } ) ∃ 𝑐 ∈ ( 𝑉 ∖ { 𝑎 } ) 𝑏𝑐 ) → ∃ 𝑎 ( 𝑎𝑉 ∧ ∃ 𝑏 ∈ ( 𝑉 ∖ { 𝑎 } ) ∃ 𝑐 ∈ ( 𝑉 ∖ { 𝑎 } ) 𝑏𝑐 ) )
50 12 48 49 syl2anc ( ( 𝑉𝑊 ∧ 2 < ( ♯ ‘ 𝑉 ) ) → ∃ 𝑎 ( 𝑎𝑉 ∧ ∃ 𝑏 ∈ ( 𝑉 ∖ { 𝑎 } ) ∃ 𝑐 ∈ ( 𝑉 ∖ { 𝑎 } ) 𝑏𝑐 ) )
51 df-rex ( ∃ 𝑎𝑉𝑏 ∈ ( 𝑉 ∖ { 𝑎 } ) ∃ 𝑐 ∈ ( 𝑉 ∖ { 𝑎 } ) 𝑏𝑐 ↔ ∃ 𝑎 ( 𝑎𝑉 ∧ ∃ 𝑏 ∈ ( 𝑉 ∖ { 𝑎 } ) ∃ 𝑐 ∈ ( 𝑉 ∖ { 𝑎 } ) 𝑏𝑐 ) )
52 eldifsn ( 𝑏 ∈ ( 𝑉 ∖ { 𝑎 } ) ↔ ( 𝑏𝑉𝑏𝑎 ) )
53 necom ( 𝑏𝑎𝑎𝑏 )
54 53 anbi2i ( ( 𝑏𝑉𝑏𝑎 ) ↔ ( 𝑏𝑉𝑎𝑏 ) )
55 52 54 bitri ( 𝑏 ∈ ( 𝑉 ∖ { 𝑎 } ) ↔ ( 𝑏𝑉𝑎𝑏 ) )
56 ax-5 ( 𝑎𝑏 → ∀ 𝑐 𝑎𝑏 )
57 56 anim2i ( ( 𝑏𝑉𝑎𝑏 ) → ( 𝑏𝑉 ∧ ∀ 𝑐 𝑎𝑏 ) )
58 55 57 sylbi ( 𝑏 ∈ ( 𝑉 ∖ { 𝑎 } ) → ( 𝑏𝑉 ∧ ∀ 𝑐 𝑎𝑏 ) )
59 3anass ( ( 𝑐𝑉𝑎𝑐𝑏𝑐 ) ↔ ( 𝑐𝑉 ∧ ( 𝑎𝑐𝑏𝑐 ) ) )
60 59 exbii ( ∃ 𝑐 ( 𝑐𝑉𝑎𝑐𝑏𝑐 ) ↔ ∃ 𝑐 ( 𝑐𝑉 ∧ ( 𝑎𝑐𝑏𝑐 ) ) )
61 df-rex ( ∃ 𝑐 ∈ ( 𝑉 ∖ { 𝑎 } ) 𝑏𝑐 ↔ ∃ 𝑐 ( 𝑐 ∈ ( 𝑉 ∖ { 𝑎 } ) ∧ 𝑏𝑐 ) )
62 eldifsn ( 𝑐 ∈ ( 𝑉 ∖ { 𝑎 } ) ↔ ( 𝑐𝑉𝑐𝑎 ) )
63 necom ( 𝑐𝑎𝑎𝑐 )
64 63 anbi2i ( ( 𝑐𝑉𝑐𝑎 ) ↔ ( 𝑐𝑉𝑎𝑐 ) )
65 62 64 bitri ( 𝑐 ∈ ( 𝑉 ∖ { 𝑎 } ) ↔ ( 𝑐𝑉𝑎𝑐 ) )
66 65 anbi1i ( ( 𝑐 ∈ ( 𝑉 ∖ { 𝑎 } ) ∧ 𝑏𝑐 ) ↔ ( ( 𝑐𝑉𝑎𝑐 ) ∧ 𝑏𝑐 ) )
67 df-3an ( ( 𝑐𝑉𝑎𝑐𝑏𝑐 ) ↔ ( ( 𝑐𝑉𝑎𝑐 ) ∧ 𝑏𝑐 ) )
68 66 67 bitr4i ( ( 𝑐 ∈ ( 𝑉 ∖ { 𝑎 } ) ∧ 𝑏𝑐 ) ↔ ( 𝑐𝑉𝑎𝑐𝑏𝑐 ) )
69 68 exbii ( ∃ 𝑐 ( 𝑐 ∈ ( 𝑉 ∖ { 𝑎 } ) ∧ 𝑏𝑐 ) ↔ ∃ 𝑐 ( 𝑐𝑉𝑎𝑐𝑏𝑐 ) )
70 61 69 bitri ( ∃ 𝑐 ∈ ( 𝑉 ∖ { 𝑎 } ) 𝑏𝑐 ↔ ∃ 𝑐 ( 𝑐𝑉𝑎𝑐𝑏𝑐 ) )
71 df-rex ( ∃ 𝑐𝑉 ( 𝑎𝑐𝑏𝑐 ) ↔ ∃ 𝑐 ( 𝑐𝑉 ∧ ( 𝑎𝑐𝑏𝑐 ) ) )
72 60 70 71 3bitr4i ( ∃ 𝑐 ∈ ( 𝑉 ∖ { 𝑎 } ) 𝑏𝑐 ↔ ∃ 𝑐𝑉 ( 𝑎𝑐𝑏𝑐 ) )
73 72 biimpi ( ∃ 𝑐 ∈ ( 𝑉 ∖ { 𝑎 } ) 𝑏𝑐 → ∃ 𝑐𝑉 ( 𝑎𝑐𝑏𝑐 ) )
74 58 73 anim12i ( ( 𝑏 ∈ ( 𝑉 ∖ { 𝑎 } ) ∧ ∃ 𝑐 ∈ ( 𝑉 ∖ { 𝑎 } ) 𝑏𝑐 ) → ( ( 𝑏𝑉 ∧ ∀ 𝑐 𝑎𝑏 ) ∧ ∃ 𝑐𝑉 ( 𝑎𝑐𝑏𝑐 ) ) )
75 alral ( ∀ 𝑐 𝑎𝑏 → ∀ 𝑐𝑉 𝑎𝑏 )
76 75 anim1i ( ( ∀ 𝑐 𝑎𝑏 ∧ ∃ 𝑐𝑉 ( 𝑎𝑐𝑏𝑐 ) ) → ( ∀ 𝑐𝑉 𝑎𝑏 ∧ ∃ 𝑐𝑉 ( 𝑎𝑐𝑏𝑐 ) ) )
77 r19.29 ( ( ∀ 𝑐𝑉 𝑎𝑏 ∧ ∃ 𝑐𝑉 ( 𝑎𝑐𝑏𝑐 ) ) → ∃ 𝑐𝑉 ( 𝑎𝑏 ∧ ( 𝑎𝑐𝑏𝑐 ) ) )
78 3anass ( ( 𝑎𝑏𝑎𝑐𝑏𝑐 ) ↔ ( 𝑎𝑏 ∧ ( 𝑎𝑐𝑏𝑐 ) ) )
79 78 biimpri ( ( 𝑎𝑏 ∧ ( 𝑎𝑐𝑏𝑐 ) ) → ( 𝑎𝑏𝑎𝑐𝑏𝑐 ) )
80 79 reximi ( ∃ 𝑐𝑉 ( 𝑎𝑏 ∧ ( 𝑎𝑐𝑏𝑐 ) ) → ∃ 𝑐𝑉 ( 𝑎𝑏𝑎𝑐𝑏𝑐 ) )
81 76 77 80 3syl ( ( ∀ 𝑐 𝑎𝑏 ∧ ∃ 𝑐𝑉 ( 𝑎𝑐𝑏𝑐 ) ) → ∃ 𝑐𝑉 ( 𝑎𝑏𝑎𝑐𝑏𝑐 ) )
82 81 anim2i ( ( 𝑏𝑉 ∧ ( ∀ 𝑐 𝑎𝑏 ∧ ∃ 𝑐𝑉 ( 𝑎𝑐𝑏𝑐 ) ) ) → ( 𝑏𝑉 ∧ ∃ 𝑐𝑉 ( 𝑎𝑏𝑎𝑐𝑏𝑐 ) ) )
83 82 anassrs ( ( ( 𝑏𝑉 ∧ ∀ 𝑐 𝑎𝑏 ) ∧ ∃ 𝑐𝑉 ( 𝑎𝑐𝑏𝑐 ) ) → ( 𝑏𝑉 ∧ ∃ 𝑐𝑉 ( 𝑎𝑏𝑎𝑐𝑏𝑐 ) ) )
84 74 83 syl ( ( 𝑏 ∈ ( 𝑉 ∖ { 𝑎 } ) ∧ ∃ 𝑐 ∈ ( 𝑉 ∖ { 𝑎 } ) 𝑏𝑐 ) → ( 𝑏𝑉 ∧ ∃ 𝑐𝑉 ( 𝑎𝑏𝑎𝑐𝑏𝑐 ) ) )
85 84 reximi2 ( ∃ 𝑏 ∈ ( 𝑉 ∖ { 𝑎 } ) ∃ 𝑐 ∈ ( 𝑉 ∖ { 𝑎 } ) 𝑏𝑐 → ∃ 𝑏𝑉𝑐𝑉 ( 𝑎𝑏𝑎𝑐𝑏𝑐 ) )
86 85 reximi ( ∃ 𝑎𝑉𝑏 ∈ ( 𝑉 ∖ { 𝑎 } ) ∃ 𝑐 ∈ ( 𝑉 ∖ { 𝑎 } ) 𝑏𝑐 → ∃ 𝑎𝑉𝑏𝑉𝑐𝑉 ( 𝑎𝑏𝑎𝑐𝑏𝑐 ) )
87 51 86 sylbir ( ∃ 𝑎 ( 𝑎𝑉 ∧ ∃ 𝑏 ∈ ( 𝑉 ∖ { 𝑎 } ) ∃ 𝑐 ∈ ( 𝑉 ∖ { 𝑎 } ) 𝑏𝑐 ) → ∃ 𝑎𝑉𝑏𝑉𝑐𝑉 ( 𝑎𝑏𝑎𝑐𝑏𝑐 ) )
88 50 87 syl ( ( 𝑉𝑊 ∧ 2 < ( ♯ ‘ 𝑉 ) ) → ∃ 𝑎𝑉𝑏𝑉𝑐𝑉 ( 𝑎𝑏𝑎𝑐𝑏𝑐 ) )