∀ {M : Type u_1} [inst : AddMonoid M],
  Function.RightInverse
    (fun X =>
      AddOpposite.rec' (fun u => { val := AddOpposite.op ↑u, neg := AddOpposite.op ↑(-u), val_neg := ⋯, neg_val := ⋯ })
        X)
    fun u => AddOpposite.op { val := AddOpposite.unop ↑u, neg := AddOpposite.unop ↑(-u), val_neg := ⋯, neg_val := ⋯ }