107 real_plus_binom_pow3_poly: "[| a is_polyexp; b is_polyexp |] ==> |
107 real_plus_binom_pow3_poly: "[| a is_polyexp; b is_polyexp |] ==> |
108 (a + b) \<up> 3 = a \<up> 3 + 3*a \<up> 2*b + 3*a*b \<up> 2 + b \<up> 3" and |
108 (a + b) \<up> 3 = a \<up> 3 + 3*a \<up> 2*b + 3*a*b \<up> 2 + b \<up> 3" and |
109 real_minus_binom_pow3: "(a - b) \<up> 3 = a \<up> 3 - 3*a \<up> 2*b + 3*a*b \<up> 2 - b \<up> 3" and |
109 real_minus_binom_pow3: "(a - b) \<up> 3 = a \<up> 3 - 3*a \<up> 2*b + 3*a*b \<up> 2 - b \<up> 3" and |
110 real_minus_binom_pow3_p: "(a + -1 * b) \<up> 3 = a \<up> 3 + -3*a \<up> 2*b + 3*a*b \<up> 2 + |
110 real_minus_binom_pow3_p: "(a + -1 * b) \<up> 3 = a \<up> 3 + -3*a \<up> 2*b + 3*a*b \<up> 2 + |
111 -1*b \<up> 3" and |
111 -1*b \<up> 3" and |
112 (* real_plus_binom_pow: "[| n is_const; 3 < n |] ==> |
112 (* real_plus_binom_pow: "[| n is_num; 3 < n |] ==> |
113 (a + b) \<up> n = (a + b) * (a + b)\<up>(n - 1)" *) |
113 (a + b) \<up> n = (a + b) * (a + b)\<up>(n - 1)" *) |
114 real_plus_binom_pow4: "(a + b) \<up> 4 = (a \<up> 3 + 3*a \<up> 2*b + 3*a*b \<up> 2 + b \<up> 3) |
114 real_plus_binom_pow4: "(a + b) \<up> 4 = (a \<up> 3 + 3*a \<up> 2*b + 3*a*b \<up> 2 + b \<up> 3) |
115 *(a + b)" and |
115 *(a + b)" and |
116 real_plus_binom_pow4_poly: "[| a is_polyexp; b is_polyexp |] ==> |
116 real_plus_binom_pow4_poly: "[| a is_polyexp; b is_polyexp |] ==> |
117 (a + b) \<up> 4 = (a \<up> 3 + 3*a \<up> 2*b + 3*a*b \<up> 2 + b \<up> 3) |
117 (a + b) \<up> 4 = (a \<up> 3 + 3*a \<up> 2*b + 3*a*b \<up> 2 + b \<up> 3) |
140 real_plus_minus_binom2_p: "(a - b)*(a + b) = a \<up> 2 + -1*b \<up> 2" and |
140 real_plus_minus_binom2_p: "(a - b)*(a + b) = a \<up> 2 + -1*b \<up> 2" and |
141 real_plus_minus_binom2_p_p: "(a + -1 * b)*(a + b) = a \<up> 2 + -1*b \<up> 2" and |
141 real_plus_minus_binom2_p_p: "(a + -1 * b)*(a + b) = a \<up> 2 + -1*b \<up> 2" and |
142 real_plus_binom_times1: "(a + 1*b)*(a + -1*b) = a \<up> 2 + -1*b \<up> 2" and |
142 real_plus_binom_times1: "(a + 1*b)*(a + -1*b) = a \<up> 2 + -1*b \<up> 2" and |
143 real_plus_binom_times2: "(a + -1*b)*(a + 1*b) = a \<up> 2 + -1*b \<up> 2" and |
143 real_plus_binom_times2: "(a + -1*b)*(a + 1*b) = a \<up> 2 + -1*b \<up> 2" and |
144 |
144 |
145 real_num_collect: "[| l is_const; m is_const |] ==> |
145 real_num_collect: "[| l is_num; m is_num |] ==> |
146 l * n + m * n = (l + m) * n" and |
146 l * n + m * n = (l + m) * n" and |
147 (* FIXME.MG.0401: replace 'real_num_collect_assoc' |
147 (* FIXME.MG.0401: replace 'real_num_collect_assoc' |
148 by 'real_num_collect_assoc_l' ... are equal, introduced by MG ! *) |
148 by 'real_num_collect_assoc_l' ... are equal, introduced by MG ! *) |
149 real_num_collect_assoc: "[| l is_const; m is_const |] ==> |
149 real_num_collect_assoc: "[| l is_num; m is_num |] ==> |
150 l * n + (m * n + k) = (l + m) * n + k" and |
150 l * n + (m * n + k) = (l + m) * n + k" and |
151 real_num_collect_assoc_l: "[| l is_const; m is_const |] ==> |
151 real_num_collect_assoc_l: "[| l is_num; m is_num |] ==> |
152 l * n + (m * n + k) = (l + m) |
152 l * n + (m * n + k) = (l + m) |
153 * n + k" and |
153 * n + k" and |
154 real_num_collect_assoc_r: "[| l is_const; m is_const |] ==> |
154 real_num_collect_assoc_r: "[| l is_num; m is_num |] ==> |
155 (k + m * n) + l * n = k + (l + m) * n" and |
155 (k + m * n) + l * n = k + (l + m) * n" and |
156 real_one_collect: "m is_const ==> n + m * n = (1 + m) * n" and |
156 real_one_collect: "m is_num ==> n + m * n = (1 + m) * n" and |
157 (* FIXME.MG.0401: replace 'real_one_collect_assoc' |
157 (* FIXME.MG.0401: replace 'real_one_collect_assoc' |
158 by 'real_one_collect_assoc_l' ... are equal, introduced by MG ! *) |
158 by 'real_one_collect_assoc_l' ... are equal, introduced by MG ! *) |
159 real_one_collect_assoc: "m is_const ==> n + (m * n + k) = (1 + m)* n + k" and |
159 real_one_collect_assoc: "m is_num ==> n + (m * n + k) = (1 + m)* n + k" and |
160 |
160 |
161 real_one_collect_assoc_l: "m is_const ==> n + (m * n + k) = (1 + m) * n + k" and |
161 real_one_collect_assoc_l: "m is_num ==> n + (m * n + k) = (1 + m) * n + k" and |
162 real_one_collect_assoc_r: "m is_const ==> (k + n) + m * n = k + (1 + m) * n" and |
162 real_one_collect_assoc_r: "m is_num ==> (k + n) + m * n = k + (1 + m) * n" and |
163 |
163 |
164 (* FIXME.MG.0401: replace 'real_mult_2_assoc' |
164 (* FIXME.MG.0401: replace 'real_mult_2_assoc' |
165 by 'real_mult_2_assoc_l' ... are equal, introduced by MG ! *) |
165 by 'real_mult_2_assoc_l' ... are equal, introduced by MG ! *) |
166 real_mult_2_assoc: "z1 + (z1 + k) = 2 * z1 + k" and |
166 real_mult_2_assoc: "z1 + (z1 + k) = 2 * z1 + k" and |
167 real_mult_2_assoc_l: "z1 + (z1 + k) = 2 * z1 + k" and |
167 real_mult_2_assoc_l: "z1 + (z1 + k) = 2 * z1 + k" and |
728 rules = [ |
728 rules = [ |
729 \<^rule_thm>\<open>distrib_right\<close>, (*"(z1.0 + z2.0) * w = z1.0 * w + z2.0 * w"*) |
729 \<^rule_thm>\<open>distrib_right\<close>, (*"(z1.0 + z2.0) * w = z1.0 * w + z2.0 * w"*) |
730 \<^rule_thm>\<open>distrib_left\<close> (*"w * (z1.0 + z2.0) = w * z1.0 + w * z2.0"*)], |
730 \<^rule_thm>\<open>distrib_left\<close> (*"w * (z1.0 + z2.0) = w * z1.0 + w * z2.0"*)], |
731 scr = Rule.Empty_Prog}; |
731 scr = Rule.Empty_Prog}; |
732 |
732 |
|
733 \<close> ML \<open> |
|
734 \<close> ML \<open>@{term "1 is_num"}\<close> |
|
735 ML \<open> |
733 (* erls for calculate_Rational + etc *) |
736 (* erls for calculate_Rational + etc *) |
734 val powers_erls = |
737 val powers_erls = |
735 Rule_Def.Repeat {id = "powers_erls", preconds = [], rew_ord = ("dummy_ord",Rewrite_Ord.dummy_ord), |
738 Rule_Def.Repeat {id = "powers_erls", preconds = [], rew_ord = ("dummy_ord",Rewrite_Ord.dummy_ord), |
736 erls = Rule_Set.empty, srls = Rule_Set.Empty, calc = [], errpatts = [], |
739 erls = Rule_Set.empty, srls = Rule_Set.Empty, calc = [], errpatts = [], |
737 rules = [ |
740 rules = [ |
749 val discard_minus = |
752 val discard_minus = |
750 Rule_Def.Repeat {id = "discard_minus", preconds = [], rew_ord = ("dummy_ord", Rewrite_Ord.dummy_ord), |
753 Rule_Def.Repeat {id = "discard_minus", preconds = [], rew_ord = ("dummy_ord", Rewrite_Ord.dummy_ord), |
751 erls = powers_erls, srls = Rule_Set.Empty, calc = [], errpatts = [], |
754 erls = powers_erls, srls = Rule_Set.Empty, calc = [], errpatts = [], |
752 rules = [ |
755 rules = [ |
753 \<^rule_thm>\<open>real_diff_minus\<close> (*"a - b = a + -1 * b"*), |
756 \<^rule_thm>\<open>real_diff_minus\<close> (*"a - b = a + -1 * b"*), |
754 \<^rule_thm>\<open>real_mult_minus1_sym\<close> (*"\<not>(z is_const) ==> - (z::real) = -1 * z"*)], |
757 \<^rule_thm>\<open>real_mult_minus1_sym\<close> (*"\<not>(z is_num) ==> - (z::real) = -1 * z"*)], |
755 scr = Rule.Empty_Prog}; |
758 scr = Rule.Empty_Prog}; |
756 |
759 |
757 val expand_poly_ = |
760 val expand_poly_ = |
758 Rule_Def.Repeat{id = "expand_poly_", preconds = [], |
761 Rule_Def.Repeat{id = "expand_poly_", preconds = [], |
759 rew_ord = ("dummy_ord", Rewrite_Ord.dummy_ord), |
762 rew_ord = ("dummy_ord", Rewrite_Ord.dummy_ord), |
863 rew_ord = ("dummy_ord", Rewrite_Ord.dummy_ord), |
866 rew_ord = ("dummy_ord", Rewrite_Ord.dummy_ord), |
864 erls = Atools_erls, srls = Rule_Set.Empty, |
867 erls = Atools_erls, srls = Rule_Set.Empty, |
865 calc = [("PLUS" , (\<^const_name>\<open>plus\<close>, eval_binop "#add_")) |
868 calc = [("PLUS" , (\<^const_name>\<open>plus\<close>, eval_binop "#add_")) |
866 ], errpatts = [], |
869 ], errpatts = [], |
867 rules = [ |
870 rules = [ |
868 \<^rule_thm>\<open>real_num_collect\<close>, (*"[| l is_const; m is_const |]==>l * n + m * n = (l + m) * n"*) |
871 \<^rule_thm>\<open>real_num_collect\<close>, (*"[| l is_num; m is_num |]==>l * n + m * n = (l + m) * n"*) |
869 \<^rule_thm>\<open>real_num_collect_assoc_r\<close>, |
872 \<^rule_thm>\<open>real_num_collect_assoc_r\<close>, |
870 (*"[| l is_const; m is_const |] ==> (k + m * n) + l * n = k + (l + m)*n"*) |
873 (*"[| l is_num; m is_num |] ==> (k + m * n) + l * n = k + (l + m)*n"*) |
871 \<^rule_thm>\<open>real_one_collect\<close>, (*"m is_const ==> n + m * n = (1 + m) * n"*) |
874 \<^rule_thm>\<open>real_one_collect\<close>, (*"m is_num ==> n + m * n = (1 + m) * n"*) |
872 \<^rule_thm>\<open>real_one_collect_assoc_r\<close>, (*"m is_const ==> (k + n) + m * n = k + (m + 1) * n"*) |
875 \<^rule_thm>\<open>real_one_collect_assoc_r\<close>, (*"m is_num ==> (k + n) + m * n = k + (m + 1) * n"*) |
873 |
876 |
874 \<^rule_eval>\<open>plus\<close> (eval_binop "#add_"), |
877 \<^rule_eval>\<open>plus\<close> (eval_binop "#add_"), |
875 |
878 |
876 (*MG: Reihenfolge der folgenden 2 Rule.Thm muss so bleiben, wegen |
879 (*MG: Reihenfolge der folgenden 2 Rule.Thm muss so bleiben, wegen |
877 (a+a)+a --> a + 2*a --> 3*a and not (a+a)+a --> 2*a + a *) |
880 (a+a)+a --> a + 2*a --> 3*a and not (a+a)+a --> 2*a + a *) |
912 \<^rule_thm>\<open>real_plus_minus_binom1_p\<close>, (*"(a + b)*(a - b) = a \<up> 2 + -1*b \<up> 2"*) |
915 \<^rule_thm>\<open>real_plus_minus_binom1_p\<close>, (*"(a + b)*(a - b) = a \<up> 2 + -1*b \<up> 2"*) |
913 \<^rule_thm>\<open>real_plus_minus_binom2_p\<close>, (*"(a - b)*(a + b) = a \<up> 2 + -1*b \<up> 2"*) |
916 \<^rule_thm>\<open>real_plus_minus_binom2_p\<close>, (*"(a - b)*(a + b) = a \<up> 2 + -1*b \<up> 2"*) |
914 |
917 |
915 \<^rule_thm>\<open>minus_minus\<close> (*"- (- ?z) = ?z"*), |
918 \<^rule_thm>\<open>minus_minus\<close> (*"- (- ?z) = ?z"*), |
916 \<^rule_thm>\<open>real_diff_minus\<close> (*"a - b = a + -1 * b"*), |
919 \<^rule_thm>\<open>real_diff_minus\<close> (*"a - b = a + -1 * b"*), |
917 \<^rule_thm>\<open>real_mult_minus1_sym\<close> (*"\<not>(z is_const) ==> - (z::real) = -1 * z"*) |
920 \<^rule_thm>\<open>real_mult_minus1_sym\<close> (*"\<not>(z is_num) ==> - (z::real) = -1 * z"*) |
918 |
921 |
919 (*\<^rule_thm>\<open>real_minus_add_distrib\<close>,*) (*"- (?x + ?y) = - ?x + - ?y"*) |
922 (*\<^rule_thm>\<open>real_minus_add_distrib\<close>,*) (*"- (?x + ?y) = - ?x + - ?y"*) |
920 (*\<^rule_thm>\<open>real_diff_plus\<close>*) (*"a - b = a + -b"*)], |
923 (*\<^rule_thm>\<open>real_diff_plus\<close>*) (*"a - b = a + -b"*)], |
921 scr = Rule.Empty_Prog}; |
924 scr = Rule.Empty_Prog}; |
922 |
925 |
943 calc = [("PLUS" , (\<^const_name>\<open>plus\<close>, eval_binop "#add_")), |
946 calc = [("PLUS" , (\<^const_name>\<open>plus\<close>, eval_binop "#add_")), |
944 ("TIMES" , (\<^const_name>\<open>times\<close>, eval_binop "#mult_")), |
947 ("TIMES" , (\<^const_name>\<open>times\<close>, eval_binop "#mult_")), |
945 ("POWER", (\<^const_name>\<open>powr\<close>, eval_binop "#power_")) |
948 ("POWER", (\<^const_name>\<open>powr\<close>, eval_binop "#power_")) |
946 ], errpatts = [], |
949 ], errpatts = [], |
947 rules =[ |
950 rules =[ |
948 \<^rule_thm>\<open>real_num_collect\<close>, (*"[| l is_const; m is_const |]==>l * n + m * n = (l + m) * n"*) |
951 \<^rule_thm>\<open>real_num_collect\<close>, (*"[| l is_num; m is_num |]==>l * n + m * n = (l + m) * n"*) |
949 \<^rule_thm>\<open>real_num_collect_assoc\<close>, |
952 \<^rule_thm>\<open>real_num_collect_assoc\<close>, |
950 (*"[| l is_const; m is_const |] ==> l * n + (m * n + k) = (l + m) * n + k"*) |
953 (*"[| l is_num; m is_num |] ==> l * n + (m * n + k) = (l + m) * n + k"*) |
951 \<^rule_thm>\<open>real_one_collect\<close>, (*"m is_const ==> n + m * n = (1 + m) * n"*) |
954 \<^rule_thm>\<open>real_one_collect\<close>, (*"m is_num ==> n + m * n = (1 + m) * n"*) |
952 \<^rule_thm>\<open>real_one_collect_assoc\<close>, (*"m is_const ==> k + (n + m * n) = k + (1 + m) * n"*) |
955 \<^rule_thm>\<open>real_one_collect_assoc\<close>, (*"m is_num ==> k + (n + m * n) = k + (1 + m) * n"*) |
953 \<^rule_eval>\<open>plus\<close> (eval_binop "#add_"), |
956 \<^rule_eval>\<open>plus\<close> (eval_binop "#add_"), |
954 \<^rule_eval>\<open>times\<close> (eval_binop "#mult_"), |
957 \<^rule_eval>\<open>times\<close> (eval_binop "#mult_"), |
955 \<^rule_eval>\<open>powr\<close> (eval_binop "#power_")], |
958 \<^rule_eval>\<open>powr\<close> (eval_binop "#power_")], |
956 scr = Rule.Empty_Prog}; |
959 scr = Rule.Empty_Prog}; |
957 val reduce_012 = |
960 val reduce_012 = |
1192 |
1195 |
1193 \<^rule_thm_sym>\<open>realpow_twoI\<close>, (*"r1 * r1 = r1 \<up> 2"*) |
1196 \<^rule_thm_sym>\<open>realpow_twoI\<close>, (*"r1 * r1 = r1 \<up> 2"*) |
1194 \<^rule_thm_sym>\<open>real_mult_2\<close>, (*"z1 + z1 = 2 * z1"*) |
1197 \<^rule_thm_sym>\<open>real_mult_2\<close>, (*"z1 + z1 = 2 * z1"*) |
1195 \<^rule_thm>\<open>real_mult_2_assoc\<close>, (*"z1 + (z1 + k) = 2 * z1 + k"*) |
1198 \<^rule_thm>\<open>real_mult_2_assoc\<close>, (*"z1 + (z1 + k) = 2 * z1 + k"*) |
1196 |
1199 |
1197 \<^rule_thm>\<open>real_num_collect\<close>, (*"[| l is_const; m is_const |]==>l * n + m * n = (l + m) * n"*) |
1200 \<^rule_thm>\<open>real_num_collect\<close>, (*"[| l is_num; m is_num |]==>l * n + m * n = (l + m) * n"*) |
1198 \<^rule_thm>\<open>real_num_collect_assoc\<close>, (*"[| l is_const; m is_const |] ==> l * n + (m * n + k) = (l + m) * n + k"*) |
1201 \<^rule_thm>\<open>real_num_collect_assoc\<close>, (*"[| l is_num; m is_num |] ==> l * n + (m * n + k) = (l + m) * n + k"*) |
1199 \<^rule_thm>\<open>real_one_collect\<close>, (*"m is_const ==> n + m * n = (1 + m) * n"*) |
1202 \<^rule_thm>\<open>real_one_collect\<close>, (*"m is_num ==> n + m * n = (1 + m) * n"*) |
1200 \<^rule_thm>\<open>real_one_collect_assoc\<close>, (*"m is_const ==> k + (n + m * n) = k + (1 + m) * n"*) |
1203 \<^rule_thm>\<open>real_one_collect_assoc\<close>, (*"m is_num ==> k + (n + m * n) = k + (1 + m) * n"*) |
1201 |
1204 |
1202 \<^rule_thm>\<open>realpow_multI\<close>, (*"(r * s) \<up> n = r \<up> n * s \<up> n"*) |
1205 \<^rule_thm>\<open>realpow_multI\<close>, (*"(r * s) \<up> n = r \<up> n * s \<up> n"*) |
1203 |
1206 |
1204 \<^rule_eval>\<open>plus\<close> (eval_binop "#add_"), |
1207 \<^rule_eval>\<open>plus\<close> (eval_binop "#add_"), |
1205 \<^rule_eval>\<open>times\<close> (eval_binop "#mult_"), |
1208 \<^rule_eval>\<open>times\<close> (eval_binop "#mult_"), |
1297 \<^rule_thm>\<open>realpow_plus_1\<close>, (*"r * r \<up> n = r \<up> (n + 1)"*) |
1300 \<^rule_thm>\<open>realpow_plus_1\<close>, (*"r * r \<up> n = r \<up> (n + 1)"*) |
1298 (* |
1301 (* |
1299 \<^rule_thm_sym>\<open>real_mult_2\<close>, (*"z1 + z1 = 2 * z1"*)*) |
1302 \<^rule_thm_sym>\<open>real_mult_2\<close>, (*"z1 + z1 = 2 * z1"*)*) |
1300 \<^rule_thm>\<open>real_mult_2_assoc\<close>, (*"z1 + (z1 + k) = 2 * z1 + k"*) |
1303 \<^rule_thm>\<open>real_mult_2_assoc\<close>, (*"z1 + (z1 + k) = 2 * z1 + k"*) |
1301 |
1304 |
1302 \<^rule_thm>\<open>real_num_collect\<close>, (*"[| l is_const; m is_const |] ==>l * n + m * n = (l + m) * n"*) |
1305 \<^rule_thm>\<open>real_num_collect\<close>, (*"[| l is_num; m is_num |] ==>l * n + m * n = (l + m) * n"*) |
1303 \<^rule_thm>\<open>real_num_collect_assoc\<close>, (*"[| l is_const; m is_const |] ==> l * n + (m * n + k) = (l + m) * n + k"*) |
1306 \<^rule_thm>\<open>real_num_collect_assoc\<close>, (*"[| l is_num; m is_num |] ==> l * n + (m * n + k) = (l + m) * n + k"*) |
1304 \<^rule_thm>\<open>real_one_collect\<close>, (*"m is_const ==> n + m * n = (1 + m) * n"*) |
1307 \<^rule_thm>\<open>real_one_collect\<close>, (*"m is_num ==> n + m * n = (1 + m) * n"*) |
1305 \<^rule_thm>\<open>real_one_collect_assoc\<close>, (*"m is_const ==> k + (n + m * n) = k + (1 + m) * n"*) |
1308 \<^rule_thm>\<open>real_one_collect_assoc\<close>, (*"m is_num ==> k + (n + m * n) = k + (1 + m) * n"*) |
1306 |
1309 |
1307 \<^rule_eval>\<open>plus\<close> (eval_binop "#add_"), |
1310 \<^rule_eval>\<open>plus\<close> (eval_binop "#add_"), |
1308 \<^rule_eval>\<open>times\<close> (eval_binop "#mult_"), |
1311 \<^rule_eval>\<open>times\<close> (eval_binop "#mult_"), |
1309 \<^rule_eval>\<open>powr\<close> (eval_binop "#power_")], |
1312 \<^rule_eval>\<open>powr\<close> (eval_binop "#power_")], |
1310 scr = Rule.Prog (Program.prep_program @{thm expand_binoms_2.simps})}; |
1313 scr = Rule.Prog (Program.prep_program @{thm expand_binoms_2.simps})}; |
1312 |
1315 |
1313 subsection \<open>add to Know_Store\<close> |
1316 subsection \<open>add to Know_Store\<close> |
1314 subsubsection \<open>rule-sets\<close> |
1317 subsubsection \<open>rule-sets\<close> |
1315 ML \<open>val prep_rls' = Auto_Prog.prep_rls @{theory}\<close> |
1318 ML \<open>val prep_rls' = Auto_Prog.prep_rls @{theory}\<close> |
1316 |
1319 |
|
1320 ML \<open>@{term "1 is_num"}\<close> (*.."Prog_Expr.is_num" IS KNOWN TOODOO*) |
1317 rule_set_knowledge |
1321 rule_set_knowledge |
1318 norm_Poly = \<open>prep_rls' norm_Poly\<close> and |
1322 norm_Poly = \<open>prep_rls' norm_Poly\<close> |
1319 Poly_erls = \<open>prep_rls' Poly_erls\<close> (*FIXXXME:del with rls.rls'*) and |
1323 (*/---- TOODOO from 2b6e73df4e5d assoc_calc: 'Prog_Expr.is_num' not found in theory Poly ------\* ) |
|
1324 and |
|
1325 Poly_erls = \<open>prep_rls' Poly_erls\<close> (*FIXXXME:del with rls.rls'*) |
|
1326 ( *\---- TOODOO from 2b6e73df4e5d assoc_calc: 'Prog_Expr.is_num' not found in theory Poly ------/*) |
|
1327 and |
1320 expand = \<open>prep_rls' expand\<close> and |
1328 expand = \<open>prep_rls' expand\<close> and |
1321 expand_poly = \<open>prep_rls' expand_poly\<close> and |
1329 expand_poly = \<open>prep_rls' expand_poly\<close> and |
1322 simplify_power = \<open>prep_rls' simplify_power\<close> and |
1330 simplify_power = \<open>prep_rls' simplify_power\<close> and |
1323 |
1331 |
1324 order_add_mult = \<open>prep_rls' order_add_mult\<close> and |
1332 order_add_mult = \<open>prep_rls' order_add_mult\<close> and |