Users' Mathboxes Mathbox for Mario Carneiro < Previous   Next >
Nearby theorems
Mirrors  >  Home  >  MPE Home  >  Th. List  >   Mathboxes  >  df-sfl1 Structured version   Visualization version   GIF version

Definition df-sfl1 36589
Description: Temporary construction for the splitting field of a polynomial. The inputs are a field 𝑟 and a polynomial 𝑝 that we want to split, along with a tuple 𝑗 in the same format as the output. The output is a tuple ⟨𝑆, 𝐹⟩ where 𝑆 is the splitting field and 𝐹 is an injective homomorphism from the original field 𝑟.

The function works by repeatedly finding the smallest monic irreducible factor, and extending the field by that factor using the polyFld construction. We keep track of a total order in each of the splitting fields so that we can pick an element definably without needing global choice. (Contributed by Mario Carneiro, 2-Dec-2014.)

Assertion
Ref Expression
df-sfl1 splitFld1 = (𝑟 ∈ V, 𝑗 ∈ V ↦ (𝑝 ∈ (Poly1‘𝑟) ↦ (rec((𝑠 ∈ V, 𝑓 ∈ V ↦ ⦋(Poly1‘𝑠) / 𝑚⦌⦋{𝑔 ∈ ((Monic1p‘𝑠) ∩ (Irred‘𝑚)) ∣ (𝑔(∥r‘𝑚)(𝑝 ∘ 𝑓) ∧ 1 < (𝑠deg1𝑔))} / 𝑏⦌if(((𝑝 ∘ 𝑓) = (0g‘𝑚) ∨ 𝑏 = ∅), ⟨𝑠, 𝑓⟩, ⦋(glb‘𝑏) / ℎ⦌⦋(𝑠 polyFld ℎ) / 𝑡⦌⟨(1st ‘𝑡), (𝑓 ∘ (2nd ‘𝑡))⟩)), 𝑗)‘(card‘(1...(𝑟deg1𝑝))))))
Distinct variable group:   𝑓,𝑏,𝑔,ℎ,𝑗,𝑚,𝑝,𝑟,𝑠,𝑡

