Theorem: IntermediateField.aeval_coe
File: Mathlib/FieldTheory/IntermediateField.lean

tactic: refine Polynomial.induction_on' P (fun f g hf hg => ?_) fun n r => ?_
state_before: K : Type u_1
L : Type u_2
L' : Type u_3
inst✝⁸ : Field K
inst✝⁷ : Field L
inst✝⁶ : Field L'
inst✝⁵ : Algebra K L
inst✝⁴ : Algebra K L'
S : IntermediateField K L
R : Type u_4
inst✝³ : CommRing R
inst✝² : Algebra R K
inst✝¹ : Algebra R L
inst✝ : IsScalarTower R K L
x : ↥S
P : R[X]
⊢ (aeval ↑x) P = ↑((aeval x) P)
state_after: case refine_1
K : Type u_1
L : Type u_2
L' : Type u_3
inst✝⁸ : Field K
inst✝⁷ : Field L
inst✝⁶ : Field L'
inst✝⁵ : Algebra K L
inst✝⁴ : Algebra K L'
S : IntermediateField K L
R : Type u_4
inst✝³ : CommRing R
inst✝² : Algebra R K
inst✝¹ : Algebra R L
inst✝ : IsScalarTower R K L
x : ↥S
P f g : R[X]
hf : (aeval ↑x) f = ↑((aeval x) f)
hg : (aeval ↑x) g = ↑((aeval x) g)
⊢ (aeval ↑x) (f + g) = ↑((aeval x) (f + g))

case refine_2
K : Type u_1
L : Type u_2
L' : Type u_3
inst✝⁸ : Field K
inst✝⁷ : Field L
inst✝⁶ : Field L'
inst✝⁵ : Algebra K L
inst✝⁴ : Algebra K L'
S : IntermediateField K L
R : Type u_4
inst✝³ : CommRing R
inst✝² : Algebra R K
inst✝¹ : Algebra R L
inst✝ : IsScalarTower R K L
x : ↥S
P : R[X]
n : ℕ
r : R
⊢ (aeval ↑x) ((monomial n) r) = ↑((aeval x) ((monomial n) r))

tactic: rw [aeval_add, aeval_add, AddMemClass.coe_add, hf, hg]
state_before: case refine_1
K : Type u_1
L : Type u_2
L' : Type u_3
inst✝⁸ : Field K
inst✝⁷ : Field L
inst✝⁶ : Field L'
inst✝⁵ : Algebra K L
inst✝⁴ : Algebra K L'
S : IntermediateField K L
R : Type u_4
inst✝³ : CommRing R
inst✝² : Algebra R K
inst✝¹ : Algebra R L
inst✝ : IsScalarTower R K L
x : ↥S
P f g : R[X]
hf : (aeval ↑x) f = ↑((aeval x) f)
hg : (aeval ↑x) g = ↑((aeval x) g)
⊢ (aeval ↑x) (f + g) = ↑((aeval x) (f + g))
state_after: no goals

tactic: simp only [MulMemClass.coe_mul, aeval_monomial, SubmonoidClass.coe_pow, mul_eq_mul_right_iff]
state_before: case refine_2
K : Type u_1
L : Type u_2
L' : Type u_3
inst✝⁸ : Field K
inst✝⁷ : Field L
inst✝⁶ : Field L'
inst✝⁵ : Algebra K L
inst✝⁴ : Algebra K L'
S : IntermediateField K L
R : Type u_4
inst✝³ : CommRing R
inst✝² : Algebra R K
inst✝¹ : Algebra R L
inst✝ : IsScalarTower R K L
x : ↥S
P : R[X]
n : ℕ
r : R
⊢ (aeval ↑x) ((monomial n) r) = ↑((aeval x) ((monomial n) r))
state_after: case refine_2
K : Type u_1
L : Type u_2
L' : Type u_3
inst✝⁸ : Field K
inst✝⁷ : Field L
inst✝⁶ : Field L'
inst✝⁵ : Algebra K L
inst✝⁴ : Algebra K L'
S : IntermediateField K L
R : Type u_4
inst✝³ : CommRing R
inst✝² : Algebra R K
inst✝¹ : Algebra R L
inst✝ : IsScalarTower R K L
x : ↥S
P : R[X]
n : ℕ
r : R
⊢ (algebraMap R L) r = ↑((algebraMap R ↥S) r) ∨ ↑x ^ n = 0

tactic: left
state_before: case refine_2
K : Type u_1
L : Type u_2
L' : Type u_3
inst✝⁸ : Field K
inst✝⁷ : Field L
inst✝⁶ : Field L'
inst✝⁵ : Algebra K L
inst✝⁴ : Algebra K L'
S : IntermediateField K L
R : Type u_4
inst✝³ : CommRing R
inst✝² : Algebra R K
inst✝¹ : Algebra R L
inst✝ : IsScalarTower R K L
x : ↥S
P : R[X]
n : ℕ
r : R
⊢ (algebraMap R L) r = ↑((algebraMap R ↥S) r) ∨ ↑x ^ n = 0
state_after: case refine_2.h
K : Type u_1
L : Type u_2
L' : Type u_3
inst✝⁸ : Field K
inst✝⁷ : Field L
inst✝⁶ : Field L'
inst✝⁵ : Algebra K L
inst✝⁴ : Algebra K L'
S : IntermediateField K L
R : Type u_4
inst✝³ : CommRing R
inst✝² : Algebra R K
inst✝¹ : Algebra R L
inst✝ : IsScalarTower R K L
x : ↥S
P : R[X]
n : ℕ
r : R
⊢ (algebraMap R L) r = ↑((algebraMap R ↥S) r)

tactic: rfl
state_before: case refine_2.h
K : Type u_1
L : Type u_2
L' : Type u_3
inst✝⁸ : Field K
inst✝⁷ : Field L
inst✝⁶ : Field L'
inst✝⁵ : Algebra K L
inst✝⁴ : Algebra K L'
S : IntermediateField K L
R : Type u_4
inst✝³ : CommRing R
inst✝² : Algebra R K
inst✝¹ : Algebra R L
inst✝ : IsScalarTower R K L
x : ↥S
P : R[X]
n : ℕ
r : R
⊢ (algebraMap R L) r = ↑((algebraMap R ↥S) r)
state_after: no goals