∀ {A : Type u_1} {ι : Type u_2} [inst : Ring A] {B : ι → AddSubgroup A},
  (∀ (i j : ι), ∃ k, B k ≤ B i ⊓ B j) →
    (∀ (i : ι), ∃ j, ↑(B j) * ↑(B j) ⊆ ↑(B i)) →
      (∀ (x : A) (i : ι), ∃ j, ↑(B j) ⊆ (fun x_1 => x * x_1) ⁻¹' ↑(B i)) →
        (∀ (x : A) (i : ι), ∃ j, ↑(B j) ⊆ (fun x_1 => x_1 * x) ⁻¹' ↑(B i)) → RingSubgroupsBasis B