Detailed syntax breakdown of Definition df-sfl1
StepHypRef Expression
1 csf1 36576 . 2 class splitFld1
2 vr . . 3 setvar 𝑟
3 vj . . 3 setvar 𝑗
4 cvv 3454 . . 3 class V
5 vp . . . 4 setvar 𝑝
62cv 1569 . . . . 5 class 𝑟
7 cpl1 22528 . . . . 5 class Poly1
86, 7cfv 6561 . . . 4 class (Poly1‘𝑟)
9 c1 11231 . . . . . . 7 class 1
105cv 1569 . . . . . . . 8 class 𝑝
11 cdg1 26405 . . . . . . . 8 class deg1
126, 10, 11co 7446 . . . . . . 7 class (𝑟deg1𝑝)
13 cfz 13669 . . . . . . 7 class ...
149, 12, 13co 7446 . . . . . 6 class (1...(𝑟deg1𝑝))
15 ccrd 10046 . . . . . 6 class card
1614, 15cfv 6561 . . . . 5 class (card‘(1...(𝑟deg1𝑝)))
17 vs . . . . . . 7 setvar 𝑠
18 vf . . . . . . 7 setvar 𝑓
19 vm . . . . . . . 8 setvar 𝑚
2017cv 1569 . . . . . . . . 9 class 𝑠
2120, 7cfv 6561 . . . . . . . 8 class (Poly1‘𝑠)
22 vb . . . . . . . . 9 setvar 𝑏
23 vg . . . . . . . . . . . . 13 setvar 𝑔
2423cv 1569 . . . . . . . . . . . 12 class 𝑔
2518cv 1569 . . . . . . . . . . . . 13 class 𝑓
2610, 25ccom 5660 . . . . . . . . . . . 12 class (𝑝 ∘ 𝑓)
2719cv 1569 . . . . . . . . . . . . 13 class 𝑚
28 cdsr 20617 . . . . . . . . . . . . 13 class ∥r
2927, 28cfv 6561 . . . . . . . . . . . 12 class (∥r‘𝑚)
3024, 26, 29wbr 5106 . . . . . . . . . . 11 wff 𝑔(∥r‘𝑚)(𝑝 ∘ 𝑓)
3120, 24, 11co 7446 . . . . . . . . . . . 12 class (𝑠deg1𝑔)
32 clt 11373 . . . . . . . . . . . 12 class <
339, 31, 32wbr 5106 . . . . . . . . . . 11 wff 1 < (𝑠deg1𝑔)
3430, 33wa 401 . . . . . . . . . 10 wff (𝑔(∥r‘𝑚)(𝑝 ∘ 𝑓) ∧ 1 < (𝑠deg1𝑔))
35 cmn1 26477 . . . . . . . . . . . 12 class Monic1p
3620, 35cfv 6561 . . . . . . . . . . 11 class (Monic1p‘𝑠)
37 cir 20619 . . . . . . . . . . . 12 class Irred
3827, 37cfv 6561 . . . . . . . . . . 11 class (Irred‘𝑚)
3936, 38cin 4092 . . . . . . . . . 10 class ((Monic1p‘𝑠) ∩ (Irred‘𝑚))
4034, 23, 39crab 3416 . . . . . . . . 9 class {𝑔 ∈ ((Monic1p‘𝑠) ∩ (Irred‘𝑚)) ∣ (𝑔(∥r‘𝑚)(𝑝 ∘ 𝑓) ∧ 1 < (𝑠deg1𝑔))}
41 c0g 17642 . . . . . . . . . . . . 13 class 0g
4227, 41cfv 6561 . . . . . . . . . . . 12 class (0g‘𝑚)
4326, 42wceq 1570 . . . . . . . . . . 11 wff (𝑝 ∘ 𝑓) = (0g‘𝑚)
4422cv 1569 . . . . . . . . . . . 12 class 𝑏
45 c0 4281 . . . . . . . . . . . 12 class ∅
4644, 45wceq 1570 . . . . . . . . . . 11 wff 𝑏 = ∅
4743, 46wo 861 . . . . . . . . . 10 wff ((𝑝 ∘ 𝑓) = (0g‘𝑚) ∨ 𝑏 = ∅)
4820, 25cop 4838 . . . . . . . . . 10 class ⟨𝑠, 𝑓⟩
49 vh . . . . . . . . . . 11 setvar ℎ
50 cglb 18516 . . . . . . . . . . . 12 class glb
5144, 50cfv 6561 . . . . . . . . . . 11 class (glb‘𝑏)
52 vt . . . . . . . . . . . 12 setvar 𝑡
5349cv 1569 . . . . . . . . . . . . 13 class ℎ
54 cpfl 36575 . . . . . . . . . . . . 13 class polyFld
5520, 53, 54co 7446 . . . . . . . . . . . 12 class (𝑠 polyFld ℎ)
5652cv 1569 . . . . . . . . . . . . . 14 class 𝑡
57 c1st 8026 . . . . . . . . . . . . . 14 class 1st
5856, 57cfv 6561 . . . . . . . . . . . . 13 class (1st ‘𝑡)
59 c2nd 8027 . . . . . . . . . . . . . . 15 class 2nd
6056, 59cfv 6561 . . . . . . . . . . . . . 14 class (2nd ‘𝑡)
6125, 60ccom 5660 . . . . . . . . . . . . 13 class (𝑓 ∘ (2nd ‘𝑡))
6258, 61cop 4838 . . . . . . . . . . . 12 class ⟨(1st ‘𝑡), (𝑓 ∘ (2nd ‘𝑡))⟩
6352, 55, 62csb 3851 . . . . . . . . . . 11 class ⦋(𝑠 polyFld ℎ) / 𝑡⦌⟨(1st ‘𝑡), (𝑓 ∘ (2nd ‘𝑡))⟩
6449, 51, 63csb 3851 . . . . . . . . . 10 class ⦋(glb‘𝑏) / ℎ⦌⦋(𝑠 polyFld ℎ) / 𝑡⦌⟨(1st ‘𝑡), (𝑓 ∘ (2nd ‘𝑡))⟩
6547, 48, 64cif 4485 . . . . . . . . 9 class if(((𝑝 ∘ 𝑓) = (0g‘𝑚) ∨ 𝑏 = ∅), ⟨𝑠, 𝑓⟩, ⦋(glb‘𝑏) / ℎ⦌⦋(𝑠 polyFld ℎ) / 𝑡⦌⟨(1st ‘𝑡), (𝑓 ∘ (2nd ‘𝑡))⟩)
6622, 40, 65csb 3851 . . . . . . . 8 class ⦋{𝑔 ∈ ((Monic1p‘𝑠) ∩ (Irred‘𝑚)) ∣ (𝑔(∥r‘𝑚)(𝑝 ∘ 𝑓) ∧ 1 < (𝑠deg1𝑔))} / 𝑏⦌if(((𝑝 ∘ 𝑓) = (0g‘𝑚) ∨ 𝑏 = ∅), ⟨𝑠, 𝑓⟩, ⦋(glb‘𝑏) / ℎ⦌⦋(𝑠 polyFld ℎ) / 𝑡⦌⟨(1st ‘𝑡), (𝑓 ∘ (2nd ‘𝑡))⟩)
6719, 21, 66csb 3851 . . . . . . 7 class ⦋(Poly1‘𝑠) / 𝑚⦌⦋{𝑔 ∈ ((Monic1p‘𝑠) ∩ (Irred‘𝑚)) ∣ (𝑔(∥r‘𝑚)(𝑝 ∘ 𝑓) ∧ 1 < (𝑠deg1𝑔))} / 𝑏⦌if(((𝑝 ∘ 𝑓) = (0g‘𝑚) ∨ 𝑏 = ∅), ⟨𝑠, 𝑓⟩, ⦋(glb‘𝑏) / ℎ⦌⦋(𝑠 polyFld ℎ) / 𝑡⦌⟨(1st ‘𝑡), (𝑓 ∘ (2nd ‘𝑡))⟩)
6817, 18, 4, 4, 67cmpo 7448 . . . . . 6 class (𝑠 ∈ V, 𝑓 ∈ V ↦ ⦋(Poly1‘𝑠) / 𝑚⦌⦋{𝑔 ∈ ((Monic1p‘𝑠) ∩ (Irred‘𝑚)) ∣ (𝑔(∥r‘𝑚)(𝑝 ∘ 𝑓) ∧ 1 < (𝑠deg1𝑔))} / 𝑏⦌if(((𝑝 ∘ 𝑓) = (0g‘𝑚) ∨ 𝑏 = ∅), ⟨𝑠, 𝑓⟩, ⦋(glb‘𝑏) / ℎ⦌⦋(𝑠 polyFld ℎ) / 𝑡⦌⟨(1st ‘𝑡), (𝑓 ∘ (2nd ‘𝑡))⟩))
693cv 1569 . . . . . 6 class 𝑗
7068, 69crdg 8448 . . . . 5 class rec((𝑠 ∈ V, 𝑓 ∈ V ↦ ⦋(Poly1‘𝑠) / 𝑚⦌⦋{𝑔 ∈ ((Monic1p‘𝑠) ∩ (Irred‘𝑚)) ∣ (𝑔(∥r‘𝑚)(𝑝 ∘ 𝑓) ∧ 1 < (𝑠deg1𝑔))} / 𝑏⦌if(((𝑝 ∘ 𝑓) = (0g‘𝑚) ∨ 𝑏 = ∅), ⟨𝑠, 𝑓⟩, ⦋(glb‘𝑏) / ℎ⦌⦋(𝑠 polyFld ℎ) / 𝑡⦌⟨(1st ‘𝑡), (𝑓 ∘ (2nd ‘𝑡))⟩)), 𝑗)
7116, 70cfv 6561 . . . 4 class (rec((𝑠 ∈ V, 𝑓 ∈ V ↦ ⦋(Poly1‘𝑠) / 𝑚⦌⦋{𝑔 ∈ ((Monic1p‘𝑠) ∩ (Irred‘𝑚)) ∣ (𝑔(∥r‘𝑚)(𝑝 ∘ 𝑓) ∧ 1 < (𝑠deg1𝑔))} / 𝑏⦌if(((𝑝 ∘ 𝑓) = (0g‘𝑚) ∨ 𝑏 = ∅), ⟨𝑠, 𝑓⟩, ⦋(glb‘𝑏) / ℎ⦌⦋(𝑠 polyFld ℎ) / 𝑡⦌⟨(1st ‘𝑡), (𝑓 ∘ (2nd ‘𝑡))⟩)), 𝑗)‘(card‘(1...(𝑟deg1𝑝))))
725, 8, 71cmpt 5190 . . 3 class (𝑝 ∈ (Poly1‘𝑟) ↦ (rec((𝑠 ∈ V, 𝑓 ∈ V ↦ ⦋(Poly1‘𝑠) / 𝑚⦌⦋{𝑔 ∈ ((Monic1p‘𝑠) ∩ (Irred‘𝑚)) ∣ (𝑔(∥r‘𝑚)(𝑝 ∘ 𝑓) ∧ 1 < (𝑠deg1𝑔))} / 𝑏⦌if(((𝑝 ∘ 𝑓) = (0g‘𝑚) ∨ 𝑏 = ∅), ⟨𝑠, 𝑓⟩, ⦋(glb‘𝑏) / ℎ⦌⦋(𝑠 polyFld ℎ) / 𝑡⦌⟨(1st ‘𝑡), (𝑓 ∘ (2nd ‘𝑡))⟩)), 𝑗)‘(card‘(1...(𝑟deg1𝑝)))))
732, 3, 4, 4, 72cmpo 7448 . 2 class (𝑟 ∈ V, 𝑗 ∈ V ↦ (𝑝 ∈ (Poly1‘𝑟) ↦ (rec((𝑠 ∈ V, 𝑓 ∈ V ↦ ⦋(Poly1‘𝑠) / 𝑚⦌⦋{𝑔 ∈ ((Monic1p‘𝑠) ∩ (Irred‘𝑚)) ∣ (𝑔(∥r‘𝑚)(𝑝 ∘ 𝑓) ∧ 1 < (𝑠deg1𝑔))} / 𝑏⦌if(((𝑝 ∘ 𝑓) = (0g‘𝑚) ∨ 𝑏 = ∅), ⟨𝑠, 𝑓⟩, ⦋(glb‘𝑏) / ℎ⦌⦋(𝑠 polyFld ℎ) / 𝑡⦌⟨(1st ‘𝑡), (𝑓 ∘ (2nd ‘𝑡))⟩)), 𝑗)‘(card‘(1...(𝑟deg1𝑝))))))
741, 73wceq 1570 1 wff splitFld1 = (𝑟 ∈ V, 𝑗 ∈ V ↦ (𝑝 ∈ (Poly1‘𝑟) ↦ (rec((𝑠 ∈ V, 𝑓 ∈ V ↦ ⦋(Poly1‘𝑠) / 𝑚⦌⦋{𝑔 ∈ ((Monic1p‘𝑠) ∩ (Irred‘𝑚)) ∣ (𝑔(∥r‘𝑚)(𝑝 ∘ 𝑓) ∧ 1 < (𝑠deg1𝑔))} / 𝑏⦌if(((𝑝 ∘ 𝑓) = (0g‘𝑚) ∨ 𝑏 = ∅), ⟨𝑠, 𝑓⟩, ⦋(glb‘𝑏) / ℎ⦌⦋(𝑠 polyFld ℎ) / 𝑡⦌⟨(1st ‘𝑡), (𝑓 ∘ (2nd ‘𝑡))⟩)), 𝑗)‘(card‘(1...(𝑟deg1𝑝))))))
Colors of variables:    wff setvar class
This definition is used by: (None)
  Copyright terms: Public domain W3C validator