1.1 --- a/src/Tools/isac/Knowledge/LinEq.thy Thu Jun 10 17:06:32 2021 +0200
1.2 +++ b/src/Tools/isac/Knowledge/LinEq.thy Fri Jun 11 11:49:34 2021 +0200
1.3 @@ -25,14 +25,14 @@
1.4 ML \<open>
1.5 val LinEq_prls = (*3.10.02:just the following order due to subterm evaluation*)
1.6 Rule_Set.append_rules "LinEq_prls" Rule_Set.empty
1.7 - [Rule.Eval ("HOL.eq", Prog_Expr.eval_equal "#equal_"),
1.8 - Rule.Eval ("Prog_Expr.matches", Prog_Expr.eval_matches ""),
1.9 - Rule.Eval ("Prog_Expr.lhs" , Prog_Expr.eval_lhs ""),
1.10 - Rule.Eval ("Prog_Expr.rhs" , Prog_Expr.eval_rhs ""),
1.11 - Rule.Eval ("Poly.has_degree_in", eval_has_degree_in ""),
1.12 - Rule.Eval ("Poly.is_polyrat_in", eval_is_polyrat_in ""),
1.13 - Rule.Eval ("Prog_Expr.occurs_in", Prog_Expr.eval_occurs_in ""),
1.14 - Rule.Eval ("Prog_Expr.ident", Prog_Expr.eval_ident "#ident_"),
1.15 + [\<^rule_eval>\<open>HOL.eq\<close> (Prog_Expr.eval_equal "#equal_"),
1.16 + \<^rule_eval>\<open>Prog_Expr.matches\<close> (Prog_Expr.eval_matches ""),
1.17 + \<^rule_eval>\<open>Prog_Expr.lhs\<close> (Prog_Expr.eval_lhs ""),
1.18 + \<^rule_eval>\<open>Prog_Expr.rhs\<close> (Prog_Expr.eval_rhs ""),
1.19 + \<^rule_eval>\<open>has_degree_in\<close> (eval_has_degree_in ""),
1.20 + \<^rule_eval>\<open>is_polyrat_in\<close> (eval_is_polyrat_in ""),
1.21 + \<^rule_eval>\<open>Prog_Expr.occurs_in\<close> (Prog_Expr.eval_occurs_in ""),
1.22 + \<^rule_eval>\<open>Prog_Expr.ident\<close> (Prog_Expr.eval_ident "#ident_"),
1.23 Rule.Thm ("not_true",ThmC.numerals_to_Free @{thm not_true}),
1.24 Rule.Thm ("not_false",ThmC.numerals_to_Free @{thm not_false}),
1.25 Rule.Thm ("and_true",ThmC.numerals_to_Free @{thm and_true}),
1.26 @@ -46,8 +46,8 @@
1.27 [Rule.Thm ("real_assoc_1",ThmC.numerals_to_Free @{thm real_assoc_1})
1.28 (*
1.29 Don't use
1.30 - Rule.Eval ("Rings.divide_class.divide", Prog_Expr.eval_cancel "#divide_e"),
1.31 - Rule.Eval ("Transcendental.powr" , (**)eval_binop "#power_"),
1.32 + \<^rule_eval>\<open>divide\<close> (Prog_Expr.eval_cancel "#divide_e"),
1.33 + \<^rule_eval>\<open>powr\<close> (**)(eval_binop "#power_"),
1.34 *)
1.35 ];
1.36
1.37 @@ -57,8 +57,8 @@
1.38 [Rule.Thm ("real_assoc_1",ThmC.numerals_to_Free @{thm real_assoc_1})
1.39 (*
1.40 Don't use
1.41 - Rule.Eval ("Rings.divide_class.divide", Prog_Expr.eval_cancel "#divide_e"),
1.42 - Rule.Eval ("Transcendental.powr" , (**)eval_binop "#power_"),
1.43 + \<^rule_eval>\<open>divide\<close> (Prog_Expr.eval_cancel "#divide_e"),
1.44 + \<^rule_eval>\<open>powr\<close> (**)(eval_binop "#power_"),
1.45 *)
1.46 ];
1.47 \<close>
1.48 @@ -73,14 +73,14 @@
1.49 calc = [], errpatts = [],
1.50 rules = [
1.51 Rule.Thm ("real_assoc_1",ThmC.numerals_to_Free @{thm real_assoc_1}),
1.52 - Rule.Eval ("Groups.plus_class.plus", (**)eval_binop "#add_"),
1.53 - Rule.Eval ("Groups.minus_class.minus", (**)eval_binop "#sub_"),
1.54 - Rule.Eval ("Groups.times_class.times", (**)eval_binop "#mult_"),
1.55 - (* Dont use
1.56 - Rule.Eval ("Rings.divide_class.divide", Prog_Expr.eval_cancel "#divide_e"),
1.57 - Rule.Eval ("NthRoot.sqrt", eval_sqrt "#sqrt_"),
1.58 + \<^rule_eval>\<open>plus\<close> (**)(eval_binop "#add_"),
1.59 + \<^rule_eval>\<open>minus\<close> (**)(eval_binop "#sub_"),
1.60 + \<^rule_eval>\<open>times\<close> (**)(eval_binop "#mult_"),
1.61 + (* Don't use
1.62 + \<^rule_eval>\<open>divide\<close> (Prog_Expr.eval_cancel "#divide_e"),
1.63 + \<^rule_eval>\<open>sqrt\<close> (eval_sqrt "#sqrt_"),
1.64 *)
1.65 - Rule.Eval ("Transcendental.powr" , (**)eval_binop "#power_")
1.66 + \<^rule_eval>\<open>powr\<close> (**)(eval_binop "#power_")
1.67 ],
1.68 scr = Rule.Empty_Prog});
1.69 \<close>