| Step | Hyp | Ref
 | Expression | 
| 1 |   | simpl1 1002 | 
. . . 4
⊢ (((𝐴 ∈ ℤ ∧ 𝐵 ∈ ℤ ∧ 𝑃 ∈ ℙ) ∧ 𝑃 = 2) → 𝐴 ∈ ℤ) | 
| 2 |   | simpl2 1003 | 
. . . 4
⊢ (((𝐴 ∈ ℤ ∧ 𝐵 ∈ ℤ ∧ 𝑃 ∈ ℙ) ∧ 𝑃 = 2) → 𝐵 ∈ ℤ) | 
| 3 |   | lgsdir2 15274 | 
. . . 4
⊢ ((𝐴 ∈ ℤ ∧ 𝐵 ∈ ℤ) → ((𝐴 · 𝐵) /L 2) = ((𝐴 /L 2)
· (𝐵
/L 2))) | 
| 4 | 1, 2, 3 | syl2anc 411 | 
. . 3
⊢ (((𝐴 ∈ ℤ ∧ 𝐵 ∈ ℤ ∧ 𝑃 ∈ ℙ) ∧ 𝑃 = 2) → ((𝐴 · 𝐵) /L 2) = ((𝐴 /L 2)
· (𝐵
/L 2))) | 
| 5 |   | simpr 110 | 
. . . 4
⊢ (((𝐴 ∈ ℤ ∧ 𝐵 ∈ ℤ ∧ 𝑃 ∈ ℙ) ∧ 𝑃 = 2) → 𝑃 = 2) | 
| 6 | 5 | oveq2d 5938 | 
. . 3
⊢ (((𝐴 ∈ ℤ ∧ 𝐵 ∈ ℤ ∧ 𝑃 ∈ ℙ) ∧ 𝑃 = 2) → ((𝐴 · 𝐵) /L 𝑃) = ((𝐴 · 𝐵) /L 2)) | 
| 7 | 5 | oveq2d 5938 | 
. . . 4
⊢ (((𝐴 ∈ ℤ ∧ 𝐵 ∈ ℤ ∧ 𝑃 ∈ ℙ) ∧ 𝑃 = 2) → (𝐴 /L 𝑃) = (𝐴 /L 2)) | 
| 8 | 5 | oveq2d 5938 | 
. . . 4
⊢ (((𝐴 ∈ ℤ ∧ 𝐵 ∈ ℤ ∧ 𝑃 ∈ ℙ) ∧ 𝑃 = 2) → (𝐵 /L 𝑃) = (𝐵 /L 2)) | 
| 9 | 7, 8 | oveq12d 5940 | 
. . 3
⊢ (((𝐴 ∈ ℤ ∧ 𝐵 ∈ ℤ ∧ 𝑃 ∈ ℙ) ∧ 𝑃 = 2) → ((𝐴 /L 𝑃) · (𝐵 /L 𝑃)) = ((𝐴 /L 2) · (𝐵 /L
2))) | 
| 10 | 4, 6, 9 | 3eqtr4d 2239 | 
. 2
⊢ (((𝐴 ∈ ℤ ∧ 𝐵 ∈ ℤ ∧ 𝑃 ∈ ℙ) ∧ 𝑃 = 2) → ((𝐴 · 𝐵) /L 𝑃) = ((𝐴 /L 𝑃) · (𝐵 /L 𝑃))) | 
| 11 |   | simpl1 1002 | 
. . . . . 6
⊢ (((𝐴 ∈ ℤ ∧ 𝐵 ∈ ℤ ∧ 𝑃 ∈ ℙ) ∧ 𝑃 ≠ 2) → 𝐴 ∈
ℤ) | 
| 12 |   | simpl2 1003 | 
. . . . . 6
⊢ (((𝐴 ∈ ℤ ∧ 𝐵 ∈ ℤ ∧ 𝑃 ∈ ℙ) ∧ 𝑃 ≠ 2) → 𝐵 ∈
ℤ) | 
| 13 | 11, 12 | zmulcld 9454 | 
. . . . 5
⊢ (((𝐴 ∈ ℤ ∧ 𝐵 ∈ ℤ ∧ 𝑃 ∈ ℙ) ∧ 𝑃 ≠ 2) → (𝐴 · 𝐵) ∈ ℤ) | 
| 14 |   | simpl3 1004 | 
. . . . . 6
⊢ (((𝐴 ∈ ℤ ∧ 𝐵 ∈ ℤ ∧ 𝑃 ∈ ℙ) ∧ 𝑃 ≠ 2) → 𝑃 ∈
ℙ) | 
| 15 |   | prmz 12279 | 
. . . . . 6
⊢ (𝑃 ∈ ℙ → 𝑃 ∈
ℤ) | 
| 16 | 14, 15 | syl 14 | 
. . . . 5
⊢ (((𝐴 ∈ ℤ ∧ 𝐵 ∈ ℤ ∧ 𝑃 ∈ ℙ) ∧ 𝑃 ≠ 2) → 𝑃 ∈
ℤ) | 
| 17 |   | lgscl 15255 | 
. . . . 5
⊢ (((𝐴 · 𝐵) ∈ ℤ ∧ 𝑃 ∈ ℤ) → ((𝐴 · 𝐵) /L 𝑃) ∈ ℤ) | 
| 18 | 13, 16, 17 | syl2anc 411 | 
. . . 4
⊢ (((𝐴 ∈ ℤ ∧ 𝐵 ∈ ℤ ∧ 𝑃 ∈ ℙ) ∧ 𝑃 ≠ 2) → ((𝐴 · 𝐵) /L 𝑃) ∈ ℤ) | 
| 19 | 18 | zcnd 9449 | 
. . 3
⊢ (((𝐴 ∈ ℤ ∧ 𝐵 ∈ ℤ ∧ 𝑃 ∈ ℙ) ∧ 𝑃 ≠ 2) → ((𝐴 · 𝐵) /L 𝑃) ∈ ℂ) | 
| 20 |   | lgscl 15255 | 
. . . . . 6
⊢ ((𝐴 ∈ ℤ ∧ 𝑃 ∈ ℤ) → (𝐴 /L 𝑃) ∈
ℤ) | 
| 21 | 11, 16, 20 | syl2anc 411 | 
. . . . 5
⊢ (((𝐴 ∈ ℤ ∧ 𝐵 ∈ ℤ ∧ 𝑃 ∈ ℙ) ∧ 𝑃 ≠ 2) → (𝐴 /L 𝑃) ∈
ℤ) | 
| 22 |   | lgscl 15255 | 
. . . . . 6
⊢ ((𝐵 ∈ ℤ ∧ 𝑃 ∈ ℤ) → (𝐵 /L 𝑃) ∈
ℤ) | 
| 23 | 12, 16, 22 | syl2anc 411 | 
. . . . 5
⊢ (((𝐴 ∈ ℤ ∧ 𝐵 ∈ ℤ ∧ 𝑃 ∈ ℙ) ∧ 𝑃 ≠ 2) → (𝐵 /L 𝑃) ∈
ℤ) | 
| 24 | 21, 23 | zmulcld 9454 | 
. . . 4
⊢ (((𝐴 ∈ ℤ ∧ 𝐵 ∈ ℤ ∧ 𝑃 ∈ ℙ) ∧ 𝑃 ≠ 2) → ((𝐴 /L 𝑃) · (𝐵 /L 𝑃)) ∈ ℤ) | 
| 25 | 24 | zcnd 9449 | 
. . 3
⊢ (((𝐴 ∈ ℤ ∧ 𝐵 ∈ ℤ ∧ 𝑃 ∈ ℙ) ∧ 𝑃 ≠ 2) → ((𝐴 /L 𝑃) · (𝐵 /L 𝑃)) ∈ ℂ) | 
| 26 | 19, 25 | subcld 8337 | 
. . . 4
⊢ (((𝐴 ∈ ℤ ∧ 𝐵 ∈ ℤ ∧ 𝑃 ∈ ℙ) ∧ 𝑃 ≠ 2) → (((𝐴 · 𝐵) /L 𝑃) − ((𝐴 /L 𝑃) · (𝐵 /L 𝑃))) ∈ ℂ) | 
| 27 | 18, 24 | zsubcld 9453 | 
. . . . . . 7
⊢ (((𝐴 ∈ ℤ ∧ 𝐵 ∈ ℤ ∧ 𝑃 ∈ ℙ) ∧ 𝑃 ≠ 2) → (((𝐴 · 𝐵) /L 𝑃) − ((𝐴 /L 𝑃) · (𝐵 /L 𝑃))) ∈ ℤ) | 
| 28 |   | zabscl 11251 | 
. . . . . . 7
⊢ ((((𝐴 · 𝐵) /L 𝑃) − ((𝐴 /L 𝑃) · (𝐵 /L 𝑃))) ∈ ℤ →
(abs‘(((𝐴 ·
𝐵) /L
𝑃) − ((𝐴 /L 𝑃) · (𝐵 /L 𝑃)))) ∈ ℤ) | 
| 29 |   | zq 9700 | 
. . . . . . 7
⊢
((abs‘(((𝐴
· 𝐵)
/L 𝑃)
− ((𝐴
/L 𝑃)
· (𝐵
/L 𝑃))))
∈ ℤ → (abs‘(((𝐴 · 𝐵) /L 𝑃) − ((𝐴 /L 𝑃) · (𝐵 /L 𝑃)))) ∈ ℚ) | 
| 30 | 27, 28, 29 | 3syl 17 | 
. . . . . 6
⊢ (((𝐴 ∈ ℤ ∧ 𝐵 ∈ ℤ ∧ 𝑃 ∈ ℙ) ∧ 𝑃 ≠ 2) →
(abs‘(((𝐴 ·
𝐵) /L
𝑃) − ((𝐴 /L 𝑃) · (𝐵 /L 𝑃)))) ∈ ℚ) | 
| 31 |   | prmnn 12278 | 
. . . . . . 7
⊢ (𝑃 ∈ ℙ → 𝑃 ∈
ℕ) | 
| 32 |   | nnq 9707 | 
. . . . . . 7
⊢ (𝑃 ∈ ℕ → 𝑃 ∈
ℚ) | 
| 33 | 14, 31, 32 | 3syl 17 | 
. . . . . 6
⊢ (((𝐴 ∈ ℤ ∧ 𝐵 ∈ ℤ ∧ 𝑃 ∈ ℙ) ∧ 𝑃 ≠ 2) → 𝑃 ∈
ℚ) | 
| 34 | 26 | absge0d 11349 | 
. . . . . 6
⊢ (((𝐴 ∈ ℤ ∧ 𝐵 ∈ ℤ ∧ 𝑃 ∈ ℙ) ∧ 𝑃 ≠ 2) → 0 ≤
(abs‘(((𝐴 ·
𝐵) /L
𝑃) − ((𝐴 /L 𝑃) · (𝐵 /L 𝑃))))) | 
| 35 | 26 | abscld 11346 | 
. . . . . . 7
⊢ (((𝐴 ∈ ℤ ∧ 𝐵 ∈ ℤ ∧ 𝑃 ∈ ℙ) ∧ 𝑃 ≠ 2) →
(abs‘(((𝐴 ·
𝐵) /L
𝑃) − ((𝐴 /L 𝑃) · (𝐵 /L 𝑃)))) ∈ ℝ) | 
| 36 |   | 2re 9060 | 
. . . . . . . 8
⊢ 2 ∈
ℝ | 
| 37 | 36 | a1i 9 | 
. . . . . . 7
⊢ (((𝐴 ∈ ℤ ∧ 𝐵 ∈ ℤ ∧ 𝑃 ∈ ℙ) ∧ 𝑃 ≠ 2) → 2 ∈
ℝ) | 
| 38 | 14, 31 | syl 14 | 
. . . . . . . 8
⊢ (((𝐴 ∈ ℤ ∧ 𝐵 ∈ ℤ ∧ 𝑃 ∈ ℙ) ∧ 𝑃 ≠ 2) → 𝑃 ∈
ℕ) | 
| 39 | 38 | nnred 9003 | 
. . . . . . 7
⊢ (((𝐴 ∈ ℤ ∧ 𝐵 ∈ ℤ ∧ 𝑃 ∈ ℙ) ∧ 𝑃 ≠ 2) → 𝑃 ∈
ℝ) | 
| 40 | 19 | abscld 11346 | 
. . . . . . . . 9
⊢ (((𝐴 ∈ ℤ ∧ 𝐵 ∈ ℤ ∧ 𝑃 ∈ ℙ) ∧ 𝑃 ≠ 2) →
(abs‘((𝐴 ·
𝐵) /L
𝑃)) ∈
ℝ) | 
| 41 | 25 | abscld 11346 | 
. . . . . . . . 9
⊢ (((𝐴 ∈ ℤ ∧ 𝐵 ∈ ℤ ∧ 𝑃 ∈ ℙ) ∧ 𝑃 ≠ 2) →
(abs‘((𝐴
/L 𝑃)
· (𝐵
/L 𝑃)))
∈ ℝ) | 
| 42 | 40, 41 | readdcld 8056 | 
. . . . . . . 8
⊢ (((𝐴 ∈ ℤ ∧ 𝐵 ∈ ℤ ∧ 𝑃 ∈ ℙ) ∧ 𝑃 ≠ 2) →
((abs‘((𝐴 ·
𝐵) /L
𝑃)) + (abs‘((𝐴 /L 𝑃) · (𝐵 /L 𝑃)))) ∈ ℝ) | 
| 43 | 19, 25 | abs2dif2d 11363 | 
. . . . . . . 8
⊢ (((𝐴 ∈ ℤ ∧ 𝐵 ∈ ℤ ∧ 𝑃 ∈ ℙ) ∧ 𝑃 ≠ 2) →
(abs‘(((𝐴 ·
𝐵) /L
𝑃) − ((𝐴 /L 𝑃) · (𝐵 /L 𝑃)))) ≤ ((abs‘((𝐴 · 𝐵) /L 𝑃)) + (abs‘((𝐴 /L 𝑃) · (𝐵 /L 𝑃))))) | 
| 44 |   | 1red 8041 | 
. . . . . . . . . 10
⊢ (((𝐴 ∈ ℤ ∧ 𝐵 ∈ ℤ ∧ 𝑃 ∈ ℙ) ∧ 𝑃 ≠ 2) → 1 ∈
ℝ) | 
| 45 |   | lgsle1 15256 | 
. . . . . . . . . . 11
⊢ (((𝐴 · 𝐵) ∈ ℤ ∧ 𝑃 ∈ ℤ) → (abs‘((𝐴 · 𝐵) /L 𝑃)) ≤ 1) | 
| 46 | 13, 16, 45 | syl2anc 411 | 
. . . . . . . . . 10
⊢ (((𝐴 ∈ ℤ ∧ 𝐵 ∈ ℤ ∧ 𝑃 ∈ ℙ) ∧ 𝑃 ≠ 2) →
(abs‘((𝐴 ·
𝐵) /L
𝑃)) ≤
1) | 
| 47 |   | eqid 2196 | 
. . . . . . . . . . . . . 14
⊢ {𝑥 ∈ ℤ ∣
(abs‘𝑥) ≤ 1} =
{𝑥 ∈ ℤ ∣
(abs‘𝑥) ≤
1} | 
| 48 | 47 | lgscl2 15253 | 
. . . . . . . . . . . . 13
⊢ ((𝐴 ∈ ℤ ∧ 𝑃 ∈ ℤ) → (𝐴 /L 𝑃) ∈ {𝑥 ∈ ℤ ∣ (abs‘𝑥) ≤ 1}) | 
| 49 | 11, 16, 48 | syl2anc 411 | 
. . . . . . . . . . . 12
⊢ (((𝐴 ∈ ℤ ∧ 𝐵 ∈ ℤ ∧ 𝑃 ∈ ℙ) ∧ 𝑃 ≠ 2) → (𝐴 /L 𝑃) ∈ {𝑥 ∈ ℤ ∣ (abs‘𝑥) ≤ 1}) | 
| 50 | 47 | lgscl2 15253 | 
. . . . . . . . . . . . 13
⊢ ((𝐵 ∈ ℤ ∧ 𝑃 ∈ ℤ) → (𝐵 /L 𝑃) ∈ {𝑥 ∈ ℤ ∣ (abs‘𝑥) ≤ 1}) | 
| 51 | 12, 16, 50 | syl2anc 411 | 
. . . . . . . . . . . 12
⊢ (((𝐴 ∈ ℤ ∧ 𝐵 ∈ ℤ ∧ 𝑃 ∈ ℙ) ∧ 𝑃 ≠ 2) → (𝐵 /L 𝑃) ∈ {𝑥 ∈ ℤ ∣ (abs‘𝑥) ≤ 1}) | 
| 52 | 47 | lgslem3 15243 | 
. . . . . . . . . . . 12
⊢ (((𝐴 /L 𝑃) ∈ {𝑥 ∈ ℤ ∣ (abs‘𝑥) ≤ 1} ∧ (𝐵 /L 𝑃) ∈ {𝑥 ∈ ℤ ∣ (abs‘𝑥) ≤ 1}) → ((𝐴 /L 𝑃) · (𝐵 /L 𝑃)) ∈ {𝑥 ∈ ℤ ∣ (abs‘𝑥) ≤ 1}) | 
| 53 | 49, 51, 52 | syl2anc 411 | 
. . . . . . . . . . 11
⊢ (((𝐴 ∈ ℤ ∧ 𝐵 ∈ ℤ ∧ 𝑃 ∈ ℙ) ∧ 𝑃 ≠ 2) → ((𝐴 /L 𝑃) · (𝐵 /L 𝑃)) ∈ {𝑥 ∈ ℤ ∣ (abs‘𝑥) ≤ 1}) | 
| 54 |   | fveq2 5558 | 
. . . . . . . . . . . . . 14
⊢ (𝑥 = ((𝐴 /L 𝑃) · (𝐵 /L 𝑃)) → (abs‘𝑥) = (abs‘((𝐴 /L 𝑃) · (𝐵 /L 𝑃)))) | 
| 55 | 54 | breq1d 4043 | 
. . . . . . . . . . . . 13
⊢ (𝑥 = ((𝐴 /L 𝑃) · (𝐵 /L 𝑃)) → ((abs‘𝑥) ≤ 1 ↔ (abs‘((𝐴 /L 𝑃) · (𝐵 /L 𝑃))) ≤ 1)) | 
| 56 | 55 | elrab 2920 | 
. . . . . . . . . . . 12
⊢ (((𝐴 /L 𝑃) · (𝐵 /L 𝑃)) ∈ {𝑥 ∈ ℤ ∣ (abs‘𝑥) ≤ 1} ↔ (((𝐴 /L 𝑃) · (𝐵 /L 𝑃)) ∈ ℤ ∧ (abs‘((𝐴 /L 𝑃) · (𝐵 /L 𝑃))) ≤ 1)) | 
| 57 | 56 | simprbi 275 | 
. . . . . . . . . . 11
⊢ (((𝐴 /L 𝑃) · (𝐵 /L 𝑃)) ∈ {𝑥 ∈ ℤ ∣ (abs‘𝑥) ≤ 1} →
(abs‘((𝐴
/L 𝑃)
· (𝐵
/L 𝑃)))
≤ 1) | 
| 58 | 53, 57 | syl 14 | 
. . . . . . . . . 10
⊢ (((𝐴 ∈ ℤ ∧ 𝐵 ∈ ℤ ∧ 𝑃 ∈ ℙ) ∧ 𝑃 ≠ 2) →
(abs‘((𝐴
/L 𝑃)
· (𝐵
/L 𝑃)))
≤ 1) | 
| 59 | 40, 41, 44, 44, 46, 58 | le2addd 8590 | 
. . . . . . . . 9
⊢ (((𝐴 ∈ ℤ ∧ 𝐵 ∈ ℤ ∧ 𝑃 ∈ ℙ) ∧ 𝑃 ≠ 2) →
((abs‘((𝐴 ·
𝐵) /L
𝑃)) + (abs‘((𝐴 /L 𝑃) · (𝐵 /L 𝑃)))) ≤ (1 + 1)) | 
| 60 |   | df-2 9049 | 
. . . . . . . . 9
⊢ 2 = (1 +
1) | 
| 61 | 59, 60 | breqtrrdi 4075 | 
. . . . . . . 8
⊢ (((𝐴 ∈ ℤ ∧ 𝐵 ∈ ℤ ∧ 𝑃 ∈ ℙ) ∧ 𝑃 ≠ 2) →
((abs‘((𝐴 ·
𝐵) /L
𝑃)) + (abs‘((𝐴 /L 𝑃) · (𝐵 /L 𝑃)))) ≤ 2) | 
| 62 | 35, 42, 37, 43, 61 | letrd 8150 | 
. . . . . . 7
⊢ (((𝐴 ∈ ℤ ∧ 𝐵 ∈ ℤ ∧ 𝑃 ∈ ℙ) ∧ 𝑃 ≠ 2) →
(abs‘(((𝐴 ·
𝐵) /L
𝑃) − ((𝐴 /L 𝑃) · (𝐵 /L 𝑃)))) ≤ 2) | 
| 63 |   | prmuz2 12299 | 
. . . . . . . . 9
⊢ (𝑃 ∈ ℙ → 𝑃 ∈
(ℤ≥‘2)) | 
| 64 |   | eluzle 9613 | 
. . . . . . . . 9
⊢ (𝑃 ∈
(ℤ≥‘2) → 2 ≤ 𝑃) | 
| 65 | 14, 63, 64 | 3syl 17 | 
. . . . . . . 8
⊢ (((𝐴 ∈ ℤ ∧ 𝐵 ∈ ℤ ∧ 𝑃 ∈ ℙ) ∧ 𝑃 ≠ 2) → 2 ≤ 𝑃) | 
| 66 |   | simpr 110 | 
. . . . . . . 8
⊢ (((𝐴 ∈ ℤ ∧ 𝐵 ∈ ℤ ∧ 𝑃 ∈ ℙ) ∧ 𝑃 ≠ 2) → 𝑃 ≠ 2) | 
| 67 |   | 2z 9354 | 
. . . . . . . . 9
⊢ 2 ∈
ℤ | 
| 68 |   | zltlen 9404 | 
. . . . . . . . 9
⊢ ((2
∈ ℤ ∧ 𝑃
∈ ℤ) → (2 < 𝑃 ↔ (2 ≤ 𝑃 ∧ 𝑃 ≠ 2))) | 
| 69 | 67, 16, 68 | sylancr 414 | 
. . . . . . . 8
⊢ (((𝐴 ∈ ℤ ∧ 𝐵 ∈ ℤ ∧ 𝑃 ∈ ℙ) ∧ 𝑃 ≠ 2) → (2 < 𝑃 ↔ (2 ≤ 𝑃 ∧ 𝑃 ≠ 2))) | 
| 70 | 65, 66, 69 | mpbir2and 946 | 
. . . . . . 7
⊢ (((𝐴 ∈ ℤ ∧ 𝐵 ∈ ℤ ∧ 𝑃 ∈ ℙ) ∧ 𝑃 ≠ 2) → 2 < 𝑃) | 
| 71 | 35, 37, 39, 62, 70 | lelttrd 8151 | 
. . . . . 6
⊢ (((𝐴 ∈ ℤ ∧ 𝐵 ∈ ℤ ∧ 𝑃 ∈ ℙ) ∧ 𝑃 ≠ 2) →
(abs‘(((𝐴 ·
𝐵) /L
𝑃) − ((𝐴 /L 𝑃) · (𝐵 /L 𝑃)))) < 𝑃) | 
| 72 |   | modqid 10441 | 
. . . . . 6
⊢
((((abs‘(((𝐴
· 𝐵)
/L 𝑃)
− ((𝐴
/L 𝑃)
· (𝐵
/L 𝑃))))
∈ ℚ ∧ 𝑃
∈ ℚ) ∧ (0 ≤ (abs‘(((𝐴 · 𝐵) /L 𝑃) − ((𝐴 /L 𝑃) · (𝐵 /L 𝑃)))) ∧ (abs‘(((𝐴 · 𝐵) /L 𝑃) − ((𝐴 /L 𝑃) · (𝐵 /L 𝑃)))) < 𝑃)) → ((abs‘(((𝐴 · 𝐵) /L 𝑃) − ((𝐴 /L 𝑃) · (𝐵 /L 𝑃)))) mod 𝑃) = (abs‘(((𝐴 · 𝐵) /L 𝑃) − ((𝐴 /L 𝑃) · (𝐵 /L 𝑃))))) | 
| 73 | 30, 33, 34, 71, 72 | syl22anc 1250 | 
. . . . 5
⊢ (((𝐴 ∈ ℤ ∧ 𝐵 ∈ ℤ ∧ 𝑃 ∈ ℙ) ∧ 𝑃 ≠ 2) →
((abs‘(((𝐴 ·
𝐵) /L
𝑃) − ((𝐴 /L 𝑃) · (𝐵 /L 𝑃)))) mod 𝑃) = (abs‘(((𝐴 · 𝐵) /L 𝑃) − ((𝐴 /L 𝑃) · (𝐵 /L 𝑃))))) | 
| 74 | 11 | zcnd 9449 | 
. . . . . . . . . . . 12
⊢ (((𝐴 ∈ ℤ ∧ 𝐵 ∈ ℤ ∧ 𝑃 ∈ ℙ) ∧ 𝑃 ≠ 2) → 𝐴 ∈
ℂ) | 
| 75 | 12 | zcnd 9449 | 
. . . . . . . . . . . 12
⊢ (((𝐴 ∈ ℤ ∧ 𝐵 ∈ ℤ ∧ 𝑃 ∈ ℙ) ∧ 𝑃 ≠ 2) → 𝐵 ∈
ℂ) | 
| 76 |   | eldifsn 3749 | 
. . . . . . . . . . . . . . 15
⊢ (𝑃 ∈ (ℙ ∖ {2})
↔ (𝑃 ∈ ℙ
∧ 𝑃 ≠
2)) | 
| 77 | 14, 66, 76 | sylanbrc 417 | 
. . . . . . . . . . . . . 14
⊢ (((𝐴 ∈ ℤ ∧ 𝐵 ∈ ℤ ∧ 𝑃 ∈ ℙ) ∧ 𝑃 ≠ 2) → 𝑃 ∈ (ℙ ∖
{2})) | 
| 78 |   | oddprm 12428 | 
. . . . . . . . . . . . . 14
⊢ (𝑃 ∈ (ℙ ∖ {2})
→ ((𝑃 − 1) / 2)
∈ ℕ) | 
| 79 | 77, 78 | syl 14 | 
. . . . . . . . . . . . 13
⊢ (((𝐴 ∈ ℤ ∧ 𝐵 ∈ ℤ ∧ 𝑃 ∈ ℙ) ∧ 𝑃 ≠ 2) → ((𝑃 − 1) / 2) ∈
ℕ) | 
| 80 | 79 | nnnn0d 9302 | 
. . . . . . . . . . . 12
⊢ (((𝐴 ∈ ℤ ∧ 𝐵 ∈ ℤ ∧ 𝑃 ∈ ℙ) ∧ 𝑃 ≠ 2) → ((𝑃 − 1) / 2) ∈
ℕ0) | 
| 81 | 74, 75, 80 | mulexpd 10780 | 
. . . . . . . . . . 11
⊢ (((𝐴 ∈ ℤ ∧ 𝐵 ∈ ℤ ∧ 𝑃 ∈ ℙ) ∧ 𝑃 ≠ 2) → ((𝐴 · 𝐵)↑((𝑃 − 1) / 2)) = ((𝐴↑((𝑃 − 1) / 2)) · (𝐵↑((𝑃 − 1) / 2)))) | 
| 82 |   | zexpcl 10646 | 
. . . . . . . . . . . . . 14
⊢ ((𝐴 ∈ ℤ ∧ ((𝑃 − 1) / 2) ∈
ℕ0) → (𝐴↑((𝑃 − 1) / 2)) ∈
ℤ) | 
| 83 | 11, 80, 82 | syl2anc 411 | 
. . . . . . . . . . . . 13
⊢ (((𝐴 ∈ ℤ ∧ 𝐵 ∈ ℤ ∧ 𝑃 ∈ ℙ) ∧ 𝑃 ≠ 2) → (𝐴↑((𝑃 − 1) / 2)) ∈
ℤ) | 
| 84 | 83 | zcnd 9449 | 
. . . . . . . . . . . 12
⊢ (((𝐴 ∈ ℤ ∧ 𝐵 ∈ ℤ ∧ 𝑃 ∈ ℙ) ∧ 𝑃 ≠ 2) → (𝐴↑((𝑃 − 1) / 2)) ∈
ℂ) | 
| 85 |   | zexpcl 10646 | 
. . . . . . . . . . . . . 14
⊢ ((𝐵 ∈ ℤ ∧ ((𝑃 − 1) / 2) ∈
ℕ0) → (𝐵↑((𝑃 − 1) / 2)) ∈
ℤ) | 
| 86 | 12, 80, 85 | syl2anc 411 | 
. . . . . . . . . . . . 13
⊢ (((𝐴 ∈ ℤ ∧ 𝐵 ∈ ℤ ∧ 𝑃 ∈ ℙ) ∧ 𝑃 ≠ 2) → (𝐵↑((𝑃 − 1) / 2)) ∈
ℤ) | 
| 87 | 86 | zcnd 9449 | 
. . . . . . . . . . . 12
⊢ (((𝐴 ∈ ℤ ∧ 𝐵 ∈ ℤ ∧ 𝑃 ∈ ℙ) ∧ 𝑃 ≠ 2) → (𝐵↑((𝑃 − 1) / 2)) ∈
ℂ) | 
| 88 | 84, 87 | mulcomd 8048 | 
. . . . . . . . . . 11
⊢ (((𝐴 ∈ ℤ ∧ 𝐵 ∈ ℤ ∧ 𝑃 ∈ ℙ) ∧ 𝑃 ≠ 2) → ((𝐴↑((𝑃 − 1) / 2)) · (𝐵↑((𝑃 − 1) / 2))) = ((𝐵↑((𝑃 − 1) / 2)) · (𝐴↑((𝑃 − 1) / 2)))) | 
| 89 | 81, 88 | eqtrd 2229 | 
. . . . . . . . . 10
⊢ (((𝐴 ∈ ℤ ∧ 𝐵 ∈ ℤ ∧ 𝑃 ∈ ℙ) ∧ 𝑃 ≠ 2) → ((𝐴 · 𝐵)↑((𝑃 − 1) / 2)) = ((𝐵↑((𝑃 − 1) / 2)) · (𝐴↑((𝑃 − 1) / 2)))) | 
| 90 | 89 | oveq1d 5937 | 
. . . . . . . . 9
⊢ (((𝐴 ∈ ℤ ∧ 𝐵 ∈ ℤ ∧ 𝑃 ∈ ℙ) ∧ 𝑃 ≠ 2) → (((𝐴 · 𝐵)↑((𝑃 − 1) / 2)) mod 𝑃) = (((𝐵↑((𝑃 − 1) / 2)) · (𝐴↑((𝑃 − 1) / 2))) mod 𝑃)) | 
| 91 |   | lgsvalmod 15260 | 
. . . . . . . . . 10
⊢ (((𝐴 · 𝐵) ∈ ℤ ∧ 𝑃 ∈ (ℙ ∖ {2})) →
(((𝐴 · 𝐵) /L 𝑃) mod 𝑃) = (((𝐴 · 𝐵)↑((𝑃 − 1) / 2)) mod 𝑃)) | 
| 92 | 13, 77, 91 | syl2anc 411 | 
. . . . . . . . 9
⊢ (((𝐴 ∈ ℤ ∧ 𝐵 ∈ ℤ ∧ 𝑃 ∈ ℙ) ∧ 𝑃 ≠ 2) → (((𝐴 · 𝐵) /L 𝑃) mod 𝑃) = (((𝐴 · 𝐵)↑((𝑃 − 1) / 2)) mod 𝑃)) | 
| 93 |   | zq 9700 | 
. . . . . . . . . . . 12
⊢ ((𝐴 /L 𝑃) ∈ ℤ → (𝐴 /L 𝑃) ∈
ℚ) | 
| 94 | 21, 93 | syl 14 | 
. . . . . . . . . . 11
⊢ (((𝐴 ∈ ℤ ∧ 𝐵 ∈ ℤ ∧ 𝑃 ∈ ℙ) ∧ 𝑃 ≠ 2) → (𝐴 /L 𝑃) ∈
ℚ) | 
| 95 |   | zq 9700 | 
. . . . . . . . . . . 12
⊢ ((𝐴↑((𝑃 − 1) / 2)) ∈ ℤ →
(𝐴↑((𝑃 − 1) / 2)) ∈
ℚ) | 
| 96 | 83, 95 | syl 14 | 
. . . . . . . . . . 11
⊢ (((𝐴 ∈ ℤ ∧ 𝐵 ∈ ℤ ∧ 𝑃 ∈ ℙ) ∧ 𝑃 ≠ 2) → (𝐴↑((𝑃 − 1) / 2)) ∈
ℚ) | 
| 97 | 38 | nngt0d 9034 | 
. . . . . . . . . . 11
⊢ (((𝐴 ∈ ℤ ∧ 𝐵 ∈ ℤ ∧ 𝑃 ∈ ℙ) ∧ 𝑃 ≠ 2) → 0 < 𝑃) | 
| 98 |   | lgsvalmod 15260 | 
. . . . . . . . . . . 12
⊢ ((𝐴 ∈ ℤ ∧ 𝑃 ∈ (ℙ ∖ {2}))
→ ((𝐴
/L 𝑃) mod
𝑃) = ((𝐴↑((𝑃 − 1) / 2)) mod 𝑃)) | 
| 99 | 11, 77, 98 | syl2anc 411 | 
. . . . . . . . . . 11
⊢ (((𝐴 ∈ ℤ ∧ 𝐵 ∈ ℤ ∧ 𝑃 ∈ ℙ) ∧ 𝑃 ≠ 2) → ((𝐴 /L 𝑃) mod 𝑃) = ((𝐴↑((𝑃 − 1) / 2)) mod 𝑃)) | 
| 100 | 94, 96, 23, 33, 97, 99 | modqmul1 10469 | 
. . . . . . . . . 10
⊢ (((𝐴 ∈ ℤ ∧ 𝐵 ∈ ℤ ∧ 𝑃 ∈ ℙ) ∧ 𝑃 ≠ 2) → (((𝐴 /L 𝑃) · (𝐵 /L 𝑃)) mod 𝑃) = (((𝐴↑((𝑃 − 1) / 2)) · (𝐵 /L 𝑃)) mod 𝑃)) | 
| 101 | 23 | zcnd 9449 | 
. . . . . . . . . . . 12
⊢ (((𝐴 ∈ ℤ ∧ 𝐵 ∈ ℤ ∧ 𝑃 ∈ ℙ) ∧ 𝑃 ≠ 2) → (𝐵 /L 𝑃) ∈
ℂ) | 
| 102 | 84, 101 | mulcomd 8048 | 
. . . . . . . . . . 11
⊢ (((𝐴 ∈ ℤ ∧ 𝐵 ∈ ℤ ∧ 𝑃 ∈ ℙ) ∧ 𝑃 ≠ 2) → ((𝐴↑((𝑃 − 1) / 2)) · (𝐵 /L 𝑃)) = ((𝐵 /L 𝑃) · (𝐴↑((𝑃 − 1) / 2)))) | 
| 103 | 102 | oveq1d 5937 | 
. . . . . . . . . 10
⊢ (((𝐴 ∈ ℤ ∧ 𝐵 ∈ ℤ ∧ 𝑃 ∈ ℙ) ∧ 𝑃 ≠ 2) → (((𝐴↑((𝑃 − 1) / 2)) · (𝐵 /L 𝑃)) mod 𝑃) = (((𝐵 /L 𝑃) · (𝐴↑((𝑃 − 1) / 2))) mod 𝑃)) | 
| 104 |   | zq 9700 | 
. . . . . . . . . . . 12
⊢ ((𝐵 /L 𝑃) ∈ ℤ → (𝐵 /L 𝑃) ∈
ℚ) | 
| 105 | 23, 104 | syl 14 | 
. . . . . . . . . . 11
⊢ (((𝐴 ∈ ℤ ∧ 𝐵 ∈ ℤ ∧ 𝑃 ∈ ℙ) ∧ 𝑃 ≠ 2) → (𝐵 /L 𝑃) ∈
ℚ) | 
| 106 |   | zq 9700 | 
. . . . . . . . . . . 12
⊢ ((𝐵↑((𝑃 − 1) / 2)) ∈ ℤ →
(𝐵↑((𝑃 − 1) / 2)) ∈
ℚ) | 
| 107 | 86, 106 | syl 14 | 
. . . . . . . . . . 11
⊢ (((𝐴 ∈ ℤ ∧ 𝐵 ∈ ℤ ∧ 𝑃 ∈ ℙ) ∧ 𝑃 ≠ 2) → (𝐵↑((𝑃 − 1) / 2)) ∈
ℚ) | 
| 108 |   | lgsvalmod 15260 | 
. . . . . . . . . . . 12
⊢ ((𝐵 ∈ ℤ ∧ 𝑃 ∈ (ℙ ∖ {2}))
→ ((𝐵
/L 𝑃) mod
𝑃) = ((𝐵↑((𝑃 − 1) / 2)) mod 𝑃)) | 
| 109 | 12, 77, 108 | syl2anc 411 | 
. . . . . . . . . . 11
⊢ (((𝐴 ∈ ℤ ∧ 𝐵 ∈ ℤ ∧ 𝑃 ∈ ℙ) ∧ 𝑃 ≠ 2) → ((𝐵 /L 𝑃) mod 𝑃) = ((𝐵↑((𝑃 − 1) / 2)) mod 𝑃)) | 
| 110 | 105, 107,
83, 33, 97, 109 | modqmul1 10469 | 
. . . . . . . . . 10
⊢ (((𝐴 ∈ ℤ ∧ 𝐵 ∈ ℤ ∧ 𝑃 ∈ ℙ) ∧ 𝑃 ≠ 2) → (((𝐵 /L 𝑃) · (𝐴↑((𝑃 − 1) / 2))) mod 𝑃) = (((𝐵↑((𝑃 − 1) / 2)) · (𝐴↑((𝑃 − 1) / 2))) mod 𝑃)) | 
| 111 | 100, 103,
110 | 3eqtrd 2233 | 
. . . . . . . . 9
⊢ (((𝐴 ∈ ℤ ∧ 𝐵 ∈ ℤ ∧ 𝑃 ∈ ℙ) ∧ 𝑃 ≠ 2) → (((𝐴 /L 𝑃) · (𝐵 /L 𝑃)) mod 𝑃) = (((𝐵↑((𝑃 − 1) / 2)) · (𝐴↑((𝑃 − 1) / 2))) mod 𝑃)) | 
| 112 | 90, 92, 111 | 3eqtr4d 2239 | 
. . . . . . . 8
⊢ (((𝐴 ∈ ℤ ∧ 𝐵 ∈ ℤ ∧ 𝑃 ∈ ℙ) ∧ 𝑃 ≠ 2) → (((𝐴 · 𝐵) /L 𝑃) mod 𝑃) = (((𝐴 /L 𝑃) · (𝐵 /L 𝑃)) mod 𝑃)) | 
| 113 |   | moddvds 11964 | 
. . . . . . . . 9
⊢ ((𝑃 ∈ ℕ ∧ ((𝐴 · 𝐵) /L 𝑃) ∈ ℤ ∧ ((𝐴 /L 𝑃) · (𝐵 /L 𝑃)) ∈ ℤ) → ((((𝐴 · 𝐵) /L 𝑃) mod 𝑃) = (((𝐴 /L 𝑃) · (𝐵 /L 𝑃)) mod 𝑃) ↔ 𝑃 ∥ (((𝐴 · 𝐵) /L 𝑃) − ((𝐴 /L 𝑃) · (𝐵 /L 𝑃))))) | 
| 114 | 38, 18, 24, 113 | syl3anc 1249 | 
. . . . . . . 8
⊢ (((𝐴 ∈ ℤ ∧ 𝐵 ∈ ℤ ∧ 𝑃 ∈ ℙ) ∧ 𝑃 ≠ 2) → ((((𝐴 · 𝐵) /L 𝑃) mod 𝑃) = (((𝐴 /L 𝑃) · (𝐵 /L 𝑃)) mod 𝑃) ↔ 𝑃 ∥ (((𝐴 · 𝐵) /L 𝑃) − ((𝐴 /L 𝑃) · (𝐵 /L 𝑃))))) | 
| 115 | 112, 114 | mpbid 147 | 
. . . . . . 7
⊢ (((𝐴 ∈ ℤ ∧ 𝐵 ∈ ℤ ∧ 𝑃 ∈ ℙ) ∧ 𝑃 ≠ 2) → 𝑃 ∥ (((𝐴 · 𝐵) /L 𝑃) − ((𝐴 /L 𝑃) · (𝐵 /L 𝑃)))) | 
| 116 |   | dvdsabsb 11975 | 
. . . . . . . 8
⊢ ((𝑃 ∈ ℤ ∧ (((𝐴 · 𝐵) /L 𝑃) − ((𝐴 /L 𝑃) · (𝐵 /L 𝑃))) ∈ ℤ) → (𝑃 ∥ (((𝐴 · 𝐵) /L 𝑃) − ((𝐴 /L 𝑃) · (𝐵 /L 𝑃))) ↔ 𝑃 ∥ (abs‘(((𝐴 · 𝐵) /L 𝑃) − ((𝐴 /L 𝑃) · (𝐵 /L 𝑃)))))) | 
| 117 | 16, 27, 116 | syl2anc 411 | 
. . . . . . 7
⊢ (((𝐴 ∈ ℤ ∧ 𝐵 ∈ ℤ ∧ 𝑃 ∈ ℙ) ∧ 𝑃 ≠ 2) → (𝑃 ∥ (((𝐴 · 𝐵) /L 𝑃) − ((𝐴 /L 𝑃) · (𝐵 /L 𝑃))) ↔ 𝑃 ∥ (abs‘(((𝐴 · 𝐵) /L 𝑃) − ((𝐴 /L 𝑃) · (𝐵 /L 𝑃)))))) | 
| 118 | 115, 117 | mpbid 147 | 
. . . . . 6
⊢ (((𝐴 ∈ ℤ ∧ 𝐵 ∈ ℤ ∧ 𝑃 ∈ ℙ) ∧ 𝑃 ≠ 2) → 𝑃 ∥ (abs‘(((𝐴 · 𝐵) /L 𝑃) − ((𝐴 /L 𝑃) · (𝐵 /L 𝑃))))) | 
| 119 |   | dvdsmod0 11958 | 
. . . . . 6
⊢ ((𝑃 ∈ ℕ ∧ 𝑃 ∥ (abs‘(((𝐴 · 𝐵) /L 𝑃) − ((𝐴 /L 𝑃) · (𝐵 /L 𝑃))))) → ((abs‘(((𝐴 · 𝐵) /L 𝑃) − ((𝐴 /L 𝑃) · (𝐵 /L 𝑃)))) mod 𝑃) = 0) | 
| 120 | 38, 118, 119 | syl2anc 411 | 
. . . . 5
⊢ (((𝐴 ∈ ℤ ∧ 𝐵 ∈ ℤ ∧ 𝑃 ∈ ℙ) ∧ 𝑃 ≠ 2) →
((abs‘(((𝐴 ·
𝐵) /L
𝑃) − ((𝐴 /L 𝑃) · (𝐵 /L 𝑃)))) mod 𝑃) = 0) | 
| 121 | 73, 120 | eqtr3d 2231 | 
. . . 4
⊢ (((𝐴 ∈ ℤ ∧ 𝐵 ∈ ℤ ∧ 𝑃 ∈ ℙ) ∧ 𝑃 ≠ 2) →
(abs‘(((𝐴 ·
𝐵) /L
𝑃) − ((𝐴 /L 𝑃) · (𝐵 /L 𝑃)))) = 0) | 
| 122 | 26, 121 | abs00d 11351 | 
. . 3
⊢ (((𝐴 ∈ ℤ ∧ 𝐵 ∈ ℤ ∧ 𝑃 ∈ ℙ) ∧ 𝑃 ≠ 2) → (((𝐴 · 𝐵) /L 𝑃) − ((𝐴 /L 𝑃) · (𝐵 /L 𝑃))) = 0) | 
| 123 | 19, 25, 122 | subeq0d 8345 | 
. 2
⊢ (((𝐴 ∈ ℤ ∧ 𝐵 ∈ ℤ ∧ 𝑃 ∈ ℙ) ∧ 𝑃 ≠ 2) → ((𝐴 · 𝐵) /L 𝑃) = ((𝐴 /L 𝑃) · (𝐵 /L 𝑃))) | 
| 124 | 15 | 3ad2ant3 1022 | 
. . . 4
⊢ ((𝐴 ∈ ℤ ∧ 𝐵 ∈ ℤ ∧ 𝑃 ∈ ℙ) → 𝑃 ∈
ℤ) | 
| 125 | 67 | a1i 9 | 
. . . 4
⊢ ((𝐴 ∈ ℤ ∧ 𝐵 ∈ ℤ ∧ 𝑃 ∈ ℙ) → 2 ∈
ℤ) | 
| 126 |   | zdceq 9401 | 
. . . 4
⊢ ((𝑃 ∈ ℤ ∧ 2 ∈
ℤ) → DECID 𝑃 = 2) | 
| 127 | 124, 125,
126 | syl2anc 411 | 
. . 3
⊢ ((𝐴 ∈ ℤ ∧ 𝐵 ∈ ℤ ∧ 𝑃 ∈ ℙ) →
DECID 𝑃 =
2) | 
| 128 |   | dcne 2378 | 
. . 3
⊢
(DECID 𝑃 = 2 ↔ (𝑃 = 2 ∨ 𝑃 ≠ 2)) | 
| 129 | 127, 128 | sylib 122 | 
. 2
⊢ ((𝐴 ∈ ℤ ∧ 𝐵 ∈ ℤ ∧ 𝑃 ∈ ℙ) → (𝑃 = 2 ∨ 𝑃 ≠ 2)) | 
| 130 | 10, 123, 129 | mpjaodan 799 | 
1
⊢ ((𝐴 ∈ ℤ ∧ 𝐵 ∈ ℤ ∧ 𝑃 ∈ ℙ) → ((𝐴 · 𝐵) /L 𝑃) = ((𝐴 /L 𝑃) · (𝐵 /L 𝑃))) |