Theorem: AlgebraicIndependent.linearIndependent
File: Mathlib/RingTheory/AlgebraicIndependent.lean

tactic: rw [linearIndependent_iff_injective_total]
state_before: ι : Type u_1
ι' : Type ?u.148441
R : Type u_2
K : Type ?u.148447
A : Type u_3
A' : Type ?u.148453
A'' : Type ?u.148456
V : Type u
V' : Type ?u.148461
x : ι → A
inst✝⁶ : CommRing R
inst✝⁵ : CommRing A
inst✝⁴ : CommRing A'
inst✝³ : CommRing A''
inst✝² : Algebra R A
inst✝¹ : Algebra R A'
inst✝ : Algebra R A''
a b : R
hx : AlgebraicIndependent R x
⊢ LinearIndependent R x

tactic: have : Finsupp.total ι A R x =
    (MvPolynomial.aeval x).toLinearMap.comp (Finsupp.total ι _ R X) := by
  ext
  simp
state_before: ι : Type u_1
ι' : Type ?u.148441
R : Type u_2
K : Type ?u.148447
A : Type u_3
A' : Type ?u.148453
A'' : Type ?u.148456
V : Type u
V' : Type ?u.148461
x : ι → A
inst✝⁶ : CommRing R
inst✝⁵ : CommRing A
inst✝⁴ : CommRing A'
inst✝³ : CommRing A''
inst✝² : Algebra R A
inst✝¹ : Algebra R A'
inst✝ : Algebra R A''
a b : R
hx : AlgebraicIndependent R x
⊢ Injective ↑(Finsupp.total ι A R x)

tactic: rw [this]
state_before: ι : Type u_1
ι' : Type ?u.148441
R : Type u_2
K : Type ?u.148447
A : Type u_3
A' : Type ?u.148453
A'' : Type ?u.148456
V : Type u
V' : Type ?u.148461
x : ι → A
inst✝⁶ : CommRing R
inst✝⁵ : CommRing A
inst✝⁴ : CommRing A'
inst✝³ : CommRing A''
inst✝² : Algebra R A
inst✝¹ : Algebra R A'
inst✝ : Algebra R A''
a b : R
hx : AlgebraicIndependent R x
this : Finsupp.total ι A R x = LinearMap.comp (AlgHom.toLinearMap (aeval x)) (Finsupp.total ι (MvPolynomial ι R) R X)
⊢ Injective ↑(Finsupp.total ι A R x)

tactic: refine' hx.comp _
state_before: ι : Type u_1
ι' : Type ?u.148441
R : Type u_2
K : Type ?u.148447
A : Type u_3
A' : Type ?u.148453
A'' : Type ?u.148456
V : Type u
V' : Type ?u.148461
x : ι → A
inst✝⁶ : CommRing R
inst✝⁵ : CommRing A
inst✝⁴ : CommRing A'
inst✝³ : CommRing A''
inst✝² : Algebra R A
inst✝¹ : Algebra R A'
inst✝ : Algebra R A''
a b : R
hx : AlgebraicIndependent R x
this : Finsupp.total ι A R x = LinearMap.comp (AlgHom.toLinearMap (aeval x)) (Finsupp.total ι (MvPolynomial ι R) R X)
⊢ Injective ↑(LinearMap.comp (AlgHom.toLinearMap (aeval x)) (Finsupp.total ι (MvPolynomial ι R) R X))

tactic: rw [← linearIndependent_iff_injective_total]
state_before: ι : Type u_1
ι' : Type ?u.148441
R : Type u_2
K : Type ?u.148447
A : Type u_3
A' : Type ?u.148453
A'' : Type ?u.148456
V : Type u
V' : Type ?u.148461
x : ι → A
inst✝⁶ : CommRing R
inst✝⁵ : CommRing A
inst✝⁴ : CommRing A'
inst✝³ : CommRing A''
inst✝² : Algebra R A
inst✝¹ : Algebra R A'
inst✝ : Algebra R A''
a b : R
hx : AlgebraicIndependent R x
this : Finsupp.total ι A R x = LinearMap.comp (AlgHom.toLinearMap (aeval x)) (Finsupp.total ι (MvPolynomial ι R) R X)
⊢ Injective fun x => ↑(Finsupp.total ι (MvPolynomial ι R) R X) x

tactic: exact linearIndependent_X _ _
state_before: ι : Type u_1
ι' : Type ?u.148441
R : Type u_2
K : Type ?u.148447
A : Type u_3
A' : Type ?u.148453
A'' : Type ?u.148456
V : Type u
V' : Type ?u.148461
x : ι → A
inst✝⁶ : CommRing R
inst✝⁵ : CommRing A
inst✝⁴ : CommRing A'
inst✝³ : CommRing A''
inst✝² : Algebra R A
inst✝¹ : Algebra R A'
inst✝ : Algebra R A''
a b : R
hx : AlgebraicIndependent R x
this : Finsupp.total ι A R x = LinearMap.comp (AlgHom.toLinearMap (aeval x)) (Finsupp.total ι (MvPolynomial ι R) R X)
⊢ LinearIndependent R X

tactic: ext
state_before: ι : Type u_1
ι' : Type ?u.148441
R : Type u_2
K : Type ?u.148447
A : Type u_3
A' : Type ?u.148453
A'' : Type ?u.148456
V : Type u
V' : Type ?u.148461
x : ι → A
inst✝⁶ : CommRing R
inst✝⁵ : CommRing A
inst✝⁴ : CommRing A'
inst✝³ : CommRing A''
inst✝² : Algebra R A
inst✝¹ : Algebra R A'
inst✝ : Algebra R A''
a b : R
hx : AlgebraicIndependent R x
⊢ Finsupp.total ι A R x = LinearMap.comp (AlgHom.toLinearMap (aeval x)) (Finsupp.total ι (MvPolynomial ι R) R X)

tactic: simp
state_before: case h.h
ι : Type u_1
ι' : Type ?u.148441
R : Type u_2
K : Type ?u.148447
A : Type u_3
A' : Type ?u.148453
A'' : Type ?u.148456
V : Type u
V' : Type ?u.148461
x : ι → A
inst✝⁶ : CommRing R
inst✝⁵ : CommRing A
inst✝⁴ : CommRing A'
inst✝³ : CommRing A''
inst✝² : Algebra R A
inst✝¹ : Algebra R A'
inst✝ : Algebra R A''
a b : R
hx : AlgebraicIndependent R x
a✝ : ι
⊢ ↑(LinearMap.comp (Finsupp.total ι A R x) (Finsupp.lsingle a✝)) 1 =
    ↑(LinearMap.comp (LinearMap.comp (AlgHom.toLinearMap (aeval x)) (Finsupp.total ι (MvPolynomial ι R) R X))
          (Finsupp.lsingle a✝))
      1