Metamath Proof Explorer


Theorem lgsqrlem1

Description: Lemma for lgsqr . (Contributed by Mario Carneiro, 15-Jun-2015)

Ref Expression
Hypotheses lgsqr.y 𝑌 = ( ℤ/nℤ ‘ 𝑃 )
lgsqr.s 𝑆 = ( Poly1𝑌 )
lgsqr.b 𝐵 = ( Base ‘ 𝑆 )
lgsqr.d 𝐷 = ( deg1𝑌 )
lgsqr.o 𝑂 = ( eval1𝑌 )
lgsqr.e = ( .g ‘ ( mulGrp ‘ 𝑆 ) )
lgsqr.x 𝑋 = ( var1𝑌 )
lgsqr.m = ( -g𝑆 )
lgsqr.u 1 = ( 1r𝑆 )
lgsqr.t 𝑇 = ( ( ( ( 𝑃 − 1 ) / 2 ) 𝑋 ) 1 )
lgsqr.l 𝐿 = ( ℤRHom ‘ 𝑌 )
lgsqr.1 ( 𝜑𝑃 ∈ ( ℙ ∖ { 2 } ) )
lgsqrlem1.3 ( 𝜑𝐴 ∈ ℤ )
lgsqrlem1.4 ( 𝜑 → ( ( 𝐴 ↑ ( ( 𝑃 − 1 ) / 2 ) ) mod 𝑃 ) = ( 1 mod 𝑃 ) )
Assertion lgsqrlem1 ( 𝜑 → ( ( 𝑂𝑇 ) ‘ ( 𝐿𝐴 ) ) = ( 0g𝑌 ) )

Proof

