Theorem: Unitization.algHom_ext
File: Mathlib/Algebra/Algebra/Unitization.lean

Proof steps:
state_before: S : Type u_1
R : Type u_2
A : Type u_3
inst✝¹⁴ : CommSemiring S
inst✝¹³ : CommSemiring R
inst✝¹² : NonUnitalSemiring A
inst✝¹¹ : Module R A
inst✝¹⁰ : SMulCommClass R A A
inst✝⁹ : IsScalarTower R A A
B : Type u_4
inst✝⁸ : Semiring B
inst✝⁷ : Algebra S B
inst✝⁶ : Algebra S R
inst✝⁵ : DistribMulAction S A
inst✝⁴ : IsScalarTower S R A
C : Type u_5
inst✝³ : Semiring C
inst✝² : Algebra R C
F : Type u_6
inst✝¹ : FunLike F (Unitization R A) B
inst✝ : AlgHomClass F S (Unitization R A) B
φ ψ : F
h : ∀ (a : A), φ ↑a = ψ ↑a
h' : ∀ (r : R), φ ((algebraMap R (Unitization R A)) r) = ψ ((algebraMap R (Unitization R A)) r)
⊢ φ = ψ
state_after: S : Type u_1
R : Type u_2
A : Type u_3
inst✝¹⁴ : CommSemiring S
inst✝¹³ : CommSemiring R
inst✝¹² : NonUnitalSemiring A
inst✝¹¹ : Module R A
inst✝¹⁰ : SMulCommClass R A A
inst✝⁹ : IsScalarTower R A A
B : Type u_4
inst✝⁸ : Semiring B
inst✝⁷ : Algebra S B
inst✝⁶ : Algebra S R
inst✝⁵ : DistribMulAction S A
inst✝⁴ : IsScalarTower S R A
C : Type u_5
inst✝³ : Semiring C
inst✝² : Algebra R C
F : Type u_6
inst✝¹ : FunLike F (Unitization R A) B
inst✝ : AlgHomClass F S (Unitization R A) B
φ ψ : F
h : ∀ (a : A), φ ↑a = ψ ↑a
h' : ∀ (r : R), φ ((algebraMap R (Unitization R A)) r) = ψ ((algebraMap R (Unitization R A)) r)
x : Unitization R A
⊢ φ x = ψ x
tactic: refine DFunLike.ext φ ψ (fun x ↦ ?_)
state_before: S : Type u_1
R : Type u_2
A : Type u_3
inst✝¹⁴ : CommSemiring S
inst✝¹³ : CommSemiring R
inst✝¹² : NonUnitalSemiring A
inst✝¹¹ : Module R A
inst✝¹⁰ : SMulCommClass R A A
inst✝⁹ : IsScalarTower R A A
B : Type u_4
inst✝⁸ : Semiring B
inst✝⁷ : Algebra S B
inst✝⁶ : Algebra S R
inst✝⁵ : DistribMulAction S A
inst✝⁴ : IsScalarTower S R A
C : Type u_5
inst✝³ : Semiring C
inst✝² : Algebra R C
F : Type u_6
inst✝¹ : FunLike F (Unitization R A) B
inst✝ : AlgHomClass F S (Unitization R A) B
φ ψ : F
h : ∀ (a : A), φ ↑a = ψ ↑a
h' : ∀ (r : R), φ ((algebraMap R (Unitization R A)) r) = ψ ((algebraMap R (Unitization R A)) r)
x : Unitization R A
⊢ φ x = ψ x
state_after: case inl_add_inr
S : Type u_1
R : Type u_2
A : Type u_3
inst✝¹⁴ : CommSemiring S
inst✝¹³ : CommSemiring R
inst✝¹² : NonUnitalSemiring A
inst✝¹¹ : Module R A
inst✝¹⁰ : SMulCommClass R A A
inst✝⁹ : IsScalarTower R A A
B : Type u_4
inst✝⁸ : Semiring B
inst✝⁷ : Algebra S B
inst✝⁶ : Algebra S R
inst✝⁵ : DistribMulAction S A
inst✝⁴ : IsScalarTower S R A
C : Type u_5
inst✝³ : Semiring C
inst✝² : Algebra R C
F : Type u_6
inst✝¹ : FunLike F (Unitization R A) B
inst✝ : AlgHomClass F S (Unitization R A) B
φ ψ : F
h : ∀ (a : A), φ ↑a = ψ ↑a
h' : ∀ (r : R), φ ((algebraMap R (Unitization R A)) r) = ψ ((algebraMap R (Unitization R A)) r)
r✝ : R
a✝ : A
⊢ φ (inl r✝ + ↑a✝) = ψ (inl r✝ + ↑a✝)
tactic: induction x
state_before: case inl_add_inr
S : Type u_1
R : Type u_2
A : Type u_3
inst✝¹⁴ : CommSemiring S
inst✝¹³ : CommSemiring R
inst✝¹² : NonUnitalSemiring A
inst✝¹¹ : Module R A
inst✝¹⁰ : SMulCommClass R A A
inst✝⁹ : IsScalarTower R A A
B : Type u_4
inst✝⁸ : Semiring B
inst✝⁷ : Algebra S B
inst✝⁶ : Algebra S R
inst✝⁵ : DistribMulAction S A
inst✝⁴ : IsScalarTower S R A
C : Type u_5
inst✝³ : Semiring C
inst✝² : Algebra R C
F : Type u_6
inst✝¹ : FunLike F (Unitization R A) B
inst✝ : AlgHomClass F S (Unitization R A) B
φ ψ : F
h : ∀ (a : A), φ ↑a = ψ ↑a
h' : ∀ (r : R), φ ((algebraMap R (Unitization R A)) r) = ψ ((algebraMap R (Unitization R A)) r)
r✝ : R
a✝ : A
⊢ φ (inl r✝ + ↑a✝) = ψ (inl r✝ + ↑a✝)
state_after: no goals
tactic: simp only [map_add, ← algebraMap_eq_inl, h, h']