test/Tools/isac/Knowledge/integrate.sml
changeset 60565 f92963a33fe3
parent 60559 aba19e46dd84
child 60571 19a172de0bb5
     1.1 --- a/test/Tools/isac/Knowledge/integrate.sml	Sun Oct 09 06:53:03 2022 +0200
     1.2 +++ b/test/Tools/isac/Knowledge/integrate.sml	Sun Oct 09 07:44:22 2022 +0200
     1.3 @@ -51,14 +51,14 @@
     1.4  "----------- parsing ------------------------------------";
     1.5  "----------- parsing ------------------------------------";
     1.6  "----------- parsing ------------------------------------";
     1.7 -val t = TermC.str2term "Integral x D x";
     1.8 -val t = TermC.str2term "Integral x \<up> 2 D x";
     1.9 +val t = TermC.parse_test @{context} "Integral x D x";
    1.10 +val t = TermC.parse_test @{context} "Integral x \<up> 2 D x";
    1.11  case t of 
    1.12      Const (\<^const_name>\<open>Integral\<close>, _) $
    1.13       (Const (\<^const_name>\<open>realpow\<close>, _) $ Free _ $ _) $ Free ("x", _) => ()
    1.14    | _ => error "integrate.sml: parsing: Integral x \<up> 2 D x";
    1.15  
    1.16 -val t = TermC.str2term "ff x is_f_x";
    1.17 +val t = TermC.parse_test @{context} "ff x is_f_x";
    1.18  case t of Const (\<^const_name>\<open>is_f_x\<close>, _) $ _ => ()
    1.19  	| _ => error "integrate.sml: parsing: ff x is_f_x";
    1.20  
    1.21 @@ -66,26 +66,26 @@
    1.22  "----------- integrate by rewriting ---------------------";
    1.23  "----------- integrate by rewriting ---------------------";
    1.24  "----------- integrate by rewriting ---------------------";
    1.25 -val str = rewrit @{thm "integral_const"} (TermC.str2term "Integral 1 D x");
    1.26 +val str = rewrit @{thm "integral_const"} (TermC.parse_test @{context} "Integral 1 D x");
    1.27  if term2s str = "1 * x" then () else error "integrate.sml Integral 1 D x";
    1.28  
    1.29 -val str = rewrit @{thm "integral_const"} (TermC.str2term  "Integral M'/EJ D x");
    1.30 +val str = rewrit @{thm "integral_const"} (TermC.parse_test @{context}  "Integral M'/EJ D x");
    1.31  if term2s str = "M' / EJ * x" then ()
    1.32  else error "Integral M'/EJ D x   BY integral_const";
    1.33  
    1.34 -val str = rewrit @{thm "integral_var"} (TermC.str2term "Integral x D x");
    1.35 +val str = rewrit @{thm "integral_var"} (TermC.parse_test @{context} "Integral x D x");
    1.36  if term2s str = "x \<up> 2 / 2" then ()
    1.37  else error "Integral x D x   BY integral_var";
    1.38  
    1.39 -val str = rewrit @{thm "integral_add"} (TermC.str2term "Integral x + 1 D x");
    1.40 +val str = rewrit @{thm "integral_add"} (TermC.parse_test @{context} "Integral x + 1 D x");
    1.41  if term2s str = "Integral x D x + Integral 1 D x" then ()
    1.42  else error "Integral x + 1 D x   BY integral_add";
    1.43  
    1.44 -val str = rewrit @{thm "integral_mult"} (TermC.str2term "Integral M'/EJ * x \<up> 3 D x");
    1.45 +val str = rewrit @{thm "integral_mult"} (TermC.parse_test @{context} "Integral M'/EJ * x \<up> 3 D x");
    1.46  if term2s str = "M' / EJ * Integral x \<up> 3 D x" then ()
    1.47  else error "Integral M'/EJ * x \<up> 3 D x   BY integral_mult";
    1.48  
    1.49 -val str = rewrit @{thm "integral_pow"} (TermC.str2term "Integral x \<up> 3 D x");
    1.50 +val str = rewrit @{thm "integral_pow"} (TermC.parse_test @{context} "Integral x \<up> 3 D x");
    1.51  if term2s str = "x \<up> (3 + 1) / (3 + 1)" then ()
    1.52  else error "integrate.sml Integral x \<up> 3 D x";
    1.53  
    1.54 @@ -93,7 +93,7 @@
    1.55  "----------- test add_new_c, TermC.is_f_x ---------------------";
    1.56  "----------- test add_new_c, TermC.is_f_x ---------------------";
    1.57  "----------- test add_new_c, TermC.is_f_x ---------------------";
    1.58 -val term = TermC.str2term "x \<up> 2 * c + c_2";
    1.59 +val term = TermC.parse_test @{context} "x \<up> 2 * c + c_2";
    1.60  val cc = new_c term;
    1.61  if UnparseC.term cc = "c_3" then () else error "integrate.sml: new_c ???";
    1.62  
    1.63 @@ -108,7 +108,7 @@
    1.64  if UnparseC.term t' = "x \<up> 2 * c + c_2 + c_3" then ()
    1.65  else error "intergrate.sml: diff. rewrite_set add_new_c 1";
    1.66  
    1.67 -val term = TermC.str2term "ff x = x \<up> 2*c + c_2";
    1.68 +val term = TermC.parse_test @{context} "ff x = x \<up> 2*c + c_2";
    1.69  val SOME (t',_) = rewrite_set_ ctxt true add_new_c term;
    1.70  if UnparseC.term t' = "ff x = x \<up> 2 * c + c_2 + c_3" then ()
    1.71  else error "intergrate.sml: diff. rewrite_set add_new_c 2";
    1.72 @@ -173,9 +173,9 @@
    1.73  "----------- simplify by ruleset reducing make_ratpoly_in";
    1.74  val thy = @{theory "Isac_Knowledge"};
    1.75  val ctxt = Proof_Context.init_global thy;
    1.76 -val subst = [(TermC.str2term "bdv ::real", TermC.str2term "x ::real")]; (*DOESN'T HELP*)
    1.77 +val subst = [(TermC.parse_test @{context} "bdv ::real", TermC.parse_test @{context} "x ::real")]; (*DOESN'T HELP*)
    1.78  "===== test 1";
    1.79 -val t = TermC.str2term "1/EI * (L * q_0 * x / 2 + - 1 * q_0 * x \<up> 2 / 2)";
    1.80 +val t = TermC.parse_test @{context} "1/EI * (L * q_0 * x / 2 + - 1 * q_0 * x \<up> 2 / 2)";
    1.81  
    1.82  "----- stepwise from the rulesets in simplify_Integral and below-----";
    1.83  val rls = norm_Rational_noadd_fractions;
    1.84 @@ -196,7 +196,7 @@
    1.85  else error "integrate.sml simplify by ruleset discard_parenth.. #3";
    1.86  
    1.87  "===== test 4";
    1.88 -val subs = [(TermC.str2term "bdv::real", TermC.str2term "x::real")];
    1.89 +val subs = [(TermC.parse_test @{context} "bdv::real", TermC.parse_test @{context} "x::real")];
    1.90  val rls = 
    1.91    (Rule_Set.append_rules "separate_bdv" collect_bdv
    1.92   	  [Thm ("separate_bdv", @{thm separate_bdv}),
    1.93 @@ -221,7 +221,7 @@
    1.94  else error "integrate.sml simplify by ruleset separate_bdv.. #4";
    1.95  
    1.96  "===== test 5";
    1.97 -val t = TermC.str2term "1/EI * (L * q_0 * x / 2 + - 1 * q_0 * x \<up> 2 / 2)";
    1.98 +val t = TermC.parse_test @{context} "1/EI * (L * q_0 * x / 2 + - 1 * q_0 * x \<up> 2 / 2)";
    1.99  val rls = simplify_Integral;
   1.100  val SOME (t,[]) = rewrite_set_inst_ ctxt true subs rls t;
   1.101  (* given was:   "1 / EI * (L * q_0 * x / 2 + - 1 * q_0 * x \<up> 2 / 2)" *)
   1.102 @@ -231,10 +231,10 @@
   1.103  "........... 2nd integral ........................................";
   1.104  "........... 2nd integral ........................................";
   1.105  "........... 2nd integral ........................................";
   1.106 -val subs = [(TermC.str2term "bdv::real", TermC.str2term "x::real")];
   1.107 +val subs = [(TermC.parse_test @{context} "bdv::real", TermC.parse_test @{context} "x::real")];
   1.108  
   1.109  val thy = @{theory Biegelinie};
   1.110 -val t = TermC.str2term 
   1.111 +val t = TermC.parse_test @{context} 
   1.112    "Integral 1 / EI * (L * q_0 / 2 * (x \<up> 2 / 2) + - 1 * q_0 / 2 * (x \<up> 3 / 3)) D x";
   1.113  
   1.114  val rls = simplify_Integral;
   1.115 @@ -309,7 +309,7 @@
   1.116  "----------- rewrite 3rd integration in 7.27 ------------";
   1.117  "----------- rewrite 3rd integration in 7.27 ------------";
   1.118  "----------- rewrite 3rd integration in 7.27 ------------";
   1.119 -val t = TermC.str2term "Integral 1 / EI * ((L * q_0 * x + - 1 * q_0 * x \<up> 2) / 2) D x";
   1.120 +val t = TermC.parse_test @{context} "Integral 1 / EI * ((L * q_0 * x + - 1 * q_0 * x \<up> 2) / 2) D x";
   1.121  val SOME(t, _)= rewrite_set_inst_ ctxt true subs simplify_Integral t;
   1.122  if UnparseC.term t = 
   1.123    "Integral 1 / EI * (L * q_0 / 2 * x + - 1 * q_0 / 2 * x \<up> 2) D x"
   1.124 @@ -358,7 +358,7 @@
   1.125  if F1_ = F2_ then () else error "integrate.sml: unequal find's";
   1.126  
   1.127  val ((dsc as Const (\<^const_name>\<open>antiDerivativeName\<close>, _)) 
   1.128 -	 $ Free ("ff", F3_type)) = TermC.str2term "antiDerivativeName ff";
   1.129 +	 $ Free ("ff", F3_type)) = TermC.parse_test @{context} "antiDerivativeName ff";
   1.130  if Input_Descript.is_a dsc then () else error "integrate.sml: no description";
   1.131  if F1_type = F3_type then () 
   1.132  else error "integrate.sml: unequal types in find's";