| |
| | [No title] |
 | | cmt ((Fn (f, a), Fn (g, b)) :: l) = (case lex (String.compare (f, g)) (Int.compare o Df length) (a, b) of EQUAL => cmt (zip a b @ l) |
 | | fnc fs (Fn (n, a) :: tms) = fnc (insert (n, length a) fs) (a @ tms); fun func fs [] = fs |
 | | weight (Fn (f, a)) = foldl wght (w (f, length a), no_vars) a and wght (t, (n, v)) = (curry op+ n ## Multiset.union v) (weight t) in weight end; (* The Knuth-Bendix ordering is partial when terms contain variables *) fun kb_compare w p = let fun kbo [] = SOME EQUAL |
| www.cl.cam.ac.uk /~jeh1004/software/fol/src/fol/Term1.sml (3094 words) |
|