Theorem: Algebra.intTrace_eq_of_isLocalization
File: Mathlib/RingTheory/IntegralRestrict.lean

tactic: by_cases hM : 0 ∈ M
state_before: A : Type u_1
K : Type u_2
L : Type u_3
B : Type u_4
inst✝³⁵ : CommRing A
inst✝³⁴ : CommRing B
inst✝³³ : Algebra A B
inst✝³² : Field K
inst✝³¹ : Field L
inst✝³⁰ : Algebra A K
inst✝²⁹ : IsFractionRing A K
inst✝²⁸ : Algebra B L
inst✝²⁷ : Algebra K L
inst✝²⁶ : Algebra A L
inst✝²⁵ : IsScalarTower A B L
inst✝²⁴ : IsScalarTower A K L
inst✝²³ : IsIntegralClosure B A L
inst✝²² : FiniteDimensional K L
Aₘ : Type u_5
Bₘ : Type u_6
inst✝²¹ : CommRing Aₘ
inst✝²⁰ : CommRing Bₘ
inst✝¹⁹ : Algebra Aₘ Bₘ
inst✝¹⁸ : Algebra A Aₘ
inst✝¹⁷ : Algebra B Bₘ
inst✝¹⁶ : Algebra A Bₘ
inst✝¹⁵ : IsScalarTower A Aₘ Bₘ
inst✝¹⁴ : IsScalarTower A B Bₘ
M : Submonoid A
inst✝¹³ : IsLocalization M Aₘ
inst✝¹² : IsLocalization (algebraMapSubmonoid B M) Bₘ
inst✝¹¹ : IsDomain A
inst✝¹⁰ : IsIntegrallyClosed A
inst✝⁹ : IsDomain B
inst✝⁸ : IsIntegrallyClosed B
inst✝⁷ : Module.Finite A B
inst✝⁶ : NoZeroSMulDivisors A B
inst✝⁵ : IsDomain Aₘ
inst✝⁴ : IsIntegrallyClosed Aₘ
inst✝³ : IsDomain Bₘ
inst✝² : IsIntegrallyClosed Bₘ
inst✝¹ : NoZeroSMulDivisors Aₘ Bₘ
inst✝ : Module.Finite Aₘ Bₘ
x : B
⊢ (algebraMap A Aₘ) ((intTrace A B) x) = (intTrace Aₘ Bₘ) ((algebraMap B Bₘ) x)
state_after: case pos
A : Type u_1
K : Type u_2
L : Type u_3
B : Type u_4
inst✝³⁵ : CommRing A
inst✝³⁴ : CommRing B
inst✝³³ : Algebra A B
inst✝³² : Field K
inst✝³¹ : Field L
inst✝³⁰ : Algebra A K
inst✝²⁹ : IsFractionRing A K
inst✝²⁸ : Algebra B L
inst✝²⁷ : Algebra K L
inst✝²⁶ : Algebra A L
inst✝²⁵ : IsScalarTower A B L
inst✝²⁴ : IsScalarTower A K L
inst✝²³ : IsIntegralClosure B A L
inst✝²² : FiniteDimensional K L
Aₘ : Type u_5
Bₘ : Type u_6
inst✝²¹ : CommRing Aₘ
inst✝²⁰ : CommRing Bₘ
inst✝¹⁹ : Algebra Aₘ Bₘ
inst✝¹⁸ : Algebra A Aₘ
inst✝¹⁷ : Algebra B Bₘ
inst✝¹⁶ : Algebra A Bₘ
inst✝¹⁵ : IsScalarTower A Aₘ Bₘ
inst✝¹⁴ : IsScalarTower A B Bₘ
M : Submonoid A
inst✝¹³ : IsLocalization M Aₘ
inst✝¹² : IsLocalization (algebraMapSubmonoid B M) Bₘ
inst✝¹¹ : IsDomain A
inst✝¹⁰ : IsIntegrallyClosed A
inst✝⁹ : IsDomain B
inst✝⁸ : IsIntegrallyClosed B
inst✝⁷ : Module.Finite A B
inst✝⁶ : NoZeroSMulDivisors A B
inst✝⁵ : IsDomain Aₘ
inst✝⁴ : IsIntegrallyClosed Aₘ
inst✝³ : IsDomain Bₘ
inst✝² : IsIntegrallyClosed Bₘ
inst✝¹ : NoZeroSMulDivisors Aₘ Bₘ
inst✝ : Module.Finite Aₘ Bₘ
x : B
hM : 0 ∈ M
⊢ (algebraMap A Aₘ) ((intTrace A B) x) = (intTrace Aₘ Bₘ) ((algebraMap B Bₘ) x)

case neg
A : Type u_1
K : Type u_2
L : Type u_3
B : Type u_4
inst✝³⁵ : CommRing A
inst✝³⁴ : CommRing B
inst✝³³ : Algebra A B
inst✝³² : Field K
inst✝³¹ : Field L
inst✝³⁰ : Algebra A K
inst✝²⁹ : IsFractionRing A K
inst✝²⁸ : Algebra B L
inst✝²⁷ : Algebra K L
inst✝²⁶ : Algebra A L
inst✝²⁵ : IsScalarTower A B L
inst✝²⁴ : IsScalarTower A K L
inst✝²³ : IsIntegralClosure B A L
inst✝²² : FiniteDimensional K L
Aₘ : Type u_5
Bₘ : Type u_6
inst✝²¹ : CommRing Aₘ
inst✝²⁰ : CommRing Bₘ
inst✝¹⁹ : Algebra Aₘ Bₘ
inst✝¹⁸ : Algebra A Aₘ
inst✝¹⁷ : Algebra B Bₘ
inst✝¹⁶ : Algebra A Bₘ
inst✝¹⁵ : IsScalarTower A Aₘ Bₘ
inst✝¹⁴ : IsScalarTower A B Bₘ
M : Submonoid A
inst✝¹³ : IsLocalization M Aₘ
inst✝¹² : IsLocalization (algebraMapSubmonoid B M) Bₘ
inst✝¹¹ : IsDomain A
inst✝¹⁰ : IsIntegrallyClosed A
inst✝⁹ : IsDomain B
inst✝⁸ : IsIntegrallyClosed B
inst✝⁷ : Module.Finite A B
inst✝⁶ : NoZeroSMulDivisors A B
inst✝⁵ : IsDomain Aₘ
inst✝⁴ : IsIntegrallyClosed Aₘ
inst✝³ : IsDomain Bₘ
inst✝² : IsIntegrallyClosed Bₘ
inst✝¹ : NoZeroSMulDivisors Aₘ Bₘ
inst✝ : Module.Finite Aₘ Bₘ
x : B
hM : 0 ∉ M
⊢ (algebraMap A Aₘ) ((intTrace A B) x) = (intTrace Aₘ Bₘ) ((algebraMap B Bₘ) x)

tactic: replace hM : M ≤ A⁰ := fun x hx ↦ mem_nonZeroDivisors_iff_ne_zero.mpr (fun e ↦ hM (e ▸ hx))
state_before: case neg
A : Type u_1
K : Type u_2
L : Type u_3
B : Type u_4
inst✝³⁵ : CommRing A
inst✝³⁴ : CommRing B
inst✝³³ : Algebra A B
inst✝³² : Field K
inst✝³¹ : Field L
inst✝³⁰ : Algebra A K
inst✝²⁹ : IsFractionRing A K
inst✝²⁸ : Algebra B L
inst✝²⁷ : Algebra K L
inst✝²⁶ : Algebra A L
inst✝²⁵ : IsScalarTower A B L
inst✝²⁴ : IsScalarTower A K L
inst✝²³ : IsIntegralClosure B A L
inst✝²² : FiniteDimensional K L
Aₘ : Type u_5
Bₘ : Type u_6
inst✝²¹ : CommRing Aₘ
inst✝²⁰ : CommRing Bₘ
inst✝¹⁹ : Algebra Aₘ Bₘ
inst✝¹⁸ : Algebra A Aₘ
inst✝¹⁷ : Algebra B Bₘ
inst✝¹⁶ : Algebra A Bₘ
inst✝¹⁵ : IsScalarTower A Aₘ Bₘ
inst✝¹⁴ : IsScalarTower A B Bₘ
M : Submonoid A
inst✝¹³ : IsLocalization M Aₘ
inst✝¹² : IsLocalization (algebraMapSubmonoid B M) Bₘ
inst✝¹¹ : IsDomain A
inst✝¹⁰ : IsIntegrallyClosed A
inst✝⁹ : IsDomain B
inst✝⁸ : IsIntegrallyClosed B
inst✝⁷ : Module.Finite A B
inst✝⁶ : NoZeroSMulDivisors A B
inst✝⁵ : IsDomain Aₘ
inst✝⁴ : IsIntegrallyClosed Aₘ
inst✝³ : IsDomain Bₘ
inst✝² : IsIntegrallyClosed Bₘ
inst✝¹ : NoZeroSMulDivisors Aₘ Bₘ
inst✝ : Module.Finite Aₘ Bₘ
x : B
hM : 0 ∉ M
⊢ (algebraMap A Aₘ) ((intTrace A B) x) = (intTrace Aₘ Bₘ) ((algebraMap B Bₘ) x)
state_after: case neg
A : Type u_1
K : Type u_2
L : Type u_3
B : Type u_4
inst✝³⁵ : CommRing A
inst✝³⁴ : CommRing B
inst✝³³ : Algebra A B
inst✝³² : Field K
inst✝³¹ : Field L
inst✝³⁰ : Algebra A K
inst✝²⁹ : IsFractionRing A K
inst✝²⁸ : Algebra B L
inst✝²⁷ : Algebra K L
inst✝²⁶ : Algebra A L
inst✝²⁵ : IsScalarTower A B L
inst✝²⁴ : IsScalarTower A K L
inst✝²³ : IsIntegralClosure B A L
inst✝²² : FiniteDimensional K L
Aₘ : Type u_5
Bₘ : Type u_6
inst✝²¹ : CommRing Aₘ
inst✝²⁰ : CommRing Bₘ
inst✝¹⁹ : Algebra Aₘ Bₘ
inst✝¹⁸ : Algebra A Aₘ
inst✝¹⁷ : Algebra B Bₘ
inst✝¹⁶ : Algebra A Bₘ
inst✝¹⁵ : IsScalarTower A Aₘ Bₘ
inst✝¹⁴ : IsScalarTower A B Bₘ
M : Submonoid A
inst✝¹³ : IsLocalization M Aₘ
inst✝¹² : IsLocalization (algebraMapSubmonoid B M) Bₘ
inst✝¹¹ : IsDomain A
inst✝¹⁰ : IsIntegrallyClosed A
inst✝⁹ : IsDomain B
inst✝⁸ : IsIntegrallyClosed B
inst✝⁷ : Module.Finite A B
inst✝⁶ : NoZeroSMulDivisors A B
inst✝⁵ : IsDomain Aₘ
inst✝⁴ : IsIntegrallyClosed Aₘ
inst✝³ : IsDomain Bₘ
inst✝² : IsIntegrallyClosed Bₘ
inst✝¹ : NoZeroSMulDivisors Aₘ Bₘ
inst✝ : Module.Finite Aₘ Bₘ
x : B
hM : M ≤ A⁰
⊢ (algebraMap A Aₘ) ((intTrace A B) x) = (intTrace Aₘ Bₘ) ((algebraMap B Bₘ) x)

tactic: let K := FractionRing A
state_before: case neg
A : Type u_1
K : Type u_2
L : Type u_3
B : Type u_4
inst✝³⁵ : CommRing A
inst✝³⁴ : CommRing B
inst✝³³ : Algebra A B
inst✝³² : Field K
inst✝³¹ : Field L
inst✝³⁰ : Algebra A K
inst✝²⁹ : IsFractionRing A K
inst✝²⁸ : Algebra B L
inst✝²⁷ : Algebra K L
inst✝²⁶ : Algebra A L
inst✝²⁵ : IsScalarTower A B L
inst✝²⁴ : IsScalarTower A K L
inst✝²³ : IsIntegralClosure B A L
inst✝²² : FiniteDimensional K L
Aₘ : Type u_5
Bₘ : Type u_6
inst✝²¹ : CommRing Aₘ
inst✝²⁰ : CommRing Bₘ
inst✝¹⁹ : Algebra Aₘ Bₘ
inst✝¹⁸ : Algebra A Aₘ
inst✝¹⁷ : Algebra B Bₘ
inst✝¹⁶ : Algebra A Bₘ
inst✝¹⁵ : IsScalarTower A Aₘ Bₘ
inst✝¹⁴ : IsScalarTower A B Bₘ
M : Submonoid A
inst✝¹³ : IsLocalization M Aₘ
inst✝¹² : IsLocalization (algebraMapSubmonoid B M) Bₘ
inst✝¹¹ : IsDomain A
inst✝¹⁰ : IsIntegrallyClosed A
inst✝⁹ : IsDomain B
inst✝⁸ : IsIntegrallyClosed B
inst✝⁷ : Module.Finite A B
inst✝⁶ : NoZeroSMulDivisors A B
inst✝⁵ : IsDomain Aₘ
inst✝⁴ : IsIntegrallyClosed Aₘ
inst✝³ : IsDomain Bₘ
inst✝² : IsIntegrallyClosed Bₘ
inst✝¹ : NoZeroSMulDivisors Aₘ Bₘ
inst✝ : Module.Finite Aₘ Bₘ
x : B
hM : M ≤ A⁰
⊢ (algebraMap A Aₘ) ((intTrace A B) x) = (intTrace Aₘ Bₘ) ((algebraMap B Bₘ) x)
state_after: case neg
A : Type u_1
K✝ : Type u_2
L : Type u_3
B : Type u_4
inst✝³⁵ : CommRing A
inst✝³⁴ : CommRing B
inst✝³³ : Algebra A B
inst✝³² : Field K✝
inst✝³¹ : Field L
inst✝³⁰ : Algebra A K✝
inst✝²⁹ : IsFractionRing A K✝
inst✝²⁸ : Algebra B L
inst✝²⁷ : Algebra K✝ L
inst✝²⁶ : Algebra A L
inst✝²⁵ : IsScalarTower A B L
inst✝²⁴ : IsScalarTower A K✝ L
inst✝²³ : IsIntegralClosure B A L
inst✝²² : FiniteDimensional K✝ L
Aₘ : Type u_5
Bₘ : Type u_6
inst✝²¹ : CommRing Aₘ
inst✝²⁰ : CommRing Bₘ
inst✝¹⁹ : Algebra Aₘ Bₘ
inst✝¹⁸ : Algebra A Aₘ
inst✝¹⁷ : Algebra B Bₘ
inst✝¹⁶ : Algebra A Bₘ
inst✝¹⁵ : IsScalarTower A Aₘ Bₘ
inst✝¹⁴ : IsScalarTower A B Bₘ
M : Submonoid A
inst✝¹³ : IsLocalization M Aₘ
inst✝¹² : IsLocalization (algebraMapSubmonoid B M) Bₘ
inst✝¹¹ : IsDomain A
inst✝¹⁰ : IsIntegrallyClosed A
inst✝⁹ : IsDomain B
inst✝⁸ : IsIntegrallyClosed B
inst✝⁷ : Module.Finite A B
inst✝⁶ : NoZeroSMulDivisors A B
inst✝⁵ : IsDomain Aₘ
inst✝⁴ : IsIntegrallyClosed Aₘ
inst✝³ : IsDomain Bₘ
inst✝² : IsIntegrallyClosed Bₘ
inst✝¹ : NoZeroSMulDivisors Aₘ Bₘ
inst✝ : Module.Finite Aₘ Bₘ
x : B
hM : M ≤ A⁰
K : Type u_1 := FractionRing A
⊢ (algebraMap A Aₘ) ((intTrace A B) x) = (intTrace Aₘ Bₘ) ((algebraMap B Bₘ) x)

tactic: let L := FractionRing B
state_before: case neg
A : Type u_1
K✝ : Type u_2
L : Type u_3
B : Type u_4
inst✝³⁵ : CommRing A
inst✝³⁴ : CommRing B
inst✝³³ : Algebra A B
inst✝³² : Field K✝
inst✝³¹ : Field L
inst✝³⁰ : Algebra A K✝
inst✝²⁹ : IsFractionRing A K✝
inst✝²⁸ : Algebra B L
inst✝²⁷ : Algebra K✝ L
inst✝²⁶ : Algebra A L
inst✝²⁵ : IsScalarTower A B L
inst✝²⁴ : IsScalarTower A K✝ L
inst✝²³ : IsIntegralClosure B A L
inst✝²² : FiniteDimensional K✝ L
Aₘ : Type u_5
Bₘ : Type u_6
inst✝²¹ : CommRing Aₘ
inst✝²⁰ : CommRing Bₘ
inst✝¹⁹ : Algebra Aₘ Bₘ
inst✝¹⁸ : Algebra A Aₘ
inst✝¹⁷ : Algebra B Bₘ
inst✝¹⁶ : Algebra A Bₘ
inst✝¹⁵ : IsScalarTower A Aₘ Bₘ
inst✝¹⁴ : IsScalarTower A B Bₘ
M : Submonoid A
inst✝¹³ : IsLocalization M Aₘ
inst✝¹² : IsLocalization (algebraMapSubmonoid B M) Bₘ
inst✝¹¹ : IsDomain A
inst✝¹⁰ : IsIntegrallyClosed A
inst✝⁹ : IsDomain B
inst✝⁸ : IsIntegrallyClosed B
inst✝⁷ : Module.Finite A B
inst✝⁶ : NoZeroSMulDivisors A B
inst✝⁵ : IsDomain Aₘ
inst✝⁴ : IsIntegrallyClosed Aₘ
inst✝³ : IsDomain Bₘ
inst✝² : IsIntegrallyClosed Bₘ
inst✝¹ : NoZeroSMulDivisors Aₘ Bₘ
inst✝ : Module.Finite Aₘ Bₘ
x : B
hM : M ≤ A⁰
K : Type u_1 := FractionRing A
⊢ (algebraMap A Aₘ) ((intTrace A B) x) = (intTrace Aₘ Bₘ) ((algebraMap B Bₘ) x)
state_after: case neg
A : Type u_1
K✝ : Type u_2
L✝ : Type u_3
B : Type u_4
inst✝³⁵ : CommRing A
inst✝³⁴ : CommRing B
inst✝³³ : Algebra A B
inst✝³² : Field K✝
inst✝³¹ : Field L✝
inst✝³⁰ : Algebra A K✝
inst✝²⁹ : IsFractionRing A K✝
inst✝²⁸ : Algebra B L✝
inst✝²⁷ : Algebra K✝ L✝
inst✝²⁶ : Algebra A L✝
inst✝²⁵ : IsScalarTower A B L✝
inst✝²⁴ : IsScalarTower A K✝ L✝
inst✝²³ : IsIntegralClosure B A L✝
inst✝²² : FiniteDimensional K✝ L✝
Aₘ : Type u_5
Bₘ : Type u_6
inst✝²¹ : CommRing Aₘ
inst✝²⁰ : CommRing Bₘ
inst✝¹⁹ : Algebra Aₘ Bₘ
inst✝¹⁸ : Algebra A Aₘ
inst✝¹⁷ : Algebra B Bₘ
inst✝¹⁶ : Algebra A Bₘ
inst✝¹⁵ : IsScalarTower A Aₘ Bₘ
inst✝¹⁴ : IsScalarTower A B Bₘ
M : Submonoid A
inst✝¹³ : IsLocalization M Aₘ
inst✝¹² : IsLocalization (algebraMapSubmonoid B M) Bₘ
inst✝¹¹ : IsDomain A
inst✝¹⁰ : IsIntegrallyClosed A
inst✝⁹ : IsDomain B
inst✝⁸ : IsIntegrallyClosed B
inst✝⁷ : Module.Finite A B
inst✝⁶ : NoZeroSMulDivisors A B
inst✝⁵ : IsDomain Aₘ
inst✝⁴ : IsIntegrallyClosed Aₘ
inst✝³ : IsDomain Bₘ
inst✝² : IsIntegrallyClosed Bₘ
inst✝¹ : NoZeroSMulDivisors Aₘ Bₘ
inst✝ : Module.Finite Aₘ Bₘ
x : B
hM : M ≤ A⁰
K : Type u_1 := FractionRing A
L : Type u_4 := FractionRing B
⊢ (algebraMap A Aₘ) ((intTrace A B) x) = (intTrace Aₘ Bₘ) ((algebraMap B Bₘ) x)

