Conversion checking with e-graphs
neg_is_unique : [x: t, y: t, eq: x + y == zero] -> y == neg[x];
neg_is_unique = [x, y, _] ↦ {
nx = neg[x];
R.plus.assoc[nx, x, y];
R.plus.unit[nx];
R.plus.unit[y];
R.plus.comm[nx, zero];
R.plus.comm[y, zero];
R.plus.isinv[x];
R.plus.comm[x, nx];
%dump "neg_is_unique.svg";
@refl
};