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)
consts last :: 'a list => 'a
recdef last "measure (%xs. length xs)"
"last [x] = x"
"last (x#y#zs) = last (y#zs)"