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 36378
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 36365 . 2 class splitFld1
2 vr . . 3 setvar 𝑟
3 vj . . 3 setvar 𝑗
4 cvv 3451 . . 3 class V
5 vp . . . 4 setvar 𝑝
62cv 1569 . . . . 5 class 𝑟
7 cpl1 22475 . . . . 5 class Poly1
86, 7cfv 6531 . . . 4 class (Poly1‘𝑟)
9 c1 11182 . . . . . . 7 class 1
105cv 1569 . . . . . . . 8 class 𝑝
11 cdg1 26352 . . . . . . . 8 class deg1
126, 10, 11co 7412 . . . . . . 7 class (𝑟deg1𝑝)
13 cfz 13620 . . . . . . 7 class ...
149, 12, 13co 7412 . . . . . 6 class (1...(𝑟deg1𝑝))
15 ccrd 9997 . . . . . 6 class card
1614, 15cfv 6531 . . . . 5 class (card‘(1...(𝑟deg1𝑝)))
17 vs . . . . . . 7 setvar 𝑠
18 vf . . . . . . 7 setvar 𝑓
19 vm . . . . . . . 8 setvar 𝑚
2017cv 1569 . . . . . . . . 9 class 𝑠
2120, 7cfv 6531 . . . . . . . 8 class (Poly1‘𝑠)
22 vb . . . . . . . . 9 setvar 𝑏
23 vg . . . . . . . . . . . . 13 setvar 𝑔
2423cv 1569 . . . . . . . . . . . 12 class 𝑔
2518cv 1569 . . . . . . . . . . . . 13 class 𝑓
2610, 25ccom 5655 . . . . . . . . . . . 12 class (𝑝 ∘ 𝑓)
2719cv 1569 . . . . . . . . . . . . 13 class 𝑚
28 cdsr 20564 . . . . . . . . . . . . 13 class ∥r
2927, 28cfv 6531 . . . . . . . . . . . 12 class (∥r‘𝑚)
3024, 26, 29wbr 5103 . . . . . . . . . . 11 wff 𝑔(∥r‘𝑚)(𝑝 ∘ 𝑓)
3120, 24, 11co 7412 . . . . . . . . . . . 12 class (𝑠deg1𝑔)
32 clt 11324 . . . . . . . . . . . 12 class <
339, 31, 32wbr 5103 . . . . . . . . . . 11 wff 1 < (𝑠deg1𝑔)
3430, 33wa 401 . . . . . . . . . 10 wff (𝑔(∥r‘𝑚)(𝑝 ∘ 𝑓) ∧ 1 < (𝑠deg1𝑔))
35 cmn1 26424 . . . . . . . . . . . 12 class Monic1p
3620, 35cfv 6531 . . . . . . . . . . 11 class (Monic1p‘𝑠)
37 cir 20566 . . . . . . . . . . . 12 class Irred
3827, 37cfv 6531 . . . . . . . . . . 11 class (Irred‘𝑚)
3936, 38cin 3898 . . . . . . . . . 10 class ((Monic1p‘𝑠) ∩ (Irred‘𝑚))
4034, 23, 39crab 3413 . . . . . . . . 9 class {𝑔 ∈ ((Monic1p‘𝑠) ∩ (Irred‘𝑚)) ∣ (𝑔(∥r‘𝑚)(𝑝 ∘ 𝑓) ∧ 1 < (𝑠deg1𝑔))}
41 c0g 17590 . . . . . . . . . . . . 13 class 0g
4227, 41cfv 6531 . . . . . . . . . . . 12 class (0g‘𝑚)
4326, 42wceq 1570 . . . . . . . . . . 11 wff (𝑝 ∘ 𝑓) = (0g‘𝑚)
4422cv 1569 . . . . . . . . . . . 12 class 𝑏
45 c0 4279 . . . . . . . . . . . 12 class ∅
4644, 45wceq 1570 . . . . . . . . . . 11 wff 𝑏 = ∅
4743, 46wo 861 . . . . . . . . . 10 wff ((𝑝 ∘ 𝑓) = (0g‘𝑚) ∨ 𝑏 = ∅)
4820, 25cop 4590 . . . . . . . . . 10 class ⟨𝑠, 𝑓⟩
49 vh . . . . . . . . . . 11 setvar ℎ
50 cglb 18464 . . . . . . . . . . . 12 class glb
5144, 50cfv 6531 . . . . . . . . . . 11 class (glb‘𝑏)
52 vt . . . . . . . . . . . 12 setvar 𝑡
5349cv 1569 . . . . . . . . . . . . 13 class ℎ
54 cpfl 36364 . . . . . . . . . . . . 13 class polyFld
5520, 53, 54co 7412 . . . . . . . . . . . 12 class (𝑠 polyFld ℎ)
5652cv 1569 . . . . . . . . . . . . . 14 class 𝑡
57 c1st 7988 . . . . . . . . . . . . . 14 class 1st
5856, 57cfv 6531 . . . . . . . . . . . . 13 class (1st ‘𝑡)
59 c2nd 7989 . . . . . . . . . . . . . . 15 class 2nd
6056, 59cfv 6531 . . . . . . . . . . . . . 14 class (2nd ‘𝑡)
6125, 60ccom 5655 . . . . . . . . . . . . 13 class (𝑓 ∘ (2nd ‘𝑡))
6258, 61cop 4590 . . . . . . . . . . . 12 class ⟨(1st ‘𝑡), (𝑓 ∘ (2nd ‘𝑡))⟩
6352, 55, 62csb 3847 . . . . . . . . . . 11 class ⦋(𝑠 polyFld ℎ) / 𝑡⦌⟨(1st ‘𝑡), (𝑓 ∘ (2nd ‘𝑡))⟩
6449, 51, 63csb 3847 . . . . . . . . . 10 class ⦋(glb‘𝑏) / ℎ⦌⦋(𝑠 polyFld ℎ) / 𝑡⦌⟨(1st ‘𝑡), (𝑓 ∘ (2nd ‘𝑡))⟩
6547, 48, 64cif 4482 . . . . . . . . 9 class if(((𝑝 ∘ 𝑓) = (0g‘𝑚) ∨ 𝑏 = ∅), ⟨𝑠, 𝑓⟩, ⦋(glb‘𝑏) / ℎ⦌⦋(𝑠 polyFld ℎ) / 𝑡⦌⟨(1st ‘𝑡), (𝑓 ∘ (2nd ‘𝑡))⟩)
6622, 40, 65csb 3847 . . . . . . . 8 class ⦋{𝑔 ∈ ((Monic1p‘𝑠) ∩ (Irred‘𝑚)) ∣ (𝑔(∥r‘𝑚)(𝑝 ∘ 𝑓) ∧ 1 < (𝑠deg1𝑔))} / 𝑏⦌if(((𝑝 ∘ 𝑓) = (0g‘𝑚) ∨ 𝑏 = ∅), ⟨𝑠, 𝑓⟩, ⦋(glb‘𝑏) / ℎ⦌⦋(𝑠 polyFld ℎ) / 𝑡⦌⟨(1st ‘𝑡), (𝑓 ∘ (2nd ‘𝑡))⟩)
6719, 21, 66csb 3847 . . . . . . 7 class ⦋(Poly1‘𝑠) / 𝑚⦌⦋{𝑔 ∈ ((Monic1p‘𝑠) ∩ (Irred‘𝑚)) ∣ (𝑔(∥r‘𝑚)(𝑝 ∘ 𝑓) ∧ 1 < (𝑠deg1𝑔))} / 𝑏⦌if(((𝑝 ∘ 𝑓) = (0g‘𝑚) ∨ 𝑏 = ∅), ⟨𝑠, 𝑓⟩, ⦋(glb‘𝑏) / ℎ⦌⦋(𝑠 polyFld ℎ) / 𝑡⦌⟨(1st ‘𝑡), (𝑓 ∘ (2nd ‘𝑡))⟩)
6817, 18, 4, 4, 67cmpo 7414 . . . . . 6 class (𝑠 ∈ V, 𝑓 ∈ V ↦ ⦋(Poly1‘𝑠) / 𝑚⦌⦋{𝑔 ∈ ((Monic1p‘𝑠) ∩ (Irred‘𝑚)) ∣ (𝑔(∥r‘𝑚)(𝑝 ∘ 𝑓) ∧ 1 < (𝑠deg1𝑔))} / 𝑏⦌if(((𝑝 ∘ 𝑓) = (0g‘𝑚) ∨ 𝑏 = ∅), ⟨𝑠, 𝑓⟩, ⦋(glb‘𝑏) / ℎ⦌⦋(𝑠 polyFld ℎ) / 𝑡⦌⟨(1st ‘𝑡), (𝑓 ∘ (2nd ‘𝑡))⟩))
693cv 1569 . . . . . 6 class 𝑗
7068, 69crdg 8401 . . . . 5 class rec((𝑠 ∈ V, 𝑓 ∈ V ↦ ⦋(Poly1‘𝑠) / 𝑚⦌⦋{𝑔 ∈ ((Monic1p‘𝑠) ∩ (Irred‘𝑚)) ∣ (𝑔(∥r‘𝑚)(𝑝 ∘ 𝑓) ∧ 1 < (𝑠deg1𝑔))} / 𝑏⦌if(((𝑝 ∘ 𝑓) = (0g‘𝑚) ∨ 𝑏 = ∅), ⟨𝑠, 𝑓⟩, ⦋(glb‘𝑏) / ℎ⦌⦋(𝑠 polyFld ℎ) / 𝑡⦌⟨(1st ‘𝑡), (𝑓 ∘ (2nd ‘𝑡))⟩)), 𝑗)
7116, 70cfv 6531 . . . 4 class (rec((𝑠 ∈ V, 𝑓 ∈ V ↦ ⦋(Poly1‘𝑠) / 𝑚⦌⦋{𝑔 ∈ ((Monic1p‘𝑠) ∩ (Irred‘𝑚)) ∣ (𝑔(∥r‘𝑚)(𝑝 ∘ 𝑓) ∧ 1 < (𝑠deg1𝑔))} / 𝑏⦌if(((𝑝 ∘ 𝑓) = (0g‘𝑚) ∨ 𝑏 = ∅), ⟨𝑠, 𝑓⟩, ⦋(glb‘𝑏) / ℎ⦌⦋(𝑠 polyFld ℎ) / 𝑡⦌⟨(1st ‘𝑡), (𝑓 ∘ (2nd ‘𝑡))⟩)), 𝑗)‘(card‘(1...(𝑟deg1𝑝))))
725, 8, 71cmpt 5186 . . 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 7414 . 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