src/Tools/isac/Knowledge/LinEq.thy
changeset 59850 f3cac3053e7b
parent 59773 d88bb023c380
child 59851 4dd533681fef
     1.1 --- a/src/Tools/isac/Knowledge/LinEq.thy	Wed Apr 01 19:20:05 2020 +0200
     1.2 +++ b/src/Tools/isac/Knowledge/LinEq.thy	Sat Apr 04 12:11:32 2020 +0200
     1.3 @@ -26,7 +26,7 @@
     1.4  val thy = @{theory};
     1.5  
     1.6  val LinEq_prls = (*3.10.02:just the following order due to subterm evaluation*)
     1.7 -  Rule.append_rls "LinEq_prls" Rule.e_rls 
     1.8 +  Rule_Set.append_rls "LinEq_prls" Rule_Set.e_rls 
     1.9  	     [Rule.Num_Calc ("HOL.eq", Prog_Expr.eval_equal "#equal_"),
    1.10  	      Rule.Num_Calc ("Prog_Expr.matches", Prog_Expr.eval_matches ""),
    1.11  	      Rule.Num_Calc ("Prog_Expr.lhs"    , Prog_Expr.eval_lhs ""),
    1.12 @@ -44,7 +44,7 @@
    1.13                ];
    1.14  (* ----- erls ----- *)
    1.15  val LinEq_crls = 
    1.16 -   Rule.append_rls "LinEq_crls" poly_crls
    1.17 +   Rule_Set.append_rls "LinEq_crls" poly_crls
    1.18     [Rule.Thm  ("real_assoc_1",TermC.num_str @{thm real_assoc_1})
    1.19      (*		
    1.20       Don't use
    1.21 @@ -55,7 +55,7 @@
    1.22  
    1.23  (* ----- crls ----- *)
    1.24  val LinEq_erls = 
    1.25 -   Rule.append_rls "LinEq_erls" Poly_erls
    1.26 +   Rule_Set.append_rls "LinEq_erls" Poly_erls
    1.27     [Rule.Thm  ("real_assoc_1",TermC.num_str @{thm real_assoc_1})
    1.28      (*		
    1.29       Don't use
    1.30 @@ -69,10 +69,10 @@
    1.31  ML \<open>
    1.32      
    1.33  val LinPoly_simplify = prep_rls'(
    1.34 -  Rule.Rls {id = "LinPoly_simplify", preconds = [], 
    1.35 +  Rule_Set.Rls {id = "LinPoly_simplify", preconds = [], 
    1.36         rew_ord = ("termlessI",termlessI), 
    1.37         erls = LinEq_erls, 
    1.38 -       srls = Rule.Erls, 
    1.39 +       srls = Rule_Set.Erls, 
    1.40         calc = [], errpatts = [],
    1.41         rules = [
    1.42  		Rule.Thm  ("real_assoc_1",TermC.num_str @{thm real_assoc_1}),
    1.43 @@ -93,10 +93,10 @@
    1.44  
    1.45  (*isolate the bound variable in an linear equation; 'bdv' is a meta-constant*)
    1.46  val LinEq_simplify = prep_rls'(
    1.47 -Rule.Rls {id = "LinEq_simplify", preconds = [],
    1.48 +Rule_Set.Rls {id = "LinEq_simplify", preconds = [],
    1.49       rew_ord = ("e_rew_ord", Rule.e_rew_ord),
    1.50       erls = LinEq_erls,
    1.51 -     srls = Rule.Erls,
    1.52 +     srls = Rule_Set.Erls,
    1.53       calc = [], errpatts = [],
    1.54       rules = [
    1.55  	      Rule.Thm("lin_isolate_add1",TermC.num_str @{thm lin_isolate_add1}), 
    1.56 @@ -129,7 +129,7 @@
    1.57  setup \<open>KEStore_Elems.add_mets
    1.58      [Specify.prep_met thy "met_eqlin" [] Celem.e_metID
    1.59        (["LinEq"], [],
    1.60 -        {rew_ord' = "tless_true",rls' = Atools_erls,calc = [], srls = Rule.e_rls, prls = Rule.e_rls,
    1.61 +        {rew_ord' = "tless_true",rls' = Atools_erls,calc = [], srls = Rule_Set.e_rls, prls = Rule_Set.e_rls,
    1.62            crls = LinEq_crls, errpats = [], nrls = norm_Poly},
    1.63          @{thm refl})]
    1.64  \<close>
    1.65 @@ -156,7 +156,7 @@
    1.66          [("#Given", ["equality e_e", "solveFor v_v"]),
    1.67            ("#Where", ["Not ((lhs e_e) is_polyrat_in v_v)", "((lhs e_e)  has_degree_in v_v) = 1"]),
    1.68            ("#Find",  ["solutions v_v'i'"])],
    1.69 -        {rew_ord' = "termlessI", rls' = LinEq_erls, srls = Rule.e_rls, prls = LinEq_prls, calc = [],
    1.70 +        {rew_ord' = "termlessI", rls' = LinEq_erls, srls = Rule_Set.e_rls, prls = LinEq_prls, calc = [],
    1.71            crls = LinEq_crls, errpats = [], nrls = norm_Poly},
    1.72          @{thm solve_linear_equation.simps})]
    1.73  \<close>