src/Tools/isac/Knowledge/RootRat.thy
author wneuper <walther.neuper@jku.at>
Mon, 19 Jul 2021 18:29:46 +0200
changeset 60337 cbad4e18e91b
parent 60331 40eb8aa2b0d6
child 60341 59106f9e08cc
permissions -rw-r--r--
cleanup after "eliminate ThmC.numerals_to_Free"
neuper@42318
     1
(* Title:  collecting all knowledge for Root and Rational
neuper@42318
     2
   Author: Richard Lang 02.10 last change by: rlang date: 02.10.20
neuper@42318
     3
   (c) due to copyright terms
neuper@37906
     4
*)
neuper@37906
     5
neuper@37954
     6
theory RootRat imports Root Rational begin
neuper@37906
     7
wneuper@59472
     8
ML \<open>
neuper@37972
     9
val thy = @{theory};
neuper@37972
    10
neuper@37954
    11
val rootrat_erls = 
walther@59852
    12
  Rule_Set.merge "rootrat_erls" Root_erls
walther@59852
    13
    (Rule_Set.merge "" rational_erls
walther@59852
    14
      (Rule_Set.append_rules "" Rule_Set.empty []));
neuper@37954
    15
neuper@37954
    16
(*.calculate numeral groundterms.*)
neuper@37954
    17
val calculate_RootRat = 
walther@59852
    18
  Rule_Set.append_rules "calculate_RootRat" calculate_Rational
wenzelm@60297
    19
	    [\<^rule_thm>\<open>distrib_left\<close>,
neuper@42318
    20
		      (* w*(z1.0 + z2.0) = w * z1.0 + w * z2.0 *)
wenzelm@60297
    21
		     \<^rule_thm>\<open>mult_1_left\<close>,
neuper@42318
    22
		      (* 1 * z = z *)
walther@60337
    23
		      Rule.Thm ("real_mult_minus1_sym",  (@{thm real_mult_minus1_sym})),
walther@60320
    24
	        (*"\<not>(z is_const) ==> - (z::real) = -1 * z"*)
walther@59878
    25
		     Rule.Eval ("NthRoot.sqrt", eval_sqrt "#sqrt_")
neuper@42318
    26
		     ];
s1210629013@55444
    27
walther@59618
    28
val prep_rls' = Auto_Prog.prep_rls @{theory};
wneuper@59472
    29
\<close>
wenzelm@60289
    30
rule_set_knowledge
wenzelm@60286
    31
  rootrat_erls = \<open>prep_rls' rootrat_erls\<close> and
wenzelm@60286
    32
  calculate_RootRat = \<open>prep_rls' calculate_RootRat\<close>
walther@60278
    33
ML \<open>
walther@60278
    34
\<close> ML \<open>
walther@60278
    35
\<close> ML \<open>
walther@60278
    36
\<close>
neuper@37906
    37
end