/-- The group homomorphism from `W⟮F⟯` to `W⟮K⟯` induced by a base change from `F` to `K`. -/
@[simps]
def ofBaseChange : W⟮F⟯ →+ W⟮K⟯ where
  toFun := ofBaseChangeFun W F K
  map_zero' := rfl
  map_add' := by
    rintro (_ | @⟨x₁, y₁, _⟩) (_ | @⟨x₂, y₂, _⟩)
    

Proof state:
case zero.zero
R✝ : Type u
inst✝¹³ : CommRing R✝
W✝ : Affine R✝
A : Type v
inst✝¹² : CommRing A
inst✝¹¹ : Algebra R✝ A
B : Type w
inst✝¹⁰ : CommRing B
inst✝⁹ : Algebra R✝ B
inst✝⁸ : Algebra A B
inst✝⁷ : IsScalarTower R✝ A B
R : Type u
inst✝⁶ : CommRing R
W : Affine R
F : Type v
inst✝⁵ : Field F
inst✝⁴ : Algebra R F
K : Type w
inst✝³ : Field K
inst✝² : Algebra R K
inst✝¹ : Algebra F K
inst✝ : IsScalarTower R F K
⊢ ZeroHom.toFun { toFun := ofBaseChangeFun W F K, map_zero' := (_ : ofBaseChangeFun W F K 0 = ofBaseChangeFun W F K 0) }
      (zero + zero) =
    ZeroHom.toFun
        { toFun := ofBaseChangeFun W F K, map_zero' := (_ : ofBaseChangeFun W F K 0 = ofBaseChangeFun W F K 0) } zero +
      ZeroHom.toFun
        { toFun := ofBaseChangeFun W F K, map_zero' := (_ : ofBaseChangeFun W F K 0 = ofBaseChangeFun W F K 0) } zero
case zero.some
R✝ : Type u
inst✝¹³ : CommRing R✝
W✝ : Affine R✝
A : Type v
inst✝¹² : CommRing A
inst✝¹¹ : Algebra R✝ A
B : Type w
inst✝¹⁰ : CommRing B
inst✝⁹ : Algebra R✝ B
inst✝⁸ : Algebra A B
inst✝⁷ : IsScalarTower R✝ A B
R : Type u
inst✝⁶ : CommRing R
W : Affine R
F : Type v
inst✝⁵ : Field F
inst✝⁴ : Algebra R F
K : Type w
inst✝³ : Field K
inst✝² : Algebra R K
inst✝¹ : Algebra F K
inst✝ : IsScalarTower R F K
x₂ y₂ : F
h✝ : (W.baseChange F).nonsingular x₂ y₂
⊢ ZeroHom.toFun { toFun := ofBaseChangeFun W F K, map_zero' := (_ : ofBaseChangeFun W F K 0 = ofBaseChangeFun W F K 0) }
      (zero + some h✝) =
    ZeroHom.toFun
        { toFun := ofBaseChangeFun W F K, map_zero' := (_ : ofBaseChangeFun W F K 0 = ofBaseChangeFun W F K 0) } zero +
      ZeroHom.toFun
        { toFun := ofBaseChangeFun W F K, map_zero' := (_ : ofBaseChangeFun W F K 0 = ofBaseChangeFun W F K 0) }
        (some h✝)
case some.zero
R✝ : Type u
inst✝¹³ : CommRing R✝
W✝ : Affine R✝
A : Type v
inst✝¹² : CommRing A
inst✝¹¹ : Algebra R✝ A
B : Type w
inst✝¹⁰ : CommRing B
inst✝⁹ : Algebra R✝ B
inst✝⁸ : Algebra A B
inst✝⁷ : IsScalarTower R✝ A B
R : Type u
inst✝⁶ : CommRing R
W : Affine R
F : Type v
inst✝⁵ : Field F
inst✝⁴ : Algebra R F
K : Type w
inst✝³ : Field K
inst✝² : Algebra R K
inst✝¹ : Algebra F K
inst✝ : IsScalarTower R F K
x₁ y₁ : F
h✝ : (W.baseChange F).nonsingular x₁ y₁
⊢ ZeroHom.toFun { toFun := ofBaseChangeFun W F K, map_zero' := (_ : ofBaseChangeFun W F K 0 = ofBaseChangeFun W F K 0) }
      (some h✝ + zero) =
    ZeroHom.toFun
        { toFun := ofBaseChangeFun W F K, map_zero' := (_ : ofBaseChangeFun W F K 0 = ofBaseChangeFun W F K 0) }
        (some h✝) +
      ZeroHom.toFun
        { toFun := ofBaseChangeFun W F K, map_zero' := (_ : ofBaseChangeFun W F K 0 = ofBaseChangeFun W F K 0) } zero
case some.some
R✝ : Type u
inst✝¹³ : CommRing R✝
W✝ : Affine R✝
A : Type v
inst✝¹² : CommRing A
inst✝¹¹ : Algebra R✝ A
B : Type w
inst✝¹⁰ : CommRing B
inst✝⁹ : Algebra R✝ B
inst✝⁸ : Algebra A B
inst✝⁷ : IsScalarTower R✝ A B
R : Type u
inst✝⁶ : CommRing R
W : Affine R
F : Type v
inst✝⁵ : Field F
inst✝⁴ : Algebra R F
K : Type w
inst✝³ : Field K
inst✝² : Algebra R K
inst✝¹ : Algebra F K
inst✝ : IsScalarTower R F K
x₁ y₁ : F
h✝¹ : (W.baseChange F).nonsingular x₁ y₁
x₂ y₂ : F
h✝ : (W.baseChange F).nonsingular x₂ y₂
⊢ ZeroHom.toFun { toFun := ofBaseChangeFun W F K, map_zero' := (_ : ofBaseChangeFun W F K 0 = ofBaseChangeFun W F K 0) }
      (some h✝¹ + some h✝) =
    ZeroHom.toFun
        { toFun := ofBaseChangeFun W F K, map_zero' := (_ : ofBaseChangeFun W F K 0 = ofBaseChangeFun W F K 0) }
        (some h✝¹) +
      ZeroHom.toFun
        { toFun := ofBaseChangeFun W F K, map_zero' := (_ : ofBaseChangeFun W F K 0 = ofBaseChangeFun W F K 0) }
        (some h✝)

Next tactic:
any_goals rfl