tactic: have : IsIntegralClosure B A L :=
  IsIntegralClosure.of_isIntegrallyClosed _ _ _
state_before: case neg
A : Type u_1
K✝ : Type u_2
L✝ : Type u_3
B : Type u_4
inst✝³⁵ : CommRing A
inst✝³⁴ : CommRing B
inst✝³³ : Algebra A B
inst✝³² : Field K✝
inst✝³¹ : Field L✝
inst✝³⁰ : Algebra A K✝
inst✝²⁹ : IsFractionRing A K✝
inst✝²⁸ : Algebra B L✝
inst✝²⁷ : Algebra K✝ L✝
inst✝²⁶ : Algebra A L✝
inst✝²⁵ : IsScalarTower A B L✝
inst✝²⁴ : IsScalarTower A K✝ L✝
inst✝²³ : IsIntegralClosure B A L✝
inst✝²² : FiniteDimensional K✝ L✝
Aₘ : Type u_5
Bₘ : Type u_6
inst✝²¹ : CommRing Aₘ
inst✝²⁰ : CommRing Bₘ
inst✝¹⁹ : Algebra Aₘ Bₘ
inst✝¹⁸ : Algebra A Aₘ
inst✝¹⁷ : Algebra B Bₘ
inst✝¹⁶ : Algebra A Bₘ
inst✝¹⁵ : IsScalarTower A Aₘ Bₘ
inst✝¹⁴ : IsScalarTower A B Bₘ
M : Submonoid A
inst✝¹³ : IsLocalization M Aₘ
inst✝¹² : IsLocalization (algebraMapSubmonoid B M) Bₘ
inst✝¹¹ : IsDomain A
inst✝¹⁰ : IsIntegrallyClosed A
inst✝⁹ : IsDomain B
inst✝⁸ : IsIntegrallyClosed B
inst✝⁷ : Module.Finite A B
inst✝⁶ : NoZeroSMulDivisors A B
inst✝⁵ : IsDomain Aₘ
inst✝⁴ : IsIntegrallyClosed Aₘ
inst✝³ : IsDomain Bₘ
inst✝² : IsIntegrallyClosed Bₘ
inst✝¹ : NoZeroSMulDivisors Aₘ Bₘ
inst✝ : Module.Finite Aₘ Bₘ
x : B
hM : M ≤ A⁰
K : Type u_1 := FractionRing A
L : Type u_4 := FractionRing B
⊢ (algebraMap A Aₘ) ((intTrace A B) x) = (intTrace Aₘ Bₘ) ((algebraMap B Bₘ) x)
state_after: case neg
A : Type u_1
K✝ : Type u_2
L✝ : Type u_3
B : Type u_4
inst✝³⁵ : CommRing A
inst✝³⁴ : CommRing B
inst✝³³ : Algebra A B
inst✝³² : Field K✝
inst✝³¹ : Field L✝
inst✝³⁰ : Algebra A K✝
inst✝²⁹ : IsFractionRing A K✝
inst✝²⁸ : Algebra B L✝
inst✝²⁷ : Algebra K✝ L✝
inst✝²⁶ : Algebra A L✝
inst✝²⁵ : IsScalarTower A B L✝
inst✝²⁴ : IsScalarTower A K✝ L✝
inst✝²³ : IsIntegralClosure B A L✝
inst✝²² : FiniteDimensional K✝ L✝
Aₘ : Type u_5
Bₘ : Type u_6
inst✝²¹ : CommRing Aₘ
inst✝²⁰ : CommRing Bₘ
inst✝¹⁹ : Algebra Aₘ Bₘ
inst✝¹⁸ : Algebra A Aₘ
inst✝¹⁷ : Algebra B Bₘ
inst✝¹⁶ : Algebra A Bₘ
inst✝¹⁵ : IsScalarTower A Aₘ Bₘ
inst✝¹⁴ : IsScalarTower A B Bₘ
M : Submonoid A
inst✝¹³ : IsLocalization M Aₘ
inst✝¹² : IsLocalization (algebraMapSubmonoid B M) Bₘ
inst✝¹¹ : IsDomain A
inst✝¹⁰ : IsIntegrallyClosed A
inst✝⁹ : IsDomain B
inst✝⁸ : IsIntegrallyClosed B
inst✝⁷ : Module.Finite A B
inst✝⁶ : NoZeroSMulDivisors A B
inst✝⁵ : IsDomain Aₘ
inst✝⁴ : IsIntegrallyClosed Aₘ
inst✝³ : IsDomain Bₘ
inst✝² : IsIntegrallyClosed Bₘ
inst✝¹ : NoZeroSMulDivisors Aₘ Bₘ
inst✝ : Module.Finite Aₘ Bₘ
x : B
hM : M ≤ A⁰
K : Type u_1 := FractionRing A
L : Type u_4 := FractionRing B
this : IsIntegralClosure B A L
⊢ (algebraMap A Aₘ) ((intTrace A B) x) = (intTrace Aₘ Bₘ) ((algebraMap B Bₘ) x)

tactic: have : IsLocalization (algebraMapSubmonoid B A⁰) L :=
  IsIntegralClosure.isLocalization _ (FractionRing A) _ _
state_before: case neg
A : Type u_1
K✝ : Type u_2
L✝ : Type u_3
B : Type u_4
inst✝³⁵ : CommRing A
inst✝³⁴ : CommRing B
inst✝³³ : Algebra A B
inst✝³² : Field K✝
inst✝³¹ : Field L✝
inst✝³⁰ : Algebra A K✝
inst✝²⁹ : IsFractionRing A K✝
inst✝²⁸ : Algebra B L✝
inst✝²⁷ : Algebra K✝ L✝
inst✝²⁶ : Algebra A L✝
inst✝²⁵ : IsScalarTower A B L✝
inst✝²⁴ : IsScalarTower A K✝ L✝
inst✝²³ : IsIntegralClosure B A L✝
inst✝²² : FiniteDimensional K✝ L✝
Aₘ : Type u_5
Bₘ : Type u_6
inst✝²¹ : CommRing Aₘ
inst✝²⁰ : CommRing Bₘ
inst✝¹⁹ : Algebra Aₘ Bₘ
inst✝¹⁸ : Algebra A Aₘ
inst✝¹⁷ : Algebra B Bₘ
inst✝¹⁶ : Algebra A Bₘ
inst✝¹⁵ : IsScalarTower A Aₘ Bₘ
inst✝¹⁴ : IsScalarTower A B Bₘ
M : Submonoid A
inst✝¹³ : IsLocalization M Aₘ
inst✝¹² : IsLocalization (algebraMapSubmonoid B M) Bₘ
inst✝¹¹ : IsDomain A
inst✝¹⁰ : IsIntegrallyClosed A
inst✝⁹ : IsDomain B
inst✝⁸ : IsIntegrallyClosed B
inst✝⁷ : Module.Finite A B
inst✝⁶ : NoZeroSMulDivisors A B
inst✝⁵ : IsDomain Aₘ
inst✝⁴ : IsIntegrallyClosed Aₘ
inst✝³ : IsDomain Bₘ
inst✝² : IsIntegrallyClosed Bₘ
inst✝¹ : NoZeroSMulDivisors Aₘ Bₘ
inst✝ : Module.Finite Aₘ Bₘ
x : B
hM : M ≤ A⁰
K : Type u_1 := FractionRing A
L : Type u_4 := FractionRing B
this : IsIntegralClosure B A L
⊢ (algebraMap A Aₘ) ((intTrace A B) x) = (intTrace Aₘ Bₘ) ((algebraMap B Bₘ) x)
state_after: case neg
A : Type u_1
K✝ : Type u_2
L✝ : Type u_3
B : Type u_4
inst✝³⁵ : CommRing A
inst✝³⁴ : CommRing B
inst✝³³ : Algebra A B
inst✝³² : Field K✝
inst✝³¹ : Field L✝
inst✝³⁰ : Algebra A K✝
inst✝²⁹ : IsFractionRing A K✝
inst✝²⁸ : Algebra B L✝
inst✝²⁷ : Algebra K✝ L✝
inst✝²⁶ : Algebra A L✝
inst✝²⁵ : IsScalarTower A B L✝
inst✝²⁴ : IsScalarTower A K✝ L✝
inst✝²³ : IsIntegralClosure B A L✝
inst✝²² : FiniteDimensional K✝ L✝
Aₘ : Type u_5
Bₘ : Type u_6
inst✝²¹ : CommRing Aₘ
inst✝²⁰ : CommRing Bₘ
inst✝¹⁹ : Algebra Aₘ Bₘ
inst✝¹⁸ : Algebra A Aₘ
inst✝¹⁷ : Algebra B Bₘ
inst✝¹⁶ : Algebra A Bₘ
inst✝¹⁵ : IsScalarTower A Aₘ Bₘ
inst✝¹⁴ : IsScalarTower A B Bₘ
M : Submonoid A
inst✝¹³ : IsLocalization M Aₘ
inst✝¹² : IsLocalization (algebraMapSubmonoid B M) Bₘ
inst✝¹¹ : IsDomain A
inst✝¹⁰ : IsIntegrallyClosed A
inst✝⁹ : IsDomain B
inst✝⁸ : IsIntegrallyClosed B
inst✝⁷ : Module.Finite A B
inst✝⁶ : NoZeroSMulDivisors A B
inst✝⁵ : IsDomain Aₘ
inst✝⁴ : IsIntegrallyClosed Aₘ
inst✝³ : IsDomain Bₘ
inst✝² : IsIntegrallyClosed Bₘ
inst✝¹ : NoZeroSMulDivisors Aₘ Bₘ
inst✝ : Module.Finite Aₘ Bₘ
x : B
hM : M ≤ A⁰
K : Type u_1 := FractionRing A
L : Type u_4 := FractionRing B
this✝ : IsIntegralClosure B A L
this : IsLocalization (algebraMapSubmonoid B A⁰) L
⊢ (algebraMap A Aₘ) ((intTrace A B) x) = (intTrace Aₘ Bₘ) ((algebraMap B Bₘ) x)

tactic: let f : Aₘ →+* K := IsLocalization.map _ (T := A⁰) (RingHom.id A) hM
state_before: case neg
A : Type u_1
K✝ : Type u_2
L✝ : Type u_3
B : Type u_4
inst✝³⁵ : CommRing A
inst✝³⁴ : CommRing B
inst✝³³ : Algebra A B
inst✝³² : Field K✝
inst✝³¹ : Field L✝
inst✝³⁰ : Algebra A K✝
inst✝²⁹ : IsFractionRing A K✝
inst✝²⁸ : Algebra B L✝
inst✝²⁷ : Algebra K✝ L✝
inst✝²⁶ : Algebra A L✝
inst✝²⁵ : IsScalarTower A B L✝
inst✝²⁴ : IsScalarTower A K✝ L✝
inst✝²³ : IsIntegralClosure B A L✝
inst✝²² : FiniteDimensional K✝ L✝
Aₘ : Type u_5
Bₘ : Type u_6
inst✝²¹ : CommRing Aₘ
inst✝²⁰ : CommRing Bₘ
inst✝¹⁹ : Algebra Aₘ Bₘ
inst✝¹⁸ : Algebra A Aₘ
inst✝¹⁷ : Algebra B Bₘ
inst✝¹⁶ : Algebra A Bₘ
inst✝¹⁵ : IsScalarTower A Aₘ Bₘ
inst✝¹⁴ : IsScalarTower A B Bₘ
M : Submonoid A
inst✝¹³ : IsLocalization M Aₘ
inst✝¹² : IsLocalization (algebraMapSubmonoid B M) Bₘ
inst✝¹¹ : IsDomain A
inst✝¹⁰ : IsIntegrallyClosed A
inst✝⁹ : IsDomain B
inst✝⁸ : IsIntegrallyClosed B
inst✝⁷ : Module.Finite A B
inst✝⁶ : NoZeroSMulDivisors A B
inst✝⁵ : IsDomain Aₘ
inst✝⁴ : IsIntegrallyClosed Aₘ
inst✝³ : IsDomain Bₘ
inst✝² : IsIntegrallyClosed Bₘ
inst✝¹ : NoZeroSMulDivisors Aₘ Bₘ
inst✝ : Module.Finite Aₘ Bₘ
x : B
hM : M ≤ A⁰
K : Type u_1 := FractionRing A
L : Type u_4 := FractionRing B
this✝ : IsIntegralClosure B A L
this : IsLocalization (algebraMapSubmonoid B A⁰) L
⊢ (algebraMap A Aₘ) ((intTrace A B) x) = (intTrace Aₘ Bₘ) ((algebraMap B Bₘ) x)
state_after: case neg
A : Type u_1
K✝ : Type u_2
L✝ : Type u_3
B : Type u_4
inst✝³⁵ : CommRing A
inst✝³⁴ : CommRing B
inst✝³³ : Algebra A B
inst✝³² : Field K✝
inst✝³¹ : Field L✝
inst✝³⁰ : Algebra A K✝
inst✝²⁹ : IsFractionRing A K✝
inst✝²⁸ : Algebra B L✝
inst✝²⁷ : Algebra K✝ L✝
inst✝²⁶ : Algebra A L✝
inst✝²⁵ : IsScalarTower A B L✝
inst✝²⁴ : IsScalarTower A K✝ L✝
inst✝²³ : IsIntegralClosure B A L✝
inst✝²² : FiniteDimensional K✝ L✝
Aₘ : Type u_5
Bₘ : Type u_6
inst✝²¹ : CommRing Aₘ
inst✝²⁰ : CommRing Bₘ
inst✝¹⁹ : Algebra Aₘ Bₘ
inst✝¹⁸ : Algebra A Aₘ
inst✝¹⁷ : Algebra B Bₘ
inst✝¹⁶ : Algebra A Bₘ
inst✝¹⁵ : IsScalarTower A Aₘ Bₘ
inst✝¹⁴ : IsScalarTower A B Bₘ
M : Submonoid A
inst✝¹³ : IsLocalization M Aₘ
inst✝¹² : IsLocalization (algebraMapSubmonoid B M) Bₘ
inst✝¹¹ : IsDomain A
inst✝¹⁰ : IsIntegrallyClosed A
inst✝⁹ : IsDomain B
inst✝⁸ : IsIntegrallyClosed B
inst✝⁷ : Module.Finite A B
inst✝⁶ : NoZeroSMulDivisors A B
inst✝⁵ : IsDomain Aₘ
inst✝⁴ : IsIntegrallyClosed Aₘ
inst✝³ : IsDomain Bₘ
inst✝² : IsIntegrallyClosed Bₘ
inst✝¹ : NoZeroSMulDivisors Aₘ Bₘ
inst✝ : Module.Finite Aₘ Bₘ
x : B
hM : M ≤ A⁰
K : Type u_1 := FractionRing A
L : Type u_4 := FractionRing B
this✝ : IsIntegralClosure B A L
this : IsLocalization (algebraMapSubmonoid B A⁰) L
f : Aₘ →+* K := IsLocalization.map K (RingHom.id A) hM
⊢ (algebraMap A Aₘ) ((intTrace A B) x) = (intTrace Aₘ Bₘ) ((algebraMap B Bₘ) x)

