Metamath Proof Explorer


Theorem ramtlecl

Description: The set T of numbers with the Ramsey number property is upward-closed. (Contributed by Mario Carneiro, 21-Apr-2015)

Ref Expression
Hypothesis ramtlecl.t 𝑇 = { 𝑛 ∈ ℕ0 ∣ ∀ 𝑠 ( 𝑛 ≤ ( ♯ ‘ 𝑠 ) → 𝜑 ) }
Assertion ramtlecl ( 𝑀𝑇 → ( ℤ𝑀 ) ⊆ 𝑇 )

Proof

Step Hyp Ref Expression
1 ramtlecl.t 𝑇 = { 𝑛 ∈ ℕ0 ∣ ∀ 𝑠 ( 𝑛 ≤ ( ♯ ‘ 𝑠 ) → 𝜑 ) }
2 breq1 ( 𝑛 = 𝑀 → ( 𝑛 ≤ ( ♯ ‘ 𝑠 ) ↔ 𝑀 ≤ ( ♯ ‘ 𝑠 ) ) )
3 2 imbi1d ( 𝑛 = 𝑀 → ( ( 𝑛 ≤ ( ♯ ‘ 𝑠 ) → 𝜑 ) ↔ ( 𝑀 ≤ ( ♯ ‘ 𝑠 ) → 𝜑 ) ) )
4 3 albidv ( 𝑛 = 𝑀 → ( ∀ 𝑠 ( 𝑛 ≤ ( ♯ ‘ 𝑠 ) → 𝜑 ) ↔ ∀ 𝑠 ( 𝑀 ≤ ( ♯ ‘ 𝑠 ) → 𝜑 ) ) )
5 4 1 elrab2 ( 𝑀𝑇 ↔ ( 𝑀 ∈ ℕ0 ∧ ∀ 𝑠 ( 𝑀 ≤ ( ♯ ‘ 𝑠 ) → 𝜑 ) ) )
6 5 simplbi ( 𝑀𝑇𝑀 ∈ ℕ0 )
7 eluznn0 ( ( 𝑀 ∈ ℕ0𝑛 ∈ ( ℤ𝑀 ) ) → 𝑛 ∈ ℕ0 )
8 7 ex ( 𝑀 ∈ ℕ0 → ( 𝑛 ∈ ( ℤ𝑀 ) → 𝑛 ∈ ℕ0 ) )
9 8 ssrdv ( 𝑀 ∈ ℕ0 → ( ℤ𝑀 ) ⊆ ℕ0 )
10 6 9 syl ( 𝑀𝑇 → ( ℤ𝑀 ) ⊆ ℕ0 )
11 5 simprbi ( 𝑀𝑇 → ∀ 𝑠 ( 𝑀 ≤ ( ♯ ‘ 𝑠 ) → 𝜑 ) )
12 eluzle ( 𝑛 ∈ ( ℤ𝑀 ) → 𝑀𝑛 )
13 12 adantl ( ( 𝑀𝑇𝑛 ∈ ( ℤ𝑀 ) ) → 𝑀𝑛 )
14 nn0ssre 0 ⊆ ℝ
15 ressxr ℝ ⊆ ℝ*
16 14 15 sstri 0 ⊆ ℝ*
17 6 adantr ( ( 𝑀𝑇𝑛 ∈ ( ℤ𝑀 ) ) → 𝑀 ∈ ℕ0 )
18 16 17 sselid ( ( 𝑀𝑇𝑛 ∈ ( ℤ𝑀 ) ) → 𝑀 ∈ ℝ* )
19 6 7 sylan ( ( 𝑀𝑇𝑛 ∈ ( ℤ𝑀 ) ) → 𝑛 ∈ ℕ0 )
20 16 19 sselid ( ( 𝑀𝑇𝑛 ∈ ( ℤ𝑀 ) ) → 𝑛 ∈ ℝ* )
21 vex 𝑠 ∈ V
22 hashxrcl ( 𝑠 ∈ V → ( ♯ ‘ 𝑠 ) ∈ ℝ* )
23 21 22 mp1i ( ( 𝑀𝑇𝑛 ∈ ( ℤ𝑀 ) ) → ( ♯ ‘ 𝑠 ) ∈ ℝ* )
24 xrletr ( ( 𝑀 ∈ ℝ*𝑛 ∈ ℝ* ∧ ( ♯ ‘ 𝑠 ) ∈ ℝ* ) → ( ( 𝑀𝑛𝑛 ≤ ( ♯ ‘ 𝑠 ) ) → 𝑀 ≤ ( ♯ ‘ 𝑠 ) ) )
25 18 20 23 24 syl3anc ( ( 𝑀𝑇𝑛 ∈ ( ℤ𝑀 ) ) → ( ( 𝑀𝑛𝑛 ≤ ( ♯ ‘ 𝑠 ) ) → 𝑀 ≤ ( ♯ ‘ 𝑠 ) ) )
26 13 25 mpand ( ( 𝑀𝑇𝑛 ∈ ( ℤ𝑀 ) ) → ( 𝑛 ≤ ( ♯ ‘ 𝑠 ) → 𝑀 ≤ ( ♯ ‘ 𝑠 ) ) )
27 26 imim1d ( ( 𝑀𝑇𝑛 ∈ ( ℤ𝑀 ) ) → ( ( 𝑀 ≤ ( ♯ ‘ 𝑠 ) → 𝜑 ) → ( 𝑛 ≤ ( ♯ ‘ 𝑠 ) → 𝜑 ) ) )
28 27 ralrimdva ( 𝑀𝑇 → ( ( 𝑀 ≤ ( ♯ ‘ 𝑠 ) → 𝜑 ) → ∀ 𝑛 ∈ ( ℤ𝑀 ) ( 𝑛 ≤ ( ♯ ‘ 𝑠 ) → 𝜑 ) ) )
29 28 alimdv ( 𝑀𝑇 → ( ∀ 𝑠 ( 𝑀 ≤ ( ♯ ‘ 𝑠 ) → 𝜑 ) → ∀ 𝑠𝑛 ∈ ( ℤ𝑀 ) ( 𝑛 ≤ ( ♯ ‘ 𝑠 ) → 𝜑 ) ) )
30 11 29 mpd ( 𝑀𝑇 → ∀ 𝑠𝑛 ∈ ( ℤ𝑀 ) ( 𝑛 ≤ ( ♯ ‘ 𝑠 ) → 𝜑 ) )
31 ralcom4 ( ∀ 𝑛 ∈ ( ℤ𝑀 ) ∀ 𝑠 ( 𝑛 ≤ ( ♯ ‘ 𝑠 ) → 𝜑 ) ↔ ∀ 𝑠𝑛 ∈ ( ℤ𝑀 ) ( 𝑛 ≤ ( ♯ ‘ 𝑠 ) → 𝜑 ) )
32 30 31 sylibr ( 𝑀𝑇 → ∀ 𝑛 ∈ ( ℤ𝑀 ) ∀ 𝑠 ( 𝑛 ≤ ( ♯ ‘ 𝑠 ) → 𝜑 ) )
33 ssrab ( ( ℤ𝑀 ) ⊆ { 𝑛 ∈ ℕ0 ∣ ∀ 𝑠 ( 𝑛 ≤ ( ♯ ‘ 𝑠 ) → 𝜑 ) } ↔ ( ( ℤ𝑀 ) ⊆ ℕ0 ∧ ∀ 𝑛 ∈ ( ℤ𝑀 ) ∀ 𝑠 ( 𝑛 ≤ ( ♯ ‘ 𝑠 ) → 𝜑 ) ) )
34 10 32 33 sylanbrc ( 𝑀𝑇 → ( ℤ𝑀 ) ⊆ { 𝑛 ∈ ℕ0 ∣ ∀ 𝑠 ( 𝑛 ≤ ( ♯ ‘ 𝑠 ) → 𝜑 ) } )
35 34 1 sseqtrrdi ( 𝑀𝑇 → ( ℤ𝑀 ) ⊆ 𝑇 )