161 (*.rulesets for simplifying Integrals.*) |
161 (*.rulesets for simplifying Integrals.*) |
162 |
162 |
163 (*.for simplify_Integral adapted from 'norm_Rational_rls'.*) |
163 (*.for simplify_Integral adapted from 'norm_Rational_rls'.*) |
164 val norm_Rational_rls_noadd_fractions = |
164 val norm_Rational_rls_noadd_fractions = |
165 Rule_Def.Repeat {id = "norm_Rational_rls_noadd_fractions", preconds = [], |
165 Rule_Def.Repeat {id = "norm_Rational_rls_noadd_fractions", preconds = [], |
166 rew_ord = ("dummy_ord",Rule.dummy_ord), |
166 rew_ord = ("dummy_ord",Rewrite_Ord.dummy_ord), |
167 erls = norm_rat_erls, srls = Rule_Set.Empty, calc = [], errpatts = [], |
167 erls = norm_rat_erls, srls = Rule_Set.Empty, calc = [], errpatts = [], |
168 rules = [(*Rule.Rls_ add_fractions_p_rls,!!!*) |
168 rules = [(*Rule.Rls_ add_fractions_p_rls,!!!*) |
169 Rule.Rls_ (*rat_mult_div_pow original corrected WN051028*) |
169 Rule.Rls_ (*rat_mult_div_pow original corrected WN051028*) |
170 (Rule_Def.Repeat {id = "rat_mult_div_pow", preconds = [], |
170 (Rule_Def.Repeat {id = "rat_mult_div_pow", preconds = [], |
171 rew_ord = ("dummy_ord",Rule.dummy_ord), |
171 rew_ord = ("dummy_ord",Rewrite_Ord.dummy_ord), |
172 erls = (*FIXME.WN051028 Rule_Set.empty,*) |
172 erls = (*FIXME.WN051028 Rule_Set.empty,*) |
173 Rule_Set.append_rules "Rule_Set.empty-is_polyexp" Rule_Set.empty |
173 Rule_Set.append_rules "Rule_Set.empty-is_polyexp" Rule_Set.empty |
174 [Rule.Num_Calc ("Poly.is'_polyexp", |
174 [Rule.Num_Calc ("Poly.is'_polyexp", |
175 eval_is_polyexp "")], |
175 eval_is_polyexp "")], |
176 srls = Rule_Set.Empty, calc = [], errpatts = [], |
176 srls = Rule_Set.Empty, calc = [], errpatts = [], |
205 }; |
205 }; |
206 |
206 |
207 (*.for simplify_Integral adapted from 'norm_Rational'.*) |
207 (*.for simplify_Integral adapted from 'norm_Rational'.*) |
208 val norm_Rational_noadd_fractions = |
208 val norm_Rational_noadd_fractions = |
209 Rule_Set.Seqence {id = "norm_Rational_noadd_fractions", preconds = [], |
209 Rule_Set.Seqence {id = "norm_Rational_noadd_fractions", preconds = [], |
210 rew_ord = ("dummy_ord",Rule.dummy_ord), |
210 rew_ord = ("dummy_ord",Rewrite_Ord.dummy_ord), |
211 erls = norm_rat_erls, srls = Rule_Set.Empty, calc = [], errpatts = [], |
211 erls = norm_rat_erls, srls = Rule_Set.Empty, calc = [], errpatts = [], |
212 rules = [Rule.Rls_ discard_minus, |
212 rules = [Rule.Rls_ discard_minus, |
213 Rule.Rls_ rat_mult_poly,(* removes double fractions like a/b/c *) |
213 Rule.Rls_ rat_mult_poly,(* removes double fractions like a/b/c *) |
214 Rule.Rls_ make_rat_poly_with_parentheses, (*WN0510 also in(#)below*) |
214 Rule.Rls_ make_rat_poly_with_parentheses, (*WN0510 also in(#)below*) |
215 Rule.Rls_ cancel_p_rls, (*FIXME.MG:cancel_p does NOT order sometim*) |
215 Rule.Rls_ cancel_p_rls, (*FIXME.MG:cancel_p does NOT order sometim*) |
239 ***** TermC.num_str @{thm add_divide_distrib}) |
239 ***** TermC.num_str @{thm add_divide_distrib}) |
240 (*"(?x + ?y) / ?z = ?x / ?z + ?y / ?z"*)----------*) |
240 (*"(?x + ?y) / ?z = ?x / ?z + ?y / ?z"*)----------*) |
241 ]; |
241 ]; |
242 val simplify_Integral = |
242 val simplify_Integral = |
243 Rule_Set.Seqence {id = "simplify_Integral", preconds = []:term list, |
243 Rule_Set.Seqence {id = "simplify_Integral", preconds = []:term list, |
244 rew_ord = ("dummy_ord", Rule.dummy_ord), |
244 rew_ord = ("dummy_ord", Rewrite_Ord.dummy_ord), |
245 erls = Atools_erls, srls = Rule_Set.Empty, |
245 erls = Atools_erls, srls = Rule_Set.Empty, |
246 calc = [], errpatts = [], |
246 calc = [], errpatts = [], |
247 rules = [Rule.Thm ("distrib_right", TermC.num_str @{thm distrib_right}), |
247 rules = [Rule.Thm ("distrib_right", TermC.num_str @{thm distrib_right}), |
248 (*"(?z1.0 + ?z2.0) * ?w = ?z1.0 * ?w + ?z2.0 * ?w"*) |
248 (*"(?z1.0 + ?z2.0) * ?w = ?z1.0 * ?w + ?z2.0 * ?w"*) |
249 Rule.Thm ("add_divide_distrib", TermC.num_str @{thm add_divide_distrib}), |
249 Rule.Thm ("add_divide_distrib", TermC.num_str @{thm add_divide_distrib}), |
265 This is a copy from 'make_polynomial_in' with insertions from |
265 This is a copy from 'make_polynomial_in' with insertions from |
266 'make_ratpoly_in' |
266 'make_ratpoly_in' |
267 THIS IS KEPT FOR COMPARISON ............................................ |
267 THIS IS KEPT FOR COMPARISON ............................................ |
268 * val simplify_Integral = prep_rls'( |
268 * val simplify_Integral = prep_rls'( |
269 * Rule_Set.Seqence {id = "", preconds = []:term list, |
269 * Rule_Set.Seqence {id = "", preconds = []:term list, |
270 * rew_ord = ("dummy_ord", Rule.dummy_ord), |
270 * rew_ord = ("dummy_ord", Rewrite_Ord.dummy_ord), |
271 * erls = Atools_erls, srls = Rule_Set.Empty, |
271 * erls = Atools_erls, srls = Rule_Set.Empty, |
272 * calc = [], (*asm_thm = [],*) |
272 * calc = [], (*asm_thm = [],*) |
273 * rules = [Rule.Rls_ expand_poly, |
273 * rules = [Rule.Rls_ expand_poly, |
274 * Rule.Rls_ order_add_mult_in, |
274 * Rule.Rls_ order_add_mult_in, |
275 * Rule.Rls_ simplify_power, |
275 * Rule.Rls_ simplify_power, |