tactic: letI := f.toAlgebra
state_before: case neg
A : Type u_1
K✝ : Type u_2
L✝ : Type u_3
B : Type u_4
inst✝³⁵ : CommRing A
inst✝³⁴ : CommRing B
inst✝³³ : Algebra A B
inst✝³² : Field K✝
inst✝³¹ : Field L✝
inst✝³⁰ : Algebra A K✝
inst✝²⁹ : IsFractionRing A K✝
inst✝²⁸ : Algebra B L✝
inst✝²⁷ : Algebra K✝ L✝
inst✝²⁶ : Algebra A L✝
inst✝²⁵ : IsScalarTower A B L✝
inst✝²⁴ : IsScalarTower A K✝ L✝
inst✝²³ : IsIntegralClosure B A L✝
inst✝²² : FiniteDimensional K✝ L✝
Aₘ : Type u_5
Bₘ : Type u_6
inst✝²¹ : CommRing Aₘ
inst✝²⁰ : CommRing Bₘ
inst✝¹⁹ : Algebra Aₘ Bₘ
inst✝¹⁸ : Algebra A Aₘ
inst✝¹⁷ : Algebra B Bₘ
inst✝¹⁶ : Algebra A Bₘ
inst✝¹⁵ : IsScalarTower A Aₘ Bₘ
inst✝¹⁴ : IsScalarTower A B Bₘ
M : Submonoid A
inst✝¹³ : IsLocalization M Aₘ
inst✝¹² : IsLocalization (algebraMapSubmonoid B M) Bₘ
inst✝¹¹ : IsDomain A
inst✝¹⁰ : IsIntegrallyClosed A
inst✝⁹ : IsDomain B
inst✝⁸ : IsIntegrallyClosed B
inst✝⁷ : Module.Finite A B
inst✝⁶ : NoZeroSMulDivisors A B
inst✝⁵ : IsDomain Aₘ
inst✝⁴ : IsIntegrallyClosed Aₘ
inst✝³ : IsDomain Bₘ
inst✝² : IsIntegrallyClosed Bₘ
inst✝¹ : NoZeroSMulDivisors Aₘ Bₘ
inst✝ : Module.Finite Aₘ Bₘ
x : B
hM : M ≤ A⁰
K : Type u_1 := FractionRing A
L : Type u_4 := FractionRing B
this✝ : IsIntegralClosure B A L
this : IsLocalization (algebraMapSubmonoid B A⁰) L
f : Aₘ →+* K := IsLocalization.map K (RingHom.id A) hM
⊢ (algebraMap A Aₘ) ((intTrace A B) x) = (intTrace Aₘ Bₘ) ((algebraMap B Bₘ) x)
state_after: case neg
A : Type u_1
K✝ : Type u_2
L✝ : Type u_3
B : Type u_4
inst✝³⁵ : CommRing A
inst✝³⁴ : CommRing B
inst✝³³ : Algebra A B
inst✝³² : Field K✝
inst✝³¹ : Field L✝
inst✝³⁰ : Algebra A K✝
inst✝²⁹ : IsFractionRing A K✝
inst✝²⁸ : Algebra B L✝
inst✝²⁷ : Algebra K✝ L✝
inst✝²⁶ : Algebra A L✝
inst✝²⁵ : IsScalarTower A B L✝
inst✝²⁴ : IsScalarTower A K✝ L✝
inst✝²³ : IsIntegralClosure B A L✝
inst✝²² : FiniteDimensional K✝ L✝
Aₘ : Type u_5
Bₘ : Type u_6
inst✝²¹ : CommRing Aₘ
inst✝²⁰ : CommRing Bₘ
inst✝¹⁹ : Algebra Aₘ Bₘ
inst✝¹⁸ : Algebra A Aₘ
inst✝¹⁷ : Algebra B Bₘ
inst✝¹⁶ : Algebra A Bₘ
inst✝¹⁵ : IsScalarTower A Aₘ Bₘ
inst✝¹⁴ : IsScalarTower A B Bₘ
M : Submonoid A
inst✝¹³ : IsLocalization M Aₘ
inst✝¹² : IsLocalization (algebraMapSubmonoid B M) Bₘ
inst✝¹¹ : IsDomain A
inst✝¹⁰ : IsIntegrallyClosed A
inst✝⁹ : IsDomain B
inst✝⁸ : IsIntegrallyClosed B
inst✝⁷ : Module.Finite A B
inst✝⁶ : NoZeroSMulDivisors A B
inst✝⁵ : IsDomain Aₘ
inst✝⁴ : IsIntegrallyClosed Aₘ
inst✝³ : IsDomain Bₘ
inst✝² : IsIntegrallyClosed Bₘ
inst✝¹ : NoZeroSMulDivisors Aₘ Bₘ
inst✝ : Module.Finite Aₘ Bₘ
x : B
hM : M ≤ A⁰
K : Type u_1 := FractionRing A
L : Type u_4 := FractionRing B
this✝¹ : IsIntegralClosure B A L
this✝ : IsLocalization (algebraMapSubmonoid B A⁰) L
f : Aₘ →+* K := IsLocalization.map K (RingHom.id A) hM
this : Algebra Aₘ K := f.toAlgebra
⊢ (algebraMap A Aₘ) ((intTrace A B) x) = (intTrace Aₘ Bₘ) ((algebraMap B Bₘ) x)

tactic: have : IsScalarTower A Aₘ K := IsScalarTower.of_algebraMap_eq'
  (by rw [RingHom.algebraMap_toAlgebra, IsLocalization.map_comp, RingHomCompTriple.comp_eq])
state_before: case neg
A : Type u_1
K✝ : Type u_2
L✝ : Type u_3
B : Type u_4
inst✝³⁵ : CommRing A
inst✝³⁴ : CommRing B
inst✝³³ : Algebra A B
inst✝³² : Field K✝
inst✝³¹ : Field L✝
inst✝³⁰ : Algebra A K✝
inst✝²⁹ : IsFractionRing A K✝
inst✝²⁸ : Algebra B L✝
inst✝²⁷ : Algebra K✝ L✝
inst✝²⁶ : Algebra A L✝
inst✝²⁵ : IsScalarTower A B L✝
inst✝²⁴ : IsScalarTower A K✝ L✝
inst✝²³ : IsIntegralClosure B A L✝
inst✝²² : FiniteDimensional K✝ L✝
Aₘ : Type u_5
Bₘ : Type u_6
inst✝²¹ : CommRing Aₘ
inst✝²⁰ : CommRing Bₘ
inst✝¹⁹ : Algebra Aₘ Bₘ
inst✝¹⁸ : Algebra A Aₘ
inst✝¹⁷ : Algebra B Bₘ
inst✝¹⁶ : Algebra A Bₘ
inst✝¹⁵ : IsScalarTower A Aₘ Bₘ
inst✝¹⁴ : IsScalarTower A B Bₘ
M : Submonoid A
inst✝¹³ : IsLocalization M Aₘ
inst✝¹² : IsLocalization (algebraMapSubmonoid B M) Bₘ
inst✝¹¹ : IsDomain A
inst✝¹⁰ : IsIntegrallyClosed A
inst✝⁹ : IsDomain B
inst✝⁸ : IsIntegrallyClosed B
inst✝⁷ : Module.Finite A B
inst✝⁶ : NoZeroSMulDivisors A B
inst✝⁵ : IsDomain Aₘ
inst✝⁴ : IsIntegrallyClosed Aₘ
inst✝³ : IsDomain Bₘ
inst✝² : IsIntegrallyClosed Bₘ
inst✝¹ : NoZeroSMulDivisors Aₘ Bₘ
inst✝ : Module.Finite Aₘ Bₘ
x : B
hM : M ≤ A⁰
K : Type u_1 := FractionRing A
L : Type u_4 := FractionRing B
this✝¹ : IsIntegralClosure B A L
this✝ : IsLocalization (algebraMapSubmonoid B A⁰) L
f : Aₘ →+* K := IsLocalization.map K (RingHom.id A) hM
this : Algebra Aₘ K := f.toAlgebra
⊢ (algebraMap A Aₘ) ((intTrace A B) x) = (intTrace Aₘ Bₘ) ((algebraMap B Bₘ) x)
state_after: case neg
A : Type u_1
K✝ : Type u_2
L✝ : Type u_3
B : Type u_4
inst✝³⁵ : CommRing A
inst✝³⁴ : CommRing B
inst✝³³ : Algebra A B
inst✝³² : Field K✝
inst✝³¹ : Field L✝
inst✝³⁰ : Algebra A K✝
inst✝²⁹ : IsFractionRing A K✝
inst✝²⁸ : Algebra B L✝
inst✝²⁷ : Algebra K✝ L✝
inst✝²⁶ : Algebra A L✝
inst✝²⁵ : IsScalarTower A B L✝
inst✝²⁴ : IsScalarTower A K✝ L✝
inst✝²³ : IsIntegralClosure B A L✝
inst✝²² : FiniteDimensional K✝ L✝
Aₘ : Type u_5
Bₘ : Type u_6
inst✝²¹ : CommRing Aₘ
inst✝²⁰ : CommRing Bₘ
inst✝¹⁹ : Algebra Aₘ Bₘ
inst✝¹⁸ : Algebra A Aₘ
inst✝¹⁷ : Algebra B Bₘ
inst✝¹⁶ : Algebra A Bₘ
inst✝¹⁵ : IsScalarTower A Aₘ Bₘ
inst✝¹⁴ : IsScalarTower A B Bₘ
M : Submonoid A
inst✝¹³ : IsLocalization M Aₘ
inst✝¹² : IsLocalization (algebraMapSubmonoid B M) Bₘ
inst✝¹¹ : IsDomain A
inst✝¹⁰ : IsIntegrallyClosed A
inst✝⁹ : IsDomain B
inst✝⁸ : IsIntegrallyClosed B
inst✝⁷ : Module.Finite A B
inst✝⁶ : NoZeroSMulDivisors A B
inst✝⁵ : IsDomain Aₘ
inst✝⁴ : IsIntegrallyClosed Aₘ
inst✝³ : IsDomain Bₘ
inst✝² : IsIntegrallyClosed Bₘ
inst✝¹ : NoZeroSMulDivisors Aₘ Bₘ
inst✝ : Module.Finite Aₘ Bₘ
x : B
hM : M ≤ A⁰
K : Type u_1 := FractionRing A
L : Type u_4 := FractionRing B
this✝² : IsIntegralClosure B A L
this✝¹ : IsLocalization (algebraMapSubmonoid B A⁰) L
f : Aₘ →+* K := IsLocalization.map K (RingHom.id A) hM
this✝ : Algebra Aₘ K := f.toAlgebra
this : IsScalarTower A Aₘ K
⊢ (algebraMap A Aₘ) ((intTrace A B) x) = (intTrace Aₘ Bₘ) ((algebraMap B Bₘ) x)

tactic: letI := IsFractionRing.isFractionRing_of_isDomain_of_isLocalization M Aₘ K
state_before: case neg
A : Type u_1
K✝ : Type u_2
L✝ : Type u_3
B : Type u_4
inst✝³⁵ : CommRing A
inst✝³⁴ : CommRing B
inst✝³³ : Algebra A B
inst✝³² : Field K✝
inst✝³¹ : Field L✝
inst✝³⁰ : Algebra A K✝
inst✝²⁹ : IsFractionRing A K✝
inst✝²⁸ : Algebra B L✝
inst✝²⁷ : Algebra K✝ L✝
inst✝²⁶ : Algebra A L✝
inst✝²⁵ : IsScalarTower A B L✝
inst✝²⁴ : IsScalarTower A K✝ L✝
inst✝²³ : IsIntegralClosure B A L✝
inst✝²² : FiniteDimensional K✝ L✝
Aₘ : Type u_5
Bₘ : Type u_6
inst✝²¹ : CommRing Aₘ
inst✝²⁰ : CommRing Bₘ
inst✝¹⁹ : Algebra Aₘ Bₘ
inst✝¹⁸ : Algebra A Aₘ
inst✝¹⁷ : Algebra B Bₘ
inst✝¹⁶ : Algebra A Bₘ
inst✝¹⁵ : IsScalarTower A Aₘ Bₘ
inst✝¹⁴ : IsScalarTower A B Bₘ
M : Submonoid A
inst✝¹³ : IsLocalization M Aₘ
inst✝¹² : IsLocalization (algebraMapSubmonoid B M) Bₘ
inst✝¹¹ : IsDomain A
inst✝¹⁰ : IsIntegrallyClosed A
inst✝⁹ : IsDomain B
inst✝⁸ : IsIntegrallyClosed B
inst✝⁷ : Module.Finite A B
inst✝⁶ : NoZeroSMulDivisors A B
inst✝⁵ : IsDomain Aₘ
inst✝⁴ : IsIntegrallyClosed Aₘ
inst✝³ : IsDomain Bₘ
inst✝² : IsIntegrallyClosed Bₘ
inst✝¹ : NoZeroSMulDivisors Aₘ Bₘ
inst✝ : Module.Finite Aₘ Bₘ
x : B
hM : M ≤ A⁰
K : Type u_1 := FractionRing A
L : Type u_4 := FractionRing B
this✝² : IsIntegralClosure B A L
this✝¹ : IsLocalization (algebraMapSubmonoid B A⁰) L
f : Aₘ →+* K := IsLocalization.map K (RingHom.id A) hM
this✝ : Algebra Aₘ K := f.toAlgebra
this : IsScalarTower A Aₘ K
⊢ (algebraMap A Aₘ) ((intTrace A B) x) = (intTrace Aₘ Bₘ) ((algebraMap B Bₘ) x)
state_after: case neg
A : Type u_1
K✝ : Type u_2
L✝ : Type u_3
B : Type u_4
inst✝³⁵ : CommRing A
inst✝³⁴ : CommRing B
inst✝³³ : Algebra A B
inst✝³² : Field K✝
inst✝³¹ : Field L✝
inst✝³⁰ : Algebra A K✝
inst✝²⁹ : IsFractionRing A K✝
inst✝²⁸ : Algebra B L✝
inst✝²⁷ : Algebra K✝ L✝
inst✝²⁶ : Algebra A L✝
inst✝²⁵ : IsScalarTower A B L✝
inst✝²⁴ : IsScalarTower A K✝ L✝
inst✝²³ : IsIntegralClosure B A L✝
inst✝²² : FiniteDimensional K✝ L✝
Aₘ : Type u_5
Bₘ : Type u_6
inst✝²¹ : CommRing Aₘ
inst✝²⁰ : CommRing Bₘ
inst✝¹⁹ : Algebra Aₘ Bₘ
inst✝¹⁸ : Algebra A Aₘ
inst✝¹⁷ : Algebra B Bₘ
inst✝¹⁶ : Algebra A Bₘ
inst✝¹⁵ : IsScalarTower A Aₘ Bₘ
inst✝¹⁴ : IsScalarTower A B Bₘ
M : Submonoid A
inst✝¹³ : IsLocalization M Aₘ
inst✝¹² : IsLocalization (algebraMapSubmonoid B M) Bₘ
inst✝¹¹ : IsDomain A
inst✝¹⁰ : IsIntegrallyClosed A
inst✝⁹ : IsDomain B
inst✝⁸ : IsIntegrallyClosed B
inst✝⁷ : Module.Finite A B
inst✝⁶ : NoZeroSMulDivisors A B
inst✝⁵ : IsDomain Aₘ
inst✝⁴ : IsIntegrallyClosed Aₘ
inst✝³ : IsDomain Bₘ
inst✝² : IsIntegrallyClosed Bₘ
inst✝¹ : NoZeroSMulDivisors Aₘ Bₘ
inst✝ : Module.Finite Aₘ Bₘ
x : B
hM : M ≤ A⁰
K : Type u_1 := FractionRing A
L : Type u_4 := FractionRing B
this✝³ : IsIntegralClosure B A L
this✝² : IsLocalization (algebraMapSubmonoid B A⁰) L
f : Aₘ →+* K := IsLocalization.map K (RingHom.id A) hM
this✝¹ : Algebra Aₘ K := f.toAlgebra
this✝ : IsScalarTower A Aₘ K
this : IsFractionRing Aₘ K := IsFractionRing.isFractionRing_of_isDomain_of_isLocalization M Aₘ K
⊢ (algebraMap A Aₘ) ((intTrace A B) x) = (intTrace Aₘ Bₘ) ((algebraMap B Bₘ) x)

tactic: let g : Bₘ →+* L := IsLocalization.map _
    (M := algebraMapSubmonoid B M) (T := algebraMapSubmonoid B A⁰)
    (RingHom.id B) (Submonoid.monotone_map hM)
state_before: case neg
A : Type u_1
K✝ : Type u_2
L✝ : Type u_3
B : Type u_4
inst✝³⁵ : CommRing A
inst✝³⁴ : CommRing B
inst✝³³ : Algebra A B
inst✝³² : Field K✝
inst✝³¹ : Field L✝
inst✝³⁰ : Algebra A K✝
inst✝²⁹ : IsFractionRing A K✝
inst✝²⁸ : Algebra B L✝
inst✝²⁷ : Algebra K✝ L✝
inst✝²⁶ : Algebra A L✝
inst✝²⁵ : IsScalarTower A B L✝
inst✝²⁴ : IsScalarTower A K✝ L✝
inst✝²³ : IsIntegralClosure B A L✝
inst✝²² : FiniteDimensional K✝ L✝
Aₘ : Type u_5
Bₘ : Type u_6
inst✝²¹ : CommRing Aₘ
inst✝²⁰ : CommRing Bₘ
inst✝¹⁹ : Algebra Aₘ Bₘ
inst✝¹⁸ : Algebra A Aₘ
inst✝¹⁷ : Algebra B Bₘ
inst✝¹⁶ : Algebra A Bₘ
inst✝¹⁵ : IsScalarTower A Aₘ Bₘ
inst✝¹⁴ : IsScalarTower A B Bₘ
M : Submonoid A
inst✝¹³ : IsLocalization M Aₘ
inst✝¹² : IsLocalization (algebraMapSubmonoid B M) Bₘ
inst✝¹¹ : IsDomain A
inst✝¹⁰ : IsIntegrallyClosed A
inst✝⁹ : IsDomain B
inst✝⁸ : IsIntegrallyClosed B
inst✝⁷ : Module.Finite A B
inst✝⁶ : NoZeroSMulDivisors A B
inst✝⁵ : IsDomain Aₘ
inst✝⁴ : IsIntegrallyClosed Aₘ
inst✝³ : IsDomain Bₘ
inst✝² : IsIntegrallyClosed Bₘ
inst✝¹ : NoZeroSMulDivisors Aₘ Bₘ
inst✝ : Module.Finite Aₘ Bₘ
x : B
hM : M ≤ A⁰
K : Type u_1 := FractionRing A
L : Type u_4 := FractionRing B
this✝³ : IsIntegralClosure B A L
this✝² : IsLocalization (algebraMapSubmonoid B A⁰) L
f : Aₘ →+* K := IsLocalization.map K (RingHom.id A) hM
this✝¹ : Algebra Aₘ K := f.toAlgebra
this✝ : IsScalarTower A Aₘ K
this : IsFractionRing Aₘ K := IsFractionRing.isFractionRing_of_isDomain_of_isLocalization M Aₘ K
⊢ (algebraMap A Aₘ) ((intTrace A B) x) = (intTrace Aₘ Bₘ) ((algebraMap B Bₘ) x)
state_after: case neg
A : Type u_1
K✝ : Type u_2
L✝ : Type u_3
B : Type u_4
inst✝³⁵ : CommRing A
inst✝³⁴ : CommRing B
inst✝³³ : Algebra A B
inst✝³² : Field K✝
inst✝³¹ : Field L✝
inst✝³⁰ : Algebra A K✝
inst✝²⁹ : IsFractionRing A K✝
inst✝²⁸ : Algebra B L✝
inst✝²⁷ : Algebra K✝ L✝
inst✝²⁶ : Algebra A L✝
inst✝²⁵ : IsScalarTower A B L✝
inst✝²⁴ : IsScalarTower A K✝ L✝
inst✝²³ : IsIntegralClosure B A L✝
inst✝²² : FiniteDimensional K✝ L✝
Aₘ : Type u_5
Bₘ : Type u_6
inst✝²¹ : CommRing Aₘ
inst✝²⁰ : CommRing Bₘ
inst✝¹⁹ : Algebra Aₘ Bₘ
inst✝¹⁸ : Algebra A Aₘ
inst✝¹⁷ : Algebra B Bₘ
inst✝¹⁶ : Algebra A Bₘ
inst✝¹⁵ : IsScalarTower A Aₘ Bₘ
inst✝¹⁴ : IsScalarTower A B Bₘ
M : Submonoid A
inst✝¹³ : IsLocalization M Aₘ
inst✝¹² : IsLocalization (algebraMapSubmonoid B M) Bₘ
inst✝¹¹ : IsDomain A
inst✝¹⁰ : IsIntegrallyClosed A
inst✝⁹ : IsDomain B
inst✝⁸ : IsIntegrallyClosed B
inst✝⁷ : Module.Finite A B
inst✝⁶ : NoZeroSMulDivisors A B
inst✝⁵ : IsDomain Aₘ
inst✝⁴ : IsIntegrallyClosed Aₘ
inst✝³ : IsDomain Bₘ
inst✝² : IsIntegrallyClosed Bₘ
inst✝¹ : NoZeroSMulDivisors Aₘ Bₘ
inst✝ : Module.Finite Aₘ Bₘ
x : B
hM : M ≤ A⁰
K : Type u_1 := FractionRing A
L : Type u_4 := FractionRing B
this✝³ : IsIntegralClosure B A L
this✝² : IsLocalization (algebraMapSubmonoid B A⁰) L
f : Aₘ →+* K := IsLocalization.map K (RingHom.id A) hM
this✝¹ : Algebra Aₘ K := f.toAlgebra
this✝ : IsScalarTower A Aₘ K
this : IsFractionRing Aₘ K := IsFractionRing.isFractionRing_of_isDomain_of_isLocalization M Aₘ K
g : Bₘ →+* L := IsLocalization.map L (RingHom.id B) ⋯
⊢ (algebraMap A Aₘ) ((intTrace A B) x) = (intTrace Aₘ Bₘ) ((algebraMap B Bₘ) x)

