1.1 --- a/test/Tools/isac/Knowledge/partial_fractions.sml Sat Jun 01 11:09:19 2019 +0200
1.2 +++ b/test/Tools/isac/Knowledge/partial_fractions.sml Sat Jun 22 13:15:52 2019 +0200
1.3 @@ -16,6 +16,8 @@
1.4 "----------- autoCalculate for met_partial_fraction -----";
1.5 "----------- progr.vers.2: check erls for multiply_ansatz";
1.6 "----------- progr.vers.2: improve program --------------";
1.7 +"----------- isolate SubProblem [simplification, of_rationals, to_partial_fraction] me ---------";
1.8 +"----------- isolate SubProblem [simplification, of_rationals, to_partial_fraction] auto -------";
1.9 "--------------------------------------------------------";
1.10 "--------------------------------------------------------";
1.11 "--------------------------------------------------------";
1.12 @@ -25,7 +27,7 @@
1.13 "----------- why helpless here ? ------------------------";
1.14 "----------- why helpless here ? ------------------------";
1.15 val fmz = ["filterExpression (X z = 3 / (z - 1/4 + -1/8 * (1/(z::real))))",
1.16 - "stepResponse (x[n::real]::bool)"];
1.17 + "functionName X_z", "stepResponse (x[n::real]::bool)"];
1.18 val (dI,pI,mI) = ("Isac", ["Inverse", "Z_Transform", "SignalProcessing"],
1.19 ["SignalProcessing","Z_Transform","Inverse"]);
1.20 val (p,_,f,nxt,_,pt) = CalcTreeTEST [(fmz, (dI,pI,mI))];
1.21 @@ -500,5 +502,94 @@
1.22 " eqr = drop_questionmarks eqr; " ^(*eqr: A / (z - 1 / 2) + B / (z - -1 / 4)*)
1.23 " (pbz::real) = Take eqr; " ^(*pbz: A / (z - 1 / 2) + B / (z - -1 / 4)*)
1.24 " pbz = ((Substitute [A = a, B = b]) pbz) " ^(*pbz: 4 / (z - 1 / 2) + -4 / (z - -1 / 4)*)
1.25 - " in pbz)"
1.26 + " in pbz)";
1.27
1.28 +"----------- isolate SubProblem [simplification, of_rationals, to_partial_fraction] me ---------";
1.29 +"----------- isolate SubProblem [simplification, of_rationals, to_partial_fraction] me ---------";
1.30 +"----------- isolate SubProblem [simplification, of_rationals, to_partial_fraction] me ---------";
1.31 +val fmz_from_Subproblem_of_Inverse_sub = (*see --- test [SignalProcessing,Z_Transform,Inverse_s.."*)
1.32 + (["functionTerm (3 / (z * (z - 1 / 4 + -1 / 8 * (1 / z))))", "solveFor z",
1.33 + "decomposedFunction p_p'''"],
1.34 + ("Isac", ["partial_fraction", "rational", "simplification"],
1.35 + ["simplification", "of_rationals", "to_partial_fraction"]))
1.36 +val (p,_,f,nxt,_,pt) = CalcTreeTEST [(fmz_from_Subproblem_of_Inverse_sub)];
1.37 +val (p,_,f,nxt,_,pt) = me nxt p [] pt; val (p,_,f,nxt,_,pt) = me nxt p [] pt;
1.38 +val (p,_,f,nxt,_,pt) = me nxt p [] pt; val (p,_,f,nxt,_,pt) = me nxt p [] pt;
1.39 +val (p,_,f,nxt,_,pt) = me nxt p [] pt; val (p,_,f,nxt,_,pt) = me nxt p [] pt;
1.40 +val (p,_,f,nxt,_,pt) = me nxt p [] pt; val (p,_,f,nxt,_,pt) = me nxt p [] pt;
1.41 +val (p,_,f,nxt,_,pt) = me nxt p [] pt; val (p,_,f,nxt,_,pt) = me nxt p [] pt;
1.42 +val (p,_,f,nxt,_,pt) = me nxt p [] pt; val (p,_,f,nxt,_,pt) = me nxt p [] pt;
1.43 +val (p,_,f,nxt,_,pt) = me nxt p [] pt; val (p,_,f,nxt,_,pt) = me nxt p [] pt;
1.44 +val (p,_,f,nxt,_,pt) = me nxt p [] pt; val (p,_,f,nxt,_,pt) = me nxt p [] pt;
1.45 +val (p,_,f,nxt,_,pt) = me nxt p [] pt; val (p,_,f,nxt,_,pt) = me nxt p [] pt;
1.46 +val (p,_,f,nxt,_,pt) = me nxt p [] pt; val (p,_,f,nxt,_,pt) = me nxt p [] pt;
1.47 +val (p,_,f,nxt,_,pt) = me nxt p [] pt; val (p,_,f,nxt,_,pt) = me nxt p [] pt;
1.48 +val (p,_,f,nxt,_,pt) = me nxt p [] pt; val (p,_,f,nxt,_,pt) = me nxt p [] pt;
1.49 +val (p,_,f,nxt,_,pt) = me nxt p [] pt; val (p,_,f,nxt,_,pt) = me nxt p [] pt;
1.50 +val (p,_,f,nxt,_,pt) = me nxt p [] pt; val (p,_,f,nxt,_,pt) = me nxt p [] pt;
1.51 +val (p,_,f,nxt,_,pt) = me nxt p [] pt; val (p,_,f,nxt,_,pt) = me nxt p [] pt;
1.52 +val (p,_,f,nxt,_,pt) = me nxt p [] pt; val (p,_,f,nxt,_,pt) = me nxt p [] pt;
1.53 +val (p,_,f,nxt,_,pt) = me nxt p [] pt; val (p,_,f,nxt,_,pt) = me nxt p [] pt;
1.54 +val (p,_,f,nxt,_,pt) = me nxt p [] pt; val (p,_,f,nxt,_,pt) = me nxt p [] pt;
1.55 +val (p,_,f,nxt,_,pt) = me nxt p [] pt; val (p,_,f,nxt,_,pt) = me nxt p [] pt;
1.56 +val (p,_,f,nxt,_,pt) = me nxt p [] pt; val (p,_,f,nxt,_,pt) = me nxt p [] pt;
1.57 +val (p,_,f,nxt,_,pt) = me nxt p [] pt; val (p,_,f,nxt,_,pt) = me nxt p [] pt;
1.58 +val (p,_,f,nxt,_,pt) = me nxt p [] pt; val (p,_,f,nxt,_,pt) = me nxt p [] pt;
1.59 +val (p,_,f,nxt,_,pt) = me nxt p [] pt; val (p,_,f,nxt,_,pt) = me nxt p [] pt;
1.60 +val (p,_,f,nxt,_,pt) = me nxt p [] pt; val (p,_,f,nxt,_,pt) = me nxt p [] pt;
1.61 +val (p,_,f,nxt,_,pt) = me nxt p [] pt; val (p,_,f,nxt,_,pt) = me nxt p [] pt;
1.62 +val (p,_,f,nxt,_,pt) = me nxt p [] pt; val (p,_,f,nxt,_,pt) = me nxt p [] pt;
1.63 +val (p,_,f,nxt,_,pt) = me nxt p [] pt; val (p,_,f,nxt,_,pt) = me nxt p [] pt;
1.64 +val (p,_,f,nxt,_,pt) = me nxt p [] pt; val (p,_,f,nxt,_,pt) = me nxt p [] pt;
1.65 +val (p,_,f,nxt,_,pt) = me nxt p [] pt; val (p,_,f,nxt,_,pt) = me nxt p [] pt;
1.66 +val (p,_,f,nxt,_,pt) = me nxt p [] pt; val (p,_,f,nxt,_,pt) = me nxt p [] pt;
1.67 +val (p,_,f,nxt,_,pt) = me nxt p [] pt; val (p,_,f,nxt,_,pt) = me nxt p [] pt;
1.68 +val (p,_,f,nxt,_,pt) = me nxt p [] pt; val (p,_,f,nxt,_,pt) = me nxt p [] pt;
1.69 +val (p,_,f,nxt,_,pt) = me nxt p [] pt; val (p,_,f,nxt,_,pt) = me nxt p [] pt;
1.70 +val (p,_,f,nxt,_,pt) = me nxt p [] pt; val (p,_,f,nxt,_,pt) = me nxt p [] pt;
1.71 +val (p,_,f,nxt,_,pt) = me nxt p [] pt; val (p,_,f,nxt,_,pt) = me nxt p [] pt;
1.72 +val (p,_,f,nxt,_,pt) = me nxt p [] pt; val (p,_,f,nxt,_,pt) = me nxt p [] pt;
1.73 +val (p,_,f,nxt,_,pt) = me nxt p [] pt; val (p,_,f,nxt,_,pt) = me nxt p [] pt;
1.74 +val (p,_,f,nxt,_,pt) = me nxt p [] pt; val (p,_,f,nxt,_,pt) = me nxt p [] pt;
1.75 +val (p,_,f,nxt,_,pt) = me nxt p [] pt; val (p,_,f,nxt,_,pt) = me nxt p [] pt;
1.76 +val (p,_,f,nxt,_,pt) = me nxt p [] pt; val (p,_,f,nxt,_,pt) = me nxt p [] pt;
1.77 +val (p,_,f,nxt,_,pt) = me nxt p [] pt; val (p,_,f,nxt,_,pt) = me nxt p [] pt;
1.78 +val (p,_,f,nxt,_,pt) = me nxt p [] pt; val (p,_,f,nxt,_,pt) = me nxt p [] pt;
1.79 +val (p,_,f,nxt,_,pt) = me nxt p [] pt; val (p,_,f,nxt,_,pt) = me nxt p [] pt;
1.80 +val (p,_,f,nxt,_,pt) = me nxt p [] pt; val (p,_,f,nxt,_,pt) = me nxt p [] pt;
1.81 +val (p,_,f,nxt,_,pt) = me nxt p [] pt; val (p,_,f,nxt,_,pt) = me nxt p [] pt;
1.82 +val (p,_,f,nxt,_,pt) = me nxt p [] pt; val (p,_,f,nxt,_,pt) = me nxt p [] pt;
1.83 +
1.84 +if fst nxt = "End_Proof'" andalso f2str f = "4 / (z - 1 / 2) + -4 / (z - -1 / 4)" then ()
1.85 +else error "--- isolate SubProblem [simplification, of_rationals, to_partial_fraction] me ---";
1.86 +
1.87 +
1.88 +"----------- isolate SubProblem [simplification, of_rationals, to_partial_fraction] auto -------";
1.89 +"----------- isolate SubProblem [simplification, of_rationals, to_partial_fraction] auto -------";
1.90 +"----------- isolate SubProblem [simplification, of_rationals, to_partial_fraction] auto -------";
1.91 +reset_states ();
1.92 +(*val PblObj {fmz_from_Subproblem_of_Inverse_sub, ...} = get_obj I pt (fst p)
1.93 + see --- test [SignalProcessing,Z_Transform,Inverse_sub] me = ";*)
1.94 +
1.95 +val fmz_from_Subproblem_of_Inverse_sub = (*see --- test [SignalProcessing,Z_Transform,Inverse_s.."*)
1.96 + (["functionTerm (3 / (z * (z - 1 / 4 + -1 / 8 * (1 / z))))", "solveFor z",
1.97 + "decomposedFunction p_p'''"],
1.98 + ("Isac", ["partial_fraction", "rational", "simplification"],
1.99 + ["simplification", "of_rationals", "to_partial_fraction"]));
1.100 +CalcTree [fmz_from_Subproblem_of_Inverse_sub];
1.101 +Iterator 1;
1.102 +moveActiveRoot 1;
1.103 +(*
1.104 +autoCalculate 1 CompleteCalc;
1.105 +exception Empty raised (line 429 of "library.ML") TODO during lucin: *)
1.106 +
1.107 +(*
1.108 +trace_script := true;
1.109 +
1.110 +@@@ program ["simplification","of_rationals","to_partial_fraction"]
1.111 +@@@ istate ["
1.112 +(f_f, 3 / (z * (z - 1 / 4 + -1 / 8 * (1 / z))))","
1.113 +(zzz, z)"]
1.114 +@@@ next leaf 'Take f_f' ---> STac 'Take (3 / (z * (z - 1 / 4 + -1 / 8 * (1 / z))))'
1.115 +*)
1.116 +