∀ {ι : Type u_3} {R : Type u_1} [inst : CommRing R] {M : Type u_2} [inst_1 : AddCommGroup M] [inst_2 : Module R M]
  [inst_3 : IsDomain R] [inst_4 : IsPrincipalIdealRing R] [inst_5 : Finite ι] (b : Module.Basis ι R M)
  (N O : Submodule R M) (N_le_O : N ≤ O),
  ∃ o,
    ∃ (hno : Classical.choose ⋯ ≤ o),
      ∃ bO bN a, ∀ (i : Fin (Classical.choose ⋯)), ↑(bN i) = a i • ↑(bO (Fin.castLE hno i))