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

Theorem gausslemma2dlem6 16169
Description: Lemma 6 for gausslemma2d 16171. (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 16166 . . 3 (𝜑 → (!‘𝐻) = (∏𝑘 ∈ (1...𝑀)(𝑅𝑘) · ∏𝑘 ∈ ((𝑀 + 1)...𝐻)(𝑅𝑘)))
65oveq1d 6094 . 2 (𝜑 → ((!‘𝐻) mod 𝑃) = ((∏𝑘 ∈ (1...𝑀)(𝑅𝑘) · ∏𝑘 ∈ ((𝑀 + 1)...𝐻)(𝑅𝑘)) mod 𝑃))
7 1zzd 9654 . . . . 5 (𝜑 → 1 ∈ ℤ)
81gausslemma2dlem0a 16151 . . . . . . . . 9 (𝜑𝑃 ∈ ℕ)
98nnzd 9750 . . . . . . . 8 (𝜑𝑃 ∈ ℤ)
10 4nn 9451 . . . . . . . 8 4 ∈ ℕ
11 znq 10007 . . . . . . . 8 ((𝑃 ∈ ℤ ∧ 4 ∈ ℕ) → (𝑃 / 4) ∈ ℚ)
129, 10, 11sylancl 417 . . . . . . 7 (𝜑 → (𝑃 / 4) ∈ ℚ)
1312flqcld 10695 . . . . . 6 (𝜑 → (⌊‘(𝑃 / 4)) ∈ ℤ)
144, 13eqeltrid 2325 . . . . 5 (𝜑𝑀 ∈ ℤ)
157, 14fzfigd 10851 . . . 4 (𝜑 → (1...𝑀) ∈ Fin)
161, 2, 3, 4gausslemma2dlem2 16164 . . . . . 6 (𝜑 → ∀𝑘 ∈ (1...𝑀)(𝑅𝑘) = (𝑘 · 2))
1716adantr 276 . . . . 5 ((𝜑𝑘 ∈ (1...𝑀)) → ∀𝑘 ∈ (1...𝑀)(𝑅𝑘) = (𝑘 · 2))
18 rspa 2598 . . . . . . . 8 ((∀𝑘 ∈ (1...𝑀)(𝑅𝑘) = (𝑘 · 2) ∧ 𝑘 ∈ (1...𝑀)) → (𝑅𝑘) = (𝑘 · 2))
1918expcom 116 . . . . . . 7 (𝑘 ∈ (1...𝑀) → (∀𝑘 ∈ (1...𝑀)(𝑅𝑘) = (𝑘 · 2) → (𝑅𝑘) = (𝑘 · 2)))
2019adantl 277 . . . . . 6 ((𝜑𝑘 ∈ (1...𝑀)) → (∀𝑘 ∈ (1...𝑀)(𝑅𝑘) = (𝑘 · 2) → (𝑅𝑘) = (𝑘 · 2)))
21 elfzelz 10411 . . . . . . . . 9 (𝑘 ∈ (1...𝑀) → 𝑘 ∈ ℤ)
22 2z 9655 . . . . . . . . . 10 2 ∈ ℤ
2322a1i 9 . . . . . . . . 9 (𝑘 ∈ (1...𝑀) → 2 ∈ ℤ)
2421, 23zmulcld 9757 . . . . . . . 8 (𝑘 ∈ (1...𝑀) → (𝑘 · 2) ∈ ℤ)
2524adantl 277 . . . . . . 7 ((𝜑𝑘 ∈ (1...𝑀)) → (𝑘 · 2) ∈ ℤ)
26 eleq1 2301 . . . . . . 7 ((𝑅𝑘) = (𝑘 · 2) → ((𝑅𝑘) ∈ ℤ ↔ (𝑘 · 2) ∈ ℤ))
2725, 26syl5ibrcom 157 . . . . . 6 ((𝜑𝑘 ∈ (1...𝑀)) → ((𝑅𝑘) = (𝑘 · 2) → (𝑅𝑘) ∈ ℤ))
2820, 27syld 45 . . . . 5 ((𝜑𝑘 ∈ (1...𝑀)) → (∀𝑘 ∈ (1...𝑀)(𝑅𝑘) = (𝑘 · 2) → (𝑅𝑘) ∈ ℤ))
2917, 28mpd 13 . . . 4 ((𝜑𝑘 ∈ (1...𝑀)) → (𝑅𝑘) ∈ ℤ)
3015, 29fprodzcl 12359 . . 3 (𝜑 → ∏𝑘 ∈ (1...𝑀)(𝑅𝑘) ∈ ℤ)
3114peano2zd 9754 . . . . . 6 (𝜑 → (𝑀 + 1) ∈ ℤ)
321, 2gausslemma2dlem0b 16152 . . . . . . 7 (𝜑𝐻 ∈ ℕ)
3332nnzd 9750 . . . . . 6 (𝜑𝐻 ∈ ℤ)
3431, 33fzfigd 10851 . . . . 5 (𝜑 → ((𝑀 + 1)...𝐻) ∈ Fin)
351, 2, 3, 4gausslemma2dlem3 16165 . . . . . . 7 (𝜑 → ∀𝑘 ∈ ((𝑀 + 1)...𝐻)(𝑅𝑘) = (𝑃 − (𝑘 · 2)))
3635adantr 276 . . . . . 6 ((𝜑𝑘 ∈ ((𝑀 + 1)...𝐻)) → ∀𝑘 ∈ ((𝑀 + 1)...𝐻)(𝑅𝑘) = (𝑃 − (𝑘 · 2)))
37 rspa 2598 . . . . . . . . 9 ((∀𝑘 ∈ ((𝑀 + 1)...𝐻)(𝑅𝑘) = (𝑃 − (𝑘 · 2)) ∧ 𝑘 ∈ ((𝑀 + 1)...𝐻)) → (𝑅𝑘) = (𝑃 − (𝑘 · 2)))
3837expcom 116 . . . . . . . 8 (𝑘 ∈ ((𝑀 + 1)...𝐻) → (∀𝑘 ∈ ((𝑀 + 1)...𝐻)(𝑅𝑘) = (𝑃 − (𝑘 · 2)) → (𝑅𝑘) = (𝑃 − (𝑘 · 2))))
3938adantl 277 . . . . . . 7 ((𝜑𝑘 ∈ ((𝑀 + 1)...𝐻)) → (∀𝑘 ∈ ((𝑀 + 1)...𝐻)(𝑅𝑘) = (𝑃 − (𝑘 · 2)) → (𝑅𝑘) = (𝑃 − (𝑘 · 2))))
40 elfzelz 10411 . . . . . . . . . 10 (𝑘 ∈ ((𝑀 + 1)...𝐻) → 𝑘 ∈ ℤ)
4122a1i 9 . . . . . . . . . 10 (𝑘 ∈ ((𝑀 + 1)...𝐻) → 2 ∈ ℤ)
4240, 41zmulcld 9757 . . . . . . . . 9 (𝑘 ∈ ((𝑀 + 1)...𝐻) → (𝑘 · 2) ∈ ℤ)
43 zsubcl 9668 . . . . . . . . 9 ((𝑃 ∈ ℤ ∧ (𝑘 · 2) ∈ ℤ) → (𝑃 − (𝑘 · 2)) ∈ ℤ)
449, 42, 43syl2an 289 . . . . . . . 8 ((𝜑𝑘 ∈ ((𝑀 + 1)...𝐻)) → (𝑃 − (𝑘 · 2)) ∈ ℤ)
45 eleq1 2301 . . . . . . . 8 ((𝑅𝑘) = (𝑃 − (𝑘 · 2)) → ((𝑅𝑘) ∈ ℤ ↔ (𝑃 − (𝑘 · 2)) ∈ ℤ))
4644, 45syl5ibrcom 157 . . . . . . 7 ((𝜑𝑘 ∈ ((𝑀 + 1)...𝐻)) → ((𝑅𝑘) = (𝑃 − (𝑘 · 2)) → (𝑅𝑘) ∈ ℤ))
4739, 46syld 45 . . . . . 6 ((𝜑𝑘 ∈ ((𝑀 + 1)...𝐻)) → (∀𝑘 ∈ ((𝑀 + 1)...𝐻)(𝑅𝑘) = (𝑃 − (𝑘 · 2)) → (𝑅𝑘) ∈ ℤ))
4836, 47mpd 13 . . . . 5 ((𝜑𝑘 ∈ ((𝑀 + 1)...𝐻)) → (𝑅𝑘) ∈ ℤ)
4934, 48fprodzcl 12359 . . . 4 (𝜑 → ∏𝑘 ∈ ((𝑀 + 1)...𝐻)(𝑅𝑘) ∈ ℤ)
50 zq 10009 . . . 4 (∏𝑘 ∈ ((𝑀 + 1)...𝐻)(𝑅𝑘) ∈ ℤ → ∏𝑘 ∈ ((𝑀 + 1)...𝐻)(𝑅𝑘) ∈ ℚ)
5149, 50syl 14 . . 3 (𝜑 → ∏𝑘 ∈ ((𝑀 + 1)...𝐻)(𝑅𝑘) ∈ ℚ)
52 nnq 10016 . . . 4 (𝑃 ∈ ℕ → 𝑃 ∈ ℚ)
538, 52syl 14 . . 3 (𝜑𝑃 ∈ ℚ)
548nngt0d 9331 . . 3 (𝜑 → 0 < 𝑃)
55 modqmulmodr 10810 . . . 4 (((∏𝑘 ∈ (1...𝑀)(𝑅𝑘) ∈ ℤ ∧ ∏𝑘 ∈ ((𝑀 + 1)...𝐻)(𝑅𝑘) ∈ ℚ) ∧ (𝑃 ∈ ℚ ∧ 0 < 𝑃)) → ((∏𝑘 ∈ (1...𝑀)(𝑅𝑘) · (∏𝑘 ∈ ((𝑀 + 1)...𝐻)(𝑅𝑘) mod 𝑃)) mod 𝑃) = ((∏𝑘 ∈ (1...𝑀)(𝑅𝑘) · ∏𝑘 ∈ ((𝑀 + 1)...𝐻)(𝑅𝑘)) mod 𝑃))
5655eqcomd 2244 . . 3 (((∏𝑘 ∈ (1...𝑀)(𝑅𝑘) ∈ ℤ ∧ ∏𝑘 ∈ ((𝑀 + 1)...𝐻)(𝑅𝑘) ∈ ℚ) ∧ (𝑃 ∈ ℚ ∧ 0 < 𝑃)) → ((∏𝑘 ∈ (1...𝑀)(𝑅𝑘) · ∏𝑘 ∈ ((𝑀 + 1)...𝐻)(𝑅𝑘)) mod 𝑃) = ((∏𝑘 ∈ (1...𝑀)(𝑅𝑘) · (∏𝑘 ∈ ((𝑀 + 1)...𝐻)(𝑅𝑘) mod 𝑃)) mod 𝑃))
5730, 51, 53, 54, 56syl22anc 1279 . 2 (𝜑 → ((∏𝑘 ∈ (1...𝑀)(𝑅𝑘) · ∏𝑘 ∈ ((𝑀 + 1)...𝐻)(𝑅𝑘)) mod 𝑃) = ((∏𝑘 ∈ (1...𝑀)(𝑅𝑘) · (∏𝑘 ∈ ((𝑀 + 1)...𝐻)(𝑅𝑘) mod 𝑃)) mod 𝑃))
58 gausslemma2d.n . . . . . 6 𝑁 = (𝐻𝑀)
591, 2, 3, 4, 58gausslemma2dlem5 16168 . . . . 5 (𝜑 → (∏𝑘 ∈ ((𝑀 + 1)...𝐻)(𝑅𝑘) mod 𝑃) = (((-1↑𝑁) · ∏𝑘 ∈ ((𝑀 + 1)...𝐻)(𝑘 · 2)) mod 𝑃))
6059oveq2d 6095 . . . 4 (𝜑 → (∏𝑘 ∈ (1...𝑀)(𝑅𝑘) · (∏𝑘 ∈ ((𝑀 + 1)...𝐻)(𝑅𝑘) mod 𝑃)) = (∏𝑘 ∈ (1...𝑀)(𝑅𝑘) · (((-1↑𝑁) · ∏𝑘 ∈ ((𝑀 + 1)...𝐻)(𝑘 · 2)) mod 𝑃)))
6160oveq1d 6094 . . 3 (𝜑 → ((∏𝑘 ∈ (1...𝑀)(𝑅𝑘) · (∏𝑘 ∈ ((𝑀 + 1)...𝐻)(𝑅𝑘) mod 𝑃)) mod 𝑃) = ((∏𝑘 ∈ (1...𝑀)(𝑅𝑘) · (((-1↑𝑁) · ∏𝑘 ∈ ((𝑀 + 1)...𝐻)(𝑘 · 2)) mod 𝑃)) mod 𝑃))
62 neg1z 9659 . . . . . . 7 -1 ∈ ℤ
631, 4, 2, 58gausslemma2dlem0h 16158 . . . . . . 7 (𝜑𝑁 ∈ ℕ0)
64 zexpcl 10974 . . . . . . 7 ((-1 ∈ ℤ ∧ 𝑁 ∈ ℕ0) → (-1↑𝑁) ∈ ℤ)
6562, 63, 64sylancr 418 . . . . . 6 (𝜑 → (-1↑𝑁) ∈ ℤ)
6640adantl 277 . . . . . . . 8 ((𝜑𝑘 ∈ ((𝑀 + 1)...𝐻)) → 𝑘 ∈ ℤ)
6722a1i 9 . . . . . . . 8 ((𝜑𝑘 ∈ ((𝑀 + 1)...𝐻)) → 2 ∈ ℤ)
6866, 67zmulcld 9757 . . . . . . 7 ((𝜑𝑘 ∈ ((𝑀 + 1)...𝐻)) → (𝑘 · 2) ∈ ℤ)
6934, 68fprodzcl 12359 . . . . . 6 (𝜑 → ∏𝑘 ∈ ((𝑀 + 1)...𝐻)(𝑘 · 2) ∈ ℤ)
7065, 69zmulcld 9757 . . . . 5 (𝜑 → ((-1↑𝑁) · ∏𝑘 ∈ ((𝑀 + 1)...𝐻)(𝑘 · 2)) ∈ ℤ)
71 zq 10009 . . . . 5 (((-1↑𝑁) · ∏𝑘 ∈ ((𝑀 + 1)...𝐻)(𝑘 · 2)) ∈ ℤ → ((-1↑𝑁) · ∏𝑘 ∈ ((𝑀 + 1)...𝐻)(𝑘 · 2)) ∈ ℚ)
7270, 71syl 14 . . . 4 (𝜑 → ((-1↑𝑁) · ∏𝑘 ∈ ((𝑀 + 1)...𝐻)(𝑘 · 2)) ∈ ℚ)
73 modqmulmodr 10810 . . . 4 (((∏𝑘 ∈ (1...𝑀)(𝑅𝑘) ∈ ℤ ∧ ((-1↑𝑁) · ∏𝑘 ∈ ((𝑀 + 1)...𝐻)(𝑘 · 2)) ∈ ℚ) ∧ (𝑃 ∈ ℚ ∧ 0 < 𝑃)) → ((∏𝑘 ∈ (1...𝑀)(𝑅𝑘) · (((-1↑𝑁) · ∏𝑘 ∈ ((𝑀 + 1)...𝐻)(𝑘 · 2)) mod 𝑃)) mod 𝑃) = ((∏𝑘 ∈ (1...𝑀)(𝑅𝑘) · ((-1↑𝑁) · ∏𝑘 ∈ ((𝑀 + 1)...𝐻)(𝑘 · 2))) mod 𝑃))
7430, 72, 53, 54, 73syl22anc 1279 . . 3 (𝜑 → ((∏𝑘 ∈ (1...𝑀)(𝑅𝑘) · (((-1↑𝑁) · ∏𝑘 ∈ ((𝑀 + 1)...𝐻)(𝑘 · 2)) mod 𝑃)) mod 𝑃) = ((∏𝑘 ∈ (1...𝑀)(𝑅𝑘) · ((-1↑𝑁) · ∏𝑘 ∈ ((𝑀 + 1)...𝐻)(𝑘 · 2))) mod 𝑃))
7516prodeq2d 12315 . . . . . . . 8 (𝜑 → ∏𝑘 ∈ (1...𝑀)(𝑅𝑘) = ∏𝑘 ∈ (1...𝑀)(𝑘 · 2))
7675oveq1d 6094 . . . . . . 7 (𝜑 → (∏𝑘 ∈ (1...𝑀)(𝑅𝑘) · ∏𝑘 ∈ ((𝑀 + 1)...𝐻)(𝑘 · 2)) = (∏𝑘 ∈ (1...𝑀)(𝑘 · 2) · ∏𝑘 ∈ ((𝑀 + 1)...𝐻)(𝑘 · 2)))
777, 33fzfigd 10851 . . . . . . . . 9 (𝜑 → (1...𝐻) ∈ Fin)
78 elfzelz 10411 . . . . . . . . . . 11 (𝑘 ∈ (1...𝐻) → 𝑘 ∈ ℤ)
7978zcnd 9752 . . . . . . . . . 10 (𝑘 ∈ (1...𝐻) → 𝑘 ∈ ℂ)
8079adantl 277 . . . . . . . . 9 ((𝜑𝑘 ∈ (1...𝐻)) → 𝑘 ∈ ℂ)
81 2cnd 9360 . . . . . . . . 9 ((𝜑𝑘 ∈ (1...𝐻)) → 2 ∈ ℂ)
8277, 80, 81fprodmul 12341 . . . . . . . 8 (𝜑 → ∏𝑘 ∈ (1...𝐻)(𝑘 · 2) = (∏𝑘 ∈ (1...𝐻)𝑘 · ∏𝑘 ∈ (1...𝐻)2))
831, 4gausslemma2dlem0d 16154 . . . . . . . . . . . 12 (𝜑𝑀 ∈ ℕ0)
8483nn0red 9604 . . . . . . . . . . 11 (𝜑𝑀 ∈ ℝ)
8584ltp1d 9254 . . . . . . . . . 10 (𝜑𝑀 < (𝑀 + 1))
86 fzdisj 10440 . . . . . . . . . 10 (𝑀 < (𝑀 + 1) → ((1...𝑀) ∩ ((𝑀 + 1)...𝐻)) = ∅)
8785, 86syl 14 . . . . . . . . 9 (𝜑 → ((1...𝑀) ∩ ((𝑀 + 1)...𝐻)) = ∅)
88 nn0pzuz 9970 . . . . . . . . . . 11 ((𝑀 ∈ ℕ0 ∧ 1 ∈ ℤ) → (𝑀 + 1) ∈ (ℤ‘1))
8983, 7, 88syl2anc 415 . . . . . . . . . 10 (𝜑 → (𝑀 + 1) ∈ (ℤ‘1))
9083nn0zd 9749 . . . . . . . . . . 11 (𝜑𝑀 ∈ ℤ)
911, 4, 2gausslemma2dlem0g 16157 . . . . . . . . . . 11 (𝜑𝑀𝐻)
92 eluz2 9910 . . . . . . . . . . 11 (𝐻 ∈ (ℤ𝑀) ↔ (𝑀 ∈ ℤ ∧ 𝐻 ∈ ℤ ∧ 𝑀𝐻))
9390, 33, 91, 92syl3anbrc 1212 . . . . . . . . . 10 (𝜑𝐻 ∈ (ℤ𝑀))
94 fzsplit2 10438 . . . . . . . . . 10 (((𝑀 + 1) ∈ (ℤ‘1) ∧ 𝐻 ∈ (ℤ𝑀)) → (1...𝐻) = ((1...𝑀) ∪ ((𝑀 + 1)...𝐻)))
9589, 93, 94syl2anc 415 . . . . . . . . 9 (𝜑 → (1...𝐻) = ((1...𝑀) ∪ ((𝑀 + 1)...𝐻)))
9622a1i 9 . . . . . . . . . . . 12 (𝑘 ∈ (1...𝐻) → 2 ∈ ℤ)
9778, 96zmulcld 9757 . . . . . . . . . . 11 (𝑘 ∈ (1...𝐻) → (𝑘 · 2) ∈ ℤ)
9897adantl 277 . . . . . . . . . 10 ((𝜑𝑘 ∈ (1...𝐻)) → (𝑘 · 2) ∈ ℤ)
9998zcnd 9752 . . . . . . . . 9 ((𝜑𝑘 ∈ (1...𝐻)) → (𝑘 · 2) ∈ ℂ)
10087, 95, 77, 99fprodsplit 12347 . . . . . . . 8 (𝜑 → ∏𝑘 ∈ (1...𝐻)(𝑘 · 2) = (∏𝑘 ∈ (1...𝑀)(𝑘 · 2) · ∏𝑘 ∈ ((𝑀 + 1)...𝐻)(𝑘 · 2)))
101 nnoddn2prm 13022 . . . . . . . . . . . . . 14 (𝑃 ∈ (ℙ ∖ {2}) → (𝑃 ∈ ℕ ∧ ¬ 2 ∥ 𝑃))
102 nnnn0 9553 . . . . . . . . . . . . . . 15 (𝑃 ∈ ℕ → 𝑃 ∈ ℕ0)
103102anim1i 340 . . . . . . . . . . . . . 14 ((𝑃 ∈ ℕ ∧ ¬ 2 ∥ 𝑃) → (𝑃 ∈ ℕ0 ∧ ¬ 2 ∥ 𝑃))
104101, 103syl 14 . . . . . . . . . . . . 13 (𝑃 ∈ (ℙ ∖ {2}) → (𝑃 ∈ ℕ0 ∧ ¬ 2 ∥ 𝑃))
105 nn0oddm1d2 12659 . . . . . . . . . . . . . . 15 (𝑃 ∈ ℕ0 → (¬ 2 ∥ 𝑃 ↔ ((𝑃 − 1) / 2) ∈ ℕ0))
106105biimpa 296 . . . . . . . . . . . . . 14 ((𝑃 ∈ ℕ0 ∧ ¬ 2 ∥ 𝑃) → ((𝑃 − 1) / 2) ∈ ℕ0)
1072, 106eqeltrid 2325 . . . . . . . . . . . . 13 ((𝑃 ∈ ℕ0 ∧ ¬ 2 ∥ 𝑃) → 𝐻 ∈ ℕ0)
1081, 104, 1073syl 17 . . . . . . . . . . . 12 (𝜑𝐻 ∈ ℕ0)
109 fprodfac 12365 . . . . . . . . . . . 12 (𝐻 ∈ ℕ0 → (!‘𝐻) = ∏𝑘 ∈ (1...𝐻)𝑘)
110108, 109syl 14 . . . . . . . . . . 11 (𝜑 → (!‘𝐻) = ∏𝑘 ∈ (1...𝐻)𝑘)
111110eqcomd 2244 . . . . . . . . . 10 (𝜑 → ∏𝑘 ∈ (1...𝐻)𝑘 = (!‘𝐻))
112 2cn 9358 . . . . . . . . . . 11 2 ∈ ℂ
113 fprodconst 12370 . . . . . . . . . . 11 (((1...𝐻) ∈ Fin ∧ 2 ∈ ℂ) → ∏𝑘 ∈ (1...𝐻)2 = (2↑(♯‘(1...𝐻))))
11477, 112, 113sylancl 417 . . . . . . . . . 10 (𝜑 → ∏𝑘 ∈ (1...𝐻)2 = (2↑(♯‘(1...𝐻))))
115111, 114oveq12d 6097 . . . . . . . . 9 (𝜑 → (∏𝑘 ∈ (1...𝐻)𝑘 · ∏𝑘 ∈ (1...𝐻)2) = ((!‘𝐻) · (2↑(♯‘(1...𝐻)))))
116 hashfz1 11205 . . . . . . . . . . . 12 (𝐻 ∈ ℕ0 → (♯‘(1...𝐻)) = 𝐻)
117108, 116syl 14 . . . . . . . . . . 11 (𝜑 → (♯‘(1...𝐻)) = 𝐻)
118117oveq2d 6095 . . . . . . . . . 10 (𝜑 → (2↑(♯‘(1...𝐻))) = (2↑𝐻))
119118oveq2d 6095 . . . . . . . . 9 (𝜑 → ((!‘𝐻) · (2↑(♯‘(1...𝐻)))) = ((!‘𝐻) · (2↑𝐻)))
120108faccld 11157 . . . . . . . . . . 11 (𝜑 → (!‘𝐻) ∈ ℕ)
121120nncnd 9301 . . . . . . . . . 10 (𝜑 → (!‘𝐻) ∈ ℂ)
122 2nn0 9563 . . . . . . . . . . 11 2 ∈ ℕ0
123 nn0expcl 10973 . . . . . . . . . . . 12 ((2 ∈ ℕ0𝐻 ∈ ℕ0) → (2↑𝐻) ∈ ℕ0)
124123nn0cnd 9605 . . . . . . . . . . 11 ((2 ∈ ℕ0𝐻 ∈ ℕ0) → (2↑𝐻) ∈ ℂ)
125122, 108, 124sylancr 418 . . . . . . . . . 10 (𝜑 → (2↑𝐻) ∈ ℂ)
126121, 125mulcomd 8341 . . . . . . . . 9 (𝜑 → ((!‘𝐻) · (2↑𝐻)) = ((2↑𝐻) · (!‘𝐻)))
127115, 119, 1263eqtrd 2275 . . . . . . . 8 (𝜑 → (∏𝑘 ∈ (1...𝐻)𝑘 · ∏𝑘 ∈ (1...𝐻)2) = ((2↑𝐻) · (!‘𝐻)))
12882, 100, 1273eqtr3d 2279 . . . . . . 7 (𝜑 → (∏𝑘 ∈ (1...𝑀)(𝑘 · 2) · ∏𝑘 ∈ ((𝑀 + 1)...𝐻)(𝑘 · 2)) = ((2↑𝐻) · (!‘𝐻)))
12976, 128eqtrd 2271 . . . . . 6 (𝜑 → (∏𝑘 ∈ (1...𝑀)(𝑅𝑘) · ∏𝑘 ∈ ((𝑀 + 1)...𝐻)(𝑘 · 2)) = ((2↑𝐻) · (!‘𝐻)))
130129oveq2d 6095 . . . . 5 (𝜑 → ((-1↑𝑁) · (∏𝑘 ∈ (1...𝑀)(𝑅𝑘) · ∏𝑘 ∈ ((𝑀 + 1)...𝐻)(𝑘 · 2))) = ((-1↑𝑁) · ((2↑𝐻) · (!‘𝐻))))
13130zcnd 9752 . . . . . 6 (𝜑 → ∏𝑘 ∈ (1...𝑀)(𝑅𝑘) ∈ ℂ)
132 neg1rr 9393 . . . . . . . . 9 -1 ∈ ℝ
133132a1i 9 . . . . . . . 8 (𝜑 → -1 ∈ ℝ)
134133, 63reexpcld 11111 . . . . . . 7 (𝜑 → (-1↑𝑁) ∈ ℝ)
135134recnd 8348 . . . . . 6 (𝜑 → (-1↑𝑁) ∈ ℂ)
13669zcnd 9752 . . . . . 6 (𝜑 → ∏𝑘 ∈ ((𝑀 + 1)...𝐻)(𝑘 · 2) ∈ ℂ)
137131, 135, 136mul12d 8472 . . . . 5 (𝜑 → (∏𝑘 ∈ (1...𝑀)(𝑅𝑘) · ((-1↑𝑁) · ∏𝑘 ∈ ((𝑀 + 1)...𝐻)(𝑘 · 2))) = ((-1↑𝑁) · (∏𝑘 ∈ (1...𝑀)(𝑅𝑘) · ∏𝑘 ∈ ((𝑀 + 1)...𝐻)(𝑘 · 2))))
138135, 125, 121mulassd 8343 . . . . 5 (𝜑 → (((-1↑𝑁) · (2↑𝐻)) · (!‘𝐻)) = ((-1↑𝑁) · ((2↑𝐻) · (!‘𝐻))))
139130, 137, 1383eqtr4d 2281 . . . 4 (𝜑 → (∏𝑘 ∈ (1...𝑀)(𝑅𝑘) · ((-1↑𝑁) · ∏𝑘 ∈ ((𝑀 + 1)...𝐻)(𝑘 · 2))) = (((-1↑𝑁) · (2↑𝐻)) · (!‘𝐻)))
140139oveq1d 6094 . . 3 (𝜑 → ((∏𝑘 ∈ (1...𝑀)(𝑅𝑘) · ((-1↑𝑁) · ∏𝑘 ∈ ((𝑀 + 1)...𝐻)(𝑘 · 2))) mod 𝑃) = ((((-1↑𝑁) · (2↑𝐻)) · (!‘𝐻)) mod 𝑃))
14161, 74, 1403eqtrd 2275 . 2 (𝜑 → ((∏𝑘 ∈ (1...𝑀)(𝑅𝑘) · (∏𝑘 ∈ ((𝑀 + 1)...𝐻)(𝑅𝑘) mod 𝑃)) mod 𝑃) = ((((-1↑𝑁) · (2↑𝐻)) · (!‘𝐻)) mod 𝑃))
1426, 57, 1413eqtrd 2275 1 (𝜑 → ((!‘𝐻) mod 𝑃) = ((((-1↑𝑁) · (2↑𝐻)) · (!‘𝐻)) mod 𝑃))
Colors of variables: wff set class
Syntax hints:  ¬ wn 3  wi 4  wa 104   = wceq 1402  wcel 2209  wral 2528  cdif 3217  cun 3218  cin 3219  c0 3520  ifcif 3638  {csn 3708   class class class wbr 4128  cmpt 4190  cfv 5375  (class class class)co 6079  Fincfn 7016  cc 8171  cr 8172  0cc0 8173  1c1 8174   + caddc 8176   · cmul 8178   < clt 8354  cle 8355  cmin 8491  -cneg 8492   / cdiv 8996  cn 9287  2c2 9338  4c4 9340  0cn0 9546  cz 9627  cuz 9904  cq 10002  ...cfz 10394  cfl 10686   mod cmo 10742  cexp 10958  !cfa 11146  chash 11197  cprod 12300  cdvds 12537  cprime 12868
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 623  ax-in2 624  ax-io 721  ax-5 1500  ax-7 1501  ax-gen 1502  ax-ie1 1546  ax-ie2 1547  ax-8 1557  ax-10 1558  ax-11 1559  ax-i12 1560  ax-bndl 1562  ax-4 1563  ax-17 1579  ax-i9 1583  ax-ial 1587  ax-i5r 1588  ax-14 2212  ax-ext 2220  ax-coll 4244  ax-sep 4247  ax-nul 4257  ax-pow 4309  ax-pr 4344  ax-un 4576  ax-setind 4682  ax-iinf 4733  ax-cnex 8264  ax-resscn 8265  ax-1cn 8266  ax-1re 8267  ax-icn 8268  ax-addcl 8269  ax-addrcl 8270  ax-mulcl 8271  ax-mulrcl 8272  ax-addcom 8273  ax-mulcom 8274  ax-addass 8275  ax-mulass 8276  ax-distr 8277  ax-i2m1 8278  ax-0lt1 8279  ax-1rid 8280  ax-0id 8281  ax-rnegex 8282  ax-precex 8283  ax-cnre 8284  ax-pre-ltirr 8285  ax-pre-ltwlin 8286  ax-pre-lttrn 8287  ax-pre-apti 8288  ax-pre-ltadd 8289  ax-pre-mulgt0 8290  ax-pre-mulext 8291  ax-arch 8292  ax-caucvg 8293
This theorem depends on definitions:  df-bi 117  df-dc 847  df-3or 1010  df-3an 1011  df-tru 1405  df-fal 1408  df-xor 1425  df-nf 1514  df-sb 1816  df-eu 2089  df-mo 2090  df-clab 2225  df-cleq 2231  df-clel 2234  df-nfc 2381  df-ne 2421  df-nel 2516  df-ral 2533  df-rex 2534  df-reu 2535  df-rmo 2536  df-rab 2537  df-v 2823  df-sbc 3052  df-csb 3148  df-dif 3222  df-un 3224  df-in 3226  df-ss 3233  df-nul 3521  df-if 3639  df-pw 3690  df-sn 3714  df-pr 3715  df-tp 3716  df-op 3717  df-uni 3934  df-int 3969  df-iun 4012  df-br 4129  df-opab 4191  df-mpt 4192  df-tr 4228  df-id 4436  df-po 4439  df-iso 4440  df-iord 4509  df-on 4511  df-ilim 4512  df-suc 4514  df-iom 4736  df-xp 4778  df-rel 4779  df-cnv 4780  df-co 4781  df-dm 4782  df-rn 4783  df-res 4784  df-ima 4785  df-iota 5335  df-fun 5377  df-fn 5378  df-f 5379  df-f1 5380  df-fo 5381  df-f1o 5382  df-fv 5383  df-isom 5384  df-riota 6032  df-ov 6082  df-oprab 6083  df-mpo 6084  df-1st 6368  df-2nd 6369  df-recs 6570  df-irdg 6635  df-frec 6656  df-1o 6681  df-2o 6682  df-oadd 6685  df-er 6801  df-en 7017  df-dom 7018  df-fin 7019  df-pnf 8356  df-mnf 8357  df-xr 8358  df-ltxr 8359  df-le 8360  df-sub 8493  df-neg 8494  df-reap 8897  df-ap 8904  df-div 8997  df-inn 9288  df-2 9346  df-3 9347  df-4 9348  df-5 9349  df-6 9350  df-n0 9547  df-z 9628  df-uz 9905  df-q 10003  df-rp 10038  df-ioo 10277  df-fz 10395  df-fzo 10533  df-fl 10688  df-mod 10743  df-seqfrec 10868  df-exp 10959  df-fac 11147  df-ihash 11198  df-cj 11590  df-re 11591  df-im 11592  df-rsqrt 11747  df-abs 11748  df-clim 12028  df-proddc 12301  df-dvds 12538  df-prm 12869
This theorem is referenced by:  gausslemma2dlem7  16170
  Copyright terms: Public domain W3C validator