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)
Sep2 = List +
consts sep :: "'a * 'a list => 'a list"
recdef sep "measure (%(a,xs). length xs)"
"sep(a, x#y#zs) = x # a # sep(a,y#zs)"
"sep(a, xs) = xs"
end