major code change: refute can now handle any Isabelle term, adds certain axioms automatically, and can handle inductive datatypes (but not yet recursion over them)
Itrev = Main +
consts itrev :: 'a list => 'a list => 'a list
primrec
"itrev [] ys = ys"
"itrev (x#xs) ys = itrev xs (x#ys)"
end