∀ {A : Type u_1} [inst : AddGroup A] {a b : AddSubgroup A},
  { toFun := fun S => { toSubmonoid := AddSubmonoid.toSubmonoid S.toAddSubmonoid, inv_mem' := ⋯ },
          invFun := fun S => { toAddSubmonoid := Submonoid.toAddSubmonoid S.toSubmonoid, neg_mem' := ⋯ }, left_inv := ⋯,
          right_inv := ⋯ }
        a ≤
      { toFun := fun S => { toSubmonoid := AddSubmonoid.toSubmonoid S.toAddSubmonoid, inv_mem' := ⋯ },
          invFun := fun S => { toAddSubmonoid := Submonoid.toAddSubmonoid S.toSubmonoid, neg_mem' := ⋯ }, left_inv := ⋯,
          right_inv := ⋯ }
        b ↔
    { toFun := fun S => { toSubmonoid := AddSubmonoid.toSubmonoid S.toAddSubmonoid, inv_mem' := ⋯ },
          invFun := fun S => { toAddSubmonoid := Submonoid.toAddSubmonoid S.toSubmonoid, neg_mem' := ⋯ }, left_inv := ⋯,
          right_inv := ⋯ }
        a ≤
      { toFun := fun S => { toSubmonoid := AddSubmonoid.toSubmonoid S.toAddSubmonoid, inv_mem' := ⋯ },
          invFun := fun S => { toAddSubmonoid := Submonoid.toAddSubmonoid S.toSubmonoid, neg_mem' := ⋯ }, left_inv := ⋯,
          right_inv := ⋯ }
        b