tactic: letI := g.toAlgebra
state_before: case neg
A : Type u_1
K✝ : Type u_2
L✝ : Type u_3
B : Type u_4
inst✝³⁵ : CommRing A
inst✝³⁴ : CommRing B
inst✝³³ : Algebra A B
inst✝³² : Field K✝
inst✝³¹ : Field L✝
inst✝³⁰ : Algebra A K✝
inst✝²⁹ : IsFractionRing A K✝
inst✝²⁸ : Algebra B L✝
inst✝²⁷ : Algebra K✝ L✝
inst✝²⁶ : Algebra A L✝
inst✝²⁵ : IsScalarTower A B L✝
inst✝²⁴ : IsScalarTower A K✝ L✝
inst✝²³ : IsIntegralClosure B A L✝
inst✝²² : FiniteDimensional K✝ L✝
Aₘ : Type u_5
Bₘ : Type u_6
inst✝²¹ : CommRing Aₘ
inst✝²⁰ : CommRing Bₘ
inst✝¹⁹ : Algebra Aₘ Bₘ
inst✝¹⁸ : Algebra A Aₘ
inst✝¹⁷ : Algebra B Bₘ
inst✝¹⁶ : Algebra A Bₘ
inst✝¹⁵ : IsScalarTower A Aₘ Bₘ
inst✝¹⁴ : IsScalarTower A B Bₘ
M : Submonoid A
inst✝¹³ : IsLocalization M Aₘ
inst✝¹² : IsLocalization (algebraMapSubmonoid B M) Bₘ
inst✝¹¹ : IsDomain A
inst✝¹⁰ : IsIntegrallyClosed A
inst✝⁹ : IsDomain B
inst✝⁸ : IsIntegrallyClosed B
inst✝⁷ : Module.Finite A B
inst✝⁶ : NoZeroSMulDivisors A B
inst✝⁵ : IsDomain Aₘ
inst✝⁴ : IsIntegrallyClosed Aₘ
inst✝³ : IsDomain Bₘ
inst✝² : IsIntegrallyClosed Bₘ
inst✝¹ : NoZeroSMulDivisors Aₘ Bₘ
inst✝ : Module.Finite Aₘ Bₘ
x : B
hM : M ≤ A⁰
K : Type u_1 := FractionRing A
L : Type u_4 := FractionRing B
this✝³ : IsIntegralClosure B A L
this✝² : IsLocalization (algebraMapSubmonoid B A⁰) L
f : Aₘ →+* K := IsLocalization.map K (RingHom.id A) hM
this✝¹ : Algebra Aₘ K := f.toAlgebra
this✝ : IsScalarTower A Aₘ K
this : IsFractionRing Aₘ K := IsFractionRing.isFractionRing_of_isDomain_of_isLocalization M Aₘ K
g : Bₘ →+* L := IsLocalization.map L (RingHom.id B) ⋯
⊢ (algebraMap A Aₘ) ((intTrace A B) x) = (intTrace Aₘ Bₘ) ((algebraMap B Bₘ) x)
state_after: case neg
A : Type u_1
K✝ : Type u_2
L✝ : Type u_3
B : Type u_4
inst✝³⁵ : CommRing A
inst✝³⁴ : CommRing B
inst✝³³ : Algebra A B
inst✝³² : Field K✝
inst✝³¹ : Field L✝
inst✝³⁰ : Algebra A K✝
inst✝²⁹ : IsFractionRing A K✝
inst✝²⁸ : Algebra B L✝
inst✝²⁷ : Algebra K✝ L✝
inst✝²⁶ : Algebra A L✝
inst✝²⁵ : IsScalarTower A B L✝
inst✝²⁴ : IsScalarTower A K✝ L✝
inst✝²³ : IsIntegralClosure B A L✝
inst✝²² : FiniteDimensional K✝ L✝
Aₘ : Type u_5
Bₘ : Type u_6
inst✝²¹ : CommRing Aₘ
inst✝²⁰ : CommRing Bₘ
inst✝¹⁹ : Algebra Aₘ Bₘ
inst✝¹⁸ : Algebra A Aₘ
inst✝¹⁷ : Algebra B Bₘ
inst✝¹⁶ : Algebra A Bₘ
inst✝¹⁵ : IsScalarTower A Aₘ Bₘ
inst✝¹⁴ : IsScalarTower A B Bₘ
M : Submonoid A
inst✝¹³ : IsLocalization M Aₘ
inst✝¹² : IsLocalization (algebraMapSubmonoid B M) Bₘ
inst✝¹¹ : IsDomain A
inst✝¹⁰ : IsIntegrallyClosed A
inst✝⁹ : IsDomain B
inst✝⁸ : IsIntegrallyClosed B
inst✝⁷ : Module.Finite A B
inst✝⁶ : NoZeroSMulDivisors A B
inst✝⁵ : IsDomain Aₘ
inst✝⁴ : IsIntegrallyClosed Aₘ
inst✝³ : IsDomain Bₘ
inst✝² : IsIntegrallyClosed Bₘ
inst✝¹ : NoZeroSMulDivisors Aₘ Bₘ
inst✝ : Module.Finite Aₘ Bₘ
x : B
hM : M ≤ A⁰
K : Type u_1 := FractionRing A
L : Type u_4 := FractionRing B
this✝⁴ : IsIntegralClosure B A L
this✝³ : IsLocalization (algebraMapSubmonoid B A⁰) L
f : Aₘ →+* K := IsLocalization.map K (RingHom.id A) hM
this✝² : Algebra Aₘ K := f.toAlgebra
this✝¹ : IsScalarTower A Aₘ K
this✝ : IsFractionRing Aₘ K := IsFractionRing.isFractionRing_of_isDomain_of_isLocalization M Aₘ K
g : Bₘ →+* L := IsLocalization.map L (RingHom.id B) ⋯
this : Algebra Bₘ L := g.toAlgebra
⊢ (algebraMap A Aₘ) ((intTrace A B) x) = (intTrace Aₘ Bₘ) ((algebraMap B Bₘ) x)

tactic: have : IsScalarTower B Bₘ L := IsScalarTower.of_algebraMap_eq'
  (by rw [RingHom.algebraMap_toAlgebra, IsLocalization.map_comp, RingHomCompTriple.comp_eq])
state_before: case neg
A : Type u_1
K✝ : Type u_2
L✝ : Type u_3
B : Type u_4
inst✝³⁵ : CommRing A
inst✝³⁴ : CommRing B
inst✝³³ : Algebra A B
inst✝³² : Field K✝
inst✝³¹ : Field L✝
inst✝³⁰ : Algebra A K✝
inst✝²⁹ : IsFractionRing A K✝
inst✝²⁸ : Algebra B L✝
inst✝²⁷ : Algebra K✝ L✝
inst✝²⁶ : Algebra A L✝
inst✝²⁵ : IsScalarTower A B L✝
inst✝²⁴ : IsScalarTower A K✝ L✝
inst✝²³ : IsIntegralClosure B A L✝
inst✝²² : FiniteDimensional K✝ L✝
Aₘ : Type u_5
Bₘ : Type u_6
inst✝²¹ : CommRing Aₘ
inst✝²⁰ : CommRing Bₘ
inst✝¹⁹ : Algebra Aₘ Bₘ
inst✝¹⁸ : Algebra A Aₘ
inst✝¹⁷ : Algebra B Bₘ
inst✝¹⁶ : Algebra A Bₘ
inst✝¹⁵ : IsScalarTower A Aₘ Bₘ
inst✝¹⁴ : IsScalarTower A B Bₘ
M : Submonoid A
inst✝¹³ : IsLocalization M Aₘ
inst✝¹² : IsLocalization (algebraMapSubmonoid B M) Bₘ
inst✝¹¹ : IsDomain A
inst✝¹⁰ : IsIntegrallyClosed A
inst✝⁹ : IsDomain B
inst✝⁸ : IsIntegrallyClosed B
inst✝⁷ : Module.Finite A B
inst✝⁶ : NoZeroSMulDivisors A B
inst✝⁵ : IsDomain Aₘ
inst✝⁴ : IsIntegrallyClosed Aₘ
inst✝³ : IsDomain Bₘ
inst✝² : IsIntegrallyClosed Bₘ
inst✝¹ : NoZeroSMulDivisors Aₘ Bₘ
inst✝ : Module.Finite Aₘ Bₘ
x : B
hM : M ≤ A⁰
K : Type u_1 := FractionRing A
L : Type u_4 := FractionRing B
this✝⁴ : IsIntegralClosure B A L
this✝³ : IsLocalization (algebraMapSubmonoid B A⁰) L
f : Aₘ →+* K := IsLocalization.map K (RingHom.id A) hM
this✝² : Algebra Aₘ K := f.toAlgebra
this✝¹ : IsScalarTower A Aₘ K
this✝ : IsFractionRing Aₘ K := IsFractionRing.isFractionRing_of_isDomain_of_isLocalization M Aₘ K
g : Bₘ →+* L := IsLocalization.map L (RingHom.id B) ⋯
this : Algebra Bₘ L := g.toAlgebra
⊢ (algebraMap A Aₘ) ((intTrace A B) x) = (intTrace Aₘ Bₘ) ((algebraMap B Bₘ) x)
state_after: case neg
A : Type u_1
K✝ : Type u_2
L✝ : Type u_3
B : Type u_4
inst✝³⁵ : CommRing A
inst✝³⁴ : CommRing B
inst✝³³ : Algebra A B
inst✝³² : Field K✝
inst✝³¹ : Field L✝
inst✝³⁰ : Algebra A K✝
inst✝²⁹ : IsFractionRing A K✝
inst✝²⁸ : Algebra B L✝
inst✝²⁷ : Algebra K✝ L✝
inst✝²⁶ : Algebra A L✝
inst✝²⁵ : IsScalarTower A B L✝
inst✝²⁴ : IsScalarTower A K✝ L✝
inst✝²³ : IsIntegralClosure B A L✝
inst✝²² : FiniteDimensional K✝ L✝
Aₘ : Type u_5
Bₘ : Type u_6
inst✝²¹ : CommRing Aₘ
inst✝²⁰ : CommRing Bₘ
inst✝¹⁹ : Algebra Aₘ Bₘ
inst✝¹⁸ : Algebra A Aₘ
inst✝¹⁷ : Algebra B Bₘ
inst✝¹⁶ : Algebra A Bₘ
inst✝¹⁵ : IsScalarTower A Aₘ Bₘ
inst✝¹⁴ : IsScalarTower A B Bₘ
M : Submonoid A
inst✝¹³ : IsLocalization M Aₘ
inst✝¹² : IsLocalization (algebraMapSubmonoid B M) Bₘ
inst✝¹¹ : IsDomain A
inst✝¹⁰ : IsIntegrallyClosed A
inst✝⁹ : IsDomain B
inst✝⁸ : IsIntegrallyClosed B
inst✝⁷ : Module.Finite A B
inst✝⁶ : NoZeroSMulDivisors A B
inst✝⁵ : IsDomain Aₘ
inst✝⁴ : IsIntegrallyClosed Aₘ
inst✝³ : IsDomain Bₘ
inst✝² : IsIntegrallyClosed Bₘ
inst✝¹ : NoZeroSMulDivisors Aₘ Bₘ
inst✝ : Module.Finite Aₘ Bₘ
x : B
hM : M ≤ A⁰
K : Type u_1 := FractionRing A
L : Type u_4 := FractionRing B
this✝⁵ : IsIntegralClosure B A L
this✝⁴ : IsLocalization (algebraMapSubmonoid B A⁰) L
f : Aₘ →+* K := IsLocalization.map K (RingHom.id A) hM
this✝³ : Algebra Aₘ K := f.toAlgebra
this✝² : IsScalarTower A Aₘ K
this✝¹ : IsFractionRing Aₘ K := IsFractionRing.isFractionRing_of_isDomain_of_isLocalization M Aₘ K
g : Bₘ →+* L := IsLocalization.map L (RingHom.id B) ⋯
this✝ : Algebra Bₘ L := g.toAlgebra
this : IsScalarTower B Bₘ L
⊢ (algebraMap A Aₘ) ((intTrace A B) x) = (intTrace Aₘ Bₘ) ((algebraMap B Bₘ) x)

tactic: letI := ((algebraMap K L).comp f).toAlgebra
state_before: case neg
A : Type u_1
K✝ : Type u_2
L✝ : Type u_3
B : Type u_4
inst✝³⁵ : CommRing A
inst✝³⁴ : CommRing B
inst✝³³ : Algebra A B
inst✝³² : Field K✝
inst✝³¹ : Field L✝
inst✝³⁰ : Algebra A K✝
inst✝²⁹ : IsFractionRing A K✝
inst✝²⁸ : Algebra B L✝
inst✝²⁷ : Algebra K✝ L✝
inst✝²⁶ : Algebra A L✝
inst✝²⁵ : IsScalarTower A B L✝
inst✝²⁴ : IsScalarTower A K✝ L✝
inst✝²³ : IsIntegralClosure B A L✝
inst✝²² : FiniteDimensional K✝ L✝
Aₘ : Type u_5
Bₘ : Type u_6
inst✝²¹ : CommRing Aₘ
inst✝²⁰ : CommRing Bₘ
inst✝¹⁹ : Algebra Aₘ Bₘ
inst✝¹⁸ : Algebra A Aₘ
inst✝¹⁷ : Algebra B Bₘ
inst✝¹⁶ : Algebra A Bₘ
inst✝¹⁵ : IsScalarTower A Aₘ Bₘ
inst✝¹⁴ : IsScalarTower A B Bₘ
M : Submonoid A
inst✝¹³ : IsLocalization M Aₘ
inst✝¹² : IsLocalization (algebraMapSubmonoid B M) Bₘ
inst✝¹¹ : IsDomain A
inst✝¹⁰ : IsIntegrallyClosed A
inst✝⁹ : IsDomain B
inst✝⁸ : IsIntegrallyClosed B
inst✝⁷ : Module.Finite A B
inst✝⁶ : NoZeroSMulDivisors A B
inst✝⁵ : IsDomain Aₘ
inst✝⁴ : IsIntegrallyClosed Aₘ
inst✝³ : IsDomain Bₘ
inst✝² : IsIntegrallyClosed Bₘ
inst✝¹ : NoZeroSMulDivisors Aₘ Bₘ
inst✝ : Module.Finite Aₘ Bₘ
x : B
hM : M ≤ A⁰
K : Type u_1 := FractionRing A
L : Type u_4 := FractionRing B
this✝⁵ : IsIntegralClosure B A L
this✝⁴ : IsLocalization (algebraMapSubmonoid B A⁰) L
f : Aₘ →+* K := IsLocalization.map K (RingHom.id A) hM
this✝³ : Algebra Aₘ K := f.toAlgebra
this✝² : IsScalarTower A Aₘ K
this✝¹ : IsFractionRing Aₘ K := IsFractionRing.isFractionRing_of_isDomain_of_isLocalization M Aₘ K
g : Bₘ →+* L := IsLocalization.map L (RingHom.id B) ⋯
this✝ : Algebra Bₘ L := g.toAlgebra
this : IsScalarTower B Bₘ L
⊢ (algebraMap A Aₘ) ((intTrace A B) x) = (intTrace Aₘ Bₘ) ((algebraMap B Bₘ) x)
state_after: case neg
A : Type u_1
K✝ : Type u_2
L✝ : Type u_3
B : Type u_4
inst✝³⁵ : CommRing A
inst✝³⁴ : CommRing B
inst✝³³ : Algebra A B
inst✝³² : Field K✝
inst✝³¹ : Field L✝
inst✝³⁰ : Algebra A K✝
inst✝²⁹ : IsFractionRing A K✝
inst✝²⁸ : Algebra B L✝
inst✝²⁷ : Algebra K✝ L✝
inst✝²⁶ : Algebra A L✝
inst✝²⁵ : IsScalarTower A B L✝
inst✝²⁴ : IsScalarTower A K✝ L✝
inst✝²³ : IsIntegralClosure B A L✝
inst✝²² : FiniteDimensional K✝ L✝
Aₘ : Type u_5
Bₘ : Type u_6
inst✝²¹ : CommRing Aₘ
inst✝²⁰ : CommRing Bₘ
inst✝¹⁹ : Algebra Aₘ Bₘ
inst✝¹⁸ : Algebra A Aₘ
inst✝¹⁷ : Algebra B Bₘ
inst✝¹⁶ : Algebra A Bₘ
inst✝¹⁵ : IsScalarTower A Aₘ Bₘ
inst✝¹⁴ : IsScalarTower A B Bₘ
M : Submonoid A
inst✝¹³ : IsLocalization M Aₘ
inst✝¹² : IsLocalization (algebraMapSubmonoid B M) Bₘ
inst✝¹¹ : IsDomain A
inst✝¹⁰ : IsIntegrallyClosed A
inst✝⁹ : IsDomain B
inst✝⁸ : IsIntegrallyClosed B
inst✝⁷ : Module.Finite A B
inst✝⁶ : NoZeroSMulDivisors A B
inst✝⁵ : IsDomain Aₘ
inst✝⁴ : IsIntegrallyClosed Aₘ
inst✝³ : IsDomain Bₘ
inst✝² : IsIntegrallyClosed Bₘ
inst✝¹ : NoZeroSMulDivisors Aₘ Bₘ
inst✝ : Module.Finite Aₘ Bₘ
x : B
hM : M ≤ A⁰
K : Type u_1 := FractionRing A
L : Type u_4 := FractionRing B
this✝⁶ : IsIntegralClosure B A L
this✝⁵ : IsLocalization (algebraMapSubmonoid B A⁰) L
f : Aₘ →+* K := IsLocalization.map K (RingHom.id A) hM
this✝⁴ : Algebra Aₘ K := f.toAlgebra
this✝³ : IsScalarTower A Aₘ K
this✝² : IsFractionRing Aₘ K := IsFractionRing.isFractionRing_of_isDomain_of_isLocalization M Aₘ K
g : Bₘ →+* L := IsLocalization.map L (RingHom.id B) ⋯
this✝¹ : Algebra Bₘ L := g.toAlgebra
this✝ : IsScalarTower B Bₘ L
this : Algebra Aₘ L := ((algebraMap K L).comp f).toAlgebra
⊢ (algebraMap A Aₘ) ((intTrace A B) x) = (intTrace Aₘ Bₘ) ((algebraMap B Bₘ) x)

