Я уверен, что должен быть лучший способ, но это, кажется, работает:
ops = {LessEqual, GreaterEqual};
ineqRules[op_] := HoldPattern[Inequality[a_, op, c_, _, e_]] -> a == c;
ineq = Table[ineqRules[op], {op, ops}];
Inequality[1, LessEqual, x, Less, 2] /. ineq
Out: 1 == x
HTH
Редактировать
Будьте осторожныс этим:
Inequality[e1, GreaterEqual, e2, Equal, e3] /. ineq
Out> e1 == e2
Но
Inequality[1, GreaterEqual, e2, Equal, 2] /. ineq
Out> False
Я полагаю, что для того, чтобы выйти из этого состояния, если понадобится, нужен какой-нибудь зверь Hold [] ... дайте нам знать