Metamath Proof Explorer


Theorem modid

Description: Identity law for modulo. (Contributed by NM, 29-Dec-2008)

Ref Expression
Assertion modid AB+0AA<BAmodB=A

Proof

Step Hyp Ref Expression
1 modval AB+AmodB=ABAB
2 1 adantr AB+0AA<BAmodB=ABAB
3 rerpdivcl AB+AB
4 3 adantr AB+0AA<BAB
5 4 recnd AB+0AA<BAB
6 addlid AB0+AB=AB
7 6 fveq2d AB0+AB=AB
8 5 7 syl AB+0AA<B0+AB=AB
9 rpregt0 B+B0<B
10 divge0 A0AB0<B0AB
11 9 10 sylan2 A0AB+0AB
12 11 an32s AB+0A0AB
13 12 adantrr AB+0AA<B0AB
14 simpr B+A<BA<B
15 rpcn B+B
16 15 mulridd B+B1=B
17 16 adantr B+A<BB1=B
18 14 17 breqtrrd B+A<BA<B1
19 18 ad2ant2l AB+0AA<BA<B1
20 simpll AB+0AA<BA
21 9 ad2antlr AB+0AA<BB0<B
22 1re 1
23 ltdivmul A1B0<BAB<1A<B1
24 22 23 mp3an2 AB0<BAB<1A<B1
25 20 21 24 syl2anc AB+0AA<BAB<1A<B1
26 19 25 mpbird AB+0AA<BAB<1
27 0z 0
28 flbi2 0AB0+AB=00ABAB<1
29 27 4 28 sylancr AB+0AA<B0+AB=00ABAB<1
30 13 26 29 mpbir2and AB+0AA<B0+AB=0
31 8 30 eqtr3d AB+0AA<BAB=0
32 31 oveq2d AB+0AA<BBAB=B0
33 15 mul01d B+B0=0
34 33 ad2antlr AB+0AA<BB0=0
35 32 34 eqtrd AB+0AA<BBAB=0
36 35 oveq2d AB+0AA<BABAB=A0
37 recn AA
38 37 subid1d AA0=A
39 38 ad2antrr AB+0AA<BA0=A
40 36 39 eqtrd AB+0AA<BABAB=A
41 2 40 eqtrd AB+0AA<BAmodB=A