moved abstract syntax operations to logic.ML;
maintain class parameters;
added params_of_sort;
added cert/read_classrel (from sign.ML), check class parameters;
tuned;
Arith = FOL +
classes arith < term
consts "0" :: "'a::arith" ("0")
"1" :: "'a::arith" ("1")
"+" :: "['a::arith,'a] => 'a" (infixl 60)
end