Metamath Proof Explorer


Theorem modremain

Description: The result of the modulo operation is the remainder of the division algorithm. (Contributed by AV, 19-Aug-2021)

Ref Expression
Assertion modremain NDR0R<DNmodD=RzzD+R=N

Proof

Step Hyp Ref Expression
1 eqcom NmodD=RR=NmodD
2 divalgmodcl NDR0R=NmodDR<DDNR
3 2 3adant3r NDR0R<DR=NmodDR<DDNR
4 ibar R<DDNRR<DDNR
5 4 adantl R0R<DDNRR<DDNR
6 5 3ad2ant3 NDR0R<DDNRR<DDNR
7 nnz DD
8 7 3ad2ant2 NDR0R<DD
9 simp1 NDR0R<DN
10 nn0z R0R
11 10 adantr R0R<DR
12 11 3ad2ant3 NDR0R<DR
13 9 12 zsubcld NDR0R<DNR
14 divides DNRDNRzzD=NR
15 8 13 14 syl2anc NDR0R<DDNRzzD=NR
16 eqcom zD=NRNR=zD
17 zcn NN
18 17 3ad2ant1 NDR0R<DN
19 18 adantr NDR0R<DzN
20 nn0cn R0R
21 20 adantr R0R<DR
22 21 3ad2ant3 NDR0R<DR
23 22 adantr NDR0R<DzR
24 simpr NDR0R<Dzz
25 8 adantr NDR0R<DzD
26 24 25 zmulcld NDR0R<DzzD
27 26 zcnd NDR0R<DzzD
28 19 23 27 subadd2d NDR0R<DzNR=zDzD+R=N
29 16 28 bitrid NDR0R<DzzD=NRzD+R=N
30 29 rexbidva NDR0R<DzzD=NRzzD+R=N
31 15 30 bitrd NDR0R<DDNRzzD+R=N
32 3 6 31 3bitr2d NDR0R<DR=NmodDzzD+R=N
33 1 32 bitrid NDR0R<DNmodD=RzzD+R=N