Removing the datatype declaration of "order" allows the standard General.order
to be used. Thus we can use Int.compare and String.compare instead of the
slower home-grown versions.
consts value :: boolex => (nat => bool) => bool
primrec
"value (Const b) env = b"
"value (Var x) env = env x"
"value (Neg b) env = (~ value b env)"
"value (And b c) env = (value b env & value c env)"