Metamath Proof Explorer


Theorem irrapxlem1

Description: Lemma for irrapx1 . Divides the unit interval into B half-open sections and using the pigeonhole principle fphpdo finds two multiples of A in the same section mod 1. (Contributed by Stefan O'Rear, 12-Sep-2014)

Ref Expression
Assertion irrapxlem1 A + B x 0 B y 0 B x < y B A x mod 1 = B A y mod 1

Proof

Step Hyp Ref Expression
1 fzssuz 0 B 0
2 uzssz 0
3 zssre
4 2 3 sstri 0
5 1 4 sstri 0 B
6 5 a1i A + B 0 B
7 ovexd A + B 0 B 1 V
8 nnm1nn0 B B 1 0
9 8 adantl A + B B 1 0
10 nn0uz 0 = 0
11 9 10 eleqtrdi A + B B 1 0
12 nnz B B
13 12 adantl A + B B
14 nnre B B
15 14 adantl A + B B
16 15 ltm1d A + B B 1 < B
17 fzsdom2 B 1 0 B B 1 < B 0 B 1 0 B
18 11 13 16 17 syl21anc A + B 0 B 1 0 B
19 14 ad2antlr A + B a 0 B B
20 rpre A + A
21 20 ad2antrr A + B a 0 B A
22 elfzelz a 0 B a
23 22 zred a 0 B a
24 23 adantl A + B a 0 B a
25 21 24 remulcld A + B a 0 B A a
26 1rp 1 +
27 modcl A a 1 + A a mod 1
28 25 26 27 sylancl A + B a 0 B A a mod 1
29 19 28 remulcld A + B a 0 B B A a mod 1
30 29 flcld A + B a 0 B B A a mod 1
31 19 recnd A + B a 0 B B
32 31 mul01d A + B a 0 B B 0 = 0
33 modge0 A a 1 + 0 A a mod 1
34 25 26 33 sylancl A + B a 0 B 0 A a mod 1
35 0red A + B a 0 B 0
36 nngt0 B 0 < B
37 36 ad2antlr A + B a 0 B 0 < B
38 lemul2 0 A a mod 1 B 0 < B 0 A a mod 1 B 0 B A a mod 1
39 35 28 19 37 38 syl112anc A + B a 0 B 0 A a mod 1 B 0 B A a mod 1
40 34 39 mpbid A + B a 0 B B 0 B A a mod 1
41 32 40 eqbrtrrd A + B a 0 B 0 B A a mod 1
42 35 29 lenltd A + B a 0 B 0 B A a mod 1 ¬ B A a mod 1 < 0
43 41 42 mpbid A + B a 0 B ¬ B A a mod 1 < 0
44 0z 0
45 fllt B A a mod 1 0 B A a mod 1 < 0 B A a mod 1 < 0
46 29 44 45 sylancl A + B a 0 B B A a mod 1 < 0 B A a mod 1 < 0
47 43 46 mtbid A + B a 0 B ¬ B A a mod 1 < 0
48 30 zred A + B a 0 B B A a mod 1
49 35 48 lenltd A + B a 0 B 0 B A a mod 1 ¬ B A a mod 1 < 0
50 47 49 mpbird A + B a 0 B 0 B A a mod 1
51 elnn0z B A a mod 1 0 B A a mod 1 0 B A a mod 1
52 30 50 51 sylanbrc A + B a 0 B B A a mod 1 0
53 8 ad2antlr A + B a 0 B B 1 0
54 flle B A a mod 1 B A a mod 1 B A a mod 1
55 29 54 syl A + B a 0 B B A a mod 1 B A a mod 1
56 modlt A a 1 + A a mod 1 < 1
57 25 26 56 sylancl A + B a 0 B A a mod 1 < 1
58 1red A + B a 0 B 1
59 ltmul2 A a mod 1 1 B 0 < B A a mod 1 < 1 B A a mod 1 < B 1
60 28 58 19 37 59 syl112anc A + B a 0 B A a mod 1 < 1 B A a mod 1 < B 1
61 57 60 mpbid A + B a 0 B B A a mod 1 < B 1
62 31 mulid1d A + B a 0 B B 1 = B
63 61 62 breqtrd A + B a 0 B B A a mod 1 < B
64 48 29 19 55 63 lelttrd A + B a 0 B B A a mod 1 < B
65 nncn B B
66 ax-1cn 1
67 npcan B 1 B - 1 + 1 = B
68 65 66 67 sylancl B B - 1 + 1 = B
69 68 ad2antlr A + B a 0 B B - 1 + 1 = B
70 64 69 breqtrrd A + B a 0 B B A a mod 1 < B - 1 + 1
71 12 ad2antlr A + B a 0 B B
72 1z 1
73 zsubcl B 1 B 1
74 71 72 73 sylancl A + B a 0 B B 1
75 zleltp1 B A a mod 1 B 1 B A a mod 1 B 1 B A a mod 1 < B - 1 + 1
76 30 74 75 syl2anc A + B a 0 B B A a mod 1 B 1 B A a mod 1 < B - 1 + 1
77 70 76 mpbird A + B a 0 B B A a mod 1 B 1
78 elfz2nn0 B A a mod 1 0 B 1 B A a mod 1 0 B 1 0 B A a mod 1 B 1
79 52 53 77 78 syl3anbrc A + B a 0 B B A a mod 1 0 B 1
80 oveq2 a = x A a = A x
81 80 oveq1d a = x A a mod 1 = A x mod 1
82 81 oveq2d a = x B A a mod 1 = B A x mod 1
83 82 fveq2d a = x B A a mod 1 = B A x mod 1
84 oveq2 a = y A a = A y
85 84 oveq1d a = y A a mod 1 = A y mod 1
86 85 oveq2d a = y B A a mod 1 = B A y mod 1
87 86 fveq2d a = y B A a mod 1 = B A y mod 1
88 6 7 18 79 83 87 fphpdo A + B x 0 B y 0 B x < y B A x mod 1 = B A y mod 1