Metamath Proof Explorer


Theorem irrapxlem3

Description: Lemma for irrapx1 . By subtraction, there is a multiple very close to an integer. (Contributed by Stefan O'Rear, 13-Sep-2014)

Ref Expression
Assertion irrapxlem3 ( ( 𝐴 ∈ ℝ+𝐵 ∈ ℕ ) → ∃ 𝑥 ∈ ( 1 ... 𝐵 ) ∃ 𝑦 ∈ ℕ0 ( abs ‘ ( ( 𝐴 · 𝑥 ) − 𝑦 ) ) < ( 1 / 𝐵 ) )

Proof

Step Hyp Ref Expression
1 irrapxlem2 ( ( 𝐴 ∈ ℝ+𝐵 ∈ ℕ ) → ∃ 𝑎 ∈ ( 0 ... 𝐵 ) ∃ 𝑏 ∈ ( 0 ... 𝐵 ) ( 𝑎 < 𝑏 ∧ ( abs ‘ ( ( ( 𝐴 · 𝑎 ) mod 1 ) − ( ( 𝐴 · 𝑏 ) mod 1 ) ) ) < ( 1 / 𝐵 ) ) )
2 1z 1 ∈ ℤ
3 2 a1i ( ( ( ( 𝐴 ∈ ℝ+𝐵 ∈ ℕ ) ∧ ( 𝑎 ∈ ( 0 ... 𝐵 ) ∧ 𝑏 ∈ ( 0 ... 𝐵 ) ) ) ∧ 𝑎 < 𝑏 ) → 1 ∈ ℤ )
4 simpllr ( ( ( ( 𝐴 ∈ ℝ+𝐵 ∈ ℕ ) ∧ ( 𝑎 ∈ ( 0 ... 𝐵 ) ∧ 𝑏 ∈ ( 0 ... 𝐵 ) ) ) ∧ 𝑎 < 𝑏 ) → 𝐵 ∈ ℕ )
5 4 nnzd ( ( ( ( 𝐴 ∈ ℝ+𝐵 ∈ ℕ ) ∧ ( 𝑎 ∈ ( 0 ... 𝐵 ) ∧ 𝑏 ∈ ( 0 ... 𝐵 ) ) ) ∧ 𝑎 < 𝑏 ) → 𝐵 ∈ ℤ )
6 simplrr ( ( ( ( 𝐴 ∈ ℝ+𝐵 ∈ ℕ ) ∧ ( 𝑎 ∈ ( 0 ... 𝐵 ) ∧ 𝑏 ∈ ( 0 ... 𝐵 ) ) ) ∧ 𝑎 < 𝑏 ) → 𝑏 ∈ ( 0 ... 𝐵 ) )
7 6 elfzelzd ( ( ( ( 𝐴 ∈ ℝ+𝐵 ∈ ℕ ) ∧ ( 𝑎 ∈ ( 0 ... 𝐵 ) ∧ 𝑏 ∈ ( 0 ... 𝐵 ) ) ) ∧ 𝑎 < 𝑏 ) → 𝑏 ∈ ℤ )
8 simplrl ( ( ( ( 𝐴 ∈ ℝ+𝐵 ∈ ℕ ) ∧ ( 𝑎 ∈ ( 0 ... 𝐵 ) ∧ 𝑏 ∈ ( 0 ... 𝐵 ) ) ) ∧ 𝑎 < 𝑏 ) → 𝑎 ∈ ( 0 ... 𝐵 ) )
9 8 elfzelzd ( ( ( ( 𝐴 ∈ ℝ+𝐵 ∈ ℕ ) ∧ ( 𝑎 ∈ ( 0 ... 𝐵 ) ∧ 𝑏 ∈ ( 0 ... 𝐵 ) ) ) ∧ 𝑎 < 𝑏 ) → 𝑎 ∈ ℤ )
10 7 9 zsubcld ( ( ( ( 𝐴 ∈ ℝ+𝐵 ∈ ℕ ) ∧ ( 𝑎 ∈ ( 0 ... 𝐵 ) ∧ 𝑏 ∈ ( 0 ... 𝐵 ) ) ) ∧ 𝑎 < 𝑏 ) → ( 𝑏𝑎 ) ∈ ℤ )
11 1m1e0 ( 1 − 1 ) = 0
12 elfzelz ( 𝑎 ∈ ( 0 ... 𝐵 ) → 𝑎 ∈ ℤ )
13 12 ad2antrl ( ( ( 𝐴 ∈ ℝ+𝐵 ∈ ℕ ) ∧ ( 𝑎 ∈ ( 0 ... 𝐵 ) ∧ 𝑏 ∈ ( 0 ... 𝐵 ) ) ) → 𝑎 ∈ ℤ )
14 13 zred ( ( ( 𝐴 ∈ ℝ+𝐵 ∈ ℕ ) ∧ ( 𝑎 ∈ ( 0 ... 𝐵 ) ∧ 𝑏 ∈ ( 0 ... 𝐵 ) ) ) → 𝑎 ∈ ℝ )
15 elfzelz ( 𝑏 ∈ ( 0 ... 𝐵 ) → 𝑏 ∈ ℤ )
16 15 ad2antll ( ( ( 𝐴 ∈ ℝ+𝐵 ∈ ℕ ) ∧ ( 𝑎 ∈ ( 0 ... 𝐵 ) ∧ 𝑏 ∈ ( 0 ... 𝐵 ) ) ) → 𝑏 ∈ ℤ )
17 16 zred ( ( ( 𝐴 ∈ ℝ+𝐵 ∈ ℕ ) ∧ ( 𝑎 ∈ ( 0 ... 𝐵 ) ∧ 𝑏 ∈ ( 0 ... 𝐵 ) ) ) → 𝑏 ∈ ℝ )
18 14 17 posdifd ( ( ( 𝐴 ∈ ℝ+𝐵 ∈ ℕ ) ∧ ( 𝑎 ∈ ( 0 ... 𝐵 ) ∧ 𝑏 ∈ ( 0 ... 𝐵 ) ) ) → ( 𝑎 < 𝑏 ↔ 0 < ( 𝑏𝑎 ) ) )
19 18 biimpa ( ( ( ( 𝐴 ∈ ℝ+𝐵 ∈ ℕ ) ∧ ( 𝑎 ∈ ( 0 ... 𝐵 ) ∧ 𝑏 ∈ ( 0 ... 𝐵 ) ) ) ∧ 𝑎 < 𝑏 ) → 0 < ( 𝑏𝑎 ) )
20 11 19 eqbrtrid ( ( ( ( 𝐴 ∈ ℝ+𝐵 ∈ ℕ ) ∧ ( 𝑎 ∈ ( 0 ... 𝐵 ) ∧ 𝑏 ∈ ( 0 ... 𝐵 ) ) ) ∧ 𝑎 < 𝑏 ) → ( 1 − 1 ) < ( 𝑏𝑎 ) )
21 zlem1lt ( ( 1 ∈ ℤ ∧ ( 𝑏𝑎 ) ∈ ℤ ) → ( 1 ≤ ( 𝑏𝑎 ) ↔ ( 1 − 1 ) < ( 𝑏𝑎 ) ) )
22 2 10 21 sylancr ( ( ( ( 𝐴 ∈ ℝ+𝐵 ∈ ℕ ) ∧ ( 𝑎 ∈ ( 0 ... 𝐵 ) ∧ 𝑏 ∈ ( 0 ... 𝐵 ) ) ) ∧ 𝑎 < 𝑏 ) → ( 1 ≤ ( 𝑏𝑎 ) ↔ ( 1 − 1 ) < ( 𝑏𝑎 ) ) )
23 20 22 mpbird ( ( ( ( 𝐴 ∈ ℝ+𝐵 ∈ ℕ ) ∧ ( 𝑎 ∈ ( 0 ... 𝐵 ) ∧ 𝑏 ∈ ( 0 ... 𝐵 ) ) ) ∧ 𝑎 < 𝑏 ) → 1 ≤ ( 𝑏𝑎 ) )
24 7 zred ( ( ( ( 𝐴 ∈ ℝ+𝐵 ∈ ℕ ) ∧ ( 𝑎 ∈ ( 0 ... 𝐵 ) ∧ 𝑏 ∈ ( 0 ... 𝐵 ) ) ) ∧ 𝑎 < 𝑏 ) → 𝑏 ∈ ℝ )
25 9 zred ( ( ( ( 𝐴 ∈ ℝ+𝐵 ∈ ℕ ) ∧ ( 𝑎 ∈ ( 0 ... 𝐵 ) ∧ 𝑏 ∈ ( 0 ... 𝐵 ) ) ) ∧ 𝑎 < 𝑏 ) → 𝑎 ∈ ℝ )
26 24 25 resubcld ( ( ( ( 𝐴 ∈ ℝ+𝐵 ∈ ℕ ) ∧ ( 𝑎 ∈ ( 0 ... 𝐵 ) ∧ 𝑏 ∈ ( 0 ... 𝐵 ) ) ) ∧ 𝑎 < 𝑏 ) → ( 𝑏𝑎 ) ∈ ℝ )
27 0red ( ( ( ( 𝐴 ∈ ℝ+𝐵 ∈ ℕ ) ∧ ( 𝑎 ∈ ( 0 ... 𝐵 ) ∧ 𝑏 ∈ ( 0 ... 𝐵 ) ) ) ∧ 𝑎 < 𝑏 ) → 0 ∈ ℝ )
28 24 27 resubcld ( ( ( ( 𝐴 ∈ ℝ+𝐵 ∈ ℕ ) ∧ ( 𝑎 ∈ ( 0 ... 𝐵 ) ∧ 𝑏 ∈ ( 0 ... 𝐵 ) ) ) ∧ 𝑎 < 𝑏 ) → ( 𝑏 − 0 ) ∈ ℝ )
29 4 nnred ( ( ( ( 𝐴 ∈ ℝ+𝐵 ∈ ℕ ) ∧ ( 𝑎 ∈ ( 0 ... 𝐵 ) ∧ 𝑏 ∈ ( 0 ... 𝐵 ) ) ) ∧ 𝑎 < 𝑏 ) → 𝐵 ∈ ℝ )
30 elfzle1 ( 𝑎 ∈ ( 0 ... 𝐵 ) → 0 ≤ 𝑎 )
31 8 30 syl ( ( ( ( 𝐴 ∈ ℝ+𝐵 ∈ ℕ ) ∧ ( 𝑎 ∈ ( 0 ... 𝐵 ) ∧ 𝑏 ∈ ( 0 ... 𝐵 ) ) ) ∧ 𝑎 < 𝑏 ) → 0 ≤ 𝑎 )
32 27 25 24 31 lesub2dd ( ( ( ( 𝐴 ∈ ℝ+𝐵 ∈ ℕ ) ∧ ( 𝑎 ∈ ( 0 ... 𝐵 ) ∧ 𝑏 ∈ ( 0 ... 𝐵 ) ) ) ∧ 𝑎 < 𝑏 ) → ( 𝑏𝑎 ) ≤ ( 𝑏 − 0 ) )
33 24 recnd ( ( ( ( 𝐴 ∈ ℝ+𝐵 ∈ ℕ ) ∧ ( 𝑎 ∈ ( 0 ... 𝐵 ) ∧ 𝑏 ∈ ( 0 ... 𝐵 ) ) ) ∧ 𝑎 < 𝑏 ) → 𝑏 ∈ ℂ )
34 33 subid1d ( ( ( ( 𝐴 ∈ ℝ+𝐵 ∈ ℕ ) ∧ ( 𝑎 ∈ ( 0 ... 𝐵 ) ∧ 𝑏 ∈ ( 0 ... 𝐵 ) ) ) ∧ 𝑎 < 𝑏 ) → ( 𝑏 − 0 ) = 𝑏 )
35 elfzle2 ( 𝑏 ∈ ( 0 ... 𝐵 ) → 𝑏𝐵 )
36 6 35 syl ( ( ( ( 𝐴 ∈ ℝ+𝐵 ∈ ℕ ) ∧ ( 𝑎 ∈ ( 0 ... 𝐵 ) ∧ 𝑏 ∈ ( 0 ... 𝐵 ) ) ) ∧ 𝑎 < 𝑏 ) → 𝑏𝐵 )
37 34 36 eqbrtrd ( ( ( ( 𝐴 ∈ ℝ+𝐵 ∈ ℕ ) ∧ ( 𝑎 ∈ ( 0 ... 𝐵 ) ∧ 𝑏 ∈ ( 0 ... 𝐵 ) ) ) ∧ 𝑎 < 𝑏 ) → ( 𝑏 − 0 ) ≤ 𝐵 )
38 26 28 29 32 37 letrd ( ( ( ( 𝐴 ∈ ℝ+𝐵 ∈ ℕ ) ∧ ( 𝑎 ∈ ( 0 ... 𝐵 ) ∧ 𝑏 ∈ ( 0 ... 𝐵 ) ) ) ∧ 𝑎 < 𝑏 ) → ( 𝑏𝑎 ) ≤ 𝐵 )
39 3 5 10 23 38 elfzd ( ( ( ( 𝐴 ∈ ℝ+𝐵 ∈ ℕ ) ∧ ( 𝑎 ∈ ( 0 ... 𝐵 ) ∧ 𝑏 ∈ ( 0 ... 𝐵 ) ) ) ∧ 𝑎 < 𝑏 ) → ( 𝑏𝑎 ) ∈ ( 1 ... 𝐵 ) )
40 39 adantrr ( ( ( ( 𝐴 ∈ ℝ+𝐵 ∈ ℕ ) ∧ ( 𝑎 ∈ ( 0 ... 𝐵 ) ∧ 𝑏 ∈ ( 0 ... 𝐵 ) ) ) ∧ ( 𝑎 < 𝑏 ∧ ( abs ‘ ( ( ( 𝐴 · 𝑎 ) mod 1 ) − ( ( 𝐴 · 𝑏 ) mod 1 ) ) ) < ( 1 / 𝐵 ) ) ) → ( 𝑏𝑎 ) ∈ ( 1 ... 𝐵 ) )
41 rpre ( 𝐴 ∈ ℝ+𝐴 ∈ ℝ )
42 41 ad3antrrr ( ( ( ( 𝐴 ∈ ℝ+𝐵 ∈ ℕ ) ∧ ( 𝑎 ∈ ( 0 ... 𝐵 ) ∧ 𝑏 ∈ ( 0 ... 𝐵 ) ) ) ∧ 𝑎 < 𝑏 ) → 𝐴 ∈ ℝ )
43 42 25 remulcld ( ( ( ( 𝐴 ∈ ℝ+𝐵 ∈ ℕ ) ∧ ( 𝑎 ∈ ( 0 ... 𝐵 ) ∧ 𝑏 ∈ ( 0 ... 𝐵 ) ) ) ∧ 𝑎 < 𝑏 ) → ( 𝐴 · 𝑎 ) ∈ ℝ )
44 42 24 remulcld ( ( ( ( 𝐴 ∈ ℝ+𝐵 ∈ ℕ ) ∧ ( 𝑎 ∈ ( 0 ... 𝐵 ) ∧ 𝑏 ∈ ( 0 ... 𝐵 ) ) ) ∧ 𝑎 < 𝑏 ) → ( 𝐴 · 𝑏 ) ∈ ℝ )
45 simpr ( ( ( ( 𝐴 ∈ ℝ+𝐵 ∈ ℕ ) ∧ ( 𝑎 ∈ ( 0 ... 𝐵 ) ∧ 𝑏 ∈ ( 0 ... 𝐵 ) ) ) ∧ 𝑎 < 𝑏 ) → 𝑎 < 𝑏 )
46 25 24 45 ltled ( ( ( ( 𝐴 ∈ ℝ+𝐵 ∈ ℕ ) ∧ ( 𝑎 ∈ ( 0 ... 𝐵 ) ∧ 𝑏 ∈ ( 0 ... 𝐵 ) ) ) ∧ 𝑎 < 𝑏 ) → 𝑎𝑏 )
47 rpgt0 ( 𝐴 ∈ ℝ+ → 0 < 𝐴 )
48 47 ad3antrrr ( ( ( ( 𝐴 ∈ ℝ+𝐵 ∈ ℕ ) ∧ ( 𝑎 ∈ ( 0 ... 𝐵 ) ∧ 𝑏 ∈ ( 0 ... 𝐵 ) ) ) ∧ 𝑎 < 𝑏 ) → 0 < 𝐴 )
49 lemul2 ( ( 𝑎 ∈ ℝ ∧ 𝑏 ∈ ℝ ∧ ( 𝐴 ∈ ℝ ∧ 0 < 𝐴 ) ) → ( 𝑎𝑏 ↔ ( 𝐴 · 𝑎 ) ≤ ( 𝐴 · 𝑏 ) ) )
50 25 24 42 48 49 syl112anc ( ( ( ( 𝐴 ∈ ℝ+𝐵 ∈ ℕ ) ∧ ( 𝑎 ∈ ( 0 ... 𝐵 ) ∧ 𝑏 ∈ ( 0 ... 𝐵 ) ) ) ∧ 𝑎 < 𝑏 ) → ( 𝑎𝑏 ↔ ( 𝐴 · 𝑎 ) ≤ ( 𝐴 · 𝑏 ) ) )
51 46 50 mpbid ( ( ( ( 𝐴 ∈ ℝ+𝐵 ∈ ℕ ) ∧ ( 𝑎 ∈ ( 0 ... 𝐵 ) ∧ 𝑏 ∈ ( 0 ... 𝐵 ) ) ) ∧ 𝑎 < 𝑏 ) → ( 𝐴 · 𝑎 ) ≤ ( 𝐴 · 𝑏 ) )
52 flword2 ( ( ( 𝐴 · 𝑎 ) ∈ ℝ ∧ ( 𝐴 · 𝑏 ) ∈ ℝ ∧ ( 𝐴 · 𝑎 ) ≤ ( 𝐴 · 𝑏 ) ) → ( ⌊ ‘ ( 𝐴 · 𝑏 ) ) ∈ ( ℤ ‘ ( ⌊ ‘ ( 𝐴 · 𝑎 ) ) ) )
53 43 44 51 52 syl3anc ( ( ( ( 𝐴 ∈ ℝ+𝐵 ∈ ℕ ) ∧ ( 𝑎 ∈ ( 0 ... 𝐵 ) ∧ 𝑏 ∈ ( 0 ... 𝐵 ) ) ) ∧ 𝑎 < 𝑏 ) → ( ⌊ ‘ ( 𝐴 · 𝑏 ) ) ∈ ( ℤ ‘ ( ⌊ ‘ ( 𝐴 · 𝑎 ) ) ) )
54 uznn0sub ( ( ⌊ ‘ ( 𝐴 · 𝑏 ) ) ∈ ( ℤ ‘ ( ⌊ ‘ ( 𝐴 · 𝑎 ) ) ) → ( ( ⌊ ‘ ( 𝐴 · 𝑏 ) ) − ( ⌊ ‘ ( 𝐴 · 𝑎 ) ) ) ∈ ℕ0 )
55 53 54 syl ( ( ( ( 𝐴 ∈ ℝ+𝐵 ∈ ℕ ) ∧ ( 𝑎 ∈ ( 0 ... 𝐵 ) ∧ 𝑏 ∈ ( 0 ... 𝐵 ) ) ) ∧ 𝑎 < 𝑏 ) → ( ( ⌊ ‘ ( 𝐴 · 𝑏 ) ) − ( ⌊ ‘ ( 𝐴 · 𝑎 ) ) ) ∈ ℕ0 )
56 55 adantrr ( ( ( ( 𝐴 ∈ ℝ+𝐵 ∈ ℕ ) ∧ ( 𝑎 ∈ ( 0 ... 𝐵 ) ∧ 𝑏 ∈ ( 0 ... 𝐵 ) ) ) ∧ ( 𝑎 < 𝑏 ∧ ( abs ‘ ( ( ( 𝐴 · 𝑎 ) mod 1 ) − ( ( 𝐴 · 𝑏 ) mod 1 ) ) ) < ( 1 / 𝐵 ) ) ) → ( ( ⌊ ‘ ( 𝐴 · 𝑏 ) ) − ( ⌊ ‘ ( 𝐴 · 𝑎 ) ) ) ∈ ℕ0 )
57 42 recnd ( ( ( ( 𝐴 ∈ ℝ+𝐵 ∈ ℕ ) ∧ ( 𝑎 ∈ ( 0 ... 𝐵 ) ∧ 𝑏 ∈ ( 0 ... 𝐵 ) ) ) ∧ 𝑎 < 𝑏 ) → 𝐴 ∈ ℂ )
58 25 recnd ( ( ( ( 𝐴 ∈ ℝ+𝐵 ∈ ℕ ) ∧ ( 𝑎 ∈ ( 0 ... 𝐵 ) ∧ 𝑏 ∈ ( 0 ... 𝐵 ) ) ) ∧ 𝑎 < 𝑏 ) → 𝑎 ∈ ℂ )
59 57 33 58 subdid ( ( ( ( 𝐴 ∈ ℝ+𝐵 ∈ ℕ ) ∧ ( 𝑎 ∈ ( 0 ... 𝐵 ) ∧ 𝑏 ∈ ( 0 ... 𝐵 ) ) ) ∧ 𝑎 < 𝑏 ) → ( 𝐴 · ( 𝑏𝑎 ) ) = ( ( 𝐴 · 𝑏 ) − ( 𝐴 · 𝑎 ) ) )
60 59 oveq1d ( ( ( ( 𝐴 ∈ ℝ+𝐵 ∈ ℕ ) ∧ ( 𝑎 ∈ ( 0 ... 𝐵 ) ∧ 𝑏 ∈ ( 0 ... 𝐵 ) ) ) ∧ 𝑎 < 𝑏 ) → ( ( 𝐴 · ( 𝑏𝑎 ) ) − ( ( ⌊ ‘ ( 𝐴 · 𝑏 ) ) − ( ⌊ ‘ ( 𝐴 · 𝑎 ) ) ) ) = ( ( ( 𝐴 · 𝑏 ) − ( 𝐴 · 𝑎 ) ) − ( ( ⌊ ‘ ( 𝐴 · 𝑏 ) ) − ( ⌊ ‘ ( 𝐴 · 𝑎 ) ) ) ) )
61 44 recnd ( ( ( ( 𝐴 ∈ ℝ+𝐵 ∈ ℕ ) ∧ ( 𝑎 ∈ ( 0 ... 𝐵 ) ∧ 𝑏 ∈ ( 0 ... 𝐵 ) ) ) ∧ 𝑎 < 𝑏 ) → ( 𝐴 · 𝑏 ) ∈ ℂ )
62 43 recnd ( ( ( ( 𝐴 ∈ ℝ+𝐵 ∈ ℕ ) ∧ ( 𝑎 ∈ ( 0 ... 𝐵 ) ∧ 𝑏 ∈ ( 0 ... 𝐵 ) ) ) ∧ 𝑎 < 𝑏 ) → ( 𝐴 · 𝑎 ) ∈ ℂ )
63 44 flcld ( ( ( ( 𝐴 ∈ ℝ+𝐵 ∈ ℕ ) ∧ ( 𝑎 ∈ ( 0 ... 𝐵 ) ∧ 𝑏 ∈ ( 0 ... 𝐵 ) ) ) ∧ 𝑎 < 𝑏 ) → ( ⌊ ‘ ( 𝐴 · 𝑏 ) ) ∈ ℤ )
64 63 zcnd ( ( ( ( 𝐴 ∈ ℝ+𝐵 ∈ ℕ ) ∧ ( 𝑎 ∈ ( 0 ... 𝐵 ) ∧ 𝑏 ∈ ( 0 ... 𝐵 ) ) ) ∧ 𝑎 < 𝑏 ) → ( ⌊ ‘ ( 𝐴 · 𝑏 ) ) ∈ ℂ )
65 43 flcld ( ( ( ( 𝐴 ∈ ℝ+𝐵 ∈ ℕ ) ∧ ( 𝑎 ∈ ( 0 ... 𝐵 ) ∧ 𝑏 ∈ ( 0 ... 𝐵 ) ) ) ∧ 𝑎 < 𝑏 ) → ( ⌊ ‘ ( 𝐴 · 𝑎 ) ) ∈ ℤ )
66 65 zcnd ( ( ( ( 𝐴 ∈ ℝ+𝐵 ∈ ℕ ) ∧ ( 𝑎 ∈ ( 0 ... 𝐵 ) ∧ 𝑏 ∈ ( 0 ... 𝐵 ) ) ) ∧ 𝑎 < 𝑏 ) → ( ⌊ ‘ ( 𝐴 · 𝑎 ) ) ∈ ℂ )
67 61 62 64 66 sub4d ( ( ( ( 𝐴 ∈ ℝ+𝐵 ∈ ℕ ) ∧ ( 𝑎 ∈ ( 0 ... 𝐵 ) ∧ 𝑏 ∈ ( 0 ... 𝐵 ) ) ) ∧ 𝑎 < 𝑏 ) → ( ( ( 𝐴 · 𝑏 ) − ( 𝐴 · 𝑎 ) ) − ( ( ⌊ ‘ ( 𝐴 · 𝑏 ) ) − ( ⌊ ‘ ( 𝐴 · 𝑎 ) ) ) ) = ( ( ( 𝐴 · 𝑏 ) − ( ⌊ ‘ ( 𝐴 · 𝑏 ) ) ) − ( ( 𝐴 · 𝑎 ) − ( ⌊ ‘ ( 𝐴 · 𝑎 ) ) ) ) )
68 modfrac ( ( 𝐴 · 𝑏 ) ∈ ℝ → ( ( 𝐴 · 𝑏 ) mod 1 ) = ( ( 𝐴 · 𝑏 ) − ( ⌊ ‘ ( 𝐴 · 𝑏 ) ) ) )
69 44 68 syl ( ( ( ( 𝐴 ∈ ℝ+𝐵 ∈ ℕ ) ∧ ( 𝑎 ∈ ( 0 ... 𝐵 ) ∧ 𝑏 ∈ ( 0 ... 𝐵 ) ) ) ∧ 𝑎 < 𝑏 ) → ( ( 𝐴 · 𝑏 ) mod 1 ) = ( ( 𝐴 · 𝑏 ) − ( ⌊ ‘ ( 𝐴 · 𝑏 ) ) ) )
70 69 eqcomd ( ( ( ( 𝐴 ∈ ℝ+𝐵 ∈ ℕ ) ∧ ( 𝑎 ∈ ( 0 ... 𝐵 ) ∧ 𝑏 ∈ ( 0 ... 𝐵 ) ) ) ∧ 𝑎 < 𝑏 ) → ( ( 𝐴 · 𝑏 ) − ( ⌊ ‘ ( 𝐴 · 𝑏 ) ) ) = ( ( 𝐴 · 𝑏 ) mod 1 ) )
71 modfrac ( ( 𝐴 · 𝑎 ) ∈ ℝ → ( ( 𝐴 · 𝑎 ) mod 1 ) = ( ( 𝐴 · 𝑎 ) − ( ⌊ ‘ ( 𝐴 · 𝑎 ) ) ) )
72 43 71 syl ( ( ( ( 𝐴 ∈ ℝ+𝐵 ∈ ℕ ) ∧ ( 𝑎 ∈ ( 0 ... 𝐵 ) ∧ 𝑏 ∈ ( 0 ... 𝐵 ) ) ) ∧ 𝑎 < 𝑏 ) → ( ( 𝐴 · 𝑎 ) mod 1 ) = ( ( 𝐴 · 𝑎 ) − ( ⌊ ‘ ( 𝐴 · 𝑎 ) ) ) )
73 72 eqcomd ( ( ( ( 𝐴 ∈ ℝ+𝐵 ∈ ℕ ) ∧ ( 𝑎 ∈ ( 0 ... 𝐵 ) ∧ 𝑏 ∈ ( 0 ... 𝐵 ) ) ) ∧ 𝑎 < 𝑏 ) → ( ( 𝐴 · 𝑎 ) − ( ⌊ ‘ ( 𝐴 · 𝑎 ) ) ) = ( ( 𝐴 · 𝑎 ) mod 1 ) )
74 70 73 oveq12d ( ( ( ( 𝐴 ∈ ℝ+𝐵 ∈ ℕ ) ∧ ( 𝑎 ∈ ( 0 ... 𝐵 ) ∧ 𝑏 ∈ ( 0 ... 𝐵 ) ) ) ∧ 𝑎 < 𝑏 ) → ( ( ( 𝐴 · 𝑏 ) − ( ⌊ ‘ ( 𝐴 · 𝑏 ) ) ) − ( ( 𝐴 · 𝑎 ) − ( ⌊ ‘ ( 𝐴 · 𝑎 ) ) ) ) = ( ( ( 𝐴 · 𝑏 ) mod 1 ) − ( ( 𝐴 · 𝑎 ) mod 1 ) ) )
75 60 67 74 3eqtrd ( ( ( ( 𝐴 ∈ ℝ+𝐵 ∈ ℕ ) ∧ ( 𝑎 ∈ ( 0 ... 𝐵 ) ∧ 𝑏 ∈ ( 0 ... 𝐵 ) ) ) ∧ 𝑎 < 𝑏 ) → ( ( 𝐴 · ( 𝑏𝑎 ) ) − ( ( ⌊ ‘ ( 𝐴 · 𝑏 ) ) − ( ⌊ ‘ ( 𝐴 · 𝑎 ) ) ) ) = ( ( ( 𝐴 · 𝑏 ) mod 1 ) − ( ( 𝐴 · 𝑎 ) mod 1 ) ) )
76 75 fveq2d ( ( ( ( 𝐴 ∈ ℝ+𝐵 ∈ ℕ ) ∧ ( 𝑎 ∈ ( 0 ... 𝐵 ) ∧ 𝑏 ∈ ( 0 ... 𝐵 ) ) ) ∧ 𝑎 < 𝑏 ) → ( abs ‘ ( ( 𝐴 · ( 𝑏𝑎 ) ) − ( ( ⌊ ‘ ( 𝐴 · 𝑏 ) ) − ( ⌊ ‘ ( 𝐴 · 𝑎 ) ) ) ) ) = ( abs ‘ ( ( ( 𝐴 · 𝑏 ) mod 1 ) − ( ( 𝐴 · 𝑎 ) mod 1 ) ) ) )
77 1rp 1 ∈ ℝ+
78 77 a1i ( ( ( ( 𝐴 ∈ ℝ+𝐵 ∈ ℕ ) ∧ ( 𝑎 ∈ ( 0 ... 𝐵 ) ∧ 𝑏 ∈ ( 0 ... 𝐵 ) ) ) ∧ 𝑎 < 𝑏 ) → 1 ∈ ℝ+ )
79 44 78 modcld ( ( ( ( 𝐴 ∈ ℝ+𝐵 ∈ ℕ ) ∧ ( 𝑎 ∈ ( 0 ... 𝐵 ) ∧ 𝑏 ∈ ( 0 ... 𝐵 ) ) ) ∧ 𝑎 < 𝑏 ) → ( ( 𝐴 · 𝑏 ) mod 1 ) ∈ ℝ )
80 79 recnd ( ( ( ( 𝐴 ∈ ℝ+𝐵 ∈ ℕ ) ∧ ( 𝑎 ∈ ( 0 ... 𝐵 ) ∧ 𝑏 ∈ ( 0 ... 𝐵 ) ) ) ∧ 𝑎 < 𝑏 ) → ( ( 𝐴 · 𝑏 ) mod 1 ) ∈ ℂ )
81 43 78 modcld ( ( ( ( 𝐴 ∈ ℝ+𝐵 ∈ ℕ ) ∧ ( 𝑎 ∈ ( 0 ... 𝐵 ) ∧ 𝑏 ∈ ( 0 ... 𝐵 ) ) ) ∧ 𝑎 < 𝑏 ) → ( ( 𝐴 · 𝑎 ) mod 1 ) ∈ ℝ )
82 81 recnd ( ( ( ( 𝐴 ∈ ℝ+𝐵 ∈ ℕ ) ∧ ( 𝑎 ∈ ( 0 ... 𝐵 ) ∧ 𝑏 ∈ ( 0 ... 𝐵 ) ) ) ∧ 𝑎 < 𝑏 ) → ( ( 𝐴 · 𝑎 ) mod 1 ) ∈ ℂ )
83 80 82 abssubd ( ( ( ( 𝐴 ∈ ℝ+𝐵 ∈ ℕ ) ∧ ( 𝑎 ∈ ( 0 ... 𝐵 ) ∧ 𝑏 ∈ ( 0 ... 𝐵 ) ) ) ∧ 𝑎 < 𝑏 ) → ( abs ‘ ( ( ( 𝐴 · 𝑏 ) mod 1 ) − ( ( 𝐴 · 𝑎 ) mod 1 ) ) ) = ( abs ‘ ( ( ( 𝐴 · 𝑎 ) mod 1 ) − ( ( 𝐴 · 𝑏 ) mod 1 ) ) ) )
84 76 83 eqtr2d ( ( ( ( 𝐴 ∈ ℝ+𝐵 ∈ ℕ ) ∧ ( 𝑎 ∈ ( 0 ... 𝐵 ) ∧ 𝑏 ∈ ( 0 ... 𝐵 ) ) ) ∧ 𝑎 < 𝑏 ) → ( abs ‘ ( ( ( 𝐴 · 𝑎 ) mod 1 ) − ( ( 𝐴 · 𝑏 ) mod 1 ) ) ) = ( abs ‘ ( ( 𝐴 · ( 𝑏𝑎 ) ) − ( ( ⌊ ‘ ( 𝐴 · 𝑏 ) ) − ( ⌊ ‘ ( 𝐴 · 𝑎 ) ) ) ) ) )
85 84 breq1d ( ( ( ( 𝐴 ∈ ℝ+𝐵 ∈ ℕ ) ∧ ( 𝑎 ∈ ( 0 ... 𝐵 ) ∧ 𝑏 ∈ ( 0 ... 𝐵 ) ) ) ∧ 𝑎 < 𝑏 ) → ( ( abs ‘ ( ( ( 𝐴 · 𝑎 ) mod 1 ) − ( ( 𝐴 · 𝑏 ) mod 1 ) ) ) < ( 1 / 𝐵 ) ↔ ( abs ‘ ( ( 𝐴 · ( 𝑏𝑎 ) ) − ( ( ⌊ ‘ ( 𝐴 · 𝑏 ) ) − ( ⌊ ‘ ( 𝐴 · 𝑎 ) ) ) ) ) < ( 1 / 𝐵 ) ) )
86 85 biimpd ( ( ( ( 𝐴 ∈ ℝ+𝐵 ∈ ℕ ) ∧ ( 𝑎 ∈ ( 0 ... 𝐵 ) ∧ 𝑏 ∈ ( 0 ... 𝐵 ) ) ) ∧ 𝑎 < 𝑏 ) → ( ( abs ‘ ( ( ( 𝐴 · 𝑎 ) mod 1 ) − ( ( 𝐴 · 𝑏 ) mod 1 ) ) ) < ( 1 / 𝐵 ) → ( abs ‘ ( ( 𝐴 · ( 𝑏𝑎 ) ) − ( ( ⌊ ‘ ( 𝐴 · 𝑏 ) ) − ( ⌊ ‘ ( 𝐴 · 𝑎 ) ) ) ) ) < ( 1 / 𝐵 ) ) )
87 86 impr ( ( ( ( 𝐴 ∈ ℝ+𝐵 ∈ ℕ ) ∧ ( 𝑎 ∈ ( 0 ... 𝐵 ) ∧ 𝑏 ∈ ( 0 ... 𝐵 ) ) ) ∧ ( 𝑎 < 𝑏 ∧ ( abs ‘ ( ( ( 𝐴 · 𝑎 ) mod 1 ) − ( ( 𝐴 · 𝑏 ) mod 1 ) ) ) < ( 1 / 𝐵 ) ) ) → ( abs ‘ ( ( 𝐴 · ( 𝑏𝑎 ) ) − ( ( ⌊ ‘ ( 𝐴 · 𝑏 ) ) − ( ⌊ ‘ ( 𝐴 · 𝑎 ) ) ) ) ) < ( 1 / 𝐵 ) )
88 oveq2 ( 𝑥 = ( 𝑏𝑎 ) → ( 𝐴 · 𝑥 ) = ( 𝐴 · ( 𝑏𝑎 ) ) )
89 88 fvoveq1d ( 𝑥 = ( 𝑏𝑎 ) → ( abs ‘ ( ( 𝐴 · 𝑥 ) − 𝑦 ) ) = ( abs ‘ ( ( 𝐴 · ( 𝑏𝑎 ) ) − 𝑦 ) ) )
90 89 breq1d ( 𝑥 = ( 𝑏𝑎 ) → ( ( abs ‘ ( ( 𝐴 · 𝑥 ) − 𝑦 ) ) < ( 1 / 𝐵 ) ↔ ( abs ‘ ( ( 𝐴 · ( 𝑏𝑎 ) ) − 𝑦 ) ) < ( 1 / 𝐵 ) ) )
91 oveq2 ( 𝑦 = ( ( ⌊ ‘ ( 𝐴 · 𝑏 ) ) − ( ⌊ ‘ ( 𝐴 · 𝑎 ) ) ) → ( ( 𝐴 · ( 𝑏𝑎 ) ) − 𝑦 ) = ( ( 𝐴 · ( 𝑏𝑎 ) ) − ( ( ⌊ ‘ ( 𝐴 · 𝑏 ) ) − ( ⌊ ‘ ( 𝐴 · 𝑎 ) ) ) ) )
92 91 fveq2d ( 𝑦 = ( ( ⌊ ‘ ( 𝐴 · 𝑏 ) ) − ( ⌊ ‘ ( 𝐴 · 𝑎 ) ) ) → ( abs ‘ ( ( 𝐴 · ( 𝑏𝑎 ) ) − 𝑦 ) ) = ( abs ‘ ( ( 𝐴 · ( 𝑏𝑎 ) ) − ( ( ⌊ ‘ ( 𝐴 · 𝑏 ) ) − ( ⌊ ‘ ( 𝐴 · 𝑎 ) ) ) ) ) )
93 92 breq1d ( 𝑦 = ( ( ⌊ ‘ ( 𝐴 · 𝑏 ) ) − ( ⌊ ‘ ( 𝐴 · 𝑎 ) ) ) → ( ( abs ‘ ( ( 𝐴 · ( 𝑏𝑎 ) ) − 𝑦 ) ) < ( 1 / 𝐵 ) ↔ ( abs ‘ ( ( 𝐴 · ( 𝑏𝑎 ) ) − ( ( ⌊ ‘ ( 𝐴 · 𝑏 ) ) − ( ⌊ ‘ ( 𝐴 · 𝑎 ) ) ) ) ) < ( 1 / 𝐵 ) ) )
94 90 93 rspc2ev ( ( ( 𝑏𝑎 ) ∈ ( 1 ... 𝐵 ) ∧ ( ( ⌊ ‘ ( 𝐴 · 𝑏 ) ) − ( ⌊ ‘ ( 𝐴 · 𝑎 ) ) ) ∈ ℕ0 ∧ ( abs ‘ ( ( 𝐴 · ( 𝑏𝑎 ) ) − ( ( ⌊ ‘ ( 𝐴 · 𝑏 ) ) − ( ⌊ ‘ ( 𝐴 · 𝑎 ) ) ) ) ) < ( 1 / 𝐵 ) ) → ∃ 𝑥 ∈ ( 1 ... 𝐵 ) ∃ 𝑦 ∈ ℕ0 ( abs ‘ ( ( 𝐴 · 𝑥 ) − 𝑦 ) ) < ( 1 / 𝐵 ) )
95 40 56 87 94 syl3anc ( ( ( ( 𝐴 ∈ ℝ+𝐵 ∈ ℕ ) ∧ ( 𝑎 ∈ ( 0 ... 𝐵 ) ∧ 𝑏 ∈ ( 0 ... 𝐵 ) ) ) ∧ ( 𝑎 < 𝑏 ∧ ( abs ‘ ( ( ( 𝐴 · 𝑎 ) mod 1 ) − ( ( 𝐴 · 𝑏 ) mod 1 ) ) ) < ( 1 / 𝐵 ) ) ) → ∃ 𝑥 ∈ ( 1 ... 𝐵 ) ∃ 𝑦 ∈ ℕ0 ( abs ‘ ( ( 𝐴 · 𝑥 ) − 𝑦 ) ) < ( 1 / 𝐵 ) )
96 95 ex ( ( ( 𝐴 ∈ ℝ+𝐵 ∈ ℕ ) ∧ ( 𝑎 ∈ ( 0 ... 𝐵 ) ∧ 𝑏 ∈ ( 0 ... 𝐵 ) ) ) → ( ( 𝑎 < 𝑏 ∧ ( abs ‘ ( ( ( 𝐴 · 𝑎 ) mod 1 ) − ( ( 𝐴 · 𝑏 ) mod 1 ) ) ) < ( 1 / 𝐵 ) ) → ∃ 𝑥 ∈ ( 1 ... 𝐵 ) ∃ 𝑦 ∈ ℕ0 ( abs ‘ ( ( 𝐴 · 𝑥 ) − 𝑦 ) ) < ( 1 / 𝐵 ) ) )
97 96 rexlimdvva ( ( 𝐴 ∈ ℝ+𝐵 ∈ ℕ ) → ( ∃ 𝑎 ∈ ( 0 ... 𝐵 ) ∃ 𝑏 ∈ ( 0 ... 𝐵 ) ( 𝑎 < 𝑏 ∧ ( abs ‘ ( ( ( 𝐴 · 𝑎 ) mod 1 ) − ( ( 𝐴 · 𝑏 ) mod 1 ) ) ) < ( 1 / 𝐵 ) ) → ∃ 𝑥 ∈ ( 1 ... 𝐵 ) ∃ 𝑦 ∈ ℕ0 ( abs ‘ ( ( 𝐴 · 𝑥 ) − 𝑦 ) ) < ( 1 / 𝐵 ) ) )
98 1 97 mpd ( ( 𝐴 ∈ ℝ+𝐵 ∈ ℕ ) → ∃ 𝑥 ∈ ( 1 ... 𝐵 ) ∃ 𝑦 ∈ ℕ0 ( abs ‘ ( ( 𝐴 · 𝑥 ) − 𝑦 ) ) < ( 1 / 𝐵 ) )