-- Mathlib/RingTheory/IntegralClosure/IntegralRestrict.lean
lemma Algebra.intNorm_eq_of_isLocalization (x : B) :
    algebraMap A Aₘ (Algebra.intNorm A B x) = Algebra.intNorm Aₘ Bₘ (algebraMap B Bₘ x)

Proof state:
case neg
A : Type u_1
B : Type u_4
inst✝²⁶ : CommRing A
inst✝²⁵ : CommRing B
inst✝²⁴ : Algebra A B
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✝¹³ : IsIntegrallyClosed A
inst✝¹² : IsDomain A
inst✝¹¹ : IsDomain B
inst✝¹⁰ : IsIntegrallyClosed B
inst✝⁹ : Module.Finite A B
inst✝⁸ : NoZeroSMulDivisors A B
inst✝⁷ : Algebra.IsSeparable (FractionRing A) (FractionRing B)
inst✝⁶ : IsDomain Aₘ
inst✝⁵ : IsIntegrallyClosed Aₘ
inst✝⁴ : IsDomain Bₘ
inst✝³ : IsIntegrallyClosed Bₘ
inst✝² : NoZeroSMulDivisors Aₘ Bₘ
inst✝¹ : Module.Finite Aₘ Bₘ
inst✝ : Algebra.IsSeparable (FractionRing Aₘ) (FractionRing 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ₘ) ((intNorm A B) x) = (intNorm 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]

Result:
case neg
A : Type u_1
B : Type u_4
inst✝²⁶ : CommRing A
inst✝²⁵ : CommRing B
inst✝²⁴ : Algebra A B
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✝¹³ : IsIntegrallyClosed A
inst✝¹² : IsDomain A
inst✝¹¹ : IsDomain B
inst✝¹⁰ : IsIntegrallyClosed B
inst✝⁹ : Module.Finite A B
inst✝⁸ : NoZeroSMulDivisors A B
inst✝⁷ : Algebra.IsSeparable (FractionRing A) (FractionRing B)
inst✝⁶ : IsDomain Aₘ
inst✝⁵ : IsIntegrallyClosed Aₘ
inst✝⁴ : IsDomain Bₘ
inst✝³ : IsIntegrallyClosed Bₘ
inst✝² : NoZeroSMulDivisors Aₘ Bₘ
inst✝¹ : Module.Finite Aₘ Bₘ
inst✝ : Algebra.IsSeparable (FractionRing Aₘ) (FractionRing 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ₘ) ((intNorm A B) x) = (intNorm Aₘ Bₘ) ((algebraMap B Bₘ) x)

Proof state:
case h
A : Type u_1
B : Type u_4
inst✝²⁶ : CommRing A
inst✝²⁵ : CommRing B
inst✝²⁴ : Algebra A B
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✝¹³ : IsIntegrallyClosed A
inst✝¹² : IsDomain A
inst✝¹¹ : IsDomain B
inst✝¹⁰ : IsIntegrallyClosed B
inst✝⁹ : Module.Finite A B
inst✝⁸ : NoZeroSMulDivisors A B
inst✝⁷ : Algebra.IsSeparable (FractionRing A) (FractionRing B)
inst✝⁶ : IsDomain Aₘ
inst✝⁵ : IsIntegrallyClosed Aₘ
inst✝⁴ : IsDomain Bₘ
inst✝³ : IsIntegrallyClosed Bₘ
inst✝² : NoZeroSMulDivisors Aₘ Bₘ
inst✝¹ : Module.Finite Aₘ Bₘ
inst✝ : Algebra.IsSeparable (FractionRing Aₘ) (FractionRing 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

Result:
case h.h
A : Type u_1
B : Type u_4
inst✝²⁶ : CommRing A
inst✝²⁵ : CommRing B
inst✝²⁴ : Algebra A B
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✝¹³ : IsIntegrallyClosed A
inst✝¹² : IsDomain A
inst✝¹¹ : IsDomain B
inst✝¹⁰ : IsIntegrallyClosed B
inst✝⁹ : Module.Finite A B
inst✝⁸ : NoZeroSMulDivisors A B
inst✝⁷ : Algebra.IsSeparable (FractionRing A) (FractionRing B)
inst✝⁶ : IsDomain Aₘ
inst✝⁵ : IsIntegrallyClosed Aₘ
inst✝⁴ : IsDomain Bₘ
inst✝³ : IsIntegrallyClosed Bₘ
inst✝² : NoZeroSMulDivisors Aₘ Bₘ
inst✝¹ : Module.Finite Aₘ Bₘ
inst✝ : Algebra.IsSeparable (FractionRing Aₘ) (FractionRing 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ₘ)