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+Bx0By0Bx<yBAxmod1=BAymod1

Proof

Step Hyp Ref Expression
1 fzssuz 0B0
2 uzssz 0
3 zssre
4 2 3 sstri 0
5 1 4 sstri 0B
6 5 a1i A+B0B
7 ovexd A+B0B1V
8 nnm1nn0 BB10
9 8 adantl A+BB10
10 nn0uz 0=0
11 9 10 eleqtrdi A+BB10
12 nnz BB
13 12 adantl A+BB
14 nnre BB
15 14 adantl A+BB
16 15 ltm1d A+BB1<B
17 fzsdom2 B10BB1<B0B10B
18 11 13 16 17 syl21anc A+B0B10B
19 14 ad2antlr A+Ba0BB
20 rpre A+A
21 20 ad2antrr A+Ba0BA
22 elfzelz a0Ba
23 22 zred a0Ba
24 23 adantl A+Ba0Ba
25 21 24 remulcld A+Ba0BAa
26 1rp 1+
27 modcl Aa1+Aamod1
28 25 26 27 sylancl A+Ba0BAamod1
29 19 28 remulcld A+Ba0BBAamod1
30 29 flcld A+Ba0BBAamod1
31 19 recnd A+Ba0BB
32 31 mul01d A+Ba0BB0=0
33 modge0 Aa1+0Aamod1
34 25 26 33 sylancl A+Ba0B0Aamod1
35 0red A+Ba0B0
36 nngt0 B0<B
37 36 ad2antlr A+Ba0B0<B
38 lemul2 0Aamod1B0<B0Aamod1B0BAamod1
39 35 28 19 37 38 syl112anc A+Ba0B0Aamod1B0BAamod1
40 34 39 mpbid A+Ba0BB0BAamod1
41 32 40 eqbrtrrd A+Ba0B0BAamod1
42 35 29 lenltd A+Ba0B0BAamod1¬BAamod1<0
43 41 42 mpbid A+Ba0B¬BAamod1<0
44 0z 0
45 fllt BAamod10BAamod1<0BAamod1<0
46 29 44 45 sylancl A+Ba0BBAamod1<0BAamod1<0
47 43 46 mtbid A+Ba0B¬BAamod1<0
48 30 zred A+Ba0BBAamod1
49 35 48 lenltd A+Ba0B0BAamod1¬BAamod1<0
50 47 49 mpbird A+Ba0B0BAamod1
51 elnn0z BAamod10BAamod10BAamod1
52 30 50 51 sylanbrc A+Ba0BBAamod10
53 8 ad2antlr A+Ba0BB10
54 flle BAamod1BAamod1BAamod1
55 29 54 syl A+Ba0BBAamod1BAamod1
56 modlt Aa1+Aamod1<1
57 25 26 56 sylancl A+Ba0BAamod1<1
58 1red A+Ba0B1
59 ltmul2 Aamod11B0<BAamod1<1BAamod1<B1
60 28 58 19 37 59 syl112anc A+Ba0BAamod1<1BAamod1<B1
61 57 60 mpbid A+Ba0BBAamod1<B1
62 31 mulridd A+Ba0BB1=B
63 61 62 breqtrd A+Ba0BBAamod1<B
64 48 29 19 55 63 lelttrd A+Ba0BBAamod1<B
65 nncn BB
66 ax-1cn 1
67 npcan B1B-1+1=B
68 65 66 67 sylancl BB-1+1=B
69 68 ad2antlr A+Ba0BB-1+1=B
70 64 69 breqtrrd A+Ba0BBAamod1<B-1+1
71 12 ad2antlr A+Ba0BB
72 1z 1
73 zsubcl B1B1
74 71 72 73 sylancl A+Ba0BB1
75 zleltp1 BAamod1B1BAamod1B1BAamod1<B-1+1
76 30 74 75 syl2anc A+Ba0BBAamod1B1BAamod1<B-1+1
77 70 76 mpbird A+Ba0BBAamod1B1
78 elfz2nn0 BAamod10B1BAamod10B10BAamod1B1
79 52 53 77 78 syl3anbrc A+Ba0BBAamod10B1
80 oveq2 a=xAa=Ax
81 80 oveq1d a=xAamod1=Axmod1
82 81 oveq2d a=xBAamod1=BAxmod1
83 82 fveq2d a=xBAamod1=BAxmod1
84 oveq2 a=yAa=Ay
85 84 oveq1d a=yAamod1=Aymod1
86 85 oveq2d a=yBAamod1=BAymod1
87 86 fveq2d a=yBAamod1=BAymod1
88 6 7 18 79 83 87 fphpdo A+Bx0By0Bx<yBAxmod1=BAymod1