Metamath Proof Explorer


Theorem zbtwnre

Description: There is a unique integer between a real number and the number plus one. Exercise 5 of Apostol p. 28. (Contributed by NM, 13-Nov-2004)

Ref Expression
Assertion zbtwnre ( 𝐴 ∈ ℝ → ∃! 𝑥 ∈ ℤ ( 𝐴𝑥𝑥 < ( 𝐴 + 1 ) ) )

Proof

Step Hyp Ref Expression
1 zmin ( 𝐴 ∈ ℝ → ∃! 𝑥 ∈ ℤ ( 𝐴𝑥 ∧ ∀ 𝑦 ∈ ℤ ( 𝐴𝑦𝑥𝑦 ) ) )
2 zre ( 𝑦 ∈ ℤ → 𝑦 ∈ ℝ )
3 zre ( 𝑥 ∈ ℤ → 𝑥 ∈ ℝ )
4 peano2rem ( 𝑥 ∈ ℝ → ( 𝑥 − 1 ) ∈ ℝ )
5 3 4 syl ( 𝑥 ∈ ℤ → ( 𝑥 − 1 ) ∈ ℝ )
6 ltletr ( ( ( 𝑥 − 1 ) ∈ ℝ ∧ 𝐴 ∈ ℝ ∧ 𝑦 ∈ ℝ ) → ( ( ( 𝑥 − 1 ) < 𝐴𝐴𝑦 ) → ( 𝑥 − 1 ) < 𝑦 ) )
7 5 6 syl3an1 ( ( 𝑥 ∈ ℤ ∧ 𝐴 ∈ ℝ ∧ 𝑦 ∈ ℝ ) → ( ( ( 𝑥 − 1 ) < 𝐴𝐴𝑦 ) → ( 𝑥 − 1 ) < 𝑦 ) )
8 7 3expa ( ( ( 𝑥 ∈ ℤ ∧ 𝐴 ∈ ℝ ) ∧ 𝑦 ∈ ℝ ) → ( ( ( 𝑥 − 1 ) < 𝐴𝐴𝑦 ) → ( 𝑥 − 1 ) < 𝑦 ) )
9 2 8 sylan2 ( ( ( 𝑥 ∈ ℤ ∧ 𝐴 ∈ ℝ ) ∧ 𝑦 ∈ ℤ ) → ( ( ( 𝑥 − 1 ) < 𝐴𝐴𝑦 ) → ( 𝑥 − 1 ) < 𝑦 ) )
10 zlem1lt ( ( 𝑥 ∈ ℤ ∧ 𝑦 ∈ ℤ ) → ( 𝑥𝑦 ↔ ( 𝑥 − 1 ) < 𝑦 ) )
11 10 adantlr ( ( ( 𝑥 ∈ ℤ ∧ 𝐴 ∈ ℝ ) ∧ 𝑦 ∈ ℤ ) → ( 𝑥𝑦 ↔ ( 𝑥 − 1 ) < 𝑦 ) )
12 9 11 sylibrd ( ( ( 𝑥 ∈ ℤ ∧ 𝐴 ∈ ℝ ) ∧ 𝑦 ∈ ℤ ) → ( ( ( 𝑥 − 1 ) < 𝐴𝐴𝑦 ) → 𝑥𝑦 ) )
13 12 exp4b ( ( 𝑥 ∈ ℤ ∧ 𝐴 ∈ ℝ ) → ( 𝑦 ∈ ℤ → ( ( 𝑥 − 1 ) < 𝐴 → ( 𝐴𝑦𝑥𝑦 ) ) ) )
14 13 com23 ( ( 𝑥 ∈ ℤ ∧ 𝐴 ∈ ℝ ) → ( ( 𝑥 − 1 ) < 𝐴 → ( 𝑦 ∈ ℤ → ( 𝐴𝑦𝑥𝑦 ) ) ) )
15 14 ralrimdv ( ( 𝑥 ∈ ℤ ∧ 𝐴 ∈ ℝ ) → ( ( 𝑥 − 1 ) < 𝐴 → ∀ 𝑦 ∈ ℤ ( 𝐴𝑦𝑥𝑦 ) ) )
16 5 ltnrd ( 𝑥 ∈ ℤ → ¬ ( 𝑥 − 1 ) < ( 𝑥 − 1 ) )
17 peano2zm ( 𝑥 ∈ ℤ → ( 𝑥 − 1 ) ∈ ℤ )
18 zlem1lt ( ( 𝑥 ∈ ℤ ∧ ( 𝑥 − 1 ) ∈ ℤ ) → ( 𝑥 ≤ ( 𝑥 − 1 ) ↔ ( 𝑥 − 1 ) < ( 𝑥 − 1 ) ) )
19 17 18 mpdan ( 𝑥 ∈ ℤ → ( 𝑥 ≤ ( 𝑥 − 1 ) ↔ ( 𝑥 − 1 ) < ( 𝑥 − 1 ) ) )
20 16 19 mtbird ( 𝑥 ∈ ℤ → ¬ 𝑥 ≤ ( 𝑥 − 1 ) )
21 20 ad2antrr ( ( ( 𝑥 ∈ ℤ ∧ 𝐴 ∈ ℝ ) ∧ ∀ 𝑦 ∈ ℤ ( 𝐴𝑦𝑥𝑦 ) ) → ¬ 𝑥 ≤ ( 𝑥 − 1 ) )
22 lenlt ( ( 𝐴 ∈ ℝ ∧ ( 𝑥 − 1 ) ∈ ℝ ) → ( 𝐴 ≤ ( 𝑥 − 1 ) ↔ ¬ ( 𝑥 − 1 ) < 𝐴 ) )
23 5 22 sylan2 ( ( 𝐴 ∈ ℝ ∧ 𝑥 ∈ ℤ ) → ( 𝐴 ≤ ( 𝑥 − 1 ) ↔ ¬ ( 𝑥 − 1 ) < 𝐴 ) )
24 23 ancoms ( ( 𝑥 ∈ ℤ ∧ 𝐴 ∈ ℝ ) → ( 𝐴 ≤ ( 𝑥 − 1 ) ↔ ¬ ( 𝑥 − 1 ) < 𝐴 ) )
25 24 adantr ( ( ( 𝑥 ∈ ℤ ∧ 𝐴 ∈ ℝ ) ∧ ∀ 𝑦 ∈ ℤ ( 𝐴𝑦𝑥𝑦 ) ) → ( 𝐴 ≤ ( 𝑥 − 1 ) ↔ ¬ ( 𝑥 − 1 ) < 𝐴 ) )
26 breq2 ( 𝑦 = ( 𝑥 − 1 ) → ( 𝐴𝑦𝐴 ≤ ( 𝑥 − 1 ) ) )
27 breq2 ( 𝑦 = ( 𝑥 − 1 ) → ( 𝑥𝑦𝑥 ≤ ( 𝑥 − 1 ) ) )
28 26 27 imbi12d ( 𝑦 = ( 𝑥 − 1 ) → ( ( 𝐴𝑦𝑥𝑦 ) ↔ ( 𝐴 ≤ ( 𝑥 − 1 ) → 𝑥 ≤ ( 𝑥 − 1 ) ) ) )
29 28 rspcv ( ( 𝑥 − 1 ) ∈ ℤ → ( ∀ 𝑦 ∈ ℤ ( 𝐴𝑦𝑥𝑦 ) → ( 𝐴 ≤ ( 𝑥 − 1 ) → 𝑥 ≤ ( 𝑥 − 1 ) ) ) )
30 17 29 syl ( 𝑥 ∈ ℤ → ( ∀ 𝑦 ∈ ℤ ( 𝐴𝑦𝑥𝑦 ) → ( 𝐴 ≤ ( 𝑥 − 1 ) → 𝑥 ≤ ( 𝑥 − 1 ) ) ) )
31 30 imp ( ( 𝑥 ∈ ℤ ∧ ∀ 𝑦 ∈ ℤ ( 𝐴𝑦𝑥𝑦 ) ) → ( 𝐴 ≤ ( 𝑥 − 1 ) → 𝑥 ≤ ( 𝑥 − 1 ) ) )
32 31 adantlr ( ( ( 𝑥 ∈ ℤ ∧ 𝐴 ∈ ℝ ) ∧ ∀ 𝑦 ∈ ℤ ( 𝐴𝑦𝑥𝑦 ) ) → ( 𝐴 ≤ ( 𝑥 − 1 ) → 𝑥 ≤ ( 𝑥 − 1 ) ) )
33 25 32 sylbird ( ( ( 𝑥 ∈ ℤ ∧ 𝐴 ∈ ℝ ) ∧ ∀ 𝑦 ∈ ℤ ( 𝐴𝑦𝑥𝑦 ) ) → ( ¬ ( 𝑥 − 1 ) < 𝐴𝑥 ≤ ( 𝑥 − 1 ) ) )
34 21 33 mt3d ( ( ( 𝑥 ∈ ℤ ∧ 𝐴 ∈ ℝ ) ∧ ∀ 𝑦 ∈ ℤ ( 𝐴𝑦𝑥𝑦 ) ) → ( 𝑥 − 1 ) < 𝐴 )
35 34 ex ( ( 𝑥 ∈ ℤ ∧ 𝐴 ∈ ℝ ) → ( ∀ 𝑦 ∈ ℤ ( 𝐴𝑦𝑥𝑦 ) → ( 𝑥 − 1 ) < 𝐴 ) )
36 15 35 impbid ( ( 𝑥 ∈ ℤ ∧ 𝐴 ∈ ℝ ) → ( ( 𝑥 − 1 ) < 𝐴 ↔ ∀ 𝑦 ∈ ℤ ( 𝐴𝑦𝑥𝑦 ) ) )
37 1re 1 ∈ ℝ
38 ltsubadd ( ( 𝑥 ∈ ℝ ∧ 1 ∈ ℝ ∧ 𝐴 ∈ ℝ ) → ( ( 𝑥 − 1 ) < 𝐴𝑥 < ( 𝐴 + 1 ) ) )
39 37 38 mp3an2 ( ( 𝑥 ∈ ℝ ∧ 𝐴 ∈ ℝ ) → ( ( 𝑥 − 1 ) < 𝐴𝑥 < ( 𝐴 + 1 ) ) )
40 3 39 sylan ( ( 𝑥 ∈ ℤ ∧ 𝐴 ∈ ℝ ) → ( ( 𝑥 − 1 ) < 𝐴𝑥 < ( 𝐴 + 1 ) ) )
41 36 40 bitr3d ( ( 𝑥 ∈ ℤ ∧ 𝐴 ∈ ℝ ) → ( ∀ 𝑦 ∈ ℤ ( 𝐴𝑦𝑥𝑦 ) ↔ 𝑥 < ( 𝐴 + 1 ) ) )
42 41 ancoms ( ( 𝐴 ∈ ℝ ∧ 𝑥 ∈ ℤ ) → ( ∀ 𝑦 ∈ ℤ ( 𝐴𝑦𝑥𝑦 ) ↔ 𝑥 < ( 𝐴 + 1 ) ) )
43 42 anbi2d ( ( 𝐴 ∈ ℝ ∧ 𝑥 ∈ ℤ ) → ( ( 𝐴𝑥 ∧ ∀ 𝑦 ∈ ℤ ( 𝐴𝑦𝑥𝑦 ) ) ↔ ( 𝐴𝑥𝑥 < ( 𝐴 + 1 ) ) ) )
44 43 reubidva ( 𝐴 ∈ ℝ → ( ∃! 𝑥 ∈ ℤ ( 𝐴𝑥 ∧ ∀ 𝑦 ∈ ℤ ( 𝐴𝑦𝑥𝑦 ) ) ↔ ∃! 𝑥 ∈ ℤ ( 𝐴𝑥𝑥 < ( 𝐴 + 1 ) ) ) )
45 1 44 mpbid ( 𝐴 ∈ ℝ → ∃! 𝑥 ∈ ℤ ( 𝐴𝑥𝑥 < ( 𝐴 + 1 ) ) )