equal
deleted
inserted
replaced
897 let |
897 let |
898 val vars = filter (fn v => free_in v eq) evs |
898 val vars = filter (fn v => free_in v eq) evs |
899 val (qs,p) = isolate_monomials vars eq |
899 val (qs,p) = isolate_monomials vars eq |
900 val rs = ideal (qs @ ps) p |
900 val rs = ideal (qs @ ps) p |
901 (fn (s,t) => TermOrd.term_ord (term_of s, term_of t)) |
901 (fn (s,t) => TermOrd.term_ord (term_of s, term_of t)) |
902 in (eq,(uncurry take) (length qs, rs) ~~ vars) |
902 in (eq, take (length qs) rs ~~ vars) |
903 end; |
903 end; |
904 fun subst_in_poly i p = Thm.rhs_of (ring_normalize_conv (vsubst i p)); |
904 fun subst_in_poly i p = Thm.rhs_of (ring_normalize_conv (vsubst i p)); |
905 in |
905 in |
906 fun solve_idealism evs ps eqs = |
906 fun solve_idealism evs ps eqs = |
907 if null evs then [] else |
907 if null evs then [] else |