∀ {R : Type u_1} {M : Type u_2} [inst : CommRing R] [inst_1 : AddCommGroup M] [inst_2 : Module R M] {x : M}
  {f : Module.Dual R M} [IsDomain R] [NeZero 2] [Module.IsTorsionFree R M] (h : f x = 2) {p : Submodule R M},
  Disjoint p (R ∙ x) → (p ∈ Module.End.invtSubmodule ↑(Module.reflection h) ↔ p ≤ LinearMap.ker f)