Код:
With[{
poly1 := RandomSimpleLinearPolynomial[var],
poly2 := RandomSimpleQuadraticPolynomial[var],
op := RandomOperation[]},
(poly1~op~poly2 && op[poly2 poly2/poly2 poly2, 0] &&
op[poly1/poly1 poly1, RandomInteger[{-10, 10}]] &&
op[poly1/poly1, poly1/poly1])]
Simplify[%, Element[var, Reals]]
FindInstance[%, var, Reals]
Length[%]
По второй строчке можно сразу установить тождественные True и False, с помощью последней цифры — число решений.
Добавляем автоматическую проверку:
Код:
CheckSystem[sys_, var_] :=
With[{fs = FullSimplify[sys, Element[var, Reals]]},
If[fs === False || fs === True, False,
Length[FindInstance[fs, var, Reals]] > 0]
]
CheckedSystem[var_] :=
With[{sys = SystemOfInequalitiesGenerator[var]},
If[CheckSystem[sys, var], sys, CheckedSystem[var]]]