Metamath Proof Explorer


Theorem ram0

Description: The Ramsey number when R = (/) . (Contributed by Mario Carneiro, 22-Apr-2015)

Ref Expression
Assertion ram0 ( 𝑀 ∈ ℕ0 → ( 𝑀 Ramsey ∅ ) = 𝑀 )

Proof

Step Hyp Ref Expression
1 eqid ( 𝑎 ∈ V , 𝑖 ∈ ℕ0 ↦ { 𝑏 ∈ 𝒫 𝑎 ∣ ( ♯ ‘ 𝑏 ) = 𝑖 } ) = ( 𝑎 ∈ V , 𝑖 ∈ ℕ0 ↦ { 𝑏 ∈ 𝒫 𝑎 ∣ ( ♯ ‘ 𝑏 ) = 𝑖 } )
2 id ( 𝑀 ∈ ℕ0𝑀 ∈ ℕ0 )
3 0ex ∅ ∈ V
4 3 a1i ( 𝑀 ∈ ℕ0 → ∅ ∈ V )
5 f0 ∅ : ∅ ⟶ ℕ0
6 5 a1i ( 𝑀 ∈ ℕ0 → ∅ : ∅ ⟶ ℕ0 )
7 f00 ( 𝑓 : ( 𝑠 ( 𝑎 ∈ V , 𝑖 ∈ ℕ0 ↦ { 𝑏 ∈ 𝒫 𝑎 ∣ ( ♯ ‘ 𝑏 ) = 𝑖 } ) 𝑀 ) ⟶ ∅ ↔ ( 𝑓 = ∅ ∧ ( 𝑠 ( 𝑎 ∈ V , 𝑖 ∈ ℕ0 ↦ { 𝑏 ∈ 𝒫 𝑎 ∣ ( ♯ ‘ 𝑏 ) = 𝑖 } ) 𝑀 ) = ∅ ) )
8 vex 𝑠 ∈ V
9 simpl ( ( 𝑀 ∈ ℕ0𝑀 ≤ ( ♯ ‘ 𝑠 ) ) → 𝑀 ∈ ℕ0 )
10 1 hashbcval ( ( 𝑠 ∈ V ∧ 𝑀 ∈ ℕ0 ) → ( 𝑠 ( 𝑎 ∈ V , 𝑖 ∈ ℕ0 ↦ { 𝑏 ∈ 𝒫 𝑎 ∣ ( ♯ ‘ 𝑏 ) = 𝑖 } ) 𝑀 ) = { 𝑥 ∈ 𝒫 𝑠 ∣ ( ♯ ‘ 𝑥 ) = 𝑀 } )
11 8 9 10 sylancr ( ( 𝑀 ∈ ℕ0𝑀 ≤ ( ♯ ‘ 𝑠 ) ) → ( 𝑠 ( 𝑎 ∈ V , 𝑖 ∈ ℕ0 ↦ { 𝑏 ∈ 𝒫 𝑎 ∣ ( ♯ ‘ 𝑏 ) = 𝑖 } ) 𝑀 ) = { 𝑥 ∈ 𝒫 𝑠 ∣ ( ♯ ‘ 𝑥 ) = 𝑀 } )
12 hashfz1 ( 𝑀 ∈ ℕ0 → ( ♯ ‘ ( 1 ... 𝑀 ) ) = 𝑀 )
13 12 breq1d ( 𝑀 ∈ ℕ0 → ( ( ♯ ‘ ( 1 ... 𝑀 ) ) ≤ ( ♯ ‘ 𝑠 ) ↔ 𝑀 ≤ ( ♯ ‘ 𝑠 ) ) )
14 13 biimpar ( ( 𝑀 ∈ ℕ0𝑀 ≤ ( ♯ ‘ 𝑠 ) ) → ( ♯ ‘ ( 1 ... 𝑀 ) ) ≤ ( ♯ ‘ 𝑠 ) )
15 fzfid ( ( 𝑀 ∈ ℕ0𝑀 ≤ ( ♯ ‘ 𝑠 ) ) → ( 1 ... 𝑀 ) ∈ Fin )
16 hashdom ( ( ( 1 ... 𝑀 ) ∈ Fin ∧ 𝑠 ∈ V ) → ( ( ♯ ‘ ( 1 ... 𝑀 ) ) ≤ ( ♯ ‘ 𝑠 ) ↔ ( 1 ... 𝑀 ) ≼ 𝑠 ) )
17 15 8 16 sylancl ( ( 𝑀 ∈ ℕ0𝑀 ≤ ( ♯ ‘ 𝑠 ) ) → ( ( ♯ ‘ ( 1 ... 𝑀 ) ) ≤ ( ♯ ‘ 𝑠 ) ↔ ( 1 ... 𝑀 ) ≼ 𝑠 ) )
18 14 17 mpbid ( ( 𝑀 ∈ ℕ0𝑀 ≤ ( ♯ ‘ 𝑠 ) ) → ( 1 ... 𝑀 ) ≼ 𝑠 )
19 8 domen ( ( 1 ... 𝑀 ) ≼ 𝑠 ↔ ∃ 𝑥 ( ( 1 ... 𝑀 ) ≈ 𝑥𝑥𝑠 ) )
20 18 19 sylib ( ( 𝑀 ∈ ℕ0𝑀 ≤ ( ♯ ‘ 𝑠 ) ) → ∃ 𝑥 ( ( 1 ... 𝑀 ) ≈ 𝑥𝑥𝑠 ) )
21 simprr ( ( ( 𝑀 ∈ ℕ0𝑀 ≤ ( ♯ ‘ 𝑠 ) ) ∧ ( ( 1 ... 𝑀 ) ≈ 𝑥𝑥𝑠 ) ) → 𝑥𝑠 )
22 velpw ( 𝑥 ∈ 𝒫 𝑠𝑥𝑠 )
23 21 22 sylibr ( ( ( 𝑀 ∈ ℕ0𝑀 ≤ ( ♯ ‘ 𝑠 ) ) ∧ ( ( 1 ... 𝑀 ) ≈ 𝑥𝑥𝑠 ) ) → 𝑥 ∈ 𝒫 𝑠 )
24 hasheni ( ( 1 ... 𝑀 ) ≈ 𝑥 → ( ♯ ‘ ( 1 ... 𝑀 ) ) = ( ♯ ‘ 𝑥 ) )
25 24 ad2antrl ( ( ( 𝑀 ∈ ℕ0𝑀 ≤ ( ♯ ‘ 𝑠 ) ) ∧ ( ( 1 ... 𝑀 ) ≈ 𝑥𝑥𝑠 ) ) → ( ♯ ‘ ( 1 ... 𝑀 ) ) = ( ♯ ‘ 𝑥 ) )
26 12 ad2antrr ( ( ( 𝑀 ∈ ℕ0𝑀 ≤ ( ♯ ‘ 𝑠 ) ) ∧ ( ( 1 ... 𝑀 ) ≈ 𝑥𝑥𝑠 ) ) → ( ♯ ‘ ( 1 ... 𝑀 ) ) = 𝑀 )
27 25 26 eqtr3d ( ( ( 𝑀 ∈ ℕ0𝑀 ≤ ( ♯ ‘ 𝑠 ) ) ∧ ( ( 1 ... 𝑀 ) ≈ 𝑥𝑥𝑠 ) ) → ( ♯ ‘ 𝑥 ) = 𝑀 )
28 23 27 jca ( ( ( 𝑀 ∈ ℕ0𝑀 ≤ ( ♯ ‘ 𝑠 ) ) ∧ ( ( 1 ... 𝑀 ) ≈ 𝑥𝑥𝑠 ) ) → ( 𝑥 ∈ 𝒫 𝑠 ∧ ( ♯ ‘ 𝑥 ) = 𝑀 ) )
29 28 ex ( ( 𝑀 ∈ ℕ0𝑀 ≤ ( ♯ ‘ 𝑠 ) ) → ( ( ( 1 ... 𝑀 ) ≈ 𝑥𝑥𝑠 ) → ( 𝑥 ∈ 𝒫 𝑠 ∧ ( ♯ ‘ 𝑥 ) = 𝑀 ) ) )
30 29 eximdv ( ( 𝑀 ∈ ℕ0𝑀 ≤ ( ♯ ‘ 𝑠 ) ) → ( ∃ 𝑥 ( ( 1 ... 𝑀 ) ≈ 𝑥𝑥𝑠 ) → ∃ 𝑥 ( 𝑥 ∈ 𝒫 𝑠 ∧ ( ♯ ‘ 𝑥 ) = 𝑀 ) ) )
31 20 30 mpd ( ( 𝑀 ∈ ℕ0𝑀 ≤ ( ♯ ‘ 𝑠 ) ) → ∃ 𝑥 ( 𝑥 ∈ 𝒫 𝑠 ∧ ( ♯ ‘ 𝑥 ) = 𝑀 ) )
32 df-rex ( ∃ 𝑥 ∈ 𝒫 𝑠 ( ♯ ‘ 𝑥 ) = 𝑀 ↔ ∃ 𝑥 ( 𝑥 ∈ 𝒫 𝑠 ∧ ( ♯ ‘ 𝑥 ) = 𝑀 ) )
33 31 32 sylibr ( ( 𝑀 ∈ ℕ0𝑀 ≤ ( ♯ ‘ 𝑠 ) ) → ∃ 𝑥 ∈ 𝒫 𝑠 ( ♯ ‘ 𝑥 ) = 𝑀 )
34 rabn0 ( { 𝑥 ∈ 𝒫 𝑠 ∣ ( ♯ ‘ 𝑥 ) = 𝑀 } ≠ ∅ ↔ ∃ 𝑥 ∈ 𝒫 𝑠 ( ♯ ‘ 𝑥 ) = 𝑀 )
35 33 34 sylibr ( ( 𝑀 ∈ ℕ0𝑀 ≤ ( ♯ ‘ 𝑠 ) ) → { 𝑥 ∈ 𝒫 𝑠 ∣ ( ♯ ‘ 𝑥 ) = 𝑀 } ≠ ∅ )
36 11 35 eqnetrd ( ( 𝑀 ∈ ℕ0𝑀 ≤ ( ♯ ‘ 𝑠 ) ) → ( 𝑠 ( 𝑎 ∈ V , 𝑖 ∈ ℕ0 ↦ { 𝑏 ∈ 𝒫 𝑎 ∣ ( ♯ ‘ 𝑏 ) = 𝑖 } ) 𝑀 ) ≠ ∅ )
37 36 neneqd ( ( 𝑀 ∈ ℕ0𝑀 ≤ ( ♯ ‘ 𝑠 ) ) → ¬ ( 𝑠 ( 𝑎 ∈ V , 𝑖 ∈ ℕ0 ↦ { 𝑏 ∈ 𝒫 𝑎 ∣ ( ♯ ‘ 𝑏 ) = 𝑖 } ) 𝑀 ) = ∅ )
38 37 pm2.21d ( ( 𝑀 ∈ ℕ0𝑀 ≤ ( ♯ ‘ 𝑠 ) ) → ( ( 𝑠 ( 𝑎 ∈ V , 𝑖 ∈ ℕ0 ↦ { 𝑏 ∈ 𝒫 𝑎 ∣ ( ♯ ‘ 𝑏 ) = 𝑖 } ) 𝑀 ) = ∅ → ∃ 𝑐 ∈ ∅ ∃ 𝑥 ∈ 𝒫 𝑠 ( ( ∅ ‘ 𝑐 ) ≤ ( ♯ ‘ 𝑥 ) ∧ ( 𝑥 ( 𝑎 ∈ V , 𝑖 ∈ ℕ0 ↦ { 𝑏 ∈ 𝒫 𝑎 ∣ ( ♯ ‘ 𝑏 ) = 𝑖 } ) 𝑀 ) ⊆ ( 𝑓 “ { 𝑐 } ) ) ) )
39 38 adantld ( ( 𝑀 ∈ ℕ0𝑀 ≤ ( ♯ ‘ 𝑠 ) ) → ( ( 𝑓 = ∅ ∧ ( 𝑠 ( 𝑎 ∈ V , 𝑖 ∈ ℕ0 ↦ { 𝑏 ∈ 𝒫 𝑎 ∣ ( ♯ ‘ 𝑏 ) = 𝑖 } ) 𝑀 ) = ∅ ) → ∃ 𝑐 ∈ ∅ ∃ 𝑥 ∈ 𝒫 𝑠 ( ( ∅ ‘ 𝑐 ) ≤ ( ♯ ‘ 𝑥 ) ∧ ( 𝑥 ( 𝑎 ∈ V , 𝑖 ∈ ℕ0 ↦ { 𝑏 ∈ 𝒫 𝑎 ∣ ( ♯ ‘ 𝑏 ) = 𝑖 } ) 𝑀 ) ⊆ ( 𝑓 “ { 𝑐 } ) ) ) )
40 7 39 syl5bi ( ( 𝑀 ∈ ℕ0𝑀 ≤ ( ♯ ‘ 𝑠 ) ) → ( 𝑓 : ( 𝑠 ( 𝑎 ∈ V , 𝑖 ∈ ℕ0 ↦ { 𝑏 ∈ 𝒫 𝑎 ∣ ( ♯ ‘ 𝑏 ) = 𝑖 } ) 𝑀 ) ⟶ ∅ → ∃ 𝑐 ∈ ∅ ∃ 𝑥 ∈ 𝒫 𝑠 ( ( ∅ ‘ 𝑐 ) ≤ ( ♯ ‘ 𝑥 ) ∧ ( 𝑥 ( 𝑎 ∈ V , 𝑖 ∈ ℕ0 ↦ { 𝑏 ∈ 𝒫 𝑎 ∣ ( ♯ ‘ 𝑏 ) = 𝑖 } ) 𝑀 ) ⊆ ( 𝑓 “ { 𝑐 } ) ) ) )
41 40 impr ( ( 𝑀 ∈ ℕ0 ∧ ( 𝑀 ≤ ( ♯ ‘ 𝑠 ) ∧ 𝑓 : ( 𝑠 ( 𝑎 ∈ V , 𝑖 ∈ ℕ0 ↦ { 𝑏 ∈ 𝒫 𝑎 ∣ ( ♯ ‘ 𝑏 ) = 𝑖 } ) 𝑀 ) ⟶ ∅ ) ) → ∃ 𝑐 ∈ ∅ ∃ 𝑥 ∈ 𝒫 𝑠 ( ( ∅ ‘ 𝑐 ) ≤ ( ♯ ‘ 𝑥 ) ∧ ( 𝑥 ( 𝑎 ∈ V , 𝑖 ∈ ℕ0 ↦ { 𝑏 ∈ 𝒫 𝑎 ∣ ( ♯ ‘ 𝑏 ) = 𝑖 } ) 𝑀 ) ⊆ ( 𝑓 “ { 𝑐 } ) ) )
42 1 2 4 6 2 41 ramub ( 𝑀 ∈ ℕ0 → ( 𝑀 Ramsey ∅ ) ≤ 𝑀 )
43 nnnn0 ( 𝑀 ∈ ℕ → 𝑀 ∈ ℕ0 )
44 3 a1i ( 𝑀 ∈ ℕ → ∅ ∈ V )
45 5 a1i ( 𝑀 ∈ ℕ → ∅ : ∅ ⟶ ℕ0 )
46 nnm1nn0 ( 𝑀 ∈ ℕ → ( 𝑀 − 1 ) ∈ ℕ0 )
47 f0 ∅ : ∅ ⟶ ∅
48 fzfid ( 𝑀 ∈ ℕ → ( 1 ... ( 𝑀 − 1 ) ) ∈ Fin )
49 1 hashbc2 ( ( ( 1 ... ( 𝑀 − 1 ) ) ∈ Fin ∧ 𝑀 ∈ ℕ0 ) → ( ♯ ‘ ( ( 1 ... ( 𝑀 − 1 ) ) ( 𝑎 ∈ V , 𝑖 ∈ ℕ0 ↦ { 𝑏 ∈ 𝒫 𝑎 ∣ ( ♯ ‘ 𝑏 ) = 𝑖 } ) 𝑀 ) ) = ( ( ♯ ‘ ( 1 ... ( 𝑀 − 1 ) ) ) C 𝑀 ) )
50 48 43 49 syl2anc ( 𝑀 ∈ ℕ → ( ♯ ‘ ( ( 1 ... ( 𝑀 − 1 ) ) ( 𝑎 ∈ V , 𝑖 ∈ ℕ0 ↦ { 𝑏 ∈ 𝒫 𝑎 ∣ ( ♯ ‘ 𝑏 ) = 𝑖 } ) 𝑀 ) ) = ( ( ♯ ‘ ( 1 ... ( 𝑀 − 1 ) ) ) C 𝑀 ) )
51 hashfz1 ( ( 𝑀 − 1 ) ∈ ℕ0 → ( ♯ ‘ ( 1 ... ( 𝑀 − 1 ) ) ) = ( 𝑀 − 1 ) )
52 46 51 syl ( 𝑀 ∈ ℕ → ( ♯ ‘ ( 1 ... ( 𝑀 − 1 ) ) ) = ( 𝑀 − 1 ) )
53 52 oveq1d ( 𝑀 ∈ ℕ → ( ( ♯ ‘ ( 1 ... ( 𝑀 − 1 ) ) ) C 𝑀 ) = ( ( 𝑀 − 1 ) C 𝑀 ) )
54 nnz ( 𝑀 ∈ ℕ → 𝑀 ∈ ℤ )
55 nnre ( 𝑀 ∈ ℕ → 𝑀 ∈ ℝ )
56 55 ltm1d ( 𝑀 ∈ ℕ → ( 𝑀 − 1 ) < 𝑀 )
57 56 olcd ( 𝑀 ∈ ℕ → ( 𝑀 < 0 ∨ ( 𝑀 − 1 ) < 𝑀 ) )
58 bcval4 ( ( ( 𝑀 − 1 ) ∈ ℕ0𝑀 ∈ ℤ ∧ ( 𝑀 < 0 ∨ ( 𝑀 − 1 ) < 𝑀 ) ) → ( ( 𝑀 − 1 ) C 𝑀 ) = 0 )
59 46 54 57 58 syl3anc ( 𝑀 ∈ ℕ → ( ( 𝑀 − 1 ) C 𝑀 ) = 0 )
60 50 53 59 3eqtrd ( 𝑀 ∈ ℕ → ( ♯ ‘ ( ( 1 ... ( 𝑀 − 1 ) ) ( 𝑎 ∈ V , 𝑖 ∈ ℕ0 ↦ { 𝑏 ∈ 𝒫 𝑎 ∣ ( ♯ ‘ 𝑏 ) = 𝑖 } ) 𝑀 ) ) = 0 )
61 ovex ( ( 1 ... ( 𝑀 − 1 ) ) ( 𝑎 ∈ V , 𝑖 ∈ ℕ0 ↦ { 𝑏 ∈ 𝒫 𝑎 ∣ ( ♯ ‘ 𝑏 ) = 𝑖 } ) 𝑀 ) ∈ V
62 hasheq0 ( ( ( 1 ... ( 𝑀 − 1 ) ) ( 𝑎 ∈ V , 𝑖 ∈ ℕ0 ↦ { 𝑏 ∈ 𝒫 𝑎 ∣ ( ♯ ‘ 𝑏 ) = 𝑖 } ) 𝑀 ) ∈ V → ( ( ♯ ‘ ( ( 1 ... ( 𝑀 − 1 ) ) ( 𝑎 ∈ V , 𝑖 ∈ ℕ0 ↦ { 𝑏 ∈ 𝒫 𝑎 ∣ ( ♯ ‘ 𝑏 ) = 𝑖 } ) 𝑀 ) ) = 0 ↔ ( ( 1 ... ( 𝑀 − 1 ) ) ( 𝑎 ∈ V , 𝑖 ∈ ℕ0 ↦ { 𝑏 ∈ 𝒫 𝑎 ∣ ( ♯ ‘ 𝑏 ) = 𝑖 } ) 𝑀 ) = ∅ ) )
63 61 62 ax-mp ( ( ♯ ‘ ( ( 1 ... ( 𝑀 − 1 ) ) ( 𝑎 ∈ V , 𝑖 ∈ ℕ0 ↦ { 𝑏 ∈ 𝒫 𝑎 ∣ ( ♯ ‘ 𝑏 ) = 𝑖 } ) 𝑀 ) ) = 0 ↔ ( ( 1 ... ( 𝑀 − 1 ) ) ( 𝑎 ∈ V , 𝑖 ∈ ℕ0 ↦ { 𝑏 ∈ 𝒫 𝑎 ∣ ( ♯ ‘ 𝑏 ) = 𝑖 } ) 𝑀 ) = ∅ )
64 60 63 sylib ( 𝑀 ∈ ℕ → ( ( 1 ... ( 𝑀 − 1 ) ) ( 𝑎 ∈ V , 𝑖 ∈ ℕ0 ↦ { 𝑏 ∈ 𝒫 𝑎 ∣ ( ♯ ‘ 𝑏 ) = 𝑖 } ) 𝑀 ) = ∅ )
65 64 feq2d ( 𝑀 ∈ ℕ → ( ∅ : ( ( 1 ... ( 𝑀 − 1 ) ) ( 𝑎 ∈ V , 𝑖 ∈ ℕ0 ↦ { 𝑏 ∈ 𝒫 𝑎 ∣ ( ♯ ‘ 𝑏 ) = 𝑖 } ) 𝑀 ) ⟶ ∅ ↔ ∅ : ∅ ⟶ ∅ ) )
66 47 65 mpbiri ( 𝑀 ∈ ℕ → ∅ : ( ( 1 ... ( 𝑀 − 1 ) ) ( 𝑎 ∈ V , 𝑖 ∈ ℕ0 ↦ { 𝑏 ∈ 𝒫 𝑎 ∣ ( ♯ ‘ 𝑏 ) = 𝑖 } ) 𝑀 ) ⟶ ∅ )
67 noel ¬ 𝑐 ∈ ∅
68 67 pm2.21i ( 𝑐 ∈ ∅ → ( ( 𝑥 ( 𝑎 ∈ V , 𝑖 ∈ ℕ0 ↦ { 𝑏 ∈ 𝒫 𝑎 ∣ ( ♯ ‘ 𝑏 ) = 𝑖 } ) 𝑀 ) ⊆ ( ∅ “ { 𝑐 } ) → ( ♯ ‘ 𝑥 ) < ( ∅ ‘ 𝑐 ) ) )
69 68 ad2antrl ( ( 𝑀 ∈ ℕ ∧ ( 𝑐 ∈ ∅ ∧ 𝑥 ⊆ ( 1 ... ( 𝑀 − 1 ) ) ) ) → ( ( 𝑥 ( 𝑎 ∈ V , 𝑖 ∈ ℕ0 ↦ { 𝑏 ∈ 𝒫 𝑎 ∣ ( ♯ ‘ 𝑏 ) = 𝑖 } ) 𝑀 ) ⊆ ( ∅ “ { 𝑐 } ) → ( ♯ ‘ 𝑥 ) < ( ∅ ‘ 𝑐 ) ) )
70 1 43 44 45 46 66 69 ramlb ( 𝑀 ∈ ℕ → ( 𝑀 − 1 ) < ( 𝑀 Ramsey ∅ ) )
71 ramubcl ( ( ( 𝑀 ∈ ℕ0 ∧ ∅ ∈ V ∧ ∅ : ∅ ⟶ ℕ0 ) ∧ ( 𝑀 ∈ ℕ0 ∧ ( 𝑀 Ramsey ∅ ) ≤ 𝑀 ) ) → ( 𝑀 Ramsey ∅ ) ∈ ℕ0 )
72 2 4 6 2 42 71 syl32anc ( 𝑀 ∈ ℕ0 → ( 𝑀 Ramsey ∅ ) ∈ ℕ0 )
73 nn0lem1lt ( ( 𝑀 ∈ ℕ0 ∧ ( 𝑀 Ramsey ∅ ) ∈ ℕ0 ) → ( 𝑀 ≤ ( 𝑀 Ramsey ∅ ) ↔ ( 𝑀 − 1 ) < ( 𝑀 Ramsey ∅ ) ) )
74 43 72 73 syl2anc2 ( 𝑀 ∈ ℕ → ( 𝑀 ≤ ( 𝑀 Ramsey ∅ ) ↔ ( 𝑀 − 1 ) < ( 𝑀 Ramsey ∅ ) ) )
75 70 74 mpbird ( 𝑀 ∈ ℕ → 𝑀 ≤ ( 𝑀 Ramsey ∅ ) )
76 75 a1i ( 𝑀 ∈ ℕ0 → ( 𝑀 ∈ ℕ → 𝑀 ≤ ( 𝑀 Ramsey ∅ ) ) )
77 72 nn0ge0d ( 𝑀 ∈ ℕ0 → 0 ≤ ( 𝑀 Ramsey ∅ ) )
78 breq1 ( 𝑀 = 0 → ( 𝑀 ≤ ( 𝑀 Ramsey ∅ ) ↔ 0 ≤ ( 𝑀 Ramsey ∅ ) ) )
79 77 78 syl5ibrcom ( 𝑀 ∈ ℕ0 → ( 𝑀 = 0 → 𝑀 ≤ ( 𝑀 Ramsey ∅ ) ) )
80 elnn0 ( 𝑀 ∈ ℕ0 ↔ ( 𝑀 ∈ ℕ ∨ 𝑀 = 0 ) )
81 80 biimpi ( 𝑀 ∈ ℕ0 → ( 𝑀 ∈ ℕ ∨ 𝑀 = 0 ) )
82 76 79 81 mpjaod ( 𝑀 ∈ ℕ0𝑀 ≤ ( 𝑀 Ramsey ∅ ) )
83 72 nn0red ( 𝑀 ∈ ℕ0 → ( 𝑀 Ramsey ∅ ) ∈ ℝ )
84 nn0re ( 𝑀 ∈ ℕ0𝑀 ∈ ℝ )
85 83 84 letri3d ( 𝑀 ∈ ℕ0 → ( ( 𝑀 Ramsey ∅ ) = 𝑀 ↔ ( ( 𝑀 Ramsey ∅ ) ≤ 𝑀𝑀 ≤ ( 𝑀 Ramsey ∅ ) ) ) )
86 42 82 85 mpbir2and ( 𝑀 ∈ ℕ0 → ( 𝑀 Ramsey ∅ ) = 𝑀 )