tactic: have : IsScalarTower Aₘ K L := IsScalarTower.of_algebraMap_eq' rfl
state_before: case neg
A : Type u_1
K✝ : Type u_2
L✝ : Type u_3
B : Type u_4
inst✝³⁵ : CommRing A
inst✝³⁴ : CommRing B
inst✝³³ : Algebra A B
inst✝³² : Field K✝
inst✝³¹ : Field L✝
inst✝³⁰ : Algebra A K✝
inst✝²⁹ : IsFractionRing A K✝
inst✝²⁸ : Algebra B L✝
inst✝²⁷ : Algebra K✝ L✝
inst✝²⁶ : Algebra A L✝
inst✝²⁵ : IsScalarTower A B L✝
inst✝²⁴ : IsScalarTower A K✝ L✝
inst✝²³ : IsIntegralClosure B A L✝
inst✝²² : FiniteDimensional K✝ L✝
Aₘ : Type u_5
Bₘ : Type u_6
inst✝²¹ : CommRing Aₘ
inst✝²⁰ : CommRing Bₘ
inst✝¹⁹ : Algebra Aₘ Bₘ
inst✝¹⁸ : Algebra A Aₘ
inst✝¹⁷ : Algebra B Bₘ
inst✝¹⁶ : Algebra A Bₘ
inst✝¹⁵ : IsScalarTower A Aₘ Bₘ
inst✝¹⁴ : IsScalarTower A B Bₘ
M : Submonoid A
inst✝¹³ : IsLocalization M Aₘ
inst✝¹² : IsLocalization (algebraMapSubmonoid B M) Bₘ
inst✝¹¹ : IsDomain A
inst✝¹⁰ : IsIntegrallyClosed A
inst✝⁹ : IsDomain B
inst✝⁸ : IsIntegrallyClosed B
inst✝⁷ : Module.Finite A B
inst✝⁶ : NoZeroSMulDivisors A B
inst✝⁵ : IsDomain Aₘ
inst✝⁴ : IsIntegrallyClosed Aₘ
inst✝³ : IsDomain Bₘ
inst✝² : IsIntegrallyClosed Bₘ
inst✝¹ : NoZeroSMulDivisors Aₘ Bₘ
inst✝ : Module.Finite Aₘ Bₘ
x : B
hM : M ≤ A⁰
K : Type u_1 := FractionRing A
L : Type u_4 := FractionRing B
this✝⁶ : IsIntegralClosure B A L
this✝⁵ : IsLocalization (algebraMapSubmonoid B A⁰) L
f : Aₘ →+* K := IsLocalization.map K (RingHom.id A) hM
this✝⁴ : Algebra Aₘ K := f.toAlgebra
this✝³ : IsScalarTower A Aₘ K
this✝² : IsFractionRing Aₘ K := IsFractionRing.isFractionRing_of_isDomain_of_isLocalization M Aₘ K
g : Bₘ →+* L := IsLocalization.map L (RingHom.id B) ⋯
this✝¹ : Algebra Bₘ L := g.toAlgebra
this✝ : IsScalarTower B Bₘ L
this : Algebra Aₘ L := ((algebraMap K L).comp f).toAlgebra
⊢ (algebraMap A Aₘ) ((intTrace A B) x) = (intTrace Aₘ Bₘ) ((algebraMap B Bₘ) x)
state_after: case neg
A : Type u_1
K✝ : Type u_2
L✝ : Type u_3
B : Type u_4
inst✝³⁵ : CommRing A
inst✝³⁴ : CommRing B
inst✝³³ : Algebra A B
inst✝³² : Field K✝
inst✝³¹ : Field L✝
inst✝³⁰ : Algebra A K✝
inst✝²⁹ : IsFractionRing A K✝
inst✝²⁸ : Algebra B L✝
inst✝²⁷ : Algebra K✝ L✝
inst✝²⁶ : Algebra A L✝
inst✝²⁵ : IsScalarTower A B L✝
inst✝²⁴ : IsScalarTower A K✝ L✝
inst✝²³ : IsIntegralClosure B A L✝
inst✝²² : FiniteDimensional K✝ L✝
Aₘ : Type u_5
Bₘ : Type u_6
inst✝²¹ : CommRing Aₘ
inst✝²⁰ : CommRing Bₘ
inst✝¹⁹ : Algebra Aₘ Bₘ
inst✝¹⁸ : Algebra A Aₘ
inst✝¹⁷ : Algebra B Bₘ
inst✝¹⁶ : Algebra A Bₘ
inst✝¹⁵ : IsScalarTower A Aₘ Bₘ
inst✝¹⁴ : IsScalarTower A B Bₘ
M : Submonoid A
inst✝¹³ : IsLocalization M Aₘ
inst✝¹² : IsLocalization (algebraMapSubmonoid B M) Bₘ
inst✝¹¹ : IsDomain A
inst✝¹⁰ : IsIntegrallyClosed A
inst✝⁹ : IsDomain B
inst✝⁸ : IsIntegrallyClosed B
inst✝⁷ : Module.Finite A B
inst✝⁶ : NoZeroSMulDivisors A B
inst✝⁵ : IsDomain Aₘ
inst✝⁴ : IsIntegrallyClosed Aₘ
inst✝³ : IsDomain Bₘ
inst✝² : IsIntegrallyClosed Bₘ
inst✝¹ : NoZeroSMulDivisors Aₘ Bₘ
inst✝ : Module.Finite Aₘ Bₘ
x : B
hM : M ≤ A⁰
K : Type u_1 := FractionRing A
L : Type u_4 := FractionRing B
this✝⁷ : IsIntegralClosure B A L
this✝⁶ : IsLocalization (algebraMapSubmonoid B A⁰) L
f : Aₘ →+* K := IsLocalization.map K (RingHom.id A) hM
this✝⁵ : Algebra Aₘ K := f.toAlgebra
this✝⁴ : IsScalarTower A Aₘ K
this✝³ : IsFractionRing Aₘ K := IsFractionRing.isFractionRing_of_isDomain_of_isLocalization M Aₘ K
g : Bₘ →+* L := IsLocalization.map L (RingHom.id B) ⋯
this✝² : Algebra Bₘ L := g.toAlgebra
this✝¹ : IsScalarTower B Bₘ L
this✝ : Algebra Aₘ L := ((algebraMap K L).comp f).toAlgebra
this : IsScalarTower Aₘ K L
⊢ (algebraMap A Aₘ) ((intTrace A B) x) = (intTrace Aₘ Bₘ) ((algebraMap B Bₘ) x)

tactic: have : IsScalarTower Aₘ Bₘ L := by
  apply IsScalarTower.of_algebraMap_eq'
  apply IsLocalization.ringHom_ext M
  rw [RingHom.algebraMap_toAlgebra, RingHom.algebraMap_toAlgebra (R := Bₘ), RingHom.comp_assoc,
    RingHom.comp_assoc, ← IsScalarTower.algebraMap_eq, IsScalarTower.algebraMap_eq A B Bₘ,
    IsLocalization.map_comp, RingHom.comp_id, ← RingHom.comp_assoc, IsLocalization.map_comp,
    RingHom.comp_id, ← IsScalarTower.algebraMap_eq, ← IsScalarTower.algebraMap_eq]
state_before: case neg
A : Type u_1
K✝ : Type u_2
L✝ : Type u_3
B : Type u_4
inst✝³⁵ : CommRing A
inst✝³⁴ : CommRing B
inst✝³³ : Algebra A B
inst✝³² : Field K✝
inst✝³¹ : Field L✝
inst✝³⁰ : Algebra A K✝
inst✝²⁹ : IsFractionRing A K✝
inst✝²⁸ : Algebra B L✝
inst✝²⁷ : Algebra K✝ L✝
inst✝²⁶ : Algebra A L✝
inst✝²⁵ : IsScalarTower A B L✝
inst✝²⁴ : IsScalarTower A K✝ L✝
inst✝²³ : IsIntegralClosure B A L✝
inst✝²² : FiniteDimensional K✝ L✝
Aₘ : Type u_5
Bₘ : Type u_6
inst✝²¹ : CommRing Aₘ
inst✝²⁰ : CommRing Bₘ
inst✝¹⁹ : Algebra Aₘ Bₘ
inst✝¹⁸ : Algebra A Aₘ
inst✝¹⁷ : Algebra B Bₘ
inst✝¹⁶ : Algebra A Bₘ
inst✝¹⁵ : IsScalarTower A Aₘ Bₘ
inst✝¹⁴ : IsScalarTower A B Bₘ
M : Submonoid A
inst✝¹³ : IsLocalization M Aₘ
inst✝¹² : IsLocalization (algebraMapSubmonoid B M) Bₘ
inst✝¹¹ : IsDomain A
inst✝¹⁰ : IsIntegrallyClosed A
inst✝⁹ : IsDomain B
inst✝⁸ : IsIntegrallyClosed B
inst✝⁷ : Module.Finite A B
inst✝⁶ : NoZeroSMulDivisors A B
inst✝⁵ : IsDomain Aₘ
inst✝⁴ : IsIntegrallyClosed Aₘ
inst✝³ : IsDomain Bₘ
inst✝² : IsIntegrallyClosed Bₘ
inst✝¹ : NoZeroSMulDivisors Aₘ Bₘ
inst✝ : Module.Finite Aₘ Bₘ
x : B
hM : M ≤ A⁰
K : Type u_1 := FractionRing A
L : Type u_4 := FractionRing B
this✝⁷ : IsIntegralClosure B A L
this✝⁶ : IsLocalization (algebraMapSubmonoid B A⁰) L
f : Aₘ →+* K := IsLocalization.map K (RingHom.id A) hM
this✝⁵ : Algebra Aₘ K := f.toAlgebra
this✝⁴ : IsScalarTower A Aₘ K
this✝³ : IsFractionRing Aₘ K := IsFractionRing.isFractionRing_of_isDomain_of_isLocalization M Aₘ K
g : Bₘ →+* L := IsLocalization.map L (RingHom.id B) ⋯
this✝² : Algebra Bₘ L := g.toAlgebra
this✝¹ : IsScalarTower B Bₘ L
this✝ : Algebra Aₘ L := ((algebraMap K L).comp f).toAlgebra
this : IsScalarTower Aₘ K L
⊢ (algebraMap A Aₘ) ((intTrace A B) x) = (intTrace Aₘ Bₘ) ((algebraMap B Bₘ) x)
state_after: case neg
A : Type u_1
K✝ : Type u_2
L✝ : Type u_3
B : Type u_4
inst✝³⁵ : CommRing A
inst✝³⁴ : CommRing B
inst✝³³ : Algebra A B
inst✝³² : Field K✝
inst✝³¹ : Field L✝
inst✝³⁰ : Algebra A K✝
inst✝²⁹ : IsFractionRing A K✝
inst✝²⁸ : Algebra B L✝
inst✝²⁷ : Algebra K✝ L✝
inst✝²⁶ : Algebra A L✝
inst✝²⁵ : IsScalarTower A B L✝
inst✝²⁴ : IsScalarTower A K✝ L✝
inst✝²³ : IsIntegralClosure B A L✝
inst✝²² : FiniteDimensional K✝ L✝
Aₘ : Type u_5
Bₘ : Type u_6
inst✝²¹ : CommRing Aₘ
inst✝²⁰ : CommRing Bₘ
inst✝¹⁹ : Algebra Aₘ Bₘ
inst✝¹⁸ : Algebra A Aₘ
inst✝¹⁷ : Algebra B Bₘ
inst✝¹⁶ : Algebra A Bₘ
inst✝¹⁵ : IsScalarTower A Aₘ Bₘ
inst✝¹⁴ : IsScalarTower A B Bₘ
M : Submonoid A
inst✝¹³ : IsLocalization M Aₘ
inst✝¹² : IsLocalization (algebraMapSubmonoid B M) Bₘ
inst✝¹¹ : IsDomain A
inst✝¹⁰ : IsIntegrallyClosed A
inst✝⁹ : IsDomain B
inst✝⁸ : IsIntegrallyClosed B
inst✝⁷ : Module.Finite A B
inst✝⁶ : NoZeroSMulDivisors A B
inst✝⁵ : IsDomain Aₘ
inst✝⁴ : IsIntegrallyClosed Aₘ
inst✝³ : IsDomain Bₘ
inst✝² : IsIntegrallyClosed Bₘ
inst✝¹ : NoZeroSMulDivisors Aₘ Bₘ
inst✝ : Module.Finite Aₘ Bₘ
x : B
hM : M ≤ A⁰
K : Type u_1 := FractionRing A
L : Type u_4 := FractionRing B
this✝⁸ : IsIntegralClosure B A L
this✝⁷ : IsLocalization (algebraMapSubmonoid B A⁰) L
f : Aₘ →+* K := IsLocalization.map K (RingHom.id A) hM
this✝⁶ : Algebra Aₘ K := f.toAlgebra
this✝⁵ : IsScalarTower A Aₘ K
this✝⁴ : IsFractionRing Aₘ K := IsFractionRing.isFractionRing_of_isDomain_of_isLocalization M Aₘ K
g : Bₘ →+* L := IsLocalization.map L (RingHom.id B) ⋯
this✝³ : Algebra Bₘ L := g.toAlgebra
this✝² : IsScalarTower B Bₘ L
this✝¹ : Algebra Aₘ L := ((algebraMap K L).comp f).toAlgebra
this✝ : IsScalarTower Aₘ K L
this : IsScalarTower Aₘ Bₘ L
⊢ (algebraMap A Aₘ) ((intTrace A B) x) = (intTrace Aₘ Bₘ) ((algebraMap B Bₘ) x)

tactic: letI := IsFractionRing.isFractionRing_of_isDomain_of_isLocalization
  (algebraMapSubmonoid B M) Bₘ L
state_before: case neg
A : Type u_1
K✝ : Type u_2
L✝ : Type u_3
B : Type u_4
inst✝³⁵ : CommRing A
inst✝³⁴ : CommRing B
inst✝³³ : Algebra A B
inst✝³² : Field K✝
inst✝³¹ : Field L✝
inst✝³⁰ : Algebra A K✝
inst✝²⁹ : IsFractionRing A K✝
inst✝²⁸ : Algebra B L✝
inst✝²⁷ : Algebra K✝ L✝
inst✝²⁶ : Algebra A L✝
inst✝²⁵ : IsScalarTower A B L✝
inst✝²⁴ : IsScalarTower A K✝ L✝
inst✝²³ : IsIntegralClosure B A L✝
inst✝²² : FiniteDimensional K✝ L✝
Aₘ : Type u_5
Bₘ : Type u_6
inst✝²¹ : CommRing Aₘ
inst✝²⁰ : CommRing Bₘ
inst✝¹⁹ : Algebra Aₘ Bₘ
inst✝¹⁸ : Algebra A Aₘ
inst✝¹⁷ : Algebra B Bₘ
inst✝¹⁶ : Algebra A Bₘ
inst✝¹⁵ : IsScalarTower A Aₘ Bₘ
inst✝¹⁴ : IsScalarTower A B Bₘ
M : Submonoid A
inst✝¹³ : IsLocalization M Aₘ
inst✝¹² : IsLocalization (algebraMapSubmonoid B M) Bₘ
inst✝¹¹ : IsDomain A
inst✝¹⁰ : IsIntegrallyClosed A
inst✝⁹ : IsDomain B
inst✝⁸ : IsIntegrallyClosed B
inst✝⁷ : Module.Finite A B
inst✝⁶ : NoZeroSMulDivisors A B
inst✝⁵ : IsDomain Aₘ
inst✝⁴ : IsIntegrallyClosed Aₘ
inst✝³ : IsDomain Bₘ
inst✝² : IsIntegrallyClosed Bₘ
inst✝¹ : NoZeroSMulDivisors Aₘ Bₘ
inst✝ : Module.Finite Aₘ Bₘ
x : B
hM : M ≤ A⁰
K : Type u_1 := FractionRing A
L : Type u_4 := FractionRing B
this✝⁸ : IsIntegralClosure B A L
this✝⁷ : IsLocalization (algebraMapSubmonoid B A⁰) L
f : Aₘ →+* K := IsLocalization.map K (RingHom.id A) hM
this✝⁶ : Algebra Aₘ K := f.toAlgebra
this✝⁵ : IsScalarTower A Aₘ K
this✝⁴ : IsFractionRing Aₘ K := IsFractionRing.isFractionRing_of_isDomain_of_isLocalization M Aₘ K
g : Bₘ →+* L := IsLocalization.map L (RingHom.id B) ⋯
this✝³ : Algebra Bₘ L := g.toAlgebra
this✝² : IsScalarTower B Bₘ L
this✝¹ : Algebra Aₘ L := ((algebraMap K L).comp f).toAlgebra
this✝ : IsScalarTower Aₘ K L
this : IsScalarTower Aₘ Bₘ L
⊢ (algebraMap A Aₘ) ((intTrace A B) x) = (intTrace Aₘ Bₘ) ((algebraMap B Bₘ) x)
state_after: case neg
A : Type u_1
K✝ : Type u_2
L✝ : Type u_3
B : Type u_4
inst✝³⁵ : CommRing A
inst✝³⁴ : CommRing B
inst✝³³ : Algebra A B
inst✝³² : Field K✝
inst✝³¹ : Field L✝
inst✝³⁰ : Algebra A K✝
inst✝²⁹ : IsFractionRing A K✝
inst✝²⁸ : Algebra B L✝
inst✝²⁷ : Algebra K✝ L✝
inst✝²⁶ : Algebra A L✝
inst✝²⁵ : IsScalarTower A B L✝
inst✝²⁴ : IsScalarTower A K✝ L✝
inst✝²³ : IsIntegralClosure B A L✝
inst✝²² : FiniteDimensional K✝ L✝
Aₘ : Type u_5
Bₘ : Type u_6
inst✝²¹ : CommRing Aₘ
inst✝²⁰ : CommRing Bₘ
inst✝¹⁹ : Algebra Aₘ Bₘ
inst✝¹⁸ : Algebra A Aₘ
inst✝¹⁷ : Algebra B Bₘ
inst✝¹⁶ : Algebra A Bₘ
inst✝¹⁵ : IsScalarTower A Aₘ Bₘ
inst✝¹⁴ : IsScalarTower A B Bₘ
M : Submonoid A
inst✝¹³ : IsLocalization M Aₘ
inst✝¹² : IsLocalization (algebraMapSubmonoid B M) Bₘ
inst✝¹¹ : IsDomain A
inst✝¹⁰ : IsIntegrallyClosed A
inst✝⁹ : IsDomain B
inst✝⁸ : IsIntegrallyClosed B
inst✝⁷ : Module.Finite A B
inst✝⁶ : NoZeroSMulDivisors A B
inst✝⁵ : IsDomain Aₘ
inst✝⁴ : IsIntegrallyClosed Aₘ
inst✝³ : IsDomain Bₘ
inst✝² : IsIntegrallyClosed Bₘ
inst✝¹ : NoZeroSMulDivisors Aₘ Bₘ
inst✝ : Module.Finite Aₘ Bₘ
x : B
hM : M ≤ A⁰
K : Type u_1 := FractionRing A
L : Type u_4 := FractionRing B
this✝⁹ : IsIntegralClosure B A L
this✝⁸ : IsLocalization (algebraMapSubmonoid B A⁰) L
f : Aₘ →+* K := IsLocalization.map K (RingHom.id A) hM
this✝⁷ : Algebra Aₘ K := f.toAlgebra
this✝⁶ : IsScalarTower A Aₘ K
this✝⁵ : IsFractionRing Aₘ K := IsFractionRing.isFractionRing_of_isDomain_of_isLocalization M Aₘ K
g : Bₘ →+* L := IsLocalization.map L (RingHom.id B) ⋯
this✝⁴ : Algebra Bₘ L := g.toAlgebra
this✝³ : IsScalarTower B Bₘ L
this✝² : Algebra Aₘ L := ((algebraMap K L).comp f).toAlgebra
this✝¹ : IsScalarTower Aₘ K L
this✝ : IsScalarTower Aₘ Bₘ L
this : IsFractionRing Bₘ L := IsFractionRing.isFractionRing_of_isDomain_of_isLocalization (algebraMapSubmonoid B M) Bₘ L
⊢ (algebraMap A Aₘ) ((intTrace A B) x) = (intTrace Aₘ Bₘ) ((algebraMap B Bₘ) x)

