∀ {R : Type r} {S : Type s} {A : Type u} {B : Type v} [inst : CommRing R] [inst_1 : CommRing S] [inst_2 : CommRing A]
  [inst_3 : CommRing B] {W : WeierstrassCurve.Affine R} [inst_4 : Algebra R S] [inst_5 : Algebra R A]
  [inst_6 : Algebra S A] [IsScalarTower R S A] [inst_8 : Algebra R B] [inst_9 : Algebra S B] [IsScalarTower R S B]
  {f : A →ₐ[S] B} (x y : A),
  Function.Injective ⇑f →
    ((WeierstrassCurve.baseChange W B).toAffine.Nonsingular (f x) (f y) ↔
      (WeierstrassCurve.baseChange W A).toAffine.Nonsingular x y)