{R : Type u_1} →
  {M : Type u_2} →
    [inst : Semiring R] →
      [OrzechProperty R] →
        [inst_2 : AddCommMonoid M] →
          [inst_3 : Module R M] →
            {s : Set M} →
              [inst_4 : Fintype ↑s] →
                ⊤ ≤ Submodule.span R s → s.toFinset.card = Module.finrank R M → Module.Basis (↑s) R M