Metamath Proof Explorer


Theorem modsubdir

Description: Distribute the modulo operation over a subtraction. (Contributed by NM, 30-Dec-2008)

Ref Expression
Assertion modsubdir ABC+BmodCAmodCABmodC=AmodCBmodC

Proof

Step Hyp Ref Expression
1 modcl AC+AmodC
2 1 3adant2 ABC+AmodC
3 modcl BC+BmodC
4 3 3adant1 ABC+BmodC
5 2 4 subge0d ABC+0AmodCBmodCBmodCAmodC
6 resubcl ABAB
7 6 3adant3 ABC+AB
8 simp3 ABC+C+
9 rerpdivcl AC+AC
10 9 flcld AC+AC
11 10 3adant2 ABC+AC
12 rerpdivcl BC+BC
13 12 flcld BC+BC
14 13 3adant1 ABC+BC
15 11 14 zsubcld ABC+ACBC
16 modcyc2 ABC+ACBCA-B-CACBCmodC=ABmodC
17 7 8 15 16 syl3anc ABC+A-B-CACBCmodC=ABmodC
18 recn AA
19 18 3ad2ant1 ABC+A
20 recn BB
21 20 3ad2ant2 ABC+B
22 rpre C+C
23 22 adantl AC+C
24 refldivcl AC+AC
25 23 24 remulcld AC+CAC
26 25 recnd AC+CAC
27 26 3adant2 ABC+CAC
28 22 adantl BC+C
29 refldivcl BC+BC
30 28 29 remulcld BC+CBC
31 30 recnd BC+CBC
32 31 3adant1 ABC+CBC
33 19 21 27 32 sub4d ABC+A-B-CACCBC=A-CAC-BCBC
34 22 3ad2ant3 ABC+C
35 34 recnd ABC+C
36 24 recnd AC+AC
37 36 3adant2 ABC+AC
38 29 recnd BC+BC
39 38 3adant1 ABC+BC
40 35 37 39 subdid ABC+CACBC=CACCBC
41 40 oveq2d ABC+A-B-CACBC=A-B-CACCBC
42 modval AC+AmodC=ACAC
43 42 3adant2 ABC+AmodC=ACAC
44 modval BC+BmodC=BCBC
45 44 3adant1 ABC+BmodC=BCBC
46 43 45 oveq12d ABC+AmodCBmodC=A-CAC-BCBC
47 33 41 46 3eqtr4d ABC+A-B-CACBC=AmodCBmodC
48 47 oveq1d ABC+A-B-CACBCmodC=AmodCBmodCmodC
49 17 48 eqtr3d ABC+ABmodC=AmodCBmodCmodC
50 49 adantr ABC+0AmodCBmodCABmodC=AmodCBmodCmodC
51 2 4 resubcld ABC+AmodCBmodC
52 51 adantr ABC+0AmodCBmodCAmodCBmodC
53 simpl3 ABC+0AmodCBmodCC+
54 simpr ABC+0AmodCBmodC0AmodCBmodC
55 modge0 BC+0BmodC
56 55 3adant1 ABC+0BmodC
57 2 4 subge02d ABC+0BmodCAmodCBmodCAmodC
58 56 57 mpbid ABC+AmodCBmodCAmodC
59 modlt AC+AmodC<C
60 59 3adant2 ABC+AmodC<C
61 51 2 34 58 60 lelttrd ABC+AmodCBmodC<C
62 61 adantr ABC+0AmodCBmodCAmodCBmodC<C
63 modid AmodCBmodCC+0AmodCBmodCAmodCBmodC<CAmodCBmodCmodC=AmodCBmodC
64 52 53 54 62 63 syl22anc ABC+0AmodCBmodCAmodCBmodCmodC=AmodCBmodC
65 50 64 eqtrd ABC+0AmodCBmodCABmodC=AmodCBmodC
66 modge0 ABC+0ABmodC
67 6 66 stoic3 ABC+0ABmodC
68 67 adantr ABC+ABmodC=AmodCBmodC0ABmodC
69 simpr ABC+ABmodC=AmodCBmodCABmodC=AmodCBmodC
70 68 69 breqtrd ABC+ABmodC=AmodCBmodC0AmodCBmodC
71 65 70 impbida ABC+0AmodCBmodCABmodC=AmodCBmodC
72 5 71 bitr3d ABC+BmodCAmodCABmodC=AmodCBmodC