tactic: have : FiniteDimensional K L := Module.Finite_of_isLocalization A B _ _ A⁰
state_before: case neg
A : Type u_1
K✝ : Type u_2
L✝ : Type u_3
B : Type u_4
inst✝³⁵ : CommRing A
inst✝³⁴ : CommRing B
inst✝³³ : Algebra A B
inst✝³² : Field K✝
inst✝³¹ : Field L✝
inst✝³⁰ : Algebra A K✝
inst✝²⁹ : IsFractionRing A K✝
inst✝²⁸ : Algebra B L✝
inst✝²⁷ : Algebra K✝ L✝
inst✝²⁶ : Algebra A L✝
inst✝²⁵ : IsScalarTower A B L✝
inst✝²⁴ : IsScalarTower A K✝ L✝
inst✝²³ : IsIntegralClosure B A L✝
inst✝²² : FiniteDimensional K✝ L✝
Aₘ : Type u_5
Bₘ : Type u_6
inst✝²¹ : CommRing Aₘ
inst✝²⁰ : CommRing Bₘ
inst✝¹⁹ : Algebra Aₘ Bₘ
inst✝¹⁸ : Algebra A Aₘ
inst✝¹⁷ : Algebra B Bₘ
inst✝¹⁶ : Algebra A Bₘ
inst✝¹⁵ : IsScalarTower A Aₘ Bₘ
inst✝¹⁴ : IsScalarTower A B Bₘ
M : Submonoid A
inst✝¹³ : IsLocalization M Aₘ
inst✝¹² : IsLocalization (algebraMapSubmonoid B M) Bₘ
inst✝¹¹ : IsDomain A
inst✝¹⁰ : IsIntegrallyClosed A
inst✝⁹ : IsDomain B
inst✝⁸ : IsIntegrallyClosed B
inst✝⁷ : Module.Finite A B
inst✝⁶ : NoZeroSMulDivisors A B
inst✝⁵ : IsDomain Aₘ
inst✝⁴ : IsIntegrallyClosed Aₘ
inst✝³ : IsDomain Bₘ
inst✝² : IsIntegrallyClosed Bₘ
inst✝¹ : NoZeroSMulDivisors Aₘ Bₘ
inst✝ : Module.Finite Aₘ Bₘ
x : B
hM : M ≤ A⁰
K : Type u_1 := FractionRing A
L : Type u_4 := FractionRing B
this✝⁹ : IsIntegralClosure B A L
this✝⁸ : IsLocalization (algebraMapSubmonoid B A⁰) L
f : Aₘ →+* K := IsLocalization.map K (RingHom.id A) hM
this✝⁷ : Algebra Aₘ K := f.toAlgebra
this✝⁶ : IsScalarTower A Aₘ K
this✝⁵ : IsFractionRing Aₘ K := IsFractionRing.isFractionRing_of_isDomain_of_isLocalization M Aₘ K
g : Bₘ →+* L := IsLocalization.map L (RingHom.id B) ⋯
this✝⁴ : Algebra Bₘ L := g.toAlgebra
this✝³ : IsScalarTower B Bₘ L
this✝² : Algebra Aₘ L := ((algebraMap K L).comp f).toAlgebra
this✝¹ : IsScalarTower Aₘ K L
this✝ : IsScalarTower Aₘ Bₘ L
this : IsFractionRing Bₘ L := IsFractionRing.isFractionRing_of_isDomain_of_isLocalization (algebraMapSubmonoid B M) Bₘ L
⊢ (algebraMap A Aₘ) ((intTrace A B) x) = (intTrace Aₘ Bₘ) ((algebraMap B Bₘ) x)
state_after: case neg
A : Type u_1
K✝ : Type u_2
L✝ : Type u_3
B : Type u_4
inst✝³⁵ : CommRing A
inst✝³⁴ : CommRing B
inst✝³³ : Algebra A B
inst✝³² : Field K✝
inst✝³¹ : Field L✝
inst✝³⁰ : Algebra A K✝
inst✝²⁹ : IsFractionRing A K✝
inst✝²⁸ : Algebra B L✝
inst✝²⁷ : Algebra K✝ L✝
inst✝²⁶ : Algebra A L✝
inst✝²⁵ : IsScalarTower A B L✝
inst✝²⁴ : IsScalarTower A K✝ L✝
inst✝²³ : IsIntegralClosure B A L✝
inst✝²² : FiniteDimensional K✝ L✝
Aₘ : Type u_5
Bₘ : Type u_6
inst✝²¹ : CommRing Aₘ
inst✝²⁰ : CommRing Bₘ
inst✝¹⁹ : Algebra Aₘ Bₘ
inst✝¹⁸ : Algebra A Aₘ
inst✝¹⁷ : Algebra B Bₘ
inst✝¹⁶ : Algebra A Bₘ
inst✝¹⁵ : IsScalarTower A Aₘ Bₘ
inst✝¹⁴ : IsScalarTower A B Bₘ
M : Submonoid A
inst✝¹³ : IsLocalization M Aₘ
inst✝¹² : IsLocalization (algebraMapSubmonoid B M) Bₘ
inst✝¹¹ : IsDomain A
inst✝¹⁰ : IsIntegrallyClosed A
inst✝⁹ : IsDomain B
inst✝⁸ : IsIntegrallyClosed B
inst✝⁷ : Module.Finite A B
inst✝⁶ : NoZeroSMulDivisors A B
inst✝⁵ : IsDomain Aₘ
inst✝⁴ : IsIntegrallyClosed Aₘ
inst✝³ : IsDomain Bₘ
inst✝² : IsIntegrallyClosed Bₘ
inst✝¹ : NoZeroSMulDivisors Aₘ Bₘ
inst✝ : Module.Finite Aₘ Bₘ
x : B
hM : M ≤ A⁰
K : Type u_1 := FractionRing A
L : Type u_4 := FractionRing B
this✝¹⁰ : IsIntegralClosure B A L
this✝⁹ : IsLocalization (algebraMapSubmonoid B A⁰) L
f : Aₘ →+* K := IsLocalization.map K (RingHom.id A) hM
this✝⁸ : Algebra Aₘ K := f.toAlgebra
this✝⁷ : IsScalarTower A Aₘ K
this✝⁶ : IsFractionRing Aₘ K := IsFractionRing.isFractionRing_of_isDomain_of_isLocalization M Aₘ K
g : Bₘ →+* L := IsLocalization.map L (RingHom.id B) ⋯
this✝⁵ : Algebra Bₘ L := g.toAlgebra
this✝⁴ : IsScalarTower B Bₘ L
this✝³ : Algebra Aₘ L := ((algebraMap K L).comp f).toAlgebra
this✝² : IsScalarTower Aₘ K L
this✝¹ : IsScalarTower Aₘ Bₘ L
this✝ : IsFractionRing Bₘ L :=
  IsFractionRing.isFractionRing_of_isDomain_of_isLocalization (algebraMapSubmonoid B M) Bₘ L
this : FiniteDimensional K L
⊢ (algebraMap A Aₘ) ((intTrace A B) x) = (intTrace Aₘ Bₘ) ((algebraMap B Bₘ) x)

tactic: have : IsIntegralClosure Bₘ Aₘ L :=
  IsIntegralClosure.of_isIntegrallyClosed _ _ _
state_before: case neg
A : Type u_1
K✝ : Type u_2
L✝ : Type u_3
B : Type u_4
inst✝³⁵ : CommRing A
inst✝³⁴ : CommRing B
inst✝³³ : Algebra A B
inst✝³² : Field K✝
inst✝³¹ : Field L✝
inst✝³⁰ : Algebra A K✝
inst✝²⁹ : IsFractionRing A K✝
inst✝²⁸ : Algebra B L✝
inst✝²⁷ : Algebra K✝ L✝
inst✝²⁶ : Algebra A L✝
inst✝²⁵ : IsScalarTower A B L✝
inst✝²⁴ : IsScalarTower A K✝ L✝
inst✝²³ : IsIntegralClosure B A L✝
inst✝²² : FiniteDimensional K✝ L✝
Aₘ : Type u_5
Bₘ : Type u_6
inst✝²¹ : CommRing Aₘ
inst✝²⁰ : CommRing Bₘ
inst✝¹⁹ : Algebra Aₘ Bₘ
inst✝¹⁸ : Algebra A Aₘ
inst✝¹⁷ : Algebra B Bₘ
inst✝¹⁶ : Algebra A Bₘ
inst✝¹⁵ : IsScalarTower A Aₘ Bₘ
inst✝¹⁴ : IsScalarTower A B Bₘ
M : Submonoid A
inst✝¹³ : IsLocalization M Aₘ
inst✝¹² : IsLocalization (algebraMapSubmonoid B M) Bₘ
inst✝¹¹ : IsDomain A
inst✝¹⁰ : IsIntegrallyClosed A
inst✝⁹ : IsDomain B
inst✝⁸ : IsIntegrallyClosed B
inst✝⁷ : Module.Finite A B
inst✝⁶ : NoZeroSMulDivisors A B
inst✝⁵ : IsDomain Aₘ
inst✝⁴ : IsIntegrallyClosed Aₘ
inst✝³ : IsDomain Bₘ
inst✝² : IsIntegrallyClosed Bₘ
inst✝¹ : NoZeroSMulDivisors Aₘ Bₘ
inst✝ : Module.Finite Aₘ Bₘ
x : B
hM : M ≤ A⁰
K : Type u_1 := FractionRing A
L : Type u_4 := FractionRing B
this✝¹⁰ : IsIntegralClosure B A L
this✝⁹ : IsLocalization (algebraMapSubmonoid B A⁰) L
f : Aₘ →+* K := IsLocalization.map K (RingHom.id A) hM
this✝⁸ : Algebra Aₘ K := f.toAlgebra
this✝⁷ : IsScalarTower A Aₘ K
this✝⁶ : IsFractionRing Aₘ K := IsFractionRing.isFractionRing_of_isDomain_of_isLocalization M Aₘ K
g : Bₘ →+* L := IsLocalization.map L (RingHom.id B) ⋯
this✝⁵ : Algebra Bₘ L := g.toAlgebra
this✝⁴ : IsScalarTower B Bₘ L
this✝³ : Algebra Aₘ L := ((algebraMap K L).comp f).toAlgebra
this✝² : IsScalarTower Aₘ K L
this✝¹ : IsScalarTower Aₘ Bₘ L
this✝ : IsFractionRing Bₘ L :=
  IsFractionRing.isFractionRing_of_isDomain_of_isLocalization (algebraMapSubmonoid B M) Bₘ L
this : FiniteDimensional K L
⊢ (algebraMap A Aₘ) ((intTrace A B) x) = (intTrace Aₘ Bₘ) ((algebraMap B Bₘ) x)
state_after: case neg
A : Type u_1
K✝ : Type u_2
L✝ : Type u_3
B : Type u_4
inst✝³⁵ : CommRing A
inst✝³⁴ : CommRing B
inst✝³³ : Algebra A B
inst✝³² : Field K✝
inst✝³¹ : Field L✝
inst✝³⁰ : Algebra A K✝
inst✝²⁹ : IsFractionRing A K✝
inst✝²⁸ : Algebra B L✝
inst✝²⁷ : Algebra K✝ L✝
inst✝²⁶ : Algebra A L✝
inst✝²⁵ : IsScalarTower A B L✝
inst✝²⁴ : IsScalarTower A K✝ L✝
inst✝²³ : IsIntegralClosure B A L✝
inst✝²² : FiniteDimensional K✝ L✝
Aₘ : Type u_5
Bₘ : Type u_6
inst✝²¹ : CommRing Aₘ
inst✝²⁰ : CommRing Bₘ
inst✝¹⁹ : Algebra Aₘ Bₘ
inst✝¹⁸ : Algebra A Aₘ
inst✝¹⁷ : Algebra B Bₘ
inst✝¹⁶ : Algebra A Bₘ
inst✝¹⁵ : IsScalarTower A Aₘ Bₘ
inst✝¹⁴ : IsScalarTower A B Bₘ
M : Submonoid A
inst✝¹³ : IsLocalization M Aₘ
inst✝¹² : IsLocalization (algebraMapSubmonoid B M) Bₘ
inst✝¹¹ : IsDomain A
inst✝¹⁰ : IsIntegrallyClosed A
inst✝⁹ : IsDomain B
inst✝⁸ : IsIntegrallyClosed B
inst✝⁷ : Module.Finite A B
inst✝⁶ : NoZeroSMulDivisors A B
inst✝⁵ : IsDomain Aₘ
inst✝⁴ : IsIntegrallyClosed Aₘ
inst✝³ : IsDomain Bₘ
inst✝² : IsIntegrallyClosed Bₘ
inst✝¹ : NoZeroSMulDivisors Aₘ Bₘ
inst✝ : Module.Finite Aₘ Bₘ
x : B
hM : M ≤ A⁰
K : Type u_1 := FractionRing A
L : Type u_4 := FractionRing B
this✝¹¹ : IsIntegralClosure B A L
this✝¹⁰ : IsLocalization (algebraMapSubmonoid B A⁰) L
f : Aₘ →+* K := IsLocalization.map K (RingHom.id A) hM
this✝⁹ : Algebra Aₘ K := f.toAlgebra
this✝⁸ : IsScalarTower A Aₘ K
this✝⁷ : IsFractionRing Aₘ K := IsFractionRing.isFractionRing_of_isDomain_of_isLocalization M Aₘ K
g : Bₘ →+* L := IsLocalization.map L (RingHom.id B) ⋯
this✝⁶ : Algebra Bₘ L := g.toAlgebra
this✝⁵ : IsScalarTower B Bₘ L
this✝⁴ : Algebra Aₘ L := ((algebraMap K L).comp f).toAlgebra
this✝³ : IsScalarTower Aₘ K L
this✝² : IsScalarTower Aₘ Bₘ L
this✝¹ : IsFractionRing Bₘ L :=
  IsFractionRing.isFractionRing_of_isDomain_of_isLocalization (algebraMapSubmonoid B M) Bₘ L
this✝ : FiniteDimensional K L
this : IsIntegralClosure Bₘ Aₘ L
⊢ (algebraMap A Aₘ) ((intTrace A B) x) = (intTrace Aₘ Bₘ) ((algebraMap B Bₘ) x)

tactic: apply IsFractionRing.injective Aₘ K
state_before: case neg
A : Type u_1
K✝ : Type u_2
L✝ : Type u_3
B : Type u_4
inst✝³⁵ : CommRing A
inst✝³⁴ : CommRing B
inst✝³³ : Algebra A B
inst✝³² : Field K✝
inst✝³¹ : Field L✝
inst✝³⁰ : Algebra A K✝
inst✝²⁹ : IsFractionRing A K✝
inst✝²⁸ : Algebra B L✝
inst✝²⁷ : Algebra K✝ L✝
inst✝²⁶ : Algebra A L✝
inst✝²⁵ : IsScalarTower A B L✝
inst✝²⁴ : IsScalarTower A K✝ L✝
inst✝²³ : IsIntegralClosure B A L✝
inst✝²² : FiniteDimensional K✝ L✝
Aₘ : Type u_5
Bₘ : Type u_6
inst✝²¹ : CommRing Aₘ
inst✝²⁰ : CommRing Bₘ
inst✝¹⁹ : Algebra Aₘ Bₘ
inst✝¹⁸ : Algebra A Aₘ
inst✝¹⁷ : Algebra B Bₘ
inst✝¹⁶ : Algebra A Bₘ
inst✝¹⁵ : IsScalarTower A Aₘ Bₘ
inst✝¹⁴ : IsScalarTower A B Bₘ
M : Submonoid A
inst✝¹³ : IsLocalization M Aₘ
inst✝¹² : IsLocalization (algebraMapSubmonoid B M) Bₘ
inst✝¹¹ : IsDomain A
inst✝¹⁰ : IsIntegrallyClosed A
inst✝⁹ : IsDomain B
inst✝⁸ : IsIntegrallyClosed B
inst✝⁷ : Module.Finite A B
inst✝⁶ : NoZeroSMulDivisors A B
inst✝⁵ : IsDomain Aₘ
inst✝⁴ : IsIntegrallyClosed Aₘ
inst✝³ : IsDomain Bₘ
inst✝² : IsIntegrallyClosed Bₘ
inst✝¹ : NoZeroSMulDivisors Aₘ Bₘ
inst✝ : Module.Finite Aₘ Bₘ
x : B
hM : M ≤ A⁰
K : Type u_1 := FractionRing A
L : Type u_4 := FractionRing B
this✝¹¹ : IsIntegralClosure B A L
this✝¹⁰ : IsLocalization (algebraMapSubmonoid B A⁰) L
f : Aₘ →+* K := IsLocalization.map K (RingHom.id A) hM
this✝⁹ : Algebra Aₘ K := f.toAlgebra
this✝⁸ : IsScalarTower A Aₘ K
this✝⁷ : IsFractionRing Aₘ K := IsFractionRing.isFractionRing_of_isDomain_of_isLocalization M Aₘ K
g : Bₘ →+* L := IsLocalization.map L (RingHom.id B) ⋯
this✝⁶ : Algebra Bₘ L := g.toAlgebra
this✝⁵ : IsScalarTower B Bₘ L
this✝⁴ : Algebra Aₘ L := ((algebraMap K L).comp f).toAlgebra
this✝³ : IsScalarTower Aₘ K L
this✝² : IsScalarTower Aₘ Bₘ L
this✝¹ : IsFractionRing Bₘ L :=
  IsFractionRing.isFractionRing_of_isDomain_of_isLocalization (algebraMapSubmonoid B M) Bₘ L
