Theorem: NonUnitalAlgHom.toAlgHom_apply
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
φ : A →ₙₐ[R] C
⊢ (fun x => (algebraMap R C) x.fst + φ x.snd) 1 = 1
state_after: no goals
tactic: simp only [fst_one, map_one, snd_one, φ.map_zero, add_zero]
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
φ : A →ₙₐ[R] C
x y : Unitization R A
⊢ { toFun := fun x => (algebraMap R C) x.fst + φ x.snd, map_one' := ⋯ }.toFun (x * y) =
    { toFun := fun x => (algebraMap R C) x.fst + φ x.snd, map_one' := ⋯ }.toFun x *
      { toFun := fun x => (algebraMap R C) x.fst + φ x.snd, map_one' := ⋯ }.toFun y
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
φ : A →ₙₐ[R] C
y : Unitization R A
x_r : R
x_a : A
⊢ { toFun := fun x => (algebraMap R C) x.fst + φ x.snd, map_one' := ⋯ }.toFun ((inl x_r + ↑x_a) * y) =
    { toFun := fun x => (algebraMap R C) x.fst + φ x.snd, map_one' := ⋯ }.toFun (inl x_r + ↑x_a) *
      { toFun := fun x => (algebraMap R C) x.fst + φ x.snd, map_one' := ⋯ }.toFun y
tactic: induction' x with x_r x_a
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
φ : A →ₙₐ[R] C
y : Unitization R A
x_r : R
x_a : A
⊢ { toFun := fun x => (algebraMap R C) x.fst + φ x.snd, map_one' := ⋯ }.toFun ((inl x_r + ↑x_a) * y) =
    { toFun := fun x => (algebraMap R C) x.fst + φ x.snd, map_one' := ⋯ }.toFun (inl x_r + ↑x_a) *
      { toFun := fun x => (algebraMap R C) x.fst + φ x.snd, map_one' := ⋯ }.toFun y
state_after: case inl_add_inr.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
φ : A →ₙₐ[R] C
x_r : R
x_a : A
y_r : R
y_a : A
⊢ { toFun := fun x => (algebraMap R C) x.fst + φ x.snd, map_one' := ⋯ }.toFun ((inl x_r + ↑x_a) * (inl y_r + ↑y_a)) =
    { toFun := fun x => (algebraMap R C) x.fst + φ x.snd, map_one' := ⋯ }.toFun (inl x_r + ↑x_a) *
      { toFun := fun x => (algebraMap R C) x.fst + φ x.snd, map_one' := ⋯ }.toFun (inl y_r + ↑y_a)
tactic: induction' y with y_r y_a
state_before: case inl_add_inr.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
φ : A →ₙₐ[R] C
x_r : R
x_a : A
y_r : R
y_a : A
⊢ { toFun := fun x => (algebraMap R C) x.fst + φ x.snd, map_one' := ⋯ }.toFun ((inl x_r + ↑x_a) * (inl y_r + ↑y_a)) =
    { toFun := fun x => (algebraMap R C) x.fst + φ x.snd, map_one' := ⋯ }.toFun (inl x_r + ↑x_a) *
      { toFun := fun x => (algebraMap R C) x.fst + φ x.snd, map_one' := ⋯ }.toFun (inl y_r + ↑y_a)
state_after: case inl_add_inr.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
φ : A →ₙₐ[R] C
x_r : R
x_a : A
y_r : R
y_a : A
⊢ (algebraMap R C) x_r * (algebraMap R C) y_r + (x_r • φ y_a + y_r • φ x_a + φ x_a * φ y_a) =
    ((algebraMap R C) x_r + φ x_a) * ((algebraMap R C) y_r + φ y_a)
tactic: simp only [fst_mul, fst_add, fst_inl, fst_inr, snd_mul, snd_add, snd_inl, snd_inr, add_zero,
      map_mul, zero_add, map_add, map_smul φ]
state_before: case inl_add_inr.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
φ : A →ₙₐ[R] C
x_r : R
x_a : A
y_r : R
y_a : A
⊢ (algebraMap R C) x_r * (algebraMap R C) y_r + (x_r • φ y_a + y_r • φ x_a + φ x_a * φ y_a) =
    ((algebraMap R C) x_r + φ x_a) * ((algebraMap R C) y_r + φ y_a)
state_after: case inl_add_inr.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
φ : A →ₙₐ[R] C
x_r : R
x_a : A
y_r : R
y_a : A
⊢ (algebraMap R C) x_r * (algebraMap R C) y_r + (x_r • φ y_a + y_r • φ x_a + φ x_a * φ y_a) =
    (algebraMap R C) x_r * (algebraMap R C) y_r + (algebraMap R C) x_r * φ y_a +
      (φ x_a * (algebraMap R C) y_r + φ x_a * φ y_a)
tactic: rw [add_mul, mul_add, mul_add]
state_before: case inl_add_inr.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
φ : A →ₙₐ[R] C
x_r : R
x_a : A
y_r : R
y_a : A
⊢ (algebraMap R C) x_r * (algebraMap R C) y_r + (x_r • φ y_a + y_r • φ x_a + φ x_a * φ y_a) =
    (algebraMap R C) x_r * (algebraMap R C) y_r + (algebraMap R C) x_r * φ y_a +
      (φ x_a * (algebraMap R C) y_r + φ x_a * φ y_a)
state_after: case inl_add_inr.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
φ : A →ₙₐ[R] C
x_r : R
x_a : A
y_r : R
y_a : A
⊢ (algebraMap R C) x_r * (algebraMap R C) y_r + (x_r • φ y_a + y_r • φ x_a + φ x_a * φ y_a) =
    (algebraMap R C) x_r * (algebraMap R C) y_r + (algebraMap R C) x_r * φ y_a +
      ((algebraMap R C) y_r * φ x_a + φ x_a * φ y_a)
tactic: rw [← Algebra.commutes _ (φ x_a)]
state_before: case inl_add_inr.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
φ : A →ₙₐ[R] C
x_r : R
x_a : A
y_r : R
y_a : A
⊢ (algebraMap R C) x_r * (algebraMap R C) y_r + (x_r • φ y_a + y_r • φ x_a + φ x_a * φ y_a) =
    (algebraMap R C) x_r * (algebraMap R C) y_r + (algebraMap R C) x_r * φ y_a +
      ((algebraMap R C) y_r * φ x_a + φ x_a * φ y_a)
state_after: no goals
tactic: simp only [Algebra.algebraMap_eq_smul_one, smul_one_mul, add_assoc]
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
φ : A →ₙₐ[R] C
⊢ (↑{ toFun := fun x => (algebraMap R C) x.fst + φ x.snd, map_one' := ⋯, map_mul' := ⋯ }).toFun 0 = 0
state_after: no goals
tactic: simp only [fst_zero, map_zero, snd_zero, φ.map_zero, add_zero]
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
φ : A →ₙₐ[R] C
x y : Unitization R A
⊢ (↑{ toFun := fun x => (algebraMap R C) x.fst + φ x.snd, map_one' := ⋯, map_mul' := ⋯ }).toFun (x + y) =
    (↑{ toFun := fun x => (algebraMap R C) x.fst + φ x.snd, map_one' := ⋯, map_mul' := ⋯ }).toFun x +
      (↑{ toFun := fun x => (algebraMap R C) x.fst + φ x.snd, map_one' := ⋯, map_mul' := ⋯ }).toFun y
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
φ : A →ₙₐ[R] C
y : Unitization R A
x_r : R
x_a : A
⊢ (↑{ toFun := fun x => (algebraMap R C) x.fst + φ x.snd, map_one' := ⋯, map_mul' := ⋯ }).toFun (inl x_r + ↑x_a + y) =
    (↑{ toFun := fun x => (algebraMap R C) x.fst + φ x.snd, map_one' := ⋯, map_mul' := ⋯ }).toFun (inl x_r + ↑x_a) +
      (↑{ toFun := fun x => (algebraMap R C) x.fst + φ x.snd, map_one' := ⋯, map_mul' := ⋯ }).toFun y
tactic: induction' x with x_r x_a
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
φ : A →ₙₐ[R] C
y : Unitization R A
x_r : R
x_a : A
⊢ (↑{ toFun := fun x => (algebraMap R C) x.fst + φ x.snd, map_one' := ⋯, map_mul' := ⋯ }).toFun (inl x_r + ↑x_a + y) =
    (↑{ toFun := fun x => (algebraMap R C) x.fst + φ x.snd, map_one' := ⋯, map_mul' := ⋯ }).toFun (inl x_r + ↑x_a) +
      (↑{ toFun := fun x => (algebraMap R C) x.fst + φ x.snd, map_one' := ⋯, map_mul' := ⋯ }).toFun y
state_after: case inl_add_inr.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
φ : A →ₙₐ[R] C
x_r : R
x_a : A
y_r : R
y_a : A
⊢ (↑{ toFun := fun x => (algebraMap R C) x.fst + φ x.snd, map_one' := ⋯, map_mul' := ⋯ }).toFun
      (inl x_r + ↑x_a + (inl y_r + ↑y_a)) =
    (↑{ toFun := fun x => (algebraMap R C) x.fst + φ x.snd, map_one' := ⋯, map_mul' := ⋯ }).toFun (inl x_r + ↑x_a) +
      (↑{ toFun := fun x => (algebraMap R C) x.fst + φ x.snd, map_one' := ⋯, map_mul' := ⋯ }).toFun (inl y_r + ↑y_a)
tactic: induction' y with y_r y_a
state_before: case inl_add_inr.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
φ : A →ₙₐ[R] C
x_r : R
x_a : A
y_r : R
y_a : A
⊢ (↑{ toFun := fun x => (algebraMap R C) x.fst + φ x.snd, map_one' := ⋯, map_mul' := ⋯ }).toFun
      (inl x_r + ↑x_a + (inl y_r + ↑y_a)) =
    (↑{ toFun := fun x => (algebraMap R C) x.fst + φ x.snd, map_one' := ⋯, map_mul' := ⋯ }).toFun (inl x_r + ↑x_a) +
      (↑{ toFun := fun x => (algebraMap R C) x.fst + φ x.snd, map_one' := ⋯, map_mul' := ⋯ }).toFun (inl y_r + ↑y_a)
state_after: case inl_add_inr.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
φ : A →ₙₐ[R] C
x_r : R
x_a : A
y_r : R
y_a : A
⊢ (algebraMap R C) x_r + (algebraMap R C) y_r + (φ x_a + φ y_a) =
    (algebraMap R C) x_r + φ x_a + ((algebraMap R C) y_r + φ y_a)
tactic: simp only [fst_add, fst_inl, fst_inr, add_zero, map_add, snd_add, snd_inl, snd_inr,
      zero_add, φ.map_add]
state_before: case inl_add_inr.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
φ : A →ₙₐ[R] C
x_r : R
x_a : A
y_r : R
y_a : A
⊢ (algebraMap R C) x_r + (algebraMap R C) y_r + (φ x_a + φ y_a) =
    (algebraMap R C) x_r + φ x_a + ((algebraMap R C) y_r + φ y_a)
state_after: no goals
tactic: rw [add_add_add_comm]
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
φ : A →ₙₐ[R] C
r : R
⊢ (↑↑{ toFun := fun x => (algebraMap R C) x.fst + φ x.snd, map_one' := ⋯, map_mul' := ⋯, map_zero' := ⋯,
              map_add' := ⋯ }).toFun
      ((algebraMap R (Unitization R A)) r) =
    (algebraMap R C) r
state_after: no goals
tactic: simp only [algebraMap_eq_inl, fst_inl, snd_inl, φ.map_zero, add_zero]