| Step |
Hyp |
Ref |
Expression |
| 0 |
|
cgf |
⊢ GF |
| 1 |
|
vp |
⊢ 𝑝 |
| 2 |
|
cprime |
⊢ ℙ |
| 3 |
|
vn |
⊢ 𝑛 |
| 4 |
|
cn |
⊢ ℕ |
| 5 |
|
czn |
⊢ ℤ/nℤ |
| 6 |
1
|
cv |
⊢ 𝑝 |
| 7 |
6 5
|
cfv |
⊢ ( ℤ/nℤ ‘ 𝑝 ) |
| 8 |
|
vr |
⊢ 𝑟 |
| 9 |
|
c1st |
⊢ 1st |
| 10 |
8
|
cv |
⊢ 𝑟 |
| 11 |
|
csf |
⊢ splitFld |
| 12 |
|
cpl1 |
⊢ Poly1 |
| 13 |
10 12
|
cfv |
⊢ ( Poly1 ‘ 𝑟 ) |
| 14 |
|
vs |
⊢ 𝑠 |
| 15 |
|
cv1 |
⊢ var1 |
| 16 |
10 15
|
cfv |
⊢ ( var1 ‘ 𝑟 ) |
| 17 |
|
vx |
⊢ 𝑥 |
| 18 |
|
cexp |
⊢ ↑ |
| 19 |
3
|
cv |
⊢ 𝑛 |
| 20 |
6 19 18
|
co |
⊢ ( 𝑝 ↑ 𝑛 ) |
| 21 |
|
cmg |
⊢ .g |
| 22 |
|
cmgp |
⊢ mulGrp |
| 23 |
14
|
cv |
⊢ 𝑠 |
| 24 |
23 22
|
cfv |
⊢ ( mulGrp ‘ 𝑠 ) |
| 25 |
24 21
|
cfv |
⊢ ( .g ‘ ( mulGrp ‘ 𝑠 ) ) |
| 26 |
17
|
cv |
⊢ 𝑥 |
| 27 |
20 26 25
|
co |
⊢ ( ( 𝑝 ↑ 𝑛 ) ( .g ‘ ( mulGrp ‘ 𝑠 ) ) 𝑥 ) |
| 28 |
|
csg |
⊢ -g |
| 29 |
23 28
|
cfv |
⊢ ( -g ‘ 𝑠 ) |
| 30 |
27 26 29
|
co |
⊢ ( ( ( 𝑝 ↑ 𝑛 ) ( .g ‘ ( mulGrp ‘ 𝑠 ) ) 𝑥 ) ( -g ‘ 𝑠 ) 𝑥 ) |
| 31 |
17 16 30
|
csb |
⊢ ⦋ ( var1 ‘ 𝑟 ) / 𝑥 ⦌ ( ( ( 𝑝 ↑ 𝑛 ) ( .g ‘ ( mulGrp ‘ 𝑠 ) ) 𝑥 ) ( -g ‘ 𝑠 ) 𝑥 ) |
| 32 |
14 13 31
|
csb |
⊢ ⦋ ( Poly1 ‘ 𝑟 ) / 𝑠 ⦌ ⦋ ( var1 ‘ 𝑟 ) / 𝑥 ⦌ ( ( ( 𝑝 ↑ 𝑛 ) ( .g ‘ ( mulGrp ‘ 𝑠 ) ) 𝑥 ) ( -g ‘ 𝑠 ) 𝑥 ) |
| 33 |
32
|
csn |
⊢ { ⦋ ( Poly1 ‘ 𝑟 ) / 𝑠 ⦌ ⦋ ( var1 ‘ 𝑟 ) / 𝑥 ⦌ ( ( ( 𝑝 ↑ 𝑛 ) ( .g ‘ ( mulGrp ‘ 𝑠 ) ) 𝑥 ) ( -g ‘ 𝑠 ) 𝑥 ) } |
| 34 |
10 33 11
|
co |
⊢ ( 𝑟 splitFld { ⦋ ( Poly1 ‘ 𝑟 ) / 𝑠 ⦌ ⦋ ( var1 ‘ 𝑟 ) / 𝑥 ⦌ ( ( ( 𝑝 ↑ 𝑛 ) ( .g ‘ ( mulGrp ‘ 𝑠 ) ) 𝑥 ) ( -g ‘ 𝑠 ) 𝑥 ) } ) |
| 35 |
34 9
|
cfv |
⊢ ( 1st ‘ ( 𝑟 splitFld { ⦋ ( Poly1 ‘ 𝑟 ) / 𝑠 ⦌ ⦋ ( var1 ‘ 𝑟 ) / 𝑥 ⦌ ( ( ( 𝑝 ↑ 𝑛 ) ( .g ‘ ( mulGrp ‘ 𝑠 ) ) 𝑥 ) ( -g ‘ 𝑠 ) 𝑥 ) } ) ) |
| 36 |
8 7 35
|
csb |
⊢ ⦋ ( ℤ/nℤ ‘ 𝑝 ) / 𝑟 ⦌ ( 1st ‘ ( 𝑟 splitFld { ⦋ ( Poly1 ‘ 𝑟 ) / 𝑠 ⦌ ⦋ ( var1 ‘ 𝑟 ) / 𝑥 ⦌ ( ( ( 𝑝 ↑ 𝑛 ) ( .g ‘ ( mulGrp ‘ 𝑠 ) ) 𝑥 ) ( -g ‘ 𝑠 ) 𝑥 ) } ) ) |
| 37 |
1 3 2 4 36
|
cmpo |
⊢ ( 𝑝 ∈ ℙ , 𝑛 ∈ ℕ ↦ ⦋ ( ℤ/nℤ ‘ 𝑝 ) / 𝑟 ⦌ ( 1st ‘ ( 𝑟 splitFld { ⦋ ( Poly1 ‘ 𝑟 ) / 𝑠 ⦌ ⦋ ( var1 ‘ 𝑟 ) / 𝑥 ⦌ ( ( ( 𝑝 ↑ 𝑛 ) ( .g ‘ ( mulGrp ‘ 𝑠 ) ) 𝑥 ) ( -g ‘ 𝑠 ) 𝑥 ) } ) ) ) |
| 38 |
0 37
|
wceq |
⊢ GF = ( 𝑝 ∈ ℙ , 𝑛 ∈ ℕ ↦ ⦋ ( ℤ/nℤ ‘ 𝑝 ) / 𝑟 ⦌ ( 1st ‘ ( 𝑟 splitFld { ⦋ ( Poly1 ‘ 𝑟 ) / 𝑠 ⦌ ⦋ ( var1 ‘ 𝑟 ) / 𝑥 ⦌ ( ( ( 𝑝 ↑ 𝑛 ) ( .g ‘ ( mulGrp ‘ 𝑠 ) ) 𝑥 ) ( -g ‘ 𝑠 ) 𝑥 ) } ) ) ) |