ILE Home Intuitionistic Logic Explorer < Previous   Next >
Nearby theorems
Mirrors  >  Home  >  ILE Home  >  Th. List  >  gausslemma2dlem6 GIF version

Theorem gausslemma2dlem6 15754
Description: Lemma 6 for gausslemma2d 15756. (Contributed by AV, 16-Jun-2021.)
Hypotheses
Ref Expression
gausslemma2d.p (𝜑𝑃 ∈ (ℙ ∖ {2}))
gausslemma2d.h 𝐻 = ((𝑃 − 1) / 2)
gausslemma2d.r 𝑅 = (𝑥 ∈ (1...𝐻) ↦ if((𝑥 · 2) < (𝑃 / 2), (𝑥 · 2), (𝑃 − (𝑥 · 2))))
gausslemma2d.m 𝑀 = (⌊‘(𝑃 / 4))
gausslemma2d.n 𝑁 = (𝐻𝑀)
Assertion
Ref Expression
gausslemma2dlem6 (𝜑 → ((!‘𝐻) mod 𝑃) = ((((-1↑𝑁) · (2↑𝐻)) · (!‘𝐻)) mod 𝑃))
Distinct variable groups:   𝑥,𝐻   𝑥,𝑃   𝜑,𝑥   𝑥,𝑀
Allowed substitution hints:   𝑅(𝑥)   𝑁(𝑥)

