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

Theorem gausslemma2dlem6 15802
Description: Lemma 6 for gausslemma2d 15804. (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 15799 . . 3 (𝜑 → (!‘𝐻) = (∏𝑘 ∈ (1...𝑀)(𝑅𝑘) · ∏𝑘 ∈ ((𝑀 + 1)...𝐻)(𝑅𝑘)))
65oveq1d 6033 . 2 (𝜑 → ((!‘𝐻) mod 𝑃) = ((∏𝑘 ∈ (1...𝑀)(𝑅𝑘) · ∏𝑘 ∈ ((𝑀 + 1)...𝐻)(𝑅𝑘)) mod 𝑃))
7 1zzd 9506 . . . . 5 (𝜑 → 1 ∈ ℤ)
81gausslemma2dlem0a 15784 . . . . . . . . 9 (𝜑𝑃 ∈ ℕ)
98nnzd 9601 . . . . . . . 8 (𝜑𝑃 ∈ ℤ)
10 4nn 9307 . . . . . . . 8 4 ∈ ℕ
11 znq 9858 . . . . . . . 8 ((𝑃 ∈ ℤ ∧ 4 ∈ ℕ) → (𝑃 / 4) ∈ ℚ)
129, 10, 11sylancl 413 . . . . . . 7 (𝜑 → (𝑃 / 4) ∈ ℚ)
1312flqcld 10538 . . . . . 6 (𝜑 → (⌊‘(𝑃 / 4)) ∈ ℤ)
144, 13eqeltrid 2318 . . . . 5 (𝜑𝑀 ∈ ℤ)
157, 14fzfigd 10694 . . . 4 (𝜑 → (1...𝑀) ∈ Fin)
161, 2, 3, 4gausslemma2dlem2 15797 . . . . . 6 (𝜑 → ∀𝑘 ∈ (1...𝑀)(𝑅𝑘) = (𝑘 · 2))
1716adantr 276 . . . . 5 ((𝜑𝑘 ∈ (1...𝑀)) → ∀𝑘 ∈ (1...𝑀)(𝑅𝑘) = (𝑘 · 2))
18 rspa 2580 . . . . . . . 8 ((∀𝑘 ∈ (1...𝑀)(𝑅𝑘) = (𝑘 · 2) ∧ 𝑘 ∈ (1...𝑀)) → (𝑅𝑘) = (𝑘 · 2))
1918expcom 116 . . . . . . 7 (𝑘 ∈ (1...𝑀) → (∀𝑘 ∈ (1...𝑀)(𝑅𝑘) = (𝑘 · 2) → (𝑅𝑘) = (𝑘 · 2)))
2019adantl 277 . . . . . 6 ((𝜑𝑘 ∈ (1...𝑀)) → (∀𝑘 ∈ (1...𝑀)(𝑅𝑘) = (𝑘 · 2) → (𝑅𝑘) = (𝑘 · 2)))
21 elfzelz 10260 . . . . . . . . 9 (𝑘 ∈ (1...𝑀) → 𝑘 ∈ ℤ)
22 2z 9507 . . . . . . . . . 10 2 ∈ ℤ
2322a1i 9 . . . . . . . . 9 (𝑘 ∈ (1...𝑀) → 2 ∈ ℤ)
2421, 23zmulcld 9608 . . . . . . . 8 (𝑘 ∈ (1...𝑀) → (𝑘 · 2) ∈ ℤ)
2524adantl 277 . . . . . . 7 ((𝜑𝑘 ∈ (1...𝑀)) → (𝑘 · 2) ∈ ℤ)
26 eleq1 2294 . . . . . . 7 ((𝑅𝑘) = (𝑘 · 2) → ((𝑅𝑘) ∈ ℤ ↔ (𝑘 · 2) ∈ ℤ))
2725, 26syl5ibrcom 157 . . . . . 6 ((𝜑𝑘 ∈ (1...𝑀)) → ((𝑅𝑘) = (𝑘 · 2) → (𝑅𝑘) ∈ ℤ))
2820, 27syld 45 . . . . 5 ((𝜑𝑘 ∈ (1...𝑀)) → (∀𝑘 ∈ (1...𝑀)(𝑅𝑘) = (𝑘 · 2) → (𝑅𝑘) ∈ ℤ))
2917, 28mpd 13 . . . 4 ((𝜑𝑘 ∈ (1...𝑀)) → (𝑅𝑘) ∈ ℤ)
3015, 29fprodzcl 12175 . . 3 (𝜑 → ∏𝑘 ∈ (1...𝑀)(𝑅𝑘) ∈ ℤ)
3114peano2zd 9605 . . . . . 6 (𝜑 → (𝑀 + 1) ∈ ℤ)
321, 2gausslemma2dlem0b 15785 . . . . . . 7 (𝜑𝐻 ∈ ℕ)
3332nnzd 9601 . . . . . 6 (𝜑𝐻 ∈ ℤ)
3431, 33fzfigd 10694 . . . . 5 (𝜑 → ((𝑀 + 1)...𝐻) ∈ Fin)
351, 2, 3, 4gausslemma2dlem3 15798 . . . . . . 7 (𝜑 → ∀𝑘 ∈ ((𝑀 + 1)...𝐻)(𝑅𝑘) = (𝑃 − (𝑘 · 2)))
3635adantr 276 . . . . . 6 ((𝜑𝑘 ∈ ((𝑀 + 1)...𝐻)) → ∀𝑘 ∈ ((𝑀 + 1)...𝐻)(𝑅𝑘) = (𝑃 − (𝑘 · 2)))
37 rspa 2580 . . . . . . . . 9 ((∀𝑘 ∈ ((𝑀 + 1)...𝐻)(𝑅𝑘) = (𝑃 − (𝑘 · 2)) ∧ 𝑘 ∈ ((𝑀 + 1)...𝐻)) → (𝑅𝑘) = (𝑃 − (𝑘 · 2)))
3837expcom 116 . . . . . . . 8 (𝑘 ∈ ((𝑀 + 1)...𝐻) → (∀𝑘 ∈ ((𝑀 + 1)...𝐻)(𝑅𝑘) = (𝑃 − (𝑘 · 2)) → (𝑅𝑘) = (𝑃 − (𝑘 · 2))))
3938adantl 277 . . . . . . 7 ((𝜑𝑘 ∈ ((𝑀 + 1)...𝐻)) → (∀𝑘 ∈ ((𝑀 + 1)...𝐻)(𝑅𝑘) = (𝑃 − (𝑘 · 2)) → (𝑅𝑘) = (𝑃 − (𝑘 · 2))))
40 elfzelz 10260 . . . . . . . . . 10 (𝑘 ∈ ((𝑀 + 1)...𝐻) → 𝑘 ∈ ℤ)
4122a1i 9 . . . . . . . . . 10 (𝑘 ∈ ((𝑀 + 1)...𝐻) → 2 ∈ ℤ)
4240, 41zmulcld 9608 . . . . . . . . 9 (𝑘 ∈ ((𝑀 + 1)...𝐻) → (𝑘 · 2) ∈ ℤ)
43 zsubcl 9520 . . . . . . . . 9 ((𝑃 ∈ ℤ ∧ (𝑘 · 2) ∈ ℤ) → (𝑃 − (𝑘 · 2)) ∈ ℤ)
449, 42, 43syl2an 289 . . . . . . . 8 ((𝜑𝑘 ∈ ((𝑀 + 1)...𝐻)) → (𝑃 − (𝑘 · 2)) ∈ ℤ)
45 eleq1 2294 . . . . . . . 8 ((𝑅𝑘) = (𝑃 − (𝑘 · 2)) → ((𝑅𝑘) ∈ ℤ ↔ (𝑃 − (𝑘 · 2)) ∈ ℤ))
4644, 45syl5ibrcom 157 . . . . . . 7 ((𝜑𝑘 ∈ ((𝑀 + 1)...𝐻)) → ((𝑅𝑘) = (𝑃 − (𝑘 · 2)) → (𝑅𝑘) ∈ ℤ))
4739, 46syld 45 . . . . . 6 ((𝜑𝑘 ∈ ((𝑀 + 1)...𝐻)) → (∀𝑘 ∈ ((𝑀 + 1)...𝐻)(𝑅𝑘) = (𝑃 − (𝑘 · 2)) → (𝑅𝑘) ∈ ℤ))
4836, 47mpd 13 . . . . 5 ((𝜑𝑘 ∈ ((𝑀 + 1)...𝐻)) → (𝑅𝑘) ∈ ℤ)
4934, 48fprodzcl 12175 . . . 4 (𝜑 → ∏𝑘 ∈ ((𝑀 + 1)...𝐻)(𝑅𝑘) ∈ ℤ)
50 zq 9860 . . . 4 (∏𝑘 ∈ ((𝑀 + 1)...𝐻)(𝑅𝑘) ∈ ℤ → ∏𝑘 ∈ ((𝑀 + 1)...𝐻)(𝑅𝑘) ∈ ℚ)
5149, 50syl 14 . . 3 (𝜑 → ∏𝑘 ∈ ((𝑀 + 1)...𝐻)(𝑅𝑘) ∈ ℚ)
52 nnq 9867 . . . 4 (𝑃 ∈ ℕ → 𝑃 ∈ ℚ)
538, 52syl 14 . . 3 (𝜑𝑃 ∈ ℚ)
548nngt0d 9187 . . 3 (𝜑 → 0 < 𝑃)
55 modqmulmodr 10653 . . . 4 (((∏𝑘 ∈ (1...𝑀)(𝑅𝑘) ∈ ℤ ∧ ∏𝑘 ∈ ((𝑀 + 1)...𝐻)(𝑅𝑘) ∈ ℚ) ∧ (𝑃 ∈ ℚ ∧ 0 < 𝑃)) → ((∏𝑘 ∈ (1...𝑀)(𝑅𝑘) · (∏𝑘 ∈ ((𝑀 + 1)...𝐻)(𝑅𝑘) mod 𝑃)) mod 𝑃) = ((∏𝑘 ∈ (1...𝑀)(𝑅𝑘) · ∏𝑘 ∈ ((𝑀 + 1)...𝐻)(𝑅𝑘)) mod 𝑃))
5655eqcomd 2237 . . 3 (((∏𝑘 ∈ (1...𝑀)(𝑅𝑘) ∈ ℤ ∧ ∏𝑘 ∈ ((𝑀 + 1)...𝐻)(𝑅𝑘) ∈ ℚ) ∧ (𝑃 ∈ ℚ ∧ 0 < 𝑃)) → ((∏𝑘 ∈ (1...𝑀)(𝑅𝑘) · ∏𝑘 ∈ ((𝑀 + 1)...𝐻)(𝑅𝑘)) mod 𝑃) = ((∏𝑘 ∈ (1...𝑀)(𝑅𝑘) · (∏𝑘 ∈ ((𝑀 + 1)...𝐻)(𝑅𝑘) mod 𝑃)) mod 𝑃))
5730, 51, 53, 54, 56syl22anc 1274 . 2 (𝜑 → ((∏𝑘 ∈ (1...𝑀)(𝑅𝑘) · ∏𝑘 ∈ ((𝑀 + 1)...𝐻)(𝑅𝑘)) mod 𝑃) = ((∏𝑘 ∈ (1...𝑀)(𝑅𝑘) · (∏𝑘 ∈ ((𝑀 + 1)...𝐻)(𝑅𝑘) mod 𝑃)) mod 𝑃))
58 gausslemma2d.n . . . . . 6 𝑁 = (𝐻𝑀)
591, 2, 3, 4, 58gausslemma2dlem5 15801 . . . . 5 (𝜑 → (∏𝑘 ∈ ((𝑀 + 1)...𝐻)(𝑅𝑘) mod 𝑃) = (((-1↑𝑁) · ∏𝑘 ∈ ((𝑀 + 1)...𝐻)(𝑘 · 2)) mod 𝑃))
6059oveq2d 6034 . . . 4 (𝜑 → (∏𝑘 ∈ (1...𝑀)(𝑅𝑘) · (∏𝑘 ∈ ((𝑀 + 1)...𝐻)(𝑅𝑘) mod 𝑃)) = (∏𝑘 ∈ (1...𝑀)(𝑅𝑘) · (((-1↑𝑁) · ∏𝑘 ∈ ((𝑀 + 1)...𝐻)(𝑘 · 2)) mod 𝑃)))
6160oveq1d 6033 . . 3 (𝜑 → ((∏𝑘 ∈ (1...𝑀)(𝑅𝑘) · (∏𝑘 ∈ ((𝑀 + 1)...𝐻)(𝑅𝑘) mod 𝑃)) mod 𝑃) = ((∏𝑘 ∈ (1...𝑀)(𝑅𝑘) · (((-1↑𝑁) · ∏𝑘 ∈ ((𝑀 + 1)...𝐻)(𝑘 · 2)) mod 𝑃)) mod 𝑃))
62 neg1z 9511 . . . . . . 7 -1 ∈ ℤ
631, 4, 2, 58gausslemma2dlem0h 15791 . . . . . . 7 (𝜑𝑁 ∈ ℕ0)
64 zexpcl 10817 . . . . . . 7 ((-1 ∈ ℤ ∧ 𝑁 ∈ ℕ0) → (-1↑𝑁) ∈ ℤ)
6562, 63, 64sylancr 414 . . . . . 6 (𝜑 → (-1↑𝑁) ∈ ℤ)
6640adantl 277 . . . . . . . 8 ((𝜑𝑘 ∈ ((𝑀 + 1)...𝐻)) → 𝑘 ∈ ℤ)
6722a1i 9 . . . . . . . 8 ((𝜑𝑘 ∈ ((𝑀 + 1)...𝐻)) → 2 ∈ ℤ)
6866, 67zmulcld 9608 . . . . . . 7 ((𝜑𝑘 ∈ ((𝑀 + 1)...𝐻)) → (𝑘 · 2) ∈ ℤ)
6934, 68fprodzcl 12175 . . . . . 6 (𝜑 → ∏𝑘 ∈ ((𝑀 + 1)...𝐻)(𝑘 · 2) ∈ ℤ)
7065, 69zmulcld 9608 . . . . 5 (𝜑 → ((-1↑𝑁) · ∏𝑘 ∈ ((𝑀 + 1)...𝐻)(𝑘 · 2)) ∈ ℤ)
71 zq 9860 . . . . 5 (((-1↑𝑁) · ∏𝑘 ∈ ((𝑀 + 1)...𝐻)(𝑘 · 2)) ∈ ℤ → ((-1↑𝑁) · ∏𝑘 ∈ ((𝑀 + 1)...𝐻)(𝑘 · 2)) ∈ ℚ)
7270, 71syl 14 . . . 4 (𝜑 → ((-1↑𝑁) · ∏𝑘 ∈ ((𝑀 + 1)...𝐻)(𝑘 · 2)) ∈ ℚ)
73 modqmulmodr 10653 . . . 4 (((∏𝑘 ∈ (1...𝑀)(𝑅𝑘) ∈ ℤ ∧ ((-1↑𝑁) · ∏𝑘 ∈ ((𝑀 + 1)...𝐻)(𝑘 · 2)) ∈ ℚ) ∧ (𝑃 ∈ ℚ ∧ 0 < 𝑃)) → ((∏𝑘 ∈ (1...𝑀)(𝑅𝑘) · (((-1↑𝑁) · ∏𝑘 ∈ ((𝑀 + 1)...𝐻)(𝑘 · 2)) mod 𝑃)) mod 𝑃) = ((∏𝑘 ∈ (1...𝑀)(𝑅𝑘) · ((-1↑𝑁) · ∏𝑘 ∈ ((𝑀 + 1)...𝐻)(𝑘 · 2))) mod 𝑃))
7430, 72, 53, 54, 73syl22anc 1274 . . 3 (𝜑 → ((∏𝑘 ∈ (1...𝑀)(𝑅𝑘) · (((-1↑𝑁) · ∏𝑘 ∈ ((𝑀 + 1)...𝐻)(𝑘 · 2)) mod 𝑃)) mod 𝑃) = ((∏𝑘 ∈ (1...𝑀)(𝑅𝑘) · ((-1↑𝑁) · ∏𝑘 ∈ ((𝑀 + 1)...𝐻)(𝑘 · 2))) mod 𝑃))
7516prodeq2d 12131 . . . . . . . 8 (𝜑 → ∏𝑘 ∈ (1...𝑀)(𝑅𝑘) = ∏𝑘 ∈ (1...𝑀)(𝑘 · 2))
7675oveq1d 6033 . . . . . . 7 (𝜑 → (∏𝑘 ∈ (1...𝑀)(𝑅𝑘) · ∏𝑘 ∈ ((𝑀 + 1)...𝐻)(𝑘 · 2)) = (∏𝑘 ∈ (1...𝑀)(𝑘 · 2) · ∏𝑘 ∈ ((𝑀 + 1)...𝐻)(𝑘 · 2)))
777, 33fzfigd 10694 . . . . . . . . 9 (𝜑 → (1...𝐻) ∈ Fin)
78 elfzelz 10260 . . . . . . . . . . 11 (𝑘 ∈ (1...𝐻) → 𝑘 ∈ ℤ)
7978zcnd 9603 . . . . . . . . . 10 (𝑘 ∈ (1...𝐻) → 𝑘 ∈ ℂ)
8079adantl 277 . . . . . . . . 9 ((𝜑𝑘 ∈ (1...𝐻)) → 𝑘 ∈ ℂ)
81 2cnd 9216 . . . . . . . . 9 ((𝜑𝑘 ∈ (1...𝐻)) → 2 ∈ ℂ)
8277, 80, 81fprodmul 12157 . . . . . . . 8 (𝜑 → ∏𝑘 ∈ (1...𝐻)(𝑘 · 2) = (∏𝑘 ∈ (1...𝐻)𝑘 · ∏𝑘 ∈ (1...𝐻)2))
831, 4gausslemma2dlem0d 15787 . . . . . . . . . . . 12 (𝜑𝑀 ∈ ℕ0)
8483nn0red 9456 . . . . . . . . . . 11 (𝜑𝑀 ∈ ℝ)
8584ltp1d 9110 . . . . . . . . . 10 (𝜑𝑀 < (𝑀 + 1))
86 fzdisj 10287 . . . . . . . . . 10 (𝑀 < (𝑀 + 1) → ((1...𝑀) ∩ ((𝑀 + 1)...𝐻)) = ∅)
8785, 86syl 14 . . . . . . . . 9 (𝜑 → ((1...𝑀) ∩ ((𝑀 + 1)...𝐻)) = ∅)
88 nn0pzuz 9821 . . . . . . . . . . 11 ((𝑀 ∈ ℕ0 ∧ 1 ∈ ℤ) → (𝑀 + 1) ∈ (ℤ‘1))
8983, 7, 88syl2anc 411 . . . . . . . . . 10 (𝜑 → (𝑀 + 1) ∈ (ℤ‘1))
9083nn0zd 9600 . . . . . . . . . . 11 (𝜑𝑀 ∈ ℤ)
911, 4, 2gausslemma2dlem0g 15790 . . . . . . . . . . 11 (𝜑𝑀𝐻)
92 eluz2 9761 . . . . . . . . . . 11 (𝐻 ∈ (ℤ𝑀) ↔ (𝑀 ∈ ℤ ∧ 𝐻 ∈ ℤ ∧ 𝑀𝐻))
9390, 33, 91, 92syl3anbrc 1207 . . . . . . . . . 10 (𝜑𝐻 ∈ (ℤ𝑀))
94 fzsplit2 10285 . . . . . . . . . 10 (((𝑀 + 1) ∈ (ℤ‘1) ∧ 𝐻 ∈ (ℤ𝑀)) → (1...𝐻) = ((1...𝑀) ∪ ((𝑀 + 1)...𝐻)))
9589, 93, 94syl2anc 411 . . . . . . . . 9 (𝜑 → (1...𝐻) = ((1...𝑀) ∪ ((𝑀 + 1)...𝐻)))
9622a1i 9 . . . . . . . . . . . 12 (𝑘 ∈ (1...𝐻) → 2 ∈ ℤ)
9778, 96zmulcld 9608 . . . . . . . . . . 11 (𝑘 ∈ (1...𝐻) → (𝑘 · 2) ∈ ℤ)
9897adantl 277 . . . . . . . . . 10 ((𝜑𝑘 ∈ (1...𝐻)) → (𝑘 · 2) ∈ ℤ)
9998zcnd 9603 . . . . . . . . 9 ((𝜑𝑘 ∈ (1...𝐻)) → (𝑘 · 2) ∈ ℂ)
10087, 95, 77, 99fprodsplit 12163 . . . . . . . 8 (𝜑 → ∏𝑘 ∈ (1...𝐻)(𝑘 · 2) = (∏𝑘 ∈ (1...𝑀)(𝑘 · 2) · ∏𝑘 ∈ ((𝑀 + 1)...𝐻)(𝑘 · 2)))
101 nnoddn2prm 12838 . . . . . . . . . . . . . 14 (𝑃 ∈ (ℙ ∖ {2}) → (𝑃 ∈ ℕ ∧ ¬ 2 ∥ 𝑃))
102 nnnn0 9409 . . . . . . . . . . . . . . 15 (𝑃 ∈ ℕ → 𝑃 ∈ ℕ0)
103102anim1i 340 . . . . . . . . . . . . . 14 ((𝑃 ∈ ℕ ∧ ¬ 2 ∥ 𝑃) → (𝑃 ∈ ℕ0 ∧ ¬ 2 ∥ 𝑃))
104101, 103syl 14 . . . . . . . . . . . . 13 (𝑃 ∈ (ℙ ∖ {2}) → (𝑃 ∈ ℕ0 ∧ ¬ 2 ∥ 𝑃))
105 nn0oddm1d2 12475 . . . . . . . . . . . . . . 15 (𝑃 ∈ ℕ0 → (¬ 2 ∥ 𝑃 ↔ ((𝑃 − 1) / 2) ∈ ℕ0))
106105biimpa 296 . . . . . . . . . . . . . 14 ((𝑃 ∈ ℕ0 ∧ ¬ 2 ∥ 𝑃) → ((𝑃 − 1) / 2) ∈ ℕ0)
1072, 106eqeltrid 2318 . . . . . . . . . . . . 13 ((𝑃 ∈ ℕ0 ∧ ¬ 2 ∥ 𝑃) → 𝐻 ∈ ℕ0)
1081, 104, 1073syl 17 . . . . . . . . . . . 12 (𝜑𝐻 ∈ ℕ0)
109 fprodfac 12181 . . . . . . . . . . . 12 (𝐻 ∈ ℕ0 → (!‘𝐻) = ∏𝑘 ∈ (1...𝐻)𝑘)
110108, 109syl 14 . . . . . . . . . . 11 (𝜑 → (!‘𝐻) = ∏𝑘 ∈ (1...𝐻)𝑘)
111110eqcomd 2237 . . . . . . . . . 10 (𝜑 → ∏𝑘 ∈ (1...𝐻)𝑘 = (!‘𝐻))
112 2cn 9214 . . . . . . . . . . 11 2 ∈ ℂ
113 fprodconst 12186 . . . . . . . . . . 11 (((1...𝐻) ∈ Fin ∧ 2 ∈ ℂ) → ∏𝑘 ∈ (1...𝐻)2 = (2↑(♯‘(1...𝐻))))
11477, 112, 113sylancl 413 . . . . . . . . . 10 (𝜑 → ∏𝑘 ∈ (1...𝐻)2 = (2↑(♯‘(1...𝐻))))
115111, 114oveq12d 6036 . . . . . . . . 9 (𝜑 → (∏𝑘 ∈ (1...𝐻)𝑘 · ∏𝑘 ∈ (1...𝐻)2) = ((!‘𝐻) · (2↑(♯‘(1...𝐻)))))
116 hashfz1 11046 . . . . . . . . . . . 12 (𝐻 ∈ ℕ0 → (♯‘(1...𝐻)) = 𝐻)
117108, 116syl 14 . . . . . . . . . . 11 (𝜑 → (♯‘(1...𝐻)) = 𝐻)
118117oveq2d 6034 . . . . . . . . . 10 (𝜑 → (2↑(♯‘(1...𝐻))) = (2↑𝐻))
119118oveq2d 6034 . . . . . . . . 9 (𝜑 → ((!‘𝐻) · (2↑(♯‘(1...𝐻)))) = ((!‘𝐻) · (2↑𝐻)))
120108faccld 10999 . . . . . . . . . . 11 (𝜑 → (!‘𝐻) ∈ ℕ)
121120nncnd 9157 . . . . . . . . . 10 (𝜑 → (!‘𝐻) ∈ ℂ)
122 2nn0 9419 . . . . . . . . . . 11 2 ∈ ℕ0
123 nn0expcl 10816 . . . . . . . . . . . 12 ((2 ∈ ℕ0𝐻 ∈ ℕ0) → (2↑𝐻) ∈ ℕ0)
124123nn0cnd 9457 . . . . . . . . . . 11 ((2 ∈ ℕ0𝐻 ∈ ℕ0) → (2↑𝐻) ∈ ℂ)
125122, 108, 124sylancr 414 . . . . . . . . . 10 (𝜑 → (2↑𝐻) ∈ ℂ)
126121, 125mulcomd 8201 . . . . . . . . 9 (𝜑 → ((!‘𝐻) · (2↑𝐻)) = ((2↑𝐻) · (!‘𝐻)))
127115, 119, 1263eqtrd 2268 . . . . . . . 8 (𝜑 → (∏𝑘 ∈ (1...𝐻)𝑘 · ∏𝑘 ∈ (1...𝐻)2) = ((2↑𝐻) · (!‘𝐻)))
12882, 100, 1273eqtr3d 2272 . . . . . . 7 (𝜑 → (∏𝑘 ∈ (1...𝑀)(𝑘 · 2) · ∏𝑘 ∈ ((𝑀 + 1)...𝐻)(𝑘 · 2)) = ((2↑𝐻) · (!‘𝐻)))
12976, 128eqtrd 2264 . . . . . 6 (𝜑 → (∏𝑘 ∈ (1...𝑀)(𝑅𝑘) · ∏𝑘 ∈ ((𝑀 + 1)...𝐻)(𝑘 · 2)) = ((2↑𝐻) · (!‘𝐻)))
130129oveq2d 6034 . . . . 5 (𝜑 → ((-1↑𝑁) · (∏𝑘 ∈ (1...𝑀)(𝑅𝑘) · ∏𝑘 ∈ ((𝑀 + 1)...𝐻)(𝑘 · 2))) = ((-1↑𝑁) · ((2↑𝐻) · (!‘𝐻))))
13130zcnd 9603 . . . . . 6 (𝜑 → ∏𝑘 ∈ (1...𝑀)(𝑅𝑘) ∈ ℂ)
132 neg1rr 9249 . . . . . . . . 9 -1 ∈ ℝ
133132a1i 9 . . . . . . . 8 (𝜑 → -1 ∈ ℝ)
134133, 63reexpcld 10953 . . . . . . 7 (𝜑 → (-1↑𝑁) ∈ ℝ)
135134recnd 8208 . . . . . 6 (𝜑 → (-1↑𝑁) ∈ ℂ)
13669zcnd 9603 . . . . . 6 (𝜑 → ∏𝑘 ∈ ((𝑀 + 1)...𝐻)(𝑘 · 2) ∈ ℂ)
137131, 135, 136mul12d 8331 . . . . 5 (𝜑 → (∏𝑘 ∈ (1...𝑀)(𝑅𝑘) · ((-1↑𝑁) · ∏𝑘 ∈ ((𝑀 + 1)...𝐻)(𝑘 · 2))) = ((-1↑𝑁) · (∏𝑘 ∈ (1...𝑀)(𝑅𝑘) · ∏𝑘 ∈ ((𝑀 + 1)...𝐻)(𝑘 · 2))))
138135, 125, 121mulassd 8203 . . . . 5 (𝜑 → (((-1↑𝑁) · (2↑𝐻)) · (!‘𝐻)) = ((-1↑𝑁) · ((2↑𝐻) · (!‘𝐻))))
139130, 137, 1383eqtr4d 2274 . . . 4 (𝜑 → (∏𝑘 ∈ (1...𝑀)(𝑅𝑘) · ((-1↑𝑁) · ∏𝑘 ∈ ((𝑀 + 1)...𝐻)(𝑘 · 2))) = (((-1↑𝑁) · (2↑𝐻)) · (!‘𝐻)))
140139oveq1d 6033 . . 3 (𝜑 → ((∏𝑘 ∈ (1...𝑀)(𝑅𝑘) · ((-1↑𝑁) · ∏𝑘 ∈ ((𝑀 + 1)...𝐻)(𝑘 · 2))) mod 𝑃) = ((((-1↑𝑁) · (2↑𝐻)) · (!‘𝐻)) mod 𝑃))
14161, 74, 1403eqtrd 2268 . 2 (𝜑 → ((∏𝑘 ∈ (1...𝑀)(𝑅𝑘) · (∏𝑘 ∈ ((𝑀 + 1)...𝐻)(𝑅𝑘) mod 𝑃)) mod 𝑃) = ((((-1↑𝑁) · (2↑𝐻)) · (!‘𝐻)) mod 𝑃))
1426, 57, 1413eqtrd 2268 1 (𝜑 → ((!‘𝐻) mod 𝑃) = ((((-1↑𝑁) · (2↑𝐻)) · (!‘𝐻)) mod 𝑃))
Colors of variables: wff set class
Syntax hints:  ¬ wn 3  wi 4  wa 104   = wceq 1397  wcel 2202  wral 2510  cdif 3197  cun 3198  cin 3199  c0 3494  ifcif 3605  {csn 3669   class class class wbr 4088  cmpt 4150  cfv 5326  (class class class)co 6018  Fincfn 6909  cc 8030  cr 8031  0cc0 8032  1c1 8033   + caddc 8035   · cmul 8037   < clt 8214  cle 8215  cmin 8350  -cneg 8351   / cdiv 8852  cn 9143  2c2 9194  4c4 9196  0cn0 9402  cz 9479  cuz 9755  cq 9853  ...cfz 10243  cfl 10529   mod cmo 10585  cexp 10801  !cfa 10988  chash 11038  cprod 12116  cdvds 12353  cprime 12684
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 619  ax-in2 620  ax-io 716  ax-5 1495  ax-7 1496  ax-gen 1497  ax-ie1 1541  ax-ie2 1542  ax-8 1552  ax-10 1553  ax-11 1554  ax-i12 1555  ax-bndl 1557  ax-4 1558  ax-17 1574  ax-i9 1578  ax-ial 1582  ax-i5r 1583  ax-13 2204  ax-14 2205  ax-ext 2213  ax-coll 4204  ax-sep 4207  ax-nul 4215  ax-pow 4264  ax-pr 4299  ax-un 4530  ax-setind 4635  ax-iinf 4686  ax-cnex 8123  ax-resscn 8124  ax-1cn 8125  ax-1re 8126  ax-icn 8127  ax-addcl 8128  ax-addrcl 8129  ax-mulcl 8130  ax-mulrcl 8131  ax-addcom 8132  ax-mulcom 8133  ax-addass 8134  ax-mulass 8135  ax-distr 8136  ax-i2m1 8137  ax-0lt1 8138  ax-1rid 8139  ax-0id 8140  ax-rnegex 8141  ax-precex 8142  ax-cnre 8143  ax-pre-ltirr 8144  ax-pre-ltwlin 8145  ax-pre-lttrn 8146  ax-pre-apti 8147  ax-pre-ltadd 8148  ax-pre-mulgt0 8149  ax-pre-mulext 8150  ax-arch 8151  ax-caucvg 8152
This theorem depends on definitions:  df-bi 117  df-dc 842  df-3or 1005  df-3an 1006  df-tru 1400  df-fal 1403  df-xor 1420  df-nf 1509  df-sb 1811  df-eu 2082  df-mo 2083  df-clab 2218  df-cleq 2224  df-clel 2227  df-nfc 2363  df-ne 2403  df-nel 2498  df-ral 2515  df-rex 2516  df-reu 2517  df-rmo 2518  df-rab 2519  df-v 2804  df-sbc 3032  df-csb 3128  df-dif 3202  df-un 3204  df-in 3206  df-ss 3213  df-nul 3495  df-if 3606  df-pw 3654  df-sn 3675  df-pr 3676  df-tp 3677  df-op 3678  df-uni 3894  df-int 3929  df-iun 3972  df-br 4089  df-opab 4151  df-mpt 4152  df-tr 4188  df-id 4390  df-po 4393  df-iso 4394  df-iord 4463  df-on 4465  df-ilim 4466  df-suc 4468  df-iom 4689  df-xp 4731  df-rel 4732  df-cnv 4733  df-co 4734  df-dm 4735  df-rn 4736  df-res 4737  df-ima 4738  df-iota 5286  df-fun 5328  df-fn 5329  df-f 5330  df-f1 5331  df-fo 5332  df-f1o 5333  df-fv 5334  df-isom 5335  df-riota 5971  df-ov 6021  df-oprab 6022  df-mpo 6023  df-1st 6303  df-2nd 6304  df-recs 6471  df-irdg 6536  df-frec 6557  df-1o 6582  df-2o 6583  df-oadd 6586  df-er 6702  df-en 6910  df-dom 6911  df-fin 6912  df-pnf 8216  df-mnf 8217  df-xr 8218  df-ltxr 8219  df-le 8220  df-sub 8352  df-neg 8353  df-reap 8755  df-ap 8762  df-div 8853  df-inn 9144  df-2 9202  df-3 9203  df-4 9204  df-5 9205  df-6 9206  df-n0 9403  df-z 9480  df-uz 9756  df-q 9854  df-rp 9889  df-ioo 10127  df-fz 10244  df-fzo 10378  df-fl 10531  df-mod 10586  df-seqfrec 10711  df-exp 10802  df-fac 10989  df-ihash 11039  df-cj 11407  df-re 11408  df-im 11409  df-rsqrt 11563  df-abs 11564  df-clim 11844  df-proddc 12117  df-dvds 12354  df-prm 12685
This theorem is referenced by:  gausslemma2dlem7  15803
  Copyright terms: Public domain W3C validator