∀ {ι : Type u_1} {R : Type u_2} {M : Type u_3} {N : Type u_4} [inst : CommRing R] [inst_1 : AddCommGroup M]
  [inst_2 : Module R M] [inst_3 : AddCommGroup N] [inst_4 : Module R N] (P : RootPairing ι R M N) [NeZero 2]
  [IsDomain R] [Module.IsTorsionFree R M] (q : Submodule R M),
  (∀ (i : ι), q ∈ Module.End.invtSubmodule ↑(P.reflection i)) →
    ∃ Φ, (∀ i ∈ Φ, ¬Disjoint q (R ∙ P.root i)) ∧ ∀ i ∉ Φ, q ≤ LinearMap.ker (P.coroot' i)