src/Tools/isac/Knowledge/Inverse_Z_Transform.thy
changeset 59850 f3cac3053e7b
parent 59773 d88bb023c380
child 59851 4dd533681fef
     1.1 --- a/src/Tools/isac/Knowledge/Inverse_Z_Transform.thy	Wed Apr 01 19:20:05 2020 +0200
     1.2 +++ b/src/Tools/isac/Knowledge/Inverse_Z_Transform.thy	Sat Apr 04 12:11:32 2020 +0200
     1.3 @@ -27,8 +27,8 @@
     1.4  
     1.5  ML \<open>
     1.6  val inverse_z = prep_rls'(
     1.7 -  Rule.Rls {id = "inverse_z", preconds = [], rew_ord = ("dummy_ord",Rule.dummy_ord), 
     1.8 -	  erls = Rule.Erls, srls = Rule.Erls, calc = [], errpatts = [],
     1.9 +  Rule_Set.Rls {id = "inverse_z", preconds = [], rew_ord = ("dummy_ord",Rule.dummy_ord), 
    1.10 +	  erls = Rule_Set.Erls, srls = Rule_Set.Erls, calc = [], errpatts = [],
    1.11  	  rules = 
    1.12  	   [
    1.13      Rule.Thm ("rule4", @{thm rule4})
    1.14 @@ -46,14 +46,14 @@
    1.15  val thy = @{theory};
    1.16  \<close>
    1.17  setup \<open>KEStore_Elems.add_pbts
    1.18 -  [(Specify.prep_pbt thy "pbl_SP" [] Celem.e_pblID (["SignalProcessing"], [], Rule.e_rls, NONE, [])),
    1.19 +  [(Specify.prep_pbt thy "pbl_SP" [] Celem.e_pblID (["SignalProcessing"], [], Rule_Set.e_rls, NONE, [])),
    1.20      (Specify.prep_pbt thy "pbl_SP_Ztrans" [] Celem.e_pblID
    1.21 -      (["Z_Transform","SignalProcessing"], [], Rule.e_rls, NONE, [])),
    1.22 +      (["Z_Transform","SignalProcessing"], [], Rule_Set.e_rls, NONE, [])),
    1.23      (Specify.prep_pbt thy "pbl_SP_Ztrans_inv" [] Celem.e_pblID
    1.24        (["Inverse", "Z_Transform", "SignalProcessing"],
    1.25          [("#Given" , ["filterExpression X_eq"]),
    1.26            ("#Find"  ,["stepResponse n_eq"])], \<comment> \<open>TODO: unused, "u [n]" is introduced by rule1..6\<close>
    1.27 -        Rule.append_rls "e_rls" Rule.e_rls [(*for preds in where_*)], NONE, 
    1.28 +        Rule_Set.append_rls "e_rls" Rule_Set.e_rls [(*for preds in where_*)], NONE, 
    1.29          [["SignalProcessing","Z_Transform","Inverse"]]))]\<close>
    1.30  
    1.31  subsection \<open>Setup Parent Nodes in Hierarchy of Method\<close>
    1.32 @@ -61,12 +61,12 @@
    1.33  setup \<open>KEStore_Elems.add_mets
    1.34      [Specify.prep_met thy "met_SP" [] Celem.e_metID
    1.35        (["SignalProcessing"], [],
    1.36 -        {rew_ord'="tless_true", rls'= Rule.e_rls, calc = [], srls = Rule.e_rls, prls = Rule.e_rls, crls = Rule.e_rls,
    1.37 -          errpats = [], nrls = Rule.e_rls}, @{thm refl}),
    1.38 +        {rew_ord'="tless_true", rls'= Rule_Set.e_rls, calc = [], srls = Rule_Set.e_rls, prls = Rule_Set.e_rls, crls = Rule_Set.e_rls,
    1.39 +          errpats = [], nrls = Rule_Set.e_rls}, @{thm refl}),
    1.40      Specify.prep_met thy "met_SP_Ztrans" [] Celem.e_metID
    1.41        (["SignalProcessing", "Z_Transform"], [],
    1.42 -        {rew_ord'="tless_true", rls'= Rule.e_rls, calc = [], srls = Rule.e_rls, prls = Rule.e_rls, crls = Rule.e_rls,
    1.43 -          errpats = [], nrls = Rule.e_rls}, @{thm refl})]
    1.44 +        {rew_ord'="tless_true", rls'= Rule_Set.e_rls, calc = [], srls = Rule_Set.e_rls, prls = Rule_Set.e_rls, crls = Rule_Set.e_rls,
    1.45 +          errpats = [], nrls = Rule_Set.e_rls}, @{thm refl})]
    1.46  \<close>
    1.47  
    1.48  partial_function (tailrec) inverse_ztransform :: "bool \<Rightarrow> real \<Rightarrow> bool"
    1.49 @@ -91,8 +91,8 @@
    1.50        (["SignalProcessing", "Z_Transform", "Inverse"],
    1.51          [("#Given" ,["filterExpression X_eq", "functionName X_z"]),
    1.52            ("#Find"  ,["stepResponse n_eq"])], \<comment> \<open>TODO: unused, "u [n]" is introduced by rule1..6\<close>
    1.53 -        {rew_ord'="tless_true", rls'= Rule.e_rls, calc = [], srls = Rule.e_rls, prls = Rule.e_rls, crls = Rule.e_rls,
    1.54 -          errpats = [], nrls = Rule.e_rls},
    1.55 +        {rew_ord'="tless_true", rls'= Rule_Set.e_rls, calc = [], srls = Rule_Set.e_rls, prls = Rule_Set.e_rls, crls = Rule_Set.e_rls,
    1.56 +          errpats = [], nrls = Rule_Set.e_rls},
    1.57          @{thm inverse_ztransform.simps})]
    1.58  \<close>
    1.59  
    1.60 @@ -119,15 +119,15 @@
    1.61        (["SignalProcessing", "Z_Transform", "Inverse_sub"],
    1.62          [("#Given" ,["filterExpression X_eq", "functionName X_z"]),
    1.63            ("#Find"  ,["stepResponse n_eq"])], \<comment> \<open>TODO: unused, "u [n]" is introduced by rule1..6\<close>
    1.64 -        {rew_ord'="tless_true", rls'= Rule.e_rls, calc = [],
    1.65 -          srls = Rule.Rls {id="srls_partial_fraction", 
    1.66 +        {rew_ord'="tless_true", rls'= Rule_Set.e_rls, calc = [],
    1.67 +          srls = Rule_Set.Rls {id="srls_partial_fraction", 
    1.68                preconds = [], rew_ord = ("termlessI",termlessI),
    1.69 -              erls = Rule.append_rls "erls_in_srls_partial_fraction" Rule.e_rls
    1.70 +              erls = Rule_Set.append_rls "erls_in_srls_partial_fraction" Rule_Set.e_rls
    1.71                    [(*for asm in NTH_CONS ...*)
    1.72                      Rule.Num_Calc ("Orderings.ord_class.less", Prog_Expr.eval_equ "#less_"),
    1.73                      (*2nd NTH_CONS pushes n+-1 into asms*)
    1.74                      Rule.Num_Calc("Groups.plus_class.plus", (**)eval_binop "#add_")], 
    1.75 -              srls = Rule.Erls, calc = [], errpatts = [],
    1.76 +              srls = Rule_Set.Erls, calc = [], errpatts = [],
    1.77                rules = [Rule.Thm ("NTH_CONS", @{thm NTH_CONS}),
    1.78                    Rule.Num_Calc ("Groups.plus_class.plus", (**)eval_binop "#add_"),
    1.79                    Rule.Thm ("NTH_NIL", @{thm NTH_NIL}),
    1.80 @@ -139,7 +139,7 @@
    1.81                    Rule.Num_Calc ("Partial_Fractions.factors_from_solution",
    1.82                      eval_factors_from_solution "#factors_from_solution")
    1.83                    ], scr = Rule.EmptyScr},
    1.84 -          prls = Rule.e_rls, crls = Rule.e_rls, errpats = [], nrls = norm_Rational},
    1.85 +          prls = Rule_Set.e_rls, crls = Rule_Set.e_rls, errpats = [], nrls = norm_Rational},
    1.86          @{thm inverse_ztransform2.simps})]
    1.87  \<close>
    1.88  ML \<open>