Metamath Proof Explorer


Theorem gausslemma2dlem6

Description: Lemma 6 for gausslemma2d . (Contributed by AV, 16-Jun-2021)

Ref Expression
Hypotheses gausslemma2d.p φP2
gausslemma2d.h H=P12
gausslemma2d.r R=x1Hifx2<P2x2Px2
gausslemma2d.m M=P4
gausslemma2d.n N=HM
Assertion gausslemma2dlem6 φH!modP=1N2HH!modP

Proof

Step Hyp Ref Expression
1 gausslemma2d.p φP2
2 gausslemma2d.h H=P12
3 gausslemma2d.r R=x1Hifx2<P2x2Px2
4 gausslemma2d.m M=P4
5 gausslemma2d.n N=HM
6 1 2 3 4 gausslemma2dlem4 φH!=k=1MRkk=M+1HRk
7 6 oveq1d φH!modP=k=1MRkk=M+1HRkmodP
8 fzfid φ1MFin
9 1 2 3 4 gausslemma2dlem2 φk1MRk=k2
10 9 adantr φk1Mk1MRk=k2
11 rspa k1MRk=k2k1MRk=k2
12 11 expcom k1Mk1MRk=k2Rk=k2
13 12 adantl φk1Mk1MRk=k2Rk=k2
14 elfzelz k1Mk
15 2z 2
16 15 a1i k1M2
17 14 16 zmulcld k1Mk2
18 17 adantl φk1Mk2
19 eleq1 Rk=k2Rkk2
20 18 19 syl5ibrcom φk1MRk=k2Rk
21 13 20 syld φk1Mk1MRk=k2Rk
22 10 21 mpd φk1MRk
23 8 22 fprodzcl φk=1MRk
24 fzfid φM+1HFin
25 1 2 3 4 gausslemma2dlem3 φkM+1HRk=Pk2
26 25 adantr φkM+1HkM+1HRk=Pk2
27 rspa kM+1HRk=Pk2kM+1HRk=Pk2
28 27 expcom kM+1HkM+1HRk=Pk2Rk=Pk2
29 28 adantl φkM+1HkM+1HRk=Pk2Rk=Pk2
30 1 gausslemma2dlem0a φP
31 30 nnzd φP
32 elfzelz kM+1Hk
33 15 a1i kM+1H2
34 32 33 zmulcld kM+1Hk2
35 zsubcl Pk2Pk2
36 31 34 35 syl2an φkM+1HPk2
37 eleq1 Rk=Pk2RkPk2
38 36 37 syl5ibrcom φkM+1HRk=Pk2Rk
39 29 38 syld φkM+1HkM+1HRk=Pk2Rk
40 26 39 mpd φkM+1HRk
41 24 40 fprodzcl φk=M+1HRk
42 41 zred φk=M+1HRk
43 nnoddn2prm P2P¬2P
44 nnrp PP+
45 44 adantr P¬2PP+
46 1 43 45 3syl φP+
47 modmulmodr k=1MRkk=M+1HRkP+k=1MRkk=M+1HRkmodPmodP=k=1MRkk=M+1HRkmodP
48 47 eqcomd k=1MRkk=M+1HRkP+k=1MRkk=M+1HRkmodP=k=1MRkk=M+1HRkmodPmodP
49 23 42 46 48 syl3anc φk=1MRkk=M+1HRkmodP=k=1MRkk=M+1HRkmodPmodP
50 1 2 3 4 5 gausslemma2dlem5 φk=M+1HRkmodP=1Nk=M+1Hk2modP
51 50 oveq2d φk=1MRkk=M+1HRkmodP=k=1MRk1Nk=M+1Hk2modP
52 51 oveq1d φk=1MRkk=M+1HRkmodPmodP=k=1MRk1Nk=M+1Hk2modPmodP
53 neg1rr 1
54 53 a1i φ1
55 1 4 2 5 gausslemma2dlem0h φN0
56 54 55 reexpcld φ1N
57 32 adantl φkM+1Hk
58 15 a1i φkM+1H2
59 57 58 zmulcld φkM+1Hk2
60 24 59 fprodzcl φk=M+1Hk2
61 60 zred φk=M+1Hk2
62 56 61 remulcld φ1Nk=M+1Hk2
63 modmulmodr k=1MRk1Nk=M+1Hk2P+k=1MRk1Nk=M+1Hk2modPmodP=k=1MRk1Nk=M+1Hk2modP
64 23 62 46 63 syl3anc φk=1MRk1Nk=M+1Hk2modPmodP=k=1MRk1Nk=M+1Hk2modP
65 9 prodeq2d φk=1MRk=k=1Mk2
66 65 oveq1d φk=1MRkk=M+1Hk2=k=1Mk2k=M+1Hk2
67 fzfid φ1HFin
68 elfzelz k1Hk
69 68 zcnd k1Hk
70 69 adantl φk1Hk
71 2cn 2
72 71 a1i φk1H2
73 67 70 72 fprodmul φk=1Hk2=k=1Hkk=1H2
74 1 4 gausslemma2dlem0d φM0
75 74 nn0red φM
76 75 ltp1d φM<M+1
77 fzdisj M<M+11MM+1H=
78 76 77 syl φ1MM+1H=
79 1zzd φ1
80 nn0pzuz M01M+11
81 74 79 80 syl2anc φM+11
82 74 nn0zd φM
83 1 2 gausslemma2dlem0b φH
84 83 nnzd φH
85 1 4 2 gausslemma2dlem0g φMH
86 eluz2 HMMHMH
87 82 84 85 86 syl3anbrc φHM
88 fzsplit2 M+11HM1H=1MM+1H
89 81 87 88 syl2anc φ1H=1MM+1H
90 15 a1i k1H2
91 68 90 zmulcld k1Hk2
92 91 adantl φk1Hk2
93 92 zcnd φk1Hk2
94 78 89 67 93 fprodsplit φk=1Hk2=k=1Mk2k=M+1Hk2
95 nnnn0 PP0
96 95 anim1i P¬2PP0¬2P
97 43 96 syl P2P0¬2P
98 nn0oddm1d2 P0¬2PP120
99 98 biimpa P0¬2PP120
100 2 99 eqeltrid P0¬2PH0
101 1 97 100 3syl φH0
102 fprodfac H0H!=k=1Hk
103 101 102 syl φH!=k=1Hk
104 103 eqcomd φk=1Hk=H!
105 fzfi 1HFin
106 105 71 pm3.2i 1HFin2
107 fprodconst 1HFin2k=1H2=21H
108 106 107 mp1i φk=1H2=21H
109 104 108 oveq12d φk=1Hkk=1H2=H!21H
110 hashfz1 H01H=H
111 101 110 syl φ1H=H
112 111 oveq2d φ21H=2H
113 112 oveq2d φH!21H=H!2H
114 101 faccld φH!
115 114 nncnd φH!
116 2nn0 20
117 nn0expcl 20H02H0
118 117 nn0cnd 20H02H
119 116 101 118 sylancr φ2H
120 115 119 mulcomd φH!2H=2HH!
121 109 113 120 3eqtrd φk=1Hkk=1H2=2HH!
122 73 94 121 3eqtr3d φk=1Mk2k=M+1Hk2=2HH!
123 66 122 eqtrd φk=1MRkk=M+1Hk2=2HH!
124 123 oveq2d φ1Nk=1MRkk=M+1Hk2=1N2HH!
125 23 zcnd φk=1MRk
126 56 recnd φ1N
127 60 zcnd φk=M+1Hk2
128 125 126 127 mul12d φk=1MRk1Nk=M+1Hk2=1Nk=1MRkk=M+1Hk2
129 126 119 115 mulassd φ1N2HH!=1N2HH!
130 124 128 129 3eqtr4d φk=1MRk1Nk=M+1Hk2=1N2HH!
131 130 oveq1d φk=1MRk1Nk=M+1Hk2modP=1N2HH!modP
132 52 64 131 3eqtrd φk=1MRkk=M+1HRkmodPmodP=1N2HH!modP
133 7 49 132 3eqtrd φH!modP=1N2HH!modP