Metamath Proof Explorer


Theorem modadd1

Description: Addition property of the modulo operation. (Contributed by NM, 12-Nov-2008)

Ref Expression
Assertion modadd1 ⊢ A ∈ ℝ ∧ B ∈ ℝ ∧ C ∈ ℝ ∧ D ∈ ℝ + ∧ A mod D = B mod D → A + C mod D = B + C mod D

Proof

Step Hyp Ref Expression
1 modval ⊢ A ∈ ℝ ∧ D ∈ ℝ + → A mod D = A − D ⁢ A D
2 modval ⊢ B ∈ ℝ ∧ D ∈ ℝ + → B mod D = B − D ⁢ B D
3 1 2 eqeqan12d ⊢ A ∈ ℝ ∧ D ∈ ℝ + ∧ B ∈ ℝ ∧ D ∈ ℝ + → A mod D = B mod D ↔ A − D ⁢ A D = B − D ⁢ B D
4 3 anandirs ⊢ A ∈ ℝ ∧ B ∈ ℝ ∧ D ∈ ℝ + → A mod D = B mod D ↔ A − D ⁢ A D = B − D ⁢ B D
5 4 adantrl ⊢ A ∈ ℝ ∧ B ∈ ℝ ∧ C ∈ ℝ ∧ D ∈ ℝ + → A mod D = B mod D ↔ A − D ⁢ A D = B − D ⁢ B D
6 oveq1 ⊢ A − D ⁢ A D = B − D ⁢ B D → A - D ⁢ A D + C = B - D ⁢ B D + C
7 5 6 biimtrdi ⊢ A ∈ ℝ ∧ B ∈ ℝ ∧ C ∈ ℝ ∧ D ∈ ℝ + → A mod D = B mod D → A - D ⁢ A D + C = B - D ⁢ B D + C
8 recn ⊢ A ∈ ℝ → A ∈ ℂ
9 8 adantr ⊢ A ∈ ℝ ∧ C ∈ ℝ ∧ D ∈ ℝ + → A ∈ ℂ
10 recn ⊢ C ∈ ℝ → C ∈ ℂ
11 10 ad2antrl ⊢ A ∈ ℝ ∧ C ∈ ℝ ∧ D ∈ ℝ + → C ∈ ℂ
12 rpcn ⊢ D ∈ ℝ + → D ∈ ℂ
13 12 adantl ⊢ A ∈ ℝ ∧ D ∈ ℝ + → D ∈ ℂ
14 rerpdivcl ⊢ A ∈ ℝ ∧ D ∈ ℝ + → A D ∈ ℝ
15 reflcl ⊢ A D ∈ ℝ → A D ∈ ℝ
16 15 recnd ⊢ A D ∈ ℝ → A D ∈ ℂ
17 14 16 syl ⊢ A ∈ ℝ ∧ D ∈ ℝ + → A D ∈ ℂ
18 13 17 mulcld ⊢ A ∈ ℝ ∧ D ∈ ℝ + → D ⁢ A D ∈ ℂ
19 18 adantrl ⊢ A ∈ ℝ ∧ C ∈ ℝ ∧ D ∈ ℝ + → D ⁢ A D ∈ ℂ
20 9 11 19 addsubd ⊢ A ∈ ℝ ∧ C ∈ ℝ ∧ D ∈ ℝ + → A + C - D ⁢ A D = A - D ⁢ A D + C
21 20 adantlr ⊢ A ∈ ℝ ∧ B ∈ ℝ ∧ C ∈ ℝ ∧ D ∈ ℝ + → A + C - D ⁢ A D = A - D ⁢ A D + C
22 recn ⊢ B ∈ ℝ → B ∈ ℂ
23 22 adantr ⊢ B ∈ ℝ ∧ C ∈ ℝ ∧ D ∈ ℝ + → B ∈ ℂ
24 10 ad2antrl ⊢ B ∈ ℝ ∧ C ∈ ℝ ∧ D ∈ ℝ + → C ∈ ℂ
25 12 adantl ⊢ B ∈ ℝ ∧ D ∈ ℝ + → D ∈ ℂ
26 rerpdivcl ⊢ B ∈ ℝ ∧ D ∈ ℝ + → B D ∈ ℝ
27 reflcl ⊢ B D ∈ ℝ → B D ∈ ℝ
28 27 recnd ⊢ B D ∈ ℝ → B D ∈ ℂ
29 26 28 syl ⊢ B ∈ ℝ ∧ D ∈ ℝ + → B D ∈ ℂ
30 25 29 mulcld ⊢ B ∈ ℝ ∧ D ∈ ℝ + → D ⁢ B D ∈ ℂ
31 30 adantrl ⊢ B ∈ ℝ ∧ C ∈ ℝ ∧ D ∈ ℝ + → D ⁢ B D ∈ ℂ
32 23 24 31 addsubd ⊢ B ∈ ℝ ∧ C ∈ ℝ ∧ D ∈ ℝ + → B + C - D ⁢ B D = B - D ⁢ B D + C
33 32 adantll ⊢ A ∈ ℝ ∧ B ∈ ℝ ∧ C ∈ ℝ ∧ D ∈ ℝ + → B + C - D ⁢ B D = B - D ⁢ B D + C
34 21 33 eqeq12d ⊢ A ∈ ℝ ∧ B ∈ ℝ ∧ C ∈ ℝ ∧ D ∈ ℝ + → A + C - D ⁢ A D = B + C - D ⁢ B D ↔ A - D ⁢ A D + C = B - D ⁢ B D + C
35 7 34 sylibrd ⊢ A ∈ ℝ ∧ B ∈ ℝ ∧ C ∈ ℝ ∧ D ∈ ℝ + → A mod D = B mod D → A + C - D ⁢ A D = B + C - D ⁢ B D
36 oveq1 ⊢ A + C - D ⁢ A D = B + C - D ⁢ B D → A + C - D ⁢ A D mod D = B + C - D ⁢ B D mod D
37 readdcl ⊢ A ∈ ℝ ∧ C ∈ ℝ → A + C ∈ ℝ
38 37 adantrr ⊢ A ∈ ℝ ∧ C ∈ ℝ ∧ D ∈ ℝ + → A + C ∈ ℝ
39 simprr ⊢ A ∈ ℝ ∧ C ∈ ℝ ∧ D ∈ ℝ + → D ∈ ℝ +
40 14 flcld ⊢ A ∈ ℝ ∧ D ∈ ℝ + → A D ∈ ℤ
41 40 adantrl ⊢ A ∈ ℝ ∧ C ∈ ℝ ∧ D ∈ ℝ + → A D ∈ ℤ
42 modcyc2 ⊢ A + C ∈ ℝ ∧ D ∈ ℝ + ∧ A D ∈ ℤ → A + C - D ⁢ A D mod D = A + C mod D
43 38 39 41 42 syl3anc ⊢ A ∈ ℝ ∧ C ∈ ℝ ∧ D ∈ ℝ + → A + C - D ⁢ A D mod D = A + C mod D
44 43 adantlr ⊢ A ∈ ℝ ∧ B ∈ ℝ ∧ C ∈ ℝ ∧ D ∈ ℝ + → A + C - D ⁢ A D mod D = A + C mod D
45 readdcl ⊢ B ∈ ℝ ∧ C ∈ ℝ → B + C ∈ ℝ
46 45 adantrr ⊢ B ∈ ℝ ∧ C ∈ ℝ ∧ D ∈ ℝ + → B + C ∈ ℝ
47 simprr ⊢ B ∈ ℝ ∧ C ∈ ℝ ∧ D ∈ ℝ + → D ∈ ℝ +
48 26 flcld ⊢ B ∈ ℝ ∧ D ∈ ℝ + → B D ∈ ℤ
49 48 adantrl ⊢ B ∈ ℝ ∧ C ∈ ℝ ∧ D ∈ ℝ + → B D ∈ ℤ
50 modcyc2 ⊢ B + C ∈ ℝ ∧ D ∈ ℝ + ∧ B D ∈ ℤ → B + C - D ⁢ B D mod D = B + C mod D
51 46 47 49 50 syl3anc ⊢ B ∈ ℝ ∧ C ∈ ℝ ∧ D ∈ ℝ + → B + C - D ⁢ B D mod D = B + C mod D
52 51 adantll ⊢ A ∈ ℝ ∧ B ∈ ℝ ∧ C ∈ ℝ ∧ D ∈ ℝ + → B + C - D ⁢ B D mod D = B + C mod D
53 44 52 eqeq12d ⊢ A ∈ ℝ ∧ B ∈ ℝ ∧ C ∈ ℝ ∧ D ∈ ℝ + → A + C - D ⁢ A D mod D = B + C - D ⁢ B D mod D ↔ A + C mod D = B + C mod D
54 36 53 imbitrid ⊢ A ∈ ℝ ∧ B ∈ ℝ ∧ C ∈ ℝ ∧ D ∈ ℝ + → A + C - D ⁢ A D = B + C - D ⁢ B D → A + C mod D = B + C mod D
55 35 54 syld ⊢ A ∈ ℝ ∧ B ∈ ℝ ∧ C ∈ ℝ ∧ D ∈ ℝ + → A mod D = B mod D → A + C mod D = B + C mod D
56 55 3impia ⊢ A ∈ ℝ ∧ B ∈ ℝ ∧ C ∈ ℝ ∧ D ∈ ℝ + ∧ A mod D = B mod D → A + C mod D = B + C mod D