Skip to content

Latest commit

 

History

History
31 lines (23 loc) · 975 Bytes

README.md

File metadata and controls

31 lines (23 loc) · 975 Bytes

Maxima Inequality Operator

Maxima cannot deduce obvious facts which follow from the transitivity of the inequality operator.

(%i) assume(x > y)
(%o)                              [x > y]
(%i) assume(x > 1)
(%o)                              [x > 1]
(%i) is(x^2 > x)
(%o)                               true
(%i) is(x^2 > y)
(%o)                              unknown

I have created the operators '>>' and '<<' to overcome this weakness. They work by creating a digraph G whose vertices are the arguments of the relevant (in)equalities in the assume database, with edges between vertices if one is less than the other. The predicate is then equivalent to reachability in the digraph.

(%i) x^2 >> y
(%o)                               true

To see the graph generated by using the operators, enter dg(G).

(%i) dg(G);
(%o)                               done

graph