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

Theorem gausslemma2dlem6 16070
Description: Lemma 6 for gausslemma2d 16072. (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 16067 . . 3 (𝜑 → (!‘𝐻) = (∏𝑘 ∈ (1...𝑀)(𝑅𝑘) · ∏𝑘 ∈ ((𝑀 + 1)...𝐻)(𝑅𝑘)))
65oveq1d 6073 . 2 (𝜑 → ((!‘𝐻) mod 𝑃) = ((∏𝑘 ∈ (1...𝑀)(𝑅𝑘) · ∏𝑘 ∈ ((𝑀 + 1)...𝐻)(𝑅𝑘)) mod 𝑃))
7 1zzd 9624 . . . . 5 (𝜑 → 1 ∈ ℤ)
81gausslemma2dlem0a 16052 . . . . . . . . 9 (𝜑𝑃 ∈ ℕ)
98nnzd 9720 . . . . . . . 8 (𝜑𝑃 ∈ ℤ)
10 4nn 9421 . . . . . . . 8 4 ∈ ℕ
11 znq 9977 . . . . . . . 8 ((𝑃 ∈ ℤ ∧ 4 ∈ ℕ) → (𝑃 / 4) ∈ ℚ)
129, 10, 11sylancl 413 . . . . . . 7 (𝜑 → (𝑃 / 4) ∈ ℚ)
1312flqcld 10664 . . . . . 6 (𝜑 → (⌊‘(𝑃 / 4)) ∈ ℤ)
144, 13eqeltrid 2321 . . . . 5 (𝜑𝑀 ∈ ℤ)
157, 14fzfigd 10820 . . . 4 (𝜑 → (1...𝑀) ∈ Fin)
161, 2, 3, 4gausslemma2dlem2 16065 . . . . . 6 (𝜑 → ∀𝑘 ∈ (1...𝑀)(𝑅𝑘) = (𝑘 · 2))
1716adantr 276 . . . . 5 ((𝜑𝑘 ∈ (1...𝑀)) → ∀𝑘 ∈ (1...𝑀)(𝑅𝑘) = (𝑘 · 2))
18 rspa 2592 . . . . . . . 8 ((∀𝑘 ∈ (1...𝑀)(𝑅𝑘) = (𝑘 · 2) ∧ 𝑘 ∈ (1...𝑀)) → (𝑅𝑘) = (𝑘 · 2))
1918expcom 116 . . . . . . 7 (𝑘 ∈ (1...𝑀) → (∀𝑘 ∈ (1...𝑀)(𝑅𝑘) = (𝑘 · 2) → (𝑅𝑘) = (𝑘 · 2)))
2019adantl 277 . . . . . 6 ((𝜑𝑘 ∈ (1...𝑀)) → (∀𝑘 ∈ (1...𝑀)(𝑅𝑘) = (𝑘 · 2) → (𝑅𝑘) = (𝑘 · 2)))
21 elfzelz 10381 . . . . . . . . 9 (𝑘 ∈ (1...𝑀) → 𝑘 ∈ ℤ)
22 2z 9625 . . . . . . . . . 10 2 ∈ ℤ
2322a1i 9 . . . . . . . . 9 (𝑘 ∈ (1...𝑀) → 2 ∈ ℤ)
2421, 23zmulcld 9727 . . . . . . . 8 (𝑘 ∈ (1...𝑀) → (𝑘 · 2) ∈ ℤ)
2524adantl 277 . . . . . . 7 ((𝜑𝑘 ∈ (1...𝑀)) → (𝑘 · 2) ∈ ℤ)
26 eleq1 2297 . . . . . . 7 ((𝑅𝑘) = (𝑘 · 2) → ((𝑅𝑘) ∈ ℤ ↔ (𝑘 · 2) ∈ ℤ))
2725, 26syl5ibrcom 157 . . . . . 6 ((𝜑𝑘 ∈ (1...𝑀)) → ((𝑅𝑘) = (𝑘 · 2) → (𝑅𝑘) ∈ ℤ))
2820, 27syld 45 . . . . 5 ((𝜑𝑘 ∈ (1...𝑀)) → (∀𝑘 ∈ (1...𝑀)(𝑅𝑘) = (𝑘 · 2) → (𝑅𝑘) ∈ ℤ))
2917, 28mpd 13 . . . 4 ((𝜑𝑘 ∈ (1...𝑀)) → (𝑅𝑘) ∈ ℤ)
3015, 29fprodzcl 12324 . . 3 (𝜑 → ∏𝑘 ∈ (1...𝑀)(𝑅𝑘) ∈ ℤ)
3114peano2zd 9724 . . . . . 6 (𝜑 → (𝑀 + 1) ∈ ℤ)
321, 2gausslemma2dlem0b 16053 . . . . . . 7 (𝜑𝐻 ∈ ℕ)
3332nnzd 9720 . . . . . 6 (𝜑𝐻 ∈ ℤ)
3431, 33fzfigd 10820 . . . . 5 (𝜑 → ((𝑀 + 1)...𝐻) ∈ Fin)
351, 2, 3, 4gausslemma2dlem3 16066 . . . . . . 7 (𝜑 → ∀𝑘 ∈ ((𝑀 + 1)...𝐻)(𝑅𝑘) = (𝑃 − (𝑘 · 2)))
3635adantr 276 . . . . . 6 ((𝜑𝑘 ∈ ((𝑀 + 1)...𝐻)) → ∀𝑘 ∈ ((𝑀 + 1)...𝐻)(𝑅𝑘) = (𝑃 − (𝑘 · 2)))
37 rspa 2592 . . . . . . . . 9 ((∀𝑘 ∈ ((𝑀 + 1)...𝐻)(𝑅𝑘) = (𝑃 − (𝑘 · 2)) ∧ 𝑘 ∈ ((𝑀 + 1)...𝐻)) → (𝑅𝑘) = (𝑃 − (𝑘 · 2)))
3837expcom 116 . . . . . . . 8 (𝑘 ∈ ((𝑀 + 1)...𝐻) → (∀𝑘 ∈ ((𝑀 + 1)...𝐻)(𝑅𝑘) = (𝑃 − (𝑘 · 2)) → (𝑅𝑘) = (𝑃 − (𝑘 · 2))))
3938adantl 277 . . . . . . 7 ((𝜑𝑘 ∈ ((𝑀 + 1)...𝐻)) → (∀𝑘 ∈ ((𝑀 + 1)...𝐻)(𝑅𝑘) = (𝑃 − (𝑘 · 2)) → (𝑅𝑘) = (𝑃 − (𝑘 · 2))))
40 elfzelz 10381 . . . . . . . . . 10 (𝑘 ∈ ((𝑀 + 1)...𝐻) → 𝑘 ∈ ℤ)
4122a1i 9 . . . . . . . . . 10 (𝑘 ∈ ((𝑀 + 1)...𝐻) → 2 ∈ ℤ)
4240, 41zmulcld 9727 . . . . . . . . 9 (𝑘 ∈ ((𝑀 + 1)...𝐻) → (𝑘 · 2) ∈ ℤ)
43 zsubcl 9638 . . . . . . . . 9 ((𝑃 ∈ ℤ ∧ (𝑘 · 2) ∈ ℤ) → (𝑃 − (𝑘 · 2)) ∈ ℤ)
449, 42, 43syl2an 289 . . . . . . . 8 ((𝜑𝑘 ∈ ((𝑀 + 1)...𝐻)) → (𝑃 − (𝑘 · 2)) ∈ ℤ)
45 eleq1 2297 . . . . . . . 8 ((𝑅𝑘) = (𝑃 − (𝑘 · 2)) → ((𝑅𝑘) ∈ ℤ ↔ (𝑃 − (𝑘 · 2)) ∈ ℤ))
4644, 45syl5ibrcom 157 . . . . . . 7 ((𝜑𝑘 ∈ ((𝑀 + 1)...𝐻)) → ((𝑅𝑘) = (𝑃 − (𝑘 · 2)) → (𝑅𝑘) ∈ ℤ))
4739, 46syld 45 . . . . . 6 ((𝜑𝑘 ∈ ((𝑀 + 1)...𝐻)) → (∀𝑘 ∈ ((𝑀 + 1)...𝐻)(𝑅𝑘) = (𝑃 − (𝑘 · 2)) → (𝑅𝑘) ∈ ℤ))
4836, 47mpd 13 . . . . 5 ((𝜑𝑘 ∈ ((𝑀 + 1)...𝐻)) → (𝑅𝑘) ∈ ℤ)
4934, 48fprodzcl 12324 . . . 4 (𝜑 → ∏𝑘 ∈ ((𝑀 + 1)...𝐻)(𝑅𝑘) ∈ ℤ)
50 zq 9979 . . . 4 (∏𝑘 ∈ ((𝑀 + 1)...𝐻)(𝑅𝑘) ∈ ℤ → ∏𝑘 ∈ ((𝑀 + 1)...𝐻)(𝑅𝑘) ∈ ℚ)
5149, 50syl 14 . . 3 (𝜑 → ∏𝑘 ∈ ((𝑀 + 1)...𝐻)(𝑅𝑘) ∈ ℚ)
52 nnq 9986 . . . 4 (𝑃 ∈ ℕ → 𝑃 ∈ ℚ)
538, 52syl 14 . . 3 (𝜑𝑃 ∈ ℚ)
548nngt0d 9301 . . 3 (𝜑 → 0 < 𝑃)
55 modqmulmodr 10779 . . . 4 (((∏𝑘 ∈ (1...𝑀)(𝑅𝑘) ∈ ℤ ∧ ∏𝑘 ∈ ((𝑀 + 1)...𝐻)(𝑅𝑘) ∈ ℚ) ∧ (𝑃 ∈ ℚ ∧ 0 < 𝑃)) → ((∏𝑘 ∈ (1...𝑀)(𝑅𝑘) · (∏𝑘 ∈ ((𝑀 + 1)...𝐻)(𝑅𝑘) mod 𝑃)) mod 𝑃) = ((∏𝑘 ∈ (1...𝑀)(𝑅𝑘) · ∏𝑘 ∈ ((𝑀 + 1)...𝐻)(𝑅𝑘)) mod 𝑃))
5655eqcomd 2240 . . 3 (((∏𝑘 ∈ (1...𝑀)(𝑅𝑘) ∈ ℤ ∧ ∏𝑘 ∈ ((𝑀 + 1)...𝐻)(𝑅𝑘) ∈ ℚ) ∧ (𝑃 ∈ ℚ ∧ 0 < 𝑃)) → ((∏𝑘 ∈ (1...𝑀)(𝑅𝑘) · ∏𝑘 ∈ ((𝑀 + 1)...𝐻)(𝑅𝑘)) mod 𝑃) = ((∏𝑘 ∈ (1...𝑀)(𝑅𝑘) · (∏𝑘 ∈ ((𝑀 + 1)...𝐻)(𝑅𝑘) mod 𝑃)) mod 𝑃))
5730, 51, 53, 54, 56syl22anc 1275 . 2 (𝜑 → ((∏𝑘 ∈ (1...𝑀)(𝑅𝑘) · ∏𝑘 ∈ ((𝑀 + 1)...𝐻)(𝑅𝑘)) mod 𝑃) = ((∏𝑘 ∈ (1...𝑀)(𝑅𝑘) · (∏𝑘 ∈ ((𝑀 + 1)...𝐻)(𝑅𝑘) mod 𝑃)) mod 𝑃))
58 gausslemma2d.n . . . . . 6 𝑁 = (𝐻𝑀)
591, 2, 3, 4, 58gausslemma2dlem5 16069 . . . . 5 (𝜑 → (∏𝑘 ∈ ((𝑀 + 1)...𝐻)(𝑅𝑘) mod 𝑃) = (((-1↑𝑁) · ∏𝑘 ∈ ((𝑀 + 1)...𝐻)(𝑘 · 2)) mod 𝑃))
6059oveq2d 6074 . . . 4 (𝜑 → (∏𝑘 ∈ (1...𝑀)(𝑅𝑘) · (∏𝑘 ∈ ((𝑀 + 1)...𝐻)(𝑅𝑘) mod 𝑃)) = (∏𝑘 ∈ (1...𝑀)(𝑅𝑘) · (((-1↑𝑁) · ∏𝑘 ∈ ((𝑀 + 1)...𝐻)(𝑘 · 2)) mod 𝑃)))
6160oveq1d 6073 . . 3 (𝜑 → ((∏𝑘 ∈ (1...𝑀)(𝑅𝑘) · (∏𝑘 ∈ ((𝑀 + 1)...𝐻)(𝑅𝑘) mod 𝑃)) mod 𝑃) = ((∏𝑘 ∈ (1...𝑀)(𝑅𝑘) · (((-1↑𝑁) · ∏𝑘 ∈ ((𝑀 + 1)...𝐻)(𝑘 · 2)) mod 𝑃)) mod 𝑃))
62 neg1z 9629 . . . . . . 7 -1 ∈ ℤ
631, 4, 2, 58gausslemma2dlem0h 16059 . . . . . . 7 (𝜑𝑁 ∈ ℕ0)
64 zexpcl 10943 . . . . . . 7 ((-1 ∈ ℤ ∧ 𝑁 ∈ ℕ0) → (-1↑𝑁) ∈ ℤ)
6562, 63, 64sylancr 414 . . . . . 6 (𝜑 → (-1↑𝑁) ∈ ℤ)
6640adantl 277 . . . . . . . 8 ((𝜑𝑘 ∈ ((𝑀 + 1)...𝐻)) → 𝑘 ∈ ℤ)
6722a1i 9 . . . . . . . 8 ((𝜑𝑘 ∈ ((𝑀 + 1)...𝐻)) → 2 ∈ ℤ)
6866, 67zmulcld 9727 . . . . . . 7 ((𝜑𝑘 ∈ ((𝑀 + 1)...𝐻)) → (𝑘 · 2) ∈ ℤ)
6934, 68fprodzcl 12324 . . . . . 6 (𝜑 → ∏𝑘 ∈ ((𝑀 + 1)...𝐻)(𝑘 · 2) ∈ ℤ)
7065, 69zmulcld 9727 . . . . 5 (𝜑 → ((-1↑𝑁) · ∏𝑘 ∈ ((𝑀 + 1)...𝐻)(𝑘 · 2)) ∈ ℤ)
71 zq 9979 . . . . 5 (((-1↑𝑁) · ∏𝑘 ∈ ((𝑀 + 1)...𝐻)(𝑘 · 2)) ∈ ℤ → ((-1↑𝑁) · ∏𝑘 ∈ ((𝑀 + 1)...𝐻)(𝑘 · 2)) ∈ ℚ)
7270, 71syl 14 . . . 4 (𝜑 → ((-1↑𝑁) · ∏𝑘 ∈ ((𝑀 + 1)...𝐻)(𝑘 · 2)) ∈ ℚ)
73 modqmulmodr 10779 . . . 4 (((∏𝑘 ∈ (1...𝑀)(𝑅𝑘) ∈ ℤ ∧ ((-1↑𝑁) · ∏𝑘 ∈ ((𝑀 + 1)...𝐻)(𝑘 · 2)) ∈ ℚ) ∧ (𝑃 ∈ ℚ ∧ 0 < 𝑃)) → ((∏𝑘 ∈ (1...𝑀)(𝑅𝑘) · (((-1↑𝑁) · ∏𝑘 ∈ ((𝑀 + 1)...𝐻)(𝑘 · 2)) mod 𝑃)) mod 𝑃) = ((∏𝑘 ∈ (1...𝑀)(𝑅𝑘) · ((-1↑𝑁) · ∏𝑘 ∈ ((𝑀 + 1)...𝐻)(𝑘 · 2))) mod 𝑃))
7430, 72, 53, 54, 73syl22anc 1275 . . 3 (𝜑 → ((∏𝑘 ∈ (1...𝑀)(𝑅𝑘) · (((-1↑𝑁) · ∏𝑘 ∈ ((𝑀 + 1)...𝐻)(𝑘 · 2)) mod 𝑃)) mod 𝑃) = ((∏𝑘 ∈ (1...𝑀)(𝑅𝑘) · ((-1↑𝑁) · ∏𝑘 ∈ ((𝑀 + 1)...𝐻)(𝑘 · 2))) mod 𝑃))
7516prodeq2d 12280 . . . . . . . 8 (𝜑 → ∏𝑘 ∈ (1...𝑀)(𝑅𝑘) = ∏𝑘 ∈ (1...𝑀)(𝑘 · 2))
7675oveq1d 6073 . . . . . . 7 (𝜑 → (∏𝑘 ∈ (1...𝑀)(𝑅𝑘) · ∏𝑘 ∈ ((𝑀 + 1)...𝐻)(𝑘 · 2)) = (∏𝑘 ∈ (1...𝑀)(𝑘 · 2) · ∏𝑘 ∈ ((𝑀 + 1)...𝐻)(𝑘 · 2)))
777, 33fzfigd 10820 . . . . . . . . 9 (𝜑 → (1...𝐻) ∈ Fin)
78 elfzelz 10381 . . . . . . . . . . 11 (𝑘 ∈ (1...𝐻) → 𝑘 ∈ ℤ)
7978zcnd 9722 . . . . . . . . . 10 (𝑘 ∈ (1...𝐻) → 𝑘 ∈ ℂ)
8079adantl 277 . . . . . . . . 9 ((𝜑𝑘 ∈ (1...𝐻)) → 𝑘 ∈ ℂ)
81 2cnd 9330 . . . . . . . . 9 ((𝜑𝑘 ∈ (1...𝐻)) → 2 ∈ ℂ)
8277, 80, 81fprodmul 12306 . . . . . . . 8 (𝜑 → ∏𝑘 ∈ (1...𝐻)(𝑘 · 2) = (∏𝑘 ∈ (1...𝐻)𝑘 · ∏𝑘 ∈ (1...𝐻)2))
831, 4gausslemma2dlem0d 16055 . . . . . . . . . . . 12 (𝜑𝑀 ∈ ℕ0)
8483nn0red 9574 . . . . . . . . . . 11 (𝜑𝑀 ∈ ℝ)
8584ltp1d 9224 . . . . . . . . . 10 (𝜑𝑀 < (𝑀 + 1))
86 fzdisj 10409 . . . . . . . . . 10 (𝑀 < (𝑀 + 1) → ((1...𝑀) ∩ ((𝑀 + 1)...𝐻)) = ∅)
8785, 86syl 14 . . . . . . . . 9 (𝜑 → ((1...𝑀) ∩ ((𝑀 + 1)...𝐻)) = ∅)
88 nn0pzuz 9940 . . . . . . . . . . 11 ((𝑀 ∈ ℕ0 ∧ 1 ∈ ℤ) → (𝑀 + 1) ∈ (ℤ‘1))
8983, 7, 88syl2anc 411 . . . . . . . . . 10 (𝜑 → (𝑀 + 1) ∈ (ℤ‘1))
9083nn0zd 9719 . . . . . . . . . . 11 (𝜑𝑀 ∈ ℤ)
911, 4, 2gausslemma2dlem0g 16058 . . . . . . . . . . 11 (𝜑𝑀𝐻)
92 eluz2 9880 . . . . . . . . . . 11 (𝐻 ∈ (ℤ𝑀) ↔ (𝑀 ∈ ℤ ∧ 𝐻 ∈ ℤ ∧ 𝑀𝐻))
9390, 33, 91, 92syl3anbrc 1208 . . . . . . . . . 10 (𝜑𝐻 ∈ (ℤ𝑀))
94 fzsplit2 10407 . . . . . . . . . 10 (((𝑀 + 1) ∈ (ℤ‘1) ∧ 𝐻 ∈ (ℤ𝑀)) → (1...𝐻) = ((1...𝑀) ∪ ((𝑀 + 1)...𝐻)))
9589, 93, 94syl2anc 411 . . . . . . . . 9 (𝜑 → (1...𝐻) = ((1...𝑀) ∪ ((𝑀 + 1)...𝐻)))
9622a1i 9 . . . . . . . . . . . 12 (𝑘 ∈ (1...𝐻) → 2 ∈ ℤ)
9778, 96zmulcld 9727 . . . . . . . . . . 11 (𝑘 ∈ (1...𝐻) → (𝑘 · 2) ∈ ℤ)
9897adantl 277 . . . . . . . . . 10 ((𝜑𝑘 ∈ (1...𝐻)) → (𝑘 · 2) ∈ ℤ)
9998zcnd 9722 . . . . . . . . 9 ((𝜑𝑘 ∈ (1...𝐻)) → (𝑘 · 2) ∈ ℂ)
10087, 95, 77, 99fprodsplit 12312 . . . . . . . 8 (𝜑 → ∏𝑘 ∈ (1...𝐻)(𝑘 · 2) = (∏𝑘 ∈ (1...𝑀)(𝑘 · 2) · ∏𝑘 ∈ ((𝑀 + 1)...𝐻)(𝑘 · 2)))
101 nnoddn2prm 12987 . . . . . . . . . . . . . 14 (𝑃 ∈ (ℙ ∖ {2}) → (𝑃 ∈ ℕ ∧ ¬ 2 ∥ 𝑃))
102 nnnn0 9523 . . . . . . . . . . . . . . 15 (𝑃 ∈ ℕ → 𝑃 ∈ ℕ0)
103102anim1i 340 . . . . . . . . . . . . . 14 ((𝑃 ∈ ℕ ∧ ¬ 2 ∥ 𝑃) → (𝑃 ∈ ℕ0 ∧ ¬ 2 ∥ 𝑃))
104101, 103syl 14 . . . . . . . . . . . . 13 (𝑃 ∈ (ℙ ∖ {2}) → (𝑃 ∈ ℕ0 ∧ ¬ 2 ∥ 𝑃))
105 nn0oddm1d2 12624 . . . . . . . . . . . . . . 15 (𝑃 ∈ ℕ0 → (¬ 2 ∥ 𝑃 ↔ ((𝑃 − 1) / 2) ∈ ℕ0))
106105biimpa 296 . . . . . . . . . . . . . 14 ((𝑃 ∈ ℕ0 ∧ ¬ 2 ∥ 𝑃) → ((𝑃 − 1) / 2) ∈ ℕ0)
1072, 106eqeltrid 2321 . . . . . . . . . . . . 13 ((𝑃 ∈ ℕ0 ∧ ¬ 2 ∥ 𝑃) → 𝐻 ∈ ℕ0)
1081, 104, 1073syl 17 . . . . . . . . . . . 12 (𝜑𝐻 ∈ ℕ0)
109 fprodfac 12330 . . . . . . . . . . . 12 (𝐻 ∈ ℕ0 → (!‘𝐻) = ∏𝑘 ∈ (1...𝐻)𝑘)
110108, 109syl 14 . . . . . . . . . . 11 (𝜑 → (!‘𝐻) = ∏𝑘 ∈ (1...𝐻)𝑘)
111110eqcomd 2240 . . . . . . . . . 10 (𝜑 → ∏𝑘 ∈ (1...𝐻)𝑘 = (!‘𝐻))
112 2cn 9328 . . . . . . . . . . 11 2 ∈ ℂ
113 fprodconst 12335 . . . . . . . . . . 11 (((1...𝐻) ∈ Fin ∧ 2 ∈ ℂ) → ∏𝑘 ∈ (1...𝐻)2 = (2↑(♯‘(1...𝐻))))
11477, 112, 113sylancl 413 . . . . . . . . . 10 (𝜑 → ∏𝑘 ∈ (1...𝐻)2 = (2↑(♯‘(1...𝐻))))
115111, 114oveq12d 6076 . . . . . . . . 9 (𝜑 → (∏𝑘 ∈ (1...𝐻)𝑘 · ∏𝑘 ∈ (1...𝐻)2) = ((!‘𝐻) · (2↑(♯‘(1...𝐻)))))
116 hashfz1 11174 . . . . . . . . . . . 12 (𝐻 ∈ ℕ0 → (♯‘(1...𝐻)) = 𝐻)
117108, 116syl 14 . . . . . . . . . . 11 (𝜑 → (♯‘(1...𝐻)) = 𝐻)
118117oveq2d 6074 . . . . . . . . . 10 (𝜑 → (2↑(♯‘(1...𝐻))) = (2↑𝐻))
119118oveq2d 6074 . . . . . . . . 9 (𝜑 → ((!‘𝐻) · (2↑(♯‘(1...𝐻)))) = ((!‘𝐻) · (2↑𝐻)))
120108faccld 11126 . . . . . . . . . . 11 (𝜑 → (!‘𝐻) ∈ ℕ)
121120nncnd 9271 . . . . . . . . . 10 (𝜑 → (!‘𝐻) ∈ ℂ)
122 2nn0 9533 . . . . . . . . . . 11 2 ∈ ℕ0
123 nn0expcl 10942 . . . . . . . . . . . 12 ((2 ∈ ℕ0𝐻 ∈ ℕ0) → (2↑𝐻) ∈ ℕ0)
124123nn0cnd 9575 . . . . . . . . . . 11 ((2 ∈ ℕ0𝐻 ∈ ℕ0) → (2↑𝐻) ∈ ℂ)
125122, 108, 124sylancr 414 . . . . . . . . . 10 (𝜑 → (2↑𝐻) ∈ ℂ)
126121, 125mulcomd 8311 . . . . . . . . 9 (𝜑 → ((!‘𝐻) · (2↑𝐻)) = ((2↑𝐻) · (!‘𝐻)))
127115, 119, 1263eqtrd 2271 . . . . . . . 8 (𝜑 → (∏𝑘 ∈ (1...𝐻)𝑘 · ∏𝑘 ∈ (1...𝐻)2) = ((2↑𝐻) · (!‘𝐻)))
12882, 100, 1273eqtr3d 2275 . . . . . . 7 (𝜑 → (∏𝑘 ∈ (1...𝑀)(𝑘 · 2) · ∏𝑘 ∈ ((𝑀 + 1)...𝐻)(𝑘 · 2)) = ((2↑𝐻) · (!‘𝐻)))
12976, 128eqtrd 2267 . . . . . 6 (𝜑 → (∏𝑘 ∈ (1...𝑀)(𝑅𝑘) · ∏𝑘 ∈ ((𝑀 + 1)...𝐻)(𝑘 · 2)) = ((2↑𝐻) · (!‘𝐻)))
130129oveq2d 6074 . . . . 5 (𝜑 → ((-1↑𝑁) · (∏𝑘 ∈ (1...𝑀)(𝑅𝑘) · ∏𝑘 ∈ ((𝑀 + 1)...𝐻)(𝑘 · 2))) = ((-1↑𝑁) · ((2↑𝐻) · (!‘𝐻))))
13130zcnd 9722 . . . . . 6 (𝜑 → ∏𝑘 ∈ (1...𝑀)(𝑅𝑘) ∈ ℂ)
132 neg1rr 9363 . . . . . . . . 9 -1 ∈ ℝ
133132a1i 9 . . . . . . . 8 (𝜑 → -1 ∈ ℝ)
134133, 63reexpcld 11080 . . . . . . 7 (𝜑 → (-1↑𝑁) ∈ ℝ)
135134recnd 8318 . . . . . 6 (𝜑 → (-1↑𝑁) ∈ ℂ)
13669zcnd 9722 . . . . . 6 (𝜑 → ∏𝑘 ∈ ((𝑀 + 1)...𝐻)(𝑘 · 2) ∈ ℂ)
137131, 135, 136mul12d 8442 . . . . 5 (𝜑 → (∏𝑘 ∈ (1...𝑀)(𝑅𝑘) · ((-1↑𝑁) · ∏𝑘 ∈ ((𝑀 + 1)...𝐻)(𝑘 · 2))) = ((-1↑𝑁) · (∏𝑘 ∈ (1...𝑀)(𝑅𝑘) · ∏𝑘 ∈ ((𝑀 + 1)...𝐻)(𝑘 · 2))))
138135, 125, 121mulassd 8313 . . . . 5 (𝜑 → (((-1↑𝑁) · (2↑𝐻)) · (!‘𝐻)) = ((-1↑𝑁) · ((2↑𝐻) · (!‘𝐻))))
139130, 137, 1383eqtr4d 2277 . . . 4 (𝜑 → (∏𝑘 ∈ (1...𝑀)(𝑅𝑘) · ((-1↑𝑁) · ∏𝑘 ∈ ((𝑀 + 1)...𝐻)(𝑘 · 2))) = (((-1↑𝑁) · (2↑𝐻)) · (!‘𝐻)))
140139oveq1d 6073 . . 3 (𝜑 → ((∏𝑘 ∈ (1...𝑀)(𝑅𝑘) · ((-1↑𝑁) · ∏𝑘 ∈ ((𝑀 + 1)...𝐻)(𝑘 · 2))) mod 𝑃) = ((((-1↑𝑁) · (2↑𝐻)) · (!‘𝐻)) mod 𝑃))
14161, 74, 1403eqtrd 2271 . 2 (𝜑 → ((∏𝑘 ∈ (1...𝑀)(𝑅𝑘) · (∏𝑘 ∈ ((𝑀 + 1)...𝐻)(𝑅𝑘) mod 𝑃)) mod 𝑃) = ((((-1↑𝑁) · (2↑𝐻)) · (!‘𝐻)) mod 𝑃))
1426, 57, 1413eqtrd 2271 1 (𝜑 → ((!‘𝐻) mod 𝑃) = ((((-1↑𝑁) · (2↑𝐻)) · (!‘𝐻)) mod 𝑃))
Colors of variables: wff set class
Syntax hints:  ¬ wn 3  wi 4  wa 104   = wceq 1398  wcel 2205  wral 2522  cdif 3211  cun 3212  cin 3213  c0 3512  ifcif 3624  {csn 3694   class class class wbr 4114  cmpt 4176  cfv 5357  (class class class)co 6058  Fincfn 6988  cc 8141  cr 8142  0cc0 8143  1c1 8144   + caddc 8146   · cmul 8148   < clt 8324  cle 8325  cmin 8461  -cneg 8462   / cdiv 8966  cn 9257  2c2 9308  4c4 9310  0cn0 9516  cz 9597  cuz 9874  cq 9972  ...cfz 10364  cfl 10655   mod cmo 10711  cexp 10927  !cfa 11115  chash 11166  cprod 12265  cdvds 12502  cprime 12833
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 717  ax-5 1496  ax-7 1497  ax-gen 1498  ax-ie1 1542  ax-ie2 1543  ax-8 1553  ax-10 1554  ax-11 1555  ax-i12 1556  ax-bndl 1558  ax-4 1559  ax-17 1575  ax-i9 1579  ax-ial 1583  ax-i5r 1584  ax-13 2207  ax-14 2208  ax-ext 2216  ax-coll 4230  ax-sep 4233  ax-nul 4241  ax-pow 4292  ax-pr 4327  ax-un 4559  ax-setind 4664  ax-iinf 4715  ax-cnex 8234  ax-resscn 8235  ax-1cn 8236  ax-1re 8237  ax-icn 8238  ax-addcl 8239  ax-addrcl 8240  ax-mulcl 8241  ax-mulrcl 8242  ax-addcom 8243  ax-mulcom 8244  ax-addass 8245  ax-mulass 8246  ax-distr 8247  ax-i2m1 8248  ax-0lt1 8249  ax-1rid 8250  ax-0id 8251  ax-rnegex 8252  ax-precex 8253  ax-cnre 8254  ax-pre-ltirr 8255  ax-pre-ltwlin 8256  ax-pre-lttrn 8257  ax-pre-apti 8258  ax-pre-ltadd 8259  ax-pre-mulgt0 8260  ax-pre-mulext 8261  ax-arch 8262  ax-caucvg 8263
This theorem depends on definitions:  df-bi 117  df-dc 843  df-3or 1006  df-3an 1007  df-tru 1401  df-fal 1404  df-xor 1421  df-nf 1510  df-sb 1812  df-eu 2085  df-mo 2086  df-clab 2221  df-cleq 2227  df-clel 2230  df-nfc 2375  df-ne 2415  df-nel 2510  df-ral 2527  df-rex 2528  df-reu 2529  df-rmo 2530  df-rab 2531  df-v 2817  df-sbc 3046  df-csb 3142  df-dif 3216  df-un 3218  df-in 3220  df-ss 3227  df-nul 3513  df-if 3625  df-pw 3676  df-sn 3700  df-pr 3701  df-tp 3702  df-op 3703  df-uni 3920  df-int 3955  df-iun 3998  df-br 4115  df-opab 4177  df-mpt 4178  df-tr 4214  df-id 4419  df-po 4422  df-iso 4423  df-iord 4492  df-on 4494  df-ilim 4495  df-suc 4497  df-iom 4718  df-xp 4760  df-rel 4761  df-cnv 4762  df-co 4763  df-dm 4764  df-rn 4765  df-res 4766  df-ima 4767  df-iota 5317  df-fun 5359  df-fn 5360  df-f 5361  df-f1 5362  df-fo 5363  df-f1o 5364  df-fv 5365  df-isom 5366  df-riota 6011  df-ov 6061  df-oprab 6062  df-mpo 6063  df-1st 6347  df-2nd 6348  df-recs 6549  df-irdg 6614  df-frec 6635  df-1o 6660  df-2o 6661  df-oadd 6664  df-er 6780  df-en 6989  df-dom 6990  df-fin 6991  df-pnf 8326  df-mnf 8327  df-xr 8328  df-ltxr 8329  df-le 8330  df-sub 8463  df-neg 8464  df-reap 8867  df-ap 8874  df-div 8967  df-inn 9258  df-2 9316  df-3 9317  df-4 9318  df-5 9319  df-6 9320  df-n0 9517  df-z 9598  df-uz 9875  df-q 9973  df-rp 10008  df-ioo 10247  df-fz 10365  df-fzo 10502  df-fl 10657  df-mod 10712  df-seqfrec 10837  df-exp 10928  df-fac 11116  df-ihash 11167  df-cj 11555  df-re 11556  df-im 11557  df-rsqrt 11712  df-abs 11713  df-clim 11993  df-proddc 12266  df-dvds 12503  df-prm 12834
This theorem is referenced by:  gausslemma2dlem7  16071
  Copyright terms: Public domain W3C validator