src/Tools/isac/Knowledge/Inverse_Z_Transform.thy
changeset 60358 8377b6c37640
parent 60306 51ec2e101e9f
child 60449 2406d378cede
     1.1 --- a/src/Tools/isac/Knowledge/Inverse_Z_Transform.thy	Mon Aug 09 14:20:20 2021 +0200
     1.2 +++ b/src/Tools/isac/Knowledge/Inverse_Z_Transform.thy	Tue Aug 10 09:43:07 2021 +0200
     1.3 @@ -110,24 +110,23 @@
     1.4  
     1.5  method met_SP_Ztrans_inv_sub : "SignalProcessing/Z_Transform/Inverse_sub" =
     1.6    \<open>{rew_ord'="tless_true", rls'= Rule_Set.empty, calc = [],
     1.7 -    srls = Rule_Def.Repeat {id="srls_partial_fraction", 
     1.8 -        preconds = [], rew_ord = ("termlessI",termlessI),
     1.9 -        erls = Rule_Set.append_rules "erls_in_srls_partial_fraction" Rule_Set.empty
    1.10 -            [(*for asm in NTH_CONS ...*)
    1.11 -              \<^rule_eval>\<open>less\<close> (Prog_Expr.eval_equ "#less_"),
    1.12 -              (*2nd NTH_CONS pushes n+-1 into asms*)
    1.13 -              \<^rule_eval>\<open>plus\<close> (**)(eval_binop "#add_")], 
    1.14 -        srls = Rule_Set.Empty, calc = [], errpatts = [],
    1.15 -        rules = [\<^rule_thm>\<open>NTH_CONS\<close>,
    1.16 -            \<^rule_eval>\<open>plus\<close> (**)(eval_binop "#add_"),
    1.17 -            \<^rule_thm>\<open>NTH_NIL\<close>,
    1.18 -            \<^rule_eval>\<open>Prog_Expr.lhs\<close> (Prog_Expr.eval_lhs "eval_lhs_"),
    1.19 -            \<^rule_eval>\<open>Prog_Expr.rhs\<close> (Prog_Expr.eval_rhs"eval_rhs_"),
    1.20 -            \<^rule_eval>\<open>Prog_Expr.argument_in\<close> (Prog_Expr.eval_argument_in "Prog_Expr.argument_in"),
    1.21 -            \<^rule_eval>\<open>get_denominator\<close> (eval_get_denominator "#get_denominator"),
    1.22 -            \<^rule_eval>\<open>get_numerator\<close> (eval_get_numerator "#get_numerator"),
    1.23 -            \<^rule_eval>\<open>factors_from_solution\<close> (eval_factors_from_solution "#factors_from_solution")
    1.24 -            ], scr = Rule.Empty_Prog},
    1.25 +    srls = Rule_Def.Repeat {
    1.26 +      id = "srls_partial_fraction",  preconds = [], rew_ord = ("termlessI",termlessI),
    1.27 +      erls = Rule_Set.append_rules "erls_in_srls_partial_fraction" Rule_Set.empty [
    1.28 +        \<^rule_eval>\<open>less\<close> (Prog_Expr.eval_equ "#less_"), (* ...for asm in NTH_CONS*)
    1.29 +        (*2nd NTH_CONS pushes n+-1 into asms*)
    1.30 +        \<^rule_eval>\<open>plus\<close> (**)(eval_binop "#add_")], 
    1.31 +      srls = Rule_Set.Empty, calc = [], errpatts = [],
    1.32 +      rules = [\<^rule_thm>\<open>NTH_CONS\<close>,
    1.33 +        \<^rule_eval>\<open>plus\<close> (**)(eval_binop "#add_"),
    1.34 +        \<^rule_thm>\<open>NTH_NIL\<close>,
    1.35 +        \<^rule_eval>\<open>Prog_Expr.lhs\<close> (Prog_Expr.eval_lhs "eval_lhs_"),
    1.36 +        \<^rule_eval>\<open>Prog_Expr.rhs\<close> (Prog_Expr.eval_rhs"eval_rhs_"),
    1.37 +        \<^rule_eval>\<open>Prog_Expr.argument_in\<close> (Prog_Expr.eval_argument_in "Prog_Expr.argument_in"),
    1.38 +        \<^rule_eval>\<open>get_denominator\<close> (eval_get_denominator "#get_denominator"),
    1.39 +        \<^rule_eval>\<open>get_numerator\<close> (eval_get_numerator "#get_numerator"),
    1.40 +        \<^rule_eval>\<open>factors_from_solution\<close> (eval_factors_from_solution "#factors_from_solution")],
    1.41 +      scr = Rule.Empty_Prog},
    1.42      prls = Rule_Set.empty, crls = Rule_Set.empty, errpats = [], nrls = norm_Rational}\<close>
    1.43    Program: inverse_ztransform2.simps
    1.44    Given: "filterExpression X_eq" "functionName X_z"