Proof of Theorem gausslemma2dlem6
Dummy variable 𝑘 is distinct from all other variables.
StepHypRef Expression
1 gausslemma2d.p . . . 4 (𝜑𝑃 ∈ (ℙ ∖ {2}))
2 gausslemma2d.h . . . 4 𝐻 = ((𝑃 − 1) / 2)
3 gausslemma2d.r . . . 4 𝑅 = (𝑥 ∈ (1...𝐻) ↦ if((𝑥 · 2) < (𝑃 / 2), (𝑥 · 2), (𝑃 − (𝑥 · 2))))
4 gausslemma2d.m . . . 4 𝑀 = (⌊‘(𝑃 / 4))
51, 2, 3, 4gausslemma2dlem4 15751 . . 3 (𝜑 → (!‘𝐻) = (∏𝑘 ∈ (1...𝑀)(𝑅𝑘) · ∏𝑘 ∈ ((𝑀 + 1)...𝐻)(𝑅𝑘)))
65oveq1d 6022 . 2 (𝜑 → ((!‘𝐻) mod 𝑃) = ((∏𝑘 ∈ (1...𝑀)(𝑅𝑘) · ∏𝑘 ∈ ((𝑀 + 1)...𝐻)(𝑅𝑘)) mod 𝑃))
7 1zzd 9481 . . . . 5 (𝜑 → 1 ∈ ℤ)
81gausslemma2dlem0a 15736 . . . . . . . . 9 (𝜑𝑃 ∈ ℕ)
98nnzd 9576 . . . . . . . 8 (𝜑𝑃 ∈ ℤ)
10 4nn 9282 . . . . . . . 8 4 ∈ ℕ
11 znq 9827 . . . . . . . 8 ((𝑃 ∈ ℤ ∧ 4 ∈ ℕ) → (𝑃 / 4) ∈ ℚ)
129, 10, 11sylancl 413 . . . . . . 7 (𝜑 → (𝑃 / 4) ∈ ℚ)
1312flqcld 10505 . . . . . 6 (𝜑 → (⌊‘(𝑃 / 4)) ∈ ℤ)
144, 13eqeltrid 2316 . . . . 5 (𝜑𝑀 ∈ ℤ)
157, 14fzfigd 10661 . . . 4 (𝜑 → (1...𝑀) ∈ Fin)
161, 2, 3, 4gausslemma2dlem2 15749 . . . . . 6 (𝜑 → ∀𝑘 ∈ (1...𝑀)(𝑅𝑘) = (𝑘 · 2))
1716adantr 276 . . . . 5 ((𝜑𝑘 ∈ (1...𝑀)) → ∀𝑘 ∈ (1...𝑀)(𝑅𝑘) = (𝑘 · 2))
18 rspa 2578 . . . . . . . 8 ((∀𝑘 ∈ (1...𝑀)(𝑅𝑘) = (𝑘 · 2) ∧ 𝑘 ∈ (1...𝑀)) → (𝑅𝑘) = (𝑘 · 2))
1918expcom 116 . . . . . . 7 (𝑘 ∈ (1...𝑀) → (∀𝑘 ∈ (1...𝑀)(𝑅𝑘) = (𝑘 · 2) → (𝑅𝑘) = (𝑘 · 2)))
2019adantl 277 . . . . . 6 ((𝜑𝑘 ∈ (1...𝑀)) → (∀𝑘 ∈ (1...𝑀)(𝑅𝑘) = (𝑘 · 2) → (𝑅𝑘) = (𝑘 · 2)))
21 elfzelz 10229 . . . . . . . . 9 (𝑘 ∈ (1...𝑀) → 𝑘 ∈ ℤ)
22 2z 9482 . . . . . . . . . 10 2 ∈ ℤ
2322a1i 9 . . . . . . . . 9 (𝑘 ∈ (1...𝑀) → 2 ∈ ℤ)
2421, 23zmulcld 9583 . . . . . . . 8 (𝑘 ∈ (1...𝑀) → (𝑘 · 2) ∈ ℤ)
2524adantl 277 . . . . . . 7 ((𝜑𝑘 ∈ (1...𝑀)) → (𝑘 · 2) ∈ ℤ)
26 eleq1 2292 . . . . . . 7 ((𝑅𝑘) = (𝑘 · 2) → ((𝑅𝑘) ∈ ℤ ↔ (𝑘 · 2) ∈ ℤ))
2725, 26syl5ibrcom 157 . . . . . 6 ((𝜑𝑘 ∈ (1...𝑀)) → ((𝑅𝑘) = (𝑘 · 2) → (𝑅𝑘) ∈ ℤ))
2820, 27syld 45 . . . . 5 ((𝜑𝑘 ∈ (1...𝑀)) → (∀𝑘 ∈ (1...𝑀)(𝑅𝑘) = (𝑘 · 2) → (𝑅𝑘) ∈ ℤ))
2917, 28mpd 13 . . . 4 ((𝜑𝑘 ∈ (1...𝑀)) → (𝑅𝑘) ∈ ℤ)
3015, 29fprodzcl 12128 . . 3 (𝜑 → ∏𝑘 ∈ (1...𝑀)(𝑅𝑘) ∈ ℤ)
3114peano2zd 9580 . . . . . 6 (𝜑 → (𝑀 + 1) ∈ ℤ)
321, 2gausslemma2dlem0b 15737 . . . . . . 7 (𝜑𝐻 ∈ ℕ)
3332nnzd 9576 . . . . . 6 (𝜑𝐻 ∈ ℤ)
3431, 33fzfigd 10661 . . . . 5 (𝜑 → ((𝑀 + 1)...𝐻) ∈ Fin)
351, 2, 3, 4gausslemma2dlem3 15750 . . . . . . 7 (𝜑 → ∀𝑘 ∈ ((𝑀 + 1)...𝐻)(𝑅𝑘) = (𝑃 − (𝑘 · 2)))
3635adantr 276 . . . . . 6 ((𝜑𝑘 ∈ ((𝑀 + 1)...𝐻)) → ∀𝑘 ∈ ((𝑀 + 1)...𝐻)(𝑅𝑘) = (𝑃 − (𝑘 · 2)))
37 rspa 2578 . . . . . . . . 9 ((∀𝑘 ∈ ((𝑀 + 1)...𝐻)(𝑅𝑘) = (𝑃 − (𝑘 · 2)) ∧ 𝑘 ∈ ((𝑀 + 1)...𝐻)) → (𝑅𝑘) = (𝑃 − (𝑘 · 2)))
3837expcom 116 . . . . . . . 8 (𝑘 ∈ ((𝑀 + 1)...𝐻) → (∀𝑘 ∈ ((𝑀 + 1)...𝐻)(𝑅𝑘) = (𝑃 − (𝑘 · 2)) → (𝑅𝑘) = (𝑃 − (𝑘 · 2))))
3938adantl 277 . . . . . . 7 ((𝜑𝑘 ∈ ((𝑀 + 1)...𝐻)) → (∀𝑘 ∈ ((𝑀 + 1)...𝐻)(𝑅𝑘) = (𝑃 − (𝑘 · 2)) → (𝑅𝑘) = (𝑃 − (𝑘 · 2))))
40 elfzelz 10229 . . . . . . . . . 10 (𝑘 ∈ ((𝑀 + 1)...𝐻) → 𝑘 ∈ ℤ)
4122a1i 9 . . . . . . . . . 10 (𝑘 ∈ ((𝑀 + 1)...𝐻) → 2 ∈ ℤ)
4240, 41zmulcld 9583 . . . . . . . . 9 (𝑘 ∈ ((𝑀 + 1)...𝐻) → (𝑘 · 2) ∈ ℤ)
43 zsubcl 9495 . . . . . . . . 9 ((𝑃 ∈ ℤ ∧ (𝑘 · 2) ∈ ℤ) → (𝑃 − (𝑘 · 2)) ∈ ℤ)
449, 42, 43syl2an 289 . . . . . . . 8 ((𝜑𝑘 ∈ ((𝑀 + 1)...𝐻)) → (𝑃 − (𝑘 · 2)) ∈ ℤ)
45 eleq1 2292 . . . . . . . 8 ((𝑅𝑘) = (𝑃 − (𝑘 · 2)) → ((𝑅𝑘) ∈ ℤ ↔ (𝑃 − (𝑘 · 2)) ∈ ℤ))
4644, 45syl5ibrcom 157 . . . . . . 7 ((𝜑𝑘 ∈ ((𝑀 + 1)...𝐻)) → ((𝑅𝑘) = (𝑃 − (𝑘 · 2)) → (𝑅𝑘) ∈ ℤ))
4739, 46syld 45 . . . . . 6 ((𝜑𝑘 ∈ ((𝑀 + 1)...𝐻)) → (∀𝑘 ∈ ((𝑀 + 1)...𝐻)(𝑅𝑘) = (𝑃 − (𝑘 · 2)) → (𝑅𝑘) ∈ ℤ))
4836, 47mpd 13 . . . . 5 ((𝜑𝑘 ∈ ((𝑀 + 1)...𝐻)) → (𝑅𝑘) ∈ ℤ)
4934, 48fprodzcl 12128 . . . 4 (𝜑 → ∏𝑘 ∈ ((𝑀 + 1)...𝐻)(𝑅𝑘) ∈ ℤ)
50 zq 9829 . . . 4 (∏𝑘 ∈ ((𝑀 + 1)...𝐻)(𝑅𝑘) ∈ ℤ → ∏𝑘 ∈ ((𝑀 + 1)...𝐻)(𝑅𝑘) ∈ ℚ)
5149, 50syl 14 . . 3 (𝜑 → ∏𝑘 ∈ ((𝑀 + 1)...𝐻)(𝑅𝑘) ∈ ℚ)
52 nnq 9836 . . . 4 (𝑃 ∈ ℕ → 𝑃 ∈ ℚ)
538, 52syl 14 . . 3 (𝜑𝑃 ∈ ℚ)
548nngt0d 9162 . . 3 (𝜑 → 0 < 𝑃)
55 modqmulmodr 10620 . . . 4 (((∏𝑘 ∈ (1...𝑀)(𝑅𝑘) ∈ ℤ ∧ ∏𝑘 ∈ ((𝑀 + 1)...𝐻)(𝑅𝑘) ∈ ℚ) ∧ (𝑃 ∈ ℚ ∧ 0 < 𝑃)) → ((∏𝑘 ∈ (1...𝑀)(𝑅𝑘) · (∏𝑘 ∈ ((𝑀 + 1)...𝐻)(𝑅𝑘) mod 𝑃)) mod 𝑃) = ((∏𝑘 ∈ (1...𝑀)(𝑅𝑘) · ∏𝑘 ∈ ((𝑀 + 1)...𝐻)(𝑅𝑘)) mod 𝑃))
5655eqcomd 2235 . . 3 (((∏𝑘 ∈ (1...𝑀)(𝑅𝑘) ∈ ℤ ∧ ∏𝑘 ∈ ((𝑀 + 1)...𝐻)(𝑅𝑘) ∈ ℚ) ∧ (𝑃 ∈ ℚ ∧ 0 < 𝑃)) → ((∏𝑘 ∈ (1...𝑀)(𝑅𝑘) · ∏𝑘 ∈ ((𝑀 + 1)...𝐻)(𝑅𝑘)) mod 𝑃) = ((∏𝑘 ∈ (1...𝑀)(𝑅𝑘) · (∏𝑘 ∈ ((𝑀 + 1)...𝐻)(𝑅𝑘) mod 𝑃)) mod 𝑃))
5730, 51, 53, 54, 56syl22anc 1272 . 2 (𝜑 → ((∏𝑘 ∈ (1...𝑀)(𝑅𝑘) · ∏𝑘 ∈ ((𝑀 + 1)...𝐻)(𝑅𝑘)) mod 𝑃) = ((∏𝑘 ∈ (1...𝑀)(𝑅𝑘) · (∏𝑘 ∈ ((𝑀 + 1)...𝐻)(𝑅𝑘) mod 𝑃)) mod 𝑃))
58 gausslemma2d.n . . . . . 6 𝑁 = (𝐻𝑀)
591, 2, 3, 4, 58gausslemma2dlem5 15753 . . . . 5 (𝜑 → (∏𝑘 ∈ ((𝑀 + 1)...𝐻)(𝑅𝑘) mod 𝑃) = (((-1↑𝑁) · ∏𝑘 ∈ ((𝑀 + 1)...𝐻)(𝑘 · 2)) mod 𝑃))
6059oveq2d 6023 . . . 4 (𝜑 → (∏𝑘 ∈ (1...𝑀)(𝑅𝑘) · (∏𝑘 ∈ ((𝑀 + 1)...𝐻)(𝑅𝑘) mod 𝑃)) = (∏𝑘 ∈ (1...𝑀)(𝑅𝑘) · (((-1↑𝑁) · ∏𝑘 ∈ ((𝑀 + 1)...𝐻)(𝑘 · 2)) mod 𝑃)))
6160oveq1d 6022 . . 3 (𝜑 → ((∏𝑘 ∈ (1...𝑀)(𝑅𝑘) · (∏𝑘 ∈ ((𝑀 + 1)...𝐻)(𝑅𝑘) mod 𝑃)) mod 𝑃) = ((∏𝑘 ∈ (1...𝑀)(𝑅𝑘) · (((-1↑𝑁) · ∏𝑘 ∈ ((𝑀 + 1)...𝐻)(𝑘 · 2)) mod 𝑃)) mod 𝑃))
62 neg1z 9486 . . . . . . 7 -1 ∈ ℤ
631, 4, 2, 58gausslemma2dlem0h 15743 . . . . . . 7 (𝜑𝑁 ∈ ℕ0)
64 zexpcl 10784 . . . . . . 7 ((-1 ∈ ℤ ∧ 𝑁 ∈ ℕ0) → (-1↑𝑁) ∈ ℤ)
6562, 63, 64sylancr 414 . . . . . 6 (𝜑 → (-1↑𝑁) ∈ ℤ)
6640adantl 277 . . . . . . . 8 ((𝜑𝑘 ∈ ((𝑀 + 1)...𝐻)) → 𝑘 ∈ ℤ)
6722a1i 9 . . . . . . . 8 ((𝜑𝑘 ∈ ((𝑀 + 1)...𝐻)) → 2 ∈ ℤ)
6866, 67zmulcld 9583 . . . . . . 7 ((𝜑𝑘 ∈ ((𝑀 + 1)...𝐻)) → (𝑘 · 2) ∈ ℤ)
6934, 68fprodzcl 12128 . . . . . 6 (𝜑 → ∏𝑘 ∈ ((𝑀 + 1)...𝐻)(𝑘 · 2) ∈ ℤ)
7065, 69zmulcld 9583 . . . . 5 (𝜑 → ((-1↑𝑁) · ∏𝑘 ∈ ((𝑀 + 1)...𝐻)(𝑘 · 2)) ∈ ℤ)
71 zq 9829 . . . . 5 (((-1↑𝑁) · ∏𝑘 ∈ ((𝑀 + 1)...𝐻)(𝑘 · 2)) ∈ ℤ → ((-1↑𝑁) · ∏𝑘 ∈ ((𝑀 + 1)...𝐻)(𝑘 · 2)) ∈ ℚ)
7270, 71syl 14 . . . 4 (𝜑 → ((-1↑𝑁) · ∏𝑘 ∈ ((𝑀 + 1)...𝐻)(𝑘 · 2)) ∈ ℚ)
73 modqmulmodr 10620 . . . 4 (((∏𝑘 ∈ (1...𝑀)(𝑅𝑘) ∈ ℤ ∧ ((-1↑𝑁) · ∏𝑘 ∈ ((𝑀 + 1)...𝐻)(𝑘 · 2)) ∈ ℚ) ∧ (𝑃 ∈ ℚ ∧ 0 < 𝑃)) → ((∏𝑘 ∈ (1...𝑀)(𝑅𝑘) · (((-1↑𝑁) · ∏𝑘 ∈ ((𝑀 + 1)...𝐻)(𝑘 · 2)) mod 𝑃)) mod 𝑃) = ((∏𝑘 ∈ (1...𝑀)(𝑅𝑘) · ((-1↑𝑁) · ∏𝑘 ∈ ((𝑀 + 1)...𝐻)(𝑘 · 2))) mod 𝑃))
7430, 72, 53, 54, 73syl22anc 1272 . . 3 (𝜑 → ((∏𝑘 ∈ (1...𝑀)(𝑅𝑘) · (((-1↑𝑁) · ∏𝑘 ∈ ((𝑀 + 1)...𝐻)(𝑘 · 2)) mod 𝑃)) mod 𝑃) = ((∏𝑘 ∈ (1...𝑀)(𝑅𝑘) · ((-1↑𝑁) · ∏𝑘 ∈ ((𝑀 + 1)...𝐻)(𝑘 · 2))) mod 𝑃))
7516prodeq2d 12084 . . . . . . . 8 (𝜑 → ∏𝑘 ∈ (1...𝑀)(𝑅𝑘) = ∏𝑘 ∈ (1...𝑀)(𝑘 · 2))
7675oveq1d 6022 . . . . . . 7 (𝜑 → (∏𝑘 ∈ (1...𝑀)(𝑅𝑘) · ∏𝑘 ∈ ((𝑀 + 1)...𝐻)(𝑘 · 2)) = (∏𝑘 ∈ (1...𝑀)(𝑘 · 2) · ∏𝑘 ∈ ((𝑀 + 1)...𝐻)(𝑘 · 2)))
777, 33fzfigd 10661 . . . . . . . . 9 (𝜑 → (1...𝐻) ∈ Fin)
78 elfzelz 10229 . . . . . . . . . . 11 (𝑘 ∈ (1...𝐻) → 𝑘 ∈ ℤ)
7978zcnd 9578 . . . . . . . . . 10 (𝑘 ∈ (1...𝐻) → 𝑘 ∈ ℂ)
8079adantl 277 . . . . . . . . 9 ((𝜑𝑘 ∈ (1...𝐻)) → 𝑘 ∈ ℂ)
81 2cnd 9191 . . . . . . . . 9 ((𝜑𝑘 ∈ (1...𝐻)) → 2 ∈ ℂ)
8277, 80, 81fprodmul 12110 . . . . . . . 8 (𝜑 → ∏𝑘 ∈ (1...𝐻)(𝑘 · 2) = (∏𝑘 ∈ (1...𝐻)𝑘 · ∏𝑘 ∈ (1...𝐻)2))
831, 4gausslemma2dlem0d 15739 . . . . . . . . . . . 12 (𝜑𝑀 ∈ ℕ0)
8483nn0red 9431 . . . . . . . . . . 11 (𝜑𝑀 ∈ ℝ)
8584ltp1d 9085 . . . . . . . . . 10 (𝜑𝑀 < (𝑀 + 1))
86 fzdisj 10256 . . . . . . . . . 10 (𝑀 < (𝑀 + 1) → ((1...𝑀) ∩ ((𝑀 + 1)...𝐻)) = ∅)
8785, 86syl 14 . . . . . . . . 9 (𝜑 → ((1...𝑀) ∩ ((𝑀 + 1)...𝐻)) = ∅)
88 nn0pzuz 9790 . . . . . . . . . . 11 ((𝑀 ∈ ℕ0 ∧ 1 ∈ ℤ) → (𝑀 + 1) ∈ (ℤ‘1))
8983, 7, 88syl2anc 411 . . . . . . . . . 10 (𝜑 → (𝑀 + 1) ∈ (ℤ‘1))
9083nn0zd 9575 . . . . . . . . . . 11 (𝜑𝑀 ∈ ℤ)
911, 4, 2gausslemma2dlem0g 15742 . . . . . . . . . . 11 (𝜑𝑀𝐻)
92 eluz2 9736 . . . . . . . . . . 11 (𝐻 ∈ (ℤ𝑀) ↔ (𝑀 ∈ ℤ ∧ 𝐻 ∈ ℤ ∧ 𝑀𝐻))
9390, 33, 91, 92syl3anbrc 1205 . . . . . . . . . 10 (𝜑𝐻 ∈ (ℤ𝑀))
94 fzsplit2 10254 . . . . . . . . . 10 (((𝑀 + 1) ∈ (ℤ‘1) ∧ 𝐻 ∈ (ℤ𝑀)) → (1...𝐻) = ((1...𝑀) ∪ ((𝑀 + 1)...𝐻)))
9589, 93, 94syl2anc 411 . . . . . . . . 9 (𝜑 → (1...𝐻) = ((1...𝑀) ∪ ((𝑀 + 1)...𝐻)))
9622a1i 9 . . . . . . . . . . . 12 (𝑘 ∈ (1...𝐻) → 2 ∈ ℤ)
9778, 96zmulcld 9583 . . . . . . . . . . 11 (𝑘 ∈ (1...𝐻) → (𝑘 · 2) ∈ ℤ)
9897adantl 277 . . . . . . . . . 10 ((𝜑𝑘 ∈ (1...𝐻)) → (𝑘 · 2) ∈ ℤ)
9998zcnd 9578 . . . . . . . . 9 ((𝜑𝑘 ∈ (1...𝐻)) → (𝑘 · 2) ∈ ℂ)
10087, 95, 77, 99fprodsplit 12116 . . . . . . . 8 (𝜑 → ∏𝑘 ∈ (1...𝐻)(𝑘 · 2) = (∏𝑘 ∈ (1...𝑀)(𝑘 · 2) · ∏𝑘 ∈ ((𝑀 + 1)...𝐻)(𝑘 · 2)))
101 nnoddn2prm 12791 . . . . . . . . . . . . . 14 (𝑃 ∈ (ℙ ∖ {2}) → (𝑃 ∈ ℕ ∧ ¬ 2 ∥ 𝑃))
102 nnnn0 9384 . . . . . . . . . . . . . . 15 (𝑃 ∈ ℕ → 𝑃 ∈ ℕ0)
103102anim1i 340 . . . . . . . . . . . . . 14 ((𝑃 ∈ ℕ ∧ ¬ 2 ∥ 𝑃) → (𝑃 ∈ ℕ0 ∧ ¬ 2 ∥ 𝑃))
104101, 103syl 14 . . . . . . . . . . . . 13 (𝑃 ∈ (ℙ ∖ {2}) → (𝑃 ∈ ℕ0 ∧ ¬ 2 ∥ 𝑃))
105 nn0oddm1d2 12428 . . . . . . . . . . . . . . 15 (𝑃 ∈ ℕ0 → (¬ 2 ∥ 𝑃 ↔ ((𝑃 − 1) / 2) ∈ ℕ0))
106105biimpa 296 . . . . . . . . . . . . . 14 ((𝑃 ∈ ℕ0 ∧ ¬ 2 ∥ 𝑃) → ((𝑃 − 1) / 2) ∈ ℕ0)
1072, 106eqeltrid 2316 . . . . . . . . . . . . 13 ((𝑃 ∈ ℕ0 ∧ ¬ 2 ∥ 𝑃) → 𝐻 ∈ ℕ0)
1081, 104, 1073syl 17 . . . . . . . . . . . 12 (𝜑𝐻 ∈ ℕ0)
109 fprodfac 12134 . . . . . . . . . . . 12 (𝐻 ∈ ℕ0 → (!‘𝐻) = ∏𝑘 ∈ (1...𝐻)𝑘)
110108, 109syl 14 . . . . . . . . . . 11 (𝜑 → (!‘𝐻) = ∏𝑘 ∈ (1...𝐻)𝑘)
111110eqcomd 2235 . . . . . . . . . 10 (𝜑 → ∏𝑘 ∈ (1...𝐻)𝑘 = (!‘𝐻))
112 2cn 9189 . . . . . . . . . . 11 2 ∈ ℂ
113 fprodconst 12139 . . . . . . . . . . 11 (((1...𝐻) ∈ Fin ∧ 2 ∈ ℂ) → ∏𝑘 ∈ (1...𝐻)2 = (2↑(♯‘(1...𝐻))))
11477, 112, 113sylancl 413 . . . . . . . . . 10 (𝜑 → ∏𝑘 ∈ (1...𝐻)2 = (2↑(♯‘(1...𝐻))))
115111, 114oveq12d 6025 . . . . . . . . 9 (𝜑 → (∏𝑘 ∈ (1...𝐻)𝑘 · ∏𝑘 ∈ (1...𝐻)2) = ((!‘𝐻) · (2↑(♯‘(1...𝐻)))))
116 hashfz1 11013 . . . . . . . . . . . 12 (𝐻 ∈ ℕ0 → (♯‘(1...𝐻)) = 𝐻)
117108, 116syl 14 . . . . . . . . . . 11 (𝜑 → (♯‘(1...𝐻)) = 𝐻)
118117oveq2d 6023 . . . . . . . . . 10 (𝜑 → (2↑(♯‘(1...𝐻))) = (2↑𝐻))
119118oveq2d 6023 . . . . . . . . 9 (𝜑 → ((!‘𝐻) · (2↑(♯‘(1...𝐻)))) = ((!‘𝐻) · (2↑𝐻)))
120108faccld 10966 . . . . . . . . . . 11 (𝜑 → (!‘𝐻) ∈ ℕ)
121120nncnd 9132 . . . . . . . . . 10 (𝜑 → (!‘𝐻) ∈ ℂ)
122 2nn0 9394 . . . . . . . . . . 11 2 ∈ ℕ0
123 nn0expcl 10783 . . . . . . . . . . . 12 ((2 ∈ ℕ0𝐻 ∈ ℕ0) → (2↑𝐻) ∈ ℕ0)
124123nn0cnd 9432 . . . . . . . . . . 11 ((2 ∈ ℕ0𝐻 ∈ ℕ0) → (2↑𝐻) ∈ ℂ)
125122, 108, 124sylancr 414 . . . . . . . . . 10 (𝜑 → (2↑𝐻) ∈ ℂ)
126121, 125mulcomd 8176 . . . . . . . . 9 (𝜑 → ((!‘𝐻) · (2↑𝐻)) = ((2↑𝐻) · (!‘𝐻)))
127115, 119, 1263eqtrd 2266 . . . . . . . 8 (𝜑 → (∏𝑘 ∈ (1...𝐻)𝑘 · ∏𝑘 ∈ (1...𝐻)2) = ((2↑𝐻) · (!‘𝐻)))
12882, 100, 1273eqtr3d 2270 . . . . . . 7 (𝜑 → (∏𝑘 ∈ (1...𝑀)(𝑘 · 2) · ∏𝑘 ∈ ((𝑀 + 1)...𝐻)(𝑘 · 2)) = ((2↑𝐻) · (!‘𝐻)))
12976, 128eqtrd 2262 . . . . . 6 (𝜑 → (∏𝑘 ∈ (1...𝑀)(𝑅𝑘) · ∏𝑘 ∈ ((𝑀 + 1)...𝐻)(𝑘 · 2)) = ((2↑𝐻) · (!‘𝐻)))
130129oveq2d 6023 . . . . 5 (𝜑 → ((-1↑𝑁) · (∏𝑘 ∈ (1...𝑀)(𝑅𝑘) · ∏𝑘 ∈ ((𝑀 + 1)...𝐻)(𝑘 · 2))) = ((-1↑𝑁) · ((2↑𝐻) · (!‘𝐻))))
13130zcnd 9578 . . . . . 6 (𝜑 → ∏𝑘 ∈ (1...𝑀)(𝑅𝑘) ∈ ℂ)
132 neg1rr 9224 . . . . . . . . 9 -1 ∈ ℝ
133132a1i 9 . . . . . . . 8 (𝜑 → -1 ∈ ℝ)
134133, 63reexpcld 10920 . . . . . . 7 (𝜑 → (-1↑𝑁) ∈ ℝ)
135134recnd 8183 . . . . . 6 (𝜑 → (-1↑𝑁) ∈ ℂ)
13669zcnd 9578 . . . . . 6 (𝜑 → ∏𝑘 ∈ ((𝑀 + 1)...𝐻)(𝑘 · 2) ∈ ℂ)
137131, 135, 136mul12d 8306 . . . . 5 (𝜑 → (∏𝑘 ∈ (1...𝑀)(𝑅𝑘) · ((-1↑𝑁) · ∏𝑘 ∈ ((𝑀 + 1)...𝐻)(𝑘 · 2))) = ((-1↑𝑁) · (∏𝑘 ∈ (1...𝑀)(𝑅𝑘) · ∏𝑘 ∈ ((𝑀 + 1)...𝐻)(𝑘 · 2))))
138135, 125, 121mulassd 8178 . . . . 5 (𝜑 → (((-1↑𝑁) · (2↑𝐻)) · (!‘𝐻)) = ((-1↑𝑁) · ((2↑𝐻) · (!‘𝐻))))
139130, 137, 1383eqtr4d 2272 . . . 4 (𝜑 → (∏𝑘 ∈ (1...𝑀)(𝑅𝑘) · ((-1↑𝑁) · ∏𝑘 ∈ ((𝑀 + 1)...𝐻)(𝑘 · 2))) = (((-1↑𝑁) · (2↑𝐻)) · (!‘𝐻)))
140139oveq1d 6022 . . 3 (𝜑 → ((∏𝑘 ∈ (1...𝑀)(𝑅𝑘) · ((-1↑𝑁) · ∏𝑘 ∈ ((𝑀 + 1)...𝐻)(𝑘 · 2))) mod 𝑃) = ((((-1↑𝑁) · (2↑𝐻)) · (!‘𝐻)) mod 𝑃))
14161, 74, 1403eqtrd 2266 . 2 (𝜑 → ((∏𝑘 ∈ (1...𝑀)(𝑅𝑘) · (∏𝑘 ∈ ((𝑀 + 1)...𝐻)(𝑅𝑘) mod 𝑃)) mod 𝑃) = ((((-1↑𝑁) · (2↑𝐻)) · (!‘𝐻)) mod 𝑃))
1426, 57, 1413eqtrd 2266 1 (𝜑 → ((!‘𝐻) mod 𝑃) = ((((-1↑𝑁) · (2↑𝐻)) · (!‘𝐻)) mod 𝑃))
Colors of variables: wff set class
Syntax hints:  ¬ wn 3  wi 4  wa 104   = wceq 1395  wcel 2200  wral 2508  cdif 3194  cun 3195  cin 3196  c0 3491  ifcif 3602  {csn 3666   class class class wbr 4083  cmpt 4145  cfv 5318  (class class class)co 6007  Fincfn 6895  cc 8005  cr 8006  0cc0 8007  1c1 8008   + caddc 8010   · cmul 8012   < clt 8189  cle 8190  cmin 8325  -cneg 8326   / cdiv 8827  cn 9118  2c2 9169  4c4 9171  0cn0 9377  cz 9454  cuz 9730  cq 9822  ...cfz 10212  cfl 10496   mod cmo 10552  cexp 10768  !cfa 10955  chash 11005  cprod 12069  cdvds 12306  cprime 12637
This theorem was proved from axioms:  ax-mp 5  ax-1 6  ax-2 7  ax-ia1 106  ax-ia2 107  ax-ia3 108  ax-in1 617  ax-in2 618  ax-io 714  ax-5 1493  ax-7 1494  ax-gen 1495  ax-ie1 1539  ax-ie2 1540  ax-8 1550  ax-10 1551  ax-11 1552  ax-i12 1553  ax-bndl 1555  ax-4 1556  ax-17 1572  ax-i9 1576  ax-ial 1580  ax-i5r 1581  ax-13 2202  ax-14 2203  ax-ext 2211  ax-coll 4199  ax-sep 4202  ax-nul 4210  ax-pow 4258  ax-pr 4293  ax-un 4524  ax-setind 4629  ax-iinf 4680  ax-cnex 8098  ax-resscn 8099  ax-1cn 8100  ax-1re 8101  ax-icn 8102  ax-addcl 8103  ax-addrcl 8104  ax-mulcl 8105  ax-mulrcl 8106  ax-addcom 8107  ax-mulcom 8108  ax-addass 8109  ax-mulass 8110  ax-distr 8111  ax-i2m1 8112  ax-0lt1 8113  ax-1rid 8114  ax-0id 8115  ax-rnegex 8116  ax-precex 8117  ax-cnre 8118  ax-pre-ltirr 8119  ax-pre-ltwlin 8120  ax-pre-lttrn 8121  ax-pre-apti 8122  ax-pre-ltadd 8123  ax-pre-mulgt0 8124  ax-pre-mulext 8125  ax-arch 8126  ax-caucvg 8127
This theorem depends on definitions:  df-bi 117  df-dc 840  df-3or 1003  df-3an 1004  df-tru 1398  df-fal 1401  df-xor 1418  df-nf 1507  df-sb 1809  df-eu 2080  df-mo 2081  df-clab 2216  df-cleq 2222  df-clel 2225  df-nfc 2361  df-ne 2401  df-nel 2496  df-ral 2513  df-rex 2514  df-reu 2515  df-rmo 2516  df-rab 2517  df-v 2801  df-sbc 3029  df-csb 3125  df-dif 3199  df-un 3201  df-in 3203  df-ss 3210  df-nul 3492  df-if 3603  df-pw 3651  df-sn 3672  df-pr 3673  df-tp 3674  df-op 3675  df-uni 3889  df-int 3924  df-iun 3967  df-br 4084  df-opab 4146  df-mpt 4147  df-tr 4183  df-id 4384  df-po 4387  df-iso 4388  df-iord 4457  df-on 4459  df-ilim 4460  df-suc 4462  df-iom 4683  df-xp 4725  df-rel 4726  df-cnv 4727  df-co 4728  df-dm 4729  df-rn 4730  df-res 4731  df-ima 4732  df-iota 5278  df-fun 5320  df-fn 5321  df-f 5322  df-f1 5323  df-fo 5324  df-f1o 5325  df-fv 5326  df-isom 5327  df-riota 5960  df-ov 6010  df-oprab 6011  df-mpo 6012  df-1st 6292  df-2nd 6293  df-recs 6457  df-irdg 6522  df-frec 6543  df-1o 6568  df-2o 6569  df-oadd 6572  df-er 6688  df-en 6896  df-dom 6897  df-fin 6898  df-pnf 8191  df-mnf 8192  df-xr 8193  df-ltxr 8194  df-le 8195  df-sub 8327  df-neg 8328  df-reap 8730  df-ap 8737  df-div 8828  df-inn 9119  df-2 9177  df-3 9178  df-4 9179  df-5 9180  df-6 9181  df-n0 9378  df-z 9455  df-uz 9731  df-q 9823  df-rp 9858  df-ioo 10096  df-fz 10213  df-fzo 10347  df-fl 10498  df-mod 10553  df-seqfrec 10678  df-exp 10769  df-fac 10956  df-ihash 11006  df-cj 11361  df-re 11362  df-im 11363  df-rsqrt 11517  df-abs 11518  df-clim 11798  df-proddc 12070  df-dvds 12307  df-prm 12638
This theorem is referenced by:  gausslemma2dlem7  15755
  Copyright terms: Public domain W3C validator