this✝ : FiniteDimensional K L
this : IsIntegralClosure Bₘ Aₘ L
⊢ (algebraMap A Aₘ) ((intTrace A B) x) = (intTrace Aₘ Bₘ) ((algebraMap B Bₘ) x)
state_after: case neg.a
A : Type u_1
K✝ : Type u_2
L✝ : Type u_3
B : Type u_4
inst✝³⁵ : CommRing A
inst✝³⁴ : CommRing B
inst✝³³ : Algebra A B
inst✝³² : Field K✝
inst✝³¹ : Field L✝
inst✝³⁰ : Algebra A K✝
inst✝²⁹ : IsFractionRing A K✝
inst✝²⁸ : Algebra B L✝
inst✝²⁷ : Algebra K✝ L✝
inst✝²⁶ : Algebra A L✝
inst✝²⁵ : IsScalarTower A B L✝
inst✝²⁴ : IsScalarTower A K✝ L✝
inst✝²³ : IsIntegralClosure B A L✝
inst✝²² : FiniteDimensional K✝ L✝
Aₘ : Type u_5
Bₘ : Type u_6
inst✝²¹ : CommRing Aₘ
inst✝²⁰ : CommRing Bₘ
inst✝¹⁹ : Algebra Aₘ Bₘ
inst✝¹⁸ : Algebra A Aₘ
inst✝¹⁷ : Algebra B Bₘ
inst✝¹⁶ : Algebra A Bₘ
inst✝¹⁵ : IsScalarTower A Aₘ Bₘ
inst✝¹⁴ : IsScalarTower A B Bₘ
M : Submonoid A
inst✝¹³ : IsLocalization M Aₘ
inst✝¹² : IsLocalization (algebraMapSubmonoid B M) Bₘ
inst✝¹¹ : IsDomain A
inst✝¹⁰ : IsIntegrallyClosed A
inst✝⁹ : IsDomain B
inst✝⁸ : IsIntegrallyClosed B
inst✝⁷ : Module.Finite A B
inst✝⁶ : NoZeroSMulDivisors A B
inst✝⁵ : IsDomain Aₘ
inst✝⁴ : IsIntegrallyClosed Aₘ
inst✝³ : IsDomain Bₘ
inst✝² : IsIntegrallyClosed Bₘ
inst✝¹ : NoZeroSMulDivisors Aₘ Bₘ
inst✝ : Module.Finite Aₘ Bₘ
x : B
hM : M ≤ A⁰
K : Type u_1 := FractionRing A
L : Type u_4 := FractionRing B
this✝¹¹ : IsIntegralClosure B A L
this✝¹⁰ : IsLocalization (algebraMapSubmonoid B A⁰) L
f : Aₘ →+* K := IsLocalization.map K (RingHom.id A) hM
this✝⁹ : Algebra Aₘ K := f.toAlgebra
this✝⁸ : IsScalarTower A Aₘ K
this✝⁷ : IsFractionRing Aₘ K := IsFractionRing.isFractionRing_of_isDomain_of_isLocalization M Aₘ K
g : Bₘ →+* L := IsLocalization.map L (RingHom.id B) ⋯
this✝⁶ : Algebra Bₘ L := g.toAlgebra
this✝⁵ : IsScalarTower B Bₘ L
this✝⁴ : Algebra Aₘ L := ((algebraMap K L).comp f).toAlgebra
this✝³ : IsScalarTower Aₘ K L
this✝² : IsScalarTower Aₘ Bₘ L
this✝¹ : IsFractionRing Bₘ L :=
  IsFractionRing.isFractionRing_of_isDomain_of_isLocalization (algebraMapSubmonoid B M) Bₘ L
this✝ : FiniteDimensional K L
this : IsIntegralClosure Bₘ Aₘ L
⊢ (algebraMap Aₘ K) ((algebraMap A Aₘ) ((intTrace A B) x)) = (algebraMap Aₘ K) ((intTrace Aₘ Bₘ) ((algebraMap B Bₘ) x))

tactic: rw [← IsScalarTower.algebraMap_apply, Algebra.algebraMap_intTrace_fractionRing,
  Algebra.algebraMap_intTrace (L := L), ← IsScalarTower.algebraMap_apply]
state_before: case neg.a
A : Type u_1
K✝ : Type u_2
L✝ : Type u_3
B : Type u_4
inst✝³⁵ : CommRing A
inst✝³⁴ : CommRing B
inst✝³³ : Algebra A B
inst✝³² : Field K✝
inst✝³¹ : Field L✝
inst✝³⁰ : Algebra A K✝
inst✝²⁹ : IsFractionRing A K✝
inst✝²⁸ : Algebra B L✝
inst✝²⁷ : Algebra K✝ L✝
inst✝²⁶ : Algebra A L✝
inst✝²⁵ : IsScalarTower A B L✝
inst✝²⁴ : IsScalarTower A K✝ L✝
inst✝²³ : IsIntegralClosure B A L✝
inst✝²² : FiniteDimensional K✝ L✝
Aₘ : Type u_5
Bₘ : Type u_6
inst✝²¹ : CommRing Aₘ
inst✝²⁰ : CommRing Bₘ
inst✝¹⁹ : Algebra Aₘ Bₘ
inst✝¹⁸ : Algebra A Aₘ
inst✝¹⁷ : Algebra B Bₘ
inst✝¹⁶ : Algebra A Bₘ
inst✝¹⁵ : IsScalarTower A Aₘ Bₘ
inst✝¹⁴ : IsScalarTower A B Bₘ
M : Submonoid A
inst✝¹³ : IsLocalization M Aₘ
inst✝¹² : IsLocalization (algebraMapSubmonoid B M) Bₘ
inst✝¹¹ : IsDomain A
inst✝¹⁰ : IsIntegrallyClosed A
inst✝⁹ : IsDomain B
inst✝⁸ : IsIntegrallyClosed B
inst✝⁷ : Module.Finite A B
inst✝⁶ : NoZeroSMulDivisors A B
inst✝⁵ : IsDomain Aₘ
inst✝⁴ : IsIntegrallyClosed Aₘ
inst✝³ : IsDomain Bₘ
inst✝² : IsIntegrallyClosed Bₘ
inst✝¹ : NoZeroSMulDivisors Aₘ Bₘ
inst✝ : Module.Finite Aₘ Bₘ
x : B
hM : M ≤ A⁰
K : Type u_1 := FractionRing A
L : Type u_4 := FractionRing B
this✝¹¹ : IsIntegralClosure B A L
this✝¹⁰ : IsLocalization (algebraMapSubmonoid B A⁰) L
f : Aₘ →+* K := IsLocalization.map K (RingHom.id A) hM
this✝⁹ : Algebra Aₘ K := f.toAlgebra
this✝⁸ : IsScalarTower A Aₘ K
this✝⁷ : IsFractionRing Aₘ K := IsFractionRing.isFractionRing_of_isDomain_of_isLocalization M Aₘ K
g : Bₘ →+* L := IsLocalization.map L (RingHom.id B) ⋯
this✝⁶ : Algebra Bₘ L := g.toAlgebra
this✝⁵ : IsScalarTower B Bₘ L
this✝⁴ : Algebra Aₘ L := ((algebraMap K L).comp f).toAlgebra
this✝³ : IsScalarTower Aₘ K L
this✝² : IsScalarTower Aₘ Bₘ L
this✝¹ : IsFractionRing Bₘ L :=
  IsFractionRing.isFractionRing_of_isDomain_of_isLocalization (algebraMapSubmonoid B M) Bₘ L
this✝ : FiniteDimensional K L
this : IsIntegralClosure Bₘ Aₘ L
⊢ (algebraMap Aₘ K) ((algebraMap A Aₘ) ((intTrace A B) x)) = (algebraMap Aₘ K) ((intTrace Aₘ Bₘ) ((algebraMap B Bₘ) x))
state_after: no goals

tactic: have := IsLocalization.uniqueOfZeroMem (S := Aₘ) hM
state_before: case pos
A : Type u_1
K : Type u_2
L : Type u_3
B : Type u_4
inst✝³⁵ : CommRing A
inst✝³⁴ : CommRing B
inst✝³³ : Algebra A B
inst✝³² : Field K
inst✝³¹ : Field L
inst✝³⁰ : Algebra A K
inst✝²⁹ : IsFractionRing A K
inst✝²⁸ : Algebra B L
inst✝²⁷ : Algebra K L
inst✝²⁶ : Algebra A L
inst✝²⁵ : IsScalarTower A B L
inst✝²⁴ : IsScalarTower A K L
inst✝²³ : IsIntegralClosure B A L
inst✝²² : FiniteDimensional K L
Aₘ : Type u_5
Bₘ : Type u_6
inst✝²¹ : CommRing Aₘ
inst✝²⁰ : CommRing Bₘ
inst✝¹⁹ : Algebra Aₘ Bₘ
inst✝¹⁸ : Algebra A Aₘ
inst✝¹⁷ : Algebra B Bₘ
inst✝¹⁶ : Algebra A Bₘ
inst✝¹⁵ : IsScalarTower A Aₘ Bₘ
inst✝¹⁴ : IsScalarTower A B Bₘ
M : Submonoid A
inst✝¹³ : IsLocalization M Aₘ
inst✝¹² : IsLocalization (algebraMapSubmonoid B M) Bₘ
inst✝¹¹ : IsDomain A
inst✝¹⁰ : IsIntegrallyClosed A
inst✝⁹ : IsDomain B
inst✝⁸ : IsIntegrallyClosed B
inst✝⁷ : Module.Finite A B
inst✝⁶ : NoZeroSMulDivisors A B
inst✝⁵ : IsDomain Aₘ
inst✝⁴ : IsIntegrallyClosed Aₘ
inst✝³ : IsDomain Bₘ
inst✝² : IsIntegrallyClosed Bₘ
inst✝¹ : NoZeroSMulDivisors Aₘ Bₘ
inst✝ : Module.Finite Aₘ Bₘ
x : B
hM : 0 ∈ M
⊢ (algebraMap A Aₘ) ((intTrace A B) x) = (intTrace Aₘ Bₘ) ((algebraMap B Bₘ) x)
state_after: case pos
A : Type u_1
K : Type u_2
L : Type u_3
B : Type u_4
inst✝³⁵ : CommRing A
inst✝³⁴ : CommRing B
inst✝³³ : Algebra A B
inst✝³² : Field K
inst✝³¹ : Field L
inst✝³⁰ : Algebra A K
inst✝²⁹ : IsFractionRing A K
inst✝²⁸ : Algebra B L
inst✝²⁷ : Algebra K L
inst✝²⁶ : Algebra A L
inst✝²⁵ : IsScalarTower A B L
inst✝²⁴ : IsScalarTower A K L
inst✝²³ : IsIntegralClosure B A L
inst✝²² : FiniteDimensional K L
Aₘ : Type u_5
Bₘ : Type u_6
inst✝²¹ : CommRing Aₘ
inst✝²⁰ : CommRing Bₘ
inst✝¹⁹ : Algebra Aₘ Bₘ
inst✝¹⁸ : Algebra A Aₘ
inst✝¹⁷ : Algebra B Bₘ
inst✝¹⁶ : Algebra A Bₘ
inst✝¹⁵ : IsScalarTower A Aₘ Bₘ
inst✝¹⁴ : IsScalarTower A B Bₘ
M : Submonoid A
inst✝¹³ : IsLocalization M Aₘ
inst✝¹² : IsLocalization (algebraMapSubmonoid B M) Bₘ
inst✝¹¹ : IsDomain A
inst✝¹⁰ : IsIntegrallyClosed A
inst✝⁹ : IsDomain B
inst✝⁸ : IsIntegrallyClosed B
inst✝⁷ : Module.Finite A B
inst✝⁶ : NoZeroSMulDivisors A B
inst✝⁵ : IsDomain Aₘ
inst✝⁴ : IsIntegrallyClosed Aₘ
inst✝³ : IsDomain Bₘ
inst✝² : IsIntegrallyClosed Bₘ
inst✝¹ : NoZeroSMulDivisors Aₘ Bₘ
inst✝ : Module.Finite Aₘ Bₘ
x : B
hM : 0 ∈ M
this : Unique Aₘ
⊢ (algebraMap A Aₘ) ((intTrace A B) x) = (intTrace Aₘ Bₘ) ((algebraMap B Bₘ) x)

tactic: exact Subsingleton.elim _ _
state_before: case pos
A : Type u_1
K : Type u_2
L : Type u_3
B : Type u_4
inst✝³⁵ : CommRing A
inst✝³⁴ : CommRing B
inst✝³³ : Algebra A B
inst✝³² : Field K
inst✝³¹ : Field L
inst✝³⁰ : Algebra A K
inst✝²⁹ : IsFractionRing A K
inst✝²⁸ : Algebra B L
inst✝²⁷ : Algebra K L
inst✝²⁶ : Algebra A L
inst✝²⁵ : IsScalarTower A B L
inst✝²⁴ : IsScalarTower A K L
inst✝²³ : IsIntegralClosure B A L
inst✝²² : FiniteDimensional K L
Aₘ : Type u_5
Bₘ : Type u_6
inst✝²¹ : CommRing Aₘ
inst✝²⁰ : CommRing Bₘ
inst✝¹⁹ : Algebra Aₘ Bₘ
inst✝¹⁸ : Algebra A Aₘ
inst✝¹⁷ : Algebra B Bₘ
inst✝¹⁶ : Algebra A Bₘ
inst✝¹⁵ : IsScalarTower A Aₘ Bₘ
inst✝¹⁴ : IsScalarTower A B Bₘ
M : Submonoid A
inst✝¹³ : IsLocalization M Aₘ
inst✝¹² : IsLocalization (algebraMapSubmonoid B M) Bₘ
inst✝¹¹ : IsDomain A
inst✝¹⁰ : IsIntegrallyClosed A
inst✝⁹ : IsDomain B
inst✝⁸ : IsIntegrallyClosed B
inst✝⁷ : Module.Finite A B
inst✝⁶ : NoZeroSMulDivisors A B
inst✝⁵ : IsDomain Aₘ
inst✝⁴ : IsIntegrallyClosed Aₘ
inst✝³ : IsDomain Bₘ
inst✝² : IsIntegrallyClosed Bₘ
inst✝¹ : NoZeroSMulDivisors Aₘ Bₘ
inst✝ : Module.Finite Aₘ Bₘ
x : B
hM : 0 ∈ M
this : Unique Aₘ
⊢ (algebraMap A Aₘ) ((intTrace A B) x) = (intTrace Aₘ Bₘ) ((algebraMap B Bₘ) x)
state_after: no goals

tactic: rw [RingHom.algebraMap_toAlgebra, IsLocalization.map_comp, RingHomCompTriple.comp_eq]
state_before: A : Type u_1
K✝ : Type u_2
L✝ : Type u_3
B : Type u_4
inst✝³⁵ : CommRing A
inst✝³⁴ : CommRing B
inst✝³³ : Algebra A B
inst✝³² : Field K✝
inst✝³¹ : Field L✝
inst✝³⁰ : Algebra A K✝
inst✝²⁹ : IsFractionRing A K✝
inst✝²⁸ : Algebra B L✝
inst✝²⁷ : Algebra K✝ L✝
inst✝²⁶ : Algebra A L✝
inst✝²⁵ : IsScalarTower A B L✝
inst✝²⁴ : IsScalarTower A K✝ L✝
inst✝²³ : IsIntegralClosure B A L✝
inst✝²² : FiniteDimensional K✝ L✝
Aₘ : Type u_5
Bₘ : Type u_6
inst✝²¹ : CommRing Aₘ
inst✝²⁰ : CommRing Bₘ
inst✝¹⁹ : Algebra Aₘ Bₘ
inst✝¹⁸ : Algebra A Aₘ
inst✝¹⁷ : Algebra B Bₘ
inst✝¹⁶ : Algebra A Bₘ
inst✝¹⁵ : IsScalarTower A Aₘ Bₘ
inst✝¹⁴ : IsScalarTower A B Bₘ
M : Submonoid A
inst✝¹³ : IsLocalization M Aₘ
inst✝¹² : IsLocalization (algebraMapSubmonoid B M) Bₘ
inst✝¹¹ : IsDomain A
inst✝¹⁰ : IsIntegrallyClosed A
inst✝⁹ : IsDomain B
inst✝⁸ : IsIntegrallyClosed B
inst✝⁷ : Module.Finite A B
inst✝⁶ : NoZeroSMulDivisors A B
inst✝⁵ : IsDomain Aₘ
inst✝⁴ : IsIntegrallyClosed Aₘ
inst✝³ : IsDomain Bₘ
inst✝² : IsIntegrallyClosed Bₘ
inst✝¹ : NoZeroSMulDivisors Aₘ Bₘ
inst✝ : Module.Finite Aₘ Bₘ
x : B
hM : M ≤ A⁰
K : Type u_1 := FractionRing A
L : Type u_4 := FractionRing B
this✝¹ : IsIntegralClosure B A L
this✝ : IsLocalization (algebraMapSubmonoid B A⁰) L
f : Aₘ →+* K := IsLocalization.map K (RingHom.id A) hM
this : Algebra Aₘ K := f.toAlgebra
⊢ algebraMap A K = (algebraMap Aₘ K).comp (algebraMap A Aₘ)
state_after: no goals

