MPE Home Metamath Proof Explorer < Previous   Next >
Nearby theorems
Mirrors  >  Home  >  MPE Home  >  Th. List  >  lgsdirprm Structured version   Visualization version   GIF version

Theorem lgsdirprm 27309
Description: The Legendre symbol is completely multiplicative at the primes. See theorem 9.3 in [ApostolNT] p. 180. (Contributed by Mario Carneiro, 4-Feb-2015.) (Proof shortened by AV, 18-Mar-2022.)
Assertion
Ref Expression
lgsdirprm ((𝐴 ∈ ℤ ∧ 𝐵 ∈ ℤ ∧ 𝑃 ∈ ℙ) → ((𝐴 · 𝐵) /L 𝑃) = ((𝐴 /L 𝑃) · (𝐵 /L 𝑃)))

Proof of Theorem lgsdirprm
Dummy variable 𝑥 is distinct from all other variables.
StepHypRef Expression
1 simpl1 1188 . . . 4 (((𝐴 ∈ ℤ ∧ 𝐵 ∈ ℤ ∧ 𝑃 ∈ ℙ) ∧ 𝑃 = 2) → 𝐴 ∈ ℤ)
2 simpl2 1189 . . . 4 (((𝐴 ∈ ℤ ∧ 𝐵 ∈ ℤ ∧ 𝑃 ∈ ℙ) ∧ 𝑃 = 2) → 𝐵 ∈ ℤ)
3 lgsdir2 27308 . . . 4 ((𝐴 ∈ ℤ ∧ 𝐵 ∈ ℤ) → ((𝐴 · 𝐵) /L 2) = ((𝐴 /L 2) · (𝐵 /L 2)))
41, 2, 3syl2anc 582 . . 3 (((𝐴 ∈ ℤ ∧ 𝐵 ∈ ℤ ∧ 𝑃 ∈ ℙ) ∧ 𝑃 = 2) → ((𝐴 · 𝐵) /L 2) = ((𝐴 /L 2) · (𝐵 /L 2)))
5 simpr 483 . . . 4 (((𝐴 ∈ ℤ ∧ 𝐵 ∈ ℤ ∧ 𝑃 ∈ ℙ) ∧ 𝑃 = 2) → 𝑃 = 2)
65oveq2d 7435 . . 3 (((𝐴 ∈ ℤ ∧ 𝐵 ∈ ℤ ∧ 𝑃 ∈ ℙ) ∧ 𝑃 = 2) → ((𝐴 · 𝐵) /L 𝑃) = ((𝐴 · 𝐵) /L 2))
75oveq2d 7435 . . . 4 (((𝐴 ∈ ℤ ∧ 𝐵 ∈ ℤ ∧ 𝑃 ∈ ℙ) ∧ 𝑃 = 2) → (𝐴 /L 𝑃) = (𝐴 /L 2))
85oveq2d 7435 . . . 4 (((𝐴 ∈ ℤ ∧ 𝐵 ∈ ℤ ∧ 𝑃 ∈ ℙ) ∧ 𝑃 = 2) → (𝐵 /L 𝑃) = (𝐵 /L 2))
97, 8oveq12d 7437 . . 3 (((𝐴 ∈ ℤ ∧ 𝐵 ∈ ℤ ∧ 𝑃 ∈ ℙ) ∧ 𝑃 = 2) → ((𝐴 /L 𝑃) · (𝐵 /L 𝑃)) = ((𝐴 /L 2) · (𝐵 /L 2)))
104, 6, 93eqtr4d 2775 . 2 (((𝐴 ∈ ℤ ∧ 𝐵 ∈ ℤ ∧ 𝑃 ∈ ℙ) ∧ 𝑃 = 2) → ((𝐴 · 𝐵) /L 𝑃) = ((𝐴 /L 𝑃) · (𝐵 /L 𝑃)))
11 simpl1 1188 . . . . . 6 (((𝐴 ∈ ℤ ∧ 𝐵 ∈ ℤ ∧ 𝑃 ∈ ℙ) ∧ 𝑃 ≠ 2) → 𝐴 ∈ ℤ)
12 simpl2 1189 . . . . . 6 (((𝐴 ∈ ℤ ∧ 𝐵 ∈ ℤ ∧ 𝑃 ∈ ℙ) ∧ 𝑃 ≠ 2) → 𝐵 ∈ ℤ)
1311, 12zmulcld 12705 . . . . 5 (((𝐴 ∈ ℤ ∧ 𝐵 ∈ ℤ ∧ 𝑃 ∈ ℙ) ∧ 𝑃 ≠ 2) → (𝐴 · 𝐵) ∈ ℤ)
14 simpl3 1190 . . . . . 6 (((𝐴 ∈ ℤ ∧ 𝐵 ∈ ℤ ∧ 𝑃 ∈ ℙ) ∧ 𝑃 ≠ 2) → 𝑃 ∈ ℙ)
15 prmz 16649 . . . . . 6 (𝑃 ∈ ℙ → 𝑃 ∈ ℤ)
1614, 15syl 17 . . . . 5 (((𝐴 ∈ ℤ ∧ 𝐵 ∈ ℤ ∧ 𝑃 ∈ ℙ) ∧ 𝑃 ≠ 2) → 𝑃 ∈ ℤ)
17 lgscl 27289 . . . . 5 (((𝐴 · 𝐵) ∈ ℤ ∧ 𝑃 ∈ ℤ) → ((𝐴 · 𝐵) /L 𝑃) ∈ ℤ)
1813, 16, 17syl2anc 582 . . . 4 (((𝐴 ∈ ℤ ∧ 𝐵 ∈ ℤ ∧ 𝑃 ∈ ℙ) ∧ 𝑃 ≠ 2) → ((𝐴 · 𝐵) /L 𝑃) ∈ ℤ)
1918zcnd 12700 . . 3 (((𝐴 ∈ ℤ ∧ 𝐵 ∈ ℤ ∧ 𝑃 ∈ ℙ) ∧ 𝑃 ≠ 2) → ((𝐴 · 𝐵) /L 𝑃) ∈ ℂ)
20 lgscl 27289 . . . . . 6 ((𝐴 ∈ ℤ ∧ 𝑃 ∈ ℤ) → (𝐴 /L 𝑃) ∈ ℤ)
2111, 16, 20syl2anc 582 . . . . 5 (((𝐴 ∈ ℤ ∧ 𝐵 ∈ ℤ ∧ 𝑃 ∈ ℙ) ∧ 𝑃 ≠ 2) → (𝐴 /L 𝑃) ∈ ℤ)
22 lgscl 27289 . . . . . 6 ((𝐵 ∈ ℤ ∧ 𝑃 ∈ ℤ) → (𝐵 /L 𝑃) ∈ ℤ)
2312, 16, 22syl2anc 582 . . . . 5 (((𝐴 ∈ ℤ ∧ 𝐵 ∈ ℤ ∧ 𝑃 ∈ ℙ) ∧ 𝑃 ≠ 2) → (𝐵 /L 𝑃) ∈ ℤ)
2421, 23zmulcld 12705 . . . 4 (((𝐴 ∈ ℤ ∧ 𝐵 ∈ ℤ ∧ 𝑃 ∈ ℙ) ∧ 𝑃 ≠ 2) → ((𝐴 /L 𝑃) · (𝐵 /L 𝑃)) ∈ ℤ)
2524zcnd 12700 . . 3 (((𝐴 ∈ ℤ ∧ 𝐵 ∈ ℤ ∧ 𝑃 ∈ ℙ) ∧ 𝑃 ≠ 2) → ((𝐴 /L 𝑃) · (𝐵 /L 𝑃)) ∈ ℂ)
2619, 25subcld 11603 . . . 4 (((𝐴 ∈ ℤ ∧ 𝐵 ∈ ℤ ∧ 𝑃 ∈ ℙ) ∧ 𝑃 ≠ 2) → (((𝐴 · 𝐵) /L 𝑃) − ((𝐴 /L 𝑃) · (𝐵 /L 𝑃))) ∈ ℂ)
2726abscld 15419 . . . . . 6 (((𝐴 ∈ ℤ ∧ 𝐵 ∈ ℤ ∧ 𝑃 ∈ ℙ) ∧ 𝑃 ≠ 2) → (abs‘(((𝐴 · 𝐵) /L 𝑃) − ((𝐴 /L 𝑃) · (𝐵 /L 𝑃)))) ∈ ℝ)
28 prmnn 16648 . . . . . . . 8 (𝑃 ∈ ℙ → 𝑃 ∈ ℕ)
2914, 28syl 17 . . . . . . 7 (((𝐴 ∈ ℤ ∧ 𝐵 ∈ ℤ ∧ 𝑃 ∈ ℙ) ∧ 𝑃 ≠ 2) → 𝑃 ∈ ℕ)
3029nnrpd 13049 . . . . . 6 (((𝐴 ∈ ℤ ∧ 𝐵 ∈ ℤ ∧ 𝑃 ∈ ℙ) ∧ 𝑃 ≠ 2) → 𝑃 ∈ ℝ+)
3126absge0d 15427 . . . . . 6 (((𝐴 ∈ ℤ ∧ 𝐵 ∈ ℤ ∧ 𝑃 ∈ ℙ) ∧ 𝑃 ≠ 2) → 0 ≤ (abs‘(((𝐴 · 𝐵) /L 𝑃) − ((𝐴 /L 𝑃) · (𝐵 /L 𝑃)))))
32 2re 12319 . . . . . . . 8 2 ∈ ℝ
3332a1i 11 . . . . . . 7 (((𝐴 ∈ ℤ ∧ 𝐵 ∈ ℤ ∧ 𝑃 ∈ ℙ) ∧ 𝑃 ≠ 2) → 2 ∈ ℝ)
3429nnred 12260 . . . . . . 7 (((𝐴 ∈ ℤ ∧ 𝐵 ∈ ℤ ∧ 𝑃 ∈ ℙ) ∧ 𝑃 ≠ 2) → 𝑃 ∈ ℝ)
3519abscld 15419 . . . . . . . . 9 (((𝐴 ∈ ℤ ∧ 𝐵 ∈ ℤ ∧ 𝑃 ∈ ℙ) ∧ 𝑃 ≠ 2) → (abs‘((𝐴 · 𝐵) /L 𝑃)) ∈ ℝ)
3625abscld 15419 . . . . . . . . 9 (((𝐴 ∈ ℤ ∧ 𝐵 ∈ ℤ ∧ 𝑃 ∈ ℙ) ∧ 𝑃 ≠ 2) → (abs‘((𝐴 /L 𝑃) · (𝐵 /L 𝑃))) ∈ ℝ)
3735, 36readdcld 11275 . . . . . . . 8 (((𝐴 ∈ ℤ ∧ 𝐵 ∈ ℤ ∧ 𝑃 ∈ ℙ) ∧ 𝑃 ≠ 2) → ((abs‘((𝐴 · 𝐵) /L 𝑃)) + (abs‘((𝐴 /L 𝑃) · (𝐵 /L 𝑃)))) ∈ ℝ)
3819, 25abs2dif2d 15441 . . . . . . . 8 (((𝐴 ∈ ℤ ∧ 𝐵 ∈ ℤ ∧ 𝑃 ∈ ℙ) ∧ 𝑃 ≠ 2) → (abs‘(((𝐴 · 𝐵) /L 𝑃) − ((𝐴 /L 𝑃) · (𝐵 /L 𝑃)))) ≤ ((abs‘((𝐴 · 𝐵) /L 𝑃)) + (abs‘((𝐴 /L 𝑃) · (𝐵 /L 𝑃)))))
39 1red 11247 . . . . . . . . . 10 (((𝐴 ∈ ℤ ∧ 𝐵 ∈ ℤ ∧ 𝑃 ∈ ℙ) ∧ 𝑃 ≠ 2) → 1 ∈ ℝ)
40 lgsle1 27290 . . . . . . . . . . 11 (((𝐴 · 𝐵) ∈ ℤ ∧ 𝑃 ∈ ℤ) → (abs‘((𝐴 · 𝐵) /L 𝑃)) ≤ 1)
4113, 16, 40syl2anc 582 . . . . . . . . . 10 (((𝐴 ∈ ℤ ∧ 𝐵 ∈ ℤ ∧ 𝑃 ∈ ℙ) ∧ 𝑃 ≠ 2) → (abs‘((𝐴 · 𝐵) /L 𝑃)) ≤ 1)
42 eqid 2725 . . . . . . . . . . . . . 14 {𝑥 ∈ ℤ ∣ (abs‘𝑥) ≤ 1} = {𝑥 ∈ ℤ ∣ (abs‘𝑥) ≤ 1}
4342lgscl2 27287 . . . . . . . . . . . . 13 ((𝐴 ∈ ℤ ∧ 𝑃 ∈ ℤ) → (𝐴 /L 𝑃) ∈ {𝑥 ∈ ℤ ∣ (abs‘𝑥) ≤ 1})
4411, 16, 43syl2anc 582 . . . . . . . . . . . 12 (((𝐴 ∈ ℤ ∧ 𝐵 ∈ ℤ ∧ 𝑃 ∈ ℙ) ∧ 𝑃 ≠ 2) → (𝐴 /L 𝑃) ∈ {𝑥 ∈ ℤ ∣ (abs‘𝑥) ≤ 1})
4542lgscl2 27287 . . . . . . . . . . . . 13 ((𝐵 ∈ ℤ ∧ 𝑃 ∈ ℤ) → (𝐵 /L 𝑃) ∈ {𝑥 ∈ ℤ ∣ (abs‘𝑥) ≤ 1})
4612, 16, 45syl2anc 582 . . . . . . . . . . . 12 (((𝐴 ∈ ℤ ∧ 𝐵 ∈ ℤ ∧ 𝑃 ∈ ℙ) ∧ 𝑃 ≠ 2) → (𝐵 /L 𝑃) ∈ {𝑥 ∈ ℤ ∣ (abs‘𝑥) ≤ 1})
4742lgslem3 27277 . . . . . . . . . . . 12 (((𝐴 /L 𝑃) ∈ {𝑥 ∈ ℤ ∣ (abs‘𝑥) ≤ 1} ∧ (𝐵 /L 𝑃) ∈ {𝑥 ∈ ℤ ∣ (abs‘𝑥) ≤ 1}) → ((𝐴 /L 𝑃) · (𝐵 /L 𝑃)) ∈ {𝑥 ∈ ℤ ∣ (abs‘𝑥) ≤ 1})
4844, 46, 47syl2anc 582 . . . . . . . . . . 11 (((𝐴 ∈ ℤ ∧ 𝐵 ∈ ℤ ∧ 𝑃 ∈ ℙ) ∧ 𝑃 ≠ 2) → ((𝐴 /L 𝑃) · (𝐵 /L 𝑃)) ∈ {𝑥 ∈ ℤ ∣ (abs‘𝑥) ≤ 1})
49 fveq2 6896 . . . . . . . . . . . . . 14 (𝑥 = ((𝐴 /L 𝑃) · (𝐵 /L 𝑃)) → (abs‘𝑥) = (abs‘((𝐴 /L 𝑃) · (𝐵 /L 𝑃))))
5049breq1d 5159 . . . . . . . . . . . . 13 (𝑥 = ((𝐴 /L 𝑃) · (𝐵 /L 𝑃)) → ((abs‘𝑥) ≤ 1 ↔ (abs‘((𝐴 /L 𝑃) · (𝐵 /L 𝑃))) ≤ 1))
5150elrab 3679 . . . . . . . . . . . 12 (((𝐴 /L 𝑃) · (𝐵 /L 𝑃)) ∈ {𝑥 ∈ ℤ ∣ (abs‘𝑥) ≤ 1} ↔ (((𝐴 /L 𝑃) · (𝐵 /L 𝑃)) ∈ ℤ ∧ (abs‘((𝐴 /L 𝑃) · (𝐵 /L 𝑃))) ≤ 1))
5251simprbi 495 . . . . . . . . . . 11 (((𝐴 /L 𝑃) · (𝐵 /L 𝑃)) ∈ {𝑥 ∈ ℤ ∣ (abs‘𝑥) ≤ 1} → (abs‘((𝐴 /L 𝑃) · (𝐵 /L 𝑃))) ≤ 1)
5348, 52syl 17 . . . . . . . . . 10 (((𝐴 ∈ ℤ ∧ 𝐵 ∈ ℤ ∧ 𝑃 ∈ ℙ) ∧ 𝑃 ≠ 2) → (abs‘((𝐴 /L 𝑃) · (𝐵 /L 𝑃))) ≤ 1)
5435, 36, 39, 39, 41, 53le2addd 11865 . . . . . . . . 9 (((𝐴 ∈ ℤ ∧ 𝐵 ∈ ℤ ∧ 𝑃 ∈ ℙ) ∧ 𝑃 ≠ 2) → ((abs‘((𝐴 · 𝐵) /L 𝑃)) + (abs‘((𝐴 /L 𝑃) · (𝐵 /L 𝑃)))) ≤ (1 + 1))
55 df-2 12308 . . . . . . . . 9 2 = (1 + 1)
5654, 55breqtrrdi 5191 . . . . . . . 8 (((𝐴 ∈ ℤ ∧ 𝐵 ∈ ℤ ∧ 𝑃 ∈ ℙ) ∧ 𝑃 ≠ 2) → ((abs‘((𝐴 · 𝐵) /L 𝑃)) + (abs‘((𝐴 /L 𝑃) · (𝐵 /L 𝑃)))) ≤ 2)
5727, 37, 33, 38, 56letrd 11403 . . . . . . 7 (((𝐴 ∈ ℤ ∧ 𝐵 ∈ ℤ ∧ 𝑃 ∈ ℙ) ∧ 𝑃 ≠ 2) → (abs‘(((𝐴 · 𝐵) /L 𝑃) − ((𝐴 /L 𝑃) · (𝐵 /L 𝑃)))) ≤ 2)
58 prmuz2 16670 . . . . . . . . 9 (𝑃 ∈ ℙ → 𝑃 ∈ (ℤ‘2))
59 eluzle 12868 . . . . . . . . 9 (𝑃 ∈ (ℤ‘2) → 2 ≤ 𝑃)
6014, 58, 593syl 18 . . . . . . . 8 (((𝐴 ∈ ℤ ∧ 𝐵 ∈ ℤ ∧ 𝑃 ∈ ℙ) ∧ 𝑃 ≠ 2) → 2 ≤ 𝑃)
61 simpr 483 . . . . . . . 8 (((𝐴 ∈ ℤ ∧ 𝐵 ∈ ℤ ∧ 𝑃 ∈ ℙ) ∧ 𝑃 ≠ 2) → 𝑃 ≠ 2)
62 ltlen 11347 . . . . . . . . 9 ((2 ∈ ℝ ∧ 𝑃 ∈ ℝ) → (2 < 𝑃 ↔ (2 ≤ 𝑃𝑃 ≠ 2)))
6332, 34, 62sylancr 585 . . . . . . . 8 (((𝐴 ∈ ℤ ∧ 𝐵 ∈ ℤ ∧ 𝑃 ∈ ℙ) ∧ 𝑃 ≠ 2) → (2 < 𝑃 ↔ (2 ≤ 𝑃𝑃 ≠ 2)))
6460, 61, 63mpbir2and 711 . . . . . . 7 (((𝐴 ∈ ℤ ∧ 𝐵 ∈ ℤ ∧ 𝑃 ∈ ℙ) ∧ 𝑃 ≠ 2) → 2 < 𝑃)
6527, 33, 34, 57, 64lelttrd 11404 . . . . . 6 (((𝐴 ∈ ℤ ∧ 𝐵 ∈ ℤ ∧ 𝑃 ∈ ℙ) ∧ 𝑃 ≠ 2) → (abs‘(((𝐴 · 𝐵) /L 𝑃) − ((𝐴 /L 𝑃) · (𝐵 /L 𝑃)))) < 𝑃)
66 modid 13897 . . . . . 6 ((((abs‘(((𝐴 · 𝐵) /L 𝑃) − ((𝐴 /L 𝑃) · (𝐵 /L 𝑃)))) ∈ ℝ ∧ 𝑃 ∈ ℝ+) ∧ (0 ≤ (abs‘(((𝐴 · 𝐵) /L 𝑃) − ((𝐴 /L 𝑃) · (𝐵 /L 𝑃)))) ∧ (abs‘(((𝐴 · 𝐵) /L 𝑃) − ((𝐴 /L 𝑃) · (𝐵 /L 𝑃)))) < 𝑃)) → ((abs‘(((𝐴 · 𝐵) /L 𝑃) − ((𝐴 /L 𝑃) · (𝐵 /L 𝑃)))) mod 𝑃) = (abs‘(((𝐴 · 𝐵) /L 𝑃) − ((𝐴 /L 𝑃) · (𝐵 /L 𝑃)))))
6727, 30, 31, 65, 66syl22anc 837 . . . . 5 (((𝐴 ∈ ℤ ∧ 𝐵 ∈ ℤ ∧ 𝑃 ∈ ℙ) ∧ 𝑃 ≠ 2) → ((abs‘(((𝐴 · 𝐵) /L 𝑃) − ((𝐴 /L 𝑃) · (𝐵 /L 𝑃)))) mod 𝑃) = (abs‘(((𝐴 · 𝐵) /L 𝑃) − ((𝐴 /L 𝑃) · (𝐵 /L 𝑃)))))
6811zcnd 12700 . . . . . . . . . . . 12 (((𝐴 ∈ ℤ ∧ 𝐵 ∈ ℤ ∧ 𝑃 ∈ ℙ) ∧ 𝑃 ≠ 2) → 𝐴 ∈ ℂ)
6912zcnd 12700 . . . . . . . . . . . 12 (((𝐴 ∈ ℤ ∧ 𝐵 ∈ ℤ ∧ 𝑃 ∈ ℙ) ∧ 𝑃 ≠ 2) → 𝐵 ∈ ℂ)
70 eldifsn 4792 . . . . . . . . . . . . . . 15 (𝑃 ∈ (ℙ ∖ {2}) ↔ (𝑃 ∈ ℙ ∧ 𝑃 ≠ 2))
7114, 61, 70sylanbrc 581 . . . . . . . . . . . . . 14 (((𝐴 ∈ ℤ ∧ 𝐵 ∈ ℤ ∧ 𝑃 ∈ ℙ) ∧ 𝑃 ≠ 2) → 𝑃 ∈ (ℙ ∖ {2}))
72 oddprm 16782 . . . . . . . . . . . . . 14 (𝑃 ∈ (ℙ ∖ {2}) → ((𝑃 − 1) / 2) ∈ ℕ)
7371, 72syl 17 . . . . . . . . . . . . 13 (((𝐴 ∈ ℤ ∧ 𝐵 ∈ ℤ ∧ 𝑃 ∈ ℙ) ∧ 𝑃 ≠ 2) → ((𝑃 − 1) / 2) ∈ ℕ)
7473nnnn0d 12565 . . . . . . . . . . . 12 (((𝐴 ∈ ℤ ∧ 𝐵 ∈ ℤ ∧ 𝑃 ∈ ℙ) ∧ 𝑃 ≠ 2) → ((𝑃 − 1) / 2) ∈ ℕ0)
7568, 69, 74mulexpd 14161 . . . . . . . . . . 11 (((𝐴 ∈ ℤ ∧ 𝐵 ∈ ℤ ∧ 𝑃 ∈ ℙ) ∧ 𝑃 ≠ 2) → ((𝐴 · 𝐵)↑((𝑃 − 1) / 2)) = ((𝐴↑((𝑃 − 1) / 2)) · (𝐵↑((𝑃 − 1) / 2))))
76 zexpcl 14077 . . . . . . . . . . . . . 14 ((𝐴 ∈ ℤ ∧ ((𝑃 − 1) / 2) ∈ ℕ0) → (𝐴↑((𝑃 − 1) / 2)) ∈ ℤ)
7711, 74, 76syl2anc 582 . . . . . . . . . . . . 13 (((𝐴 ∈ ℤ ∧ 𝐵 ∈ ℤ ∧ 𝑃 ∈ ℙ) ∧ 𝑃 ≠ 2) → (𝐴↑((𝑃 − 1) / 2)) ∈ ℤ)
7877zcnd 12700 . . . . . . . . . . . 12 (((𝐴 ∈ ℤ ∧ 𝐵 ∈ ℤ ∧ 𝑃 ∈ ℙ) ∧ 𝑃 ≠ 2) → (𝐴↑((𝑃 − 1) / 2)) ∈ ℂ)
79 zexpcl 14077 . . . . . . . . . . . . . 14 ((𝐵 ∈ ℤ ∧ ((𝑃 − 1) / 2) ∈ ℕ0) → (𝐵↑((𝑃 − 1) / 2)) ∈ ℤ)
8012, 74, 79syl2anc 582 . . . . . . . . . . . . 13 (((𝐴 ∈ ℤ ∧ 𝐵 ∈ ℤ ∧ 𝑃 ∈ ℙ) ∧ 𝑃 ≠ 2) → (𝐵↑((𝑃 − 1) / 2)) ∈ ℤ)
8180zcnd 12700 . . . . . . . . . . . 12 (((𝐴 ∈ ℤ ∧ 𝐵 ∈ ℤ ∧ 𝑃 ∈ ℙ) ∧ 𝑃 ≠ 2) → (𝐵↑((𝑃 − 1) / 2)) ∈ ℂ)
8278, 81mulcomd 11267 . . . . . . . . . . 11 (((𝐴 ∈ ℤ ∧ 𝐵 ∈ ℤ ∧ 𝑃 ∈ ℙ) ∧ 𝑃 ≠ 2) → ((𝐴↑((𝑃 − 1) / 2)) · (𝐵↑((𝑃 − 1) / 2))) = ((𝐵↑((𝑃 − 1) / 2)) · (𝐴↑((𝑃 − 1) / 2))))
8375, 82eqtrd 2765 . . . . . . . . . 10 (((𝐴 ∈ ℤ ∧ 𝐵 ∈ ℤ ∧ 𝑃 ∈ ℙ) ∧ 𝑃 ≠ 2) → ((𝐴 · 𝐵)↑((𝑃 − 1) / 2)) = ((𝐵↑((𝑃 − 1) / 2)) · (𝐴↑((𝑃 − 1) / 2))))
8483oveq1d 7434 . . . . . . . . 9 (((𝐴 ∈ ℤ ∧ 𝐵 ∈ ℤ ∧ 𝑃 ∈ ℙ) ∧ 𝑃 ≠ 2) → (((𝐴 · 𝐵)↑((𝑃 − 1) / 2)) mod 𝑃) = (((𝐵↑((𝑃 − 1) / 2)) · (𝐴↑((𝑃 − 1) / 2))) mod 𝑃))
85 lgsvalmod 27294 . . . . . . . . . 10 (((𝐴 · 𝐵) ∈ ℤ ∧ 𝑃 ∈ (ℙ ∖ {2})) → (((𝐴 · 𝐵) /L 𝑃) mod 𝑃) = (((𝐴 · 𝐵)↑((𝑃 − 1) / 2)) mod 𝑃))
8613, 71, 85syl2anc 582 . . . . . . . . 9 (((𝐴 ∈ ℤ ∧ 𝐵 ∈ ℤ ∧ 𝑃 ∈ ℙ) ∧ 𝑃 ≠ 2) → (((𝐴 · 𝐵) /L 𝑃) mod 𝑃) = (((𝐴 · 𝐵)↑((𝑃 − 1) / 2)) mod 𝑃))
8721zred 12699 . . . . . . . . . . 11 (((𝐴 ∈ ℤ ∧ 𝐵 ∈ ℤ ∧ 𝑃 ∈ ℙ) ∧ 𝑃 ≠ 2) → (𝐴 /L 𝑃) ∈ ℝ)
8877zred 12699 . . . . . . . . . . 11 (((𝐴 ∈ ℤ ∧ 𝐵 ∈ ℤ ∧ 𝑃 ∈ ℙ) ∧ 𝑃 ≠ 2) → (𝐴↑((𝑃 − 1) / 2)) ∈ ℝ)
89 lgsvalmod 27294 . . . . . . . . . . . 12 ((𝐴 ∈ ℤ ∧ 𝑃 ∈ (ℙ ∖ {2})) → ((𝐴 /L 𝑃) mod 𝑃) = ((𝐴↑((𝑃 − 1) / 2)) mod 𝑃))
9011, 71, 89syl2anc 582 . . . . . . . . . . 11 (((𝐴 ∈ ℤ ∧ 𝐵 ∈ ℤ ∧ 𝑃 ∈ ℙ) ∧ 𝑃 ≠ 2) → ((𝐴 /L 𝑃) mod 𝑃) = ((𝐴↑((𝑃 − 1) / 2)) mod 𝑃))
91 modmul1 13925 . . . . . . . . . . 11 ((((𝐴 /L 𝑃) ∈ ℝ ∧ (𝐴↑((𝑃 − 1) / 2)) ∈ ℝ) ∧ ((𝐵 /L 𝑃) ∈ ℤ ∧ 𝑃 ∈ ℝ+) ∧ ((𝐴 /L 𝑃) mod 𝑃) = ((𝐴↑((𝑃 − 1) / 2)) mod 𝑃)) → (((𝐴 /L 𝑃) · (𝐵 /L 𝑃)) mod 𝑃) = (((𝐴↑((𝑃 − 1) / 2)) · (𝐵 /L 𝑃)) mod 𝑃))
9287, 88, 23, 30, 90, 91syl221anc 1378 . . . . . . . . . 10 (((𝐴 ∈ ℤ ∧ 𝐵 ∈ ℤ ∧ 𝑃 ∈ ℙ) ∧ 𝑃 ≠ 2) → (((𝐴 /L 𝑃) · (𝐵 /L 𝑃)) mod 𝑃) = (((𝐴↑((𝑃 − 1) / 2)) · (𝐵 /L 𝑃)) mod 𝑃))
9323zcnd 12700 . . . . . . . . . . . 12 (((𝐴 ∈ ℤ ∧ 𝐵 ∈ ℤ ∧ 𝑃 ∈ ℙ) ∧ 𝑃 ≠ 2) → (𝐵 /L 𝑃) ∈ ℂ)
9478, 93mulcomd 11267 . . . . . . . . . . 11 (((𝐴 ∈ ℤ ∧ 𝐵 ∈ ℤ ∧ 𝑃 ∈ ℙ) ∧ 𝑃 ≠ 2) → ((𝐴↑((𝑃 − 1) / 2)) · (𝐵 /L 𝑃)) = ((𝐵 /L 𝑃) · (𝐴↑((𝑃 − 1) / 2))))
9594oveq1d 7434 . . . . . . . . . 10 (((𝐴 ∈ ℤ ∧ 𝐵 ∈ ℤ ∧ 𝑃 ∈ ℙ) ∧ 𝑃 ≠ 2) → (((𝐴↑((𝑃 − 1) / 2)) · (𝐵 /L 𝑃)) mod 𝑃) = (((𝐵 /L 𝑃) · (𝐴↑((𝑃 − 1) / 2))) mod 𝑃))
9623zred 12699 . . . . . . . . . . 11 (((𝐴 ∈ ℤ ∧ 𝐵 ∈ ℤ ∧ 𝑃 ∈ ℙ) ∧ 𝑃 ≠ 2) → (𝐵 /L 𝑃) ∈ ℝ)
9780zred 12699 . . . . . . . . . . 11 (((𝐴 ∈ ℤ ∧ 𝐵 ∈ ℤ ∧ 𝑃 ∈ ℙ) ∧ 𝑃 ≠ 2) → (𝐵↑((𝑃 − 1) / 2)) ∈ ℝ)
98 lgsvalmod 27294 . . . . . . . . . . . 12 ((𝐵 ∈ ℤ ∧ 𝑃 ∈ (ℙ ∖ {2})) → ((𝐵 /L 𝑃) mod 𝑃) = ((𝐵↑((𝑃 − 1) / 2)) mod 𝑃))
9912, 71, 98syl2anc 582 . . . . . . . . . . 11 (((𝐴 ∈ ℤ ∧ 𝐵 ∈ ℤ ∧ 𝑃 ∈ ℙ) ∧ 𝑃 ≠ 2) → ((𝐵 /L 𝑃) mod 𝑃) = ((𝐵↑((𝑃 − 1) / 2)) mod 𝑃))
100 modmul1 13925 . . . . . . . . . . 11 ((((𝐵 /L 𝑃) ∈ ℝ ∧ (𝐵↑((𝑃 − 1) / 2)) ∈ ℝ) ∧ ((𝐴↑((𝑃 − 1) / 2)) ∈ ℤ ∧ 𝑃 ∈ ℝ+) ∧ ((𝐵 /L 𝑃) mod 𝑃) = ((𝐵↑((𝑃 − 1) / 2)) mod 𝑃)) → (((𝐵 /L 𝑃) · (𝐴↑((𝑃 − 1) / 2))) mod 𝑃) = (((𝐵↑((𝑃 − 1) / 2)) · (𝐴↑((𝑃 − 1) / 2))) mod 𝑃))
10196, 97, 77, 30, 99, 100syl221anc 1378 . . . . . . . . . 10 (((𝐴 ∈ ℤ ∧ 𝐵 ∈ ℤ ∧ 𝑃 ∈ ℙ) ∧ 𝑃 ≠ 2) → (((𝐵 /L 𝑃) · (𝐴↑((𝑃 − 1) / 2))) mod 𝑃) = (((𝐵↑((𝑃 − 1) / 2)) · (𝐴↑((𝑃 − 1) / 2))) mod 𝑃))
10292, 95, 1013eqtrd 2769 . . . . . . . . 9 (((𝐴 ∈ ℤ ∧ 𝐵 ∈ ℤ ∧ 𝑃 ∈ ℙ) ∧ 𝑃 ≠ 2) → (((𝐴 /L 𝑃) · (𝐵 /L 𝑃)) mod 𝑃) = (((𝐵↑((𝑃 − 1) / 2)) · (𝐴↑((𝑃 − 1) / 2))) mod 𝑃))
10384, 86, 1023eqtr4d 2775 . . . . . . . 8 (((𝐴 ∈ ℤ ∧ 𝐵 ∈ ℤ ∧ 𝑃 ∈ ℙ) ∧ 𝑃 ≠ 2) → (((𝐴 · 𝐵) /L 𝑃) mod 𝑃) = (((𝐴 /L 𝑃) · (𝐵 /L 𝑃)) mod 𝑃))
104 moddvds 16245 . . . . . . . . 9 ((𝑃 ∈ ℕ ∧ ((𝐴 · 𝐵) /L 𝑃) ∈ ℤ ∧ ((𝐴 /L 𝑃) · (𝐵 /L 𝑃)) ∈ ℤ) → ((((𝐴 · 𝐵) /L 𝑃) mod 𝑃) = (((𝐴 /L 𝑃) · (𝐵 /L 𝑃)) mod 𝑃) ↔ 𝑃 ∥ (((𝐴 · 𝐵) /L 𝑃) − ((𝐴 /L 𝑃) · (𝐵 /L 𝑃)))))
10529, 18, 24, 104syl3anc 1368 . . . . . . . 8 (((𝐴 ∈ ℤ ∧ 𝐵 ∈ ℤ ∧ 𝑃 ∈ ℙ) ∧ 𝑃 ≠ 2) → ((((𝐴 · 𝐵) /L 𝑃) mod 𝑃) = (((𝐴 /L 𝑃) · (𝐵 /L 𝑃)) mod 𝑃) ↔ 𝑃 ∥ (((𝐴 · 𝐵) /L 𝑃) − ((𝐴 /L 𝑃) · (𝐵 /L 𝑃)))))
106103, 105mpbid 231 . . . . . . 7 (((𝐴 ∈ ℤ ∧ 𝐵 ∈ ℤ ∧ 𝑃 ∈ ℙ) ∧ 𝑃 ≠ 2) → 𝑃 ∥ (((𝐴 · 𝐵) /L 𝑃) − ((𝐴 /L 𝑃) · (𝐵 /L 𝑃))))
10718, 24zsubcld 12704 . . . . . . . 8 (((𝐴 ∈ ℤ ∧ 𝐵 ∈ ℤ ∧ 𝑃 ∈ ℙ) ∧ 𝑃 ≠ 2) → (((𝐴 · 𝐵) /L 𝑃) − ((𝐴 /L 𝑃) · (𝐵 /L 𝑃))) ∈ ℤ)
108 dvdsabsb 16256 . . . . . . . 8 ((𝑃 ∈ ℤ ∧ (((𝐴 · 𝐵) /L 𝑃) − ((𝐴 /L 𝑃) · (𝐵 /L 𝑃))) ∈ ℤ) → (𝑃 ∥ (((𝐴 · 𝐵) /L 𝑃) − ((𝐴 /L 𝑃) · (𝐵 /L 𝑃))) ↔ 𝑃 ∥ (abs‘(((𝐴 · 𝐵) /L 𝑃) − ((𝐴 /L 𝑃) · (𝐵 /L 𝑃))))))
10916, 107, 108syl2anc 582 . . . . . . 7 (((𝐴 ∈ ℤ ∧ 𝐵 ∈ ℤ ∧ 𝑃 ∈ ℙ) ∧ 𝑃 ≠ 2) → (𝑃 ∥ (((𝐴 · 𝐵) /L 𝑃) − ((𝐴 /L 𝑃) · (𝐵 /L 𝑃))) ↔ 𝑃 ∥ (abs‘(((𝐴 · 𝐵) /L 𝑃) − ((𝐴 /L 𝑃) · (𝐵 /L 𝑃))))))
110106, 109mpbid 231 . . . . . 6 (((𝐴 ∈ ℤ ∧ 𝐵 ∈ ℤ ∧ 𝑃 ∈ ℙ) ∧ 𝑃 ≠ 2) → 𝑃 ∥ (abs‘(((𝐴 · 𝐵) /L 𝑃) − ((𝐴 /L 𝑃) · (𝐵 /L 𝑃)))))
111 dvdsmod0 16240 . . . . . 6 ((𝑃 ∈ ℕ ∧ 𝑃 ∥ (abs‘(((𝐴 · 𝐵) /L 𝑃) − ((𝐴 /L 𝑃) · (𝐵 /L 𝑃))))) → ((abs‘(((𝐴 · 𝐵) /L 𝑃) − ((𝐴 /L 𝑃) · (𝐵 /L 𝑃)))) mod 𝑃) = 0)
11229, 110, 111syl2anc 582 . . . . 5 (((𝐴 ∈ ℤ ∧ 𝐵 ∈ ℤ ∧ 𝑃 ∈ ℙ) ∧ 𝑃 ≠ 2) → ((abs‘(((𝐴 · 𝐵) /L 𝑃) − ((𝐴 /L 𝑃) · (𝐵 /L 𝑃)))) mod 𝑃) = 0)
11367, 112eqtr3d 2767 . . . 4 (((𝐴 ∈ ℤ ∧ 𝐵 ∈ ℤ ∧ 𝑃 ∈ ℙ) ∧ 𝑃 ≠ 2) → (abs‘(((𝐴 · 𝐵) /L 𝑃) − ((𝐴 /L 𝑃) · (𝐵 /L 𝑃)))) = 0)
11426, 113abs00d 15429 . . 3 (((𝐴 ∈ ℤ ∧ 𝐵 ∈ ℤ ∧ 𝑃 ∈ ℙ) ∧ 𝑃 ≠ 2) → (((𝐴 · 𝐵) /L 𝑃) − ((𝐴 /L 𝑃) · (𝐵 /L 𝑃))) = 0)
11519, 25, 114subeq0d 11611 . 2 (((𝐴 ∈ ℤ ∧ 𝐵 ∈ ℤ ∧ 𝑃 ∈ ℙ) ∧ 𝑃 ≠ 2) → ((𝐴 · 𝐵) /L 𝑃) = ((𝐴 /L 𝑃) · (𝐵 /L 𝑃)))
11610, 115pm2.61dane 3018 1 ((𝐴 ∈ ℤ ∧ 𝐵 ∈ ℤ ∧ 𝑃 ∈ ℙ) → ((𝐴 · 𝐵) /L 𝑃) = ((𝐴 /L 𝑃) · (𝐵 /L 𝑃)))
Colors of variables: wff setvar class
Syntax hints:  wi 4  wb 205  wa 394  w3a 1084   = wceq 1533  wcel 2098  wne 2929  {crab 3418  cdif 3941  {csn 4630   class class class wbr 5149  cfv 6549  (class class class)co 7419  cr 11139  0cc0 11140  1c1 11141   + caddc 11143   · cmul 11145   < clt 11280  cle 11281  cmin 11476   / cdiv 11903  cn 12245  2c2 12300  0cn0 12505  cz 12591  cuz 12855  +crp 13009   mod cmo 13870  cexp 14062  abscabs 15217  cdvds 16234  cprime 16645   /L clgs 27272
This theorem was proved from axioms:  ax-mp 5  ax-1 6  ax-2 7  ax-3 8  ax-gen 1789  ax-4 1803  ax-5 1905  ax-6 1963  ax-7 2003  ax-8 2100  ax-9 2108  ax-10 2129  ax-11 2146  ax-12 2166  ax-ext 2696  ax-rep 5286  ax-sep 5300  ax-nul 5307  ax-pow 5365  ax-pr 5429  ax-un 7741  ax-cnex 11196  ax-resscn 11197  ax-1cn 11198  ax-icn 11199  ax-addcl 11200  ax-addrcl 11201  ax-mulcl 11202  ax-mulrcl 11203  ax-mulcom 11204  ax-addass 11205  ax-mulass 11206  ax-distr 11207  ax-i2m1 11208  ax-1ne0 11209  ax-1rid 11210  ax-rnegex 11211  ax-rrecex 11212  ax-cnre 11213  ax-pre-lttri 11214  ax-pre-lttrn 11215  ax-pre-ltadd 11216  ax-pre-mulgt0 11217  ax-pre-sup 11218
This theorem depends on definitions:  df-bi 206  df-an 395  df-or 846  df-3or 1085  df-3an 1086  df-tru 1536  df-fal 1546  df-ex 1774  df-nf 1778  df-sb 2060  df-mo 2528  df-eu 2557  df-clab 2703  df-cleq 2717  df-clel 2802  df-nfc 2877  df-ne 2930  df-nel 3036  df-ral 3051  df-rex 3060  df-rmo 3363  df-reu 3364  df-rab 3419  df-v 3463  df-sbc 3774  df-csb 3890  df-dif 3947  df-un 3949  df-in 3951  df-ss 3961  df-pss 3964  df-nul 4323  df-if 4531  df-pw 4606  df-sn 4631  df-pr 4633  df-op 4637  df-uni 4910  df-int 4951  df-iun 4999  df-br 5150  df-opab 5212  df-mpt 5233  df-tr 5267  df-id 5576  df-eprel 5582  df-po 5590  df-so 5591  df-fr 5633  df-we 5635  df-xp 5684  df-rel 5685  df-cnv 5686  df-co 5687  df-dm 5688  df-rn 5689  df-res 5690  df-ima 5691  df-pred 6307  df-ord 6374  df-on 6375  df-lim 6376  df-suc 6377  df-iota 6501  df-fun 6551  df-fn 6552  df-f 6553  df-f1 6554  df-fo 6555  df-f1o 6556  df-fv 6557  df-riota 7375  df-ov 7422  df-oprab 7423  df-mpo 7424  df-om 7872  df-1st 7994  df-2nd 7995  df-frecs 8287  df-wrecs 8318  df-recs 8392  df-rdg 8431  df-1o 8487  df-2o 8488  df-oadd 8491  df-er 8725  df-en 8965  df-dom 8966  df-sdom 8967  df-fin 8968  df-sup 9467  df-inf 9468  df-dju 9926  df-card 9964  df-pnf 11282  df-mnf 11283  df-xr 11284  df-ltxr 11285  df-le 11286  df-sub 11478  df-neg 11479  df-div 11904  df-nn 12246  df-2 12308  df-3 12309  df-4 12310  df-5 12311  df-6 12312  df-7 12313  df-8 12314  df-9 12315  df-n0 12506  df-xnn0 12578  df-z 12592  df-uz 12856  df-q 12966  df-rp 13010  df-fz 13520  df-fzo 13663  df-fl 13793  df-mod 13871  df-seq 14003  df-exp 14063  df-hash 14326  df-cj 15082  df-re 15083  df-im 15084  df-sqrt 15218  df-abs 15219  df-dvds 16235  df-gcd 16473  df-prm 16646  df-phi 16738  df-pc 16809  df-lgs 27273
This theorem is referenced by:  lgsdir  27310
  Copyright terms: Public domain W3C validator