Step Hyp Ref Expression
1 lgsqr.y 𝑌 = ( ℤ/nℤ ‘ 𝑃 )
2 lgsqr.s 𝑆 = ( Poly1𝑌 )
3 lgsqr.b 𝐵 = ( Base ‘ 𝑆 )
4 lgsqr.d 𝐷 = ( deg1𝑌 )
5 lgsqr.o 𝑂 = ( eval1𝑌 )
6 lgsqr.e = ( .g ‘ ( mulGrp ‘ 𝑆 ) )
7 lgsqr.x 𝑋 = ( var1𝑌 )
8 lgsqr.m = ( -g𝑆 )
9 lgsqr.u 1 = ( 1r𝑆 )
10 lgsqr.t 𝑇 = ( ( ( ( 𝑃 − 1 ) / 2 ) 𝑋 ) 1 )
11 lgsqr.l 𝐿 = ( ℤRHom ‘ 𝑌 )
12 lgsqr.1 ( 𝜑𝑃 ∈ ( ℙ ∖ { 2 } ) )
13 lgsqrlem1.3 ( 𝜑𝐴 ∈ ℤ )
14 lgsqrlem1.4 ( 𝜑 → ( ( 𝐴 ↑ ( ( 𝑃 − 1 ) / 2 ) ) mod 𝑃 ) = ( 1 mod 𝑃 ) )
15 10 fveq2i ( 𝑂𝑇 ) = ( 𝑂 ‘ ( ( ( ( 𝑃 − 1 ) / 2 ) 𝑋 ) 1 ) )
16 15 fveq1i ( ( 𝑂𝑇 ) ‘ ( 𝐿𝐴 ) ) = ( ( 𝑂 ‘ ( ( ( ( 𝑃 − 1 ) / 2 ) 𝑋 ) 1 ) ) ‘ ( 𝐿𝐴 ) )
17 eqid ( Base ‘ 𝑌 ) = ( Base ‘ 𝑌 )
18 12 eldifad ( 𝜑𝑃 ∈ ℙ )
19 1 znfld ( 𝑃 ∈ ℙ → 𝑌 ∈ Field )
20 18 19 syl ( 𝜑𝑌 ∈ Field )
21 fldidom ( 𝑌 ∈ Field → 𝑌 ∈ IDomn )
22 20 21 syl ( 𝜑𝑌 ∈ IDomn )
23 isidom ( 𝑌 ∈ IDomn ↔ ( 𝑌 ∈ CRing ∧ 𝑌 ∈ Domn ) )
24 23 simplbi ( 𝑌 ∈ IDomn → 𝑌 ∈ CRing )
25 22 24 syl ( 𝜑𝑌 ∈ CRing )
26 crngring ( 𝑌 ∈ CRing → 𝑌 ∈ Ring )
27 25 26 syl ( 𝜑𝑌 ∈ Ring )
28 11 zrhrhm ( 𝑌 ∈ Ring → 𝐿 ∈ ( ℤring RingHom 𝑌 ) )
29 27 28 syl ( 𝜑𝐿 ∈ ( ℤring RingHom 𝑌 ) )
30 zringbas ℤ = ( Base ‘ ℤring )
31 30 17 rhmf ( 𝐿 ∈ ( ℤring RingHom 𝑌 ) → 𝐿 : ℤ ⟶ ( Base ‘ 𝑌 ) )
32 29 31 syl ( 𝜑𝐿 : ℤ ⟶ ( Base ‘ 𝑌 ) )
33 32 13 ffvelrnd ( 𝜑 → ( 𝐿𝐴 ) ∈ ( Base ‘ 𝑌 ) )
34 5 7 17 2 3 25 33 evl1vard ( 𝜑 → ( 𝑋𝐵 ∧ ( ( 𝑂𝑋 ) ‘ ( 𝐿𝐴 ) ) = ( 𝐿𝐴 ) ) )
35 eqid ( .g ‘ ( mulGrp ‘ 𝑌 ) ) = ( .g ‘ ( mulGrp ‘ 𝑌 ) )
36 oddprm ( 𝑃 ∈ ( ℙ ∖ { 2 } ) → ( ( 𝑃 − 1 ) / 2 ) ∈ ℕ )
37 12 36 syl ( 𝜑 → ( ( 𝑃 − 1 ) / 2 ) ∈ ℕ )
38 37 nnnn0d ( 𝜑 → ( ( 𝑃 − 1 ) / 2 ) ∈ ℕ0 )
39 5 2 17 3 25 33 34 6 35 38 evl1expd ( 𝜑 → ( ( ( ( 𝑃 − 1 ) / 2 ) 𝑋 ) ∈ 𝐵 ∧ ( ( 𝑂 ‘ ( ( ( 𝑃 − 1 ) / 2 ) 𝑋 ) ) ‘ ( 𝐿𝐴 ) ) = ( ( ( 𝑃 − 1 ) / 2 ) ( .g ‘ ( mulGrp ‘ 𝑌 ) ) ( 𝐿𝐴 ) ) ) )
40 zringmpg ( ( mulGrp ‘ ℂfld ) ↾s ℤ ) = ( mulGrp ‘ ℤring )
41 eqid ( mulGrp ‘ 𝑌 ) = ( mulGrp ‘ 𝑌 )
42 40 41 rhmmhm ( 𝐿 ∈ ( ℤring RingHom 𝑌 ) → 𝐿 ∈ ( ( ( mulGrp ‘ ℂfld ) ↾s ℤ ) MndHom ( mulGrp ‘ 𝑌 ) ) )
43 29 42 syl ( 𝜑𝐿 ∈ ( ( ( mulGrp ‘ ℂfld ) ↾s ℤ ) MndHom ( mulGrp ‘ 𝑌 ) ) )
44 40 30 mgpbas ℤ = ( Base ‘ ( ( mulGrp ‘ ℂfld ) ↾s ℤ ) )
45 eqid ( .g ‘ ( ( mulGrp ‘ ℂfld ) ↾s ℤ ) ) = ( .g ‘ ( ( mulGrp ‘ ℂfld ) ↾s ℤ ) )
46 44 45 35 mhmmulg ( ( 𝐿 ∈ ( ( ( mulGrp ‘ ℂfld ) ↾s ℤ ) MndHom ( mulGrp ‘ 𝑌 ) ) ∧ ( ( 𝑃 − 1 ) / 2 ) ∈ ℕ0𝐴 ∈ ℤ ) → ( 𝐿 ‘ ( ( ( 𝑃 − 1 ) / 2 ) ( .g ‘ ( ( mulGrp ‘ ℂfld ) ↾s ℤ ) ) 𝐴 ) ) = ( ( ( 𝑃 − 1 ) / 2 ) ( .g ‘ ( mulGrp ‘ 𝑌 ) ) ( 𝐿𝐴 ) ) )
47 43 38 13 46 syl3anc ( 𝜑 → ( 𝐿 ‘ ( ( ( 𝑃 − 1 ) / 2 ) ( .g ‘ ( ( mulGrp ‘ ℂfld ) ↾s ℤ ) ) 𝐴 ) ) = ( ( ( 𝑃 − 1 ) / 2 ) ( .g ‘ ( mulGrp ‘ 𝑌 ) ) ( 𝐿𝐴 ) ) )
48 zsubrg ℤ ∈ ( SubRing ‘ ℂfld )
49 eqid ( mulGrp ‘ ℂfld ) = ( mulGrp ‘ ℂfld )
50 49 subrgsubm ( ℤ ∈ ( SubRing ‘ ℂfld ) → ℤ ∈ ( SubMnd ‘ ( mulGrp ‘ ℂfld ) ) )
51 48 50 mp1i ( 𝜑 → ℤ ∈ ( SubMnd ‘ ( mulGrp ‘ ℂfld ) ) )
52 eqid ( .g ‘ ( mulGrp ‘ ℂfld ) ) = ( .g ‘ ( mulGrp ‘ ℂfld ) )
53 eqid ( ( mulGrp ‘ ℂfld ) ↾s ℤ ) = ( ( mulGrp ‘ ℂfld ) ↾s ℤ )
54 52 53 45 submmulg ( ( ℤ ∈ ( SubMnd ‘ ( mulGrp ‘ ℂfld ) ) ∧ ( ( 𝑃 − 1 ) / 2 ) ∈ ℕ0𝐴 ∈ ℤ ) → ( ( ( 𝑃 − 1 ) / 2 ) ( .g ‘ ( mulGrp ‘ ℂfld ) ) 𝐴 ) = ( ( ( 𝑃 − 1 ) / 2 ) ( .g ‘ ( ( mulGrp ‘ ℂfld ) ↾s ℤ ) ) 𝐴 ) )
55 51 38 13 54 syl3anc ( 𝜑 → ( ( ( 𝑃 − 1 ) / 2 ) ( .g ‘ ( mulGrp ‘ ℂfld ) ) 𝐴 ) = ( ( ( 𝑃 − 1 ) / 2 ) ( .g ‘ ( ( mulGrp ‘ ℂfld ) ↾s ℤ ) ) 𝐴 ) )
56 13 zcnd ( 𝜑𝐴 ∈ ℂ )
57 cnfldexp ( ( 𝐴 ∈ ℂ ∧ ( ( 𝑃 − 1 ) / 2 ) ∈ ℕ0 ) → ( ( ( 𝑃 − 1 ) / 2 ) ( .g ‘ ( mulGrp ‘ ℂfld ) ) 𝐴 ) = ( 𝐴 ↑ ( ( 𝑃 − 1 ) / 2 ) ) )
58 56 38 57 syl2anc ( 𝜑 → ( ( ( 𝑃 − 1 ) / 2 ) ( .g ‘ ( mulGrp ‘ ℂfld ) ) 𝐴 ) = ( 𝐴 ↑ ( ( 𝑃 − 1 ) / 2 ) ) )
59 55 58 eqtr3d ( 𝜑 → ( ( ( 𝑃 − 1 ) / 2 ) ( .g ‘ ( ( mulGrp ‘ ℂfld ) ↾s ℤ ) ) 𝐴 ) = ( 𝐴 ↑ ( ( 𝑃 − 1 ) / 2 ) ) )
60 59 fveq2d ( 𝜑 → ( 𝐿 ‘ ( ( ( 𝑃 − 1 ) / 2 ) ( .g ‘ ( ( mulGrp ‘ ℂfld ) ↾s ℤ ) ) 𝐴 ) ) = ( 𝐿 ‘ ( 𝐴 ↑ ( ( 𝑃 − 1 ) / 2 ) ) ) )
61 prmnn ( 𝑃 ∈ ℙ → 𝑃 ∈ ℕ )
62 18 61 syl ( 𝜑𝑃 ∈ ℕ )
63 zexpcl ( ( 𝐴 ∈ ℤ ∧ ( ( 𝑃 − 1 ) / 2 ) ∈ ℕ0 ) → ( 𝐴 ↑ ( ( 𝑃 − 1 ) / 2 ) ) ∈ ℤ )
64 13 38 63 syl2anc ( 𝜑 → ( 𝐴 ↑ ( ( 𝑃 − 1 ) / 2 ) ) ∈ ℤ )
65 1zzd ( 𝜑 → 1 ∈ ℤ )
66 moddvds ( ( 𝑃 ∈ ℕ ∧ ( 𝐴 ↑ ( ( 𝑃 − 1 ) / 2 ) ) ∈ ℤ ∧ 1 ∈ ℤ ) → ( ( ( 𝐴 ↑ ( ( 𝑃 − 1 ) / 2 ) ) mod 𝑃 ) = ( 1 mod 𝑃 ) ↔ 𝑃 ∥ ( ( 𝐴 ↑ ( ( 𝑃 − 1 ) / 2 ) ) − 1 ) ) )
67 62 64 65 66 syl3anc ( 𝜑 → ( ( ( 𝐴 ↑ ( ( 𝑃 − 1 ) / 2 ) ) mod 𝑃 ) = ( 1 mod 𝑃 ) ↔ 𝑃 ∥ ( ( 𝐴 ↑ ( ( 𝑃 − 1 ) / 2 ) ) − 1 ) ) )
68 14 67 mpbid ( 𝜑𝑃 ∥ ( ( 𝐴 ↑ ( ( 𝑃 − 1 ) / 2 ) ) − 1 ) )
69 62 nnnn0d ( 𝜑𝑃 ∈ ℕ0 )
70 1 11 zndvds ( ( 𝑃 ∈ ℕ0 ∧ ( 𝐴 ↑ ( ( 𝑃 − 1 ) / 2 ) ) ∈ ℤ ∧ 1 ∈ ℤ ) → ( ( 𝐿 ‘ ( 𝐴 ↑ ( ( 𝑃 − 1 ) / 2 ) ) ) = ( 𝐿 ‘ 1 ) ↔ 𝑃 ∥ ( ( 𝐴 ↑ ( ( 𝑃 − 1 ) / 2 ) ) − 1 ) ) )
71 69 64 65 70 syl3anc ( 𝜑 → ( ( 𝐿 ‘ ( 𝐴 ↑ ( ( 𝑃 − 1 ) / 2 ) ) ) = ( 𝐿 ‘ 1 ) ↔ 𝑃 ∥ ( ( 𝐴 ↑ ( ( 𝑃 − 1 ) / 2 ) ) − 1 ) ) )
72 68 71 mpbird ( 𝜑 → ( 𝐿 ‘ ( 𝐴 ↑ ( ( 𝑃 − 1 ) / 2 ) ) ) = ( 𝐿 ‘ 1 ) )
73 zring1 1 = ( 1r ‘ ℤring )
74 eqid ( 1r𝑌 ) = ( 1r𝑌 )
75 73 74 rhm1 ( 𝐿 ∈ ( ℤring RingHom 𝑌 ) → ( 𝐿 ‘ 1 ) = ( 1r𝑌 ) )
76 29 75 syl ( 𝜑 → ( 𝐿 ‘ 1 ) = ( 1r𝑌 ) )
77 60 72 76 3eqtrd ( 𝜑 → ( 𝐿 ‘ ( ( ( 𝑃 − 1 ) / 2 ) ( .g ‘ ( ( mulGrp ‘ ℂfld ) ↾s ℤ ) ) 𝐴 ) ) = ( 1r𝑌 ) )
78 47 77 eqtr3d ( 𝜑 → ( ( ( 𝑃 − 1 ) / 2 ) ( .g ‘ ( mulGrp ‘ 𝑌 ) ) ( 𝐿𝐴 ) ) = ( 1r𝑌 ) )
79 78 eqeq2d ( 𝜑 → ( ( ( 𝑂 ‘ ( ( ( 𝑃 − 1 ) / 2 ) 𝑋 ) ) ‘ ( 𝐿𝐴 ) ) = ( ( ( 𝑃 − 1 ) / 2 ) ( .g ‘ ( mulGrp ‘ 𝑌 ) ) ( 𝐿𝐴 ) ) ↔ ( ( 𝑂 ‘ ( ( ( 𝑃 − 1 ) / 2 ) 𝑋 ) ) ‘ ( 𝐿𝐴 ) ) = ( 1r𝑌 ) ) )
80 79 anbi2d ( 𝜑 → ( ( ( ( ( 𝑃 − 1 ) / 2 ) 𝑋 ) ∈ 𝐵 ∧ ( ( 𝑂 ‘ ( ( ( 𝑃 − 1 ) / 2 ) 𝑋 ) ) ‘ ( 𝐿𝐴 ) ) = ( ( ( 𝑃 − 1 ) / 2 ) ( .g ‘ ( mulGrp ‘ 𝑌 ) ) ( 𝐿𝐴 ) ) ) ↔ ( ( ( ( 𝑃 − 1 ) / 2 ) 𝑋 ) ∈ 𝐵 ∧ ( ( 𝑂 ‘ ( ( ( 𝑃 − 1 ) / 2 ) 𝑋 ) ) ‘ ( 𝐿𝐴 ) ) = ( 1r𝑌 ) ) ) )
81 39 80 mpbid ( 𝜑 → ( ( ( ( 𝑃 − 1 ) / 2 ) 𝑋 ) ∈ 𝐵 ∧ ( ( 𝑂 ‘ ( ( ( 𝑃 − 1 ) / 2 ) 𝑋 ) ) ‘ ( 𝐿𝐴 ) ) = ( 1r𝑌 ) ) )
82 eqid ( algSc ‘ 𝑆 ) = ( algSc ‘ 𝑆 )
83 17 74 ringidcl ( 𝑌 ∈ Ring → ( 1r𝑌 ) ∈ ( Base ‘ 𝑌 ) )
84 27 83 syl ( 𝜑 → ( 1r𝑌 ) ∈ ( Base ‘ 𝑌 ) )
85 5 2 17 82 3 25 84 33 evl1scad ( 𝜑 → ( ( ( algSc ‘ 𝑆 ) ‘ ( 1r𝑌 ) ) ∈ 𝐵 ∧ ( ( 𝑂 ‘ ( ( algSc ‘ 𝑆 ) ‘ ( 1r𝑌 ) ) ) ‘ ( 𝐿𝐴 ) ) = ( 1r𝑌 ) ) )
86 2 82 74 9 ply1scl1 ( 𝑌 ∈ Ring → ( ( algSc ‘ 𝑆 ) ‘ ( 1r𝑌 ) ) = 1 )
87 27 86 syl ( 𝜑 → ( ( algSc ‘ 𝑆 ) ‘ ( 1r𝑌 ) ) = 1 )
88 87 eleq1d ( 𝜑 → ( ( ( algSc ‘ 𝑆 ) ‘ ( 1r𝑌 ) ) ∈ 𝐵1𝐵 ) )
89 87 fveq2d ( 𝜑 → ( 𝑂 ‘ ( ( algSc ‘ 𝑆 ) ‘ ( 1r𝑌 ) ) ) = ( 𝑂1 ) )
90 89 fveq1d ( 𝜑 → ( ( 𝑂 ‘ ( ( algSc ‘ 𝑆 ) ‘ ( 1r𝑌 ) ) ) ‘ ( 𝐿𝐴 ) ) = ( ( 𝑂1 ) ‘ ( 𝐿𝐴 ) ) )
91 90 eqeq1d ( 𝜑 → ( ( ( 𝑂 ‘ ( ( algSc ‘ 𝑆 ) ‘ ( 1r𝑌 ) ) ) ‘ ( 𝐿𝐴 ) ) = ( 1r𝑌 ) ↔ ( ( 𝑂1 ) ‘ ( 𝐿𝐴 ) ) = ( 1r𝑌 ) ) )
92 88 91 anbi12d ( 𝜑 → ( ( ( ( algSc ‘ 𝑆 ) ‘ ( 1r𝑌 ) ) ∈ 𝐵 ∧ ( ( 𝑂 ‘ ( ( algSc ‘ 𝑆 ) ‘ ( 1r𝑌 ) ) ) ‘ ( 𝐿𝐴 ) ) = ( 1r𝑌 ) ) ↔ ( 1𝐵 ∧ ( ( 𝑂1 ) ‘ ( 𝐿𝐴 ) ) = ( 1r𝑌 ) ) ) )
93 85 92 mpbid ( 𝜑 → ( 1𝐵 ∧ ( ( 𝑂1 ) ‘ ( 𝐿𝐴 ) ) = ( 1r𝑌 ) ) )
94 eqid ( -g𝑌 ) = ( -g𝑌 )
95 5 2 17 3 25 33 81 93 8 94 evl1subd ( 𝜑 → ( ( ( ( ( 𝑃 − 1 ) / 2 ) 𝑋 ) 1 ) ∈ 𝐵 ∧ ( ( 𝑂 ‘ ( ( ( ( 𝑃 − 1 ) / 2 ) 𝑋 ) 1 ) ) ‘ ( 𝐿𝐴 ) ) = ( ( 1r𝑌 ) ( -g𝑌 ) ( 1r𝑌 ) ) ) )
96 95 simprd ( 𝜑 → ( ( 𝑂 ‘ ( ( ( ( 𝑃 − 1 ) / 2 ) 𝑋 ) 1 ) ) ‘ ( 𝐿𝐴 ) ) = ( ( 1r𝑌 ) ( -g𝑌 ) ( 1r𝑌 ) ) )
97 16 96 eqtrid ( 𝜑 → ( ( 𝑂𝑇 ) ‘ ( 𝐿𝐴 ) ) = ( ( 1r𝑌 ) ( -g𝑌 ) ( 1r𝑌 ) ) )
98 ringgrp ( 𝑌 ∈ Ring → 𝑌 ∈ Grp )
99 27 98 syl ( 𝜑𝑌 ∈ Grp )
100 eqid ( 0g𝑌 ) = ( 0g𝑌 )
101 17 100 94 grpsubid ( ( 𝑌 ∈ Grp ∧ ( 1r𝑌 ) ∈ ( Base ‘ 𝑌 ) ) → ( ( 1r𝑌 ) ( -g𝑌 ) ( 1r𝑌 ) ) = ( 0g𝑌 ) )
102 99 84 101 syl2anc ( 𝜑 → ( ( 1r𝑌 ) ( -g𝑌 ) ( 1r𝑌 ) ) = ( 0g𝑌 ) )
103 97 102 eqtrd ( 𝜑 → ( ( 𝑂𝑇 ) ‘ ( 𝐿𝐴 ) ) = ( 0g𝑌 ) )