tactic: rw [RingHom.algebraMap_toAlgebra, IsLocalization.map_comp, RingHomCompTriple.comp_eq]
state_before: A : Type u_1
K✝ : Type u_2
L✝ : Type u_3
B : Type u_4
inst✝³⁵ : CommRing A
inst✝³⁴ : CommRing B
inst✝³³ : Algebra A B
inst✝³² : Field K✝
inst✝³¹ : Field L✝
inst✝³⁰ : Algebra A K✝
inst✝²⁹ : IsFractionRing A K✝
inst✝²⁸ : Algebra B L✝
inst✝²⁷ : Algebra K✝ L✝
inst✝²⁶ : Algebra A L✝
inst✝²⁵ : IsScalarTower A B L✝
inst✝²⁴ : IsScalarTower A K✝ L✝
inst✝²³ : IsIntegralClosure B A L✝
inst✝²² : FiniteDimensional K✝ L✝
Aₘ : Type u_5
Bₘ : Type u_6
inst✝²¹ : CommRing Aₘ
inst✝²⁰ : CommRing Bₘ
inst✝¹⁹ : Algebra Aₘ Bₘ
inst✝¹⁸ : Algebra A Aₘ
inst✝¹⁷ : Algebra B Bₘ
inst✝¹⁶ : Algebra A Bₘ
inst✝¹⁵ : IsScalarTower A Aₘ Bₘ
inst✝¹⁴ : IsScalarTower A B Bₘ
M : Submonoid A
inst✝¹³ : IsLocalization M Aₘ
inst✝¹² : IsLocalization (algebraMapSubmonoid B M) Bₘ
inst✝¹¹ : IsDomain A
inst✝¹⁰ : IsIntegrallyClosed A
inst✝⁹ : IsDomain B
inst✝⁸ : IsIntegrallyClosed B
inst✝⁷ : Module.Finite A B
inst✝⁶ : NoZeroSMulDivisors A B
inst✝⁵ : IsDomain Aₘ
inst✝⁴ : IsIntegrallyClosed Aₘ
inst✝³ : IsDomain Bₘ
inst✝² : IsIntegrallyClosed Bₘ
inst✝¹ : NoZeroSMulDivisors Aₘ Bₘ
inst✝ : Module.Finite Aₘ Bₘ
x : B
hM : M ≤ A⁰
K : Type u_1 := FractionRing A
L : Type u_4 := FractionRing B
this✝⁴ : IsIntegralClosure B A L
this✝³ : IsLocalization (algebraMapSubmonoid B A⁰) L
f : Aₘ →+* K := IsLocalization.map K (RingHom.id A) hM
this✝² : Algebra Aₘ K := f.toAlgebra
this✝¹ : IsScalarTower A Aₘ K
this✝ : IsFractionRing Aₘ K := IsFractionRing.isFractionRing_of_isDomain_of_isLocalization M Aₘ K
g : Bₘ →+* L := IsLocalization.map L (RingHom.id B) ⋯
this : Algebra Bₘ L := g.toAlgebra
⊢ algebraMap B L = (algebraMap Bₘ L).comp (algebraMap B Bₘ)
state_after: no goals

tactic: apply IsScalarTower.of_algebraMap_eq'
state_before: A : Type u_1
K✝ : Type u_2
L✝ : Type u_3
B : Type u_4
inst✝³⁵ : CommRing A
inst✝³⁴ : CommRing B
inst✝³³ : Algebra A B
inst✝³² : Field K✝
inst✝³¹ : Field L✝
inst✝³⁰ : Algebra A K✝
inst✝²⁹ : IsFractionRing A K✝
inst✝²⁸ : Algebra B L✝
inst✝²⁷ : Algebra K✝ L✝
inst✝²⁶ : Algebra A L✝
inst✝²⁵ : IsScalarTower A B L✝
inst✝²⁴ : IsScalarTower A K✝ L✝
inst✝²³ : IsIntegralClosure B A L✝
inst✝²² : FiniteDimensional K✝ L✝
Aₘ : Type u_5
Bₘ : Type u_6
inst✝²¹ : CommRing Aₘ
inst✝²⁰ : CommRing Bₘ
inst✝¹⁹ : Algebra Aₘ Bₘ
inst✝¹⁸ : Algebra A Aₘ
inst✝¹⁷ : Algebra B Bₘ
inst✝¹⁶ : Algebra A Bₘ
inst✝¹⁵ : IsScalarTower A Aₘ Bₘ
inst✝¹⁴ : IsScalarTower A B Bₘ
M : Submonoid A
inst✝¹³ : IsLocalization M Aₘ
inst✝¹² : IsLocalization (algebraMapSubmonoid B M) Bₘ
inst✝¹¹ : IsDomain A
inst✝¹⁰ : IsIntegrallyClosed A
inst✝⁹ : IsDomain B
inst✝⁸ : IsIntegrallyClosed B
inst✝⁷ : Module.Finite A B
inst✝⁶ : NoZeroSMulDivisors A B
inst✝⁵ : IsDomain Aₘ
inst✝⁴ : IsIntegrallyClosed Aₘ
inst✝³ : IsDomain Bₘ
inst✝² : IsIntegrallyClosed Bₘ
inst✝¹ : NoZeroSMulDivisors Aₘ Bₘ
inst✝ : Module.Finite Aₘ Bₘ
x : B
hM : M ≤ A⁰
K : Type u_1 := FractionRing A
L : Type u_4 := FractionRing B
this✝⁷ : IsIntegralClosure B A L
this✝⁶ : IsLocalization (algebraMapSubmonoid B A⁰) L
f : Aₘ →+* K := IsLocalization.map K (RingHom.id A) hM
this✝⁵ : Algebra Aₘ K := f.toAlgebra
this✝⁴ : IsScalarTower A Aₘ K
this✝³ : IsFractionRing Aₘ K := IsFractionRing.isFractionRing_of_isDomain_of_isLocalization M Aₘ K
g : Bₘ →+* L := IsLocalization.map L (RingHom.id B) ⋯
this✝² : Algebra Bₘ L := g.toAlgebra
this✝¹ : IsScalarTower B Bₘ L
this✝ : Algebra Aₘ L := ((algebraMap K L).comp f).toAlgebra
this : IsScalarTower Aₘ K L
⊢ IsScalarTower Aₘ Bₘ L
state_after: case h
A : Type u_1
K✝ : Type u_2
L✝ : Type u_3
B : Type u_4
inst✝³⁵ : CommRing A
inst✝³⁴ : CommRing B
inst✝³³ : Algebra A B
inst✝³² : Field K✝
inst✝³¹ : Field L✝
inst✝³⁰ : Algebra A K✝
inst✝²⁹ : IsFractionRing A K✝
inst✝²⁸ : Algebra B L✝
inst✝²⁷ : Algebra K✝ L✝
inst✝²⁶ : Algebra A L✝
inst✝²⁵ : IsScalarTower A B L✝
inst✝²⁴ : IsScalarTower A K✝ L✝
inst✝²³ : IsIntegralClosure B A L✝
inst✝²² : FiniteDimensional K✝ L✝
Aₘ : Type u_5
Bₘ : Type u_6
inst✝²¹ : CommRing Aₘ
inst✝²⁰ : CommRing Bₘ
inst✝¹⁹ : Algebra Aₘ Bₘ
inst✝¹⁸ : Algebra A Aₘ
inst✝¹⁷ : Algebra B Bₘ
inst✝¹⁶ : Algebra A Bₘ
inst✝¹⁵ : IsScalarTower A Aₘ Bₘ
inst✝¹⁴ : IsScalarTower A B Bₘ
M : Submonoid A
inst✝¹³ : IsLocalization M Aₘ
inst✝¹² : IsLocalization (algebraMapSubmonoid B M) Bₘ
inst✝¹¹ : IsDomain A
inst✝¹⁰ : IsIntegrallyClosed A
inst✝⁹ : IsDomain B
inst✝⁸ : IsIntegrallyClosed B
inst✝⁷ : Module.Finite A B
inst✝⁶ : NoZeroSMulDivisors A B
inst✝⁵ : IsDomain Aₘ
inst✝⁴ : IsIntegrallyClosed Aₘ
inst✝³ : IsDomain Bₘ
inst✝² : IsIntegrallyClosed Bₘ
inst✝¹ : NoZeroSMulDivisors Aₘ Bₘ
inst✝ : Module.Finite Aₘ Bₘ
x : B
hM : M ≤ A⁰
K : Type u_1 := FractionRing A
L : Type u_4 := FractionRing B
this✝⁷ : IsIntegralClosure B A L
this✝⁶ : IsLocalization (algebraMapSubmonoid B A⁰) L
f : Aₘ →+* K := IsLocalization.map K (RingHom.id A) hM
this✝⁵ : Algebra Aₘ K := f.toAlgebra
this✝⁴ : IsScalarTower A Aₘ K
this✝³ : IsFractionRing Aₘ K := IsFractionRing.isFractionRing_of_isDomain_of_isLocalization M Aₘ K
g : Bₘ →+* L := IsLocalization.map L (RingHom.id B) ⋯
this✝² : Algebra Bₘ L := g.toAlgebra
this✝¹ : IsScalarTower B Bₘ L
this✝ : Algebra Aₘ L := ((algebraMap K L).comp f).toAlgebra
this : IsScalarTower Aₘ K L
⊢ algebraMap Aₘ L = (algebraMap Bₘ L).comp (algebraMap Aₘ Bₘ)

tactic: apply IsLocalization.ringHom_ext M
state_before: case h
A : Type u_1
K✝ : Type u_2
L✝ : Type u_3
B : Type u_4
inst✝³⁵ : CommRing A
inst✝³⁴ : CommRing B
inst✝³³ : Algebra A B
inst✝³² : Field K✝
inst✝³¹ : Field L✝
inst✝³⁰ : Algebra A K✝
inst✝²⁹ : IsFractionRing A K✝
inst✝²⁸ : Algebra B L✝
inst✝²⁷ : Algebra K✝ L✝
inst✝²⁶ : Algebra A L✝
inst✝²⁵ : IsScalarTower A B L✝
inst✝²⁴ : IsScalarTower A K✝ L✝
inst✝²³ : IsIntegralClosure B A L✝
inst✝²² : FiniteDimensional K✝ L✝
Aₘ : Type u_5
Bₘ : Type u_6
inst✝²¹ : CommRing Aₘ
inst✝²⁰ : CommRing Bₘ
inst✝¹⁹ : Algebra Aₘ Bₘ
inst✝¹⁸ : Algebra A Aₘ
inst✝¹⁷ : Algebra B Bₘ
inst✝¹⁶ : Algebra A Bₘ
inst✝¹⁵ : IsScalarTower A Aₘ Bₘ
inst✝¹⁴ : IsScalarTower A B Bₘ
M : Submonoid A
inst✝¹³ : IsLocalization M Aₘ
inst✝¹² : IsLocalization (algebraMapSubmonoid B M) Bₘ
inst✝¹¹ : IsDomain A
inst✝¹⁰ : IsIntegrallyClosed A
inst✝⁹ : IsDomain B
inst✝⁸ : IsIntegrallyClosed B
inst✝⁷ : Module.Finite A B
inst✝⁶ : NoZeroSMulDivisors A B
inst✝⁵ : IsDomain Aₘ
inst✝⁴ : IsIntegrallyClosed Aₘ
inst✝³ : IsDomain Bₘ
inst✝² : IsIntegrallyClosed Bₘ
inst✝¹ : NoZeroSMulDivisors Aₘ Bₘ
inst✝ : Module.Finite Aₘ Bₘ
x : B
hM : M ≤ A⁰
K : Type u_1 := FractionRing A
L : Type u_4 := FractionRing B
this✝⁷ : IsIntegralClosure B A L
this✝⁶ : IsLocalization (algebraMapSubmonoid B A⁰) L
f : Aₘ →+* K := IsLocalization.map K (RingHom.id A) hM
this✝⁵ : Algebra Aₘ K := f.toAlgebra
this✝⁴ : IsScalarTower A Aₘ K
this✝³ : IsFractionRing Aₘ K := IsFractionRing.isFractionRing_of_isDomain_of_isLocalization M Aₘ K
g : Bₘ →+* L := IsLocalization.map L (RingHom.id B) ⋯
this✝² : Algebra Bₘ L := g.toAlgebra
this✝¹ : IsScalarTower B Bₘ L
this✝ : Algebra Aₘ L := ((algebraMap K L).comp f).toAlgebra
this : IsScalarTower Aₘ K L
⊢ algebraMap Aₘ L = (algebraMap Bₘ L).comp (algebraMap Aₘ Bₘ)
state_after: case h.h
A : Type u_1
K✝ : Type u_2
L✝ : Type u_3
B : Type u_4
inst✝³⁵ : CommRing A
inst✝³⁴ : CommRing B
inst✝³³ : Algebra A B
inst✝³² : Field K✝
inst✝³¹ : Field L✝
inst✝³⁰ : Algebra A K✝
inst✝²⁹ : IsFractionRing A K✝
inst✝²⁸ : Algebra B L✝
inst✝²⁷ : Algebra K✝ L✝
inst✝²⁶ : Algebra A L✝
inst✝²⁵ : IsScalarTower A B L✝
inst✝²⁴ : IsScalarTower A K✝ L✝
inst✝²³ : IsIntegralClosure B A L✝
inst✝²² : FiniteDimensional K✝ L✝
Aₘ : Type u_5
Bₘ : Type u_6
inst✝²¹ : CommRing Aₘ
inst✝²⁰ : CommRing Bₘ
inst✝¹⁹ : Algebra Aₘ Bₘ
inst✝¹⁸ : Algebra A Aₘ
inst✝¹⁷ : Algebra B Bₘ
inst✝¹⁶ : Algebra A Bₘ
inst✝¹⁵ : IsScalarTower A Aₘ Bₘ
inst✝¹⁴ : IsScalarTower A B Bₘ
M : Submonoid A
inst✝¹³ : IsLocalization M Aₘ
inst✝¹² : IsLocalization (algebraMapSubmonoid B M) Bₘ
inst✝¹¹ : IsDomain A
inst✝¹⁰ : IsIntegrallyClosed A
inst✝⁹ : IsDomain B
inst✝⁸ : IsIntegrallyClosed B
inst✝⁷ : Module.Finite A B
inst✝⁶ : NoZeroSMulDivisors A B
inst✝⁵ : IsDomain Aₘ
inst✝⁴ : IsIntegrallyClosed Aₘ
inst✝³ : IsDomain Bₘ
inst✝² : IsIntegrallyClosed Bₘ
inst✝¹ : NoZeroSMulDivisors Aₘ Bₘ
inst✝ : Module.Finite Aₘ Bₘ
x : B
hM : M ≤ A⁰
K : Type u_1 := FractionRing A
L : Type u_4 := FractionRing B
this✝⁷ : IsIntegralClosure B A L
this✝⁶ : IsLocalization (algebraMapSubmonoid B A⁰) L
f : Aₘ →+* K := IsLocalization.map K (RingHom.id A) hM
this✝⁵ : Algebra Aₘ K := f.toAlgebra
this✝⁴ : IsScalarTower A Aₘ K
this✝³ : IsFractionRing Aₘ K := IsFractionRing.isFractionRing_of_isDomain_of_isLocalization M Aₘ K
g : Bₘ →+* L := IsLocalization.map L (RingHom.id B) ⋯
this✝² : Algebra Bₘ L := g.toAlgebra
this✝¹ : IsScalarTower B Bₘ L
this✝ : Algebra Aₘ L := ((algebraMap K L).comp f).toAlgebra
this : IsScalarTower Aₘ K L
⊢ (algebraMap Aₘ L).comp (algebraMap A Aₘ) = ((algebraMap Bₘ L).comp (algebraMap Aₘ Bₘ)).comp (algebraMap A Aₘ)

tactic: rw [RingHom.algebraMap_toAlgebra, RingHom.algebraMap_toAlgebra (R := Bₘ), RingHom.comp_assoc,
  RingHom.comp_assoc, ← IsScalarTower.algebraMap_eq, IsScalarTower.algebraMap_eq A B Bₘ,
  IsLocalization.map_comp, RingHom.comp_id, ← RingHom.comp_assoc, IsLocalization.map_comp,
  RingHom.comp_id, ← IsScalarTower.algebraMap_eq, ← IsScalarTower.algebraMap_eq]
state_before: case h.h
A : Type u_1
K✝ : Type u_2
L✝ : Type u_3
B : Type u_4
inst✝³⁵ : CommRing A
inst✝³⁴ : CommRing B
inst✝³³ : Algebra A B
inst✝³² : Field K✝
inst✝³¹ : Field L✝
inst✝³⁰ : Algebra A K✝
inst✝²⁹ : IsFractionRing A K✝
inst✝²⁸ : Algebra B L✝
inst✝²⁷ : Algebra K✝ L✝
inst✝²⁶ : Algebra A L✝
inst✝²⁵ : IsScalarTower A B L✝
inst✝²⁴ : IsScalarTower A K✝ L✝
inst✝²³ : IsIntegralClosure B A L✝
inst✝²² : FiniteDimensional K✝ L✝
Aₘ : Type u_5
Bₘ : Type u_6
inst✝²¹ : CommRing Aₘ
inst✝²⁰ : CommRing Bₘ
inst✝¹⁹ : Algebra Aₘ Bₘ
inst✝¹⁸ : Algebra A Aₘ
inst✝¹⁷ : Algebra B Bₘ
inst✝¹⁶ : Algebra A Bₘ
inst✝¹⁵ : IsScalarTower A Aₘ Bₘ
inst✝¹⁴ : IsScalarTower A B Bₘ
M : Submonoid A
inst✝¹³ : IsLocalization M Aₘ
inst✝¹² : IsLocalization (algebraMapSubmonoid B M) Bₘ
inst✝¹¹ : IsDomain A
inst✝¹⁰ : IsIntegrallyClosed A
inst✝⁹ : IsDomain B
inst✝⁸ : IsIntegrallyClosed B
inst✝⁷ : Module.Finite A B
inst✝⁶ : NoZeroSMulDivisors A B
inst✝⁵ : IsDomain Aₘ
inst✝⁴ : IsIntegrallyClosed Aₘ
inst✝³ : IsDomain Bₘ
inst✝² : IsIntegrallyClosed Bₘ
inst✝¹ : NoZeroSMulDivisors Aₘ Bₘ
inst✝ : Module.Finite Aₘ Bₘ
x : B
hM : M ≤ A⁰
K : Type u_1 := FractionRing A
L : Type u_4 := FractionRing B
this✝⁷ : IsIntegralClosure B A L
this✝⁶ : IsLocalization (algebraMapSubmonoid B A⁰) L
f : Aₘ →+* K := IsLocalization.map K (RingHom.id A) hM
this✝⁵ : Algebra Aₘ K := f.toAlgebra
this✝⁴ : IsScalarTower A Aₘ K
this✝³ : IsFractionRing Aₘ K := IsFractionRing.isFractionRing_of_isDomain_of_isLocalization M Aₘ K
g : Bₘ →+* L := IsLocalization.map L (RingHom.id B) ⋯
this✝² : Algebra Bₘ L := g.toAlgebra
this✝¹ : IsScalarTower B Bₘ L
this✝ : Algebra Aₘ L := ((algebraMap K L).comp f).toAlgebra
this : IsScalarTower Aₘ K L
⊢ (algebraMap Aₘ L).comp (algebraMap A Aₘ) = ((algebraMap Bₘ L).comp (algebraMap Aₘ Bₘ)).comp (algebraMap A Aₘ)
state_after: no goals