Step |
Hyp |
Ref |
Expression |
1 |
|
algextdeg.k |
⊢ 𝐾 = ( 𝐸 ↾s 𝐹 ) |
2 |
|
algextdeg.l |
⊢ 𝐿 = ( 𝐸 ↾s ( 𝐸 fldGen ( 𝐹 ∪ { 𝐴 } ) ) ) |
3 |
|
algextdeg.d |
⊢ 𝐷 = ( deg1 ‘ 𝐸 ) |
4 |
|
algextdeg.m |
⊢ 𝑀 = ( 𝐸 minPoly 𝐹 ) |
5 |
|
algextdeg.f |
⊢ ( 𝜑 → 𝐸 ∈ Field ) |
6 |
|
algextdeg.e |
⊢ ( 𝜑 → 𝐹 ∈ ( SubDRing ‘ 𝐸 ) ) |
7 |
|
algextdeg.a |
⊢ ( 𝜑 → 𝐴 ∈ ( 𝐸 IntgRing 𝐹 ) ) |
8 |
|
eqid |
⊢ ( 𝐸 evalSub1 𝐹 ) = ( 𝐸 evalSub1 𝐹 ) |
9 |
|
eqid |
⊢ ( Poly1 ‘ 𝐾 ) = ( Poly1 ‘ 𝐾 ) |
10 |
|
eqid |
⊢ ( Base ‘ ( Poly1 ‘ 𝐾 ) ) = ( Base ‘ ( Poly1 ‘ 𝐾 ) ) |
11 |
|
fveq2 |
⊢ ( 𝑞 = 𝑝 → ( ( 𝐸 evalSub1 𝐹 ) ‘ 𝑞 ) = ( ( 𝐸 evalSub1 𝐹 ) ‘ 𝑝 ) ) |
12 |
11
|
fveq1d |
⊢ ( 𝑞 = 𝑝 → ( ( ( 𝐸 evalSub1 𝐹 ) ‘ 𝑞 ) ‘ 𝐴 ) = ( ( ( 𝐸 evalSub1 𝐹 ) ‘ 𝑝 ) ‘ 𝐴 ) ) |
13 |
12
|
cbvmptv |
⊢ ( 𝑞 ∈ ( Base ‘ ( Poly1 ‘ 𝐾 ) ) ↦ ( ( ( 𝐸 evalSub1 𝐹 ) ‘ 𝑞 ) ‘ 𝐴 ) ) = ( 𝑝 ∈ ( Base ‘ ( Poly1 ‘ 𝐾 ) ) ↦ ( ( ( 𝐸 evalSub1 𝐹 ) ‘ 𝑝 ) ‘ 𝐴 ) ) |
14 |
|
eceq1 |
⊢ ( 𝑦 = 𝑥 → [ 𝑦 ] ( ( Poly1 ‘ 𝐾 ) ~QG ( ◡ ( 𝑞 ∈ ( Base ‘ ( Poly1 ‘ 𝐾 ) ) ↦ ( ( ( 𝐸 evalSub1 𝐹 ) ‘ 𝑞 ) ‘ 𝐴 ) ) “ { ( 0g ‘ 𝐿 ) } ) ) = [ 𝑥 ] ( ( Poly1 ‘ 𝐾 ) ~QG ( ◡ ( 𝑞 ∈ ( Base ‘ ( Poly1 ‘ 𝐾 ) ) ↦ ( ( ( 𝐸 evalSub1 𝐹 ) ‘ 𝑞 ) ‘ 𝐴 ) ) “ { ( 0g ‘ 𝐿 ) } ) ) ) |
15 |
14
|
cbvmptv |
⊢ ( 𝑦 ∈ ( Base ‘ ( Poly1 ‘ 𝐾 ) ) ↦ [ 𝑦 ] ( ( Poly1 ‘ 𝐾 ) ~QG ( ◡ ( 𝑞 ∈ ( Base ‘ ( Poly1 ‘ 𝐾 ) ) ↦ ( ( ( 𝐸 evalSub1 𝐹 ) ‘ 𝑞 ) ‘ 𝐴 ) ) “ { ( 0g ‘ 𝐿 ) } ) ) ) = ( 𝑥 ∈ ( Base ‘ ( Poly1 ‘ 𝐾 ) ) ↦ [ 𝑥 ] ( ( Poly1 ‘ 𝐾 ) ~QG ( ◡ ( 𝑞 ∈ ( Base ‘ ( Poly1 ‘ 𝐾 ) ) ↦ ( ( ( 𝐸 evalSub1 𝐹 ) ‘ 𝑞 ) ‘ 𝐴 ) ) “ { ( 0g ‘ 𝐿 ) } ) ) ) |
16 |
|
eqid |
⊢ ( ◡ ( 𝑞 ∈ ( Base ‘ ( Poly1 ‘ 𝐾 ) ) ↦ ( ( ( 𝐸 evalSub1 𝐹 ) ‘ 𝑞 ) ‘ 𝐴 ) ) “ { ( 0g ‘ 𝐿 ) } ) = ( ◡ ( 𝑞 ∈ ( Base ‘ ( Poly1 ‘ 𝐾 ) ) ↦ ( ( ( 𝐸 evalSub1 𝐹 ) ‘ 𝑞 ) ‘ 𝐴 ) ) “ { ( 0g ‘ 𝐿 ) } ) |
17 |
|
eqid |
⊢ ( ( Poly1 ‘ 𝐾 ) /s ( ( Poly1 ‘ 𝐾 ) ~QG ( ◡ ( 𝑞 ∈ ( Base ‘ ( Poly1 ‘ 𝐾 ) ) ↦ ( ( ( 𝐸 evalSub1 𝐹 ) ‘ 𝑞 ) ‘ 𝐴 ) ) “ { ( 0g ‘ 𝐿 ) } ) ) ) = ( ( Poly1 ‘ 𝐾 ) /s ( ( Poly1 ‘ 𝐾 ) ~QG ( ◡ ( 𝑞 ∈ ( Base ‘ ( Poly1 ‘ 𝐾 ) ) ↦ ( ( ( 𝐸 evalSub1 𝐹 ) ‘ 𝑞 ) ‘ 𝐴 ) ) “ { ( 0g ‘ 𝐿 ) } ) ) ) |
18 |
|
imaeq2 |
⊢ ( 𝑟 = 𝑝 → ( ( 𝑞 ∈ ( Base ‘ ( Poly1 ‘ 𝐾 ) ) ↦ ( ( ( 𝐸 evalSub1 𝐹 ) ‘ 𝑞 ) ‘ 𝐴 ) ) “ 𝑟 ) = ( ( 𝑞 ∈ ( Base ‘ ( Poly1 ‘ 𝐾 ) ) ↦ ( ( ( 𝐸 evalSub1 𝐹 ) ‘ 𝑞 ) ‘ 𝐴 ) ) “ 𝑝 ) ) |
19 |
18
|
unieqd |
⊢ ( 𝑟 = 𝑝 → ∪ ( ( 𝑞 ∈ ( Base ‘ ( Poly1 ‘ 𝐾 ) ) ↦ ( ( ( 𝐸 evalSub1 𝐹 ) ‘ 𝑞 ) ‘ 𝐴 ) ) “ 𝑟 ) = ∪ ( ( 𝑞 ∈ ( Base ‘ ( Poly1 ‘ 𝐾 ) ) ↦ ( ( ( 𝐸 evalSub1 𝐹 ) ‘ 𝑞 ) ‘ 𝐴 ) ) “ 𝑝 ) ) |
20 |
19
|
cbvmptv |
⊢ ( 𝑟 ∈ ( Base ‘ ( ( Poly1 ‘ 𝐾 ) /s ( ( Poly1 ‘ 𝐾 ) ~QG ( ◡ ( 𝑞 ∈ ( Base ‘ ( Poly1 ‘ 𝐾 ) ) ↦ ( ( ( 𝐸 evalSub1 𝐹 ) ‘ 𝑞 ) ‘ 𝐴 ) ) “ { ( 0g ‘ 𝐿 ) } ) ) ) ) ↦ ∪ ( ( 𝑞 ∈ ( Base ‘ ( Poly1 ‘ 𝐾 ) ) ↦ ( ( ( 𝐸 evalSub1 𝐹 ) ‘ 𝑞 ) ‘ 𝐴 ) ) “ 𝑟 ) ) = ( 𝑝 ∈ ( Base ‘ ( ( Poly1 ‘ 𝐾 ) /s ( ( Poly1 ‘ 𝐾 ) ~QG ( ◡ ( 𝑞 ∈ ( Base ‘ ( Poly1 ‘ 𝐾 ) ) ↦ ( ( ( 𝐸 evalSub1 𝐹 ) ‘ 𝑞 ) ‘ 𝐴 ) ) “ { ( 0g ‘ 𝐿 ) } ) ) ) ) ↦ ∪ ( ( 𝑞 ∈ ( Base ‘ ( Poly1 ‘ 𝐾 ) ) ↦ ( ( ( 𝐸 evalSub1 𝐹 ) ‘ 𝑞 ) ‘ 𝐴 ) ) “ 𝑝 ) ) |
21 |
|
eqid |
⊢ ( rem1p ‘ 𝐾 ) = ( rem1p ‘ 𝐾 ) |
22 |
|
oveq1 |
⊢ ( 𝑞 = 𝑝 → ( 𝑞 ( rem1p ‘ 𝐾 ) ( 𝑀 ‘ 𝐴 ) ) = ( 𝑝 ( rem1p ‘ 𝐾 ) ( 𝑀 ‘ 𝐴 ) ) ) |
23 |
22
|
cbvmptv |
⊢ ( 𝑞 ∈ ( Base ‘ ( Poly1 ‘ 𝐾 ) ) ↦ ( 𝑞 ( rem1p ‘ 𝐾 ) ( 𝑀 ‘ 𝐴 ) ) ) = ( 𝑝 ∈ ( Base ‘ ( Poly1 ‘ 𝐾 ) ) ↦ ( 𝑝 ( rem1p ‘ 𝐾 ) ( 𝑀 ‘ 𝐴 ) ) ) |
24 |
1 2 3 4 5 6 7 8 9 10 13 15 16 17 20 21 23
|
algextdeglem6 |
⊢ ( 𝜑 → ( dim ‘ ( ( Poly1 ‘ 𝐾 ) /s ( ( Poly1 ‘ 𝐾 ) ~QG ( ◡ ( 𝑞 ∈ ( Base ‘ ( Poly1 ‘ 𝐾 ) ) ↦ ( ( ( 𝐸 evalSub1 𝐹 ) ‘ 𝑞 ) ‘ 𝐴 ) ) “ { ( 0g ‘ 𝐿 ) } ) ) ) ) = ( dim ‘ ( ( 𝑞 ∈ ( Base ‘ ( Poly1 ‘ 𝐾 ) ) ↦ ( 𝑞 ( rem1p ‘ 𝐾 ) ( 𝑀 ‘ 𝐴 ) ) ) “s ( Poly1 ‘ 𝐾 ) ) ) ) |
25 |
1 2 3 4 5 6 7 8 9 10 13 15 16 17 20
|
algextdeglem4 |
⊢ ( 𝜑 → ( dim ‘ ( ( Poly1 ‘ 𝐾 ) /s ( ( Poly1 ‘ 𝐾 ) ~QG ( ◡ ( 𝑞 ∈ ( Base ‘ ( Poly1 ‘ 𝐾 ) ) ↦ ( ( ( 𝐸 evalSub1 𝐹 ) ‘ 𝑞 ) ‘ 𝐴 ) ) “ { ( 0g ‘ 𝐿 ) } ) ) ) ) = ( 𝐿 [:] 𝐾 ) ) |
26 |
|
eqid |
⊢ ( ◡ ( deg1 ‘ 𝐾 ) “ ( -∞ [,) ( 𝐷 ‘ ( 𝑀 ‘ 𝐴 ) ) ) ) = ( ◡ ( deg1 ‘ 𝐾 ) “ ( -∞ [,) ( 𝐷 ‘ ( 𝑀 ‘ 𝐴 ) ) ) ) |
27 |
1 2 3 4 5 6 7 8 9 10 13 15 16 17 20 21 23 26
|
algextdeglem8 |
⊢ ( 𝜑 → ( dim ‘ ( ( 𝑞 ∈ ( Base ‘ ( Poly1 ‘ 𝐾 ) ) ↦ ( 𝑞 ( rem1p ‘ 𝐾 ) ( 𝑀 ‘ 𝐴 ) ) ) “s ( Poly1 ‘ 𝐾 ) ) ) = ( 𝐷 ‘ ( 𝑀 ‘ 𝐴 ) ) ) |
28 |
24 25 27
|
3eqtr3d |
⊢ ( 𝜑 → ( 𝐿 [:] 𝐾 ) = ( 𝐷 ‘ ( 𝑀 ‘ 𝐴 ) ) ) |