tuned - formatting for latex generation
authorJan Rocnik <jan.rocnik@student.tugraz.at>
Wed, 15 Feb 2012 18:35:41 +0100
changeset 423693fa947c99a28
parent 42368 3afe632cd527
child 42370 a37d7751b913
tuned - formatting for latex generation
doc-src/isac/jrocnik/preambleForGeneratedDocuments.tex
test/Tools/isac/ADDTESTS/course/SignalProcess/Build_Inverse_Z_Transform.thy
test/Tools/isac/ADDTESTS/course/SignalProcess/document/Build_Inverse_Z_Transform.tex
     1.1 --- a/doc-src/isac/jrocnik/preambleForGeneratedDocuments.tex	Tue Feb 14 22:55:03 2012 +0100
     1.2 +++ b/doc-src/isac/jrocnik/preambleForGeneratedDocuments.tex	Wed Feb 15 18:35:41 2012 +0100
     1.3 @@ -1,4 +1,3 @@
     1.4  \section*{Preamble}
     1.5  This document shows the main structure of an {\sisac{}} theory. All of the following part is automatically generated out of an {\sisac{}}-theory file (.thy - extension). In this case the file is called \texttt{Build\_Inverse\_Z\_Transform} it can be found in the {\sisac{}} directory: \texttt{test/Tools/isac/ADDTESTS/course/}. {\sisac{}} provides inbuild tools for translating theories into latex documents. To set up such an envoriemt a file  called \texttt{isacmakefile} is needed. Further information about this automatic generation can be found in \cite{wenzel2011system}.
     1.6 -\par The following theory can be modified and used as a guiedline for implementing new applications. Everything found here is just a snapshot of the work with \today.
     1.7 -\begin{center}TODO\end{center}
     1.8 \ No newline at end of file
     1.9 +\par The following theory can be modified and used as a guiedline for implementing new applications. Everything found here is just a snapshot of the work by \today.
    1.10 \ No newline at end of file
     2.1 --- a/test/Tools/isac/ADDTESTS/course/SignalProcess/Build_Inverse_Z_Transform.thy	Tue Feb 14 22:55:03 2012 +0100
     2.2 +++ b/test/Tools/isac/ADDTESTS/course/SignalProcess/Build_Inverse_Z_Transform.thy	Wed Feb 15 18:35:41 2012 +0100
     2.3 @@ -124,6 +124,8 @@
     2.4  *}
     2.5  
     2.6  subsection {*Prepare Expression\label{prep-expr}*}
     2.7 +text{*\noindent We try two different notations and check which of them 
     2.8 +       isabelle can handle best.*}
     2.9  ML {*
    2.10    val ctxt = ProofContext.init_global @{theory Isac};
    2.11    val ctxt = declare_constraints' [@{term "z::real"}] ctxt;
    2.12 @@ -201,10 +203,10 @@
    2.13  text {*\noindent With the above definition we run into problems when we parse
    2.14          the Script \texttt{InverseZTransform}. This leads to \em ambiguous
    2.15          parse trees. \normalfont We avoid this by moving the definition
    2.16 -        to \ttfamily Rational.thy \normalfont and re-building Isac.
    2.17 +        to \ttfamily Rational.thy \normalfont and re-building {\sisac}.
    2.18          \par \noindent ATTENTION: From now on \ttfamily 
    2.19          Build\_Inverse\_Z\_Transform \normalfont mimics a build from scratch;
    2.20 -        it only works due to re-building Isac several times (indicated 
    2.21 +        it only works due to re-building {\sisac} several times (indicated 
    2.22          explicityl).
    2.23  *}
    2.24  
    2.25 @@ -215,145 +217,193 @@
    2.26   *)
    2.27  fun eval_get_denominator (thmid:string) _ 
    2.28  		      (t as Const ("Rational.get_denominator", _) $
    2.29 -              (Const ("Rings.inverse_class.divide", _) $ num $
    2.30 -                denom)) thy = 
    2.31 +              (Const ("Rings.inverse_class.divide", _) $num 
    2.32 +                $denom)) thy = 
    2.33          SOME (mk_thmid thmid "" 
    2.34              (Print_Mode.setmp [] 
    2.35                (Syntax.string_of_term (thy2ctxt thy)) denom) "", 
    2.36  	          Trueprop $ (mk_equality (t, denom)))
    2.37    | eval_get_denominator _ _ _ _ = NONE; 
    2.38  *}
    2.39 -text {* tests of eval_get_denominator see test/Knowledge/rational.sml*}
    2.40 +text {*\noindent For the tests of \ttfamily eval\_get\_denominator \normalfont
    2.41 +        see \ttfamily test/Knowledge/rational.sml\normalfont*}
    2.42  
    2.43 -text {*get numerator should also become a constant for the isabelle parser: *}
    2.44 +text {*\noindent \ttfamily get\_numerator \normalfont should also become a
    2.45 +        constant for the isabelle parser, follow up the \texttt{const}
    2.46 +        decleration above.*}
    2.47  
    2.48  ML {*
    2.49 +(*
    2.50 + *("get_numerator",
    2.51 + *  ("Rational.get_numerator", eval_get_numerator ""))
    2.52 + *)
    2.53  fun eval_get_numerator (thmid:string) _ 
    2.54  		      (t as Const ("Rational.get_numerator", _) $
    2.55                (Const ("Rings.inverse_class.divide", _) $num
    2.56                  $denom )) thy = 
    2.57          SOME (mk_thmid thmid "" 
    2.58 -            (Print_Mode.setmp [] (Syntax.string_of_term (thy2ctxt thy)) num) "", 
    2.59 +            (Print_Mode.setmp [] 
    2.60 +              (Syntax.string_of_term (thy2ctxt thy)) num) "", 
    2.61  	          Trueprop $ (mk_equality (t, num)))
    2.62    | eval_get_numerator _ _ _ _ = NONE; 
    2.63  *}
    2.64  
    2.65 -text {*
    2.66 -We discovered severell problems by implementing the get_numerator function.
    2.67 -Remember when putting new functions to Isac, put them in a thy file and rebuild 
    2.68 -isac, also put them in the ruleset for the script!
    2.69 +text {*\noindent We discovered severell problems by implementing the 
    2.70 +       \ttfamily get\_numerator \normalfont function. Remember when 
    2.71 +       putting new functions to {\sisac}, put them in a thy file and rebuild 
    2.72 +       {\sisac}, also put them in the ruleset for the script!*}
    2.73 +
    2.74 +subsection {*Solve Equation\label{sec:solveq}*}
    2.75 +text {*\noindent We have to find the zeros of the term, therefor we use our
    2.76 +       \ttfamily get\_denominator \normalfont function from the step before
    2.77 +       and try to solve the second order eqeuation. (Follow up the Calculation
    2.78 +       in Section~\ref{sec:calc:ztrans} Subproblem 2) Note: This type of
    2.79 +       equation is too general for the present program.
    2.80 +       \par We know that this equation can be categorized as \em univariate
    2.81 +       equation \normalfont and solved with the functions {\sisac} provides
    2.82 +       for this equation type. Later on {\sisac} should determine the type
    2.83 +       of the given equation self.*}
    2.84 +ML {*
    2.85 +  val denominator = parseNEW ctxt "z^^^2 - 1/4*z - 1/8 = 0";
    2.86 +  val fmz = ["equality (z^^^2 - 1/4*z - 1/8 = (0::real))",
    2.87 +             "solveFor z",
    2.88 +             "solutions L"];
    2.89 +  val (dI',pI',mI') =("Isac", ["univariate","equation"], ["no_met"]);
    2.90 +*}
    2.91 +text {*\noindent Check if the given equation matches the specification of this
    2.92 +        quation type.*}
    2.93 +ML {*
    2.94 +  match_pbl fmz (get_pbt ["univariate","equation"]);
    2.95  *}
    2.96  
    2.97 -subsection {*solve equation*}
    2.98 -text {*this type of equation if too general for the present program*}
    2.99 -ML {*
   2.100 -"----------- Minisubplb/100-init-rootp (*OK*)bl.sml ---------------------";
   2.101 -val denominator = parseNEW ctxt "z^^^2 - 1/4*z - 1/8 = 0";
   2.102 -val fmz = ["equality (z^^^2 - 1/4*z - 1/8 = (0::real))", "solveFor z","solutions L"];
   2.103 -val (dI',pI',mI') =("Isac", ["univariate","equation"], ["no_met"]);
   2.104 -(*                           ^^^^^^^^^^^^^^^^^^^^^^ TODO: ISAC determines type of eq*)
   2.105 -*}
   2.106 -text {*Does the Equation Match the Specification ?*}
   2.107 -ML {*
   2.108 -match_pbl fmz (get_pbt ["univariate","equation"]);
   2.109 -*}
   2.110 -ML {*Context.theory_name thy = "Isac"(*==================================================*)*}
   2.111 +text{*\noindent We switch up to the {\sisac} Context and try to solve the 
   2.112 +       equation with a more specific type definition.*}
   2.113  
   2.114  ML {*
   2.115 -val denominator = parseNEW ctxt "-1 + -2 * z + 8 * z ^^^ 2 = 0";
   2.116 -val fmz =                                            (*specification*)
   2.117 -  ["equality (-1 + -2 * z + 8 * z ^^^ 2 = (0::real))", (*equality*)
   2.118 -   "solveFor z",                                     (*bound variable*)
   2.119 -   "solutions L"];                                   (*identifier for solution*)
   2.120 -
   2.121 -val (dI',pI',mI') =
   2.122 -  ("Isac", ["abcFormula","degree_2","polynomial","univariate","equation"], ["no_met"]);
   2.123 -*}
   2.124 -text {*Does the Other Equation Match the Specification ?*}
   2.125 -ML {*
   2.126 -match_pbl fmz (get_pbt ["abcFormula","degree_2","polynomial","univariate","equation"]);
   2.127 -*}
   2.128 -text {*Solve Equation Stepwise*}
   2.129 -ML {*
   2.130 -*}
   2.131 -ML {*
   2.132 -val (p,_,f,nxt,_,pt) = CalcTreeTEST [(fmz, (dI',pI',mI'))];
   2.133 -val (p,_,f,nxt,_,pt) = me nxt p [] pt;
   2.134 -val (p,_,f,nxt,_,pt) = me nxt p [] pt;
   2.135 -val (p,_,f,nxt,_,pt) = me nxt p [] pt;
   2.136 -val (p,_,f,nxt,_,pt) = me nxt p [] pt;
   2.137 -val (p,_,f,nxt,_,pt) = me nxt p [] pt;
   2.138 -val (p,_,f,nxt,_,pt) = me nxt p [] pt;
   2.139 -val (p,_,f,nxt,_,pt) = me nxt p [] pt;
   2.140 -val (p,_,f,nxt,_,pt) = me nxt p [] pt;
   2.141 -val (p,_,f,nxt,_,pt) = me nxt p [] pt;
   2.142 -val (p,_,f,nxt,_,pt) = me nxt p [] pt;
   2.143 -val (p,_,f,nxt,_,pt) = me nxt p [] pt;         
   2.144 -val (p,_,f,nxt,_,pt) = me nxt p [] pt; (*nxt =..,Check_elementwise "Assumptions")*)
   2.145 -val (p,_,f,nxt,_,pt) = me nxt p [] pt;         
   2.146 -val (p,_,f,nxt,_,pt) = me nxt p [] pt; f2str f;
   2.147 -(*[z = 1 / 2, z = -1 / 4]*)
   2.148 -show_pt pt; 
   2.149 -val SOME f = parseNEW ctxt "[z=1/2, z=-1/4]";
   2.150 +  Context.theory_name thy = "Isac";
   2.151 +  val denominator = parseNEW ctxt "-1 + -2 * z + 8 * z ^^^ 2 = 0";
   2.152 +  val fmz =                                             (*specification*)
   2.153 +    ["equality (-1 + -2 * z + 8 * z ^^^ 2 = (0::real))",(*equality*)
   2.154 +     "solveFor z",                                      (*bound variable*)
   2.155 +     "solutions L"];                                    (*identifier for
   2.156 +                                                          solution*)
   2.157 +  val (dI',pI',mI') =
   2.158 +    ("Isac", 
   2.159 +      ["abcFormula","degree_2","polynomial","univariate","equation"],
   2.160 +      ["no_met"]);
   2.161  *}
   2.162  
   2.163 -subsection {*partial fraction decomposition*}
   2.164 -subsubsection {*solution of the equation*}
   2.165 +text {*\noindent Check if the (other) given equation matches the 
   2.166 +        specification of this quation type.*}
   2.167 +        
   2.168  ML {*
   2.169 -val SOME solutions = parseNEW ctxt "[z=1/2, z=-1/4]";
   2.170 -term2str solutions;
   2.171 -atomty solutions;
   2.172 +  match_pbl fmz (get_pbt 
   2.173 +    ["abcFormula","degree_2","polynomial","univariate","equation"]);
   2.174  *}
   2.175  
   2.176 -subsubsection {*get solutions out of list*}
   2.177 -text {*in isac's CTP-based programming language: let$ $s_1 = NTH 1$ solutions; $s_2 = NTH 2...$*}
   2.178 +text {*\noindent We stepwise solve the equation. This is done by the
   2.179 +        use of a so called calc tree seen downwards.*}
   2.180 +
   2.181  ML {*
   2.182 -val Const ("List.list.Cons", _) $ s_1 $ (Const ("List.list.Cons", _) $
   2.183 -      s_2 $ Const ("List.list.Nil", _)) = solutions;
   2.184 -term2str s_1;
   2.185 -term2str s_2;
   2.186 +  val (p,_,f,nxt,_,pt) = CalcTreeTEST [(fmz, (dI',pI',mI'))];
   2.187 +  val (p,_,f,nxt,_,pt) = me nxt p [] pt;
   2.188 +  val (p,_,f,nxt,_,pt) = me nxt p [] pt;
   2.189 +  val (p,_,f,nxt,_,pt) = me nxt p [] pt;
   2.190 +  val (p,_,f,nxt,_,pt) = me nxt p [] pt;
   2.191 +  val (p,_,f,nxt,_,pt) = me nxt p [] pt;
   2.192 +  val (p,_,f,nxt,_,pt) = me nxt p [] pt;
   2.193 +  val (p,_,f,nxt,_,pt) = me nxt p [] pt;
   2.194 +  val (p,_,f,nxt,_,pt) = me nxt p [] pt;
   2.195 +  val (p,_,f,nxt,_,pt) = me nxt p [] pt;
   2.196 +  val (p,_,f,nxt,_,pt) = me nxt p [] pt;
   2.197 +  val (p,_,f,nxt,_,pt) = me nxt p [] pt;         
   2.198 +  val (p,_,f,nxt,_,pt) = me nxt p [] pt;
   2.199 +  (*
   2.200 +   * nxt =..,Check_elementwise "Assumptions") 
   2.201 +   *)
   2.202 +  val (p,_,f,nxt,_,pt) = me nxt p [] pt;         
   2.203 +  val (p,_,f,nxt,_,pt) = me nxt p [] pt; f2str f;
   2.204 +  (*
   2.205 +   * [z = 1 / 2, z = -1 / 4]
   2.206 +   *)
   2.207 +  show_pt pt; 
   2.208 +  val SOME f = parseNEW ctxt "[z=1/2, z=-1/4]";
   2.209  *}
   2.210  
   2.211 -ML {* (*Solutions as Denominator --> Denominator1 = z - Zeropoint1, Denominator2 = z-Zeropoint2,...*)
   2.212 -val xx = HOLogic.dest_eq s_1;
   2.213 -val s_1' = HOLogic.mk_binop "Groups.minus_class.minus" xx;
   2.214 -val xx = HOLogic.dest_eq s_2;
   2.215 -val s_2' = HOLogic.mk_binop "Groups.minus_class.minus" xx;
   2.216 -term2str s_1';
   2.217 -term2str s_2';
   2.218 +subsection {*Partial Fraction Decomposition\label{sec:pbz}*}
   2.219 +text{*\noindent We go on with the decomposion of our expression. Follow up the
   2.220 +       Calculation in Section~\ref{sec:calc:ztrans} Step~3 and later on
   2.221 +       Subproblem~1.*}
   2.222 +subsubsection {*Solutions of the Equation*}
   2.223 +text{*\noindent We get the solutions of the before solved equation in a list.*}
   2.224 +
   2.225 +ML {*
   2.226 +  val SOME solutions = parseNEW ctxt "[z=1/2, z=-1/4]";
   2.227 +  term2str solutions;
   2.228 +  atomty solutions;
   2.229  *}
   2.230 -text {* for the programming language a function 
   2.231 -  collecting all the above manipulations is helpful*}
   2.232 +
   2.233 +subsubsection {*Get Solutions out of a List*}
   2.234 +text {*\noindent In {\sisac}'s CTP-based programming language: 
   2.235 +       \ttfamily let\$ \$s\_1 = NTH 1\$ solutions; \$s\_2 = NTH 2...\$ \normalfont
   2.236 +       can be usefull.*}
   2.237 +
   2.238  ML {*
   2.239 -fun mk_minus_1 T = Free("-1", T); (*TODO DELETE WITH numbers_to_string*)
   2.240 -fun flip_sign t = (*TODO improve for use in factors_from_solution: -(-1) etc*)
   2.241 -  let val minus_1 = t |> type_of |> mk_minus_1
   2.242 -  in HOLogic.mk_binop "Groups.times_class.times" (minus_1, t) end;
   2.243 -fun fac_from_sol s =
   2.244 -  let val (lhs, rhs) = HOLogic.dest_eq s
   2.245 -  in HOLogic.mk_binop "Groups.minus_class.minus" (lhs, rhs) end;
   2.246 +  val Const ("List.list.Cons", _) $ s_1 $ (Const ("List.list.Cons", _)
   2.247 +        $ s_2 $ Const ("List.list.Nil", _)) = solutions;
   2.248 +  term2str s_1;
   2.249 +  term2str s_2;
   2.250  *}
   2.251 +
   2.252 +text{*\noindent The ansatz for the \em Partial Fraction Decomposion \normalfont
   2.253 +      requires to get the denominators of the partial fractions out of the 
   2.254 +      Solutions as:
   2.255 +      \begin{itemize}
   2.256 +      \item $\text{Denominator}_{1} = z - \text{Zeropoint}_{1}$
   2.257 +      \item $\text{Denominator}_{2} = z - \text{Zeropoint}_{2}$
   2.258 +      \item \ldots
   2.259 +      \end{itemize}*}
   2.260 +      
   2.261  ML {*
   2.262 -e_term
   2.263 +  val xx = HOLogic.dest_eq s_1;
   2.264 +  val s_1' = HOLogic.mk_binop "Groups.minus_class.minus" xx;
   2.265 +  val xx = HOLogic.dest_eq s_2;
   2.266 +  val s_2' = HOLogic.mk_binop "Groups.minus_class.minus" xx;
   2.267 +  term2str s_1';
   2.268 +  term2str s_2';
   2.269  *}
   2.270 +
   2.271 +text {*\noindent For the programming language a function collecting all the 
   2.272 +        above manipulations is helpful.*}
   2.273 +
   2.274  ML {*
   2.275 -fun mk_prod prod [] =
   2.276 -      if prod = e_term then error "mk_prod called with []" else prod
   2.277 -  | mk_prod prod (t :: []) =
   2.278 -      if prod = e_term then t else HOLogic.mk_binop "Groups.times_class.times" (prod, t)
   2.279 -  | mk_prod prod (t1 :: t2 :: ts) =
   2.280 -        if prod = e_term 
   2.281 -        then 
   2.282 -           let val p = HOLogic.mk_binop "Groups.times_class.times" (t1, t2)
   2.283 -           in mk_prod p ts end 
   2.284 -        else 
   2.285 -           let val p = HOLogic.mk_binop "Groups.times_class.times" (prod, t1)
   2.286 -           in mk_prod p (t2 :: ts) end 
   2.287 +  fun fac_from_sol s =
   2.288 +    let val (lhs, rhs) = HOLogic.dest_eq s
   2.289 +    in HOLogic.mk_binop "Groups.minus_class.minus" (lhs, rhs) end;
   2.290  *}
   2.291 +
   2.292  ML {*
   2.293 +  fun mk_prod prod [] =
   2.294 +        if prod = e_term
   2.295 +        then error "mk_prod called with []" 
   2.296 +        else prod
   2.297 +    | mk_prod prod (t :: []) =
   2.298 +        if prod = e_term
   2.299 +        then t
   2.300 +        else HOLogic.mk_binop "Groups.times_class.times" (prod, t)
   2.301 +    | mk_prod prod (t1 :: t2 :: ts) =
   2.302 +          if prod = e_term 
   2.303 +          then 
   2.304 +             let val p = 
   2.305 +               HOLogic.mk_binop "Groups.times_class.times" (t1, t2)
   2.306 +             in mk_prod p ts end 
   2.307 +          else 
   2.308 +             let val p =
   2.309 +               HOLogic.mk_binop "Groups.times_class.times" (prod, t1)
   2.310 +             in mk_prod p (t2 :: ts) end 
   2.311  *}
   2.312 -ML {*
   2.313 -(*probably keept these test in test/Tools/isac/...
   2.314 +(* ML {* 
   2.315 +probably keept these test in test/Tools/isac/...
   2.316  (*mk_prod e_term [];*)
   2.317  
   2.318  val prod = mk_prod e_term [str2term "x + 123"]; 
   2.319 @@ -365,395 +415,574 @@
   2.320  val prod = mk_prod e_term facs; 
   2.321  term2str prod = "(z + -1 * (1 / 2)) * (z + -1 * (-1 / 4))";
   2.322  
   2.323 -val prod = mk_prod e_term [str2term "x + 1", str2term "x + 2", str2term "x + 3"]; 
   2.324 +val prod = 
   2.325 +  mk_prod e_term [str2term "x + 1", str2term "x + 2", str2term "x + 3"]; 
   2.326  term2str prod = "(x + 1) * (x + 2) * (x + 3)";
   2.327 -*)
   2.328 -
   2.329 -fun factors_from_solution sol = 
   2.330 -  let val ts = HOLogic.dest_list sol
   2.331 -  in mk_prod e_term (map fac_from_sol ts) end;
   2.332 -(*
   2.333 +*} *)
   2.334 +ML {*
   2.335 +  fun factors_from_solution sol = 
   2.336 +    let val ts = HOLogic.dest_list sol
   2.337 +    in mk_prod e_term (map fac_from_sol ts) end;
   2.338 +*}
   2.339 +(* ML {*
   2.340  val sol = str2term "[z = 1 / 2, z = -1 / 4]";
   2.341  val fs = factors_from_solution sol;
   2.342  term2str fs = "(z + -1 * (1 / 2)) * (z + -1 * (-1 / 4))"
   2.343 -*)
   2.344 -*}
   2.345 -text {* This function needs to be packed such that it can be evaluated by the Lucas-Interpreter:
   2.346 -  # shift these functions into the related Equation.thy
   2.347 -  #  -- compare steps done with get_denominator above
   2.348 -  # done 02.12.2011 moved to PartialFractions.thy
   2.349 -  *}
   2.350 +*} *)
   2.351 +text {*\noindent This function needs to be packed such that it can be evaluated
   2.352 +        by the Lucas-Interpreter. Therefor we moved the function to the
   2.353 +        corresponding \ttfamily Equation.thy \normalfont in our case
   2.354 +        \ttfamily PartialFractions.thy \normalfont. The neccessary steps
   2.355 +        are quit the same as we have done with \ttfamliy get\_denominator 
   2.356 +        \normalfont before.*}
   2.357  ML {*
   2.358 -(*("factors_from_solution", ("Partial_Fractions.factors_from_solution", eval_factors_from_solution ""))*)
   2.359 -fun eval_factors_from_solution (thmid:string) _
   2.360 -     (t as Const ("Partial_Fractions.factors_from_solution", _) $ sol) thy =
   2.361 -       ((let val prod = factors_from_solution sol
   2.362 -         in SOME (mk_thmid thmid ""
   2.363 -           (Print_Mode.setmp [] (Syntax.string_of_term (thy2ctxt thy)) prod) "",
   2.364 -               Trueprop $ (mk_equality (t, prod)))
   2.365 -         end)
   2.366 -       handle _ => NONE)
   2.367 - | eval_factors_from_solution _ _ _ _ = NONE;
   2.368 +  (*("factors_from_solution",
   2.369 +    ("Partial_Fractions.factors_from_solution",
   2.370 +      eval_factors_from_solution ""))*)
   2.371 +      
   2.372 +  fun eval_factors_from_solution (thmid:string) _
   2.373 +       (t as Const ("Partial_Fractions.factors_from_solution", _) $ sol)
   2.374 +         thy = ((let val prod = factors_from_solution sol
   2.375 +                   in SOME (mk_thmid thmid ""
   2.376 +                     (Print_Mode.setmp []
   2.377 +                       (Syntax.string_of_term (thy2ctxt thy)) prod) "",
   2.378 +                         Trueprop $ (mk_equality (t, prod)))
   2.379 +                end)
   2.380 +               handle _ => NONE)
   2.381 +   | eval_factors_from_solution _ _ _ _ = NONE;
   2.382  *}
   2.383  
   2.384 -text {*
   2.385 -The tracing output of the calc tree after apllying this function was
   2.386 -24 / factors_from_solution [z = 1/ 2, z = -1 / 4])]  and the next step
   2.387 - val nxt = ("Empty_Tac", ...): tac'_).
   2.388 -These observations indicate, that the Lucas-Interpreter (LIP) does 
   2.389 -not know how to evaluate factors_from_solution, so there is something 
   2.390 -wrong or missing.
   2.391 +text {*\noindent The tracing output of the calc tree after apllying this
   2.392 +       function was \ttfamily 24 / factors\_from\_solution 
   2.393 +       [z = 1/ 2, z = -1 / 4])] \normalfont and the next step \ttfamily
   2.394 +       val nxt = ("Empty\_Tac", ...): tac'\_)\normalfont. These observations
   2.395 +       indicate, that the Lucas-Interpreter (LIP) does not know how to
   2.396 +       evaluate\\ \ttfamily factors\_from\_solution, \normalfont so we knew
   2.397 +       that there is something wrong or missing.*}
   2.398 +       
   2.399 +text{*\noindent First we isolate the difficulty in the program as follows:\\
   2.400 +      \ttfamily \par \noindent
   2.401 +        "(L\_L::bool list) = (SubProblem (PolyEq',"\^\\
   2.402 +        "[abcFormula,degree\_2,polynomial,univariate,equation],[no\_met])"\^\\
   2.403 +        "[BOOL equ, REAL zzz]);"\^\\
   2.404 +        "(facs::real) = factors\_from\_solution L\_L;"\^\\
   2.405 +        "(foo::real) = Take facs"\^\\
   2.406 +        
   2.407 +      \normalfont \par \noindent And see the tracing output:\\
   2.408 +         \ttfamily \par \noindent \lbrack\\
   2.409 +        ((\lbrack\rbrack, Frm), Problem 
   2.410 +          (Isac, \lbrack inverse, Z\_Transform, SignalProcessing\rbrack)),\\
   2.411 +        ((\lbrack 1\rbrack, Frm), X z = 3 / (z - 1 / 4 + -1 / 8 * (1 / z))),\\
   2.412 +        ((\lbrack 1\rbrack, Res), 
   2.413 +          ?X' z = 3 / (z * (z - 1 / 4 + -1 / 8 * (1 / z)))),\\
   2.414 +        ((\lbrack 2\rbrack, Res),
   2.415 +          ?X' z = 24 / (-1 + -2 * z + 8 * z \^\^\^ ~2)),\\
   2.416 +        ((\lbrack 3\rbrack, Pbl), 
   2.417 +          solve (-1 + -2 * z + 8 * z \^\^\^ ~2 = 0, z)),\\
   2.418 +        ((\lbrack 3,1\rbrack, Frm), -1 + -2 * z + 8 * z \^\^\^ ~2 = 0),\\
   2.419 +        ((\lbrack 3,1\rbrack, Res), 
   2.420 +          z = (- -2 + sqrt (-2 \^\^\^ ~2 - 4 * 8 * -1)) / (2 * 8)|\\
   2.421 +          z = (- -2 - sqrt (-2 \^\^\^ ~2 - 4 * 8 * -1)) / (2 * 8)),\\
   2.422 +        ((\lbrack 3,2\rbrack, Res), z = 1 / 2 | z = -1 / 4),\\
   2.423 +        ((\lbrack 3,3\rbrack, Res), \lbrack z = 1 / 2, z = -1 / 4\rbrack),\\
   2.424 +        ((\lbrack 3,4\rbrack, Res), \lbrack z = 1 / 2, z = -1 / 4\rbrack),\\
   2.425 +        ((\lbrack 3\rbrack, Res), \lbrack z = 1 / 2, z = -1 / 4\rbrack),\\
   2.426 +        ((\lbrack 4\rbrack, Frm), 
   2.427 +          factors\_from\_solution \lbrackz = 1 / 2, z = -1 / 4])\\
   2.428 +        \rbrack\\
   2.429 +        
   2.430 +      \normalfont \noindent In particular that:\\
   2.431 +      \ttfamily \par \noindent ((\lbrack 3\rbrack, Pbl),
   2.432 +        solve (-1 + -2 * z + 8 * z \^\^\^ ~2 = 0, z)),\\
   2.433 +      \normalfont \par \noindent Shows the equation which has been created in
   2.434 +      the program by: \ttfamily \\
   2.435  
   2.436 -# First we isolate the difficulty in the program as follows:
   2.437 -  :
   2.438 -  "      (L_L::bool list) = (SubProblem (PolyEq'," ^
   2.439 -  "          [abcFormula,degree_2,polynomial,univariate,equation],[no_met])" ^
   2.440 -  "        [BOOL equ, REAL zzz]);              " ^
   2.441 -  "      (facs::real) = factors_from_solution L_L;" ^
   2.442 -  "      (foo::real) = Take facs" ^
   2.443 -  :
   2.444 -and see
   2.445 -  [
   2.446 -  (([], Frm), Problem (Isac, [inverse, Z_Transform, SignalProcessing])),
   2.447 -  (([1], Frm), X z = 3 / (z - 1 / 4 + -1 / 8 * (1 / z))),
   2.448 -  (([1], Res), ?X' z = 3 / (z * (z - 1 / 4 + -1 / 8 * (1 / z)))),
   2.449 -  (([2], Res), ?X' z = 24 / (-1 + -2 * z + 8 * z ^^^ 2)),
   2.450 -  (([3], Pbl), solve (-1 + -2 * z + 8 * z ^^^ 2 = 0, z)),
   2.451 -  (([3,1], Frm), -1 + -2 * z + 8 * z ^^^ 2 = 0),
   2.452 -  (([3,1], Res), z = (- -2 + sqrt (-2 ^^^ 2 - 4 * 8 * -1)) / (2 * 8) |
   2.453 -                 z = (- -2 - sqrt (-2 ^^^ 2 - 4 * 8 * -1)) / (2 * 8)),
   2.454 -  (([3,2], Res), z = 1 / 2 | z = -1 / 4),
   2.455 -  (([3,3], Res), [z = 1 / 2, z = -1 / 4]),
   2.456 -  (([3,4], Res), [z = 1 / 2, z = -1 / 4]),
   2.457 -  (([3], Res), [z = 1 / 2, z = -1 / 4]),
   2.458 -  (([4], Frm), factors_from_solution [z = 1 / 2, z = -1 / 4])]
   2.459 -in particular that
   2.460 -  (([3], Pbl), solve (-1 + -2 * z + 8 * z ^^^ 2 = 0, z)),
   2.461 -shows the equation which has been created in the program by
   2.462 -  "      (denom::real) = get_denominator funterm;" ^ (*get_denominator*)
   2.463 -  "      (equ::bool) = (denom = (0::real));" ^
   2.464 -# 'get_denominator' has been evaluated successfully, but not factors_from_solution.
   2.465 -So we stepwise compare with an analogous case, get_denominator 
   2.466 -successfully done above: We know that LIP evaluates expressions in the 
   2.467 -program by use of the "srls", so we
   2.468 -# try to get the original srls
   2.469 +      \noindent "(denom::real) = get\_denominator funterm;"\^ 
   2.470 +        ~(*get\_denominator*)\\
   2.471 +      "(equ::bool) = (denom = (0::real));"\^\\
   2.472 +        
   2.473 +      \noindent get\_denominator \normalfont has been evaluated successfully,
   2.474 +      but not\\ \ttfamily factors\_from\_solution.\normalfont
   2.475 +      So we stepwise compare with an analogous case, \ttfamily get\_denominator
   2.476 +      \normalfont successfully done above: We know that LIP evaluates
   2.477 +      expressions in the program by use of the \emph{srls}, so we try to get
   2.478 +      the original \emph{srls}.\\
   2.479  
   2.480 -  val {srls, ...} = get_met ["SignalProcessing","Z_Transform","inverse"];
   2.481 +      \noindent \ttfamily val \lbrace srls,\ldots\rbrace\ttfamily 
   2.482 +        = get\_met \lbrack "SignalProcessing",
   2.483 +          "Z\_Transform","inverse"\rbrack;\\
   2.484 +          
   2.485 +      \par \noindent \normalfont Create 2 good example terms\\
   2.486 +      \ttfamily \par \noindent val SOME t1 =\\ 
   2.487 +      parseNEW ctxt "get\_denominator ((111::real) / 222)";
   2.488 +      \par \noindent val SOME t2 =\\
   2.489 +      parseNEW ctxt "factors\_from\_solution \lbrack(z::real)
   2.490 +        = 1/2, z = -1/4\rbrack";\\
   2.491  
   2.492 -# create 2 good example terms
   2.493 -  val SOME t1 = parseNEW ctxt "get_denominator ((111::real) / 222)";
   2.494 -  val SOME t2 = parseNEW ctxt "factors_from_solution [(z::real) = 1 / 2, z = -1 / 4]";
   2.495 +      \par \noindent \normalfont Rewrite the terms using srls:\\
   2.496 +      \ttfamily \par \noindent rewrite\_set\_ thy true srls t1;\\
   2.497 +        rewrite\_set\_ thy true srls t2;\\
   2.498 +      \par \noindent \normalfont Now we see a difference: \texttt{t1} gives
   2.499 +      \texttt{SOME} but \texttt{t2} gives \texttt{NONE}. We look at the 
   2.500 +      \emph{srls}:\\
   2.501 +      
   2.502 +      \par \noindent \ttfamily  val srls = Rls \lbrace id =
   2.503 +        "srls\_InverseZTransform", rules =\\
   2.504 +            \lbrack Calc("Rational.get\_numerator",\\
   2.505 +                eval\_get\_numerator "Rational.get\_numerator"),\\
   2.506 +              Calc("Partial\_Fractions.factors\_from\_solution",\\
   2.507 +                eval\_factors\_from\_solution 
   2.508 +                  "Partial\_Fractions.factors\_from\_solution")\rbrack\rbrace\\
   2.509 +                
   2.510 +      \par \noindent \normalfont Here everthing is perfect. So the error can
   2.511 +      only be in the SML code of \ttfamily eval\_factors\_from\_solution.
   2.512 +      \normalfont We try to check the code with an existing test; since the 
   2.513 +      \emph{code} is in 
   2.514 +      \begin{center}\ttfamily src/Tools/isac/Knowledge/Partial\_Fractions.thy
   2.515 +      \normalfont\end{center}
   2.516 +      the \emph{test} should be in
   2.517 +      \begin{center}\ttfamily test/Tools/isac/Knowledge/partial\_fractions.sml
   2.518 +      \normalfont\end{center}
   2.519 +      \par \noindent After updating the function \ttfamily
   2.520 +      factors\_from\_solution \normalfont to a new version and putting a
   2.521 +      testcase to \ttfamily Partial\_Fractions.sml \normalfont we tried again
   2.522 +      to evaluate the term with the same result.
   2.523 +      \par We opened the test \ttfamily Test\_Isac.thy \normalfont and saw that
   2.524 +      everything is working fine. Also we checked that the test \ttfamily 
   2.525 +      partial\_fractions.sml \normalfont is used in \ttfamily Test\_Isac.thy 
   2.526 +      \normalfont
   2.527 +      \begin{center}use \ttfamily "Knowledge/partial\_fractions.sml"
   2.528 +      \normalfont \end{center}
   2.529 +      and \ttfamily Partial\_Fractions.thy \normalfont is part is part of
   2.530 +      {\sisac} by evaluating\\
   2.531  
   2.532 -# rewrite the terms using srls
   2.533 -  rewrite_set_ thy true srls t1;
   2.534 -  rewrite_set_ thy true srls t2;
   2.535 +      \par \noindent \ttfamily val thy = @\lbrace theory~Isac \rbrace;
   2.536 +      \normalfont \\
   2.537  
   2.538 -and we see a difference: t1 gives SOME, t2 gives NONE.
   2.539 -Now we look at the srls:
   2.540 -  val srls = Rls {id="srls_InverseZTransform",
   2.541 -    :
   2.542 -    rules =
   2.543 -      [
   2.544 -        :
   2.545 -        Calc("Rational.get_numerator",
   2.546 -          eval_get_numerator "Rational.get_numerator"),
   2.547 -        Calc("Partial_Fractions.factors_from_solution",
   2.548 -          eval_factors_from_solution "Partial_Fractions.factors_from_solution")
   2.549 -      ],
   2.550 -    :
   2.551 -
   2.552 -Here everthing is perfect. So the error can only be in the SML code of eval_factors_from_solution.
   2.553 -We try to check the code with an existing test; since the code is in
   2.554 -
   2.555 -  src/Tools/isac/Knowledge/Partial_Fractions.thy
   2.556 -
   2.557 -the test should be in
   2.558 -
   2.559 -  test/Tools/isac/Knowledge/partial_fractions.sml
   2.560 -
   2.561 --------------------------------------------------------------------------------
   2.562 -After updating the function get_factors_from solution to a new version and 
   2.563 -putting a testcase to Partial_Fractions.sml we tried again to evaluate the
   2.564 -term with the same result.
   2.565 -We opened the test Test_Isac.thy and saw that everything is working fine.
   2.566 -Also we checked that the test partial_fractions.sml is used in Test_Isac.thy 
   2.567 -
   2.568 --->  use "Knowledge/partial_fractions.sml"
   2.569 -
   2.570 -and Partial_Fractions.thy is part is part of isac by evaluating
   2.571 -
   2.572 -val thy = @{theory Isac};
   2.573 -
   2.574 -after rebuilding isac again it worked
   2.575 -
   2.576 +      \par \noindent \normalfont After rebuilding {\sisac} again it worked.
   2.577  *}
   2.578  
   2.579 -subsubsection {*build expression*}
   2.580 -text {*in isac's CTP-based programming language: let s_1 = Take numerator / (s_1 * s_2)*}
   2.581 +subsubsection {*Build Expression*}
   2.582 +text {*\noindent In {\sisac}'s CTP-based programming language we can build
   2.583 +       expressions by:\\
   2.584 +       \ttfamily let s\_1 = Take numerator / (s\_1 * s\_2) \normalfont*}
   2.585 +       
   2.586  ML {*
   2.587 -(*The Main Denominator is the multiplikation of the partial fraction denominators*)
   2.588 -val denominator' = HOLogic.mk_binop "Groups.times_class.times" (s_1', s_2') ;
   2.589 -val SOME numerator = parseNEW ctxt "3::real";
   2.590 +  (*
   2.591 +   * The main denominator is the multiplikation of the denominators of
   2.592 +   * all partial fractions.
   2.593 +   *)
   2.594 +   
   2.595 +  val denominator' = HOLogic.mk_binop 
   2.596 +    "Groups.times_class.times" (s_1', s_2') ;
   2.597 +  val SOME numerator = parseNEW ctxt "3::real";
   2.598  
   2.599 -val expr' = HOLogic.mk_binop "Rings.inverse_class.divide" (numerator, denominator');
   2.600 -term2str expr';
   2.601 +  val expr' = HOLogic.mk_binop
   2.602 +    "Rings.inverse_class.divide" (numerator, denominator');
   2.603 +  term2str expr';
   2.604  *}
   2.605  
   2.606 -subsubsection {*Ansatz - create partial fractions out of our expression*}
   2.607 +subsubsection {*Apply the Partial Fraction Decomposion Ansatz*}
   2.608 +
   2.609 +text{*\noindent We use the Ansatz of the Partial Fraction Decomposen for our
   2.610 +      expression 2nd order. Follow up the calculation in 
   2.611 +      Section~\ref{sec:calc:ztrans} Step~03.*}
   2.612 +
   2.613  ML {*Context.theory_name thy = "Isac"*}
   2.614  
   2.615 +text{*\noindent We define two aximatizations, the first one is the main ansatz,
   2.616 +      the next one is just an eqivalent transformation of the resulting
   2.617 +      equation. Both axiomatizations were moved to \ttfamily
   2.618 +      Partial\_Fractions.thy \normalfont and got their own rulesets. In later
   2.619 +      programms it is possible to use the rulesets and the machine will find
   2.620 +      the correct ansatz and equivalent transformation itself.*}
   2.621 +
   2.622  axiomatization where
   2.623 -  ansatz2: "n / (a*b) = A/a + B/(b::real)" and
   2.624 -  multiply_eq2: "((n::real) / (a*b) = A/a + B/b) = (a*b*(n  / (a*b)) = a*b*(A/a + B/b::real))"  
   2.625 +  ansatz_2nd_order: "n / (a*b) = A/a + B/b" and
   2.626 +  equival_trans_2nd_order: "(n/(a*b) = A/a + B/b) = (n = A*b + B*a)"
   2.627 +
   2.628 +text{*\noindent We use our \ttfamily ansatz\_2nd\_order \normalfont to rewrite
   2.629 +       our expression and get an equilation with our expression on the left
   2.630 +       and the partial fractions of it on the right hand side.*}
   2.631 +  
   2.632 +ML {*
   2.633 +  val SOME (t1,_) = 
   2.634 +    rewrite_ @{theory Isac} e_rew_ord e_rls false 
   2.635 +             @{thm ansatz_2nd_order} expr';
   2.636 +  term2str t1; atomty t1;
   2.637 +  val eq1 = HOLogic.mk_eq (expr', t1);
   2.638 +  term2str eq1;
   2.639 +*}
   2.640 +
   2.641 +text{*\noindent Eliminate the demoninators by multiplying the left and the
   2.642 +      right hand side of the equation with the main denominator. This is an
   2.643 +      simple equivalent transformation. Later on we use an own ruleset
   2.644 +      defined in \ttfamily Partial\_Fractions.thy \normalfont for doing this.
   2.645 +      Follow up the calculation in Section~\ref{sec:calc:ztrans} Step~04.*}
   2.646  
   2.647  ML {*
   2.648 -(*we use our ansatz2 to rewrite our expression and get an equilation with our expression on the left and the partial fractions of it on the right side*)
   2.649 -val SOME (t1,_) = rewrite_ @{theory Isac} e_rew_ord e_rls false @{thm ansatz2} expr';
   2.650 -term2str t1; atomty t1;
   2.651 -val eq1 = HOLogic.mk_eq (expr', t1);
   2.652 -term2str eq1;
   2.653 -*}
   2.654 -ML {*
   2.655 -(*eliminate the demoninators by multiplying the left and the right side with the main denominator*)
   2.656 -val SOME (eq2,_) = rewrite_ @{theory Isac} e_rew_ord e_rls false @{thm multiply_eq2} eq1;
   2.657 -term2str eq2;
   2.658 -*}
   2.659 -ML {*
   2.660 -(*simplificatoin*)
   2.661 -val SOME (eq3,_) = rewrite_set_ @{theory Isac} false norm_Rational eq2;
   2.662 -term2str eq3; (*?A ?B not simplified*)
   2.663 -*}
   2.664 -ML {*
   2.665 -val SOME fract1 =
   2.666 -  parseNEW ctxt "(z - 1 / 2) * (z - -1 / 4) * (A / (z - 1 / 2) + B / (z - -1 / 4))"; (*A B !*)
   2.667 -val SOME (fract2,_) = rewrite_set_ @{theory Isac} false norm_Rational fract1;
   2.668 -term2str fract2 = "(A + -2 * B + 4 * A * z + 4 * B * z) / 4";
   2.669 -(*term2str fract2 = "A * (1 / 4 + z) + B * (-1 / 2 + z)" would be more traditional*)
   2.670 -*}
   2.671 -ML {*
   2.672 -val (numerator, denominator) = HOLogic.dest_eq eq3;
   2.673 -val eq3' = HOLogic.mk_eq (numerator, fract1); (*A B !*)
   2.674 -term2str eq3';
   2.675 -(*MANDATORY: simplify (and remove denominator) otherwise 3 = 0*)
   2.676 -val SOME (eq3'' ,_) = rewrite_set_ @{theory Isac} false norm_Rational eq3';
   2.677 -term2str eq3'';
   2.678 -*}
   2.679 -ML {*Context.theory_name thy = "Isac"(*==================================================*)*}
   2.680 -
   2.681 -subsubsection {*Build a rule-set for ansatz*}
   2.682 -text {* the "ansatz" rules violate the principle that each variable on 
   2.683 -  the right-hand-side must also occur on the left-hand-side of the rule:
   2.684 -  A, B, etc don't.
   2.685 -  Thus the rewriter marks these variables with question marks: ?A, ?B, etc.
   2.686 -  These question marks can be dropped by "fun drop_questionmarks".
   2.687 -  *}
   2.688 -ML {*
   2.689 -val ansatz_rls = prep_rls(
   2.690 -  Rls {id = "ansatz_rls", preconds = [], rew_ord = ("dummy_ord",dummy_ord), 
   2.691 -	  erls = e_rls, srls = Erls, calc = [],
   2.692 -	  rules = 
   2.693 -	   [Thm ("ansatz2",num_str @{thm ansatz2}),
   2.694 -	    Thm ("multiply_eq2",num_str @{thm multiply_eq2})
   2.695 -	   ], 
   2.696 -	 scr = EmptyScr});
   2.697 -*}
   2.698 -ML {*
   2.699 -val SOME (ttttt,_) = rewrite_set_ @{theory Isac} false ansatz_rls expr';
   2.700 -*}
   2.701 -ML {*
   2.702 -term2str expr' = "3 / ((z - 1 / 2) * (z - -1 / 4))";
   2.703 -term2str ttttt = "?A / (z - 1 / 2) + ?B / (z - -1 / 4)";
   2.704 +  val SOME (eq2,_) = 
   2.705 +    rewrite_ @{theory Isac} e_rew_ord e_rls false 
   2.706 +             @{thm equival_trans_2nd_order} eq1;
   2.707 +  term2str eq2;
   2.708  *}
   2.709  
   2.710 -
   2.711 -subsubsection {*get first koeffizient*}
   2.712 +text{*\noindent We use the existing ruleset \ttfamily norm\_Rational \normalfont 
   2.713 +     for simplifications on expressions.*}
   2.714  
   2.715  ML {*
   2.716 -(*substitude z with the first zeropoint to get A*)
   2.717 -val SOME (eq4_1,_) = rewrite_terms_ @{theory Isac} e_rew_ord e_rls [s_1] eq3'';
   2.718 -term2str eq4_1;
   2.719 -
   2.720 -val SOME (eq4_2,_) = rewrite_set_ @{theory Isac} false norm_Rational eq4_1;
   2.721 -term2str eq4_2;
   2.722 -
   2.723 -val fmz = ["equality (3 = 3 * A / (4::real))", "solveFor A","solutions L"];
   2.724 -val (dI',pI',mI') =("Isac", ["univariate","equation"], ["no_met"]);
   2.725 -(*solve the simple linear equilation for A TODO: return eq, not list of eq*)
   2.726 -val (p,_,fa,nxt,_,pt) = CalcTreeTEST [(fmz, (dI',pI',mI'))];
   2.727 -val (p,_,fa,nxt,_,pt) = me nxt p [] pt; (*Add_Given "equality (3 = 3 * A / 4)"*)
   2.728 -val (p,_,fa,nxt,_,pt) = me nxt p [] pt; (* Add_Given "solveFor A"*)
   2.729 -val (p,_,fa,nxt,_,pt) = me nxt p [] pt; (*Add_Find "solutions L"*)
   2.730 -val (p,_,fa,nxt,_,pt) = me nxt p [] pt; (*Specify_Theory "Isac"*)
   2.731 -val (p,_,fa,nxt,_,pt) = me nxt p [] pt; (*Specify_Problem ["normalize", "polynomial", 
   2.732 -                                          "univariate", "equation"])*)
   2.733 -val (p,_,fa,nxt,_,pt) = me nxt p [] pt; (* Specify_Method ["PolyEq", "normalize_poly"]*)
   2.734 -val (p,_,fa,nxt,_,pt) = me nxt p [] pt; (*Apply_Method ["PolyEq", "normalize_poly"]*)
   2.735 -val (p,_,fa,nxt,_,pt) = me nxt p [] pt; (*Rewrite ("all_left", "PolyEq.all_left")*)
   2.736 -val (p,_,fa,nxt,_,pt) = me nxt p [] pt; (*Rewrite_Set_Inst (["(bdv, A)"], "make_ratpoly_in")*)
   2.737 -val (p,_,fa,nxt,_,pt) = me nxt p [] pt; (*Rewrite_Set "polyeq_simplify"*)
   2.738 -val (p,_,fa,nxt,_,pt) = me nxt p [] pt; (**)
   2.739 -val (p,_,fa,nxt,_,pt) = me nxt p [] pt; (**)
   2.740 -val (p,_,fa,nxt,_,pt) = me nxt p [] pt; (*Add_Given "equality (3 + -3 / 4 * A = 0)"*)
   2.741 -val (p,_,fa,nxt,_,pt) = me nxt p [] pt; (*Add_Given "solveFor A"*)
   2.742 -val (p,_,fa,nxt,_,pt) = me nxt p [] pt; (*Add_Find "solutions A_i"*)
   2.743 -val (p,_,fa,nxt,_,pt) = me nxt p [] pt; (**)
   2.744 -val (p,_,fa,nxt,_,pt) = me nxt p [] pt; (**)
   2.745 -val (p,_,fa,nxt,_,pt) = me nxt p [] pt; (**)
   2.746 -val (p,_,fa,nxt,_,pt) = me nxt p [] pt; (*Apply_Method ["PolyEq", "solve_d1_polyeq_equation"]*)
   2.747 -val (p,_,fa,nxt,_,pt) = me nxt p [] pt; (*Rewrite_Set_Inst (["(bdv, A)"], "d1_polyeq_simplify")*)
   2.748 -val (p,_,fa,nxt,_,pt) = me nxt p [] pt; (*Rewrite_Set "polyeq_simplify"*)
   2.749 -val (p,_,fa,nxt,_,pt) = me nxt p [] pt; (*Rewrite_Set "norm_Rational_parenthesized"*)
   2.750 -val (p,_,fa,nxt,_,pt) = me nxt p [] pt; (*Or_to_List*)
   2.751 -val (p,_,fa,nxt,_,pt) = me nxt p [] pt; (*Check_elementwise "Assumptions"*)
   2.752 -val (p,_,fa,nxt,_,pt) = me nxt p [] pt; (*Check_Postcond ["degree_1", "polynomial", 
   2.753 -                                          "univariate", "equation"]*)
   2.754 -val (p,_,fa,nxt,_,pt) = me nxt p [] pt; (*Check_Postcond ["normalize", "polynomial", 
   2.755 -                                          "univariate", "equation"]*)
   2.756 -val (p,_,fa,nxt,_,pt) = me nxt p [] pt; (*End_Proof'*)
   2.757 -f2str fa;
   2.758 +  val SOME (eq3,_) = rewrite_set_ @{theory Isac} false norm_Rational eq2;
   2.759 +  term2str eq3;
   2.760 +  (*
   2.761 +   * ?A ?B not simplified
   2.762 +   *)
   2.763  *}
   2.764  
   2.765 -subsubsection {*get second koeffizient*}
   2.766 +text{*\noindent In Example~\ref{eg:gap} of my thesis I'm describin a problem about
   2.767 +      simplifications. The problem that we would like to have only a specific degree
   2.768 +      of simplification occours right here, in the next step.*}
   2.769 +
   2.770 +ML {*
   2.771 +  val SOME fract1 =
   2.772 +    parseNEW ctxt "(z - 1/2)*(z - -1/4) * (A/(z - 1/2) + B/(z - -1/4))";
   2.773 +  (*
   2.774 +   * A B !
   2.775 +   *)
   2.776 +  val SOME (fract2,_) = 
   2.777 +    rewrite_set_ @{theory Isac} false norm_Rational fract1;
   2.778 +  term2str fract2 = "(A + -2 * B + 4 * A * z + 4 * B * z) / 4";
   2.779 +  (*
   2.780 +   * term2str fract2 = "A * (1 / 4 + z) + B * (-1 / 2 + z)" 
   2.781 +   * would be more traditional...
   2.782 +   *)
   2.783 +*}
   2.784 +
   2.785 +text{*\noindent We walk around this problem by generating our new equation first.*}
   2.786 +
   2.787 +ML {*
   2.788 +  val (numerator, denominator) = HOLogic.dest_eq eq3;
   2.789 +  val eq3' = HOLogic.mk_eq (numerator, fract1);
   2.790 +  (*
   2.791 +   * A B !
   2.792 +   *)
   2.793 +  term2str eq3';
   2.794 +  (*
   2.795 +   * MANDATORY: simplify (and remove denominator) otherwise 3 = 0
   2.796 +   *)
   2.797 +  val SOME (eq3'' ,_) = 
   2.798 +    rewrite_set_ @{theory Isac} false norm_Rational eq3';
   2.799 +  term2str eq3'';
   2.800 +*}
   2.801 +
   2.802 +text{*\noindent Still working at {\sisac}\ldots*}
   2.803 +
   2.804 +ML {* Context.theory_name thy = "Isac" *}
   2.805 +
   2.806 +subsubsection {*Build a Rule-Set for the Ansatz*}
   2.807 +text {*\noindent The \emph{ansatz} rules violate the principle that each
   2.808 +       variable on the right-hand-side must also occur on the
   2.809 +       left-hand-side of the rule: A, B, etc. don't do that. Thus the
   2.810 +       rewriter marks these variables with question marks: ?A, ?B, etc.
   2.811 +       These question marks can be dropped by \ttfamily fun
   2.812 +       drop\_questionmarks\normalfont.*}
   2.813 +       
   2.814 +ML {*
   2.815 +  val ansatz_rls = prep_rls(
   2.816 +    Rls {id = "ansatz_rls", preconds = [], rew_ord = ("dummy_ord",dummy_ord),
   2.817 +      erls = e_rls, srls = Erls, calc = [],
   2.818 +      rules = [
   2.819 +        Thm ("ansatz_2nd_order",num_str @{thm ansatz_2nd_order}),
   2.820 +        Thm ("equival_trans_2nd_order",num_str @{thm equival_trans_2nd_order})
   2.821 +              ], 
   2.822 +      scr = EmptyScr});
   2.823 +*}
   2.824 +
   2.825 +text{*\noindent We apply the ruleset\lodts*}
   2.826 +
   2.827 +ML {*
   2.828 +  val SOME (ttttt,_) = 
   2.829 +    rewrite_set_ @{theory Isac} false ansatz_rls expr';
   2.830 +*}
   2.831 +
   2.832 +text{*\noindent And check the output\ldots*}
   2.833 +
   2.834 +ML {*
   2.835 +  term2str expr' = "3 / ((z - 1 / 2) * (z - -1 / 4))";
   2.836 +  term2str ttttt = "?A / (z - 1 / 2) + ?B / (z - -1 / 4)";
   2.837 +*}
   2.838 +
   2.839 +subsubsection {*Get the First Koeffizient*}
   2.840 +
   2.841 +text{*\noindent Now it's up to get the two koeffizients A and B, which will be
   2.842 +      the numerators of our partial fractions. Continiue following up the 
   2.843 +      Calculation in Section~\ref{sec:calc:ztrans} Subproblem~1.*}
   2.844 +      
   2.845 +text{*\noindent To get the first koeffizient we substitude $z$ with the first
   2.846 +      zeropoint we determined in section~\ref{sec:solveq}.*}
   2.847 +
   2.848 +ML {*
   2.849 +  val SOME (eq4_1,_) =
   2.850 +    rewrite_terms_ @{theory Isac} e_rew_ord e_rls [s_1] eq3'';
   2.851 +  term2str eq4_1;
   2.852 +  val SOME (eq4_2,_) =
   2.853 +    rewrite_set_ @{theory Isac} false norm_Rational eq4_1;
   2.854 +  term2str eq4_2;
   2.855 +
   2.856 +  val fmz = ["equality (3=3*A/(4::real))", "solveFor A","solutions L"];
   2.857 +  val (dI',pI',mI') =("Isac", ["univariate","equation"], ["no_met"]);
   2.858 +  (*
   2.859 +   * Solve the simple linear equilation for A TODO:
   2.860 +   * Return eq, not list of eq's
   2.861 +   *)
   2.862 +  val (p,_,fa,nxt,_,pt) = CalcTreeTEST [(fmz, (dI',pI',mI'))];
   2.863 +  val (p,_,fa,nxt,_,pt) = me nxt p [] pt;
   2.864 +    (*Add_Given "equality (3=3*A/4)"*)
   2.865 +  val (p,_,fa,nxt,_,pt) = me nxt p [] pt;
   2.866 +    (*Add_Given "solveFor A"*)
   2.867 +  val (p,_,fa,nxt,_,pt) = me nxt p [] pt; 
   2.868 +    (*Add_Find "solutions L"*)
   2.869 +  val (p,_,fa,nxt,_,pt) = me nxt p [] pt;
   2.870 +    (*Specify_Theory "Isac"*)
   2.871 +  val (p,_,fa,nxt,_,pt) = me nxt p [] pt;
   2.872 +    (*Specify_Problem ["normalize","polynomial",
   2.873 +                       "univariate","equation"])*)
   2.874 +  val (p,_,fa,nxt,_,pt) = me nxt p [] pt;
   2.875 +    (* Specify_Method["PolyEq","normalize_poly"]*)
   2.876 +  val (p,_,fa,nxt,_,pt) = me nxt p [] pt;
   2.877 +    (*Apply_Method["PolyEq","normalize_poly"]*)
   2.878 +  val (p,_,fa,nxt,_,pt) = me nxt p [] pt;
   2.879 +    (*Rewrite ("all_left","PolyEq.all_left")*)
   2.880 +  val (p,_,fa,nxt,_,pt) = me nxt p [] pt;
   2.881 +    (*Rewrite_Set_Inst(["(bdv,A)"],"make_ratpoly_in")*)
   2.882 +  val (p,_,fa,nxt,_,pt) = me nxt p [] pt;
   2.883 +    (*Rewrite_Set "polyeq_simplify"*)
   2.884 +  val (p,_,fa,nxt,_,pt) = me nxt p [] pt; 
   2.885 +  val (p,_,fa,nxt,_,pt) = me nxt p [] pt; 
   2.886 +  val (p,_,fa,nxt,_,pt) = me nxt p [] pt;
   2.887 +    (*Add_Given "equality (3 + -3 / 4 * A =0)"*)
   2.888 +  val (p,_,fa,nxt,_,pt) = me nxt p [] pt;
   2.889 +    (*Add_Given "solveFor A"*)
   2.890 +  val (p,_,fa,nxt,_,pt) = me nxt p [] pt;
   2.891 +    (*Add_Find "solutions A_i"*)
   2.892 +  val (p,_,fa,nxt,_,pt) = me nxt p [] pt; 
   2.893 +  val (p,_,fa,nxt,_,pt) = me nxt p [] pt; 
   2.894 +  val (p,_,fa,nxt,_,pt) = me nxt p [] pt; 
   2.895 +  val (p,_,fa,nxt,_,pt) = me nxt p [] pt; 
   2.896 +    (*Apply_Method ["PolyEq","solve_d1_polyeq_equation"]*)
   2.897 +  val (p,_,fa,nxt,_,pt) = me nxt p [] pt;
   2.898 +    (*Rewrite_Set_Inst(["(bdv,A)"],"d1_polyeq_simplify")*)
   2.899 +  val (p,_,fa,nxt,_,pt) = me nxt p [] pt;
   2.900 +    (*Rewrite_Set "polyeq_simplify"*)
   2.901 +  val (p,_,fa,nxt,_,pt) = me nxt p [] pt;
   2.902 +    (*Rewrite_Set "norm_Rational_parenthesized"*)
   2.903 +  val (p,_,fa,nxt,_,pt) = me nxt p [] pt;
   2.904 +    (*Or_to_List*)
   2.905 +  val (p,_,fa,nxt,_,pt) = me nxt p [] pt;
   2.906 +    (*Check_elementwise "Assumptions"*)
   2.907 +  val (p,_,fa,nxt,_,pt) = me nxt p [] pt;
   2.908 +    (*Check_Postcond ["degree_1","polynomial",
   2.909 +                      "univariate","equation"]*)
   2.910 +  val (p,_,fa,nxt,_,pt) = me nxt p [] pt;
   2.911 +    (*Check_Postcond ["normalize","polynomial",
   2.912 +                      "univariate","equation"]*)
   2.913 +  val (p,_,fa,nxt,_,pt) = me nxt p [] pt;
   2.914 +    (*End_Proof'*)
   2.915 +  f2str fa;
   2.916 +*}
   2.917 +
   2.918 +subsubsection {*Get Second Koeffizient*}
   2.919 +
   2.920 +text{*\noindent With the use of \texttt{thy} we check which theories the 
   2.921 +      interpreter knows.*}
   2.922 +
   2.923  ML {*thy*}
   2.924  
   2.925 +text{*\noindent To get the second koeffizient we substitude $z$ with the second
   2.926 +      zeropoint we determined in section~\ref{sec:solveq}.*}
   2.927 +
   2.928  ML {*
   2.929 -(*substitude z with the second zeropoint to get B*)
   2.930 -val SOME (eq4b_1,_) = rewrite_terms_ @{theory Isac} e_rew_ord e_rls [s_2] eq3'';
   2.931 -term2str eq4b_1;
   2.932 +  val SOME (eq4b_1,_) =
   2.933 +    rewrite_terms_ @{theory Isac} e_rew_ord e_rls [s_2] eq3'';
   2.934 +  term2str eq4b_1;
   2.935 +  val SOME (eq4b_2,_) =
   2.936 +    rewrite_set_ @{theory Isac} false norm_Rational eq4b_1;
   2.937 +  term2str eq4b_2;
   2.938  
   2.939 -val SOME (eq4b_2,_) = rewrite_set_ @{theory Isac} false norm_Rational eq4b_1;
   2.940 -term2str eq4b_2;
   2.941 -*}
   2.942 -ML {*
   2.943 -(*solve the simple linear equilation for B TODO: return eq, not list of eq*)
   2.944 -val fmz = ["equality (3 = -3 * B / (4::real))", "solveFor B","solutions L"];
   2.945 -val (dI',pI',mI') =("Isac", ["univariate","equation"], ["no_met"]);
   2.946 -val (p,_,fb,nxt,_,pt) = CalcTreeTEST [(fmz, (dI',pI',mI'))];
   2.947 -val (p,_,fb,nxt,_,pt) = me nxt p [] pt;
   2.948 -val (p,_,fb,nxt,_,pt) = me nxt p [] pt;
   2.949 -val (p,_,fb,nxt,_,pt) = me nxt p [] pt;
   2.950 -val (p,_,fb,nxt,_,pt) = me nxt p [] pt;
   2.951 -val (p,_,fb,nxt,_,pt) = me nxt p [] pt;
   2.952 -val (p,_,fb,nxt,_,pt) = me nxt p [] pt;
   2.953 -val (p,_,fb,nxt,_,pt) = me nxt p [] pt;
   2.954 -val (p,_,fb,nxt,_,pt) = me nxt p [] pt;
   2.955 -val (p,_,fb,nxt,_,pt) = me nxt p [] pt;
   2.956 -val (p,_,fb,nxt,_,pt) = me nxt p [] pt;
   2.957 -val (p,_,fb,nxt,_,pt) = me nxt p [] pt;
   2.958 -val (p,_,fb,nxt,_,pt) = me nxt p [] pt;
   2.959 -val (p,_,fb,nxt,_,pt) = me nxt p [] pt;
   2.960 -val (p,_,fb,nxt,_,pt) = me nxt p [] pt;
   2.961 -val (p,_,fb,nxt,_,pt) = me nxt p [] pt;
   2.962 -val (p,_,fb,nxt,_,pt) = me nxt p [] pt;
   2.963 -val (p,_,fb,nxt,_,pt) = me nxt p [] pt;
   2.964 -val (p,_,fb,nxt,_,pt) = me nxt p [] pt;
   2.965 -val (p,_,fb,nxt,_,pt) = me nxt p [] pt;
   2.966 -val (p,_,fb,nxt,_,pt) = me nxt p [] pt;
   2.967 -val (p,_,fb,nxt,_,pt) = me nxt p [] pt;
   2.968 -val (p,_,fb,nxt,_,pt) = me nxt p [] pt;
   2.969 -val (p,_,fb,nxt,_,pt) = me nxt p [] pt;
   2.970 -val (p,_,fb,nxt,_,pt) = me nxt p [] pt;
   2.971 -val (p,_,fb,nxt,_,pt) = me nxt p [] pt;
   2.972 -val (p,_,fb,nxt,_,pt) = me nxt p [] pt;
   2.973 -val (p,_,fb,nxt,_,pt) = me nxt p [] pt; 
   2.974 -f2str fb;
   2.975 +  val fmz = ["equality (3= -3*B/(4::real))", "solveFor B","solutions L"];
   2.976 +  val (dI',pI',mI') =("Isac", ["univariate","equation"], ["no_met"]);
   2.977 +  val (p,_,fb,nxt,_,pt) = CalcTreeTEST [(fmz, (dI',pI',mI'))];
   2.978 +  val (p,_,fb,nxt,_,pt) = me nxt p [] pt;
   2.979 +  val (p,_,fb,nxt,_,pt) = me nxt p [] pt;
   2.980 +  val (p,_,fb,nxt,_,pt) = me nxt p [] pt;
   2.981 +  val (p,_,fb,nxt,_,pt) = me nxt p [] pt;
   2.982 +  val (p,_,fb,nxt,_,pt) = me nxt p [] pt;
   2.983 +  val (p,_,fb,nxt,_,pt) = me nxt p [] pt;
   2.984 +  val (p,_,fb,nxt,_,pt) = me nxt p [] pt;
   2.985 +  val (p,_,fb,nxt,_,pt) = me nxt p [] pt;
   2.986 +  val (p,_,fb,nxt,_,pt) = me nxt p [] pt;
   2.987 +  val (p,_,fb,nxt,_,pt) = me nxt p [] pt;
   2.988 +  val (p,_,fb,nxt,_,pt) = me nxt p [] pt;
   2.989 +  val (p,_,fb,nxt,_,pt) = me nxt p [] pt;
   2.990 +  val (p,_,fb,nxt,_,pt) = me nxt p [] pt;
   2.991 +  val (p,_,fb,nxt,_,pt) = me nxt p [] pt;
   2.992 +  val (p,_,fb,nxt,_,pt) = me nxt p [] pt;
   2.993 +  val (p,_,fb,nxt,_,pt) = me nxt p [] pt;
   2.994 +  val (p,_,fb,nxt,_,pt) = me nxt p [] pt;
   2.995 +  val (p,_,fb,nxt,_,pt) = me nxt p [] pt;
   2.996 +  val (p,_,fb,nxt,_,pt) = me nxt p [] pt;
   2.997 +  val (p,_,fb,nxt,_,pt) = me nxt p [] pt;
   2.998 +  val (p,_,fb,nxt,_,pt) = me nxt p [] pt;
   2.999 +  val (p,_,fb,nxt,_,pt) = me nxt p [] pt;
  2.1000 +  val (p,_,fb,nxt,_,pt) = me nxt p [] pt;
  2.1001 +  val (p,_,fb,nxt,_,pt) = me nxt p [] pt;
  2.1002 +  val (p,_,fb,nxt,_,pt) = me nxt p [] pt;
  2.1003 +  val (p,_,fb,nxt,_,pt) = me nxt p [] pt;
  2.1004 +  val (p,_,fb,nxt,_,pt) = me nxt p [] pt; 
  2.1005 +  f2str fb;
  2.1006  *}
  2.1007  
  2.1008 -ML {* (*check koeffizients*)
  2.1009 -if f2str fa = "[A = 4]" then () else error "part.fract. eq4_1";
  2.1010 -if f2str fb = "[B = -4]" then () else error "part.fract. eq4_1";
  2.1011 +text{*\noindent We compare our results with the pre calculated upshot.*}
  2.1012 +
  2.1013 +ML {*
  2.1014 +  if f2str fa = "[A = 4]" then () else error "part.fract. eq4_1";
  2.1015 +  if f2str fb = "[B = -4]" then () else error "part.fract. eq4_1";
  2.1016  *}
  2.1017  
  2.1018 -subsubsection {*substitute expression with solutions*}
  2.1019 -ML {*
  2.1020 -*}
  2.1021 -ML {*thy*}
  2.1022 +section {*Implement the Specification and the Method \label{spec-meth}*}
  2.1023  
  2.1024 -section {*Implement the Specification and the Method \label{spec-meth}*}
  2.1025 -text{*==============================================*}
  2.1026 -subsection{*Define the Field Descriptions for the specification*}
  2.1027 +text{*\noindent Now everything we need for solving the problem has been
  2.1028 +      tested out. We now start by creating new nodes for our methods and
  2.1029 +      further on our new programm in the interpreter.*}
  2.1030 +
  2.1031 +subsection{*Define the Field Descriptions for the 
  2.1032 +            Specification\label{sec:deffdes}*}
  2.1033 +
  2.1034 +text{*\noindent We define the fields \em filterExpression \normalfont and
  2.1035 +      \em stepResponse \normalfont both as quations, they represent the in- and
  2.1036 +      output of the program.*}
  2.1037 +
  2.1038  consts
  2.1039    filterExpression  :: "bool => una"
  2.1040    stepResponse      :: "bool => una"
  2.1041  
  2.1042  subsection{*Define the Specification*}
  2.1043 +
  2.1044 +text{*\noindent The next step is defining the specifications as nodes in the
  2.1045 +      designated part. We have to create the hierachy node by node and start
  2.1046 +      with \em SignalProcessing \normalfont and go on by creating the node
  2.1047 +      \em Z\_Transform\normalfont.*}
  2.1048 +
  2.1049  ML {*
  2.1050 -store_pbt
  2.1051 - (prep_pbt thy "pbl_SP" [] e_pblID
  2.1052 - (["SignalProcessing"], [], e_rls, NONE, []));
  2.1053 -store_pbt
  2.1054 - (prep_pbt thy "pbl_SP_Ztrans" [] e_pblID
  2.1055 - (["Z_Transform","SignalProcessing"], [], e_rls, NONE, []));
  2.1056 +  store_pbt
  2.1057 +   (prep_pbt thy "pbl_SP" [] e_pblID
  2.1058 +   (["SignalProcessing"], [], e_rls, NONE, []));
  2.1059 +  store_pbt
  2.1060 +   (prep_pbt thy "pbl_SP_Ztrans" [] e_pblID
  2.1061 +   (["Z_Transform","SignalProcessing"], [], e_rls, NONE, []));
  2.1062  *}
  2.1063 -ML {*thy*}
  2.1064 +
  2.1065 +text{*\noindent For the suddenly created node we have to define the input
  2.1066 +       and output parameters. We already prepaired their definition in
  2.1067 +       section~\ref{sec:deffdes}.*}
  2.1068 +
  2.1069  ML {*
  2.1070 -store_pbt
  2.1071 - (prep_pbt thy "pbl_SP_Ztrans_inv" [] e_pblID
  2.1072 - (["inverse", "Z_Transform", "SignalProcessing"],
  2.1073 -  [("#Given" ,["filterExpression X_eq"]),
  2.1074 -   ("#Find"  ,["stepResponse n_eq"])
  2.1075 -  ],
  2.1076 -  append_rls "e_rls" e_rls [(*for preds in where_*)], NONE, 
  2.1077 -  [["SignalProcessing","Z_Transform","inverse"]]));
  2.1078 +  store_pbt
  2.1079 +   (prep_pbt thy "pbl_SP_Ztrans_inv" [] e_pblID
  2.1080 +   (["inverse", "Z_Transform", "SignalProcessing"],
  2.1081 +    [("#Given" ,["filterExpression X_eq"]),
  2.1082 +     ("#Find"  ,["stepResponse n_eq"])
  2.1083 +    ],
  2.1084 +    append_rls "e_rls" e_rls [(*for preds in where_*)], NONE, 
  2.1085 +    [["SignalProcessing","Z_Transform","inverse"]]));
  2.1086  
  2.1087 -show_ptyps();
  2.1088 -get_pbt ["inverse","Z_Transform","SignalProcessing"];
  2.1089 +  show_ptyps();
  2.1090 +  get_pbt ["inverse","Z_Transform","SignalProcessing"];
  2.1091  *}
  2.1092  
  2.1093  subsection {*Define Name and Signature for the Method*}
  2.1094 +
  2.1095 +text{*\noindent As a next step we store the definition of our new method as a
  2.1096 +      constant for the interpreter.*}
  2.1097 +
  2.1098  consts
  2.1099    InverseZTransform :: "[bool, bool] => bool"
  2.1100      ("((Script InverseZTransform (_ =))// (_))" 9)
  2.1101  
  2.1102  subsection {*Setup Parent Nodes in Hierarchy of Method*}
  2.1103 +
  2.1104 +text{*\noindent Again we have to generate the nodes step by step, first the
  2.1105 +      parent node and then the originally \em Z\_Transformation 
  2.1106 +      \normalfont node. We have to define both nodes first with an empty script
  2.1107 +      as content.*}
  2.1108 +
  2.1109  ML {*
  2.1110 -store_met
  2.1111 - (prep_met thy "met_SP" [] e_metID
  2.1112 - (["SignalProcessing"], [],
  2.1113 -   {rew_ord'="tless_true", rls'= e_rls, calc = [], srls = e_rls, prls = e_rls,
  2.1114 -    crls = e_rls, nrls = e_rls}, "empty_script"));
  2.1115 -store_met
  2.1116 - (prep_met thy "met_SP_Ztrans" [] e_metID
  2.1117 - (["SignalProcessing", "Z_Transform"], [],
  2.1118 -   {rew_ord'="tless_true", rls'= e_rls, calc = [], srls = e_rls, prls = e_rls,
  2.1119 -    crls = e_rls, nrls = e_rls}, "empty_script"));
  2.1120 +  store_met
  2.1121 +   (prep_met thy "met_SP" [] e_metID
  2.1122 +   (["SignalProcessing"], [],
  2.1123 +     {rew_ord'="tless_true", rls'= e_rls, calc = [], 
  2.1124 +      srls = e_rls, prls = e_rls,
  2.1125 +      crls = e_rls, nrls = e_rls}, "empty_script"));
  2.1126 +  store_met
  2.1127 +   (prep_met thy "met_SP_Ztrans" [] e_metID
  2.1128 +   (["SignalProcessing", "Z_Transform"], [],
  2.1129 +     {rew_ord'="tless_true", rls'= e_rls, calc = [], 
  2.1130 +      srls = e_rls, prls = e_rls,
  2.1131 +      crls = e_rls, nrls = e_rls}, "empty_script"));
  2.1132  *}
  2.1133 +
  2.1134 +text{*\noindent After we generated both nodes, we can fill the containing
  2.1135 +      script we want to implement later. First we define the specifications
  2.1136 +      of the script in e.g. the in- and output.*}
  2.1137 +
  2.1138  ML {*
  2.1139 -store_met
  2.1140 - (prep_met thy "met_SP_Ztrans_inv" [] e_metID
  2.1141 - (["SignalProcessing", "Z_Transform", "inverse"], 
  2.1142 -  [("#Given" ,["filterExpression X_eq"]),
  2.1143 -   ("#Find"  ,["stepResponse n_eq"])
  2.1144 -  ],
  2.1145 -   {rew_ord'="tless_true", rls'= e_rls, calc = [], srls = e_rls, prls = e_rls,
  2.1146 -    crls = e_rls, nrls = e_rls},
  2.1147 -  "empty_script"
  2.1148 - ));
  2.1149 +  store_met
  2.1150 +   (prep_met thy "met_SP_Ztrans_inv" [] e_metID
  2.1151 +   (["SignalProcessing", "Z_Transform", "inverse"], 
  2.1152 +    [("#Given" ,["filterExpression X_eq"]),
  2.1153 +     ("#Find"  ,["stepResponse n_eq"])
  2.1154 +    ],
  2.1155 +     {rew_ord'="tless_true", rls'= e_rls, calc = [], 
  2.1156 +      srls = e_rls, prls = e_rls,
  2.1157 +      crls = e_rls, nrls = e_rls}, "empty_script"));
  2.1158  *}
  2.1159 +
  2.1160 +text{*\noindent After we stored the definition we can start implementing the
  2.1161 +      script itself. As a first try we define only three rows containing one
  2.1162 +      simple operation.*}
  2.1163 +
  2.1164  ML {*
  2.1165 -store_met
  2.1166 - (prep_met thy "met_SP_Ztrans_inv" [] e_metID
  2.1167 - (["SignalProcessing", "Z_Transform", "inverse"], 
  2.1168 -  [("#Given" ,["filterExpression X_eq"]),
  2.1169 -   ("#Find"  ,["stepResponse n_eq"])
  2.1170 -  ],
  2.1171 -   {rew_ord'="tless_true", rls'= e_rls, calc = [], srls = e_rls, prls = e_rls,
  2.1172 -    crls = e_rls, nrls = e_rls},
  2.1173 -  "Script InverseZTransform (Xeq::bool) =" ^
  2.1174 -  " (let X = Take Xeq;" ^
  2.1175 -  "      X = Rewrite ruleZY False X" ^
  2.1176 -  "  in X)"
  2.1177 - ));
  2.1178 +  store_met
  2.1179 +   (prep_met thy "met_SP_Ztrans_inv" [] e_metID
  2.1180 +   (["SignalProcessing", "Z_Transform", "inverse"], 
  2.1181 +    [("#Given" ,["filterExpression X_eq"]),
  2.1182 +     ("#Find"  ,["stepResponse n_eq"])
  2.1183 +    ],
  2.1184 +     {rew_ord'="tless_true", rls'= e_rls, calc = [], 
  2.1185 +      srls = e_rls, prls = e_rls,
  2.1186 +      crls = e_rls, nrls = e_rls},
  2.1187 +        "Script InverseZTransform (Xeq::bool) =" ^
  2.1188 +        " (let X = Take Xeq;" ^
  2.1189 +        "      X = Rewrite ruleZY False X" ^
  2.1190 +        "  in X)"));
  2.1191  *}
  2.1192 +
  2.1193 +text{*\noindent Check if the method has been stored correctly\ldots*}
  2.1194 +
  2.1195  ML {*
  2.1196 -show_mets();
  2.1197 +  show_mets(); 
  2.1198  *}
  2.1199 +
  2.1200 +text{*\noindent If yes we can get the method by steping backwards through
  2.1201 +      the hierachy.*}
  2.1202 +
  2.1203  ML {*
  2.1204 -get_met ["SignalProcessing","Z_Transform","inverse"];
  2.1205 +  get_met ["SignalProcessing","Z_Transform","inverse"];
  2.1206  *}
  2.1207  
  2.1208  section {*Program in CTP-based language \label{prog-steps}*}
  2.1209 -text{*=================================*}
  2.1210 +
  2.1211 +text{*\noindent *}
  2.1212 +
  2.1213  subsection {*Stepwise extend Program*}
  2.1214  ML {*
  2.1215  val str = 
     3.1 --- a/test/Tools/isac/ADDTESTS/course/SignalProcess/document/Build_Inverse_Z_Transform.tex	Tue Feb 14 22:55:03 2012 +0100
     3.2 +++ b/test/Tools/isac/ADDTESTS/course/SignalProcess/document/Build_Inverse_Z_Transform.tex	Wed Feb 15 18:35:41 2012 +0100
     3.3 @@ -31,8 +31,8 @@
     3.4    \textbf{ATTENTION WITH NAMES OF IDENTIFIERS WHEN GOING INTO INTERNALS}
     3.5    \end{center}
     3.6    Here in this theory there are the internal names twice, for instance we have
     3.7 -  \ttfamily (Thm.derivation\_name \isa{rule{\isadigit{1}}} = "Build\_Inverse\_Z\_Transform.rule1") = true;
     3.8 -  \normalfont
     3.9 +  \ttfamily (Thm.derivation\_name \isa{rule{\isadigit{1}}} = 
    3.10 +  "Build\_Inverse\_Z\_Transform.rule1") = true; \normalfont
    3.11    but actually in us will be \ttfamily Inverse\_Z\_Transform.rule1 \normalfont%
    3.12  \end{isamarkuptext}%
    3.13  \isamarkuptrue%
    3.14 @@ -325,6 +325,12 @@
    3.15  }
    3.16  \isamarkuptrue%
    3.17  %
    3.18 +\begin{isamarkuptext}%
    3.19 +\noindent We try two different notations and check which of them 
    3.20 +       isabelle can handle best.%
    3.21 +\end{isamarkuptext}%
    3.22 +\isamarkuptrue%
    3.23 +%
    3.24  \isadelimML
    3.25  %
    3.26  \endisadelimML
    3.27 @@ -490,10 +496,10 @@
    3.28  \noindent With the above definition we run into problems when we parse
    3.29          the Script \texttt{InverseZTransform}. This leads to \em ambiguous
    3.30          parse trees. \normalfont We avoid this by moving the definition
    3.31 -        to \ttfamily Rational.thy \normalfont and re-building Isac.
    3.32 +        to \ttfamily Rational.thy \normalfont and re-building {\sisac}.
    3.33          \par \noindent ATTENTION: From now on \ttfamily 
    3.34          Build\_Inverse\_Z\_Transform \normalfont mimics a build from scratch;
    3.35 -        it only works due to re-building Isac several times (indicated 
    3.36 +        it only works due to re-building {\sisac} several times (indicated 
    3.37          explicityl).%
    3.38  \end{isamarkuptext}%
    3.39  \isamarkuptrue%
    3.40 @@ -511,8 +517,8 @@
    3.41  \ {\isaliteral{2A}{\isacharasterisk}}{\isaliteral{29}{\isacharparenright}}\isanewline
    3.42  fun\ eval{\isaliteral{5F}{\isacharunderscore}}get{\isaliteral{5F}{\isacharunderscore}}denominator\ {\isaliteral{28}{\isacharparenleft}}thmid{\isaliteral{3A}{\isacharcolon}}string{\isaliteral{29}{\isacharparenright}}\ {\isaliteral{5F}{\isacharunderscore}}\ \isanewline
    3.43  		\ \ \ \ \ \ {\isaliteral{28}{\isacharparenleft}}t\ as\ Const\ {\isaliteral{28}{\isacharparenleft}}{\isaliteral{22}{\isachardoublequote}}Rational{\isaliteral{2E}{\isachardot}}get{\isaliteral{5F}{\isacharunderscore}}denominator{\isaliteral{22}{\isachardoublequote}}{\isaliteral{2C}{\isacharcomma}}\ {\isaliteral{5F}{\isacharunderscore}}{\isaliteral{29}{\isacharparenright}}\ {\isaliteral{24}{\isachardollar}}\isanewline
    3.44 -\ \ \ \ \ \ \ \ \ \ \ \ \ \ {\isaliteral{28}{\isacharparenleft}}Const\ {\isaliteral{28}{\isacharparenleft}}{\isaliteral{22}{\isachardoublequote}}Rings{\isaliteral{2E}{\isachardot}}inverse{\isaliteral{5F}{\isacharunderscore}}class{\isaliteral{2E}{\isachardot}}divide{\isaliteral{22}{\isachardoublequote}}{\isaliteral{2C}{\isacharcomma}}\ {\isaliteral{5F}{\isacharunderscore}}{\isaliteral{29}{\isacharparenright}}\ {\isaliteral{24}{\isachardollar}}\ num\ {\isaliteral{24}{\isachardollar}}\isanewline
    3.45 -\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ denom{\isaliteral{29}{\isacharparenright}}{\isaliteral{29}{\isacharparenright}}\ thy\ {\isaliteral{3D}{\isacharequal}}\ \isanewline
    3.46 +\ \ \ \ \ \ \ \ \ \ \ \ \ \ {\isaliteral{28}{\isacharparenleft}}Const\ {\isaliteral{28}{\isacharparenleft}}{\isaliteral{22}{\isachardoublequote}}Rings{\isaliteral{2E}{\isachardot}}inverse{\isaliteral{5F}{\isacharunderscore}}class{\isaliteral{2E}{\isachardot}}divide{\isaliteral{22}{\isachardoublequote}}{\isaliteral{2C}{\isacharcomma}}\ {\isaliteral{5F}{\isacharunderscore}}{\isaliteral{29}{\isacharparenright}}\ {\isaliteral{24}{\isachardollar}}num\ \isanewline
    3.47 +\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ {\isaliteral{24}{\isachardollar}}denom{\isaliteral{29}{\isacharparenright}}{\isaliteral{29}{\isacharparenright}}\ thy\ {\isaliteral{3D}{\isacharequal}}\ \isanewline
    3.48  \ \ \ \ \ \ \ \ SOME\ {\isaliteral{28}{\isacharparenleft}}mk{\isaliteral{5F}{\isacharunderscore}}thmid\ thmid\ {\isaliteral{22}{\isachardoublequote}}{\isaliteral{22}{\isachardoublequote}}\ \isanewline
    3.49  \ \ \ \ \ \ \ \ \ \ \ \ {\isaliteral{28}{\isacharparenleft}}Print{\isaliteral{5F}{\isacharunderscore}}Mode{\isaliteral{2E}{\isachardot}}setmp\ {\isaliteral{5B}{\isacharbrackleft}}{\isaliteral{5D}{\isacharbrackright}}\ \isanewline
    3.50  \ \ \ \ \ \ \ \ \ \ \ \ \ \ {\isaliteral{28}{\isacharparenleft}}Syntax{\isaliteral{2E}{\isachardot}}string{\isaliteral{5F}{\isacharunderscore}}of{\isaliteral{5F}{\isacharunderscore}}term\ {\isaliteral{28}{\isacharparenleft}}thy{\isadigit{2}}ctxt\ thy{\isaliteral{29}{\isacharparenright}}{\isaliteral{29}{\isacharparenright}}\ denom{\isaliteral{29}{\isacharparenright}}\ {\isaliteral{22}{\isachardoublequote}}{\isaliteral{22}{\isachardoublequote}}{\isaliteral{2C}{\isacharcomma}}\ \isanewline
    3.51 @@ -527,12 +533,15 @@
    3.52  \endisadelimML
    3.53  %
    3.54  \begin{isamarkuptext}%
    3.55 -tests of eval_get_denominator see test/Knowledge/rational.sml%
    3.56 +\noindent For the tests of \ttfamily eval\_get\_denominator \normalfont
    3.57 +        see \ttfamily test/Knowledge/rational.sml\normalfont%
    3.58  \end{isamarkuptext}%
    3.59  \isamarkuptrue%
    3.60  %
    3.61  \begin{isamarkuptext}%
    3.62 -get numerator should also become a constant for the isabelle parser:%
    3.63 +\noindent \ttfamily get\_numerator \normalfont should also become a
    3.64 +        constant for the isabelle parser, follow up the \texttt{const}
    3.65 +        decleration above.%
    3.66  \end{isamarkuptext}%
    3.67  \isamarkuptrue%
    3.68  %
    3.69 @@ -543,12 +552,17 @@
    3.70  \isatagML
    3.71  \isacommand{ML}\isamarkupfalse%
    3.72  \ {\isaliteral{7B2A}{\isacharverbatimopen}}\isanewline
    3.73 +{\isaliteral{28}{\isacharparenleft}}{\isaliteral{2A}{\isacharasterisk}}\isanewline
    3.74 +\ {\isaliteral{2A}{\isacharasterisk}}{\isaliteral{28}{\isacharparenleft}}{\isaliteral{22}{\isachardoublequote}}get{\isaliteral{5F}{\isacharunderscore}}numerator{\isaliteral{22}{\isachardoublequote}}{\isaliteral{2C}{\isacharcomma}}\isanewline
    3.75 +\ {\isaliteral{2A}{\isacharasterisk}}\ \ {\isaliteral{28}{\isacharparenleft}}{\isaliteral{22}{\isachardoublequote}}Rational{\isaliteral{2E}{\isachardot}}get{\isaliteral{5F}{\isacharunderscore}}numerator{\isaliteral{22}{\isachardoublequote}}{\isaliteral{2C}{\isacharcomma}}\ eval{\isaliteral{5F}{\isacharunderscore}}get{\isaliteral{5F}{\isacharunderscore}}numerator\ {\isaliteral{22}{\isachardoublequote}}{\isaliteral{22}{\isachardoublequote}}{\isaliteral{29}{\isacharparenright}}{\isaliteral{29}{\isacharparenright}}\isanewline
    3.76 +\ {\isaliteral{2A}{\isacharasterisk}}{\isaliteral{29}{\isacharparenright}}\isanewline
    3.77  fun\ eval{\isaliteral{5F}{\isacharunderscore}}get{\isaliteral{5F}{\isacharunderscore}}numerator\ {\isaliteral{28}{\isacharparenleft}}thmid{\isaliteral{3A}{\isacharcolon}}string{\isaliteral{29}{\isacharparenright}}\ {\isaliteral{5F}{\isacharunderscore}}\ \isanewline
    3.78  		\ \ \ \ \ \ {\isaliteral{28}{\isacharparenleft}}t\ as\ Const\ {\isaliteral{28}{\isacharparenleft}}{\isaliteral{22}{\isachardoublequote}}Rational{\isaliteral{2E}{\isachardot}}get{\isaliteral{5F}{\isacharunderscore}}numerator{\isaliteral{22}{\isachardoublequote}}{\isaliteral{2C}{\isacharcomma}}\ {\isaliteral{5F}{\isacharunderscore}}{\isaliteral{29}{\isacharparenright}}\ {\isaliteral{24}{\isachardollar}}\isanewline
    3.79  \ \ \ \ \ \ \ \ \ \ \ \ \ \ {\isaliteral{28}{\isacharparenleft}}Const\ {\isaliteral{28}{\isacharparenleft}}{\isaliteral{22}{\isachardoublequote}}Rings{\isaliteral{2E}{\isachardot}}inverse{\isaliteral{5F}{\isacharunderscore}}class{\isaliteral{2E}{\isachardot}}divide{\isaliteral{22}{\isachardoublequote}}{\isaliteral{2C}{\isacharcomma}}\ {\isaliteral{5F}{\isacharunderscore}}{\isaliteral{29}{\isacharparenright}}\ {\isaliteral{24}{\isachardollar}}num\isanewline
    3.80  \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ {\isaliteral{24}{\isachardollar}}denom\ {\isaliteral{29}{\isacharparenright}}{\isaliteral{29}{\isacharparenright}}\ thy\ {\isaliteral{3D}{\isacharequal}}\ \isanewline
    3.81  \ \ \ \ \ \ \ \ SOME\ {\isaliteral{28}{\isacharparenleft}}mk{\isaliteral{5F}{\isacharunderscore}}thmid\ thmid\ {\isaliteral{22}{\isachardoublequote}}{\isaliteral{22}{\isachardoublequote}}\ \isanewline
    3.82 -\ \ \ \ \ \ \ \ \ \ \ \ {\isaliteral{28}{\isacharparenleft}}Print{\isaliteral{5F}{\isacharunderscore}}Mode{\isaliteral{2E}{\isachardot}}setmp\ {\isaliteral{5B}{\isacharbrackleft}}{\isaliteral{5D}{\isacharbrackright}}\ {\isaliteral{28}{\isacharparenleft}}Syntax{\isaliteral{2E}{\isachardot}}string{\isaliteral{5F}{\isacharunderscore}}of{\isaliteral{5F}{\isacharunderscore}}term\ {\isaliteral{28}{\isacharparenleft}}thy{\isadigit{2}}ctxt\ thy{\isaliteral{29}{\isacharparenright}}{\isaliteral{29}{\isacharparenright}}\ num{\isaliteral{29}{\isacharparenright}}\ {\isaliteral{22}{\isachardoublequote}}{\isaliteral{22}{\isachardoublequote}}{\isaliteral{2C}{\isacharcomma}}\ \isanewline
    3.83 +\ \ \ \ \ \ \ \ \ \ \ \ {\isaliteral{28}{\isacharparenleft}}Print{\isaliteral{5F}{\isacharunderscore}}Mode{\isaliteral{2E}{\isachardot}}setmp\ {\isaliteral{5B}{\isacharbrackleft}}{\isaliteral{5D}{\isacharbrackright}}\ \isanewline
    3.84 +\ \ \ \ \ \ \ \ \ \ \ \ \ \ {\isaliteral{28}{\isacharparenleft}}Syntax{\isaliteral{2E}{\isachardot}}string{\isaliteral{5F}{\isacharunderscore}}of{\isaliteral{5F}{\isacharunderscore}}term\ {\isaliteral{28}{\isacharparenleft}}thy{\isadigit{2}}ctxt\ thy{\isaliteral{29}{\isacharparenright}}{\isaliteral{29}{\isacharparenright}}\ num{\isaliteral{29}{\isacharparenright}}\ {\isaliteral{22}{\isachardoublequote}}{\isaliteral{22}{\isachardoublequote}}{\isaliteral{2C}{\isacharcomma}}\ \isanewline
    3.85  	\ \ \ \ \ \ \ \ \ \ Trueprop\ {\isaliteral{24}{\isachardollar}}\ {\isaliteral{28}{\isacharparenleft}}mk{\isaliteral{5F}{\isacharunderscore}}equality\ {\isaliteral{28}{\isacharparenleft}}t{\isaliteral{2C}{\isacharcomma}}\ num{\isaliteral{29}{\isacharparenright}}{\isaliteral{29}{\isacharparenright}}{\isaliteral{29}{\isacharparenright}}\isanewline
    3.86  \ \ {\isaliteral{7C}{\isacharbar}}\ eval{\isaliteral{5F}{\isacharunderscore}}get{\isaliteral{5F}{\isacharunderscore}}numerator\ {\isaliteral{5F}{\isacharunderscore}}\ {\isaliteral{5F}{\isacharunderscore}}\ {\isaliteral{5F}{\isacharunderscore}}\ {\isaliteral{5F}{\isacharunderscore}}\ {\isaliteral{3D}{\isacharequal}}\ NONE{\isaliteral{3B}{\isacharsemicolon}}\ \isanewline
    3.87  {\isaliteral{2A7D}{\isacharverbatimclose}}%
    3.88 @@ -560,18 +574,27 @@
    3.89  \endisadelimML
    3.90  %
    3.91  \begin{isamarkuptext}%
    3.92 -We discovered severell problems by implementing the get_numerator function.
    3.93 -Remember when putting new functions to Isac, put them in a thy file and rebuild 
    3.94 -isac, also put them in the ruleset for the script!%
    3.95 +\noindent We discovered severell problems by implementing the 
    3.96 +       \ttfamily get\_numerator \normalfont function. Remember when 
    3.97 +       putting new functions to {\sisac}, put them in a thy file and rebuild 
    3.98 +       {\sisac}, also put them in the ruleset for the script!%
    3.99  \end{isamarkuptext}%
   3.100  \isamarkuptrue%
   3.101  %
   3.102 -\isamarkupsubsection{solve equation%
   3.103 +\isamarkupsubsection{Solve Equation\label{sec:solveq}%
   3.104  }
   3.105  \isamarkuptrue%
   3.106  %
   3.107  \begin{isamarkuptext}%
   3.108 -this type of equation if too general for the present program%
   3.109 +\noindent We have to find the zeros of the term, therefor we use our
   3.110 +       \ttfamily get\_denominator \normalfont function from the step before
   3.111 +       and try to solve the second order eqeuation. (Follow up the Calculation
   3.112 +       in Section~\ref{sec:calc:ztrans} Subproblem 2) Note: This type of
   3.113 +       equation is too general for the present program.
   3.114 +       \par We know that this equation can be categorized as \em univariate
   3.115 +       equation \normalfont and solved with the functions {\sisac} provides
   3.116 +       for this equation type. Later on {\sisac} should determine the type
   3.117 +       of the given equation self.%
   3.118  \end{isamarkuptext}%
   3.119  \isamarkuptrue%
   3.120  %
   3.121 @@ -582,11 +605,11 @@
   3.122  \isatagML
   3.123  \isacommand{ML}\isamarkupfalse%
   3.124  \ {\isaliteral{7B2A}{\isacharverbatimopen}}\isanewline
   3.125 -{\isaliteral{22}{\isachardoublequote}}{\isaliteral{2D}{\isacharminus}}{\isaliteral{2D}{\isacharminus}}{\isaliteral{2D}{\isacharminus}}{\isaliteral{2D}{\isacharminus}}{\isaliteral{2D}{\isacharminus}}{\isaliteral{2D}{\isacharminus}}{\isaliteral{2D}{\isacharminus}}{\isaliteral{2D}{\isacharminus}}{\isaliteral{2D}{\isacharminus}}{\isaliteral{2D}{\isacharminus}}{\isaliteral{2D}{\isacharminus}}\ Minisubplb{\isaliteral{2F}{\isacharslash}}{\isadigit{1}}{\isadigit{0}}{\isadigit{0}}{\isaliteral{2D}{\isacharminus}}init{\isaliteral{2D}{\isacharminus}}rootp\ {\isaliteral{28}{\isacharparenleft}}{\isaliteral{2A}{\isacharasterisk}}OK{\isaliteral{2A}{\isacharasterisk}}{\isaliteral{29}{\isacharparenright}}bl{\isaliteral{2E}{\isachardot}}sml\ {\isaliteral{2D}{\isacharminus}}{\isaliteral{2D}{\isacharminus}}{\isaliteral{2D}{\isacharminus}}{\isaliteral{2D}{\isacharminus}}{\isaliteral{2D}{\isacharminus}}{\isaliteral{2D}{\isacharminus}}{\isaliteral{2D}{\isacharminus}}{\isaliteral{2D}{\isacharminus}}{\isaliteral{2D}{\isacharminus}}{\isaliteral{2D}{\isacharminus}}{\isaliteral{2D}{\isacharminus}}{\isaliteral{2D}{\isacharminus}}{\isaliteral{2D}{\isacharminus}}{\isaliteral{2D}{\isacharminus}}{\isaliteral{2D}{\isacharminus}}{\isaliteral{2D}{\isacharminus}}{\isaliteral{2D}{\isacharminus}}{\isaliteral{2D}{\isacharminus}}{\isaliteral{2D}{\isacharminus}}{\isaliteral{2D}{\isacharminus}}{\isaliteral{2D}{\isacharminus}}{\isaliteral{22}{\isachardoublequote}}{\isaliteral{3B}{\isacharsemicolon}}\isanewline
   3.126 -val\ denominator\ {\isaliteral{3D}{\isacharequal}}\ parseNEW\ ctxt\ {\isaliteral{22}{\isachardoublequote}}z{\isaliteral{5E}{\isacharcircum}}{\isaliteral{5E}{\isacharcircum}}{\isaliteral{5E}{\isacharcircum}}{\isadigit{2}}\ {\isaliteral{2D}{\isacharminus}}\ {\isadigit{1}}{\isaliteral{2F}{\isacharslash}}{\isadigit{4}}{\isaliteral{2A}{\isacharasterisk}}z\ {\isaliteral{2D}{\isacharminus}}\ {\isadigit{1}}{\isaliteral{2F}{\isacharslash}}{\isadigit{8}}\ {\isaliteral{3D}{\isacharequal}}\ {\isadigit{0}}{\isaliteral{22}{\isachardoublequote}}{\isaliteral{3B}{\isacharsemicolon}}\isanewline
   3.127 -val\ fmz\ {\isaliteral{3D}{\isacharequal}}\ {\isaliteral{5B}{\isacharbrackleft}}{\isaliteral{22}{\isachardoublequote}}equality\ {\isaliteral{28}{\isacharparenleft}}z{\isaliteral{5E}{\isacharcircum}}{\isaliteral{5E}{\isacharcircum}}{\isaliteral{5E}{\isacharcircum}}{\isadigit{2}}\ {\isaliteral{2D}{\isacharminus}}\ {\isadigit{1}}{\isaliteral{2F}{\isacharslash}}{\isadigit{4}}{\isaliteral{2A}{\isacharasterisk}}z\ {\isaliteral{2D}{\isacharminus}}\ {\isadigit{1}}{\isaliteral{2F}{\isacharslash}}{\isadigit{8}}\ {\isaliteral{3D}{\isacharequal}}\ {\isaliteral{28}{\isacharparenleft}}{\isadigit{0}}{\isaliteral{3A}{\isacharcolon}}{\isaliteral{3A}{\isacharcolon}}real{\isaliteral{29}{\isacharparenright}}{\isaliteral{29}{\isacharparenright}}{\isaliteral{22}{\isachardoublequote}}{\isaliteral{2C}{\isacharcomma}}\ {\isaliteral{22}{\isachardoublequote}}solveFor\ z{\isaliteral{22}{\isachardoublequote}}{\isaliteral{2C}{\isacharcomma}}{\isaliteral{22}{\isachardoublequote}}solutions\ L{\isaliteral{22}{\isachardoublequote}}{\isaliteral{5D}{\isacharbrackright}}{\isaliteral{3B}{\isacharsemicolon}}\isanewline
   3.128 -val\ {\isaliteral{28}{\isacharparenleft}}dI{\isaliteral{27}{\isacharprime}}{\isaliteral{2C}{\isacharcomma}}pI{\isaliteral{27}{\isacharprime}}{\isaliteral{2C}{\isacharcomma}}mI{\isaliteral{27}{\isacharprime}}{\isaliteral{29}{\isacharparenright}}\ {\isaliteral{3D}{\isacharequal}}{\isaliteral{28}{\isacharparenleft}}{\isaliteral{22}{\isachardoublequote}}Isac{\isaliteral{22}{\isachardoublequote}}{\isaliteral{2C}{\isacharcomma}}\ {\isaliteral{5B}{\isacharbrackleft}}{\isaliteral{22}{\isachardoublequote}}univariate{\isaliteral{22}{\isachardoublequote}}{\isaliteral{2C}{\isacharcomma}}{\isaliteral{22}{\isachardoublequote}}equation{\isaliteral{22}{\isachardoublequote}}{\isaliteral{5D}{\isacharbrackright}}{\isaliteral{2C}{\isacharcomma}}\ {\isaliteral{5B}{\isacharbrackleft}}{\isaliteral{22}{\isachardoublequote}}no{\isaliteral{5F}{\isacharunderscore}}met{\isaliteral{22}{\isachardoublequote}}{\isaliteral{5D}{\isacharbrackright}}{\isaliteral{29}{\isacharparenright}}{\isaliteral{3B}{\isacharsemicolon}}\isanewline
   3.129 -{\isaliteral{28}{\isacharparenleft}}{\isaliteral{2A}{\isacharasterisk}}\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ {\isaliteral{5E}{\isacharcircum}}{\isaliteral{5E}{\isacharcircum}}{\isaliteral{5E}{\isacharcircum}}{\isaliteral{5E}{\isacharcircum}}{\isaliteral{5E}{\isacharcircum}}{\isaliteral{5E}{\isacharcircum}}{\isaliteral{5E}{\isacharcircum}}{\isaliteral{5E}{\isacharcircum}}{\isaliteral{5E}{\isacharcircum}}{\isaliteral{5E}{\isacharcircum}}{\isaliteral{5E}{\isacharcircum}}{\isaliteral{5E}{\isacharcircum}}{\isaliteral{5E}{\isacharcircum}}{\isaliteral{5E}{\isacharcircum}}{\isaliteral{5E}{\isacharcircum}}{\isaliteral{5E}{\isacharcircum}}{\isaliteral{5E}{\isacharcircum}}{\isaliteral{5E}{\isacharcircum}}{\isaliteral{5E}{\isacharcircum}}{\isaliteral{5E}{\isacharcircum}}{\isaliteral{5E}{\isacharcircum}}{\isaliteral{5E}{\isacharcircum}}\ TODO{\isaliteral{3A}{\isacharcolon}}\ ISAC\ determines\ type\ of\ eq{\isaliteral{2A}{\isacharasterisk}}{\isaliteral{29}{\isacharparenright}}\isanewline
   3.130 +\ \ val\ denominator\ {\isaliteral{3D}{\isacharequal}}\ parseNEW\ ctxt\ {\isaliteral{22}{\isachardoublequote}}z{\isaliteral{5E}{\isacharcircum}}{\isaliteral{5E}{\isacharcircum}}{\isaliteral{5E}{\isacharcircum}}{\isadigit{2}}\ {\isaliteral{2D}{\isacharminus}}\ {\isadigit{1}}{\isaliteral{2F}{\isacharslash}}{\isadigit{4}}{\isaliteral{2A}{\isacharasterisk}}z\ {\isaliteral{2D}{\isacharminus}}\ {\isadigit{1}}{\isaliteral{2F}{\isacharslash}}{\isadigit{8}}\ {\isaliteral{3D}{\isacharequal}}\ {\isadigit{0}}{\isaliteral{22}{\isachardoublequote}}{\isaliteral{3B}{\isacharsemicolon}}\isanewline
   3.131 +\ \ val\ fmz\ {\isaliteral{3D}{\isacharequal}}\ {\isaliteral{5B}{\isacharbrackleft}}{\isaliteral{22}{\isachardoublequote}}equality\ {\isaliteral{28}{\isacharparenleft}}z{\isaliteral{5E}{\isacharcircum}}{\isaliteral{5E}{\isacharcircum}}{\isaliteral{5E}{\isacharcircum}}{\isadigit{2}}\ {\isaliteral{2D}{\isacharminus}}\ {\isadigit{1}}{\isaliteral{2F}{\isacharslash}}{\isadigit{4}}{\isaliteral{2A}{\isacharasterisk}}z\ {\isaliteral{2D}{\isacharminus}}\ {\isadigit{1}}{\isaliteral{2F}{\isacharslash}}{\isadigit{8}}\ {\isaliteral{3D}{\isacharequal}}\ {\isaliteral{28}{\isacharparenleft}}{\isadigit{0}}{\isaliteral{3A}{\isacharcolon}}{\isaliteral{3A}{\isacharcolon}}real{\isaliteral{29}{\isacharparenright}}{\isaliteral{29}{\isacharparenright}}{\isaliteral{22}{\isachardoublequote}}{\isaliteral{2C}{\isacharcomma}}\isanewline
   3.132 +\ \ \ \ \ \ \ \ \ \ \ \ \ {\isaliteral{22}{\isachardoublequote}}solveFor\ z{\isaliteral{22}{\isachardoublequote}}{\isaliteral{2C}{\isacharcomma}}\isanewline
   3.133 +\ \ \ \ \ \ \ \ \ \ \ \ \ {\isaliteral{22}{\isachardoublequote}}solutions\ L{\isaliteral{22}{\isachardoublequote}}{\isaliteral{5D}{\isacharbrackright}}{\isaliteral{3B}{\isacharsemicolon}}\isanewline
   3.134 +\ \ val\ {\isaliteral{28}{\isacharparenleft}}dI{\isaliteral{27}{\isacharprime}}{\isaliteral{2C}{\isacharcomma}}pI{\isaliteral{27}{\isacharprime}}{\isaliteral{2C}{\isacharcomma}}mI{\isaliteral{27}{\isacharprime}}{\isaliteral{29}{\isacharparenright}}\ {\isaliteral{3D}{\isacharequal}}{\isaliteral{28}{\isacharparenleft}}{\isaliteral{22}{\isachardoublequote}}Isac{\isaliteral{22}{\isachardoublequote}}{\isaliteral{2C}{\isacharcomma}}\ {\isaliteral{5B}{\isacharbrackleft}}{\isaliteral{22}{\isachardoublequote}}univariate{\isaliteral{22}{\isachardoublequote}}{\isaliteral{2C}{\isacharcomma}}{\isaliteral{22}{\isachardoublequote}}equation{\isaliteral{22}{\isachardoublequote}}{\isaliteral{5D}{\isacharbrackright}}{\isaliteral{2C}{\isacharcomma}}\ {\isaliteral{5B}{\isacharbrackleft}}{\isaliteral{22}{\isachardoublequote}}no{\isaliteral{5F}{\isacharunderscore}}met{\isaliteral{22}{\isachardoublequote}}{\isaliteral{5D}{\isacharbrackright}}{\isaliteral{29}{\isacharparenright}}{\isaliteral{3B}{\isacharsemicolon}}\isanewline
   3.135  {\isaliteral{2A7D}{\isacharverbatimclose}}%
   3.136  \endisatagML
   3.137  {\isafoldML}%
   3.138 @@ -596,7 +619,8 @@
   3.139  \endisadelimML
   3.140  %
   3.141  \begin{isamarkuptext}%
   3.142 -Does the Equation Match the Specification ?%
   3.143 +\noindent Check if the given equation matches the specification of this
   3.144 +        quation type.%
   3.145  \end{isamarkuptext}%
   3.146  \isamarkuptrue%
   3.147  %
   3.148 @@ -607,21 +631,7 @@
   3.149  \isatagML
   3.150  \isacommand{ML}\isamarkupfalse%
   3.151  \ {\isaliteral{7B2A}{\isacharverbatimopen}}\isanewline
   3.152 -match{\isaliteral{5F}{\isacharunderscore}}pbl\ fmz\ {\isaliteral{28}{\isacharparenleft}}get{\isaliteral{5F}{\isacharunderscore}}pbt\ {\isaliteral{5B}{\isacharbrackleft}}{\isaliteral{22}{\isachardoublequote}}univariate{\isaliteral{22}{\isachardoublequote}}{\isaliteral{2C}{\isacharcomma}}{\isaliteral{22}{\isachardoublequote}}equation{\isaliteral{22}{\isachardoublequote}}{\isaliteral{5D}{\isacharbrackright}}{\isaliteral{29}{\isacharparenright}}{\isaliteral{3B}{\isacharsemicolon}}\isanewline
   3.153 -{\isaliteral{2A7D}{\isacharverbatimclose}}\isanewline
   3.154 -\isacommand{ML}\isamarkupfalse%
   3.155 -\ {\isaliteral{7B2A}{\isacharverbatimopen}}Context{\isaliteral{2E}{\isachardot}}theory{\isaliteral{5F}{\isacharunderscore}}name\ thy\ {\isaliteral{3D}{\isacharequal}}\ {\isaliteral{22}{\isachardoublequote}}Isac{\isaliteral{22}{\isachardoublequote}}{\isaliteral{28}{\isacharparenleft}}{\isaliteral{2A}{\isacharasterisk}}{\isaliteral{3D}{\isacharequal}}{\isaliteral{3D}{\isacharequal}}{\isaliteral{3D}{\isacharequal}}{\isaliteral{3D}{\isacharequal}}{\isaliteral{3D}{\isacharequal}}{\isaliteral{3D}{\isacharequal}}{\isaliteral{3D}{\isacharequal}}{\isaliteral{3D}{\isacharequal}}{\isaliteral{3D}{\isacharequal}}{\isaliteral{3D}{\isacharequal}}{\isaliteral{3D}{\isacharequal}}{\isaliteral{3D}{\isacharequal}}{\isaliteral{3D}{\isacharequal}}{\isaliteral{3D}{\isacharequal}}{\isaliteral{3D}{\isacharequal}}{\isaliteral{3D}{\isacharequal}}{\isaliteral{3D}{\isacharequal}}{\isaliteral{3D}{\isacharequal}}{\isaliteral{3D}{\isacharequal}}{\isaliteral{3D}{\isacharequal}}{\isaliteral{3D}{\isacharequal}}{\isaliteral{3D}{\isacharequal}}{\isaliteral{3D}{\isacharequal}}{\isaliteral{3D}{\isacharequal}}{\isaliteral{3D}{\isacharequal}}{\isaliteral{3D}{\isacharequal}}{\isaliteral{3D}{\isacharequal}}{\isaliteral{3D}{\isacharequal}}{\isaliteral{3D}{\isacharequal}}{\isaliteral{3D}{\isacharequal}}{\isaliteral{3D}{\isacharequal}}{\isaliteral{3D}{\isacharequal}}{\isaliteral{3D}{\isacharequal}}{\isaliteral{3D}{\isacharequal}}{\isaliteral{3D}{\isacharequal}}{\isaliteral{3D}{\isacharequal}}{\isaliteral{3D}{\isacharequal}}{\isaliteral{3D}{\isacharequal}}{\isaliteral{3D}{\isacharequal}}{\isaliteral{3D}{\isacharequal}}{\isaliteral{3D}{\isacharequal}}{\isaliteral{3D}{\isacharequal}}{\isaliteral{3D}{\isacharequal}}{\isaliteral{3D}{\isacharequal}}{\isaliteral{3D}{\isacharequal}}{\isaliteral{3D}{\isacharequal}}{\isaliteral{3D}{\isacharequal}}{\isaliteral{3D}{\isacharequal}}{\isaliteral{3D}{\isacharequal}}{\isaliteral{3D}{\isacharequal}}{\isaliteral{2A}{\isacharasterisk}}{\isaliteral{29}{\isacharparenright}}{\isaliteral{2A7D}{\isacharverbatimclose}}\isanewline
   3.156 -\isanewline
   3.157 -\isacommand{ML}\isamarkupfalse%
   3.158 -\ {\isaliteral{7B2A}{\isacharverbatimopen}}\isanewline
   3.159 -val\ denominator\ {\isaliteral{3D}{\isacharequal}}\ parseNEW\ ctxt\ {\isaliteral{22}{\isachardoublequote}}{\isaliteral{2D}{\isacharminus}}{\isadigit{1}}\ {\isaliteral{2B}{\isacharplus}}\ {\isaliteral{2D}{\isacharminus}}{\isadigit{2}}\ {\isaliteral{2A}{\isacharasterisk}}\ z\ {\isaliteral{2B}{\isacharplus}}\ {\isadigit{8}}\ {\isaliteral{2A}{\isacharasterisk}}\ z\ {\isaliteral{5E}{\isacharcircum}}{\isaliteral{5E}{\isacharcircum}}{\isaliteral{5E}{\isacharcircum}}\ {\isadigit{2}}\ {\isaliteral{3D}{\isacharequal}}\ {\isadigit{0}}{\isaliteral{22}{\isachardoublequote}}{\isaliteral{3B}{\isacharsemicolon}}\isanewline
   3.160 -val\ fmz\ {\isaliteral{3D}{\isacharequal}}\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ {\isaliteral{28}{\isacharparenleft}}{\isaliteral{2A}{\isacharasterisk}}specification{\isaliteral{2A}{\isacharasterisk}}{\isaliteral{29}{\isacharparenright}}\isanewline
   3.161 -\ \ {\isaliteral{5B}{\isacharbrackleft}}{\isaliteral{22}{\isachardoublequote}}equality\ {\isaliteral{28}{\isacharparenleft}}{\isaliteral{2D}{\isacharminus}}{\isadigit{1}}\ {\isaliteral{2B}{\isacharplus}}\ {\isaliteral{2D}{\isacharminus}}{\isadigit{2}}\ {\isaliteral{2A}{\isacharasterisk}}\ z\ {\isaliteral{2B}{\isacharplus}}\ {\isadigit{8}}\ {\isaliteral{2A}{\isacharasterisk}}\ z\ {\isaliteral{5E}{\isacharcircum}}{\isaliteral{5E}{\isacharcircum}}{\isaliteral{5E}{\isacharcircum}}\ {\isadigit{2}}\ {\isaliteral{3D}{\isacharequal}}\ {\isaliteral{28}{\isacharparenleft}}{\isadigit{0}}{\isaliteral{3A}{\isacharcolon}}{\isaliteral{3A}{\isacharcolon}}real{\isaliteral{29}{\isacharparenright}}{\isaliteral{29}{\isacharparenright}}{\isaliteral{22}{\isachardoublequote}}{\isaliteral{2C}{\isacharcomma}}\ {\isaliteral{28}{\isacharparenleft}}{\isaliteral{2A}{\isacharasterisk}}equality{\isaliteral{2A}{\isacharasterisk}}{\isaliteral{29}{\isacharparenright}}\isanewline
   3.162 -\ \ \ {\isaliteral{22}{\isachardoublequote}}solveFor\ z{\isaliteral{22}{\isachardoublequote}}{\isaliteral{2C}{\isacharcomma}}\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ {\isaliteral{28}{\isacharparenleft}}{\isaliteral{2A}{\isacharasterisk}}bound\ variable{\isaliteral{2A}{\isacharasterisk}}{\isaliteral{29}{\isacharparenright}}\isanewline
   3.163 -\ \ \ {\isaliteral{22}{\isachardoublequote}}solutions\ L{\isaliteral{22}{\isachardoublequote}}{\isaliteral{5D}{\isacharbrackright}}{\isaliteral{3B}{\isacharsemicolon}}\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ {\isaliteral{28}{\isacharparenleft}}{\isaliteral{2A}{\isacharasterisk}}identifier\ for\ solution{\isaliteral{2A}{\isacharasterisk}}{\isaliteral{29}{\isacharparenright}}\isanewline
   3.164 -\isanewline
   3.165 -val\ {\isaliteral{28}{\isacharparenleft}}dI{\isaliteral{27}{\isacharprime}}{\isaliteral{2C}{\isacharcomma}}pI{\isaliteral{27}{\isacharprime}}{\isaliteral{2C}{\isacharcomma}}mI{\isaliteral{27}{\isacharprime}}{\isaliteral{29}{\isacharparenright}}\ {\isaliteral{3D}{\isacharequal}}\isanewline
   3.166 -\ \ {\isaliteral{28}{\isacharparenleft}}{\isaliteral{22}{\isachardoublequote}}Isac{\isaliteral{22}{\isachardoublequote}}{\isaliteral{2C}{\isacharcomma}}\ {\isaliteral{5B}{\isacharbrackleft}}{\isaliteral{22}{\isachardoublequote}}abcFormula{\isaliteral{22}{\isachardoublequote}}{\isaliteral{2C}{\isacharcomma}}{\isaliteral{22}{\isachardoublequote}}degree{\isaliteral{5F}{\isacharunderscore}}{\isadigit{2}}{\isaliteral{22}{\isachardoublequote}}{\isaliteral{2C}{\isacharcomma}}{\isaliteral{22}{\isachardoublequote}}polynomial{\isaliteral{22}{\isachardoublequote}}{\isaliteral{2C}{\isacharcomma}}{\isaliteral{22}{\isachardoublequote}}univariate{\isaliteral{22}{\isachardoublequote}}{\isaliteral{2C}{\isacharcomma}}{\isaliteral{22}{\isachardoublequote}}equation{\isaliteral{22}{\isachardoublequote}}{\isaliteral{5D}{\isacharbrackright}}{\isaliteral{2C}{\isacharcomma}}\ {\isaliteral{5B}{\isacharbrackleft}}{\isaliteral{22}{\isachardoublequote}}no{\isaliteral{5F}{\isacharunderscore}}met{\isaliteral{22}{\isachardoublequote}}{\isaliteral{5D}{\isacharbrackright}}{\isaliteral{29}{\isacharparenright}}{\isaliteral{3B}{\isacharsemicolon}}\isanewline
   3.167 +\ \ match{\isaliteral{5F}{\isacharunderscore}}pbl\ fmz\ {\isaliteral{28}{\isacharparenleft}}get{\isaliteral{5F}{\isacharunderscore}}pbt\ {\isaliteral{5B}{\isacharbrackleft}}{\isaliteral{22}{\isachardoublequote}}univariate{\isaliteral{22}{\isachardoublequote}}{\isaliteral{2C}{\isacharcomma}}{\isaliteral{22}{\isachardoublequote}}equation{\isaliteral{22}{\isachardoublequote}}{\isaliteral{5D}{\isacharbrackright}}{\isaliteral{29}{\isacharparenright}}{\isaliteral{3B}{\isacharsemicolon}}\isanewline
   3.168  {\isaliteral{2A7D}{\isacharverbatimclose}}%
   3.169  \endisatagML
   3.170  {\isafoldML}%
   3.171 @@ -631,7 +641,8 @@
   3.172  \endisadelimML
   3.173  %
   3.174  \begin{isamarkuptext}%
   3.175 -Does the Other Equation Match the Specification ?%
   3.176 +\noindent We switch up to the {\sisac} Context and try to solve the 
   3.177 +       equation with a more specific type definition.%
   3.178  \end{isamarkuptext}%
   3.179  \isamarkuptrue%
   3.180  %
   3.181 @@ -642,7 +653,17 @@
   3.182  \isatagML
   3.183  \isacommand{ML}\isamarkupfalse%
   3.184  \ {\isaliteral{7B2A}{\isacharverbatimopen}}\isanewline
   3.185 -match{\isaliteral{5F}{\isacharunderscore}}pbl\ fmz\ {\isaliteral{28}{\isacharparenleft}}get{\isaliteral{5F}{\isacharunderscore}}pbt\ {\isaliteral{5B}{\isacharbrackleft}}{\isaliteral{22}{\isachardoublequote}}abcFormula{\isaliteral{22}{\isachardoublequote}}{\isaliteral{2C}{\isacharcomma}}{\isaliteral{22}{\isachardoublequote}}degree{\isaliteral{5F}{\isacharunderscore}}{\isadigit{2}}{\isaliteral{22}{\isachardoublequote}}{\isaliteral{2C}{\isacharcomma}}{\isaliteral{22}{\isachardoublequote}}polynomial{\isaliteral{22}{\isachardoublequote}}{\isaliteral{2C}{\isacharcomma}}{\isaliteral{22}{\isachardoublequote}}univariate{\isaliteral{22}{\isachardoublequote}}{\isaliteral{2C}{\isacharcomma}}{\isaliteral{22}{\isachardoublequote}}equation{\isaliteral{22}{\isachardoublequote}}{\isaliteral{5D}{\isacharbrackright}}{\isaliteral{29}{\isacharparenright}}{\isaliteral{3B}{\isacharsemicolon}}\isanewline
   3.186 +\ \ Context{\isaliteral{2E}{\isachardot}}theory{\isaliteral{5F}{\isacharunderscore}}name\ thy\ {\isaliteral{3D}{\isacharequal}}\ {\isaliteral{22}{\isachardoublequote}}Isac{\isaliteral{22}{\isachardoublequote}}{\isaliteral{3B}{\isacharsemicolon}}\isanewline
   3.187 +\ \ val\ denominator\ {\isaliteral{3D}{\isacharequal}}\ parseNEW\ ctxt\ {\isaliteral{22}{\isachardoublequote}}{\isaliteral{2D}{\isacharminus}}{\isadigit{1}}\ {\isaliteral{2B}{\isacharplus}}\ {\isaliteral{2D}{\isacharminus}}{\isadigit{2}}\ {\isaliteral{2A}{\isacharasterisk}}\ z\ {\isaliteral{2B}{\isacharplus}}\ {\isadigit{8}}\ {\isaliteral{2A}{\isacharasterisk}}\ z\ {\isaliteral{5E}{\isacharcircum}}{\isaliteral{5E}{\isacharcircum}}{\isaliteral{5E}{\isacharcircum}}\ {\isadigit{2}}\ {\isaliteral{3D}{\isacharequal}}\ {\isadigit{0}}{\isaliteral{22}{\isachardoublequote}}{\isaliteral{3B}{\isacharsemicolon}}\isanewline
   3.188 +\ \ val\ fmz\ {\isaliteral{3D}{\isacharequal}}\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ {\isaliteral{28}{\isacharparenleft}}{\isaliteral{2A}{\isacharasterisk}}specification{\isaliteral{2A}{\isacharasterisk}}{\isaliteral{29}{\isacharparenright}}\isanewline
   3.189 +\ \ \ \ {\isaliteral{5B}{\isacharbrackleft}}{\isaliteral{22}{\isachardoublequote}}equality\ {\isaliteral{28}{\isacharparenleft}}{\isaliteral{2D}{\isacharminus}}{\isadigit{1}}\ {\isaliteral{2B}{\isacharplus}}\ {\isaliteral{2D}{\isacharminus}}{\isadigit{2}}\ {\isaliteral{2A}{\isacharasterisk}}\ z\ {\isaliteral{2B}{\isacharplus}}\ {\isadigit{8}}\ {\isaliteral{2A}{\isacharasterisk}}\ z\ {\isaliteral{5E}{\isacharcircum}}{\isaliteral{5E}{\isacharcircum}}{\isaliteral{5E}{\isacharcircum}}\ {\isadigit{2}}\ {\isaliteral{3D}{\isacharequal}}\ {\isaliteral{28}{\isacharparenleft}}{\isadigit{0}}{\isaliteral{3A}{\isacharcolon}}{\isaliteral{3A}{\isacharcolon}}real{\isaliteral{29}{\isacharparenright}}{\isaliteral{29}{\isacharparenright}}{\isaliteral{22}{\isachardoublequote}}{\isaliteral{2C}{\isacharcomma}}{\isaliteral{28}{\isacharparenleft}}{\isaliteral{2A}{\isacharasterisk}}equality{\isaliteral{2A}{\isacharasterisk}}{\isaliteral{29}{\isacharparenright}}\isanewline
   3.190 +\ \ \ \ \ {\isaliteral{22}{\isachardoublequote}}solveFor\ z{\isaliteral{22}{\isachardoublequote}}{\isaliteral{2C}{\isacharcomma}}\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ {\isaliteral{28}{\isacharparenleft}}{\isaliteral{2A}{\isacharasterisk}}bound\ variable{\isaliteral{2A}{\isacharasterisk}}{\isaliteral{29}{\isacharparenright}}\isanewline
   3.191 +\ \ \ \ \ {\isaliteral{22}{\isachardoublequote}}solutions\ L{\isaliteral{22}{\isachardoublequote}}{\isaliteral{5D}{\isacharbrackright}}{\isaliteral{3B}{\isacharsemicolon}}\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ {\isaliteral{28}{\isacharparenleft}}{\isaliteral{2A}{\isacharasterisk}}identifier\ for\isanewline
   3.192 +\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ solution{\isaliteral{2A}{\isacharasterisk}}{\isaliteral{29}{\isacharparenright}}\isanewline
   3.193 +\ \ val\ {\isaliteral{28}{\isacharparenleft}}dI{\isaliteral{27}{\isacharprime}}{\isaliteral{2C}{\isacharcomma}}pI{\isaliteral{27}{\isacharprime}}{\isaliteral{2C}{\isacharcomma}}mI{\isaliteral{27}{\isacharprime}}{\isaliteral{29}{\isacharparenright}}\ {\isaliteral{3D}{\isacharequal}}\isanewline
   3.194 +\ \ \ \ {\isaliteral{28}{\isacharparenleft}}{\isaliteral{22}{\isachardoublequote}}Isac{\isaliteral{22}{\isachardoublequote}}{\isaliteral{2C}{\isacharcomma}}\ \isanewline
   3.195 +\ \ \ \ \ \ {\isaliteral{5B}{\isacharbrackleft}}{\isaliteral{22}{\isachardoublequote}}abcFormula{\isaliteral{22}{\isachardoublequote}}{\isaliteral{2C}{\isacharcomma}}{\isaliteral{22}{\isachardoublequote}}degree{\isaliteral{5F}{\isacharunderscore}}{\isadigit{2}}{\isaliteral{22}{\isachardoublequote}}{\isaliteral{2C}{\isacharcomma}}{\isaliteral{22}{\isachardoublequote}}polynomial{\isaliteral{22}{\isachardoublequote}}{\isaliteral{2C}{\isacharcomma}}{\isaliteral{22}{\isachardoublequote}}univariate{\isaliteral{22}{\isachardoublequote}}{\isaliteral{2C}{\isacharcomma}}{\isaliteral{22}{\isachardoublequote}}equation{\isaliteral{22}{\isachardoublequote}}{\isaliteral{5D}{\isacharbrackright}}{\isaliteral{2C}{\isacharcomma}}\isanewline
   3.196 +\ \ \ \ \ \ {\isaliteral{5B}{\isacharbrackleft}}{\isaliteral{22}{\isachardoublequote}}no{\isaliteral{5F}{\isacharunderscore}}met{\isaliteral{22}{\isachardoublequote}}{\isaliteral{5D}{\isacharbrackright}}{\isaliteral{29}{\isacharparenright}}{\isaliteral{3B}{\isacharsemicolon}}\isanewline
   3.197  {\isaliteral{2A7D}{\isacharverbatimclose}}%
   3.198  \endisatagML
   3.199  {\isafoldML}%
   3.200 @@ -652,7 +673,8 @@
   3.201  \endisadelimML
   3.202  %
   3.203  \begin{isamarkuptext}%
   3.204 -Solve Equation Stepwise%
   3.205 +\noindent Check if the (other) given equation matches the 
   3.206 +        specification of this quation type.%
   3.207  \end{isamarkuptext}%
   3.208  \isamarkuptrue%
   3.209  %
   3.210 @@ -663,27 +685,8 @@
   3.211  \isatagML
   3.212  \isacommand{ML}\isamarkupfalse%
   3.213  \ {\isaliteral{7B2A}{\isacharverbatimopen}}\isanewline
   3.214 -{\isaliteral{2A7D}{\isacharverbatimclose}}\isanewline
   3.215 -\isacommand{ML}\isamarkupfalse%
   3.216 -\ {\isaliteral{7B2A}{\isacharverbatimopen}}\isanewline
   3.217 -val\ {\isaliteral{28}{\isacharparenleft}}p{\isaliteral{2C}{\isacharcomma}}{\isaliteral{5F}{\isacharunderscore}}{\isaliteral{2C}{\isacharcomma}}f{\isaliteral{2C}{\isacharcomma}}nxt{\isaliteral{2C}{\isacharcomma}}{\isaliteral{5F}{\isacharunderscore}}{\isaliteral{2C}{\isacharcomma}}pt{\isaliteral{29}{\isacharparenright}}\ {\isaliteral{3D}{\isacharequal}}\ CalcTreeTEST\ {\isaliteral{5B}{\isacharbrackleft}}{\isaliteral{28}{\isacharparenleft}}fmz{\isaliteral{2C}{\isacharcomma}}\ {\isaliteral{28}{\isacharparenleft}}dI{\isaliteral{27}{\isacharprime}}{\isaliteral{2C}{\isacharcomma}}pI{\isaliteral{27}{\isacharprime}}{\isaliteral{2C}{\isacharcomma}}mI{\isaliteral{27}{\isacharprime}}{\isaliteral{29}{\isacharparenright}}{\isaliteral{29}{\isacharparenright}}{\isaliteral{5D}{\isacharbrackright}}{\isaliteral{3B}{\isacharsemicolon}}\isanewline
   3.218 -val\ {\isaliteral{28}{\isacharparenleft}}p{\isaliteral{2C}{\isacharcomma}}{\isaliteral{5F}{\isacharunderscore}}{\isaliteral{2C}{\isacharcomma}}f{\isaliteral{2C}{\isacharcomma}}nxt{\isaliteral{2C}{\isacharcomma}}{\isaliteral{5F}{\isacharunderscore}}{\isaliteral{2C}{\isacharcomma}}pt{\isaliteral{29}{\isacharparenright}}\ {\isaliteral{3D}{\isacharequal}}\ me\ nxt\ p\ {\isaliteral{5B}{\isacharbrackleft}}{\isaliteral{5D}{\isacharbrackright}}\ pt{\isaliteral{3B}{\isacharsemicolon}}\isanewline
   3.219 -val\ {\isaliteral{28}{\isacharparenleft}}p{\isaliteral{2C}{\isacharcomma}}{\isaliteral{5F}{\isacharunderscore}}{\isaliteral{2C}{\isacharcomma}}f{\isaliteral{2C}{\isacharcomma}}nxt{\isaliteral{2C}{\isacharcomma}}{\isaliteral{5F}{\isacharunderscore}}{\isaliteral{2C}{\isacharcomma}}pt{\isaliteral{29}{\isacharparenright}}\ {\isaliteral{3D}{\isacharequal}}\ me\ nxt\ p\ {\isaliteral{5B}{\isacharbrackleft}}{\isaliteral{5D}{\isacharbrackright}}\ pt{\isaliteral{3B}{\isacharsemicolon}}\isanewline
   3.220 -val\ {\isaliteral{28}{\isacharparenleft}}p{\isaliteral{2C}{\isacharcomma}}{\isaliteral{5F}{\isacharunderscore}}{\isaliteral{2C}{\isacharcomma}}f{\isaliteral{2C}{\isacharcomma}}nxt{\isaliteral{2C}{\isacharcomma}}{\isaliteral{5F}{\isacharunderscore}}{\isaliteral{2C}{\isacharcomma}}pt{\isaliteral{29}{\isacharparenright}}\ {\isaliteral{3D}{\isacharequal}}\ me\ nxt\ p\ {\isaliteral{5B}{\isacharbrackleft}}{\isaliteral{5D}{\isacharbrackright}}\ pt{\isaliteral{3B}{\isacharsemicolon}}\isanewline
   3.221 -val\ {\isaliteral{28}{\isacharparenleft}}p{\isaliteral{2C}{\isacharcomma}}{\isaliteral{5F}{\isacharunderscore}}{\isaliteral{2C}{\isacharcomma}}f{\isaliteral{2C}{\isacharcomma}}nxt{\isaliteral{2C}{\isacharcomma}}{\isaliteral{5F}{\isacharunderscore}}{\isaliteral{2C}{\isacharcomma}}pt{\isaliteral{29}{\isacharparenright}}\ {\isaliteral{3D}{\isacharequal}}\ me\ nxt\ p\ {\isaliteral{5B}{\isacharbrackleft}}{\isaliteral{5D}{\isacharbrackright}}\ pt{\isaliteral{3B}{\isacharsemicolon}}\isanewline
   3.222 -val\ {\isaliteral{28}{\isacharparenleft}}p{\isaliteral{2C}{\isacharcomma}}{\isaliteral{5F}{\isacharunderscore}}{\isaliteral{2C}{\isacharcomma}}f{\isaliteral{2C}{\isacharcomma}}nxt{\isaliteral{2C}{\isacharcomma}}{\isaliteral{5F}{\isacharunderscore}}{\isaliteral{2C}{\isacharcomma}}pt{\isaliteral{29}{\isacharparenright}}\ {\isaliteral{3D}{\isacharequal}}\ me\ nxt\ p\ {\isaliteral{5B}{\isacharbrackleft}}{\isaliteral{5D}{\isacharbrackright}}\ pt{\isaliteral{3B}{\isacharsemicolon}}\isanewline
   3.223 -val\ {\isaliteral{28}{\isacharparenleft}}p{\isaliteral{2C}{\isacharcomma}}{\isaliteral{5F}{\isacharunderscore}}{\isaliteral{2C}{\isacharcomma}}f{\isaliteral{2C}{\isacharcomma}}nxt{\isaliteral{2C}{\isacharcomma}}{\isaliteral{5F}{\isacharunderscore}}{\isaliteral{2C}{\isacharcomma}}pt{\isaliteral{29}{\isacharparenright}}\ {\isaliteral{3D}{\isacharequal}}\ me\ nxt\ p\ {\isaliteral{5B}{\isacharbrackleft}}{\isaliteral{5D}{\isacharbrackright}}\ pt{\isaliteral{3B}{\isacharsemicolon}}\isanewline
   3.224 -val\ {\isaliteral{28}{\isacharparenleft}}p{\isaliteral{2C}{\isacharcomma}}{\isaliteral{5F}{\isacharunderscore}}{\isaliteral{2C}{\isacharcomma}}f{\isaliteral{2C}{\isacharcomma}}nxt{\isaliteral{2C}{\isacharcomma}}{\isaliteral{5F}{\isacharunderscore}}{\isaliteral{2C}{\isacharcomma}}pt{\isaliteral{29}{\isacharparenright}}\ {\isaliteral{3D}{\isacharequal}}\ me\ nxt\ p\ {\isaliteral{5B}{\isacharbrackleft}}{\isaliteral{5D}{\isacharbrackright}}\ pt{\isaliteral{3B}{\isacharsemicolon}}\isanewline
   3.225 -val\ {\isaliteral{28}{\isacharparenleft}}p{\isaliteral{2C}{\isacharcomma}}{\isaliteral{5F}{\isacharunderscore}}{\isaliteral{2C}{\isacharcomma}}f{\isaliteral{2C}{\isacharcomma}}nxt{\isaliteral{2C}{\isacharcomma}}{\isaliteral{5F}{\isacharunderscore}}{\isaliteral{2C}{\isacharcomma}}pt{\isaliteral{29}{\isacharparenright}}\ {\isaliteral{3D}{\isacharequal}}\ me\ nxt\ p\ {\isaliteral{5B}{\isacharbrackleft}}{\isaliteral{5D}{\isacharbrackright}}\ pt{\isaliteral{3B}{\isacharsemicolon}}\isanewline
   3.226 -val\ {\isaliteral{28}{\isacharparenleft}}p{\isaliteral{2C}{\isacharcomma}}{\isaliteral{5F}{\isacharunderscore}}{\isaliteral{2C}{\isacharcomma}}f{\isaliteral{2C}{\isacharcomma}}nxt{\isaliteral{2C}{\isacharcomma}}{\isaliteral{5F}{\isacharunderscore}}{\isaliteral{2C}{\isacharcomma}}pt{\isaliteral{29}{\isacharparenright}}\ {\isaliteral{3D}{\isacharequal}}\ me\ nxt\ p\ {\isaliteral{5B}{\isacharbrackleft}}{\isaliteral{5D}{\isacharbrackright}}\ pt{\isaliteral{3B}{\isacharsemicolon}}\isanewline
   3.227 -val\ {\isaliteral{28}{\isacharparenleft}}p{\isaliteral{2C}{\isacharcomma}}{\isaliteral{5F}{\isacharunderscore}}{\isaliteral{2C}{\isacharcomma}}f{\isaliteral{2C}{\isacharcomma}}nxt{\isaliteral{2C}{\isacharcomma}}{\isaliteral{5F}{\isacharunderscore}}{\isaliteral{2C}{\isacharcomma}}pt{\isaliteral{29}{\isacharparenright}}\ {\isaliteral{3D}{\isacharequal}}\ me\ nxt\ p\ {\isaliteral{5B}{\isacharbrackleft}}{\isaliteral{5D}{\isacharbrackright}}\ pt{\isaliteral{3B}{\isacharsemicolon}}\isanewline
   3.228 -val\ {\isaliteral{28}{\isacharparenleft}}p{\isaliteral{2C}{\isacharcomma}}{\isaliteral{5F}{\isacharunderscore}}{\isaliteral{2C}{\isacharcomma}}f{\isaliteral{2C}{\isacharcomma}}nxt{\isaliteral{2C}{\isacharcomma}}{\isaliteral{5F}{\isacharunderscore}}{\isaliteral{2C}{\isacharcomma}}pt{\isaliteral{29}{\isacharparenright}}\ {\isaliteral{3D}{\isacharequal}}\ me\ nxt\ p\ {\isaliteral{5B}{\isacharbrackleft}}{\isaliteral{5D}{\isacharbrackright}}\ pt{\isaliteral{3B}{\isacharsemicolon}}\ \ \ \ \ \ \ \ \ \isanewline
   3.229 -val\ {\isaliteral{28}{\isacharparenleft}}p{\isaliteral{2C}{\isacharcomma}}{\isaliteral{5F}{\isacharunderscore}}{\isaliteral{2C}{\isacharcomma}}f{\isaliteral{2C}{\isacharcomma}}nxt{\isaliteral{2C}{\isacharcomma}}{\isaliteral{5F}{\isacharunderscore}}{\isaliteral{2C}{\isacharcomma}}pt{\isaliteral{29}{\isacharparenright}}\ {\isaliteral{3D}{\isacharequal}}\ me\ nxt\ p\ {\isaliteral{5B}{\isacharbrackleft}}{\isaliteral{5D}{\isacharbrackright}}\ pt{\isaliteral{3B}{\isacharsemicolon}}\ {\isaliteral{28}{\isacharparenleft}}{\isaliteral{2A}{\isacharasterisk}}nxt\ {\isaliteral{3D}{\isacharequal}}{\isaliteral{2E}{\isachardot}}{\isaliteral{2E}{\isachardot}}{\isaliteral{2C}{\isacharcomma}}Check{\isaliteral{5F}{\isacharunderscore}}elementwise\ {\isaliteral{22}{\isachardoublequote}}Assumptions{\isaliteral{22}{\isachardoublequote}}{\isaliteral{29}{\isacharparenright}}{\isaliteral{2A}{\isacharasterisk}}{\isaliteral{29}{\isacharparenright}}\isanewline
   3.230 -val\ {\isaliteral{28}{\isacharparenleft}}p{\isaliteral{2C}{\isacharcomma}}{\isaliteral{5F}{\isacharunderscore}}{\isaliteral{2C}{\isacharcomma}}f{\isaliteral{2C}{\isacharcomma}}nxt{\isaliteral{2C}{\isacharcomma}}{\isaliteral{5F}{\isacharunderscore}}{\isaliteral{2C}{\isacharcomma}}pt{\isaliteral{29}{\isacharparenright}}\ {\isaliteral{3D}{\isacharequal}}\ me\ nxt\ p\ {\isaliteral{5B}{\isacharbrackleft}}{\isaliteral{5D}{\isacharbrackright}}\ pt{\isaliteral{3B}{\isacharsemicolon}}\ \ \ \ \ \ \ \ \ \isanewline
   3.231 -val\ {\isaliteral{28}{\isacharparenleft}}p{\isaliteral{2C}{\isacharcomma}}{\isaliteral{5F}{\isacharunderscore}}{\isaliteral{2C}{\isacharcomma}}f{\isaliteral{2C}{\isacharcomma}}nxt{\isaliteral{2C}{\isacharcomma}}{\isaliteral{5F}{\isacharunderscore}}{\isaliteral{2C}{\isacharcomma}}pt{\isaliteral{29}{\isacharparenright}}\ {\isaliteral{3D}{\isacharequal}}\ me\ nxt\ p\ {\isaliteral{5B}{\isacharbrackleft}}{\isaliteral{5D}{\isacharbrackright}}\ pt{\isaliteral{3B}{\isacharsemicolon}}\ f{\isadigit{2}}str\ f{\isaliteral{3B}{\isacharsemicolon}}\isanewline
   3.232 -{\isaliteral{28}{\isacharparenleft}}{\isaliteral{2A}{\isacharasterisk}}{\isaliteral{5B}{\isacharbrackleft}}z\ {\isaliteral{3D}{\isacharequal}}\ {\isadigit{1}}\ {\isaliteral{2F}{\isacharslash}}\ {\isadigit{2}}{\isaliteral{2C}{\isacharcomma}}\ z\ {\isaliteral{3D}{\isacharequal}}\ {\isaliteral{2D}{\isacharminus}}{\isadigit{1}}\ {\isaliteral{2F}{\isacharslash}}\ {\isadigit{4}}{\isaliteral{5D}{\isacharbrackright}}{\isaliteral{2A}{\isacharasterisk}}{\isaliteral{29}{\isacharparenright}}\isanewline
   3.233 -show{\isaliteral{5F}{\isacharunderscore}}pt\ pt{\isaliteral{3B}{\isacharsemicolon}}\ \isanewline
   3.234 -val\ SOME\ f\ {\isaliteral{3D}{\isacharequal}}\ parseNEW\ ctxt\ {\isaliteral{22}{\isachardoublequote}}{\isaliteral{5B}{\isacharbrackleft}}z{\isaliteral{3D}{\isacharequal}}{\isadigit{1}}{\isaliteral{2F}{\isacharslash}}{\isadigit{2}}{\isaliteral{2C}{\isacharcomma}}\ z{\isaliteral{3D}{\isacharequal}}{\isaliteral{2D}{\isacharminus}}{\isadigit{1}}{\isaliteral{2F}{\isacharslash}}{\isadigit{4}}{\isaliteral{5D}{\isacharbrackright}}{\isaliteral{22}{\isachardoublequote}}{\isaliteral{3B}{\isacharsemicolon}}\isanewline
   3.235 +\ \ match{\isaliteral{5F}{\isacharunderscore}}pbl\ fmz\ {\isaliteral{28}{\isacharparenleft}}get{\isaliteral{5F}{\isacharunderscore}}pbt\ \isanewline
   3.236 +\ \ \ \ {\isaliteral{5B}{\isacharbrackleft}}{\isaliteral{22}{\isachardoublequote}}abcFormula{\isaliteral{22}{\isachardoublequote}}{\isaliteral{2C}{\isacharcomma}}{\isaliteral{22}{\isachardoublequote}}degree{\isaliteral{5F}{\isacharunderscore}}{\isadigit{2}}{\isaliteral{22}{\isachardoublequote}}{\isaliteral{2C}{\isacharcomma}}{\isaliteral{22}{\isachardoublequote}}polynomial{\isaliteral{22}{\isachardoublequote}}{\isaliteral{2C}{\isacharcomma}}{\isaliteral{22}{\isachardoublequote}}univariate{\isaliteral{22}{\isachardoublequote}}{\isaliteral{2C}{\isacharcomma}}{\isaliteral{22}{\isachardoublequote}}equation{\isaliteral{22}{\isachardoublequote}}{\isaliteral{5D}{\isacharbrackright}}{\isaliteral{29}{\isacharparenright}}{\isaliteral{3B}{\isacharsemicolon}}\isanewline
   3.237  {\isaliteral{2A7D}{\isacharverbatimclose}}%
   3.238  \endisatagML
   3.239  {\isafoldML}%
   3.240 @@ -692,38 +695,9 @@
   3.241  %
   3.242  \endisadelimML
   3.243  %
   3.244 -\isamarkupsubsection{partial fraction decomposition%
   3.245 -}
   3.246 -\isamarkuptrue%
   3.247 -%
   3.248 -\isamarkupsubsubsection{solution of the equation%
   3.249 -}
   3.250 -\isamarkuptrue%
   3.251 -%
   3.252 -\isadelimML
   3.253 -%
   3.254 -\endisadelimML
   3.255 -%
   3.256 -\isatagML
   3.257 -\isacommand{ML}\isamarkupfalse%
   3.258 -\ {\isaliteral{7B2A}{\isacharverbatimopen}}\isanewline
   3.259 -val\ SOME\ solutions\ {\isaliteral{3D}{\isacharequal}}\ parseNEW\ ctxt\ {\isaliteral{22}{\isachardoublequote}}{\isaliteral{5B}{\isacharbrackleft}}z{\isaliteral{3D}{\isacharequal}}{\isadigit{1}}{\isaliteral{2F}{\isacharslash}}{\isadigit{2}}{\isaliteral{2C}{\isacharcomma}}\ z{\isaliteral{3D}{\isacharequal}}{\isaliteral{2D}{\isacharminus}}{\isadigit{1}}{\isaliteral{2F}{\isacharslash}}{\isadigit{4}}{\isaliteral{5D}{\isacharbrackright}}{\isaliteral{22}{\isachardoublequote}}{\isaliteral{3B}{\isacharsemicolon}}\isanewline
   3.260 -term{\isadigit{2}}str\ solutions{\isaliteral{3B}{\isacharsemicolon}}\isanewline
   3.261 -atomty\ solutions{\isaliteral{3B}{\isacharsemicolon}}\isanewline
   3.262 -{\isaliteral{2A7D}{\isacharverbatimclose}}%
   3.263 -\endisatagML
   3.264 -{\isafoldML}%
   3.265 -%
   3.266 -\isadelimML
   3.267 -%
   3.268 -\endisadelimML
   3.269 -%
   3.270 -\isamarkupsubsubsection{get solutions out of list%
   3.271 -}
   3.272 -\isamarkuptrue%
   3.273 -%
   3.274  \begin{isamarkuptext}%
   3.275 -in isac's CTP-based programming language: let$ $s_1 = NTH 1$ solutions; $s_2 = NTH 2...$%
   3.276 +\noindent We stepwise solve the equation. This is done by the
   3.277 +        use of a so called calc tree seen downwards.%
   3.278  \end{isamarkuptext}%
   3.279  \isamarkuptrue%
   3.280  %
   3.281 @@ -734,20 +708,29 @@
   3.282  \isatagML
   3.283  \isacommand{ML}\isamarkupfalse%
   3.284  \ {\isaliteral{7B2A}{\isacharverbatimopen}}\isanewline
   3.285 -val\ Const\ {\isaliteral{28}{\isacharparenleft}}{\isaliteral{22}{\isachardoublequote}}List{\isaliteral{2E}{\isachardot}}list{\isaliteral{2E}{\isachardot}}Cons{\isaliteral{22}{\isachardoublequote}}{\isaliteral{2C}{\isacharcomma}}\ {\isaliteral{5F}{\isacharunderscore}}{\isaliteral{29}{\isacharparenright}}\ {\isaliteral{24}{\isachardollar}}\ s{\isaliteral{5F}{\isacharunderscore}}{\isadigit{1}}\ {\isaliteral{24}{\isachardollar}}\ {\isaliteral{28}{\isacharparenleft}}Const\ {\isaliteral{28}{\isacharparenleft}}{\isaliteral{22}{\isachardoublequote}}List{\isaliteral{2E}{\isachardot}}list{\isaliteral{2E}{\isachardot}}Cons{\isaliteral{22}{\isachardoublequote}}{\isaliteral{2C}{\isacharcomma}}\ {\isaliteral{5F}{\isacharunderscore}}{\isaliteral{29}{\isacharparenright}}\ {\isaliteral{24}{\isachardollar}}\isanewline
   3.286 -\ \ \ \ \ \ s{\isaliteral{5F}{\isacharunderscore}}{\isadigit{2}}\ {\isaliteral{24}{\isachardollar}}\ Const\ {\isaliteral{28}{\isacharparenleft}}{\isaliteral{22}{\isachardoublequote}}List{\isaliteral{2E}{\isachardot}}list{\isaliteral{2E}{\isachardot}}Nil{\isaliteral{22}{\isachardoublequote}}{\isaliteral{2C}{\isacharcomma}}\ {\isaliteral{5F}{\isacharunderscore}}{\isaliteral{29}{\isacharparenright}}{\isaliteral{29}{\isacharparenright}}\ {\isaliteral{3D}{\isacharequal}}\ solutions{\isaliteral{3B}{\isacharsemicolon}}\isanewline
   3.287 -term{\isadigit{2}}str\ s{\isaliteral{5F}{\isacharunderscore}}{\isadigit{1}}{\isaliteral{3B}{\isacharsemicolon}}\isanewline
   3.288 -term{\isadigit{2}}str\ s{\isaliteral{5F}{\isacharunderscore}}{\isadigit{2}}{\isaliteral{3B}{\isacharsemicolon}}\isanewline
   3.289 -{\isaliteral{2A7D}{\isacharverbatimclose}}\isanewline
   3.290 -\isanewline
   3.291 -\isacommand{ML}\isamarkupfalse%
   3.292 -\ {\isaliteral{7B2A}{\isacharverbatimopen}}\ {\isaliteral{28}{\isacharparenleft}}{\isaliteral{2A}{\isacharasterisk}}Solutions\ as\ Denominator\ {\isaliteral{2D}{\isacharminus}}{\isaliteral{2D}{\isacharminus}}{\isaliteral{3E}{\isachargreater}}\ Denominator{\isadigit{1}}\ {\isaliteral{3D}{\isacharequal}}\ z\ {\isaliteral{2D}{\isacharminus}}\ Zeropoint{\isadigit{1}}{\isaliteral{2C}{\isacharcomma}}\ Denominator{\isadigit{2}}\ {\isaliteral{3D}{\isacharequal}}\ z{\isaliteral{2D}{\isacharminus}}Zeropoint{\isadigit{2}}{\isaliteral{2C}{\isacharcomma}}{\isaliteral{2E}{\isachardot}}{\isaliteral{2E}{\isachardot}}{\isaliteral{2E}{\isachardot}}{\isaliteral{2A}{\isacharasterisk}}{\isaliteral{29}{\isacharparenright}}\isanewline
   3.293 -val\ xx\ {\isaliteral{3D}{\isacharequal}}\ HOLogic{\isaliteral{2E}{\isachardot}}dest{\isaliteral{5F}{\isacharunderscore}}eq\ s{\isaliteral{5F}{\isacharunderscore}}{\isadigit{1}}{\isaliteral{3B}{\isacharsemicolon}}\isanewline
   3.294 -val\ s{\isaliteral{5F}{\isacharunderscore}}{\isadigit{1}}{\isaliteral{27}{\isacharprime}}\ {\isaliteral{3D}{\isacharequal}}\ HOLogic{\isaliteral{2E}{\isachardot}}mk{\isaliteral{5F}{\isacharunderscore}}binop\ {\isaliteral{22}{\isachardoublequote}}Groups{\isaliteral{2E}{\isachardot}}minus{\isaliteral{5F}{\isacharunderscore}}class{\isaliteral{2E}{\isachardot}}minus{\isaliteral{22}{\isachardoublequote}}\ xx{\isaliteral{3B}{\isacharsemicolon}}\isanewline
   3.295 -val\ xx\ {\isaliteral{3D}{\isacharequal}}\ HOLogic{\isaliteral{2E}{\isachardot}}dest{\isaliteral{5F}{\isacharunderscore}}eq\ s{\isaliteral{5F}{\isacharunderscore}}{\isadigit{2}}{\isaliteral{3B}{\isacharsemicolon}}\isanewline
   3.296 -val\ s{\isaliteral{5F}{\isacharunderscore}}{\isadigit{2}}{\isaliteral{27}{\isacharprime}}\ {\isaliteral{3D}{\isacharequal}}\ HOLogic{\isaliteral{2E}{\isachardot}}mk{\isaliteral{5F}{\isacharunderscore}}binop\ {\isaliteral{22}{\isachardoublequote}}Groups{\isaliteral{2E}{\isachardot}}minus{\isaliteral{5F}{\isacharunderscore}}class{\isaliteral{2E}{\isachardot}}minus{\isaliteral{22}{\isachardoublequote}}\ xx{\isaliteral{3B}{\isacharsemicolon}}\isanewline
   3.297 -term{\isadigit{2}}str\ s{\isaliteral{5F}{\isacharunderscore}}{\isadigit{1}}{\isaliteral{27}{\isacharprime}}{\isaliteral{3B}{\isacharsemicolon}}\isanewline
   3.298 -term{\isadigit{2}}str\ s{\isaliteral{5F}{\isacharunderscore}}{\isadigit{2}}{\isaliteral{27}{\isacharprime}}{\isaliteral{3B}{\isacharsemicolon}}\isanewline
   3.299 +\ \ val\ {\isaliteral{28}{\isacharparenleft}}p{\isaliteral{2C}{\isacharcomma}}{\isaliteral{5F}{\isacharunderscore}}{\isaliteral{2C}{\isacharcomma}}f{\isaliteral{2C}{\isacharcomma}}nxt{\isaliteral{2C}{\isacharcomma}}{\isaliteral{5F}{\isacharunderscore}}{\isaliteral{2C}{\isacharcomma}}pt{\isaliteral{29}{\isacharparenright}}\ {\isaliteral{3D}{\isacharequal}}\ CalcTreeTEST\ {\isaliteral{5B}{\isacharbrackleft}}{\isaliteral{28}{\isacharparenleft}}fmz{\isaliteral{2C}{\isacharcomma}}\ {\isaliteral{28}{\isacharparenleft}}dI{\isaliteral{27}{\isacharprime}}{\isaliteral{2C}{\isacharcomma}}pI{\isaliteral{27}{\isacharprime}}{\isaliteral{2C}{\isacharcomma}}mI{\isaliteral{27}{\isacharprime}}{\isaliteral{29}{\isacharparenright}}{\isaliteral{29}{\isacharparenright}}{\isaliteral{5D}{\isacharbrackright}}{\isaliteral{3B}{\isacharsemicolon}}\isanewline
   3.300 +\ \ val\ {\isaliteral{28}{\isacharparenleft}}p{\isaliteral{2C}{\isacharcomma}}{\isaliteral{5F}{\isacharunderscore}}{\isaliteral{2C}{\isacharcomma}}f{\isaliteral{2C}{\isacharcomma}}nxt{\isaliteral{2C}{\isacharcomma}}{\isaliteral{5F}{\isacharunderscore}}{\isaliteral{2C}{\isacharcomma}}pt{\isaliteral{29}{\isacharparenright}}\ {\isaliteral{3D}{\isacharequal}}\ me\ nxt\ p\ {\isaliteral{5B}{\isacharbrackleft}}{\isaliteral{5D}{\isacharbrackright}}\ pt{\isaliteral{3B}{\isacharsemicolon}}\isanewline
   3.301 +\ \ val\ {\isaliteral{28}{\isacharparenleft}}p{\isaliteral{2C}{\isacharcomma}}{\isaliteral{5F}{\isacharunderscore}}{\isaliteral{2C}{\isacharcomma}}f{\isaliteral{2C}{\isacharcomma}}nxt{\isaliteral{2C}{\isacharcomma}}{\isaliteral{5F}{\isacharunderscore}}{\isaliteral{2C}{\isacharcomma}}pt{\isaliteral{29}{\isacharparenright}}\ {\isaliteral{3D}{\isacharequal}}\ me\ nxt\ p\ {\isaliteral{5B}{\isacharbrackleft}}{\isaliteral{5D}{\isacharbrackright}}\ pt{\isaliteral{3B}{\isacharsemicolon}}\isanewline
   3.302 +\ \ val\ {\isaliteral{28}{\isacharparenleft}}p{\isaliteral{2C}{\isacharcomma}}{\isaliteral{5F}{\isacharunderscore}}{\isaliteral{2C}{\isacharcomma}}f{\isaliteral{2C}{\isacharcomma}}nxt{\isaliteral{2C}{\isacharcomma}}{\isaliteral{5F}{\isacharunderscore}}{\isaliteral{2C}{\isacharcomma}}pt{\isaliteral{29}{\isacharparenright}}\ {\isaliteral{3D}{\isacharequal}}\ me\ nxt\ p\ {\isaliteral{5B}{\isacharbrackleft}}{\isaliteral{5D}{\isacharbrackright}}\ pt{\isaliteral{3B}{\isacharsemicolon}}\isanewline
   3.303 +\ \ val\ {\isaliteral{28}{\isacharparenleft}}p{\isaliteral{2C}{\isacharcomma}}{\isaliteral{5F}{\isacharunderscore}}{\isaliteral{2C}{\isacharcomma}}f{\isaliteral{2C}{\isacharcomma}}nxt{\isaliteral{2C}{\isacharcomma}}{\isaliteral{5F}{\isacharunderscore}}{\isaliteral{2C}{\isacharcomma}}pt{\isaliteral{29}{\isacharparenright}}\ {\isaliteral{3D}{\isacharequal}}\ me\ nxt\ p\ {\isaliteral{5B}{\isacharbrackleft}}{\isaliteral{5D}{\isacharbrackright}}\ pt{\isaliteral{3B}{\isacharsemicolon}}\isanewline
   3.304 +\ \ val\ {\isaliteral{28}{\isacharparenleft}}p{\isaliteral{2C}{\isacharcomma}}{\isaliteral{5F}{\isacharunderscore}}{\isaliteral{2C}{\isacharcomma}}f{\isaliteral{2C}{\isacharcomma}}nxt{\isaliteral{2C}{\isacharcomma}}{\isaliteral{5F}{\isacharunderscore}}{\isaliteral{2C}{\isacharcomma}}pt{\isaliteral{29}{\isacharparenright}}\ {\isaliteral{3D}{\isacharequal}}\ me\ nxt\ p\ {\isaliteral{5B}{\isacharbrackleft}}{\isaliteral{5D}{\isacharbrackright}}\ pt{\isaliteral{3B}{\isacharsemicolon}}\isanewline
   3.305 +\ \ val\ {\isaliteral{28}{\isacharparenleft}}p{\isaliteral{2C}{\isacharcomma}}{\isaliteral{5F}{\isacharunderscore}}{\isaliteral{2C}{\isacharcomma}}f{\isaliteral{2C}{\isacharcomma}}nxt{\isaliteral{2C}{\isacharcomma}}{\isaliteral{5F}{\isacharunderscore}}{\isaliteral{2C}{\isacharcomma}}pt{\isaliteral{29}{\isacharparenright}}\ {\isaliteral{3D}{\isacharequal}}\ me\ nxt\ p\ {\isaliteral{5B}{\isacharbrackleft}}{\isaliteral{5D}{\isacharbrackright}}\ pt{\isaliteral{3B}{\isacharsemicolon}}\isanewline
   3.306 +\ \ val\ {\isaliteral{28}{\isacharparenleft}}p{\isaliteral{2C}{\isacharcomma}}{\isaliteral{5F}{\isacharunderscore}}{\isaliteral{2C}{\isacharcomma}}f{\isaliteral{2C}{\isacharcomma}}nxt{\isaliteral{2C}{\isacharcomma}}{\isaliteral{5F}{\isacharunderscore}}{\isaliteral{2C}{\isacharcomma}}pt{\isaliteral{29}{\isacharparenright}}\ {\isaliteral{3D}{\isacharequal}}\ me\ nxt\ p\ {\isaliteral{5B}{\isacharbrackleft}}{\isaliteral{5D}{\isacharbrackright}}\ pt{\isaliteral{3B}{\isacharsemicolon}}\isanewline
   3.307 +\ \ val\ {\isaliteral{28}{\isacharparenleft}}p{\isaliteral{2C}{\isacharcomma}}{\isaliteral{5F}{\isacharunderscore}}{\isaliteral{2C}{\isacharcomma}}f{\isaliteral{2C}{\isacharcomma}}nxt{\isaliteral{2C}{\isacharcomma}}{\isaliteral{5F}{\isacharunderscore}}{\isaliteral{2C}{\isacharcomma}}pt{\isaliteral{29}{\isacharparenright}}\ {\isaliteral{3D}{\isacharequal}}\ me\ nxt\ p\ {\isaliteral{5B}{\isacharbrackleft}}{\isaliteral{5D}{\isacharbrackright}}\ pt{\isaliteral{3B}{\isacharsemicolon}}\isanewline
   3.308 +\ \ val\ {\isaliteral{28}{\isacharparenleft}}p{\isaliteral{2C}{\isacharcomma}}{\isaliteral{5F}{\isacharunderscore}}{\isaliteral{2C}{\isacharcomma}}f{\isaliteral{2C}{\isacharcomma}}nxt{\isaliteral{2C}{\isacharcomma}}{\isaliteral{5F}{\isacharunderscore}}{\isaliteral{2C}{\isacharcomma}}pt{\isaliteral{29}{\isacharparenright}}\ {\isaliteral{3D}{\isacharequal}}\ me\ nxt\ p\ {\isaliteral{5B}{\isacharbrackleft}}{\isaliteral{5D}{\isacharbrackright}}\ pt{\isaliteral{3B}{\isacharsemicolon}}\isanewline
   3.309 +\ \ val\ {\isaliteral{28}{\isacharparenleft}}p{\isaliteral{2C}{\isacharcomma}}{\isaliteral{5F}{\isacharunderscore}}{\isaliteral{2C}{\isacharcomma}}f{\isaliteral{2C}{\isacharcomma}}nxt{\isaliteral{2C}{\isacharcomma}}{\isaliteral{5F}{\isacharunderscore}}{\isaliteral{2C}{\isacharcomma}}pt{\isaliteral{29}{\isacharparenright}}\ {\isaliteral{3D}{\isacharequal}}\ me\ nxt\ p\ {\isaliteral{5B}{\isacharbrackleft}}{\isaliteral{5D}{\isacharbrackright}}\ pt{\isaliteral{3B}{\isacharsemicolon}}\isanewline
   3.310 +\ \ val\ {\isaliteral{28}{\isacharparenleft}}p{\isaliteral{2C}{\isacharcomma}}{\isaliteral{5F}{\isacharunderscore}}{\isaliteral{2C}{\isacharcomma}}f{\isaliteral{2C}{\isacharcomma}}nxt{\isaliteral{2C}{\isacharcomma}}{\isaliteral{5F}{\isacharunderscore}}{\isaliteral{2C}{\isacharcomma}}pt{\isaliteral{29}{\isacharparenright}}\ {\isaliteral{3D}{\isacharequal}}\ me\ nxt\ p\ {\isaliteral{5B}{\isacharbrackleft}}{\isaliteral{5D}{\isacharbrackright}}\ pt{\isaliteral{3B}{\isacharsemicolon}}\ \ \ \ \ \ \ \ \ \isanewline
   3.311 +\ \ val\ {\isaliteral{28}{\isacharparenleft}}p{\isaliteral{2C}{\isacharcomma}}{\isaliteral{5F}{\isacharunderscore}}{\isaliteral{2C}{\isacharcomma}}f{\isaliteral{2C}{\isacharcomma}}nxt{\isaliteral{2C}{\isacharcomma}}{\isaliteral{5F}{\isacharunderscore}}{\isaliteral{2C}{\isacharcomma}}pt{\isaliteral{29}{\isacharparenright}}\ {\isaliteral{3D}{\isacharequal}}\ me\ nxt\ p\ {\isaliteral{5B}{\isacharbrackleft}}{\isaliteral{5D}{\isacharbrackright}}\ pt{\isaliteral{3B}{\isacharsemicolon}}\isanewline
   3.312 +\ \ {\isaliteral{28}{\isacharparenleft}}{\isaliteral{2A}{\isacharasterisk}}\isanewline
   3.313 +\ \ \ {\isaliteral{2A}{\isacharasterisk}}\ nxt\ {\isaliteral{3D}{\isacharequal}}{\isaliteral{2E}{\isachardot}}{\isaliteral{2E}{\isachardot}}{\isaliteral{2C}{\isacharcomma}}Check{\isaliteral{5F}{\isacharunderscore}}elementwise\ {\isaliteral{22}{\isachardoublequote}}Assumptions{\isaliteral{22}{\isachardoublequote}}{\isaliteral{29}{\isacharparenright}}\ \isanewline
   3.314 +\ \ \ {\isaliteral{2A}{\isacharasterisk}}{\isaliteral{29}{\isacharparenright}}\isanewline
   3.315 +\ \ val\ {\isaliteral{28}{\isacharparenleft}}p{\isaliteral{2C}{\isacharcomma}}{\isaliteral{5F}{\isacharunderscore}}{\isaliteral{2C}{\isacharcomma}}f{\isaliteral{2C}{\isacharcomma}}nxt{\isaliteral{2C}{\isacharcomma}}{\isaliteral{5F}{\isacharunderscore}}{\isaliteral{2C}{\isacharcomma}}pt{\isaliteral{29}{\isacharparenright}}\ {\isaliteral{3D}{\isacharequal}}\ me\ nxt\ p\ {\isaliteral{5B}{\isacharbrackleft}}{\isaliteral{5D}{\isacharbrackright}}\ pt{\isaliteral{3B}{\isacharsemicolon}}\ \ \ \ \ \ \ \ \ \isanewline
   3.316 +\ \ val\ {\isaliteral{28}{\isacharparenleft}}p{\isaliteral{2C}{\isacharcomma}}{\isaliteral{5F}{\isacharunderscore}}{\isaliteral{2C}{\isacharcomma}}f{\isaliteral{2C}{\isacharcomma}}nxt{\isaliteral{2C}{\isacharcomma}}{\isaliteral{5F}{\isacharunderscore}}{\isaliteral{2C}{\isacharcomma}}pt{\isaliteral{29}{\isacharparenright}}\ {\isaliteral{3D}{\isacharequal}}\ me\ nxt\ p\ {\isaliteral{5B}{\isacharbrackleft}}{\isaliteral{5D}{\isacharbrackright}}\ pt{\isaliteral{3B}{\isacharsemicolon}}\ f{\isadigit{2}}str\ f{\isaliteral{3B}{\isacharsemicolon}}\isanewline
   3.317 +\ \ {\isaliteral{28}{\isacharparenleft}}{\isaliteral{2A}{\isacharasterisk}}\isanewline
   3.318 +\ \ \ {\isaliteral{2A}{\isacharasterisk}}\ {\isaliteral{5B}{\isacharbrackleft}}z\ {\isaliteral{3D}{\isacharequal}}\ {\isadigit{1}}\ {\isaliteral{2F}{\isacharslash}}\ {\isadigit{2}}{\isaliteral{2C}{\isacharcomma}}\ z\ {\isaliteral{3D}{\isacharequal}}\ {\isaliteral{2D}{\isacharminus}}{\isadigit{1}}\ {\isaliteral{2F}{\isacharslash}}\ {\isadigit{4}}{\isaliteral{5D}{\isacharbrackright}}\isanewline
   3.319 +\ \ \ {\isaliteral{2A}{\isacharasterisk}}{\isaliteral{29}{\isacharparenright}}\isanewline
   3.320 +\ \ show{\isaliteral{5F}{\isacharunderscore}}pt\ pt{\isaliteral{3B}{\isacharsemicolon}}\ \isanewline
   3.321 +\ \ val\ SOME\ f\ {\isaliteral{3D}{\isacharequal}}\ parseNEW\ ctxt\ {\isaliteral{22}{\isachardoublequote}}{\isaliteral{5B}{\isacharbrackleft}}z{\isaliteral{3D}{\isacharequal}}{\isadigit{1}}{\isaliteral{2F}{\isacharslash}}{\isadigit{2}}{\isaliteral{2C}{\isacharcomma}}\ z{\isaliteral{3D}{\isacharequal}}{\isaliteral{2D}{\isacharminus}}{\isadigit{1}}{\isaliteral{2F}{\isacharslash}}{\isadigit{4}}{\isaliteral{5D}{\isacharbrackright}}{\isaliteral{22}{\isachardoublequote}}{\isaliteral{3B}{\isacharsemicolon}}\isanewline
   3.322  {\isaliteral{2A7D}{\isacharverbatimclose}}%
   3.323  \endisatagML
   3.324  {\isafoldML}%
   3.325 @@ -756,9 +739,23 @@
   3.326  %
   3.327  \endisadelimML
   3.328  %
   3.329 +\isamarkupsubsection{Partial Fraction Decomposition\label{sec:pbz}%
   3.330 +}
   3.331 +\isamarkuptrue%
   3.332 +%
   3.333  \begin{isamarkuptext}%
   3.334 -for the programming language a function 
   3.335 -  collecting all the above manipulations is helpful%
   3.336 +\noindent We go on with the decomposion of our expression. Follow up the
   3.337 +       Calculation in Section~\ref{sec:calc:ztrans} Step~3 and later on
   3.338 +       Subproblem~1.%
   3.339 +\end{isamarkuptext}%
   3.340 +\isamarkuptrue%
   3.341 +%
   3.342 +\isamarkupsubsubsection{Solutions of the Equation%
   3.343 +}
   3.344 +\isamarkuptrue%
   3.345 +%
   3.346 +\begin{isamarkuptext}%
   3.347 +\noindent We get the solutions of the before solved equation in a list.%
   3.348  \end{isamarkuptext}%
   3.349  \isamarkuptrue%
   3.350  %
   3.351 @@ -769,62 +766,9 @@
   3.352  \isatagML
   3.353  \isacommand{ML}\isamarkupfalse%
   3.354  \ {\isaliteral{7B2A}{\isacharverbatimopen}}\isanewline
   3.355 -fun\ mk{\isaliteral{5F}{\isacharunderscore}}minus{\isaliteral{5F}{\isacharunderscore}}{\isadigit{1}}\ T\ {\isaliteral{3D}{\isacharequal}}\ Free{\isaliteral{28}{\isacharparenleft}}{\isaliteral{22}{\isachardoublequote}}{\isaliteral{2D}{\isacharminus}}{\isadigit{1}}{\isaliteral{22}{\isachardoublequote}}{\isaliteral{2C}{\isacharcomma}}\ T{\isaliteral{29}{\isacharparenright}}{\isaliteral{3B}{\isacharsemicolon}}\ {\isaliteral{28}{\isacharparenleft}}{\isaliteral{2A}{\isacharasterisk}}TODO\ DELETE\ WITH\ numbers{\isaliteral{5F}{\isacharunderscore}}to{\isaliteral{5F}{\isacharunderscore}}string{\isaliteral{2A}{\isacharasterisk}}{\isaliteral{29}{\isacharparenright}}\isanewline
   3.356 -fun\ flip{\isaliteral{5F}{\isacharunderscore}}sign\ t\ {\isaliteral{3D}{\isacharequal}}\ {\isaliteral{28}{\isacharparenleft}}{\isaliteral{2A}{\isacharasterisk}}TODO\ improve\ for\ use\ in\ factors{\isaliteral{5F}{\isacharunderscore}}from{\isaliteral{5F}{\isacharunderscore}}solution{\isaliteral{3A}{\isacharcolon}}\ {\isaliteral{2D}{\isacharminus}}{\isaliteral{28}{\isacharparenleft}}{\isaliteral{2D}{\isacharminus}}{\isadigit{1}}{\isaliteral{29}{\isacharparenright}}\ etc{\isaliteral{2A}{\isacharasterisk}}{\isaliteral{29}{\isacharparenright}}\isanewline
   3.357 -\ \ let\ val\ minus{\isaliteral{5F}{\isacharunderscore}}{\isadigit{1}}\ {\isaliteral{3D}{\isacharequal}}\ t\ {\isaliteral{7C}{\isacharbar}}{\isaliteral{3E}{\isachargreater}}\ type{\isaliteral{5F}{\isacharunderscore}}of\ {\isaliteral{7C}{\isacharbar}}{\isaliteral{3E}{\isachargreater}}\ mk{\isaliteral{5F}{\isacharunderscore}}minus{\isaliteral{5F}{\isacharunderscore}}{\isadigit{1}}\isanewline
   3.358 -\ \ in\ HOLogic{\isaliteral{2E}{\isachardot}}mk{\isaliteral{5F}{\isacharunderscore}}binop\ {\isaliteral{22}{\isachardoublequote}}Groups{\isaliteral{2E}{\isachardot}}times{\isaliteral{5F}{\isacharunderscore}}class{\isaliteral{2E}{\isachardot}}times{\isaliteral{22}{\isachardoublequote}}\ {\isaliteral{28}{\isacharparenleft}}minus{\isaliteral{5F}{\isacharunderscore}}{\isadigit{1}}{\isaliteral{2C}{\isacharcomma}}\ t{\isaliteral{29}{\isacharparenright}}\ end{\isaliteral{3B}{\isacharsemicolon}}\isanewline
   3.359 -fun\ fac{\isaliteral{5F}{\isacharunderscore}}from{\isaliteral{5F}{\isacharunderscore}}sol\ s\ {\isaliteral{3D}{\isacharequal}}\isanewline
   3.360 -\ \ let\ val\ {\isaliteral{28}{\isacharparenleft}}lhs{\isaliteral{2C}{\isacharcomma}}\ rhs{\isaliteral{29}{\isacharparenright}}\ {\isaliteral{3D}{\isacharequal}}\ HOLogic{\isaliteral{2E}{\isachardot}}dest{\isaliteral{5F}{\isacharunderscore}}eq\ s\isanewline
   3.361 -\ \ in\ HOLogic{\isaliteral{2E}{\isachardot}}mk{\isaliteral{5F}{\isacharunderscore}}binop\ {\isaliteral{22}{\isachardoublequote}}Groups{\isaliteral{2E}{\isachardot}}minus{\isaliteral{5F}{\isacharunderscore}}class{\isaliteral{2E}{\isachardot}}minus{\isaliteral{22}{\isachardoublequote}}\ {\isaliteral{28}{\isacharparenleft}}lhs{\isaliteral{2C}{\isacharcomma}}\ rhs{\isaliteral{29}{\isacharparenright}}\ end{\isaliteral{3B}{\isacharsemicolon}}\isanewline
   3.362 -{\isaliteral{2A7D}{\isacharverbatimclose}}\isanewline
   3.363 -\isacommand{ML}\isamarkupfalse%
   3.364 -\ {\isaliteral{7B2A}{\isacharverbatimopen}}\isanewline
   3.365 -e{\isaliteral{5F}{\isacharunderscore}}term\isanewline
   3.366 -{\isaliteral{2A7D}{\isacharverbatimclose}}\isanewline
   3.367 -\isacommand{ML}\isamarkupfalse%
   3.368 -\ {\isaliteral{7B2A}{\isacharverbatimopen}}\isanewline
   3.369 -fun\ mk{\isaliteral{5F}{\isacharunderscore}}prod\ prod\ {\isaliteral{5B}{\isacharbrackleft}}{\isaliteral{5D}{\isacharbrackright}}\ {\isaliteral{3D}{\isacharequal}}\isanewline
   3.370 -\ \ \ \ \ \ if\ prod\ {\isaliteral{3D}{\isacharequal}}\ e{\isaliteral{5F}{\isacharunderscore}}term\ then\ error\ {\isaliteral{22}{\isachardoublequote}}mk{\isaliteral{5F}{\isacharunderscore}}prod\ called\ with\ {\isaliteral{5B}{\isacharbrackleft}}{\isaliteral{5D}{\isacharbrackright}}{\isaliteral{22}{\isachardoublequote}}\ else\ prod\isanewline
   3.371 -\ \ {\isaliteral{7C}{\isacharbar}}\ mk{\isaliteral{5F}{\isacharunderscore}}prod\ prod\ {\isaliteral{28}{\isacharparenleft}}t\ {\isaliteral{3A}{\isacharcolon}}{\isaliteral{3A}{\isacharcolon}}\ {\isaliteral{5B}{\isacharbrackleft}}{\isaliteral{5D}{\isacharbrackright}}{\isaliteral{29}{\isacharparenright}}\ {\isaliteral{3D}{\isacharequal}}\isanewline
   3.372 -\ \ \ \ \ \ if\ prod\ {\isaliteral{3D}{\isacharequal}}\ e{\isaliteral{5F}{\isacharunderscore}}term\ then\ t\ else\ HOLogic{\isaliteral{2E}{\isachardot}}mk{\isaliteral{5F}{\isacharunderscore}}binop\ {\isaliteral{22}{\isachardoublequote}}Groups{\isaliteral{2E}{\isachardot}}times{\isaliteral{5F}{\isacharunderscore}}class{\isaliteral{2E}{\isachardot}}times{\isaliteral{22}{\isachardoublequote}}\ {\isaliteral{28}{\isacharparenleft}}prod{\isaliteral{2C}{\isacharcomma}}\ t{\isaliteral{29}{\isacharparenright}}\isanewline
   3.373 -\ \ {\isaliteral{7C}{\isacharbar}}\ mk{\isaliteral{5F}{\isacharunderscore}}prod\ prod\ {\isaliteral{28}{\isacharparenleft}}t{\isadigit{1}}\ {\isaliteral{3A}{\isacharcolon}}{\isaliteral{3A}{\isacharcolon}}\ t{\isadigit{2}}\ {\isaliteral{3A}{\isacharcolon}}{\isaliteral{3A}{\isacharcolon}}\ ts{\isaliteral{29}{\isacharparenright}}\ {\isaliteral{3D}{\isacharequal}}\isanewline
   3.374 -\ \ \ \ \ \ \ \ if\ prod\ {\isaliteral{3D}{\isacharequal}}\ e{\isaliteral{5F}{\isacharunderscore}}term\ \isanewline
   3.375 -\ \ \ \ \ \ \ \ then\ \isanewline
   3.376 -\ \ \ \ \ \ \ \ \ \ \ let\ val\ p\ {\isaliteral{3D}{\isacharequal}}\ HOLogic{\isaliteral{2E}{\isachardot}}mk{\isaliteral{5F}{\isacharunderscore}}binop\ {\isaliteral{22}{\isachardoublequote}}Groups{\isaliteral{2E}{\isachardot}}times{\isaliteral{5F}{\isacharunderscore}}class{\isaliteral{2E}{\isachardot}}times{\isaliteral{22}{\isachardoublequote}}\ {\isaliteral{28}{\isacharparenleft}}t{\isadigit{1}}{\isaliteral{2C}{\isacharcomma}}\ t{\isadigit{2}}{\isaliteral{29}{\isacharparenright}}\isanewline
   3.377 -\ \ \ \ \ \ \ \ \ \ \ in\ mk{\isaliteral{5F}{\isacharunderscore}}prod\ p\ ts\ end\ \isanewline
   3.378 -\ \ \ \ \ \ \ \ else\ \isanewline
   3.379 -\ \ \ \ \ \ \ \ \ \ \ let\ val\ p\ {\isaliteral{3D}{\isacharequal}}\ HOLogic{\isaliteral{2E}{\isachardot}}mk{\isaliteral{5F}{\isacharunderscore}}binop\ {\isaliteral{22}{\isachardoublequote}}Groups{\isaliteral{2E}{\isachardot}}times{\isaliteral{5F}{\isacharunderscore}}class{\isaliteral{2E}{\isachardot}}times{\isaliteral{22}{\isachardoublequote}}\ {\isaliteral{28}{\isacharparenleft}}prod{\isaliteral{2C}{\isacharcomma}}\ t{\isadigit{1}}{\isaliteral{29}{\isacharparenright}}\isanewline
   3.380 -\ \ \ \ \ \ \ \ \ \ \ in\ mk{\isaliteral{5F}{\isacharunderscore}}prod\ p\ {\isaliteral{28}{\isacharparenleft}}t{\isadigit{2}}\ {\isaliteral{3A}{\isacharcolon}}{\isaliteral{3A}{\isacharcolon}}\ ts{\isaliteral{29}{\isacharparenright}}\ end\ \isanewline
   3.381 -{\isaliteral{2A7D}{\isacharverbatimclose}}\isanewline
   3.382 -\isacommand{ML}\isamarkupfalse%
   3.383 -\ {\isaliteral{7B2A}{\isacharverbatimopen}}\isanewline
   3.384 -{\isaliteral{2A7D}{\isacharverbatimclose}}\isanewline
   3.385 -\isacommand{ML}\isamarkupfalse%
   3.386 -\ {\isaliteral{7B2A}{\isacharverbatimopen}}\isanewline
   3.387 -{\isaliteral{28}{\isacharparenleft}}{\isaliteral{2A}{\isacharasterisk}}probably\ keept\ these\ test\ in\ test{\isaliteral{2F}{\isacharslash}}Tools{\isaliteral{2F}{\isacharslash}}isac{\isaliteral{2F}{\isacharslash}}{\isaliteral{2E}{\isachardot}}{\isaliteral{2E}{\isachardot}}{\isaliteral{2E}{\isachardot}}\isanewline
   3.388 -{\isaliteral{28}{\isacharparenleft}}{\isaliteral{2A}{\isacharasterisk}}mk{\isaliteral{5F}{\isacharunderscore}}prod\ e{\isaliteral{5F}{\isacharunderscore}}term\ {\isaliteral{5B}{\isacharbrackleft}}{\isaliteral{5D}{\isacharbrackright}}{\isaliteral{3B}{\isacharsemicolon}}{\isaliteral{2A}{\isacharasterisk}}{\isaliteral{29}{\isacharparenright}}\isanewline
   3.389 -\isanewline
   3.390 -val\ prod\ {\isaliteral{3D}{\isacharequal}}\ mk{\isaliteral{5F}{\isacharunderscore}}prod\ e{\isaliteral{5F}{\isacharunderscore}}term\ {\isaliteral{5B}{\isacharbrackleft}}str{\isadigit{2}}term\ {\isaliteral{22}{\isachardoublequote}}x\ {\isaliteral{2B}{\isacharplus}}\ {\isadigit{1}}{\isadigit{2}}{\isadigit{3}}{\isaliteral{22}{\isachardoublequote}}{\isaliteral{5D}{\isacharbrackright}}{\isaliteral{3B}{\isacharsemicolon}}\ \isanewline
   3.391 -term{\isadigit{2}}str\ prod\ {\isaliteral{3D}{\isacharequal}}\ {\isaliteral{22}{\isachardoublequote}}x\ {\isaliteral{2B}{\isacharplus}}\ {\isadigit{1}}{\isadigit{2}}{\isadigit{3}}{\isaliteral{22}{\isachardoublequote}}{\isaliteral{3B}{\isacharsemicolon}}\isanewline
   3.392 -\isanewline
   3.393 -val\ sol\ {\isaliteral{3D}{\isacharequal}}\ str{\isadigit{2}}term\ {\isaliteral{22}{\isachardoublequote}}{\isaliteral{5B}{\isacharbrackleft}}z\ {\isaliteral{3D}{\isacharequal}}\ {\isadigit{1}}\ {\isaliteral{2F}{\isacharslash}}\ {\isadigit{2}}{\isaliteral{2C}{\isacharcomma}}\ z\ {\isaliteral{3D}{\isacharequal}}\ {\isaliteral{2D}{\isacharminus}}{\isadigit{1}}\ {\isaliteral{2F}{\isacharslash}}\ {\isadigit{4}}{\isaliteral{5D}{\isacharbrackright}}{\isaliteral{22}{\isachardoublequote}}{\isaliteral{3B}{\isacharsemicolon}}\isanewline
   3.394 -val\ sols\ {\isaliteral{3D}{\isacharequal}}\ HOLogic{\isaliteral{2E}{\isachardot}}dest{\isaliteral{5F}{\isacharunderscore}}list\ sol{\isaliteral{3B}{\isacharsemicolon}}\isanewline
   3.395 -val\ facs\ {\isaliteral{3D}{\isacharequal}}\ map\ fac{\isaliteral{5F}{\isacharunderscore}}from{\isaliteral{5F}{\isacharunderscore}}sol\ sols{\isaliteral{3B}{\isacharsemicolon}}\isanewline
   3.396 -val\ prod\ {\isaliteral{3D}{\isacharequal}}\ mk{\isaliteral{5F}{\isacharunderscore}}prod\ e{\isaliteral{5F}{\isacharunderscore}}term\ facs{\isaliteral{3B}{\isacharsemicolon}}\ \isanewline
   3.397 -term{\isadigit{2}}str\ prod\ {\isaliteral{3D}{\isacharequal}}\ {\isaliteral{22}{\isachardoublequote}}{\isaliteral{28}{\isacharparenleft}}z\ {\isaliteral{2B}{\isacharplus}}\ {\isaliteral{2D}{\isacharminus}}{\isadigit{1}}\ {\isaliteral{2A}{\isacharasterisk}}\ {\isaliteral{28}{\isacharparenleft}}{\isadigit{1}}\ {\isaliteral{2F}{\isacharslash}}\ {\isadigit{2}}{\isaliteral{29}{\isacharparenright}}{\isaliteral{29}{\isacharparenright}}\ {\isaliteral{2A}{\isacharasterisk}}\ {\isaliteral{28}{\isacharparenleft}}z\ {\isaliteral{2B}{\isacharplus}}\ {\isaliteral{2D}{\isacharminus}}{\isadigit{1}}\ {\isaliteral{2A}{\isacharasterisk}}\ {\isaliteral{28}{\isacharparenleft}}{\isaliteral{2D}{\isacharminus}}{\isadigit{1}}\ {\isaliteral{2F}{\isacharslash}}\ {\isadigit{4}}{\isaliteral{29}{\isacharparenright}}{\isaliteral{29}{\isacharparenright}}{\isaliteral{22}{\isachardoublequote}}{\isaliteral{3B}{\isacharsemicolon}}\isanewline
   3.398 -\isanewline
   3.399 -val\ prod\ {\isaliteral{3D}{\isacharequal}}\ mk{\isaliteral{5F}{\isacharunderscore}}prod\ e{\isaliteral{5F}{\isacharunderscore}}term\ {\isaliteral{5B}{\isacharbrackleft}}str{\isadigit{2}}term\ {\isaliteral{22}{\isachardoublequote}}x\ {\isaliteral{2B}{\isacharplus}}\ {\isadigit{1}}{\isaliteral{22}{\isachardoublequote}}{\isaliteral{2C}{\isacharcomma}}\ str{\isadigit{2}}term\ {\isaliteral{22}{\isachardoublequote}}x\ {\isaliteral{2B}{\isacharplus}}\ {\isadigit{2}}{\isaliteral{22}{\isachardoublequote}}{\isaliteral{2C}{\isacharcomma}}\ str{\isadigit{2}}term\ {\isaliteral{22}{\isachardoublequote}}x\ {\isaliteral{2B}{\isacharplus}}\ {\isadigit{3}}{\isaliteral{22}{\isachardoublequote}}{\isaliteral{5D}{\isacharbrackright}}{\isaliteral{3B}{\isacharsemicolon}}\ \isanewline
   3.400 -term{\isadigit{2}}str\ prod\ {\isaliteral{3D}{\isacharequal}}\ {\isaliteral{22}{\isachardoublequote}}{\isaliteral{28}{\isacharparenleft}}x\ {\isaliteral{2B}{\isacharplus}}\ {\isadigit{1}}{\isaliteral{29}{\isacharparenright}}\ {\isaliteral{2A}{\isacharasterisk}}\ {\isaliteral{28}{\isacharparenleft}}x\ {\isaliteral{2B}{\isacharplus}}\ {\isadigit{2}}{\isaliteral{29}{\isacharparenright}}\ {\isaliteral{2A}{\isacharasterisk}}\ {\isaliteral{28}{\isacharparenleft}}x\ {\isaliteral{2B}{\isacharplus}}\ {\isadigit{3}}{\isaliteral{29}{\isacharparenright}}{\isaliteral{22}{\isachardoublequote}}{\isaliteral{3B}{\isacharsemicolon}}\isanewline
   3.401 -{\isaliteral{2A}{\isacharasterisk}}{\isaliteral{29}{\isacharparenright}}\isanewline
   3.402 -\isanewline
   3.403 -fun\ factors{\isaliteral{5F}{\isacharunderscore}}from{\isaliteral{5F}{\isacharunderscore}}solution\ sol\ {\isaliteral{3D}{\isacharequal}}\ \isanewline
   3.404 -\ \ let\ val\ ts\ {\isaliteral{3D}{\isacharequal}}\ HOLogic{\isaliteral{2E}{\isachardot}}dest{\isaliteral{5F}{\isacharunderscore}}list\ sol\isanewline
   3.405 -\ \ in\ mk{\isaliteral{5F}{\isacharunderscore}}prod\ e{\isaliteral{5F}{\isacharunderscore}}term\ {\isaliteral{28}{\isacharparenleft}}map\ fac{\isaliteral{5F}{\isacharunderscore}}from{\isaliteral{5F}{\isacharunderscore}}sol\ ts{\isaliteral{29}{\isacharparenright}}\ end{\isaliteral{3B}{\isacharsemicolon}}\isanewline
   3.406 -{\isaliteral{28}{\isacharparenleft}}{\isaliteral{2A}{\isacharasterisk}}\isanewline
   3.407 -val\ sol\ {\isaliteral{3D}{\isacharequal}}\ str{\isadigit{2}}term\ {\isaliteral{22}{\isachardoublequote}}{\isaliteral{5B}{\isacharbrackleft}}z\ {\isaliteral{3D}{\isacharequal}}\ {\isadigit{1}}\ {\isaliteral{2F}{\isacharslash}}\ {\isadigit{2}}{\isaliteral{2C}{\isacharcomma}}\ z\ {\isaliteral{3D}{\isacharequal}}\ {\isaliteral{2D}{\isacharminus}}{\isadigit{1}}\ {\isaliteral{2F}{\isacharslash}}\ {\isadigit{4}}{\isaliteral{5D}{\isacharbrackright}}{\isaliteral{22}{\isachardoublequote}}{\isaliteral{3B}{\isacharsemicolon}}\isanewline
   3.408 -val\ fs\ {\isaliteral{3D}{\isacharequal}}\ factors{\isaliteral{5F}{\isacharunderscore}}from{\isaliteral{5F}{\isacharunderscore}}solution\ sol{\isaliteral{3B}{\isacharsemicolon}}\isanewline
   3.409 -term{\isadigit{2}}str\ fs\ {\isaliteral{3D}{\isacharequal}}\ {\isaliteral{22}{\isachardoublequote}}{\isaliteral{28}{\isacharparenleft}}z\ {\isaliteral{2B}{\isacharplus}}\ {\isaliteral{2D}{\isacharminus}}{\isadigit{1}}\ {\isaliteral{2A}{\isacharasterisk}}\ {\isaliteral{28}{\isacharparenleft}}{\isadigit{1}}\ {\isaliteral{2F}{\isacharslash}}\ {\isadigit{2}}{\isaliteral{29}{\isacharparenright}}{\isaliteral{29}{\isacharparenright}}\ {\isaliteral{2A}{\isacharasterisk}}\ {\isaliteral{28}{\isacharparenleft}}z\ {\isaliteral{2B}{\isacharplus}}\ {\isaliteral{2D}{\isacharminus}}{\isadigit{1}}\ {\isaliteral{2A}{\isacharasterisk}}\ {\isaliteral{28}{\isacharparenleft}}{\isaliteral{2D}{\isacharminus}}{\isadigit{1}}\ {\isaliteral{2F}{\isacharslash}}\ {\isadigit{4}}{\isaliteral{29}{\isacharparenright}}{\isaliteral{29}{\isacharparenright}}{\isaliteral{22}{\isachardoublequote}}\isanewline
   3.410 -{\isaliteral{2A}{\isacharasterisk}}{\isaliteral{29}{\isacharparenright}}\isanewline
   3.411 +\ \ val\ SOME\ solutions\ {\isaliteral{3D}{\isacharequal}}\ parseNEW\ ctxt\ {\isaliteral{22}{\isachardoublequote}}{\isaliteral{5B}{\isacharbrackleft}}z{\isaliteral{3D}{\isacharequal}}{\isadigit{1}}{\isaliteral{2F}{\isacharslash}}{\isadigit{2}}{\isaliteral{2C}{\isacharcomma}}\ z{\isaliteral{3D}{\isacharequal}}{\isaliteral{2D}{\isacharminus}}{\isadigit{1}}{\isaliteral{2F}{\isacharslash}}{\isadigit{4}}{\isaliteral{5D}{\isacharbrackright}}{\isaliteral{22}{\isachardoublequote}}{\isaliteral{3B}{\isacharsemicolon}}\isanewline
   3.412 +\ \ term{\isadigit{2}}str\ solutions{\isaliteral{3B}{\isacharsemicolon}}\isanewline
   3.413 +\ \ atomty\ solutions{\isaliteral{3B}{\isacharsemicolon}}\isanewline
   3.414  {\isaliteral{2A7D}{\isacharverbatimclose}}%
   3.415  \endisatagML
   3.416  {\isafoldML}%
   3.417 @@ -833,11 +777,14 @@
   3.418  %
   3.419  \endisadelimML
   3.420  %
   3.421 +\isamarkupsubsubsection{Get Solutions out of a List%
   3.422 +}
   3.423 +\isamarkuptrue%
   3.424 +%
   3.425  \begin{isamarkuptext}%
   3.426 -This function needs to be packed such that it can be evaluated by the Lucas-Interpreter:
   3.427 -  # shift these functions into the related Equation.thy
   3.428 -  #  -- compare steps done with get_denominator above
   3.429 -  # done 02.12.2011 moved to PartialFractions.thy%
   3.430 +\noindent In {\sisac}'s CTP-based programming language: 
   3.431 +       \ttfamily let\$ \$s\_1 = NTH 1\$ solutions; \$s\_2 = NTH 2...\$ \normalfont
   3.432 +       can be usefull.%
   3.433  \end{isamarkuptext}%
   3.434  \isamarkuptrue%
   3.435  %
   3.436 @@ -848,16 +795,10 @@
   3.437  \isatagML
   3.438  \isacommand{ML}\isamarkupfalse%
   3.439  \ {\isaliteral{7B2A}{\isacharverbatimopen}}\isanewline
   3.440 -{\isaliteral{28}{\isacharparenleft}}{\isaliteral{2A}{\isacharasterisk}}{\isaliteral{28}{\isacharparenleft}}{\isaliteral{22}{\isachardoublequote}}factors{\isaliteral{5F}{\isacharunderscore}}from{\isaliteral{5F}{\isacharunderscore}}solution{\isaliteral{22}{\isachardoublequote}}{\isaliteral{2C}{\isacharcomma}}\ {\isaliteral{28}{\isacharparenleft}}{\isaliteral{22}{\isachardoublequote}}Partial{\isaliteral{5F}{\isacharunderscore}}Fractions{\isaliteral{2E}{\isachardot}}factors{\isaliteral{5F}{\isacharunderscore}}from{\isaliteral{5F}{\isacharunderscore}}solution{\isaliteral{22}{\isachardoublequote}}{\isaliteral{2C}{\isacharcomma}}\ eval{\isaliteral{5F}{\isacharunderscore}}factors{\isaliteral{5F}{\isacharunderscore}}from{\isaliteral{5F}{\isacharunderscore}}solution\ {\isaliteral{22}{\isachardoublequote}}{\isaliteral{22}{\isachardoublequote}}{\isaliteral{29}{\isacharparenright}}{\isaliteral{29}{\isacharparenright}}{\isaliteral{2A}{\isacharasterisk}}{\isaliteral{29}{\isacharparenright}}\isanewline
   3.441 -fun\ eval{\isaliteral{5F}{\isacharunderscore}}factors{\isaliteral{5F}{\isacharunderscore}}from{\isaliteral{5F}{\isacharunderscore}}solution\ {\isaliteral{28}{\isacharparenleft}}thmid{\isaliteral{3A}{\isacharcolon}}string{\isaliteral{29}{\isacharparenright}}\ {\isaliteral{5F}{\isacharunderscore}}\isanewline
   3.442 -\ \ \ \ \ {\isaliteral{28}{\isacharparenleft}}t\ as\ Const\ {\isaliteral{28}{\isacharparenleft}}{\isaliteral{22}{\isachardoublequote}}Partial{\isaliteral{5F}{\isacharunderscore}}Fractions{\isaliteral{2E}{\isachardot}}factors{\isaliteral{5F}{\isacharunderscore}}from{\isaliteral{5F}{\isacharunderscore}}solution{\isaliteral{22}{\isachardoublequote}}{\isaliteral{2C}{\isacharcomma}}\ {\isaliteral{5F}{\isacharunderscore}}{\isaliteral{29}{\isacharparenright}}\ {\isaliteral{24}{\isachardollar}}\ sol{\isaliteral{29}{\isacharparenright}}\ thy\ {\isaliteral{3D}{\isacharequal}}\isanewline
   3.443 -\ \ \ \ \ \ \ {\isaliteral{28}{\isacharparenleft}}{\isaliteral{28}{\isacharparenleft}}let\ val\ prod\ {\isaliteral{3D}{\isacharequal}}\ factors{\isaliteral{5F}{\isacharunderscore}}from{\isaliteral{5F}{\isacharunderscore}}solution\ sol\isanewline
   3.444 -\ \ \ \ \ \ \ \ \ in\ SOME\ {\isaliteral{28}{\isacharparenleft}}mk{\isaliteral{5F}{\isacharunderscore}}thmid\ thmid\ {\isaliteral{22}{\isachardoublequote}}{\isaliteral{22}{\isachardoublequote}}\isanewline
   3.445 -\ \ \ \ \ \ \ \ \ \ \ {\isaliteral{28}{\isacharparenleft}}Print{\isaliteral{5F}{\isacharunderscore}}Mode{\isaliteral{2E}{\isachardot}}setmp\ {\isaliteral{5B}{\isacharbrackleft}}{\isaliteral{5D}{\isacharbrackright}}\ {\isaliteral{28}{\isacharparenleft}}Syntax{\isaliteral{2E}{\isachardot}}string{\isaliteral{5F}{\isacharunderscore}}of{\isaliteral{5F}{\isacharunderscore}}term\ {\isaliteral{28}{\isacharparenleft}}thy{\isadigit{2}}ctxt\ thy{\isaliteral{29}{\isacharparenright}}{\isaliteral{29}{\isacharparenright}}\ prod{\isaliteral{29}{\isacharparenright}}\ {\isaliteral{22}{\isachardoublequote}}{\isaliteral{22}{\isachardoublequote}}{\isaliteral{2C}{\isacharcomma}}\isanewline
   3.446 -\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ Trueprop\ {\isaliteral{24}{\isachardollar}}\ {\isaliteral{28}{\isacharparenleft}}mk{\isaliteral{5F}{\isacharunderscore}}equality\ {\isaliteral{28}{\isacharparenleft}}t{\isaliteral{2C}{\isacharcomma}}\ prod{\isaliteral{29}{\isacharparenright}}{\isaliteral{29}{\isacharparenright}}{\isaliteral{29}{\isacharparenright}}\isanewline
   3.447 -\ \ \ \ \ \ \ \ \ end{\isaliteral{29}{\isacharparenright}}\isanewline
   3.448 -\ \ \ \ \ \ \ handle\ {\isaliteral{5F}{\isacharunderscore}}\ {\isaliteral{3D}{\isacharequal}}{\isaliteral{3E}{\isachargreater}}\ NONE{\isaliteral{29}{\isacharparenright}}\isanewline
   3.449 -\ {\isaliteral{7C}{\isacharbar}}\ eval{\isaliteral{5F}{\isacharunderscore}}factors{\isaliteral{5F}{\isacharunderscore}}from{\isaliteral{5F}{\isacharunderscore}}solution\ {\isaliteral{5F}{\isacharunderscore}}\ {\isaliteral{5F}{\isacharunderscore}}\ {\isaliteral{5F}{\isacharunderscore}}\ {\isaliteral{5F}{\isacharunderscore}}\ {\isaliteral{3D}{\isacharequal}}\ NONE{\isaliteral{3B}{\isacharsemicolon}}\isanewline
   3.450 +\ \ val\ Const\ {\isaliteral{28}{\isacharparenleft}}{\isaliteral{22}{\isachardoublequote}}List{\isaliteral{2E}{\isachardot}}list{\isaliteral{2E}{\isachardot}}Cons{\isaliteral{22}{\isachardoublequote}}{\isaliteral{2C}{\isacharcomma}}\ {\isaliteral{5F}{\isacharunderscore}}{\isaliteral{29}{\isacharparenright}}\ {\isaliteral{24}{\isachardollar}}\ s{\isaliteral{5F}{\isacharunderscore}}{\isadigit{1}}\ {\isaliteral{24}{\isachardollar}}\ {\isaliteral{28}{\isacharparenleft}}Const\ {\isaliteral{28}{\isacharparenleft}}{\isaliteral{22}{\isachardoublequote}}List{\isaliteral{2E}{\isachardot}}list{\isaliteral{2E}{\isachardot}}Cons{\isaliteral{22}{\isachardoublequote}}{\isaliteral{2C}{\isacharcomma}}\ {\isaliteral{5F}{\isacharunderscore}}{\isaliteral{29}{\isacharparenright}}\isanewline
   3.451 +\ \ \ \ \ \ \ \ {\isaliteral{24}{\isachardollar}}\ s{\isaliteral{5F}{\isacharunderscore}}{\isadigit{2}}\ {\isaliteral{24}{\isachardollar}}\ Const\ {\isaliteral{28}{\isacharparenleft}}{\isaliteral{22}{\isachardoublequote}}List{\isaliteral{2E}{\isachardot}}list{\isaliteral{2E}{\isachardot}}Nil{\isaliteral{22}{\isachardoublequote}}{\isaliteral{2C}{\isacharcomma}}\ {\isaliteral{5F}{\isacharunderscore}}{\isaliteral{29}{\isacharparenright}}{\isaliteral{29}{\isacharparenright}}\ {\isaliteral{3D}{\isacharequal}}\ solutions{\isaliteral{3B}{\isacharsemicolon}}\isanewline
   3.452 +\ \ term{\isadigit{2}}str\ s{\isaliteral{5F}{\isacharunderscore}}{\isadigit{1}}{\isaliteral{3B}{\isacharsemicolon}}\isanewline
   3.453 +\ \ term{\isadigit{2}}str\ s{\isaliteral{5F}{\isacharunderscore}}{\isadigit{2}}{\isaliteral{3B}{\isacharsemicolon}}\isanewline
   3.454  {\isaliteral{2A7D}{\isacharverbatimclose}}%
   3.455  \endisatagML
   3.456  {\isafoldML}%
   3.457 @@ -867,103 +808,14 @@
   3.458  \endisadelimML
   3.459  %
   3.460  \begin{isamarkuptext}%
   3.461 -The tracing output of the calc tree after apllying this function was
   3.462 -24 / factors_from_solution [z = 1/ 2, z = -1 / 4])]  and the next step
   3.463 - val nxt = ("Empty_Tac", ...): tac'_).
   3.464 -These observations indicate, that the Lucas-Interpreter (LIP) does 
   3.465 -not know how to evaluate factors_from_solution, so there is something 
   3.466 -wrong or missing.
   3.467 -
   3.468 -# First we isolate the difficulty in the program as follows:
   3.469 -  :
   3.470 -  "      (L_L::bool list) = (SubProblem (PolyEq'," ^
   3.471 -  "          [abcFormula,degree_2,polynomial,univariate,equation],[no_met])" ^
   3.472 -  "        [BOOL equ, REAL zzz]);              " ^
   3.473 -  "      (facs::real) = factors_from_solution L_L;" ^
   3.474 -  "      (foo::real) = Take facs" ^
   3.475 -  :
   3.476 -and see
   3.477 -  [
   3.478 -  (([], Frm), Problem (Isac, [inverse, Z_Transform, SignalProcessing])),
   3.479 -  (([1], Frm), X z = 3 / (z - 1 / 4 + -1 / 8 * (1 / z))),
   3.480 -  (([1], Res), ?X' z = 3 / (z * (z - 1 / 4 + -1 / 8 * (1 / z)))),
   3.481 -  (([2], Res), ?X' z = 24 / (-1 + -2 * z + 8 * z ^^^ 2)),
   3.482 -  (([3], Pbl), solve (-1 + -2 * z + 8 * z ^^^ 2 = 0, z)),
   3.483 -  (([3,1], Frm), -1 + -2 * z + 8 * z ^^^ 2 = 0),
   3.484 -  (([3,1], Res), z = (- -2 + sqrt (-2 ^^^ 2 - 4 * 8 * -1)) / (2 * 8) |
   3.485 -                 z = (- -2 - sqrt (-2 ^^^ 2 - 4 * 8 * -1)) / (2 * 8)),
   3.486 -  (([3,2], Res), z = 1 / 2 | z = -1 / 4),
   3.487 -  (([3,3], Res), [z = 1 / 2, z = -1 / 4]),
   3.488 -  (([3,4], Res), [z = 1 / 2, z = -1 / 4]),
   3.489 -  (([3], Res), [z = 1 / 2, z = -1 / 4]),
   3.490 -  (([4], Frm), factors_from_solution [z = 1 / 2, z = -1 / 4])]
   3.491 -in particular that
   3.492 -  (([3], Pbl), solve (-1 + -2 * z + 8 * z ^^^ 2 = 0, z)),
   3.493 -shows the equation which has been created in the program by
   3.494 -  "      (denom::real) = get_denominator funterm;" ^ (*get_denominator*)
   3.495 -  "      (equ::bool) = (denom = (0::real));" ^
   3.496 -# 'get_denominator' has been evaluated successfully, but not factors_from_solution.
   3.497 -So we stepwise compare with an analogous case, get_denominator 
   3.498 -successfully done above: We know that LIP evaluates expressions in the 
   3.499 -program by use of the "srls", so we
   3.500 -# try to get the original srls
   3.501 -
   3.502 -  val {srls, ...} = get_met ["SignalProcessing","Z_Transform","inverse"];
   3.503 -
   3.504 -# create 2 good example terms
   3.505 -  val SOME t1 = parseNEW ctxt "get_denominator ((111::real) / 222)";
   3.506 -  val SOME t2 = parseNEW ctxt "factors_from_solution [(z::real) = 1 / 2, z = -1 / 4]";
   3.507 -
   3.508 -# rewrite the terms using srls
   3.509 -  rewrite_set_ thy true srls t1;
   3.510 -  rewrite_set_ thy true srls t2;
   3.511 -
   3.512 -and we see a difference: t1 gives SOME, t2 gives NONE.
   3.513 -Now we look at the srls:
   3.514 -  val srls = Rls {id="srls_InverseZTransform",
   3.515 -    :
   3.516 -    rules =
   3.517 -      [
   3.518 -        :
   3.519 -        Calc("Rational.get_numerator",
   3.520 -          eval_get_numerator "Rational.get_numerator"),
   3.521 -        Calc("Partial_Fractions.factors_from_solution",
   3.522 -          eval_factors_from_solution "Partial_Fractions.factors_from_solution")
   3.523 -      ],
   3.524 -    :
   3.525 -
   3.526 -Here everthing is perfect. So the error can only be in the SML code of eval_factors_from_solution.
   3.527 -We try to check the code with an existing test; since the code is in
   3.528 -
   3.529 -  src/Tools/isac/Knowledge/Partial_Fractions.thy
   3.530 -
   3.531 -the test should be in
   3.532 -
   3.533 -  test/Tools/isac/Knowledge/partial_fractions.sml
   3.534 -
   3.535 --------------------------------------------------------------------------------
   3.536 -After updating the function get_factors_from solution to a new version and 
   3.537 -putting a testcase to Partial_Fractions.sml we tried again to evaluate the
   3.538 -term with the same result.
   3.539 -We opened the test Test_Isac.thy and saw that everything is working fine.
   3.540 -Also we checked that the test partial_fractions.sml is used in Test_Isac.thy 
   3.541 -
   3.542 --->  use "Knowledge/partial_fractions.sml"
   3.543 -
   3.544 -and Partial_Fractions.thy is part is part of isac by evaluating
   3.545 -
   3.546 -val thy = \hyperlink{theory.Isac}{\mbox{\isa{Isac}}};
   3.547 -
   3.548 -after rebuilding isac again it worked%
   3.549 -\end{isamarkuptext}%
   3.550 -\isamarkuptrue%
   3.551 -%
   3.552 -\isamarkupsubsubsection{build expression%
   3.553 -}
   3.554 -\isamarkuptrue%
   3.555 -%
   3.556 -\begin{isamarkuptext}%
   3.557 -in isac's CTP-based programming language: let s_1 = Take numerator / (s_1 * s_2)%
   3.558 +\noindent The ansatz for the \em Partial Fraction Decomposion \normalfont
   3.559 +      requires to get the denominators of the partial fractions out of the 
   3.560 +      Solutions as:
   3.561 +      \begin{itemize}
   3.562 +      \item $\text{Denominator}_{1} = z - \text{Zeropoint}_{1}$
   3.563 +      \item $\text{Denominator}_{2} = z - \text{Zeropoint}_{2}$
   3.564 +      \item \ldots
   3.565 +      \end{itemize}%
   3.566  \end{isamarkuptext}%
   3.567  \isamarkuptrue%
   3.568  %
   3.569 @@ -974,12 +826,12 @@
   3.570  \isatagML
   3.571  \isacommand{ML}\isamarkupfalse%
   3.572  \ {\isaliteral{7B2A}{\isacharverbatimopen}}\isanewline
   3.573 -{\isaliteral{28}{\isacharparenleft}}{\isaliteral{2A}{\isacharasterisk}}The\ Main\ Denominator\ is\ the\ multiplikation\ of\ the\ partial\ fraction\ denominators{\isaliteral{2A}{\isacharasterisk}}{\isaliteral{29}{\isacharparenright}}\isanewline
   3.574 -val\ denominator{\isaliteral{27}{\isacharprime}}\ {\isaliteral{3D}{\isacharequal}}\ HOLogic{\isaliteral{2E}{\isachardot}}mk{\isaliteral{5F}{\isacharunderscore}}binop\ {\isaliteral{22}{\isachardoublequote}}Groups{\isaliteral{2E}{\isachardot}}times{\isaliteral{5F}{\isacharunderscore}}class{\isaliteral{2E}{\isachardot}}times{\isaliteral{22}{\isachardoublequote}}\ {\isaliteral{28}{\isacharparenleft}}s{\isaliteral{5F}{\isacharunderscore}}{\isadigit{1}}{\isaliteral{27}{\isacharprime}}{\isaliteral{2C}{\isacharcomma}}\ s{\isaliteral{5F}{\isacharunderscore}}{\isadigit{2}}{\isaliteral{27}{\isacharprime}}{\isaliteral{29}{\isacharparenright}}\ {\isaliteral{3B}{\isacharsemicolon}}\isanewline
   3.575 -val\ SOME\ numerator\ {\isaliteral{3D}{\isacharequal}}\ parseNEW\ ctxt\ {\isaliteral{22}{\isachardoublequote}}{\isadigit{3}}{\isaliteral{3A}{\isacharcolon}}{\isaliteral{3A}{\isacharcolon}}real{\isaliteral{22}{\isachardoublequote}}{\isaliteral{3B}{\isacharsemicolon}}\isanewline
   3.576 -\isanewline
   3.577 -val\ expr{\isaliteral{27}{\isacharprime}}\ {\isaliteral{3D}{\isacharequal}}\ HOLogic{\isaliteral{2E}{\isachardot}}mk{\isaliteral{5F}{\isacharunderscore}}binop\ {\isaliteral{22}{\isachardoublequote}}Rings{\isaliteral{2E}{\isachardot}}inverse{\isaliteral{5F}{\isacharunderscore}}class{\isaliteral{2E}{\isachardot}}divide{\isaliteral{22}{\isachardoublequote}}\ {\isaliteral{28}{\isacharparenleft}}numerator{\isaliteral{2C}{\isacharcomma}}\ denominator{\isaliteral{27}{\isacharprime}}{\isaliteral{29}{\isacharparenright}}{\isaliteral{3B}{\isacharsemicolon}}\isanewline
   3.578 -term{\isadigit{2}}str\ expr{\isaliteral{27}{\isacharprime}}{\isaliteral{3B}{\isacharsemicolon}}\isanewline
   3.579 +\ \ val\ xx\ {\isaliteral{3D}{\isacharequal}}\ HOLogic{\isaliteral{2E}{\isachardot}}dest{\isaliteral{5F}{\isacharunderscore}}eq\ s{\isaliteral{5F}{\isacharunderscore}}{\isadigit{1}}{\isaliteral{3B}{\isacharsemicolon}}\isanewline
   3.580 +\ \ val\ s{\isaliteral{5F}{\isacharunderscore}}{\isadigit{1}}{\isaliteral{27}{\isacharprime}}\ {\isaliteral{3D}{\isacharequal}}\ HOLogic{\isaliteral{2E}{\isachardot}}mk{\isaliteral{5F}{\isacharunderscore}}binop\ {\isaliteral{22}{\isachardoublequote}}Groups{\isaliteral{2E}{\isachardot}}minus{\isaliteral{5F}{\isacharunderscore}}class{\isaliteral{2E}{\isachardot}}minus{\isaliteral{22}{\isachardoublequote}}\ xx{\isaliteral{3B}{\isacharsemicolon}}\isanewline
   3.581 +\ \ val\ xx\ {\isaliteral{3D}{\isacharequal}}\ HOLogic{\isaliteral{2E}{\isachardot}}dest{\isaliteral{5F}{\isacharunderscore}}eq\ s{\isaliteral{5F}{\isacharunderscore}}{\isadigit{2}}{\isaliteral{3B}{\isacharsemicolon}}\isanewline
   3.582 +\ \ val\ s{\isaliteral{5F}{\isacharunderscore}}{\isadigit{2}}{\isaliteral{27}{\isacharprime}}\ {\isaliteral{3D}{\isacharequal}}\ HOLogic{\isaliteral{2E}{\isachardot}}mk{\isaliteral{5F}{\isacharunderscore}}binop\ {\isaliteral{22}{\isachardoublequote}}Groups{\isaliteral{2E}{\isachardot}}minus{\isaliteral{5F}{\isacharunderscore}}class{\isaliteral{2E}{\isachardot}}minus{\isaliteral{22}{\isachardoublequote}}\ xx{\isaliteral{3B}{\isacharsemicolon}}\isanewline
   3.583 +\ \ term{\isadigit{2}}str\ s{\isaliteral{5F}{\isacharunderscore}}{\isadigit{1}}{\isaliteral{27}{\isacharprime}}{\isaliteral{3B}{\isacharsemicolon}}\isanewline
   3.584 +\ \ term{\isadigit{2}}str\ s{\isaliteral{5F}{\isacharunderscore}}{\isadigit{2}}{\isaliteral{27}{\isacharprime}}{\isaliteral{3B}{\isacharsemicolon}}\isanewline
   3.585  {\isaliteral{2A7D}{\isacharverbatimclose}}%
   3.586  \endisatagML
   3.587  {\isafoldML}%
   3.588 @@ -988,10 +840,262 @@
   3.589  %
   3.590  \endisadelimML
   3.591  %
   3.592 -\isamarkupsubsubsection{Ansatz - create partial fractions out of our expression%
   3.593 +\begin{isamarkuptext}%
   3.594 +\noindent For the programming language a function collecting all the 
   3.595 +        above manipulations is helpful.%
   3.596 +\end{isamarkuptext}%
   3.597 +\isamarkuptrue%
   3.598 +%
   3.599 +\isadelimML
   3.600 +%
   3.601 +\endisadelimML
   3.602 +%
   3.603 +\isatagML
   3.604 +\isacommand{ML}\isamarkupfalse%
   3.605 +\ {\isaliteral{7B2A}{\isacharverbatimopen}}\isanewline
   3.606 +\ \ fun\ fac{\isaliteral{5F}{\isacharunderscore}}from{\isaliteral{5F}{\isacharunderscore}}sol\ s\ {\isaliteral{3D}{\isacharequal}}\isanewline
   3.607 +\ \ \ \ let\ val\ {\isaliteral{28}{\isacharparenleft}}lhs{\isaliteral{2C}{\isacharcomma}}\ rhs{\isaliteral{29}{\isacharparenright}}\ {\isaliteral{3D}{\isacharequal}}\ HOLogic{\isaliteral{2E}{\isachardot}}dest{\isaliteral{5F}{\isacharunderscore}}eq\ s\isanewline
   3.608 +\ \ \ \ in\ HOLogic{\isaliteral{2E}{\isachardot}}mk{\isaliteral{5F}{\isacharunderscore}}binop\ {\isaliteral{22}{\isachardoublequote}}Groups{\isaliteral{2E}{\isachardot}}minus{\isaliteral{5F}{\isacharunderscore}}class{\isaliteral{2E}{\isachardot}}minus{\isaliteral{22}{\isachardoublequote}}\ {\isaliteral{28}{\isacharparenleft}}lhs{\isaliteral{2C}{\isacharcomma}}\ rhs{\isaliteral{29}{\isacharparenright}}\ end{\isaliteral{3B}{\isacharsemicolon}}\isanewline
   3.609 +{\isaliteral{2A7D}{\isacharverbatimclose}}\isanewline
   3.610 +\isanewline
   3.611 +\isacommand{ML}\isamarkupfalse%
   3.612 +\ {\isaliteral{7B2A}{\isacharverbatimopen}}\isanewline
   3.613 +\ \ fun\ mk{\isaliteral{5F}{\isacharunderscore}}prod\ prod\ {\isaliteral{5B}{\isacharbrackleft}}{\isaliteral{5D}{\isacharbrackright}}\ {\isaliteral{3D}{\isacharequal}}\isanewline
   3.614 +\ \ \ \ \ \ \ \ if\ prod\ {\isaliteral{3D}{\isacharequal}}\ e{\isaliteral{5F}{\isacharunderscore}}term\isanewline
   3.615 +\ \ \ \ \ \ \ \ then\ error\ {\isaliteral{22}{\isachardoublequote}}mk{\isaliteral{5F}{\isacharunderscore}}prod\ called\ with\ {\isaliteral{5B}{\isacharbrackleft}}{\isaliteral{5D}{\isacharbrackright}}{\isaliteral{22}{\isachardoublequote}}\ \isanewline
   3.616 +\ \ \ \ \ \ \ \ else\ prod\isanewline
   3.617 +\ \ \ \ {\isaliteral{7C}{\isacharbar}}\ mk{\isaliteral{5F}{\isacharunderscore}}prod\ prod\ {\isaliteral{28}{\isacharparenleft}}t\ {\isaliteral{3A}{\isacharcolon}}{\isaliteral{3A}{\isacharcolon}}\ {\isaliteral{5B}{\isacharbrackleft}}{\isaliteral{5D}{\isacharbrackright}}{\isaliteral{29}{\isacharparenright}}\ {\isaliteral{3D}{\isacharequal}}\isanewline
   3.618 +\ \ \ \ \ \ \ \ if\ prod\ {\isaliteral{3D}{\isacharequal}}\ e{\isaliteral{5F}{\isacharunderscore}}term\isanewline
   3.619 +\ \ \ \ \ \ \ \ then\ t\isanewline
   3.620 +\ \ \ \ \ \ \ \ else\ HOLogic{\isaliteral{2E}{\isachardot}}mk{\isaliteral{5F}{\isacharunderscore}}binop\ {\isaliteral{22}{\isachardoublequote}}Groups{\isaliteral{2E}{\isachardot}}times{\isaliteral{5F}{\isacharunderscore}}class{\isaliteral{2E}{\isachardot}}times{\isaliteral{22}{\isachardoublequote}}\ {\isaliteral{28}{\isacharparenleft}}prod{\isaliteral{2C}{\isacharcomma}}\ t{\isaliteral{29}{\isacharparenright}}\isanewline
   3.621 +\ \ \ \ {\isaliteral{7C}{\isacharbar}}\ mk{\isaliteral{5F}{\isacharunderscore}}prod\ prod\ {\isaliteral{28}{\isacharparenleft}}t{\isadigit{1}}\ {\isaliteral{3A}{\isacharcolon}}{\isaliteral{3A}{\isacharcolon}}\ t{\isadigit{2}}\ {\isaliteral{3A}{\isacharcolon}}{\isaliteral{3A}{\isacharcolon}}\ ts{\isaliteral{29}{\isacharparenright}}\ {\isaliteral{3D}{\isacharequal}}\isanewline
   3.622 +\ \ \ \ \ \ \ \ \ \ if\ prod\ {\isaliteral{3D}{\isacharequal}}\ e{\isaliteral{5F}{\isacharunderscore}}term\ \isanewline
   3.623 +\ \ \ \ \ \ \ \ \ \ then\ \isanewline
   3.624 +\ \ \ \ \ \ \ \ \ \ \ \ \ let\ val\ p\ {\isaliteral{3D}{\isacharequal}}\ \isanewline
   3.625 +\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ HOLogic{\isaliteral{2E}{\isachardot}}mk{\isaliteral{5F}{\isacharunderscore}}binop\ {\isaliteral{22}{\isachardoublequote}}Groups{\isaliteral{2E}{\isachardot}}times{\isaliteral{5F}{\isacharunderscore}}class{\isaliteral{2E}{\isachardot}}times{\isaliteral{22}{\isachardoublequote}}\ {\isaliteral{28}{\isacharparenleft}}t{\isadigit{1}}{\isaliteral{2C}{\isacharcomma}}\ t{\isadigit{2}}{\isaliteral{29}{\isacharparenright}}\isanewline
   3.626 +\ \ \ \ \ \ \ \ \ \ \ \ \ in\ mk{\isaliteral{5F}{\isacharunderscore}}prod\ p\ ts\ end\ \isanewline
   3.627 +\ \ \ \ \ \ \ \ \ \ else\ \isanewline
   3.628 +\ \ \ \ \ \ \ \ \ \ \ \ \ let\ val\ p\ {\isaliteral{3D}{\isacharequal}}\isanewline
   3.629 +\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ HOLogic{\isaliteral{2E}{\isachardot}}mk{\isaliteral{5F}{\isacharunderscore}}binop\ {\isaliteral{22}{\isachardoublequote}}Groups{\isaliteral{2E}{\isachardot}}times{\isaliteral{5F}{\isacharunderscore}}class{\isaliteral{2E}{\isachardot}}times{\isaliteral{22}{\isachardoublequote}}\ {\isaliteral{28}{\isacharparenleft}}prod{\isaliteral{2C}{\isacharcomma}}\ t{\isadigit{1}}{\isaliteral{29}{\isacharparenright}}\isanewline
   3.630 +\ \ \ \ \ \ \ \ \ \ \ \ \ in\ mk{\isaliteral{5F}{\isacharunderscore}}prod\ p\ {\isaliteral{28}{\isacharparenleft}}t{\isadigit{2}}\ {\isaliteral{3A}{\isacharcolon}}{\isaliteral{3A}{\isacharcolon}}\ ts{\isaliteral{29}{\isacharparenright}}\ end\ \isanewline
   3.631 +{\isaliteral{2A7D}{\isacharverbatimclose}}\isanewline
   3.632 +\isanewline
   3.633 +\isacommand{ML}\isamarkupfalse%
   3.634 +\ {\isaliteral{7B2A}{\isacharverbatimopen}}\isanewline
   3.635 +\ \ fun\ factors{\isaliteral{5F}{\isacharunderscore}}from{\isaliteral{5F}{\isacharunderscore}}solution\ sol\ {\isaliteral{3D}{\isacharequal}}\ \isanewline
   3.636 +\ \ \ \ let\ val\ ts\ {\isaliteral{3D}{\isacharequal}}\ HOLogic{\isaliteral{2E}{\isachardot}}dest{\isaliteral{5F}{\isacharunderscore}}list\ sol\isanewline
   3.637 +\ \ \ \ in\ mk{\isaliteral{5F}{\isacharunderscore}}prod\ e{\isaliteral{5F}{\isacharunderscore}}term\ {\isaliteral{28}{\isacharparenleft}}map\ fac{\isaliteral{5F}{\isacharunderscore}}from{\isaliteral{5F}{\isacharunderscore}}sol\ ts{\isaliteral{29}{\isacharparenright}}\ end{\isaliteral{3B}{\isacharsemicolon}}\isanewline
   3.638 +{\isaliteral{2A7D}{\isacharverbatimclose}}%
   3.639 +\endisatagML
   3.640 +{\isafoldML}%
   3.641 +%
   3.642 +\isadelimML
   3.643 +%
   3.644 +\endisadelimML
   3.645 +%
   3.646 +\begin{isamarkuptext}%
   3.647 +\noindent This function needs to be packed such that it can be evaluated
   3.648 +        by the Lucas-Interpreter. Therefor we moved the function to the
   3.649 +        corresponding \ttfamily Equation.thy \normalfont in our case
   3.650 +        \ttfamily PartialFractions.thy \normalfont. The neccessary steps
   3.651 +        are quit the same as we have done with \ttfamliy get\_denominator 
   3.652 +        \normalfont before.%
   3.653 +\end{isamarkuptext}%
   3.654 +\isamarkuptrue%
   3.655 +%
   3.656 +\isadelimML
   3.657 +%
   3.658 +\endisadelimML
   3.659 +%
   3.660 +\isatagML
   3.661 +\isacommand{ML}\isamarkupfalse%
   3.662 +\ {\isaliteral{7B2A}{\isacharverbatimopen}}\isanewline
   3.663 +\ \ {\isaliteral{28}{\isacharparenleft}}{\isaliteral{2A}{\isacharasterisk}}{\isaliteral{28}{\isacharparenleft}}{\isaliteral{22}{\isachardoublequote}}factors{\isaliteral{5F}{\isacharunderscore}}from{\isaliteral{5F}{\isacharunderscore}}solution{\isaliteral{22}{\isachardoublequote}}{\isaliteral{2C}{\isacharcomma}}\isanewline
   3.664 +\ \ \ \ {\isaliteral{28}{\isacharparenleft}}{\isaliteral{22}{\isachardoublequote}}Partial{\isaliteral{5F}{\isacharunderscore}}Fractions{\isaliteral{2E}{\isachardot}}factors{\isaliteral{5F}{\isacharunderscore}}from{\isaliteral{5F}{\isacharunderscore}}solution{\isaliteral{22}{\isachardoublequote}}{\isaliteral{2C}{\isacharcomma}}\isanewline
   3.665 +\ \ \ \ \ \ eval{\isaliteral{5F}{\isacharunderscore}}factors{\isaliteral{5F}{\isacharunderscore}}from{\isaliteral{5F}{\isacharunderscore}}solution\ {\isaliteral{22}{\isachardoublequote}}{\isaliteral{22}{\isachardoublequote}}{\isaliteral{29}{\isacharparenright}}{\isaliteral{29}{\isacharparenright}}{\isaliteral{2A}{\isacharasterisk}}{\isaliteral{29}{\isacharparenright}}\isanewline
   3.666 +\ \ \ \ \ \ \isanewline
   3.667 +\ \ fun\ eval{\isaliteral{5F}{\isacharunderscore}}factors{\isaliteral{5F}{\isacharunderscore}}from{\isaliteral{5F}{\isacharunderscore}}solution\ {\isaliteral{28}{\isacharparenleft}}thmid{\isaliteral{3A}{\isacharcolon}}string{\isaliteral{29}{\isacharparenright}}\ {\isaliteral{5F}{\isacharunderscore}}\isanewline
   3.668 +\ \ \ \ \ \ \ {\isaliteral{28}{\isacharparenleft}}t\ as\ Const\ {\isaliteral{28}{\isacharparenleft}}{\isaliteral{22}{\isachardoublequote}}Partial{\isaliteral{5F}{\isacharunderscore}}Fractions{\isaliteral{2E}{\isachardot}}factors{\isaliteral{5F}{\isacharunderscore}}from{\isaliteral{5F}{\isacharunderscore}}solution{\isaliteral{22}{\isachardoublequote}}{\isaliteral{2C}{\isacharcomma}}\ {\isaliteral{5F}{\isacharunderscore}}{\isaliteral{29}{\isacharparenright}}\ {\isaliteral{24}{\isachardollar}}\ sol{\isaliteral{29}{\isacharparenright}}\isanewline
   3.669 +\ \ \ \ \ \ \ \ \ thy\ {\isaliteral{3D}{\isacharequal}}\ {\isaliteral{28}{\isacharparenleft}}{\isaliteral{28}{\isacharparenleft}}let\ val\ prod\ {\isaliteral{3D}{\isacharequal}}\ factors{\isaliteral{5F}{\isacharunderscore}}from{\isaliteral{5F}{\isacharunderscore}}solution\ sol\isanewline
   3.670 +\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ in\ SOME\ {\isaliteral{28}{\isacharparenleft}}mk{\isaliteral{5F}{\isacharunderscore}}thmid\ thmid\ {\isaliteral{22}{\isachardoublequote}}{\isaliteral{22}{\isachardoublequote}}\isanewline
   3.671 +\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ {\isaliteral{28}{\isacharparenleft}}Print{\isaliteral{5F}{\isacharunderscore}}Mode{\isaliteral{2E}{\isachardot}}setmp\ {\isaliteral{5B}{\isacharbrackleft}}{\isaliteral{5D}{\isacharbrackright}}\isanewline
   3.672 +\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ {\isaliteral{28}{\isacharparenleft}}Syntax{\isaliteral{2E}{\isachardot}}string{\isaliteral{5F}{\isacharunderscore}}of{\isaliteral{5F}{\isacharunderscore}}term\ {\isaliteral{28}{\isacharparenleft}}thy{\isadigit{2}}ctxt\ thy{\isaliteral{29}{\isacharparenright}}{\isaliteral{29}{\isacharparenright}}\ prod{\isaliteral{29}{\isacharparenright}}\ {\isaliteral{22}{\isachardoublequote}}{\isaliteral{22}{\isachardoublequote}}{\isaliteral{2C}{\isacharcomma}}\isanewline
   3.673 +\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ Trueprop\ {\isaliteral{24}{\isachardollar}}\ {\isaliteral{28}{\isacharparenleft}}mk{\isaliteral{5F}{\isacharunderscore}}equality\ {\isaliteral{28}{\isacharparenleft}}t{\isaliteral{2C}{\isacharcomma}}\ prod{\isaliteral{29}{\isacharparenright}}{\isaliteral{29}{\isacharparenright}}{\isaliteral{29}{\isacharparenright}}\isanewline
   3.674 +\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ end{\isaliteral{29}{\isacharparenright}}\isanewline
   3.675 +\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ handle\ {\isaliteral{5F}{\isacharunderscore}}\ {\isaliteral{3D}{\isacharequal}}{\isaliteral{3E}{\isachargreater}}\ NONE{\isaliteral{29}{\isacharparenright}}\isanewline
   3.676 +\ \ \ {\isaliteral{7C}{\isacharbar}}\ eval{\isaliteral{5F}{\isacharunderscore}}factors{\isaliteral{5F}{\isacharunderscore}}from{\isaliteral{5F}{\isacharunderscore}}solution\ {\isaliteral{5F}{\isacharunderscore}}\ {\isaliteral{5F}{\isacharunderscore}}\ {\isaliteral{5F}{\isacharunderscore}}\ {\isaliteral{5F}{\isacharunderscore}}\ {\isaliteral{3D}{\isacharequal}}\ NONE{\isaliteral{3B}{\isacharsemicolon}}\isanewline
   3.677 +{\isaliteral{2A7D}{\isacharverbatimclose}}%
   3.678 +\endisatagML
   3.679 +{\isafoldML}%
   3.680 +%
   3.681 +\isadelimML
   3.682 +%
   3.683 +\endisadelimML
   3.684 +%
   3.685 +\begin{isamarkuptext}%
   3.686 +\noindent The tracing output of the calc tree after apllying this
   3.687 +       function was \ttfamily 24 / factors\_from\_solution 
   3.688 +       [z = 1/ 2, z = -1 / 4])] \normalfont and the next step \ttfamily
   3.689 +       val nxt = ("Empty\_Tac", ...): tac'\_)\normalfont. These observations
   3.690 +       indicate, that the Lucas-Interpreter (LIP) does not know how to
   3.691 +       evaluate\\ \ttfamily factors\_from\_solution, \normalfont so we knew
   3.692 +       that there is something wrong or missing.%
   3.693 +\end{isamarkuptext}%
   3.694 +\isamarkuptrue%
   3.695 +%
   3.696 +\begin{isamarkuptext}%
   3.697 +\noindent First we isolate the difficulty in the program as follows:\\
   3.698 +      \ttfamily \par \noindent
   3.699 +        "(L\_L::bool list) = (SubProblem (PolyEq',"\^\\
   3.700 +        "[abcFormula,degree\_2,polynomial,univariate,equation],[no\_met])"\^\\
   3.701 +        "[BOOL equ, REAL zzz]);"\^\\
   3.702 +        "(facs::real) = factors\_from\_solution L\_L;"\^\\
   3.703 +        "(foo::real) = Take facs"\^\\
   3.704 +        
   3.705 +      \normalfont \par \noindent And see the tracing output:\\
   3.706 +         \ttfamily \par \noindent \lbrack\\
   3.707 +        ((\lbrack\rbrack, Frm), Problem 
   3.708 +          (Isac, \lbrack inverse, Z\_Transform, SignalProcessing\rbrack)),\\
   3.709 +        ((\lbrack 1\rbrack, Frm), X z = 3 / (z - 1 / 4 + -1 / 8 * (1 / z))),\\
   3.710 +        ((\lbrack 1\rbrack, Res), 
   3.711 +          ?X' z = 3 / (z * (z - 1 / 4 + -1 / 8 * (1 / z)))),\\
   3.712 +        ((\lbrack 2\rbrack, Res),
   3.713 +          ?X' z = 24 / (-1 + -2 * z + 8 * z \^\^\^ ~2)),\\
   3.714 +        ((\lbrack 3\rbrack, Pbl), 
   3.715 +          solve (-1 + -2 * z + 8 * z \^\^\^ ~2 = 0, z)),\\
   3.716 +        ((\lbrack 3,1\rbrack, Frm), -1 + -2 * z + 8 * z \^\^\^ ~2 = 0),\\
   3.717 +        ((\lbrack 3,1\rbrack, Res), 
   3.718 +          z = (- -2 + sqrt (-2 \^\^\^ ~2 - 4 * 8 * -1)) / (2 * 8)|\\
   3.719 +          z = (- -2 - sqrt (-2 \^\^\^ ~2 - 4 * 8 * -1)) / (2 * 8)),\\
   3.720 +        ((\lbrack 3,2\rbrack, Res), z = 1 / 2 | z = -1 / 4),\\
   3.721 +        ((\lbrack 3,3\rbrack, Res), \lbrack z = 1 / 2, z = -1 / 4\rbrack),\\
   3.722 +        ((\lbrack 3,4\rbrack, Res), \lbrack z = 1 / 2, z = -1 / 4\rbrack),\\
   3.723 +        ((\lbrack 3\rbrack, Res), \lbrack z = 1 / 2, z = -1 / 4\rbrack),\\
   3.724 +        ((\lbrack 4\rbrack, Frm), 
   3.725 +          factors\_from\_solution \lbrackz = 1 / 2, z = -1 / 4])\\
   3.726 +        \rbrack\\
   3.727 +        
   3.728 +      \normalfont \noindent In particular that:\\
   3.729 +      \ttfamily \par \noindent ((\lbrack 3\rbrack, Pbl),
   3.730 +        solve (-1 + -2 * z + 8 * z \^\^\^ ~2 = 0, z)),\\
   3.731 +      \normalfont \par \noindent Shows the equation which has been created in
   3.732 +      the program by: \ttfamily \\
   3.733 +
   3.734 +      \noindent "(denom::real) = get\_denominator funterm;"\^ 
   3.735 +        ~(*get\_denominator*)\\
   3.736 +      "(equ::bool) = (denom = (0::real));"\^\\
   3.737 +        
   3.738 +      \noindent get\_denominator \normalfont has been evaluated successfully,
   3.739 +      but not\\ \ttfamily factors\_from\_solution.\normalfont
   3.740 +      So we stepwise compare with an analogous case, \ttfamily get\_denominator
   3.741 +      \normalfont successfully done above: We know that LIP evaluates
   3.742 +      expressions in the program by use of the \emph{srls}, so we try to get
   3.743 +      the original \emph{srls}.\\
   3.744 +
   3.745 +      \noindent \ttfamily val \lbrace srls,\ldots\rbrace\ttfamily 
   3.746 +        = get\_met \lbrack "SignalProcessing",
   3.747 +          "Z\_Transform","inverse"\rbrack;\\
   3.748 +          
   3.749 +      \par \noindent \normalfont Create 2 good example terms\\
   3.750 +      \ttfamily \par \noindent val SOME t1 =\\ 
   3.751 +      parseNEW ctxt "get\_denominator ((111::real) / 222)";
   3.752 +      \par \noindent val SOME t2 =\\
   3.753 +      parseNEW ctxt "factors\_from\_solution \lbrack(z::real)
   3.754 +        = 1/2, z = -1/4\rbrack";\\
   3.755 +
   3.756 +      \par \noindent \normalfont Rewrite the terms using srls:\\
   3.757 +      \ttfamily \par \noindent rewrite\_set\_ thy true srls t1;\\
   3.758 +        rewrite\_set\_ thy true srls t2;\\
   3.759 +      \par \noindent \normalfont Now we see a difference: \texttt{t1} gives
   3.760 +      \texttt{SOME} but \texttt{t2} gives \texttt{NONE}. We look at the 
   3.761 +      \emph{srls}:\\
   3.762 +      
   3.763 +      \par \noindent \ttfamily  val srls = Rls \lbrace id =
   3.764 +        "srls\_InverseZTransform", rules =\\
   3.765 +            \lbrack Calc("Rational.get\_numerator",\\
   3.766 +                eval\_get\_numerator "Rational.get\_numerator"),\\
   3.767 +              Calc("Partial\_Fractions.factors\_from\_solution",\\
   3.768 +                eval\_factors\_from\_solution 
   3.769 +                  "Partial\_Fractions.factors\_from\_solution")\rbrack\rbrace\\
   3.770 +                
   3.771 +      \par \noindent \normalfont Here everthing is perfect. So the error can
   3.772 +      only be in the SML code of \ttfamily eval\_factors\_from\_solution.
   3.773 +      \normalfont We try to check the code with an existing test; since the 
   3.774 +      \emph{code} is in 
   3.775 +      \begin{center}\ttfamily src/Tools/isac/Knowledge/Partial\_Fractions.thy
   3.776 +      \normalfont\end{center}
   3.777 +      the \emph{test} should be in
   3.778 +      \begin{center}\ttfamily test/Tools/isac/Knowledge/partial\_fractions.sml
   3.779 +      \normalfont\end{center}
   3.780 +      \par \noindent After updating the function \ttfamily
   3.781 +      factors\_from\_solution \normalfont to a new version and putting a
   3.782 +      testcase to \ttfamily Partial\_Fractions.sml \normalfont we tried again
   3.783 +      to evaluate the term with the same result.
   3.784 +      \par We opened the test \ttfamily Test\_Isac.thy \normalfont and saw that
   3.785 +      everything is working fine. Also we checked that the test \ttfamily 
   3.786 +      partial\_fractions.sml \normalfont is used in \ttfamily Test\_Isac.thy 
   3.787 +      \normalfont
   3.788 +      \begin{center}use \ttfamily "Knowledge/partial\_fractions.sml"
   3.789 +      \normalfont \end{center}
   3.790 +      and \ttfamily Partial\_Fractions.thy \normalfont is part is part of
   3.791 +      {\sisac} by evaluating\\
   3.792 +
   3.793 +      \par \noindent \ttfamily val thy = @\lbrace theory~Isac \rbrace;
   3.794 +      \normalfont \\
   3.795 +
   3.796 +      \par \noindent \normalfont After rebuilding {\sisac} again it worked.%
   3.797 +\end{isamarkuptext}%
   3.798 +\isamarkuptrue%
   3.799 +%
   3.800 +\isamarkupsubsubsection{Build Expression%
   3.801  }
   3.802  \isamarkuptrue%
   3.803  %
   3.804 +\begin{isamarkuptext}%
   3.805 +\noindent In {\sisac}'s CTP-based programming language we can build
   3.806 +       expressions by:\\
   3.807 +       \ttfamily let s\_1 = Take numerator / (s\_1 * s\_2) \normalfont%
   3.808 +\end{isamarkuptext}%
   3.809 +\isamarkuptrue%
   3.810 +%
   3.811 +\isadelimML
   3.812 +%
   3.813 +\endisadelimML
   3.814 +%
   3.815 +\isatagML
   3.816 +\isacommand{ML}\isamarkupfalse%
   3.817 +\ {\isaliteral{7B2A}{\isacharverbatimopen}}\isanewline
   3.818 +\ \ {\isaliteral{28}{\isacharparenleft}}{\isaliteral{2A}{\isacharasterisk}}\isanewline
   3.819 +\ \ \ {\isaliteral{2A}{\isacharasterisk}}\ The\ main\ denominator\ is\ the\ multiplikation\ of\ the\ denominators\ of\isanewline
   3.820 +\ \ \ {\isaliteral{2A}{\isacharasterisk}}\ all\ partial\ fractions{\isaliteral{2E}{\isachardot}}\isanewline
   3.821 +\ \ \ {\isaliteral{2A}{\isacharasterisk}}{\isaliteral{29}{\isacharparenright}}\isanewline
   3.822 +\ \ \ \isanewline
   3.823 +\ \ val\ denominator{\isaliteral{27}{\isacharprime}}\ {\isaliteral{3D}{\isacharequal}}\ HOLogic{\isaliteral{2E}{\isachardot}}mk{\isaliteral{5F}{\isacharunderscore}}binop\ \isanewline
   3.824 +\ \ \ \ {\isaliteral{22}{\isachardoublequote}}Groups{\isaliteral{2E}{\isachardot}}times{\isaliteral{5F}{\isacharunderscore}}class{\isaliteral{2E}{\isachardot}}times{\isaliteral{22}{\isachardoublequote}}\ {\isaliteral{28}{\isacharparenleft}}s{\isaliteral{5F}{\isacharunderscore}}{\isadigit{1}}{\isaliteral{27}{\isacharprime}}{\isaliteral{2C}{\isacharcomma}}\ s{\isaliteral{5F}{\isacharunderscore}}{\isadigit{2}}{\isaliteral{27}{\isacharprime}}{\isaliteral{29}{\isacharparenright}}\ {\isaliteral{3B}{\isacharsemicolon}}\isanewline
   3.825 +\ \ val\ SOME\ numerator\ {\isaliteral{3D}{\isacharequal}}\ parseNEW\ ctxt\ {\isaliteral{22}{\isachardoublequote}}{\isadigit{3}}{\isaliteral{3A}{\isacharcolon}}{\isaliteral{3A}{\isacharcolon}}real{\isaliteral{22}{\isachardoublequote}}{\isaliteral{3B}{\isacharsemicolon}}\isanewline
   3.826 +\isanewline
   3.827 +\ \ val\ expr{\isaliteral{27}{\isacharprime}}\ {\isaliteral{3D}{\isacharequal}}\ HOLogic{\isaliteral{2E}{\isachardot}}mk{\isaliteral{5F}{\isacharunderscore}}binop\isanewline
   3.828 +\ \ \ \ {\isaliteral{22}{\isachardoublequote}}Rings{\isaliteral{2E}{\isachardot}}inverse{\isaliteral{5F}{\isacharunderscore}}class{\isaliteral{2E}{\isachardot}}divide{\isaliteral{22}{\isachardoublequote}}\ {\isaliteral{28}{\isacharparenleft}}numerator{\isaliteral{2C}{\isacharcomma}}\ denominator{\isaliteral{27}{\isacharprime}}{\isaliteral{29}{\isacharparenright}}{\isaliteral{3B}{\isacharsemicolon}}\isanewline
   3.829 +\ \ term{\isadigit{2}}str\ expr{\isaliteral{27}{\isacharprime}}{\isaliteral{3B}{\isacharsemicolon}}\isanewline
   3.830 +{\isaliteral{2A7D}{\isacharverbatimclose}}%
   3.831 +\endisatagML
   3.832 +{\isafoldML}%
   3.833 +%
   3.834 +\isadelimML
   3.835 +%
   3.836 +\endisadelimML
   3.837 +%
   3.838 +\isamarkupsubsubsection{Apply the Partial Fraction Decomposion Ansatz%
   3.839 +}
   3.840 +\isamarkuptrue%
   3.841 +%
   3.842 +\begin{isamarkuptext}%
   3.843 +\noindent We use the Ansatz of the Partial Fraction Decomposen for our
   3.844 +      expression 2nd order. Follow up the calculation in 
   3.845 +      Section~\ref{sec:calc:ztrans} Step~03.%
   3.846 +\end{isamarkuptext}%
   3.847 +\isamarkuptrue%
   3.848 +%
   3.849  \isadelimML
   3.850  %
   3.851  \endisadelimML
   3.852 @@ -1005,103 +1109,24 @@
   3.853  \isadelimML
   3.854  %
   3.855  \endisadelimML
   3.856 -\isanewline
   3.857 -\isanewline
   3.858 +%
   3.859 +\begin{isamarkuptext}%
   3.860 +\noindent We define two aximatizations, the first one is the main ansatz,
   3.861 +      the next one is just an eqivalent transformation of the resulting
   3.862 +      equation. Both axiomatizations were moved to \ttfamily
   3.863 +      Partial\_Fractions.thy \normalfont and got their own rulesets. In later
   3.864 +      programms it is possible to use the rulesets and the machine will find
   3.865 +      the correct ansatz and equivalent transformation itself.%
   3.866 +\end{isamarkuptext}%
   3.867 +\isamarkuptrue%
   3.868  \isacommand{axiomatization}\isamarkupfalse%
   3.869  \ \isakeyword{where}\isanewline
   3.870 -\ \ ansatz{\isadigit{2}}{\isaliteral{3A}{\isacharcolon}}\ {\isaliteral{22}{\isachardoublequoteopen}}n\ {\isaliteral{2F}{\isacharslash}}\ {\isaliteral{28}{\isacharparenleft}}a{\isaliteral{2A}{\isacharasterisk}}b{\isaliteral{29}{\isacharparenright}}\ {\isaliteral{3D}{\isacharequal}}\ A{\isaliteral{2F}{\isacharslash}}a\ {\isaliteral{2B}{\isacharplus}}\ B{\isaliteral{2F}{\isacharslash}}{\isaliteral{28}{\isacharparenleft}}b{\isaliteral{3A}{\isacharcolon}}{\isaliteral{3A}{\isacharcolon}}real{\isaliteral{29}{\isacharparenright}}{\isaliteral{22}{\isachardoublequoteclose}}\ \isakeyword{and}\isanewline
   3.871 -\ \ multiply{\isaliteral{5F}{\isacharunderscore}}eq{\isadigit{2}}{\isaliteral{3A}{\isacharcolon}}\ {\isaliteral{22}{\isachardoublequoteopen}}{\isaliteral{28}{\isacharparenleft}}{\isaliteral{28}{\isacharparenleft}}n{\isaliteral{3A}{\isacharcolon}}{\isaliteral{3A}{\isacharcolon}}real{\isaliteral{29}{\isacharparenright}}\ {\isaliteral{2F}{\isacharslash}}\ {\isaliteral{28}{\isacharparenleft}}a{\isaliteral{2A}{\isacharasterisk}}b{\isaliteral{29}{\isacharparenright}}\ {\isaliteral{3D}{\isacharequal}}\ A{\isaliteral{2F}{\isacharslash}}a\ {\isaliteral{2B}{\isacharplus}}\ B{\isaliteral{2F}{\isacharslash}}b{\isaliteral{29}{\isacharparenright}}\ {\isaliteral{3D}{\isacharequal}}\ {\isaliteral{28}{\isacharparenleft}}a{\isaliteral{2A}{\isacharasterisk}}b{\isaliteral{2A}{\isacharasterisk}}{\isaliteral{28}{\isacharparenleft}}n\ \ {\isaliteral{2F}{\isacharslash}}\ {\isaliteral{28}{\isacharparenleft}}a{\isaliteral{2A}{\isacharasterisk}}b{\isaliteral{29}{\isacharparenright}}{\isaliteral{29}{\isacharparenright}}\ {\isaliteral{3D}{\isacharequal}}\ a{\isaliteral{2A}{\isacharasterisk}}b{\isaliteral{2A}{\isacharasterisk}}{\isaliteral{28}{\isacharparenleft}}A{\isaliteral{2F}{\isacharslash}}a\ {\isaliteral{2B}{\isacharplus}}\ B{\isaliteral{2F}{\isacharslash}}b{\isaliteral{3A}{\isacharcolon}}{\isaliteral{3A}{\isacharcolon}}real{\isaliteral{29}{\isacharparenright}}{\isaliteral{29}{\isacharparenright}}{\isaliteral{22}{\isachardoublequoteclose}}\ \ \isanewline
   3.872 -%
   3.873 -\isadelimML
   3.874 -\isanewline
   3.875 -%
   3.876 -\endisadelimML
   3.877 -%
   3.878 -\isatagML
   3.879 -\isacommand{ML}\isamarkupfalse%
   3.880 -\ {\isaliteral{7B2A}{\isacharverbatimopen}}\isanewline
   3.881 -{\isaliteral{28}{\isacharparenleft}}{\isaliteral{2A}{\isacharasterisk}}we\ use\ our\ ansatz{\isadigit{2}}\ to\ rewrite\ our\ expression\ and\ get\ an\ equilation\ with\ our\ expression\ on\ the\ left\ and\ the\ partial\ fractions\ of\ it\ on\ the\ right\ side{\isaliteral{2A}{\isacharasterisk}}{\isaliteral{29}{\isacharparenright}}\isanewline
   3.882 -val\ SOME\ {\isaliteral{28}{\isacharparenleft}}t{\isadigit{1}}{\isaliteral{2C}{\isacharcomma}}{\isaliteral{5F}{\isacharunderscore}}{\isaliteral{29}{\isacharparenright}}\ {\isaliteral{3D}{\isacharequal}}\ rewrite{\isaliteral{5F}{\isacharunderscore}}\ %
   3.883 -\isaantiq
   3.884 -theory\ Isac{}%
   3.885 -\endisaantiq
   3.886 -\ e{\isaliteral{5F}{\isacharunderscore}}rew{\isaliteral{5F}{\isacharunderscore}}ord\ e{\isaliteral{5F}{\isacharunderscore}}rls\ false\ %
   3.887 -\isaantiq
   3.888 -thm\ ansatz{\isadigit{2}}{}%
   3.889 -\endisaantiq
   3.890 -\ expr{\isaliteral{27}{\isacharprime}}{\isaliteral{3B}{\isacharsemicolon}}\isanewline
   3.891 -term{\isadigit{2}}str\ t{\isadigit{1}}{\isaliteral{3B}{\isacharsemicolon}}\ atomty\ t{\isadigit{1}}{\isaliteral{3B}{\isacharsemicolon}}\isanewline
   3.892 -val\ eq{\isadigit{1}}\ {\isaliteral{3D}{\isacharequal}}\ HOLogic{\isaliteral{2E}{\isachardot}}mk{\isaliteral{5F}{\isacharunderscore}}eq\ {\isaliteral{28}{\isacharparenleft}}expr{\isaliteral{27}{\isacharprime}}{\isaliteral{2C}{\isacharcomma}}\ t{\isadigit{1}}{\isaliteral{29}{\isacharparenright}}{\isaliteral{3B}{\isacharsemicolon}}\isanewline
   3.893 -term{\isadigit{2}}str\ eq{\isadigit{1}}{\isaliteral{3B}{\isacharsemicolon}}\isanewline
   3.894 -{\isaliteral{2A7D}{\isacharverbatimclose}}\isanewline
   3.895 -\isacommand{ML}\isamarkupfalse%
   3.896 -\ {\isaliteral{7B2A}{\isacharverbatimopen}}\isanewline
   3.897 -{\isaliteral{28}{\isacharparenleft}}{\isaliteral{2A}{\isacharasterisk}}eliminate\ the\ demoninators\ by\ multiplying\ the\ left\ and\ the\ right\ side\ with\ the\ main\ denominator{\isaliteral{2A}{\isacharasterisk}}{\isaliteral{29}{\isacharparenright}}\isanewline
   3.898 -val\ SOME\ {\isaliteral{28}{\isacharparenleft}}eq{\isadigit{2}}{\isaliteral{2C}{\isacharcomma}}{\isaliteral{5F}{\isacharunderscore}}{\isaliteral{29}{\isacharparenright}}\ {\isaliteral{3D}{\isacharequal}}\ rewrite{\isaliteral{5F}{\isacharunderscore}}\ %
   3.899 -\isaantiq
   3.900 -theory\ Isac{}%
   3.901 -\endisaantiq
   3.902 -\ e{\isaliteral{5F}{\isacharunderscore}}rew{\isaliteral{5F}{\isacharunderscore}}ord\ e{\isaliteral{5F}{\isacharunderscore}}rls\ false\ %
   3.903 -\isaantiq
   3.904 -thm\ multiply{\isaliteral{5F}{\isacharunderscore}}eq{\isadigit{2}}{}%
   3.905 -\endisaantiq
   3.906 -\ eq{\isadigit{1}}{\isaliteral{3B}{\isacharsemicolon}}\isanewline
   3.907 -term{\isadigit{2}}str\ eq{\isadigit{2}}{\isaliteral{3B}{\isacharsemicolon}}\isanewline
   3.908 -{\isaliteral{2A7D}{\isacharverbatimclose}}\isanewline
   3.909 -\isacommand{ML}\isamarkupfalse%
   3.910 -\ {\isaliteral{7B2A}{\isacharverbatimopen}}\isanewline
   3.911 -{\isaliteral{28}{\isacharparenleft}}{\isaliteral{2A}{\isacharasterisk}}simplificatoin{\isaliteral{2A}{\isacharasterisk}}{\isaliteral{29}{\isacharparenright}}\isanewline
   3.912 -val\ SOME\ {\isaliteral{28}{\isacharparenleft}}eq{\isadigit{3}}{\isaliteral{2C}{\isacharcomma}}{\isaliteral{5F}{\isacharunderscore}}{\isaliteral{29}{\isacharparenright}}\ {\isaliteral{3D}{\isacharequal}}\ rewrite{\isaliteral{5F}{\isacharunderscore}}set{\isaliteral{5F}{\isacharunderscore}}\ %
   3.913 -\isaantiq
   3.914 -theory\ Isac{}%
   3.915 -\endisaantiq
   3.916 -\ false\ norm{\isaliteral{5F}{\isacharunderscore}}Rational\ eq{\isadigit{2}}{\isaliteral{3B}{\isacharsemicolon}}\isanewline
   3.917 -term{\isadigit{2}}str\ eq{\isadigit{3}}{\isaliteral{3B}{\isacharsemicolon}}\ {\isaliteral{28}{\isacharparenleft}}{\isaliteral{2A}{\isacharasterisk}}{\isaliteral{3F}{\isacharquery}}A\ {\isaliteral{3F}{\isacharquery}}B\ not\ simplified{\isaliteral{2A}{\isacharasterisk}}{\isaliteral{29}{\isacharparenright}}\isanewline
   3.918 -{\isaliteral{2A7D}{\isacharverbatimclose}}\isanewline
   3.919 -\isacommand{ML}\isamarkupfalse%
   3.920 -\ {\isaliteral{7B2A}{\isacharverbatimopen}}\isanewline
   3.921 -val\ SOME\ fract{\isadigit{1}}\ {\isaliteral{3D}{\isacharequal}}\isanewline
   3.922 -\ \ parseNEW\ ctxt\ {\isaliteral{22}{\isachardoublequote}}{\isaliteral{28}{\isacharparenleft}}z\ {\isaliteral{2D}{\isacharminus}}\ {\isadigit{1}}\ {\isaliteral{2F}{\isacharslash}}\ {\isadigit{2}}{\isaliteral{29}{\isacharparenright}}\ {\isaliteral{2A}{\isacharasterisk}}\ {\isaliteral{28}{\isacharparenleft}}z\ {\isaliteral{2D}{\isacharminus}}\ {\isaliteral{2D}{\isacharminus}}{\isadigit{1}}\ {\isaliteral{2F}{\isacharslash}}\ {\isadigit{4}}{\isaliteral{29}{\isacharparenright}}\ {\isaliteral{2A}{\isacharasterisk}}\ {\isaliteral{28}{\isacharparenleft}}A\ {\isaliteral{2F}{\isacharslash}}\ {\isaliteral{28}{\isacharparenleft}}z\ {\isaliteral{2D}{\isacharminus}}\ {\isadigit{1}}\ {\isaliteral{2F}{\isacharslash}}\ {\isadigit{2}}{\isaliteral{29}{\isacharparenright}}\ {\isaliteral{2B}{\isacharplus}}\ B\ {\isaliteral{2F}{\isacharslash}}\ {\isaliteral{28}{\isacharparenleft}}z\ {\isaliteral{2D}{\isacharminus}}\ {\isaliteral{2D}{\isacharminus}}{\isadigit{1}}\ {\isaliteral{2F}{\isacharslash}}\ {\isadigit{4}}{\isaliteral{29}{\isacharparenright}}{\isaliteral{29}{\isacharparenright}}{\isaliteral{22}{\isachardoublequote}}{\isaliteral{3B}{\isacharsemicolon}}\ {\isaliteral{28}{\isacharparenleft}}{\isaliteral{2A}{\isacharasterisk}}A\ B\ {\isaliteral{21}{\isacharbang}}{\isaliteral{2A}{\isacharasterisk}}{\isaliteral{29}{\isacharparenright}}\isanewline
   3.923 -val\ SOME\ {\isaliteral{28}{\isacharparenleft}}fract{\isadigit{2}}{\isaliteral{2C}{\isacharcomma}}{\isaliteral{5F}{\isacharunderscore}}{\isaliteral{29}{\isacharparenright}}\ {\isaliteral{3D}{\isacharequal}}\ rewrite{\isaliteral{5F}{\isacharunderscore}}set{\isaliteral{5F}{\isacharunderscore}}\ %
   3.924 -\isaantiq
   3.925 -theory\ Isac{}%
   3.926 -\endisaantiq
   3.927 -\ false\ norm{\isaliteral{5F}{\isacharunderscore}}Rational\ fract{\isadigit{1}}{\isaliteral{3B}{\isacharsemicolon}}\isanewline
   3.928 -term{\isadigit{2}}str\ fract{\isadigit{2}}\ {\isaliteral{3D}{\isacharequal}}\ {\isaliteral{22}{\isachardoublequote}}{\isaliteral{28}{\isacharparenleft}}A\ {\isaliteral{2B}{\isacharplus}}\ {\isaliteral{2D}{\isacharminus}}{\isadigit{2}}\ {\isaliteral{2A}{\isacharasterisk}}\ B\ {\isaliteral{2B}{\isacharplus}}\ {\isadigit{4}}\ {\isaliteral{2A}{\isacharasterisk}}\ A\ {\isaliteral{2A}{\isacharasterisk}}\ z\ {\isaliteral{2B}{\isacharplus}}\ {\isadigit{4}}\ {\isaliteral{2A}{\isacharasterisk}}\ B\ {\isaliteral{2A}{\isacharasterisk}}\ z{\isaliteral{29}{\isacharparenright}}\ {\isaliteral{2F}{\isacharslash}}\ {\isadigit{4}}{\isaliteral{22}{\isachardoublequote}}{\isaliteral{3B}{\isacharsemicolon}}\isanewline
   3.929 -{\isaliteral{28}{\isacharparenleft}}{\isaliteral{2A}{\isacharasterisk}}term{\isadigit{2}}str\ fract{\isadigit{2}}\ {\isaliteral{3D}{\isacharequal}}\ {\isaliteral{22}{\isachardoublequote}}A\ {\isaliteral{2A}{\isacharasterisk}}\ {\isaliteral{28}{\isacharparenleft}}{\isadigit{1}}\ {\isaliteral{2F}{\isacharslash}}\ {\isadigit{4}}\ {\isaliteral{2B}{\isacharplus}}\ z{\isaliteral{29}{\isacharparenright}}\ {\isaliteral{2B}{\isacharplus}}\ B\ {\isaliteral{2A}{\isacharasterisk}}\ {\isaliteral{28}{\isacharparenleft}}{\isaliteral{2D}{\isacharminus}}{\isadigit{1}}\ {\isaliteral{2F}{\isacharslash}}\ {\isadigit{2}}\ {\isaliteral{2B}{\isacharplus}}\ z{\isaliteral{29}{\isacharparenright}}{\isaliteral{22}{\isachardoublequote}}\ would\ be\ more\ traditional{\isaliteral{2A}{\isacharasterisk}}{\isaliteral{29}{\isacharparenright}}\isanewline
   3.930 -{\isaliteral{2A7D}{\isacharverbatimclose}}\isanewline
   3.931 -\isacommand{ML}\isamarkupfalse%
   3.932 -\ {\isaliteral{7B2A}{\isacharverbatimopen}}\isanewline
   3.933 -val\ {\isaliteral{28}{\isacharparenleft}}numerator{\isaliteral{2C}{\isacharcomma}}\ denominator{\isaliteral{29}{\isacharparenright}}\ {\isaliteral{3D}{\isacharequal}}\ HOLogic{\isaliteral{2E}{\isachardot}}dest{\isaliteral{5F}{\isacharunderscore}}eq\ eq{\isadigit{3}}{\isaliteral{3B}{\isacharsemicolon}}\isanewline
   3.934 -val\ eq{\isadigit{3}}{\isaliteral{27}{\isacharprime}}\ {\isaliteral{3D}{\isacharequal}}\ HOLogic{\isaliteral{2E}{\isachardot}}mk{\isaliteral{5F}{\isacharunderscore}}eq\ {\isaliteral{28}{\isacharparenleft}}numerator{\isaliteral{2C}{\isacharcomma}}\ fract{\isadigit{1}}{\isaliteral{29}{\isacharparenright}}{\isaliteral{3B}{\isacharsemicolon}}\ {\isaliteral{28}{\isacharparenleft}}{\isaliteral{2A}{\isacharasterisk}}A\ B\ {\isaliteral{21}{\isacharbang}}{\isaliteral{2A}{\isacharasterisk}}{\isaliteral{29}{\isacharparenright}}\isanewline
   3.935 -term{\isadigit{2}}str\ eq{\isadigit{3}}{\isaliteral{27}{\isacharprime}}{\isaliteral{3B}{\isacharsemicolon}}\isanewline
   3.936 -{\isaliteral{28}{\isacharparenleft}}{\isaliteral{2A}{\isacharasterisk}}MANDATORY{\isaliteral{3A}{\isacharcolon}}\ simplify\ {\isaliteral{28}{\isacharparenleft}}and\ remove\ denominator{\isaliteral{29}{\isacharparenright}}\ otherwise\ {\isadigit{3}}\ {\isaliteral{3D}{\isacharequal}}\ {\isadigit{0}}{\isaliteral{2A}{\isacharasterisk}}{\isaliteral{29}{\isacharparenright}}\isanewline
   3.937 -val\ SOME\ {\isaliteral{28}{\isacharparenleft}}eq{\isadigit{3}}{\isaliteral{27}{\isacharprime}}{\isaliteral{27}{\isacharprime}}\ {\isaliteral{2C}{\isacharcomma}}{\isaliteral{5F}{\isacharunderscore}}{\isaliteral{29}{\isacharparenright}}\ {\isaliteral{3D}{\isacharequal}}\ rewrite{\isaliteral{5F}{\isacharunderscore}}set{\isaliteral{5F}{\isacharunderscore}}\ %
   3.938 -\isaantiq
   3.939 -theory\ Isac{}%
   3.940 -\endisaantiq
   3.941 -\ false\ norm{\isaliteral{5F}{\isacharunderscore}}Rational\ eq{\isadigit{3}}{\isaliteral{27}{\isacharprime}}{\isaliteral{3B}{\isacharsemicolon}}\isanewline
   3.942 -term{\isadigit{2}}str\ eq{\isadigit{3}}{\isaliteral{27}{\isacharprime}}{\isaliteral{27}{\isacharprime}}{\isaliteral{3B}{\isacharsemicolon}}\isanewline
   3.943 -{\isaliteral{2A7D}{\isacharverbatimclose}}\isanewline
   3.944 -\isacommand{ML}\isamarkupfalse%
   3.945 -\ {\isaliteral{7B2A}{\isacharverbatimopen}}Context{\isaliteral{2E}{\isachardot}}theory{\isaliteral{5F}{\isacharunderscore}}name\ thy\ {\isaliteral{3D}{\isacharequal}}\ {\isaliteral{22}{\isachardoublequote}}Isac{\isaliteral{22}{\isachardoublequote}}{\isaliteral{28}{\isacharparenleft}}{\isaliteral{2A}{\isacharasterisk}}{\isaliteral{3D}{\isacharequal}}{\isaliteral{3D}{\isacharequal}}{\isaliteral{3D}{\isacharequal}}{\isaliteral{3D}{\isacharequal}}{\isaliteral{3D}{\isacharequal}}{\isaliteral{3D}{\isacharequal}}{\isaliteral{3D}{\isacharequal}}{\isaliteral{3D}{\isacharequal}}{\isaliteral{3D}{\isacharequal}}{\isaliteral{3D}{\isacharequal}}{\isaliteral{3D}{\isacharequal}}{\isaliteral{3D}{\isacharequal}}{\isaliteral{3D}{\isacharequal}}{\isaliteral{3D}{\isacharequal}}{\isaliteral{3D}{\isacharequal}}{\isaliteral{3D}{\isacharequal}}{\isaliteral{3D}{\isacharequal}}{\isaliteral{3D}{\isacharequal}}{\isaliteral{3D}{\isacharequal}}{\isaliteral{3D}{\isacharequal}}{\isaliteral{3D}{\isacharequal}}{\isaliteral{3D}{\isacharequal}}{\isaliteral{3D}{\isacharequal}}{\isaliteral{3D}{\isacharequal}}{\isaliteral{3D}{\isacharequal}}{\isaliteral{3D}{\isacharequal}}{\isaliteral{3D}{\isacharequal}}{\isaliteral{3D}{\isacharequal}}{\isaliteral{3D}{\isacharequal}}{\isaliteral{3D}{\isacharequal}}{\isaliteral{3D}{\isacharequal}}{\isaliteral{3D}{\isacharequal}}{\isaliteral{3D}{\isacharequal}}{\isaliteral{3D}{\isacharequal}}{\isaliteral{3D}{\isacharequal}}{\isaliteral{3D}{\isacharequal}}{\isaliteral{3D}{\isacharequal}}{\isaliteral{3D}{\isacharequal}}{\isaliteral{3D}{\isacharequal}}{\isaliteral{3D}{\isacharequal}}{\isaliteral{3D}{\isacharequal}}{\isaliteral{3D}{\isacharequal}}{\isaliteral{3D}{\isacharequal}}{\isaliteral{3D}{\isacharequal}}{\isaliteral{3D}{\isacharequal}}{\isaliteral{3D}{\isacharequal}}{\isaliteral{3D}{\isacharequal}}{\isaliteral{3D}{\isacharequal}}{\isaliteral{3D}{\isacharequal}}{\isaliteral{3D}{\isacharequal}}{\isaliteral{2A}{\isacharasterisk}}{\isaliteral{29}{\isacharparenright}}{\isaliteral{2A7D}{\isacharverbatimclose}}%
   3.946 -\endisatagML
   3.947 -{\isafoldML}%
   3.948 -%
   3.949 -\isadelimML
   3.950 -%
   3.951 -\endisadelimML
   3.952 -%
   3.953 -\isamarkupsubsubsection{Build a rule-set for ansatz%
   3.954 -}
   3.955 -\isamarkuptrue%
   3.956 -%
   3.957 +\ \ ansatz{\isaliteral{5F}{\isacharunderscore}}{\isadigit{2}}nd{\isaliteral{5F}{\isacharunderscore}}order{\isaliteral{3A}{\isacharcolon}}\ {\isaliteral{22}{\isachardoublequoteopen}}n\ {\isaliteral{2F}{\isacharslash}}\ {\isaliteral{28}{\isacharparenleft}}a{\isaliteral{2A}{\isacharasterisk}}b{\isaliteral{29}{\isacharparenright}}\ {\isaliteral{3D}{\isacharequal}}\ A{\isaliteral{2F}{\isacharslash}}a\ {\isaliteral{2B}{\isacharplus}}\ B{\isaliteral{2F}{\isacharslash}}b{\isaliteral{22}{\isachardoublequoteclose}}\ \isakeyword{and}\isanewline
   3.958 +\ \ equival{\isaliteral{5F}{\isacharunderscore}}trans{\isaliteral{5F}{\isacharunderscore}}{\isadigit{2}}nd{\isaliteral{5F}{\isacharunderscore}}order{\isaliteral{3A}{\isacharcolon}}\ {\isaliteral{22}{\isachardoublequoteopen}}{\isaliteral{28}{\isacharparenleft}}n{\isaliteral{2F}{\isacharslash}}{\isaliteral{28}{\isacharparenleft}}a{\isaliteral{2A}{\isacharasterisk}}b{\isaliteral{29}{\isacharparenright}}\ {\isaliteral{3D}{\isacharequal}}\ A{\isaliteral{2F}{\isacharslash}}a\ {\isaliteral{2B}{\isacharplus}}\ B{\isaliteral{2F}{\isacharslash}}b{\isaliteral{29}{\isacharparenright}}\ {\isaliteral{3D}{\isacharequal}}\ {\isaliteral{28}{\isacharparenleft}}n\ {\isaliteral{3D}{\isacharequal}}\ A{\isaliteral{2A}{\isacharasterisk}}b\ {\isaliteral{2B}{\isacharplus}}\ B{\isaliteral{2A}{\isacharasterisk}}a{\isaliteral{29}{\isacharparenright}}{\isaliteral{22}{\isachardoublequoteclose}}%
   3.959  \begin{isamarkuptext}%
   3.960 -the "ansatz" rules violate the principle that each variable on 
   3.961 -  the right-hand-side must also occur on the left-hand-side of the rule:
   3.962 -  A, B, etc don't.
   3.963 -  Thus the rewriter marks these variables with question marks: ?A, ?B, etc.
   3.964 -  These question marks can be dropped by "fun drop_questionmarks".%
   3.965 +\noindent We use our \ttfamily ansatz\_2nd\_order \normalfont to rewrite
   3.966 +       our expression and get an equilation with our expression on the left
   3.967 +       and the partial fractions of it on the right hand side.%
   3.968  \end{isamarkuptext}%
   3.969  \isamarkuptrue%
   3.970  %
   3.971 @@ -1112,35 +1137,20 @@
   3.972  \isatagML
   3.973  \isacommand{ML}\isamarkupfalse%
   3.974  \ {\isaliteral{7B2A}{\isacharverbatimopen}}\isanewline
   3.975 -val\ ansatz{\isaliteral{5F}{\isacharunderscore}}rls\ {\isaliteral{3D}{\isacharequal}}\ prep{\isaliteral{5F}{\isacharunderscore}}rls{\isaliteral{28}{\isacharparenleft}}\isanewline
   3.976 -\ \ Rls\ {\isaliteral{7B}{\isacharbraceleft}}id\ {\isaliteral{3D}{\isacharequal}}\ {\isaliteral{22}{\isachardoublequote}}ansatz{\isaliteral{5F}{\isacharunderscore}}rls{\isaliteral{22}{\isachardoublequote}}{\isaliteral{2C}{\isacharcomma}}\ preconds\ {\isaliteral{3D}{\isacharequal}}\ {\isaliteral{5B}{\isacharbrackleft}}{\isaliteral{5D}{\isacharbrackright}}{\isaliteral{2C}{\isacharcomma}}\ rew{\isaliteral{5F}{\isacharunderscore}}ord\ {\isaliteral{3D}{\isacharequal}}\ {\isaliteral{28}{\isacharparenleft}}{\isaliteral{22}{\isachardoublequote}}dummy{\isaliteral{5F}{\isacharunderscore}}ord{\isaliteral{22}{\isachardoublequote}}{\isaliteral{2C}{\isacharcomma}}dummy{\isaliteral{5F}{\isacharunderscore}}ord{\isaliteral{29}{\isacharparenright}}{\isaliteral{2C}{\isacharcomma}}\ \isanewline
   3.977 -	\ \ erls\ {\isaliteral{3D}{\isacharequal}}\ e{\isaliteral{5F}{\isacharunderscore}}rls{\isaliteral{2C}{\isacharcomma}}\ srls\ {\isaliteral{3D}{\isacharequal}}\ Erls{\isaliteral{2C}{\isacharcomma}}\ calc\ {\isaliteral{3D}{\isacharequal}}\ {\isaliteral{5B}{\isacharbrackleft}}{\isaliteral{5D}{\isacharbrackright}}{\isaliteral{2C}{\isacharcomma}}\isanewline
   3.978 -	\ \ rules\ {\isaliteral{3D}{\isacharequal}}\ \isanewline
   3.979 -	\ \ \ {\isaliteral{5B}{\isacharbrackleft}}Thm\ {\isaliteral{28}{\isacharparenleft}}{\isaliteral{22}{\isachardoublequote}}ansatz{\isadigit{2}}{\isaliteral{22}{\isachardoublequote}}{\isaliteral{2C}{\isacharcomma}}num{\isaliteral{5F}{\isacharunderscore}}str\ %
   3.980 -\isaantiq
   3.981 -thm\ ansatz{\isadigit{2}}{}%
   3.982 -\endisaantiq
   3.983 -{\isaliteral{29}{\isacharparenright}}{\isaliteral{2C}{\isacharcomma}}\isanewline
   3.984 -	\ \ \ \ Thm\ {\isaliteral{28}{\isacharparenleft}}{\isaliteral{22}{\isachardoublequote}}multiply{\isaliteral{5F}{\isacharunderscore}}eq{\isadigit{2}}{\isaliteral{22}{\isachardoublequote}}{\isaliteral{2C}{\isacharcomma}}num{\isaliteral{5F}{\isacharunderscore}}str\ %
   3.985 -\isaantiq
   3.986 -thm\ multiply{\isaliteral{5F}{\isacharunderscore}}eq{\isadigit{2}}{}%
   3.987 -\endisaantiq
   3.988 -{\isaliteral{29}{\isacharparenright}}\isanewline
   3.989 -	\ \ \ {\isaliteral{5D}{\isacharbrackright}}{\isaliteral{2C}{\isacharcomma}}\ \isanewline
   3.990 -	\ scr\ {\isaliteral{3D}{\isacharequal}}\ EmptyScr{\isaliteral{7D}{\isacharbraceright}}{\isaliteral{29}{\isacharparenright}}{\isaliteral{3B}{\isacharsemicolon}}\isanewline
   3.991 -{\isaliteral{2A7D}{\isacharverbatimclose}}\isanewline
   3.992 -\isacommand{ML}\isamarkupfalse%
   3.993 -\ {\isaliteral{7B2A}{\isacharverbatimopen}}\isanewline
   3.994 -val\ SOME\ {\isaliteral{28}{\isacharparenleft}}ttttt{\isaliteral{2C}{\isacharcomma}}{\isaliteral{5F}{\isacharunderscore}}{\isaliteral{29}{\isacharparenright}}\ {\isaliteral{3D}{\isacharequal}}\ rewrite{\isaliteral{5F}{\isacharunderscore}}set{\isaliteral{5F}{\isacharunderscore}}\ %
   3.995 +\ \ val\ SOME\ {\isaliteral{28}{\isacharparenleft}}t{\isadigit{1}}{\isaliteral{2C}{\isacharcomma}}{\isaliteral{5F}{\isacharunderscore}}{\isaliteral{29}{\isacharparenright}}\ {\isaliteral{3D}{\isacharequal}}\ \isanewline
   3.996 +\ \ \ \ rewrite{\isaliteral{5F}{\isacharunderscore}}\ %
   3.997  \isaantiq
   3.998  theory\ Isac{}%
   3.999  \endisaantiq
  3.1000 -\ false\ ansatz{\isaliteral{5F}{\isacharunderscore}}rls\ expr{\isaliteral{27}{\isacharprime}}{\isaliteral{3B}{\isacharsemicolon}}\isanewline
  3.1001 -{\isaliteral{2A7D}{\isacharverbatimclose}}\isanewline
  3.1002 -\isacommand{ML}\isamarkupfalse%
  3.1003 -\ {\isaliteral{7B2A}{\isacharverbatimopen}}\isanewline
  3.1004 -term{\isadigit{2}}str\ expr{\isaliteral{27}{\isacharprime}}\ {\isaliteral{3D}{\isacharequal}}\ {\isaliteral{22}{\isachardoublequote}}{\isadigit{3}}\ {\isaliteral{2F}{\isacharslash}}\ {\isaliteral{28}{\isacharparenleft}}{\isaliteral{28}{\isacharparenleft}}z\ {\isaliteral{2D}{\isacharminus}}\ {\isadigit{1}}\ {\isaliteral{2F}{\isacharslash}}\ {\isadigit{2}}{\isaliteral{29}{\isacharparenright}}\ {\isaliteral{2A}{\isacharasterisk}}\ {\isaliteral{28}{\isacharparenleft}}z\ {\isaliteral{2D}{\isacharminus}}\ {\isaliteral{2D}{\isacharminus}}{\isadigit{1}}\ {\isaliteral{2F}{\isacharslash}}\ {\isadigit{4}}{\isaliteral{29}{\isacharparenright}}{\isaliteral{29}{\isacharparenright}}{\isaliteral{22}{\isachardoublequote}}{\isaliteral{3B}{\isacharsemicolon}}\isanewline
  3.1005 -term{\isadigit{2}}str\ ttttt\ {\isaliteral{3D}{\isacharequal}}\ {\isaliteral{22}{\isachardoublequote}}{\isaliteral{3F}{\isacharquery}}A\ {\isaliteral{2F}{\isacharslash}}\ {\isaliteral{28}{\isacharparenleft}}z\ {\isaliteral{2D}{\isacharminus}}\ {\isadigit{1}}\ {\isaliteral{2F}{\isacharslash}}\ {\isadigit{2}}{\isaliteral{29}{\isacharparenright}}\ {\isaliteral{2B}{\isacharplus}}\ {\isaliteral{3F}{\isacharquery}}B\ {\isaliteral{2F}{\isacharslash}}\ {\isaliteral{28}{\isacharparenleft}}z\ {\isaliteral{2D}{\isacharminus}}\ {\isaliteral{2D}{\isacharminus}}{\isadigit{1}}\ {\isaliteral{2F}{\isacharslash}}\ {\isadigit{4}}{\isaliteral{29}{\isacharparenright}}{\isaliteral{22}{\isachardoublequote}}{\isaliteral{3B}{\isacharsemicolon}}\isanewline
  3.1006 +\ e{\isaliteral{5F}{\isacharunderscore}}rew{\isaliteral{5F}{\isacharunderscore}}ord\ e{\isaliteral{5F}{\isacharunderscore}}rls\ false\ \isanewline
  3.1007 +\ \ \ \ \ \ \ \ \ \ \ \ \ %
  3.1008 +\isaantiq
  3.1009 +thm\ ansatz{\isaliteral{5F}{\isacharunderscore}}{\isadigit{2}}nd{\isaliteral{5F}{\isacharunderscore}}order{}%
  3.1010 +\endisaantiq
  3.1011 +\ expr{\isaliteral{27}{\isacharprime}}{\isaliteral{3B}{\isacharsemicolon}}\isanewline
  3.1012 +\ \ term{\isadigit{2}}str\ t{\isadigit{1}}{\isaliteral{3B}{\isacharsemicolon}}\ atomty\ t{\isadigit{1}}{\isaliteral{3B}{\isacharsemicolon}}\isanewline
  3.1013 +\ \ val\ eq{\isadigit{1}}\ {\isaliteral{3D}{\isacharequal}}\ HOLogic{\isaliteral{2E}{\isachardot}}mk{\isaliteral{5F}{\isacharunderscore}}eq\ {\isaliteral{28}{\isacharparenleft}}expr{\isaliteral{27}{\isacharprime}}{\isaliteral{2C}{\isacharcomma}}\ t{\isadigit{1}}{\isaliteral{29}{\isacharparenright}}{\isaliteral{3B}{\isacharsemicolon}}\isanewline
  3.1014 +\ \ term{\isadigit{2}}str\ eq{\isadigit{1}}{\isaliteral{3B}{\isacharsemicolon}}\isanewline
  3.1015  {\isaliteral{2A7D}{\isacharverbatimclose}}%
  3.1016  \endisatagML
  3.1017  {\isafoldML}%
  3.1018 @@ -1149,8 +1159,13 @@
  3.1019  %
  3.1020  \endisadelimML
  3.1021  %
  3.1022 -\isamarkupsubsubsection{get first koeffizient%
  3.1023 -}
  3.1024 +\begin{isamarkuptext}%
  3.1025 +\noindent Eliminate the demoninators by multiplying the left and the
  3.1026 +      right hand side of the equation with the main denominator. This is an
  3.1027 +      simple equivalent transformation. Later on we use an own ruleset
  3.1028 +      defined in \ttfamily Partial\_Fractions.thy \normalfont for doing this.
  3.1029 +      Follow up the calculation in Section~\ref{sec:calc:ztrans} Step~04.%
  3.1030 +\end{isamarkuptext}%
  3.1031  \isamarkuptrue%
  3.1032  %
  3.1033  \isadelimML
  3.1034 @@ -1160,56 +1175,18 @@
  3.1035  \isatagML
  3.1036  \isacommand{ML}\isamarkupfalse%
  3.1037  \ {\isaliteral{7B2A}{\isacharverbatimopen}}\isanewline
  3.1038 -{\isaliteral{28}{\isacharparenleft}}{\isaliteral{2A}{\isacharasterisk}}substitude\ z\ with\ the\ first\ zeropoint\ to\ get\ A{\isaliteral{2A}{\isacharasterisk}}{\isaliteral{29}{\isacharparenright}}\isanewline
  3.1039 -val\ SOME\ {\isaliteral{28}{\isacharparenleft}}eq{\isadigit{4}}{\isaliteral{5F}{\isacharunderscore}}{\isadigit{1}}{\isaliteral{2C}{\isacharcomma}}{\isaliteral{5F}{\isacharunderscore}}{\isaliteral{29}{\isacharparenright}}\ {\isaliteral{3D}{\isacharequal}}\ rewrite{\isaliteral{5F}{\isacharunderscore}}terms{\isaliteral{5F}{\isacharunderscore}}\ %
  3.1040 +\ \ val\ SOME\ {\isaliteral{28}{\isacharparenleft}}eq{\isadigit{2}}{\isaliteral{2C}{\isacharcomma}}{\isaliteral{5F}{\isacharunderscore}}{\isaliteral{29}{\isacharparenright}}\ {\isaliteral{3D}{\isacharequal}}\ \isanewline
  3.1041 +\ \ \ \ rewrite{\isaliteral{5F}{\isacharunderscore}}\ %
  3.1042  \isaantiq
  3.1043  theory\ Isac{}%
  3.1044  \endisaantiq
  3.1045 -\ e{\isaliteral{5F}{\isacharunderscore}}rew{\isaliteral{5F}{\isacharunderscore}}ord\ e{\isaliteral{5F}{\isacharunderscore}}rls\ {\isaliteral{5B}{\isacharbrackleft}}s{\isaliteral{5F}{\isacharunderscore}}{\isadigit{1}}{\isaliteral{5D}{\isacharbrackright}}\ eq{\isadigit{3}}{\isaliteral{27}{\isacharprime}}{\isaliteral{27}{\isacharprime}}{\isaliteral{3B}{\isacharsemicolon}}\isanewline
  3.1046 -term{\isadigit{2}}str\ eq{\isadigit{4}}{\isaliteral{5F}{\isacharunderscore}}{\isadigit{1}}{\isaliteral{3B}{\isacharsemicolon}}\isanewline
  3.1047 -\isanewline
  3.1048 -val\ SOME\ {\isaliteral{28}{\isacharparenleft}}eq{\isadigit{4}}{\isaliteral{5F}{\isacharunderscore}}{\isadigit{2}}{\isaliteral{2C}{\isacharcomma}}{\isaliteral{5F}{\isacharunderscore}}{\isaliteral{29}{\isacharparenright}}\ {\isaliteral{3D}{\isacharequal}}\ rewrite{\isaliteral{5F}{\isacharunderscore}}set{\isaliteral{5F}{\isacharunderscore}}\ %
  3.1049 +\ e{\isaliteral{5F}{\isacharunderscore}}rew{\isaliteral{5F}{\isacharunderscore}}ord\ e{\isaliteral{5F}{\isacharunderscore}}rls\ false\ \isanewline
  3.1050 +\ \ \ \ \ \ \ \ \ \ \ \ \ %
  3.1051  \isaantiq
  3.1052 -theory\ Isac{}%
  3.1053 +thm\ equival{\isaliteral{5F}{\isacharunderscore}}trans{\isaliteral{5F}{\isacharunderscore}}{\isadigit{2}}nd{\isaliteral{5F}{\isacharunderscore}}order{}%
  3.1054  \endisaantiq
  3.1055 -\ false\ norm{\isaliteral{5F}{\isacharunderscore}}Rational\ eq{\isadigit{4}}{\isaliteral{5F}{\isacharunderscore}}{\isadigit{1}}{\isaliteral{3B}{\isacharsemicolon}}\isanewline
  3.1056 -term{\isadigit{2}}str\ eq{\isadigit{4}}{\isaliteral{5F}{\isacharunderscore}}{\isadigit{2}}{\isaliteral{3B}{\isacharsemicolon}}\isanewline
  3.1057 -\isanewline
  3.1058 -val\ fmz\ {\isaliteral{3D}{\isacharequal}}\ {\isaliteral{5B}{\isacharbrackleft}}{\isaliteral{22}{\isachardoublequote}}equality\ {\isaliteral{28}{\isacharparenleft}}{\isadigit{3}}\ {\isaliteral{3D}{\isacharequal}}\ {\isadigit{3}}\ {\isaliteral{2A}{\isacharasterisk}}\ A\ {\isaliteral{2F}{\isacharslash}}\ {\isaliteral{28}{\isacharparenleft}}{\isadigit{4}}{\isaliteral{3A}{\isacharcolon}}{\isaliteral{3A}{\isacharcolon}}real{\isaliteral{29}{\isacharparenright}}{\isaliteral{29}{\isacharparenright}}{\isaliteral{22}{\isachardoublequote}}{\isaliteral{2C}{\isacharcomma}}\ {\isaliteral{22}{\isachardoublequote}}solveFor\ A{\isaliteral{22}{\isachardoublequote}}{\isaliteral{2C}{\isacharcomma}}{\isaliteral{22}{\isachardoublequote}}solutions\ L{\isaliteral{22}{\isachardoublequote}}{\isaliteral{5D}{\isacharbrackright}}{\isaliteral{3B}{\isacharsemicolon}}\isanewline
  3.1059 -val\ {\isaliteral{28}{\isacharparenleft}}dI{\isaliteral{27}{\isacharprime}}{\isaliteral{2C}{\isacharcomma}}pI{\isaliteral{27}{\isacharprime}}{\isaliteral{2C}{\isacharcomma}}mI{\isaliteral{27}{\isacharprime}}{\isaliteral{29}{\isacharparenright}}\ {\isaliteral{3D}{\isacharequal}}{\isaliteral{28}{\isacharparenleft}}{\isaliteral{22}{\isachardoublequote}}Isac{\isaliteral{22}{\isachardoublequote}}{\isaliteral{2C}{\isacharcomma}}\ {\isaliteral{5B}{\isacharbrackleft}}{\isaliteral{22}{\isachardoublequote}}univariate{\isaliteral{22}{\isachardoublequote}}{\isaliteral{2C}{\isacharcomma}}{\isaliteral{22}{\isachardoublequote}}equation{\isaliteral{22}{\isachardoublequote}}{\isaliteral{5D}{\isacharbrackright}}{\isaliteral{2C}{\isacharcomma}}\ {\isaliteral{5B}{\isacharbrackleft}}{\isaliteral{22}{\isachardoublequote}}no{\isaliteral{5F}{\isacharunderscore}}met{\isaliteral{22}{\isachardoublequote}}{\isaliteral{5D}{\isacharbrackright}}{\isaliteral{29}{\isacharparenright}}{\isaliteral{3B}{\isacharsemicolon}}\isanewline
  3.1060 -{\isaliteral{28}{\isacharparenleft}}{\isaliteral{2A}{\isacharasterisk}}solve\ the\ simple\ linear\ equilation\ for\ A\ TODO{\isaliteral{3A}{\isacharcolon}}\ return\ eq{\isaliteral{2C}{\isacharcomma}}\ not\ list\ of\ eq{\isaliteral{2A}{\isacharasterisk}}{\isaliteral{29}{\isacharparenright}}\isanewline
  3.1061 -val\ {\isaliteral{28}{\isacharparenleft}}p{\isaliteral{2C}{\isacharcomma}}{\isaliteral{5F}{\isacharunderscore}}{\isaliteral{2C}{\isacharcomma}}fa{\isaliteral{2C}{\isacharcomma}}nxt{\isaliteral{2C}{\isacharcomma}}{\isaliteral{5F}{\isacharunderscore}}{\isaliteral{2C}{\isacharcomma}}pt{\isaliteral{29}{\isacharparenright}}\ {\isaliteral{3D}{\isacharequal}}\ CalcTreeTEST\ {\isaliteral{5B}{\isacharbrackleft}}{\isaliteral{28}{\isacharparenleft}}fmz{\isaliteral{2C}{\isacharcomma}}\ {\isaliteral{28}{\isacharparenleft}}dI{\isaliteral{27}{\isacharprime}}{\isaliteral{2C}{\isacharcomma}}pI{\isaliteral{27}{\isacharprime}}{\isaliteral{2C}{\isacharcomma}}mI{\isaliteral{27}{\isacharprime}}{\isaliteral{29}{\isacharparenright}}{\isaliteral{29}{\isacharparenright}}{\isaliteral{5D}{\isacharbrackright}}{\isaliteral{3B}{\isacharsemicolon}}\isanewline
  3.1062 -val\ {\isaliteral{28}{\isacharparenleft}}p{\isaliteral{2C}{\isacharcomma}}{\isaliteral{5F}{\isacharunderscore}}{\isaliteral{2C}{\isacharcomma}}fa{\isaliteral{2C}{\isacharcomma}}nxt{\isaliteral{2C}{\isacharcomma}}{\isaliteral{5F}{\isacharunderscore}}{\isaliteral{2C}{\isacharcomma}}pt{\isaliteral{29}{\isacharparenright}}\ {\isaliteral{3D}{\isacharequal}}\ me\ nxt\ p\ {\isaliteral{5B}{\isacharbrackleft}}{\isaliteral{5D}{\isacharbrackright}}\ pt{\isaliteral{3B}{\isacharsemicolon}}\ {\isaliteral{28}{\isacharparenleft}}{\isaliteral{2A}{\isacharasterisk}}Add{\isaliteral{5F}{\isacharunderscore}}Given\ {\isaliteral{22}{\isachardoublequote}}equality\ {\isaliteral{28}{\isacharparenleft}}{\isadigit{3}}\ {\isaliteral{3D}{\isacharequal}}\ {\isadigit{3}}\ {\isaliteral{2A}{\isacharasterisk}}\ A\ {\isaliteral{2F}{\isacharslash}}\ {\isadigit{4}}{\isaliteral{29}{\isacharparenright}}{\isaliteral{22}{\isachardoublequote}}{\isaliteral{2A}{\isacharasterisk}}{\isaliteral{29}{\isacharparenright}}\isanewline
  3.1063 -val\ {\isaliteral{28}{\isacharparenleft}}p{\isaliteral{2C}{\isacharcomma}}{\isaliteral{5F}{\isacharunderscore}}{\isaliteral{2C}{\isacharcomma}}fa{\isaliteral{2C}{\isacharcomma}}nxt{\isaliteral{2C}{\isacharcomma}}{\isaliteral{5F}{\isacharunderscore}}{\isaliteral{2C}{\isacharcomma}}pt{\isaliteral{29}{\isacharparenright}}\ {\isaliteral{3D}{\isacharequal}}\ me\ nxt\ p\ {\isaliteral{5B}{\isacharbrackleft}}{\isaliteral{5D}{\isacharbrackright}}\ pt{\isaliteral{3B}{\isacharsemicolon}}\ {\isaliteral{28}{\isacharparenleft}}{\isaliteral{2A}{\isacharasterisk}}\ Add{\isaliteral{5F}{\isacharunderscore}}Given\ {\isaliteral{22}{\isachardoublequote}}solveFor\ A{\isaliteral{22}{\isachardoublequote}}{\isaliteral{2A}{\isacharasterisk}}{\isaliteral{29}{\isacharparenright}}\isanewline
  3.1064 -val\ {\isaliteral{28}{\isacharparenleft}}p{\isaliteral{2C}{\isacharcomma}}{\isaliteral{5F}{\isacharunderscore}}{\isaliteral{2C}{\isacharcomma}}fa{\isaliteral{2C}{\isacharcomma}}nxt{\isaliteral{2C}{\isacharcomma}}{\isaliteral{5F}{\isacharunderscore}}{\isaliteral{2C}{\isacharcomma}}pt{\isaliteral{29}{\isacharparenright}}\ {\isaliteral{3D}{\isacharequal}}\ me\ nxt\ p\ {\isaliteral{5B}{\isacharbrackleft}}{\isaliteral{5D}{\isacharbrackright}}\ pt{\isaliteral{3B}{\isacharsemicolon}}\ {\isaliteral{28}{\isacharparenleft}}{\isaliteral{2A}{\isacharasterisk}}Add{\isaliteral{5F}{\isacharunderscore}}Find\ {\isaliteral{22}{\isachardoublequote}}solutions\ L{\isaliteral{22}{\isachardoublequote}}{\isaliteral{2A}{\isacharasterisk}}{\isaliteral{29}{\isacharparenright}}\isanewline
  3.1065 -val\ {\isaliteral{28}{\isacharparenleft}}p{\isaliteral{2C}{\isacharcomma}}{\isaliteral{5F}{\isacharunderscore}}{\isaliteral{2C}{\isacharcomma}}fa{\isaliteral{2C}{\isacharcomma}}nxt{\isaliteral{2C}{\isacharcomma}}{\isaliteral{5F}{\isacharunderscore}}{\isaliteral{2C}{\isacharcomma}}pt{\isaliteral{29}{\isacharparenright}}\ {\isaliteral{3D}{\isacharequal}}\ me\ nxt\ p\ {\isaliteral{5B}{\isacharbrackleft}}{\isaliteral{5D}{\isacharbrackright}}\ pt{\isaliteral{3B}{\isacharsemicolon}}\ {\isaliteral{28}{\isacharparenleft}}{\isaliteral{2A}{\isacharasterisk}}Specify{\isaliteral{5F}{\isacharunderscore}}Theory\ {\isaliteral{22}{\isachardoublequote}}Isac{\isaliteral{22}{\isachardoublequote}}{\isaliteral{2A}{\isacharasterisk}}{\isaliteral{29}{\isacharparenright}}\isanewline
  3.1066 -val\ {\isaliteral{28}{\isacharparenleft}}p{\isaliteral{2C}{\isacharcomma}}{\isaliteral{5F}{\isacharunderscore}}{\isaliteral{2C}{\isacharcomma}}fa{\isaliteral{2C}{\isacharcomma}}nxt{\isaliteral{2C}{\isacharcomma}}{\isaliteral{5F}{\isacharunderscore}}{\isaliteral{2C}{\isacharcomma}}pt{\isaliteral{29}{\isacharparenright}}\ {\isaliteral{3D}{\isacharequal}}\ me\ nxt\ p\ {\isaliteral{5B}{\isacharbrackleft}}{\isaliteral{5D}{\isacharbrackright}}\ pt{\isaliteral{3B}{\isacharsemicolon}}\ {\isaliteral{28}{\isacharparenleft}}{\isaliteral{2A}{\isacharasterisk}}Specify{\isaliteral{5F}{\isacharunderscore}}Problem\ {\isaliteral{5B}{\isacharbrackleft}}{\isaliteral{22}{\isachardoublequote}}normalize{\isaliteral{22}{\isachardoublequote}}{\isaliteral{2C}{\isacharcomma}}\ {\isaliteral{22}{\isachardoublequote}}polynomial{\isaliteral{22}{\isachardoublequote}}{\isaliteral{2C}{\isacharcomma}}\ \isanewline
  3.1067 -\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ {\isaliteral{22}{\isachardoublequote}}univariate{\isaliteral{22}{\isachardoublequote}}{\isaliteral{2C}{\isacharcomma}}\ {\isaliteral{22}{\isachardoublequote}}equation{\isaliteral{22}{\isachardoublequote}}{\isaliteral{5D}{\isacharbrackright}}{\isaliteral{29}{\isacharparenright}}{\isaliteral{2A}{\isacharasterisk}}{\isaliteral{29}{\isacharparenright}}\isanewline
  3.1068 -val\ {\isaliteral{28}{\isacharparenleft}}p{\isaliteral{2C}{\isacharcomma}}{\isaliteral{5F}{\isacharunderscore}}{\isaliteral{2C}{\isacharcomma}}fa{\isaliteral{2C}{\isacharcomma}}nxt{\isaliteral{2C}{\isacharcomma}}{\isaliteral{5F}{\isacharunderscore}}{\isaliteral{2C}{\isacharcomma}}pt{\isaliteral{29}{\isacharparenright}}\ {\isaliteral{3D}{\isacharequal}}\ me\ nxt\ p\ {\isaliteral{5B}{\isacharbrackleft}}{\isaliteral{5D}{\isacharbrackright}}\ pt{\isaliteral{3B}{\isacharsemicolon}}\ {\isaliteral{28}{\isacharparenleft}}{\isaliteral{2A}{\isacharasterisk}}\ Specify{\isaliteral{5F}{\isacharunderscore}}Method\ {\isaliteral{5B}{\isacharbrackleft}}{\isaliteral{22}{\isachardoublequote}}PolyEq{\isaliteral{22}{\isachardoublequote}}{\isaliteral{2C}{\isacharcomma}}\ {\isaliteral{22}{\isachardoublequote}}normalize{\isaliteral{5F}{\isacharunderscore}}poly{\isaliteral{22}{\isachardoublequote}}{\isaliteral{5D}{\isacharbrackright}}{\isaliteral{2A}{\isacharasterisk}}{\isaliteral{29}{\isacharparenright}}\isanewline
  3.1069 -val\ {\isaliteral{28}{\isacharparenleft}}p{\isaliteral{2C}{\isacharcomma}}{\isaliteral{5F}{\isacharunderscore}}{\isaliteral{2C}{\isacharcomma}}fa{\isaliteral{2C}{\isacharcomma}}nxt{\isaliteral{2C}{\isacharcomma}}{\isaliteral{5F}{\isacharunderscore}}{\isaliteral{2C}{\isacharcomma}}pt{\isaliteral{29}{\isacharparenright}}\ {\isaliteral{3D}{\isacharequal}}\ me\ nxt\ p\ {\isaliteral{5B}{\isacharbrackleft}}{\isaliteral{5D}{\isacharbrackright}}\ pt{\isaliteral{3B}{\isacharsemicolon}}\ {\isaliteral{28}{\isacharparenleft}}{\isaliteral{2A}{\isacharasterisk}}Apply{\isaliteral{5F}{\isacharunderscore}}Method\ {\isaliteral{5B}{\isacharbrackleft}}{\isaliteral{22}{\isachardoublequote}}PolyEq{\isaliteral{22}{\isachardoublequote}}{\isaliteral{2C}{\isacharcomma}}\ {\isaliteral{22}{\isachardoublequote}}normalize{\isaliteral{5F}{\isacharunderscore}}poly{\isaliteral{22}{\isachardoublequote}}{\isaliteral{5D}{\isacharbrackright}}{\isaliteral{2A}{\isacharasterisk}}{\isaliteral{29}{\isacharparenright}}\isanewline
  3.1070 -val\ {\isaliteral{28}{\isacharparenleft}}p{\isaliteral{2C}{\isacharcomma}}{\isaliteral{5F}{\isacharunderscore}}{\isaliteral{2C}{\isacharcomma}}fa{\isaliteral{2C}{\isacharcomma}}nxt{\isaliteral{2C}{\isacharcomma}}{\isaliteral{5F}{\isacharunderscore}}{\isaliteral{2C}{\isacharcomma}}pt{\isaliteral{29}{\isacharparenright}}\ {\isaliteral{3D}{\isacharequal}}\ me\ nxt\ p\ {\isaliteral{5B}{\isacharbrackleft}}{\isaliteral{5D}{\isacharbrackright}}\ pt{\isaliteral{3B}{\isacharsemicolon}}\ {\isaliteral{28}{\isacharparenleft}}{\isaliteral{2A}{\isacharasterisk}}Rewrite\ {\isaliteral{28}{\isacharparenleft}}{\isaliteral{22}{\isachardoublequote}}all{\isaliteral{5F}{\isacharunderscore}}left{\isaliteral{22}{\isachardoublequote}}{\isaliteral{2C}{\isacharcomma}}\ {\isaliteral{22}{\isachardoublequote}}PolyEq{\isaliteral{2E}{\isachardot}}all{\isaliteral{5F}{\isacharunderscore}}left{\isaliteral{22}{\isachardoublequote}}{\isaliteral{29}{\isacharparenright}}{\isaliteral{2A}{\isacharasterisk}}{\isaliteral{29}{\isacharparenright}}\isanewline
  3.1071 -val\ {\isaliteral{28}{\isacharparenleft}}p{\isaliteral{2C}{\isacharcomma}}{\isaliteral{5F}{\isacharunderscore}}{\isaliteral{2C}{\isacharcomma}}fa{\isaliteral{2C}{\isacharcomma}}nxt{\isaliteral{2C}{\isacharcomma}}{\isaliteral{5F}{\isacharunderscore}}{\isaliteral{2C}{\isacharcomma}}pt{\isaliteral{29}{\isacharparenright}}\ {\isaliteral{3D}{\isacharequal}}\ me\ nxt\ p\ {\isaliteral{5B}{\isacharbrackleft}}{\isaliteral{5D}{\isacharbrackright}}\ pt{\isaliteral{3B}{\isacharsemicolon}}\ {\isaliteral{28}{\isacharparenleft}}{\isaliteral{2A}{\isacharasterisk}}Rewrite{\isaliteral{5F}{\isacharunderscore}}Set{\isaliteral{5F}{\isacharunderscore}}Inst\ {\isaliteral{28}{\isacharparenleft}}{\isaliteral{5B}{\isacharbrackleft}}{\isaliteral{22}{\isachardoublequote}}{\isaliteral{28}{\isacharparenleft}}bdv{\isaliteral{2C}{\isacharcomma}}\ A{\isaliteral{29}{\isacharparenright}}{\isaliteral{22}{\isachardoublequote}}{\isaliteral{5D}{\isacharbrackright}}{\isaliteral{2C}{\isacharcomma}}\ {\isaliteral{22}{\isachardoublequote}}make{\isaliteral{5F}{\isacharunderscore}}ratpoly{\isaliteral{5F}{\isacharunderscore}}in{\isaliteral{22}{\isachardoublequote}}{\isaliteral{29}{\isacharparenright}}{\isaliteral{2A}{\isacharasterisk}}{\isaliteral{29}{\isacharparenright}}\isanewline
  3.1072 -val\ {\isaliteral{28}{\isacharparenleft}}p{\isaliteral{2C}{\isacharcomma}}{\isaliteral{5F}{\isacharunderscore}}{\isaliteral{2C}{\isacharcomma}}fa{\isaliteral{2C}{\isacharcomma}}nxt{\isaliteral{2C}{\isacharcomma}}{\isaliteral{5F}{\isacharunderscore}}{\isaliteral{2C}{\isacharcomma}}pt{\isaliteral{29}{\isacharparenright}}\ {\isaliteral{3D}{\isacharequal}}\ me\ nxt\ p\ {\isaliteral{5B}{\isacharbrackleft}}{\isaliteral{5D}{\isacharbrackright}}\ pt{\isaliteral{3B}{\isacharsemicolon}}\ {\isaliteral{28}{\isacharparenleft}}{\isaliteral{2A}{\isacharasterisk}}Rewrite{\isaliteral{5F}{\isacharunderscore}}Set\ {\isaliteral{22}{\isachardoublequote}}polyeq{\isaliteral{5F}{\isacharunderscore}}simplify{\isaliteral{22}{\isachardoublequote}}{\isaliteral{2A}{\isacharasterisk}}{\isaliteral{29}{\isacharparenright}}\isanewline
  3.1073 -val\ {\isaliteral{28}{\isacharparenleft}}p{\isaliteral{2C}{\isacharcomma}}{\isaliteral{5F}{\isacharunderscore}}{\isaliteral{2C}{\isacharcomma}}fa{\isaliteral{2C}{\isacharcomma}}nxt{\isaliteral{2C}{\isacharcomma}}{\isaliteral{5F}{\isacharunderscore}}{\isaliteral{2C}{\isacharcomma}}pt{\isaliteral{29}{\isacharparenright}}\ {\isaliteral{3D}{\isacharequal}}\ me\ nxt\ p\ {\isaliteral{5B}{\isacharbrackleft}}{\isaliteral{5D}{\isacharbrackright}}\ pt{\isaliteral{3B}{\isacharsemicolon}}\ {\isaliteral{28}{\isacharparenleft}}{\isaliteral{2A}{\isacharasterisk}}{\isaliteral{2A}{\isacharasterisk}}{\isaliteral{29}{\isacharparenright}}\isanewline
  3.1074 -val\ {\isaliteral{28}{\isacharparenleft}}p{\isaliteral{2C}{\isacharcomma}}{\isaliteral{5F}{\isacharunderscore}}{\isaliteral{2C}{\isacharcomma}}fa{\isaliteral{2C}{\isacharcomma}}nxt{\isaliteral{2C}{\isacharcomma}}{\isaliteral{5F}{\isacharunderscore}}{\isaliteral{2C}{\isacharcomma}}pt{\isaliteral{29}{\isacharparenright}}\ {\isaliteral{3D}{\isacharequal}}\ me\ nxt\ p\ {\isaliteral{5B}{\isacharbrackleft}}{\isaliteral{5D}{\isacharbrackright}}\ pt{\isaliteral{3B}{\isacharsemicolon}}\ {\isaliteral{28}{\isacharparenleft}}{\isaliteral{2A}{\isacharasterisk}}{\isaliteral{2A}{\isacharasterisk}}{\isaliteral{29}{\isacharparenright}}\isanewline
  3.1075 -val\ {\isaliteral{28}{\isacharparenleft}}p{\isaliteral{2C}{\isacharcomma}}{\isaliteral{5F}{\isacharunderscore}}{\isaliteral{2C}{\isacharcomma}}fa{\isaliteral{2C}{\isacharcomma}}nxt{\isaliteral{2C}{\isacharcomma}}{\isaliteral{5F}{\isacharunderscore}}{\isaliteral{2C}{\isacharcomma}}pt{\isaliteral{29}{\isacharparenright}}\ {\isaliteral{3D}{\isacharequal}}\ me\ nxt\ p\ {\isaliteral{5B}{\isacharbrackleft}}{\isaliteral{5D}{\isacharbrackright}}\ pt{\isaliteral{3B}{\isacharsemicolon}}\ {\isaliteral{28}{\isacharparenleft}}{\isaliteral{2A}{\isacharasterisk}}Add{\isaliteral{5F}{\isacharunderscore}}Given\ {\isaliteral{22}{\isachardoublequote}}equality\ {\isaliteral{28}{\isacharparenleft}}{\isadigit{3}}\ {\isaliteral{2B}{\isacharplus}}\ {\isaliteral{2D}{\isacharminus}}{\isadigit{3}}\ {\isaliteral{2F}{\isacharslash}}\ {\isadigit{4}}\ {\isaliteral{2A}{\isacharasterisk}}\ A\ {\isaliteral{3D}{\isacharequal}}\ {\isadigit{0}}{\isaliteral{29}{\isacharparenright}}{\isaliteral{22}{\isachardoublequote}}{\isaliteral{2A}{\isacharasterisk}}{\isaliteral{29}{\isacharparenright}}\isanewline
  3.1076 -val\ {\isaliteral{28}{\isacharparenleft}}p{\isaliteral{2C}{\isacharcomma}}{\isaliteral{5F}{\isacharunderscore}}{\isaliteral{2C}{\isacharcomma}}fa{\isaliteral{2C}{\isacharcomma}}nxt{\isaliteral{2C}{\isacharcomma}}{\isaliteral{5F}{\isacharunderscore}}{\isaliteral{2C}{\isacharcomma}}pt{\isaliteral{29}{\isacharparenright}}\ {\isaliteral{3D}{\isacharequal}}\ me\ nxt\ p\ {\isaliteral{5B}{\isacharbrackleft}}{\isaliteral{5D}{\isacharbrackright}}\ pt{\isaliteral{3B}{\isacharsemicolon}}\ {\isaliteral{28}{\isacharparenleft}}{\isaliteral{2A}{\isacharasterisk}}Add{\isaliteral{5F}{\isacharunderscore}}Given\ {\isaliteral{22}{\isachardoublequote}}solveFor\ A{\isaliteral{22}{\isachardoublequote}}{\isaliteral{2A}{\isacharasterisk}}{\isaliteral{29}{\isacharparenright}}\isanewline
  3.1077 -val\ {\isaliteral{28}{\isacharparenleft}}p{\isaliteral{2C}{\isacharcomma}}{\isaliteral{5F}{\isacharunderscore}}{\isaliteral{2C}{\isacharcomma}}fa{\isaliteral{2C}{\isacharcomma}}nxt{\isaliteral{2C}{\isacharcomma}}{\isaliteral{5F}{\isacharunderscore}}{\isaliteral{2C}{\isacharcomma}}pt{\isaliteral{29}{\isacharparenright}}\ {\isaliteral{3D}{\isacharequal}}\ me\ nxt\ p\ {\isaliteral{5B}{\isacharbrackleft}}{\isaliteral{5D}{\isacharbrackright}}\ pt{\isaliteral{3B}{\isacharsemicolon}}\ {\isaliteral{28}{\isacharparenleft}}{\isaliteral{2A}{\isacharasterisk}}Add{\isaliteral{5F}{\isacharunderscore}}Find\ {\isaliteral{22}{\isachardoublequote}}solutions\ A{\isaliteral{5F}{\isacharunderscore}}i{\isaliteral{22}{\isachardoublequote}}{\isaliteral{2A}{\isacharasterisk}}{\isaliteral{29}{\isacharparenright}}\isanewline
  3.1078 -val\ {\isaliteral{28}{\isacharparenleft}}p{\isaliteral{2C}{\isacharcomma}}{\isaliteral{5F}{\isacharunderscore}}{\isaliteral{2C}{\isacharcomma}}fa{\isaliteral{2C}{\isacharcomma}}nxt{\isaliteral{2C}{\isacharcomma}}{\isaliteral{5F}{\isacharunderscore}}{\isaliteral{2C}{\isacharcomma}}pt{\isaliteral{29}{\isacharparenright}}\ {\isaliteral{3D}{\isacharequal}}\ me\ nxt\ p\ {\isaliteral{5B}{\isacharbrackleft}}{\isaliteral{5D}{\isacharbrackright}}\ pt{\isaliteral{3B}{\isacharsemicolon}}\ {\isaliteral{28}{\isacharparenleft}}{\isaliteral{2A}{\isacharasterisk}}{\isaliteral{2A}{\isacharasterisk}}{\isaliteral{29}{\isacharparenright}}\isanewline
  3.1079 -val\ {\isaliteral{28}{\isacharparenleft}}p{\isaliteral{2C}{\isacharcomma}}{\isaliteral{5F}{\isacharunderscore}}{\isaliteral{2C}{\isacharcomma}}fa{\isaliteral{2C}{\isacharcomma}}nxt{\isaliteral{2C}{\isacharcomma}}{\isaliteral{5F}{\isacharunderscore}}{\isaliteral{2C}{\isacharcomma}}pt{\isaliteral{29}{\isacharparenright}}\ {\isaliteral{3D}{\isacharequal}}\ me\ nxt\ p\ {\isaliteral{5B}{\isacharbrackleft}}{\isaliteral{5D}{\isacharbrackright}}\ pt{\isaliteral{3B}{\isacharsemicolon}}\ {\isaliteral{28}{\isacharparenleft}}{\isaliteral{2A}{\isacharasterisk}}{\isaliteral{2A}{\isacharasterisk}}{\isaliteral{29}{\isacharparenright}}\isanewline
  3.1080 -val\ {\isaliteral{28}{\isacharparenleft}}p{\isaliteral{2C}{\isacharcomma}}{\isaliteral{5F}{\isacharunderscore}}{\isaliteral{2C}{\isacharcomma}}fa{\isaliteral{2C}{\isacharcomma}}nxt{\isaliteral{2C}{\isacharcomma}}{\isaliteral{5F}{\isacharunderscore}}{\isaliteral{2C}{\isacharcomma}}pt{\isaliteral{29}{\isacharparenright}}\ {\isaliteral{3D}{\isacharequal}}\ me\ nxt\ p\ {\isaliteral{5B}{\isacharbrackleft}}{\isaliteral{5D}{\isacharbrackright}}\ pt{\isaliteral{3B}{\isacharsemicolon}}\ {\isaliteral{28}{\isacharparenleft}}{\isaliteral{2A}{\isacharasterisk}}{\isaliteral{2A}{\isacharasterisk}}{\isaliteral{29}{\isacharparenright}}\isanewline
  3.1081 -val\ {\isaliteral{28}{\isacharparenleft}}p{\isaliteral{2C}{\isacharcomma}}{\isaliteral{5F}{\isacharunderscore}}{\isaliteral{2C}{\isacharcomma}}fa{\isaliteral{2C}{\isacharcomma}}nxt{\isaliteral{2C}{\isacharcomma}}{\isaliteral{5F}{\isacharunderscore}}{\isaliteral{2C}{\isacharcomma}}pt{\isaliteral{29}{\isacharparenright}}\ {\isaliteral{3D}{\isacharequal}}\ me\ nxt\ p\ {\isaliteral{5B}{\isacharbrackleft}}{\isaliteral{5D}{\isacharbrackright}}\ pt{\isaliteral{3B}{\isacharsemicolon}}\ {\isaliteral{28}{\isacharparenleft}}{\isaliteral{2A}{\isacharasterisk}}Apply{\isaliteral{5F}{\isacharunderscore}}Method\ {\isaliteral{5B}{\isacharbrackleft}}{\isaliteral{22}{\isachardoublequote}}PolyEq{\isaliteral{22}{\isachardoublequote}}{\isaliteral{2C}{\isacharcomma}}\ {\isaliteral{22}{\isachardoublequote}}solve{\isaliteral{5F}{\isacharunderscore}}d{\isadigit{1}}{\isaliteral{5F}{\isacharunderscore}}polyeq{\isaliteral{5F}{\isacharunderscore}}equation{\isaliteral{22}{\isachardoublequote}}{\isaliteral{5D}{\isacharbrackright}}{\isaliteral{2A}{\isacharasterisk}}{\isaliteral{29}{\isacharparenright}}\isanewline
  3.1082 -val\ {\isaliteral{28}{\isacharparenleft}}p{\isaliteral{2C}{\isacharcomma}}{\isaliteral{5F}{\isacharunderscore}}{\isaliteral{2C}{\isacharcomma}}fa{\isaliteral{2C}{\isacharcomma}}nxt{\isaliteral{2C}{\isacharcomma}}{\isaliteral{5F}{\isacharunderscore}}{\isaliteral{2C}{\isacharcomma}}pt{\isaliteral{29}{\isacharparenright}}\ {\isaliteral{3D}{\isacharequal}}\ me\ nxt\ p\ {\isaliteral{5B}{\isacharbrackleft}}{\isaliteral{5D}{\isacharbrackright}}\ pt{\isaliteral{3B}{\isacharsemicolon}}\ {\isaliteral{28}{\isacharparenleft}}{\isaliteral{2A}{\isacharasterisk}}Rewrite{\isaliteral{5F}{\isacharunderscore}}Set{\isaliteral{5F}{\isacharunderscore}}Inst\ {\isaliteral{28}{\isacharparenleft}}{\isaliteral{5B}{\isacharbrackleft}}{\isaliteral{22}{\isachardoublequote}}{\isaliteral{28}{\isacharparenleft}}bdv{\isaliteral{2C}{\isacharcomma}}\ A{\isaliteral{29}{\isacharparenright}}{\isaliteral{22}{\isachardoublequote}}{\isaliteral{5D}{\isacharbrackright}}{\isaliteral{2C}{\isacharcomma}}\ {\isaliteral{22}{\isachardoublequote}}d{\isadigit{1}}{\isaliteral{5F}{\isacharunderscore}}polyeq{\isaliteral{5F}{\isacharunderscore}}simplify{\isaliteral{22}{\isachardoublequote}}{\isaliteral{29}{\isacharparenright}}{\isaliteral{2A}{\isacharasterisk}}{\isaliteral{29}{\isacharparenright}}\isanewline
  3.1083 -val\ {\isaliteral{28}{\isacharparenleft}}p{\isaliteral{2C}{\isacharcomma}}{\isaliteral{5F}{\isacharunderscore}}{\isaliteral{2C}{\isacharcomma}}fa{\isaliteral{2C}{\isacharcomma}}nxt{\isaliteral{2C}{\isacharcomma}}{\isaliteral{5F}{\isacharunderscore}}{\isaliteral{2C}{\isacharcomma}}pt{\isaliteral{29}{\isacharparenright}}\ {\isaliteral{3D}{\isacharequal}}\ me\ nxt\ p\ {\isaliteral{5B}{\isacharbrackleft}}{\isaliteral{5D}{\isacharbrackright}}\ pt{\isaliteral{3B}{\isacharsemicolon}}\ {\isaliteral{28}{\isacharparenleft}}{\isaliteral{2A}{\isacharasterisk}}Rewrite{\isaliteral{5F}{\isacharunderscore}}Set\ {\isaliteral{22}{\isachardoublequote}}polyeq{\isaliteral{5F}{\isacharunderscore}}simplify{\isaliteral{22}{\isachardoublequote}}{\isaliteral{2A}{\isacharasterisk}}{\isaliteral{29}{\isacharparenright}}\isanewline
  3.1084 -val\ {\isaliteral{28}{\isacharparenleft}}p{\isaliteral{2C}{\isacharcomma}}{\isaliteral{5F}{\isacharunderscore}}{\isaliteral{2C}{\isacharcomma}}fa{\isaliteral{2C}{\isacharcomma}}nxt{\isaliteral{2C}{\isacharcomma}}{\isaliteral{5F}{\isacharunderscore}}{\isaliteral{2C}{\isacharcomma}}pt{\isaliteral{29}{\isacharparenright}}\ {\isaliteral{3D}{\isacharequal}}\ me\ nxt\ p\ {\isaliteral{5B}{\isacharbrackleft}}{\isaliteral{5D}{\isacharbrackright}}\ pt{\isaliteral{3B}{\isacharsemicolon}}\ {\isaliteral{28}{\isacharparenleft}}{\isaliteral{2A}{\isacharasterisk}}Rewrite{\isaliteral{5F}{\isacharunderscore}}Set\ {\isaliteral{22}{\isachardoublequote}}norm{\isaliteral{5F}{\isacharunderscore}}Rational{\isaliteral{5F}{\isacharunderscore}}parenthesized{\isaliteral{22}{\isachardoublequote}}{\isaliteral{2A}{\isacharasterisk}}{\isaliteral{29}{\isacharparenright}}\isanewline
  3.1085 -val\ {\isaliteral{28}{\isacharparenleft}}p{\isaliteral{2C}{\isacharcomma}}{\isaliteral{5F}{\isacharunderscore}}{\isaliteral{2C}{\isacharcomma}}fa{\isaliteral{2C}{\isacharcomma}}nxt{\isaliteral{2C}{\isacharcomma}}{\isaliteral{5F}{\isacharunderscore}}{\isaliteral{2C}{\isacharcomma}}pt{\isaliteral{29}{\isacharparenright}}\ {\isaliteral{3D}{\isacharequal}}\ me\ nxt\ p\ {\isaliteral{5B}{\isacharbrackleft}}{\isaliteral{5D}{\isacharbrackright}}\ pt{\isaliteral{3B}{\isacharsemicolon}}\ {\isaliteral{28}{\isacharparenleft}}{\isaliteral{2A}{\isacharasterisk}}Or{\isaliteral{5F}{\isacharunderscore}}to{\isaliteral{5F}{\isacharunderscore}}List{\isaliteral{2A}{\isacharasterisk}}{\isaliteral{29}{\isacharparenright}}\isanewline
  3.1086 -val\ {\isaliteral{28}{\isacharparenleft}}p{\isaliteral{2C}{\isacharcomma}}{\isaliteral{5F}{\isacharunderscore}}{\isaliteral{2C}{\isacharcomma}}fa{\isaliteral{2C}{\isacharcomma}}nxt{\isaliteral{2C}{\isacharcomma}}{\isaliteral{5F}{\isacharunderscore}}{\isaliteral{2C}{\isacharcomma}}pt{\isaliteral{29}{\isacharparenright}}\ {\isaliteral{3D}{\isacharequal}}\ me\ nxt\ p\ {\isaliteral{5B}{\isacharbrackleft}}{\isaliteral{5D}{\isacharbrackright}}\ pt{\isaliteral{3B}{\isacharsemicolon}}\ {\isaliteral{28}{\isacharparenleft}}{\isaliteral{2A}{\isacharasterisk}}Check{\isaliteral{5F}{\isacharunderscore}}elementwise\ {\isaliteral{22}{\isachardoublequote}}Assumptions{\isaliteral{22}{\isachardoublequote}}{\isaliteral{2A}{\isacharasterisk}}{\isaliteral{29}{\isacharparenright}}\isanewline
  3.1087 -val\ {\isaliteral{28}{\isacharparenleft}}p{\isaliteral{2C}{\isacharcomma}}{\isaliteral{5F}{\isacharunderscore}}{\isaliteral{2C}{\isacharcomma}}fa{\isaliteral{2C}{\isacharcomma}}nxt{\isaliteral{2C}{\isacharcomma}}{\isaliteral{5F}{\isacharunderscore}}{\isaliteral{2C}{\isacharcomma}}pt{\isaliteral{29}{\isacharparenright}}\ {\isaliteral{3D}{\isacharequal}}\ me\ nxt\ p\ {\isaliteral{5B}{\isacharbrackleft}}{\isaliteral{5D}{\isacharbrackright}}\ pt{\isaliteral{3B}{\isacharsemicolon}}\ {\isaliteral{28}{\isacharparenleft}}{\isaliteral{2A}{\isacharasterisk}}Check{\isaliteral{5F}{\isacharunderscore}}Postcond\ {\isaliteral{5B}{\isacharbrackleft}}{\isaliteral{22}{\isachardoublequote}}degree{\isaliteral{5F}{\isacharunderscore}}{\isadigit{1}}{\isaliteral{22}{\isachardoublequote}}{\isaliteral{2C}{\isacharcomma}}\ {\isaliteral{22}{\isachardoublequote}}polynomial{\isaliteral{22}{\isachardoublequote}}{\isaliteral{2C}{\isacharcomma}}\ \isanewline
  3.1088 -\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ {\isaliteral{22}{\isachardoublequote}}univariate{\isaliteral{22}{\isachardoublequote}}{\isaliteral{2C}{\isacharcomma}}\ {\isaliteral{22}{\isachardoublequote}}equation{\isaliteral{22}{\isachardoublequote}}{\isaliteral{5D}{\isacharbrackright}}{\isaliteral{2A}{\isacharasterisk}}{\isaliteral{29}{\isacharparenright}}\isanewline
  3.1089 -val\ {\isaliteral{28}{\isacharparenleft}}p{\isaliteral{2C}{\isacharcomma}}{\isaliteral{5F}{\isacharunderscore}}{\isaliteral{2C}{\isacharcomma}}fa{\isaliteral{2C}{\isacharcomma}}nxt{\isaliteral{2C}{\isacharcomma}}{\isaliteral{5F}{\isacharunderscore}}{\isaliteral{2C}{\isacharcomma}}pt{\isaliteral{29}{\isacharparenright}}\ {\isaliteral{3D}{\isacharequal}}\ me\ nxt\ p\ {\isaliteral{5B}{\isacharbrackleft}}{\isaliteral{5D}{\isacharbrackright}}\ pt{\isaliteral{3B}{\isacharsemicolon}}\ {\isaliteral{28}{\isacharparenleft}}{\isaliteral{2A}{\isacharasterisk}}Check{\isaliteral{5F}{\isacharunderscore}}Postcond\ {\isaliteral{5B}{\isacharbrackleft}}{\isaliteral{22}{\isachardoublequote}}normalize{\isaliteral{22}{\isachardoublequote}}{\isaliteral{2C}{\isacharcomma}}\ {\isaliteral{22}{\isachardoublequote}}polynomial{\isaliteral{22}{\isachardoublequote}}{\isaliteral{2C}{\isacharcomma}}\ \isanewline
  3.1090 -\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ {\isaliteral{22}{\isachardoublequote}}univariate{\isaliteral{22}{\isachardoublequote}}{\isaliteral{2C}{\isacharcomma}}\ {\isaliteral{22}{\isachardoublequote}}equation{\isaliteral{22}{\isachardoublequote}}{\isaliteral{5D}{\isacharbrackright}}{\isaliteral{2A}{\isacharasterisk}}{\isaliteral{29}{\isacharparenright}}\isanewline
  3.1091 -val\ {\isaliteral{28}{\isacharparenleft}}p{\isaliteral{2C}{\isacharcomma}}{\isaliteral{5F}{\isacharunderscore}}{\isaliteral{2C}{\isacharcomma}}fa{\isaliteral{2C}{\isacharcomma}}nxt{\isaliteral{2C}{\isacharcomma}}{\isaliteral{5F}{\isacharunderscore}}{\isaliteral{2C}{\isacharcomma}}pt{\isaliteral{29}{\isacharparenright}}\ {\isaliteral{3D}{\isacharequal}}\ me\ nxt\ p\ {\isaliteral{5B}{\isacharbrackleft}}{\isaliteral{5D}{\isacharbrackright}}\ pt{\isaliteral{3B}{\isacharsemicolon}}\ {\isaliteral{28}{\isacharparenleft}}{\isaliteral{2A}{\isacharasterisk}}End{\isaliteral{5F}{\isacharunderscore}}Proof{\isaliteral{27}{\isacharprime}}{\isaliteral{2A}{\isacharasterisk}}{\isaliteral{29}{\isacharparenright}}\isanewline
  3.1092 -f{\isadigit{2}}str\ fa{\isaliteral{3B}{\isacharsemicolon}}\isanewline
  3.1093 +\ eq{\isadigit{1}}{\isaliteral{3B}{\isacharsemicolon}}\isanewline
  3.1094 +\ \ term{\isadigit{2}}str\ eq{\isadigit{2}}{\isaliteral{3B}{\isacharsemicolon}}\isanewline
  3.1095  {\isaliteral{2A7D}{\isacharverbatimclose}}%
  3.1096  \endisatagML
  3.1097  {\isafoldML}%
  3.1098 @@ -1218,85 +1195,10 @@
  3.1099  %
  3.1100  \endisadelimML
  3.1101  %
  3.1102 -\isamarkupsubsubsection{get second koeffizient%
  3.1103 -}
  3.1104 -\isamarkuptrue%
  3.1105 -%
  3.1106 -\isadelimML
  3.1107 -%
  3.1108 -\endisadelimML
  3.1109 -%
  3.1110 -\isatagML
  3.1111 -\isacommand{ML}\isamarkupfalse%
  3.1112 -\ {\isaliteral{7B2A}{\isacharverbatimopen}}thy{\isaliteral{2A7D}{\isacharverbatimclose}}\isanewline
  3.1113 -\isanewline
  3.1114 -\isacommand{ML}\isamarkupfalse%
  3.1115 -\ {\isaliteral{7B2A}{\isacharverbatimopen}}\isanewline
  3.1116 -{\isaliteral{28}{\isacharparenleft}}{\isaliteral{2A}{\isacharasterisk}}substitude\ z\ with\ the\ second\ zeropoint\ to\ get\ B{\isaliteral{2A}{\isacharasterisk}}{\isaliteral{29}{\isacharparenright}}\isanewline
  3.1117 -val\ SOME\ {\isaliteral{28}{\isacharparenleft}}eq{\isadigit{4}}b{\isaliteral{5F}{\isacharunderscore}}{\isadigit{1}}{\isaliteral{2C}{\isacharcomma}}{\isaliteral{5F}{\isacharunderscore}}{\isaliteral{29}{\isacharparenright}}\ {\isaliteral{3D}{\isacharequal}}\ rewrite{\isaliteral{5F}{\isacharunderscore}}terms{\isaliteral{5F}{\isacharunderscore}}\ %
  3.1118 -\isaantiq
  3.1119 -theory\ Isac{}%
  3.1120 -\endisaantiq
  3.1121 -\ e{\isaliteral{5F}{\isacharunderscore}}rew{\isaliteral{5F}{\isacharunderscore}}ord\ e{\isaliteral{5F}{\isacharunderscore}}rls\ {\isaliteral{5B}{\isacharbrackleft}}s{\isaliteral{5F}{\isacharunderscore}}{\isadigit{2}}{\isaliteral{5D}{\isacharbrackright}}\ eq{\isadigit{3}}{\isaliteral{27}{\isacharprime}}{\isaliteral{27}{\isacharprime}}{\isaliteral{3B}{\isacharsemicolon}}\isanewline
  3.1122 -term{\isadigit{2}}str\ eq{\isadigit{4}}b{\isaliteral{5F}{\isacharunderscore}}{\isadigit{1}}{\isaliteral{3B}{\isacharsemicolon}}\isanewline
  3.1123 -\isanewline
  3.1124 -val\ SOME\ {\isaliteral{28}{\isacharparenleft}}eq{\isadigit{4}}b{\isaliteral{5F}{\isacharunderscore}}{\isadigit{2}}{\isaliteral{2C}{\isacharcomma}}{\isaliteral{5F}{\isacharunderscore}}{\isaliteral{29}{\isacharparenright}}\ {\isaliteral{3D}{\isacharequal}}\ rewrite{\isaliteral{5F}{\isacharunderscore}}set{\isaliteral{5F}{\isacharunderscore}}\ %
  3.1125 -\isaantiq
  3.1126 -theory\ Isac{}%
  3.1127 -\endisaantiq
  3.1128 -\ false\ norm{\isaliteral{5F}{\isacharunderscore}}Rational\ eq{\isadigit{4}}b{\isaliteral{5F}{\isacharunderscore}}{\isadigit{1}}{\isaliteral{3B}{\isacharsemicolon}}\isanewline
  3.1129 -term{\isadigit{2}}str\ eq{\isadigit{4}}b{\isaliteral{5F}{\isacharunderscore}}{\isadigit{2}}{\isaliteral{3B}{\isacharsemicolon}}\isanewline
  3.1130 -{\isaliteral{2A7D}{\isacharverbatimclose}}\isanewline
  3.1131 -\isacommand{ML}\isamarkupfalse%
  3.1132 -\ {\isaliteral{7B2A}{\isacharverbatimopen}}\isanewline
  3.1133 -{\isaliteral{28}{\isacharparenleft}}{\isaliteral{2A}{\isacharasterisk}}solve\ the\ simple\ linear\ equilation\ for\ B\ TODO{\isaliteral{3A}{\isacharcolon}}\ return\ eq{\isaliteral{2C}{\isacharcomma}}\ not\ list\ of\ eq{\isaliteral{2A}{\isacharasterisk}}{\isaliteral{29}{\isacharparenright}}\isanewline
  3.1134 -val\ fmz\ {\isaliteral{3D}{\isacharequal}}\ {\isaliteral{5B}{\isacharbrackleft}}{\isaliteral{22}{\isachardoublequote}}equality\ {\isaliteral{28}{\isacharparenleft}}{\isadigit{3}}\ {\isaliteral{3D}{\isacharequal}}\ {\isaliteral{2D}{\isacharminus}}{\isadigit{3}}\ {\isaliteral{2A}{\isacharasterisk}}\ B\ {\isaliteral{2F}{\isacharslash}}\ {\isaliteral{28}{\isacharparenleft}}{\isadigit{4}}{\isaliteral{3A}{\isacharcolon}}{\isaliteral{3A}{\isacharcolon}}real{\isaliteral{29}{\isacharparenright}}{\isaliteral{29}{\isacharparenright}}{\isaliteral{22}{\isachardoublequote}}{\isaliteral{2C}{\isacharcomma}}\ {\isaliteral{22}{\isachardoublequote}}solveFor\ B{\isaliteral{22}{\isachardoublequote}}{\isaliteral{2C}{\isacharcomma}}{\isaliteral{22}{\isachardoublequote}}solutions\ L{\isaliteral{22}{\isachardoublequote}}{\isaliteral{5D}{\isacharbrackright}}{\isaliteral{3B}{\isacharsemicolon}}\isanewline
  3.1135 -val\ {\isaliteral{28}{\isacharparenleft}}dI{\isaliteral{27}{\isacharprime}}{\isaliteral{2C}{\isacharcomma}}pI{\isaliteral{27}{\isacharprime}}{\isaliteral{2C}{\isacharcomma}}mI{\isaliteral{27}{\isacharprime}}{\isaliteral{29}{\isacharparenright}}\ {\isaliteral{3D}{\isacharequal}}{\isaliteral{28}{\isacharparenleft}}{\isaliteral{22}{\isachardoublequote}}Isac{\isaliteral{22}{\isachardoublequote}}{\isaliteral{2C}{\isacharcomma}}\ {\isaliteral{5B}{\isacharbrackleft}}{\isaliteral{22}{\isachardoublequote}}univariate{\isaliteral{22}{\isachardoublequote}}{\isaliteral{2C}{\isacharcomma}}{\isaliteral{22}{\isachardoublequote}}equation{\isaliteral{22}{\isachardoublequote}}{\isaliteral{5D}{\isacharbrackright}}{\isaliteral{2C}{\isacharcomma}}\ {\isaliteral{5B}{\isacharbrackleft}}{\isaliteral{22}{\isachardoublequote}}no{\isaliteral{5F}{\isacharunderscore}}met{\isaliteral{22}{\isachardoublequote}}{\isaliteral{5D}{\isacharbrackright}}{\isaliteral{29}{\isacharparenright}}{\isaliteral{3B}{\isacharsemicolon}}\isanewline
  3.1136 -val\ {\isaliteral{28}{\isacharparenleft}}p{\isaliteral{2C}{\isacharcomma}}{\isaliteral{5F}{\isacharunderscore}}{\isaliteral{2C}{\isacharcomma}}fb{\isaliteral{2C}{\isacharcomma}}nxt{\isaliteral{2C}{\isacharcomma}}{\isaliteral{5F}{\isacharunderscore}}{\isaliteral{2C}{\isacharcomma}}pt{\isaliteral{29}{\isacharparenright}}\ {\isaliteral{3D}{\isacharequal}}\ CalcTreeTEST\ {\isaliteral{5B}{\isacharbrackleft}}{\isaliteral{28}{\isacharparenleft}}fmz{\isaliteral{2C}{\isacharcomma}}\ {\isaliteral{28}{\isacharparenleft}}dI{\isaliteral{27}{\isacharprime}}{\isaliteral{2C}{\isacharcomma}}pI{\isaliteral{27}{\isacharprime}}{\isaliteral{2C}{\isacharcomma}}mI{\isaliteral{27}{\isacharprime}}{\isaliteral{29}{\isacharparenright}}{\isaliteral{29}{\isacharparenright}}{\isaliteral{5D}{\isacharbrackright}}{\isaliteral{3B}{\isacharsemicolon}}\isanewline
  3.1137 -val\ {\isaliteral{28}{\isacharparenleft}}p{\isaliteral{2C}{\isacharcomma}}{\isaliteral{5F}{\isacharunderscore}}{\isaliteral{2C}{\isacharcomma}}fb{\isaliteral{2C}{\isacharcomma}}nxt{\isaliteral{2C}{\isacharcomma}}{\isaliteral{5F}{\isacharunderscore}}{\isaliteral{2C}{\isacharcomma}}pt{\isaliteral{29}{\isacharparenright}}\ {\isaliteral{3D}{\isacharequal}}\ me\ nxt\ p\ {\isaliteral{5B}{\isacharbrackleft}}{\isaliteral{5D}{\isacharbrackright}}\ pt{\isaliteral{3B}{\isacharsemicolon}}\isanewline
  3.1138 -val\ {\isaliteral{28}{\isacharparenleft}}p{\isaliteral{2C}{\isacharcomma}}{\isaliteral{5F}{\isacharunderscore}}{\isaliteral{2C}{\isacharcomma}}fb{\isaliteral{2C}{\isacharcomma}}nxt{\isaliteral{2C}{\isacharcomma}}{\isaliteral{5F}{\isacharunderscore}}{\isaliteral{2C}{\isacharcomma}}pt{\isaliteral{29}{\isacharparenright}}\ {\isaliteral{3D}{\isacharequal}}\ me\ nxt\ p\ {\isaliteral{5B}{\isacharbrackleft}}{\isaliteral{5D}{\isacharbrackright}}\ pt{\isaliteral{3B}{\isacharsemicolon}}\isanewline
  3.1139 -val\ {\isaliteral{28}{\isacharparenleft}}p{\isaliteral{2C}{\isacharcomma}}{\isaliteral{5F}{\isacharunderscore}}{\isaliteral{2C}{\isacharcomma}}fb{\isaliteral{2C}{\isacharcomma}}nxt{\isaliteral{2C}{\isacharcomma}}{\isaliteral{5F}{\isacharunderscore}}{\isaliteral{2C}{\isacharcomma}}pt{\isaliteral{29}{\isacharparenright}}\ {\isaliteral{3D}{\isacharequal}}\ me\ nxt\ p\ {\isaliteral{5B}{\isacharbrackleft}}{\isaliteral{5D}{\isacharbrackright}}\ pt{\isaliteral{3B}{\isacharsemicolon}}\isanewline
  3.1140 -val\ {\isaliteral{28}{\isacharparenleft}}p{\isaliteral{2C}{\isacharcomma}}{\isaliteral{5F}{\isacharunderscore}}{\isaliteral{2C}{\isacharcomma}}fb{\isaliteral{2C}{\isacharcomma}}nxt{\isaliteral{2C}{\isacharcomma}}{\isaliteral{5F}{\isacharunderscore}}{\isaliteral{2C}{\isacharcomma}}pt{\isaliteral{29}{\isacharparenright}}\ {\isaliteral{3D}{\isacharequal}}\ me\ nxt\ p\ {\isaliteral{5B}{\isacharbrackleft}}{\isaliteral{5D}{\isacharbrackright}}\ pt{\isaliteral{3B}{\isacharsemicolon}}\isanewline
  3.1141 -val\ {\isaliteral{28}{\isacharparenleft}}p{\isaliteral{2C}{\isacharcomma}}{\isaliteral{5F}{\isacharunderscore}}{\isaliteral{2C}{\isacharcomma}}fb{\isaliteral{2C}{\isacharcomma}}nxt{\isaliteral{2C}{\isacharcomma}}{\isaliteral{5F}{\isacharunderscore}}{\isaliteral{2C}{\isacharcomma}}pt{\isaliteral{29}{\isacharparenright}}\ {\isaliteral{3D}{\isacharequal}}\ me\ nxt\ p\ {\isaliteral{5B}{\isacharbrackleft}}{\isaliteral{5D}{\isacharbrackright}}\ pt{\isaliteral{3B}{\isacharsemicolon}}\isanewline
  3.1142 -val\ {\isaliteral{28}{\isacharparenleft}}p{\isaliteral{2C}{\isacharcomma}}{\isaliteral{5F}{\isacharunderscore}}{\isaliteral{2C}{\isacharcomma}}fb{\isaliteral{2C}{\isacharcomma}}nxt{\isaliteral{2C}{\isacharcomma}}{\isaliteral{5F}{\isacharunderscore}}{\isaliteral{2C}{\isacharcomma}}pt{\isaliteral{29}{\isacharparenright}}\ {\isaliteral{3D}{\isacharequal}}\ me\ nxt\ p\ {\isaliteral{5B}{\isacharbrackleft}}{\isaliteral{5D}{\isacharbrackright}}\ pt{\isaliteral{3B}{\isacharsemicolon}}\isanewline
  3.1143 -val\ {\isaliteral{28}{\isacharparenleft}}p{\isaliteral{2C}{\isacharcomma}}{\isaliteral{5F}{\isacharunderscore}}{\isaliteral{2C}{\isacharcomma}}fb{\isaliteral{2C}{\isacharcomma}}nxt{\isaliteral{2C}{\isacharcomma}}{\isaliteral{5F}{\isacharunderscore}}{\isaliteral{2C}{\isacharcomma}}pt{\isaliteral{29}{\isacharparenright}}\ {\isaliteral{3D}{\isacharequal}}\ me\ nxt\ p\ {\isaliteral{5B}{\isacharbrackleft}}{\isaliteral{5D}{\isacharbrackright}}\ pt{\isaliteral{3B}{\isacharsemicolon}}\isanewline
  3.1144 -val\ {\isaliteral{28}{\isacharparenleft}}p{\isaliteral{2C}{\isacharcomma}}{\isaliteral{5F}{\isacharunderscore}}{\isaliteral{2C}{\isacharcomma}}fb{\isaliteral{2C}{\isacharcomma}}nxt{\isaliteral{2C}{\isacharcomma}}{\isaliteral{5F}{\isacharunderscore}}{\isaliteral{2C}{\isacharcomma}}pt{\isaliteral{29}{\isacharparenright}}\ {\isaliteral{3D}{\isacharequal}}\ me\ nxt\ p\ {\isaliteral{5B}{\isacharbrackleft}}{\isaliteral{5D}{\isacharbrackright}}\ pt{\isaliteral{3B}{\isacharsemicolon}}\isanewline
  3.1145 -val\ {\isaliteral{28}{\isacharparenleft}}p{\isaliteral{2C}{\isacharcomma}}{\isaliteral{5F}{\isacharunderscore}}{\isaliteral{2C}{\isacharcomma}}fb{\isaliteral{2C}{\isacharcomma}}nxt{\isaliteral{2C}{\isacharcomma}}{\isaliteral{5F}{\isacharunderscore}}{\isaliteral{2C}{\isacharcomma}}pt{\isaliteral{29}{\isacharparenright}}\ {\isaliteral{3D}{\isacharequal}}\ me\ nxt\ p\ {\isaliteral{5B}{\isacharbrackleft}}{\isaliteral{5D}{\isacharbrackright}}\ pt{\isaliteral{3B}{\isacharsemicolon}}\isanewline
  3.1146 -val\ {\isaliteral{28}{\isacharparenleft}}p{\isaliteral{2C}{\isacharcomma}}{\isaliteral{5F}{\isacharunderscore}}{\isaliteral{2C}{\isacharcomma}}fb{\isaliteral{2C}{\isacharcomma}}nxt{\isaliteral{2C}{\isacharcomma}}{\isaliteral{5F}{\isacharunderscore}}{\isaliteral{2C}{\isacharcomma}}pt{\isaliteral{29}{\isacharparenright}}\ {\isaliteral{3D}{\isacharequal}}\ me\ nxt\ p\ {\isaliteral{5B}{\isacharbrackleft}}{\isaliteral{5D}{\isacharbrackright}}\ pt{\isaliteral{3B}{\isacharsemicolon}}\isanewline
  3.1147 -val\ {\isaliteral{28}{\isacharparenleft}}p{\isaliteral{2C}{\isacharcomma}}{\isaliteral{5F}{\isacharunderscore}}{\isaliteral{2C}{\isacharcomma}}fb{\isaliteral{2C}{\isacharcomma}}nxt{\isaliteral{2C}{\isacharcomma}}{\isaliteral{5F}{\isacharunderscore}}{\isaliteral{2C}{\isacharcomma}}pt{\isaliteral{29}{\isacharparenright}}\ {\isaliteral{3D}{\isacharequal}}\ me\ nxt\ p\ {\isaliteral{5B}{\isacharbrackleft}}{\isaliteral{5D}{\isacharbrackright}}\ pt{\isaliteral{3B}{\isacharsemicolon}}\isanewline
  3.1148 -val\ {\isaliteral{28}{\isacharparenleft}}p{\isaliteral{2C}{\isacharcomma}}{\isaliteral{5F}{\isacharunderscore}}{\isaliteral{2C}{\isacharcomma}}fb{\isaliteral{2C}{\isacharcomma}}nxt{\isaliteral{2C}{\isacharcomma}}{\isaliteral{5F}{\isacharunderscore}}{\isaliteral{2C}{\isacharcomma}}pt{\isaliteral{29}{\isacharparenright}}\ {\isaliteral{3D}{\isacharequal}}\ me\ nxt\ p\ {\isaliteral{5B}{\isacharbrackleft}}{\isaliteral{5D}{\isacharbrackright}}\ pt{\isaliteral{3B}{\isacharsemicolon}}\isanewline
  3.1149 -val\ {\isaliteral{28}{\isacharparenleft}}p{\isaliteral{2C}{\isacharcomma}}{\isaliteral{5F}{\isacharunderscore}}{\isaliteral{2C}{\isacharcomma}}fb{\isaliteral{2C}{\isacharcomma}}nxt{\isaliteral{2C}{\isacharcomma}}{\isaliteral{5F}{\isacharunderscore}}{\isaliteral{2C}{\isacharcomma}}pt{\isaliteral{29}{\isacharparenright}}\ {\isaliteral{3D}{\isacharequal}}\ me\ nxt\ p\ {\isaliteral{5B}{\isacharbrackleft}}{\isaliteral{5D}{\isacharbrackright}}\ pt{\isaliteral{3B}{\isacharsemicolon}}\isanewline
  3.1150 -val\ {\isaliteral{28}{\isacharparenleft}}p{\isaliteral{2C}{\isacharcomma}}{\isaliteral{5F}{\isacharunderscore}}{\isaliteral{2C}{\isacharcomma}}fb{\isaliteral{2C}{\isacharcomma}}nxt{\isaliteral{2C}{\isacharcomma}}{\isaliteral{5F}{\isacharunderscore}}{\isaliteral{2C}{\isacharcomma}}pt{\isaliteral{29}{\isacharparenright}}\ {\isaliteral{3D}{\isacharequal}}\ me\ nxt\ p\ {\isaliteral{5B}{\isacharbrackleft}}{\isaliteral{5D}{\isacharbrackright}}\ pt{\isaliteral{3B}{\isacharsemicolon}}\isanewline
  3.1151 -val\ {\isaliteral{28}{\isacharparenleft}}p{\isaliteral{2C}{\isacharcomma}}{\isaliteral{5F}{\isacharunderscore}}{\isaliteral{2C}{\isacharcomma}}fb{\isaliteral{2C}{\isacharcomma}}nxt{\isaliteral{2C}{\isacharcomma}}{\isaliteral{5F}{\isacharunderscore}}{\isaliteral{2C}{\isacharcomma}}pt{\isaliteral{29}{\isacharparenright}}\ {\isaliteral{3D}{\isacharequal}}\ me\ nxt\ p\ {\isaliteral{5B}{\isacharbrackleft}}{\isaliteral{5D}{\isacharbrackright}}\ pt{\isaliteral{3B}{\isacharsemicolon}}\isanewline
  3.1152 -val\ {\isaliteral{28}{\isacharparenleft}}p{\isaliteral{2C}{\isacharcomma}}{\isaliteral{5F}{\isacharunderscore}}{\isaliteral{2C}{\isacharcomma}}fb{\isaliteral{2C}{\isacharcomma}}nxt{\isaliteral{2C}{\isacharcomma}}{\isaliteral{5F}{\isacharunderscore}}{\isaliteral{2C}{\isacharcomma}}pt{\isaliteral{29}{\isacharparenright}}\ {\isaliteral{3D}{\isacharequal}}\ me\ nxt\ p\ {\isaliteral{5B}{\isacharbrackleft}}{\isaliteral{5D}{\isacharbrackright}}\ pt{\isaliteral{3B}{\isacharsemicolon}}\isanewline
  3.1153 -val\ {\isaliteral{28}{\isacharparenleft}}p{\isaliteral{2C}{\isacharcomma}}{\isaliteral{5F}{\isacharunderscore}}{\isaliteral{2C}{\isacharcomma}}fb{\isaliteral{2C}{\isacharcomma}}nxt{\isaliteral{2C}{\isacharcomma}}{\isaliteral{5F}{\isacharunderscore}}{\isaliteral{2C}{\isacharcomma}}pt{\isaliteral{29}{\isacharparenright}}\ {\isaliteral{3D}{\isacharequal}}\ me\ nxt\ p\ {\isaliteral{5B}{\isacharbrackleft}}{\isaliteral{5D}{\isacharbrackright}}\ pt{\isaliteral{3B}{\isacharsemicolon}}\isanewline
  3.1154 -val\ {\isaliteral{28}{\isacharparenleft}}p{\isaliteral{2C}{\isacharcomma}}{\isaliteral{5F}{\isacharunderscore}}{\isaliteral{2C}{\isacharcomma}}fb{\isaliteral{2C}{\isacharcomma}}nxt{\isaliteral{2C}{\isacharcomma}}{\isaliteral{5F}{\isacharunderscore}}{\isaliteral{2C}{\isacharcomma}}pt{\isaliteral{29}{\isacharparenright}}\ {\isaliteral{3D}{\isacharequal}}\ me\ nxt\ p\ {\isaliteral{5B}{\isacharbrackleft}}{\isaliteral{5D}{\isacharbrackright}}\ pt{\isaliteral{3B}{\isacharsemicolon}}\isanewline
  3.1155 -val\ {\isaliteral{28}{\isacharparenleft}}p{\isaliteral{2C}{\isacharcomma}}{\isaliteral{5F}{\isacharunderscore}}{\isaliteral{2C}{\isacharcomma}}fb{\isaliteral{2C}{\isacharcomma}}nxt{\isaliteral{2C}{\isacharcomma}}{\isaliteral{5F}{\isacharunderscore}}{\isaliteral{2C}{\isacharcomma}}pt{\isaliteral{29}{\isacharparenright}}\ {\isaliteral{3D}{\isacharequal}}\ me\ nxt\ p\ {\isaliteral{5B}{\isacharbrackleft}}{\isaliteral{5D}{\isacharbrackright}}\ pt{\isaliteral{3B}{\isacharsemicolon}}\isanewline
  3.1156 -val\ {\isaliteral{28}{\isacharparenleft}}p{\isaliteral{2C}{\isacharcomma}}{\isaliteral{5F}{\isacharunderscore}}{\isaliteral{2C}{\isacharcomma}}fb{\isaliteral{2C}{\isacharcomma}}nxt{\isaliteral{2C}{\isacharcomma}}{\isaliteral{5F}{\isacharunderscore}}{\isaliteral{2C}{\isacharcomma}}pt{\isaliteral{29}{\isacharparenright}}\ {\isaliteral{3D}{\isacharequal}}\ me\ nxt\ p\ {\isaliteral{5B}{\isacharbrackleft}}{\isaliteral{5D}{\isacharbrackright}}\ pt{\isaliteral{3B}{\isacharsemicolon}}\isanewline
  3.1157 -val\ {\isaliteral{28}{\isacharparenleft}}p{\isaliteral{2C}{\isacharcomma}}{\isaliteral{5F}{\isacharunderscore}}{\isaliteral{2C}{\isacharcomma}}fb{\isaliteral{2C}{\isacharcomma}}nxt{\isaliteral{2C}{\isacharcomma}}{\isaliteral{5F}{\isacharunderscore}}{\isaliteral{2C}{\isacharcomma}}pt{\isaliteral{29}{\isacharparenright}}\ {\isaliteral{3D}{\isacharequal}}\ me\ nxt\ p\ {\isaliteral{5B}{\isacharbrackleft}}{\isaliteral{5D}{\isacharbrackright}}\ pt{\isaliteral{3B}{\isacharsemicolon}}\isanewline
  3.1158 -val\ {\isaliteral{28}{\isacharparenleft}}p{\isaliteral{2C}{\isacharcomma}}{\isaliteral{5F}{\isacharunderscore}}{\isaliteral{2C}{\isacharcomma}}fb{\isaliteral{2C}{\isacharcomma}}nxt{\isaliteral{2C}{\isacharcomma}}{\isaliteral{5F}{\isacharunderscore}}{\isaliteral{2C}{\isacharcomma}}pt{\isaliteral{29}{\isacharparenright}}\ {\isaliteral{3D}{\isacharequal}}\ me\ nxt\ p\ {\isaliteral{5B}{\isacharbrackleft}}{\isaliteral{5D}{\isacharbrackright}}\ pt{\isaliteral{3B}{\isacharsemicolon}}\isanewline
  3.1159 -val\ {\isaliteral{28}{\isacharparenleft}}p{\isaliteral{2C}{\isacharcomma}}{\isaliteral{5F}{\isacharunderscore}}{\isaliteral{2C}{\isacharcomma}}fb{\isaliteral{2C}{\isacharcomma}}nxt{\isaliteral{2C}{\isacharcomma}}{\isaliteral{5F}{\isacharunderscore}}{\isaliteral{2C}{\isacharcomma}}pt{\isaliteral{29}{\isacharparenright}}\ {\isaliteral{3D}{\isacharequal}}\ me\ nxt\ p\ {\isaliteral{5B}{\isacharbrackleft}}{\isaliteral{5D}{\isacharbrackright}}\ pt{\isaliteral{3B}{\isacharsemicolon}}\isanewline
  3.1160 -val\ {\isaliteral{28}{\isacharparenleft}}p{\isaliteral{2C}{\isacharcomma}}{\isaliteral{5F}{\isacharunderscore}}{\isaliteral{2C}{\isacharcomma}}fb{\isaliteral{2C}{\isacharcomma}}nxt{\isaliteral{2C}{\isacharcomma}}{\isaliteral{5F}{\isacharunderscore}}{\isaliteral{2C}{\isacharcomma}}pt{\isaliteral{29}{\isacharparenright}}\ {\isaliteral{3D}{\isacharequal}}\ me\ nxt\ p\ {\isaliteral{5B}{\isacharbrackleft}}{\isaliteral{5D}{\isacharbrackright}}\ pt{\isaliteral{3B}{\isacharsemicolon}}\isanewline
  3.1161 -val\ {\isaliteral{28}{\isacharparenleft}}p{\isaliteral{2C}{\isacharcomma}}{\isaliteral{5F}{\isacharunderscore}}{\isaliteral{2C}{\isacharcomma}}fb{\isaliteral{2C}{\isacharcomma}}nxt{\isaliteral{2C}{\isacharcomma}}{\isaliteral{5F}{\isacharunderscore}}{\isaliteral{2C}{\isacharcomma}}pt{\isaliteral{29}{\isacharparenright}}\ {\isaliteral{3D}{\isacharequal}}\ me\ nxt\ p\ {\isaliteral{5B}{\isacharbrackleft}}{\isaliteral{5D}{\isacharbrackright}}\ pt{\isaliteral{3B}{\isacharsemicolon}}\isanewline
  3.1162 -val\ {\isaliteral{28}{\isacharparenleft}}p{\isaliteral{2C}{\isacharcomma}}{\isaliteral{5F}{\isacharunderscore}}{\isaliteral{2C}{\isacharcomma}}fb{\isaliteral{2C}{\isacharcomma}}nxt{\isaliteral{2C}{\isacharcomma}}{\isaliteral{5F}{\isacharunderscore}}{\isaliteral{2C}{\isacharcomma}}pt{\isaliteral{29}{\isacharparenright}}\ {\isaliteral{3D}{\isacharequal}}\ me\ nxt\ p\ {\isaliteral{5B}{\isacharbrackleft}}{\isaliteral{5D}{\isacharbrackright}}\ pt{\isaliteral{3B}{\isacharsemicolon}}\isanewline
  3.1163 -val\ {\isaliteral{28}{\isacharparenleft}}p{\isaliteral{2C}{\isacharcomma}}{\isaliteral{5F}{\isacharunderscore}}{\isaliteral{2C}{\isacharcomma}}fb{\isaliteral{2C}{\isacharcomma}}nxt{\isaliteral{2C}{\isacharcomma}}{\isaliteral{5F}{\isacharunderscore}}{\isaliteral{2C}{\isacharcomma}}pt{\isaliteral{29}{\isacharparenright}}\ {\isaliteral{3D}{\isacharequal}}\ me\ nxt\ p\ {\isaliteral{5B}{\isacharbrackleft}}{\isaliteral{5D}{\isacharbrackright}}\ pt{\isaliteral{3B}{\isacharsemicolon}}\ \isanewline
  3.1164 -f{\isadigit{2}}str\ fb{\isaliteral{3B}{\isacharsemicolon}}\isanewline
  3.1165 -{\isaliteral{2A7D}{\isacharverbatimclose}}\isanewline
  3.1166 -\isanewline
  3.1167 -\isacommand{ML}\isamarkupfalse%
  3.1168 -\ {\isaliteral{7B2A}{\isacharverbatimopen}}\ {\isaliteral{28}{\isacharparenleft}}{\isaliteral{2A}{\isacharasterisk}}check\ koeffizients{\isaliteral{2A}{\isacharasterisk}}{\isaliteral{29}{\isacharparenright}}\isanewline
  3.1169 -if\ f{\isadigit{2}}str\ fa\ {\isaliteral{3D}{\isacharequal}}\ {\isaliteral{22}{\isachardoublequote}}{\isaliteral{5B}{\isacharbrackleft}}A\ {\isaliteral{3D}{\isacharequal}}\ {\isadigit{4}}{\isaliteral{5D}{\isacharbrackright}}{\isaliteral{22}{\isachardoublequote}}\ then\ {\isaliteral{28}{\isacharparenleft}}{\isaliteral{29}{\isacharparenright}}\ else\ error\ {\isaliteral{22}{\isachardoublequote}}part{\isaliteral{2E}{\isachardot}}fract{\isaliteral{2E}{\isachardot}}\ eq{\isadigit{4}}{\isaliteral{5F}{\isacharunderscore}}{\isadigit{1}}{\isaliteral{22}{\isachardoublequote}}{\isaliteral{3B}{\isacharsemicolon}}\isanewline
  3.1170 -if\ f{\isadigit{2}}str\ fb\ {\isaliteral{3D}{\isacharequal}}\ {\isaliteral{22}{\isachardoublequote}}{\isaliteral{5B}{\isacharbrackleft}}B\ {\isaliteral{3D}{\isacharequal}}\ {\isaliteral{2D}{\isacharminus}}{\isadigit{4}}{\isaliteral{5D}{\isacharbrackright}}{\isaliteral{22}{\isachardoublequote}}\ then\ {\isaliteral{28}{\isacharparenleft}}{\isaliteral{29}{\isacharparenright}}\ else\ error\ {\isaliteral{22}{\isachardoublequote}}part{\isaliteral{2E}{\isachardot}}fract{\isaliteral{2E}{\isachardot}}\ eq{\isadigit{4}}{\isaliteral{5F}{\isacharunderscore}}{\isadigit{1}}{\isaliteral{22}{\isachardoublequote}}{\isaliteral{3B}{\isacharsemicolon}}\isanewline
  3.1171 -{\isaliteral{2A7D}{\isacharverbatimclose}}%
  3.1172 -\endisatagML
  3.1173 -{\isafoldML}%
  3.1174 -%
  3.1175 -\isadelimML
  3.1176 -%
  3.1177 -\endisadelimML
  3.1178 -%
  3.1179 -\isamarkupsubsubsection{substitute expression with solutions%
  3.1180 -}
  3.1181 +\begin{isamarkuptext}%
  3.1182 +\noindent We use the existing ruleset \ttfamily norm\_Rational \normalfont 
  3.1183 +     for simplifications on expressions.%
  3.1184 +\end{isamarkuptext}%
  3.1185  \isamarkuptrue%
  3.1186  %
  3.1187  \isadelimML
  3.1188 @@ -1306,7 +1208,331 @@
  3.1189  \isatagML
  3.1190  \isacommand{ML}\isamarkupfalse%
  3.1191  \ {\isaliteral{7B2A}{\isacharverbatimopen}}\isanewline
  3.1192 -{\isaliteral{2A7D}{\isacharverbatimclose}}\isanewline
  3.1193 +\ \ val\ SOME\ {\isaliteral{28}{\isacharparenleft}}eq{\isadigit{3}}{\isaliteral{2C}{\isacharcomma}}{\isaliteral{5F}{\isacharunderscore}}{\isaliteral{29}{\isacharparenright}}\ {\isaliteral{3D}{\isacharequal}}\ rewrite{\isaliteral{5F}{\isacharunderscore}}set{\isaliteral{5F}{\isacharunderscore}}\ %
  3.1194 +\isaantiq
  3.1195 +theory\ Isac{}%
  3.1196 +\endisaantiq
  3.1197 +\ false\ norm{\isaliteral{5F}{\isacharunderscore}}Rational\ eq{\isadigit{2}}{\isaliteral{3B}{\isacharsemicolon}}\isanewline
  3.1198 +\ \ term{\isadigit{2}}str\ eq{\isadigit{3}}{\isaliteral{3B}{\isacharsemicolon}}\isanewline
  3.1199 +\ \ {\isaliteral{28}{\isacharparenleft}}{\isaliteral{2A}{\isacharasterisk}}\isanewline
  3.1200 +\ \ \ {\isaliteral{2A}{\isacharasterisk}}\ {\isaliteral{3F}{\isacharquery}}A\ {\isaliteral{3F}{\isacharquery}}B\ not\ simplified\isanewline
  3.1201 +\ \ \ {\isaliteral{2A}{\isacharasterisk}}{\isaliteral{29}{\isacharparenright}}\isanewline
  3.1202 +{\isaliteral{2A7D}{\isacharverbatimclose}}%
  3.1203 +\endisatagML
  3.1204 +{\isafoldML}%
  3.1205 +%
  3.1206 +\isadelimML
  3.1207 +%
  3.1208 +\endisadelimML
  3.1209 +%
  3.1210 +\begin{isamarkuptext}%
  3.1211 +\noindent In Example~\ref{eg:gap} of my thesis I'm describin a problem about
  3.1212 +      simplifications. The problem that we would like to have only a specific degree
  3.1213 +      of simplification occours right here, in the next step.%
  3.1214 +\end{isamarkuptext}%
  3.1215 +\isamarkuptrue%
  3.1216 +%
  3.1217 +\isadelimML
  3.1218 +%
  3.1219 +\endisadelimML
  3.1220 +%
  3.1221 +\isatagML
  3.1222 +\isacommand{ML}\isamarkupfalse%
  3.1223 +\ {\isaliteral{7B2A}{\isacharverbatimopen}}\isanewline
  3.1224 +\ \ val\ SOME\ fract{\isadigit{1}}\ {\isaliteral{3D}{\isacharequal}}\isanewline
  3.1225 +\ \ \ \ parseNEW\ ctxt\ {\isaliteral{22}{\isachardoublequote}}{\isaliteral{28}{\isacharparenleft}}z\ {\isaliteral{2D}{\isacharminus}}\ {\isadigit{1}}{\isaliteral{2F}{\isacharslash}}{\isadigit{2}}{\isaliteral{29}{\isacharparenright}}{\isaliteral{2A}{\isacharasterisk}}{\isaliteral{28}{\isacharparenleft}}z\ {\isaliteral{2D}{\isacharminus}}\ {\isaliteral{2D}{\isacharminus}}{\isadigit{1}}{\isaliteral{2F}{\isacharslash}}{\isadigit{4}}{\isaliteral{29}{\isacharparenright}}\ {\isaliteral{2A}{\isacharasterisk}}\ {\isaliteral{28}{\isacharparenleft}}A{\isaliteral{2F}{\isacharslash}}{\isaliteral{28}{\isacharparenleft}}z\ {\isaliteral{2D}{\isacharminus}}\ {\isadigit{1}}{\isaliteral{2F}{\isacharslash}}{\isadigit{2}}{\isaliteral{29}{\isacharparenright}}\ {\isaliteral{2B}{\isacharplus}}\ B{\isaliteral{2F}{\isacharslash}}{\isaliteral{28}{\isacharparenleft}}z\ {\isaliteral{2D}{\isacharminus}}\ {\isaliteral{2D}{\isacharminus}}{\isadigit{1}}{\isaliteral{2F}{\isacharslash}}{\isadigit{4}}{\isaliteral{29}{\isacharparenright}}{\isaliteral{29}{\isacharparenright}}{\isaliteral{22}{\isachardoublequote}}{\isaliteral{3B}{\isacharsemicolon}}\isanewline
  3.1226 +\ \ {\isaliteral{28}{\isacharparenleft}}{\isaliteral{2A}{\isacharasterisk}}\isanewline
  3.1227 +\ \ \ {\isaliteral{2A}{\isacharasterisk}}\ A\ B\ {\isaliteral{21}{\isacharbang}}\isanewline
  3.1228 +\ \ \ {\isaliteral{2A}{\isacharasterisk}}{\isaliteral{29}{\isacharparenright}}\isanewline
  3.1229 +\ \ val\ SOME\ {\isaliteral{28}{\isacharparenleft}}fract{\isadigit{2}}{\isaliteral{2C}{\isacharcomma}}{\isaliteral{5F}{\isacharunderscore}}{\isaliteral{29}{\isacharparenright}}\ {\isaliteral{3D}{\isacharequal}}\ \isanewline
  3.1230 +\ \ \ \ rewrite{\isaliteral{5F}{\isacharunderscore}}set{\isaliteral{5F}{\isacharunderscore}}\ %
  3.1231 +\isaantiq
  3.1232 +theory\ Isac{}%
  3.1233 +\endisaantiq
  3.1234 +\ false\ norm{\isaliteral{5F}{\isacharunderscore}}Rational\ fract{\isadigit{1}}{\isaliteral{3B}{\isacharsemicolon}}\isanewline
  3.1235 +\ \ term{\isadigit{2}}str\ fract{\isadigit{2}}\ {\isaliteral{3D}{\isacharequal}}\ {\isaliteral{22}{\isachardoublequote}}{\isaliteral{28}{\isacharparenleft}}A\ {\isaliteral{2B}{\isacharplus}}\ {\isaliteral{2D}{\isacharminus}}{\isadigit{2}}\ {\isaliteral{2A}{\isacharasterisk}}\ B\ {\isaliteral{2B}{\isacharplus}}\ {\isadigit{4}}\ {\isaliteral{2A}{\isacharasterisk}}\ A\ {\isaliteral{2A}{\isacharasterisk}}\ z\ {\isaliteral{2B}{\isacharplus}}\ {\isadigit{4}}\ {\isaliteral{2A}{\isacharasterisk}}\ B\ {\isaliteral{2A}{\isacharasterisk}}\ z{\isaliteral{29}{\isacharparenright}}\ {\isaliteral{2F}{\isacharslash}}\ {\isadigit{4}}{\isaliteral{22}{\isachardoublequote}}{\isaliteral{3B}{\isacharsemicolon}}\isanewline
  3.1236 +\ \ {\isaliteral{28}{\isacharparenleft}}{\isaliteral{2A}{\isacharasterisk}}\isanewline
  3.1237 +\ \ \ {\isaliteral{2A}{\isacharasterisk}}\ term{\isadigit{2}}str\ fract{\isadigit{2}}\ {\isaliteral{3D}{\isacharequal}}\ {\isaliteral{22}{\isachardoublequote}}A\ {\isaliteral{2A}{\isacharasterisk}}\ {\isaliteral{28}{\isacharparenleft}}{\isadigit{1}}\ {\isaliteral{2F}{\isacharslash}}\ {\isadigit{4}}\ {\isaliteral{2B}{\isacharplus}}\ z{\isaliteral{29}{\isacharparenright}}\ {\isaliteral{2B}{\isacharplus}}\ B\ {\isaliteral{2A}{\isacharasterisk}}\ {\isaliteral{28}{\isacharparenleft}}{\isaliteral{2D}{\isacharminus}}{\isadigit{1}}\ {\isaliteral{2F}{\isacharslash}}\ {\isadigit{2}}\ {\isaliteral{2B}{\isacharplus}}\ z{\isaliteral{29}{\isacharparenright}}{\isaliteral{22}{\isachardoublequote}}\ \isanewline
  3.1238 +\ \ \ {\isaliteral{2A}{\isacharasterisk}}\ would\ be\ more\ traditional{\isaliteral{2E}{\isachardot}}{\isaliteral{2E}{\isachardot}}{\isaliteral{2E}{\isachardot}}\isanewline
  3.1239 +\ \ \ {\isaliteral{2A}{\isacharasterisk}}{\isaliteral{29}{\isacharparenright}}\isanewline
  3.1240 +{\isaliteral{2A7D}{\isacharverbatimclose}}%
  3.1241 +\endisatagML
  3.1242 +{\isafoldML}%
  3.1243 +%
  3.1244 +\isadelimML
  3.1245 +%
  3.1246 +\endisadelimML
  3.1247 +%
  3.1248 +\begin{isamarkuptext}%
  3.1249 +\noindent We walk around this problem by generating our new equation first.%
  3.1250 +\end{isamarkuptext}%
  3.1251 +\isamarkuptrue%
  3.1252 +%
  3.1253 +\isadelimML
  3.1254 +%
  3.1255 +\endisadelimML
  3.1256 +%
  3.1257 +\isatagML
  3.1258 +\isacommand{ML}\isamarkupfalse%
  3.1259 +\ {\isaliteral{7B2A}{\isacharverbatimopen}}\isanewline
  3.1260 +\ \ val\ {\isaliteral{28}{\isacharparenleft}}numerator{\isaliteral{2C}{\isacharcomma}}\ denominator{\isaliteral{29}{\isacharparenright}}\ {\isaliteral{3D}{\isacharequal}}\ HOLogic{\isaliteral{2E}{\isachardot}}dest{\isaliteral{5F}{\isacharunderscore}}eq\ eq{\isadigit{3}}{\isaliteral{3B}{\isacharsemicolon}}\isanewline
  3.1261 +\ \ val\ eq{\isadigit{3}}{\isaliteral{27}{\isacharprime}}\ {\isaliteral{3D}{\isacharequal}}\ HOLogic{\isaliteral{2E}{\isachardot}}mk{\isaliteral{5F}{\isacharunderscore}}eq\ {\isaliteral{28}{\isacharparenleft}}numerator{\isaliteral{2C}{\isacharcomma}}\ fract{\isadigit{1}}{\isaliteral{29}{\isacharparenright}}{\isaliteral{3B}{\isacharsemicolon}}\isanewline
  3.1262 +\ \ {\isaliteral{28}{\isacharparenleft}}{\isaliteral{2A}{\isacharasterisk}}\isanewline
  3.1263 +\ \ \ {\isaliteral{2A}{\isacharasterisk}}\ A\ B\ {\isaliteral{21}{\isacharbang}}\isanewline
  3.1264 +\ \ \ {\isaliteral{2A}{\isacharasterisk}}{\isaliteral{29}{\isacharparenright}}\isanewline
  3.1265 +\ \ term{\isadigit{2}}str\ eq{\isadigit{3}}{\isaliteral{27}{\isacharprime}}{\isaliteral{3B}{\isacharsemicolon}}\isanewline
  3.1266 +\ \ {\isaliteral{28}{\isacharparenleft}}{\isaliteral{2A}{\isacharasterisk}}\isanewline
  3.1267 +\ \ \ {\isaliteral{2A}{\isacharasterisk}}\ MANDATORY{\isaliteral{3A}{\isacharcolon}}\ simplify\ {\isaliteral{28}{\isacharparenleft}}and\ remove\ denominator{\isaliteral{29}{\isacharparenright}}\ otherwise\ {\isadigit{3}}\ {\isaliteral{3D}{\isacharequal}}\ {\isadigit{0}}\isanewline
  3.1268 +\ \ \ {\isaliteral{2A}{\isacharasterisk}}{\isaliteral{29}{\isacharparenright}}\isanewline
  3.1269 +\ \ val\ SOME\ {\isaliteral{28}{\isacharparenleft}}eq{\isadigit{3}}{\isaliteral{27}{\isacharprime}}{\isaliteral{27}{\isacharprime}}\ {\isaliteral{2C}{\isacharcomma}}{\isaliteral{5F}{\isacharunderscore}}{\isaliteral{29}{\isacharparenright}}\ {\isaliteral{3D}{\isacharequal}}\ \isanewline
  3.1270 +\ \ \ \ rewrite{\isaliteral{5F}{\isacharunderscore}}set{\isaliteral{5F}{\isacharunderscore}}\ %
  3.1271 +\isaantiq
  3.1272 +theory\ Isac{}%
  3.1273 +\endisaantiq
  3.1274 +\ false\ norm{\isaliteral{5F}{\isacharunderscore}}Rational\ eq{\isadigit{3}}{\isaliteral{27}{\isacharprime}}{\isaliteral{3B}{\isacharsemicolon}}\isanewline
  3.1275 +\ \ term{\isadigit{2}}str\ eq{\isadigit{3}}{\isaliteral{27}{\isacharprime}}{\isaliteral{27}{\isacharprime}}{\isaliteral{3B}{\isacharsemicolon}}\isanewline
  3.1276 +{\isaliteral{2A7D}{\isacharverbatimclose}}%
  3.1277 +\endisatagML
  3.1278 +{\isafoldML}%
  3.1279 +%
  3.1280 +\isadelimML
  3.1281 +%
  3.1282 +\endisadelimML
  3.1283 +%
  3.1284 +\begin{isamarkuptext}%
  3.1285 +\noindent Still working at {\sisac}\ldots%
  3.1286 +\end{isamarkuptext}%
  3.1287 +\isamarkuptrue%
  3.1288 +%
  3.1289 +\isadelimML
  3.1290 +%
  3.1291 +\endisadelimML
  3.1292 +%
  3.1293 +\isatagML
  3.1294 +\isacommand{ML}\isamarkupfalse%
  3.1295 +\ {\isaliteral{7B2A}{\isacharverbatimopen}}\ Context{\isaliteral{2E}{\isachardot}}theory{\isaliteral{5F}{\isacharunderscore}}name\ thy\ {\isaliteral{3D}{\isacharequal}}\ {\isaliteral{22}{\isachardoublequote}}Isac{\isaliteral{22}{\isachardoublequote}}\ {\isaliteral{2A7D}{\isacharverbatimclose}}%
  3.1296 +\endisatagML
  3.1297 +{\isafoldML}%
  3.1298 +%
  3.1299 +\isadelimML
  3.1300 +%
  3.1301 +\endisadelimML
  3.1302 +%
  3.1303 +\isamarkupsubsubsection{Build a Rule-Set for the Ansatz%
  3.1304 +}
  3.1305 +\isamarkuptrue%
  3.1306 +%
  3.1307 +\begin{isamarkuptext}%
  3.1308 +\noindent The \emph{ansatz} rules violate the principle that each
  3.1309 +       variable on the right-hand-side must also occur on the
  3.1310 +       left-hand-side of the rule: A, B, etc. don't do that. Thus the
  3.1311 +       rewriter marks these variables with question marks: ?A, ?B, etc.
  3.1312 +       These question marks can be dropped by \ttfamily fun
  3.1313 +       drop\_questionmarks\normalfont.%
  3.1314 +\end{isamarkuptext}%
  3.1315 +\isamarkuptrue%
  3.1316 +%
  3.1317 +\isadelimML
  3.1318 +%
  3.1319 +\endisadelimML
  3.1320 +%
  3.1321 +\isatagML
  3.1322 +\isacommand{ML}\isamarkupfalse%
  3.1323 +\ {\isaliteral{7B2A}{\isacharverbatimopen}}\isanewline
  3.1324 +\ \ val\ ansatz{\isaliteral{5F}{\isacharunderscore}}rls\ {\isaliteral{3D}{\isacharequal}}\ prep{\isaliteral{5F}{\isacharunderscore}}rls{\isaliteral{28}{\isacharparenleft}}\isanewline
  3.1325 +\ \ \ \ Rls\ {\isaliteral{7B}{\isacharbraceleft}}id\ {\isaliteral{3D}{\isacharequal}}\ {\isaliteral{22}{\isachardoublequote}}ansatz{\isaliteral{5F}{\isacharunderscore}}rls{\isaliteral{22}{\isachardoublequote}}{\isaliteral{2C}{\isacharcomma}}\ preconds\ {\isaliteral{3D}{\isacharequal}}\ {\isaliteral{5B}{\isacharbrackleft}}{\isaliteral{5D}{\isacharbrackright}}{\isaliteral{2C}{\isacharcomma}}\ rew{\isaliteral{5F}{\isacharunderscore}}ord\ {\isaliteral{3D}{\isacharequal}}\ {\isaliteral{28}{\isacharparenleft}}{\isaliteral{22}{\isachardoublequote}}dummy{\isaliteral{5F}{\isacharunderscore}}ord{\isaliteral{22}{\isachardoublequote}}{\isaliteral{2C}{\isacharcomma}}dummy{\isaliteral{5F}{\isacharunderscore}}ord{\isaliteral{29}{\isacharparenright}}{\isaliteral{2C}{\isacharcomma}}\isanewline
  3.1326 +\ \ \ \ \ \ erls\ {\isaliteral{3D}{\isacharequal}}\ e{\isaliteral{5F}{\isacharunderscore}}rls{\isaliteral{2C}{\isacharcomma}}\ srls\ {\isaliteral{3D}{\isacharequal}}\ Erls{\isaliteral{2C}{\isacharcomma}}\ calc\ {\isaliteral{3D}{\isacharequal}}\ {\isaliteral{5B}{\isacharbrackleft}}{\isaliteral{5D}{\isacharbrackright}}{\isaliteral{2C}{\isacharcomma}}\isanewline
  3.1327 +\ \ \ \ \ \ rules\ {\isaliteral{3D}{\isacharequal}}\ {\isaliteral{5B}{\isacharbrackleft}}\isanewline
  3.1328 +\ \ \ \ \ \ \ \ Thm\ {\isaliteral{28}{\isacharparenleft}}{\isaliteral{22}{\isachardoublequote}}ansatz{\isaliteral{5F}{\isacharunderscore}}{\isadigit{2}}nd{\isaliteral{5F}{\isacharunderscore}}order{\isaliteral{22}{\isachardoublequote}}{\isaliteral{2C}{\isacharcomma}}num{\isaliteral{5F}{\isacharunderscore}}str\ %
  3.1329 +\isaantiq
  3.1330 +thm\ ansatz{\isaliteral{5F}{\isacharunderscore}}{\isadigit{2}}nd{\isaliteral{5F}{\isacharunderscore}}order{}%
  3.1331 +\endisaantiq
  3.1332 +{\isaliteral{29}{\isacharparenright}}{\isaliteral{2C}{\isacharcomma}}\isanewline
  3.1333 +\ \ \ \ \ \ \ \ Thm\ {\isaliteral{28}{\isacharparenleft}}{\isaliteral{22}{\isachardoublequote}}equival{\isaliteral{5F}{\isacharunderscore}}trans{\isaliteral{5F}{\isacharunderscore}}{\isadigit{2}}nd{\isaliteral{5F}{\isacharunderscore}}order{\isaliteral{22}{\isachardoublequote}}{\isaliteral{2C}{\isacharcomma}}num{\isaliteral{5F}{\isacharunderscore}}str\ %
  3.1334 +\isaantiq
  3.1335 +thm\ equival{\isaliteral{5F}{\isacharunderscore}}trans{\isaliteral{5F}{\isacharunderscore}}{\isadigit{2}}nd{\isaliteral{5F}{\isacharunderscore}}order{}%
  3.1336 +\endisaantiq
  3.1337 +{\isaliteral{29}{\isacharparenright}}\isanewline
  3.1338 +\ \ \ \ \ \ \ \ \ \ \ \ \ \ {\isaliteral{5D}{\isacharbrackright}}{\isaliteral{2C}{\isacharcomma}}\ \isanewline
  3.1339 +\ \ \ \ \ \ scr\ {\isaliteral{3D}{\isacharequal}}\ EmptyScr{\isaliteral{7D}{\isacharbraceright}}{\isaliteral{29}{\isacharparenright}}{\isaliteral{3B}{\isacharsemicolon}}\isanewline
  3.1340 +{\isaliteral{2A7D}{\isacharverbatimclose}}%
  3.1341 +\endisatagML
  3.1342 +{\isafoldML}%
  3.1343 +%
  3.1344 +\isadelimML
  3.1345 +%
  3.1346 +\endisadelimML
  3.1347 +%
  3.1348 +\begin{isamarkuptext}%
  3.1349 +\noindent We apply the ruleset\lodts%
  3.1350 +\end{isamarkuptext}%
  3.1351 +\isamarkuptrue%
  3.1352 +%
  3.1353 +\isadelimML
  3.1354 +%
  3.1355 +\endisadelimML
  3.1356 +%
  3.1357 +\isatagML
  3.1358 +\isacommand{ML}\isamarkupfalse%
  3.1359 +\ {\isaliteral{7B2A}{\isacharverbatimopen}}\isanewline
  3.1360 +\ \ val\ SOME\ {\isaliteral{28}{\isacharparenleft}}ttttt{\isaliteral{2C}{\isacharcomma}}{\isaliteral{5F}{\isacharunderscore}}{\isaliteral{29}{\isacharparenright}}\ {\isaliteral{3D}{\isacharequal}}\ \isanewline
  3.1361 +\ \ \ \ rewrite{\isaliteral{5F}{\isacharunderscore}}set{\isaliteral{5F}{\isacharunderscore}}\ %
  3.1362 +\isaantiq
  3.1363 +theory\ Isac{}%
  3.1364 +\endisaantiq
  3.1365 +\ false\ ansatz{\isaliteral{5F}{\isacharunderscore}}rls\ expr{\isaliteral{27}{\isacharprime}}{\isaliteral{3B}{\isacharsemicolon}}\isanewline
  3.1366 +{\isaliteral{2A7D}{\isacharverbatimclose}}%
  3.1367 +\endisatagML
  3.1368 +{\isafoldML}%
  3.1369 +%
  3.1370 +\isadelimML
  3.1371 +%
  3.1372 +\endisadelimML
  3.1373 +%
  3.1374 +\begin{isamarkuptext}%
  3.1375 +\noindent And check the output\ldots%
  3.1376 +\end{isamarkuptext}%
  3.1377 +\isamarkuptrue%
  3.1378 +%
  3.1379 +\isadelimML
  3.1380 +%
  3.1381 +\endisadelimML
  3.1382 +%
  3.1383 +\isatagML
  3.1384 +\isacommand{ML}\isamarkupfalse%
  3.1385 +\ {\isaliteral{7B2A}{\isacharverbatimopen}}\isanewline
  3.1386 +\ \ term{\isadigit{2}}str\ expr{\isaliteral{27}{\isacharprime}}\ {\isaliteral{3D}{\isacharequal}}\ {\isaliteral{22}{\isachardoublequote}}{\isadigit{3}}\ {\isaliteral{2F}{\isacharslash}}\ {\isaliteral{28}{\isacharparenleft}}{\isaliteral{28}{\isacharparenleft}}z\ {\isaliteral{2D}{\isacharminus}}\ {\isadigit{1}}\ {\isaliteral{2F}{\isacharslash}}\ {\isadigit{2}}{\isaliteral{29}{\isacharparenright}}\ {\isaliteral{2A}{\isacharasterisk}}\ {\isaliteral{28}{\isacharparenleft}}z\ {\isaliteral{2D}{\isacharminus}}\ {\isaliteral{2D}{\isacharminus}}{\isadigit{1}}\ {\isaliteral{2F}{\isacharslash}}\ {\isadigit{4}}{\isaliteral{29}{\isacharparenright}}{\isaliteral{29}{\isacharparenright}}{\isaliteral{22}{\isachardoublequote}}{\isaliteral{3B}{\isacharsemicolon}}\isanewline
  3.1387 +\ \ term{\isadigit{2}}str\ ttttt\ {\isaliteral{3D}{\isacharequal}}\ {\isaliteral{22}{\isachardoublequote}}{\isaliteral{3F}{\isacharquery}}A\ {\isaliteral{2F}{\isacharslash}}\ {\isaliteral{28}{\isacharparenleft}}z\ {\isaliteral{2D}{\isacharminus}}\ {\isadigit{1}}\ {\isaliteral{2F}{\isacharslash}}\ {\isadigit{2}}{\isaliteral{29}{\isacharparenright}}\ {\isaliteral{2B}{\isacharplus}}\ {\isaliteral{3F}{\isacharquery}}B\ {\isaliteral{2F}{\isacharslash}}\ {\isaliteral{28}{\isacharparenleft}}z\ {\isaliteral{2D}{\isacharminus}}\ {\isaliteral{2D}{\isacharminus}}{\isadigit{1}}\ {\isaliteral{2F}{\isacharslash}}\ {\isadigit{4}}{\isaliteral{29}{\isacharparenright}}{\isaliteral{22}{\isachardoublequote}}{\isaliteral{3B}{\isacharsemicolon}}\isanewline
  3.1388 +{\isaliteral{2A7D}{\isacharverbatimclose}}%
  3.1389 +\endisatagML
  3.1390 +{\isafoldML}%
  3.1391 +%
  3.1392 +\isadelimML
  3.1393 +%
  3.1394 +\endisadelimML
  3.1395 +%
  3.1396 +\isamarkupsubsubsection{Get the First Koeffizient%
  3.1397 +}
  3.1398 +\isamarkuptrue%
  3.1399 +%
  3.1400 +\begin{isamarkuptext}%
  3.1401 +\noindent Now it's up to get the two koeffizients A and B, which will be
  3.1402 +      the numerators of our partial fractions. Continiue following up the 
  3.1403 +      Calculation in Section~\ref{sec:calc:ztrans} Subproblem~1.%
  3.1404 +\end{isamarkuptext}%
  3.1405 +\isamarkuptrue%
  3.1406 +%
  3.1407 +\begin{isamarkuptext}%
  3.1408 +\noindent To get the first koeffizient we substitude $z$ with the first
  3.1409 +      zeropoint we determined in section~\ref{sec:solveq}.%
  3.1410 +\end{isamarkuptext}%
  3.1411 +\isamarkuptrue%
  3.1412 +%
  3.1413 +\isadelimML
  3.1414 +%
  3.1415 +\endisadelimML
  3.1416 +%
  3.1417 +\isatagML
  3.1418 +\isacommand{ML}\isamarkupfalse%
  3.1419 +\ {\isaliteral{7B2A}{\isacharverbatimopen}}\isanewline
  3.1420 +\ \ val\ SOME\ {\isaliteral{28}{\isacharparenleft}}eq{\isadigit{4}}{\isaliteral{5F}{\isacharunderscore}}{\isadigit{1}}{\isaliteral{2C}{\isacharcomma}}{\isaliteral{5F}{\isacharunderscore}}{\isaliteral{29}{\isacharparenright}}\ {\isaliteral{3D}{\isacharequal}}\isanewline
  3.1421 +\ \ \ \ rewrite{\isaliteral{5F}{\isacharunderscore}}terms{\isaliteral{5F}{\isacharunderscore}}\ %
  3.1422 +\isaantiq
  3.1423 +theory\ Isac{}%
  3.1424 +\endisaantiq
  3.1425 +\ e{\isaliteral{5F}{\isacharunderscore}}rew{\isaliteral{5F}{\isacharunderscore}}ord\ e{\isaliteral{5F}{\isacharunderscore}}rls\ {\isaliteral{5B}{\isacharbrackleft}}s{\isaliteral{5F}{\isacharunderscore}}{\isadigit{1}}{\isaliteral{5D}{\isacharbrackright}}\ eq{\isadigit{3}}{\isaliteral{27}{\isacharprime}}{\isaliteral{27}{\isacharprime}}{\isaliteral{3B}{\isacharsemicolon}}\isanewline
  3.1426 +\ \ term{\isadigit{2}}str\ eq{\isadigit{4}}{\isaliteral{5F}{\isacharunderscore}}{\isadigit{1}}{\isaliteral{3B}{\isacharsemicolon}}\isanewline
  3.1427 +\ \ val\ SOME\ {\isaliteral{28}{\isacharparenleft}}eq{\isadigit{4}}{\isaliteral{5F}{\isacharunderscore}}{\isadigit{2}}{\isaliteral{2C}{\isacharcomma}}{\isaliteral{5F}{\isacharunderscore}}{\isaliteral{29}{\isacharparenright}}\ {\isaliteral{3D}{\isacharequal}}\isanewline
  3.1428 +\ \ \ \ rewrite{\isaliteral{5F}{\isacharunderscore}}set{\isaliteral{5F}{\isacharunderscore}}\ %
  3.1429 +\isaantiq
  3.1430 +theory\ Isac{}%
  3.1431 +\endisaantiq
  3.1432 +\ false\ norm{\isaliteral{5F}{\isacharunderscore}}Rational\ eq{\isadigit{4}}{\isaliteral{5F}{\isacharunderscore}}{\isadigit{1}}{\isaliteral{3B}{\isacharsemicolon}}\isanewline
  3.1433 +\ \ term{\isadigit{2}}str\ eq{\isadigit{4}}{\isaliteral{5F}{\isacharunderscore}}{\isadigit{2}}{\isaliteral{3B}{\isacharsemicolon}}\isanewline
  3.1434 +\isanewline
  3.1435 +\ \ val\ fmz\ {\isaliteral{3D}{\isacharequal}}\ {\isaliteral{5B}{\isacharbrackleft}}{\isaliteral{22}{\isachardoublequote}}equality\ {\isaliteral{28}{\isacharparenleft}}{\isadigit{3}}{\isaliteral{3D}{\isacharequal}}{\isadigit{3}}{\isaliteral{2A}{\isacharasterisk}}A{\isaliteral{2F}{\isacharslash}}{\isaliteral{28}{\isacharparenleft}}{\isadigit{4}}{\isaliteral{3A}{\isacharcolon}}{\isaliteral{3A}{\isacharcolon}}real{\isaliteral{29}{\isacharparenright}}{\isaliteral{29}{\isacharparenright}}{\isaliteral{22}{\isachardoublequote}}{\isaliteral{2C}{\isacharcomma}}\ {\isaliteral{22}{\isachardoublequote}}solveFor\ A{\isaliteral{22}{\isachardoublequote}}{\isaliteral{2C}{\isacharcomma}}{\isaliteral{22}{\isachardoublequote}}solutions\ L{\isaliteral{22}{\isachardoublequote}}{\isaliteral{5D}{\isacharbrackright}}{\isaliteral{3B}{\isacharsemicolon}}\isanewline
  3.1436 +\ \ val\ {\isaliteral{28}{\isacharparenleft}}dI{\isaliteral{27}{\isacharprime}}{\isaliteral{2C}{\isacharcomma}}pI{\isaliteral{27}{\isacharprime}}{\isaliteral{2C}{\isacharcomma}}mI{\isaliteral{27}{\isacharprime}}{\isaliteral{29}{\isacharparenright}}\ {\isaliteral{3D}{\isacharequal}}{\isaliteral{28}{\isacharparenleft}}{\isaliteral{22}{\isachardoublequote}}Isac{\isaliteral{22}{\isachardoublequote}}{\isaliteral{2C}{\isacharcomma}}\ {\isaliteral{5B}{\isacharbrackleft}}{\isaliteral{22}{\isachardoublequote}}univariate{\isaliteral{22}{\isachardoublequote}}{\isaliteral{2C}{\isacharcomma}}{\isaliteral{22}{\isachardoublequote}}equation{\isaliteral{22}{\isachardoublequote}}{\isaliteral{5D}{\isacharbrackright}}{\isaliteral{2C}{\isacharcomma}}\ {\isaliteral{5B}{\isacharbrackleft}}{\isaliteral{22}{\isachardoublequote}}no{\isaliteral{5F}{\isacharunderscore}}met{\isaliteral{22}{\isachardoublequote}}{\isaliteral{5D}{\isacharbrackright}}{\isaliteral{29}{\isacharparenright}}{\isaliteral{3B}{\isacharsemicolon}}\isanewline
  3.1437 +\ \ {\isaliteral{28}{\isacharparenleft}}{\isaliteral{2A}{\isacharasterisk}}\isanewline
  3.1438 +\ \ \ {\isaliteral{2A}{\isacharasterisk}}\ Solve\ the\ simple\ linear\ equilation\ for\ A\ TODO{\isaliteral{3A}{\isacharcolon}}\isanewline
  3.1439 +\ \ \ {\isaliteral{2A}{\isacharasterisk}}\ Return\ eq{\isaliteral{2C}{\isacharcomma}}\ not\ list\ of\ eq{\isaliteral{27}{\isacharprime}}s\isanewline
  3.1440 +\ \ \ {\isaliteral{2A}{\isacharasterisk}}{\isaliteral{29}{\isacharparenright}}\isanewline
  3.1441 +\ \ val\ {\isaliteral{28}{\isacharparenleft}}p{\isaliteral{2C}{\isacharcomma}}{\isaliteral{5F}{\isacharunderscore}}{\isaliteral{2C}{\isacharcomma}}fa{\isaliteral{2C}{\isacharcomma}}nxt{\isaliteral{2C}{\isacharcomma}}{\isaliteral{5F}{\isacharunderscore}}{\isaliteral{2C}{\isacharcomma}}pt{\isaliteral{29}{\isacharparenright}}\ {\isaliteral{3D}{\isacharequal}}\ CalcTreeTEST\ {\isaliteral{5B}{\isacharbrackleft}}{\isaliteral{28}{\isacharparenleft}}fmz{\isaliteral{2C}{\isacharcomma}}\ {\isaliteral{28}{\isacharparenleft}}dI{\isaliteral{27}{\isacharprime}}{\isaliteral{2C}{\isacharcomma}}pI{\isaliteral{27}{\isacharprime}}{\isaliteral{2C}{\isacharcomma}}mI{\isaliteral{27}{\isacharprime}}{\isaliteral{29}{\isacharparenright}}{\isaliteral{29}{\isacharparenright}}{\isaliteral{5D}{\isacharbrackright}}{\isaliteral{3B}{\isacharsemicolon}}\isanewline
  3.1442 +\ \ val\ {\isaliteral{28}{\isacharparenleft}}p{\isaliteral{2C}{\isacharcomma}}{\isaliteral{5F}{\isacharunderscore}}{\isaliteral{2C}{\isacharcomma}}fa{\isaliteral{2C}{\isacharcomma}}nxt{\isaliteral{2C}{\isacharcomma}}{\isaliteral{5F}{\isacharunderscore}}{\isaliteral{2C}{\isacharcomma}}pt{\isaliteral{29}{\isacharparenright}}\ {\isaliteral{3D}{\isacharequal}}\ me\ nxt\ p\ {\isaliteral{5B}{\isacharbrackleft}}{\isaliteral{5D}{\isacharbrackright}}\ pt{\isaliteral{3B}{\isacharsemicolon}}\isanewline
  3.1443 +\ \ \ \ {\isaliteral{28}{\isacharparenleft}}{\isaliteral{2A}{\isacharasterisk}}Add{\isaliteral{5F}{\isacharunderscore}}Given\ {\isaliteral{22}{\isachardoublequote}}equality\ {\isaliteral{28}{\isacharparenleft}}{\isadigit{3}}{\isaliteral{3D}{\isacharequal}}{\isadigit{3}}{\isaliteral{2A}{\isacharasterisk}}A{\isaliteral{2F}{\isacharslash}}{\isadigit{4}}{\isaliteral{29}{\isacharparenright}}{\isaliteral{22}{\isachardoublequote}}{\isaliteral{2A}{\isacharasterisk}}{\isaliteral{29}{\isacharparenright}}\isanewline
  3.1444 +\ \ val\ {\isaliteral{28}{\isacharparenleft}}p{\isaliteral{2C}{\isacharcomma}}{\isaliteral{5F}{\isacharunderscore}}{\isaliteral{2C}{\isacharcomma}}fa{\isaliteral{2C}{\isacharcomma}}nxt{\isaliteral{2C}{\isacharcomma}}{\isaliteral{5F}{\isacharunderscore}}{\isaliteral{2C}{\isacharcomma}}pt{\isaliteral{29}{\isacharparenright}}\ {\isaliteral{3D}{\isacharequal}}\ me\ nxt\ p\ {\isaliteral{5B}{\isacharbrackleft}}{\isaliteral{5D}{\isacharbrackright}}\ pt{\isaliteral{3B}{\isacharsemicolon}}\isanewline
  3.1445 +\ \ \ \ {\isaliteral{28}{\isacharparenleft}}{\isaliteral{2A}{\isacharasterisk}}Add{\isaliteral{5F}{\isacharunderscore}}Given\ {\isaliteral{22}{\isachardoublequote}}solveFor\ A{\isaliteral{22}{\isachardoublequote}}{\isaliteral{2A}{\isacharasterisk}}{\isaliteral{29}{\isacharparenright}}\isanewline
  3.1446 +\ \ val\ {\isaliteral{28}{\isacharparenleft}}p{\isaliteral{2C}{\isacharcomma}}{\isaliteral{5F}{\isacharunderscore}}{\isaliteral{2C}{\isacharcomma}}fa{\isaliteral{2C}{\isacharcomma}}nxt{\isaliteral{2C}{\isacharcomma}}{\isaliteral{5F}{\isacharunderscore}}{\isaliteral{2C}{\isacharcomma}}pt{\isaliteral{29}{\isacharparenright}}\ {\isaliteral{3D}{\isacharequal}}\ me\ nxt\ p\ {\isaliteral{5B}{\isacharbrackleft}}{\isaliteral{5D}{\isacharbrackright}}\ pt{\isaliteral{3B}{\isacharsemicolon}}\ \isanewline
  3.1447 +\ \ \ \ {\isaliteral{28}{\isacharparenleft}}{\isaliteral{2A}{\isacharasterisk}}Add{\isaliteral{5F}{\isacharunderscore}}Find\ {\isaliteral{22}{\isachardoublequote}}solutions\ L{\isaliteral{22}{\isachardoublequote}}{\isaliteral{2A}{\isacharasterisk}}{\isaliteral{29}{\isacharparenright}}\isanewline
  3.1448 +\ \ val\ {\isaliteral{28}{\isacharparenleft}}p{\isaliteral{2C}{\isacharcomma}}{\isaliteral{5F}{\isacharunderscore}}{\isaliteral{2C}{\isacharcomma}}fa{\isaliteral{2C}{\isacharcomma}}nxt{\isaliteral{2C}{\isacharcomma}}{\isaliteral{5F}{\isacharunderscore}}{\isaliteral{2C}{\isacharcomma}}pt{\isaliteral{29}{\isacharparenright}}\ {\isaliteral{3D}{\isacharequal}}\ me\ nxt\ p\ {\isaliteral{5B}{\isacharbrackleft}}{\isaliteral{5D}{\isacharbrackright}}\ pt{\isaliteral{3B}{\isacharsemicolon}}\isanewline
  3.1449 +\ \ \ \ {\isaliteral{28}{\isacharparenleft}}{\isaliteral{2A}{\isacharasterisk}}Specify{\isaliteral{5F}{\isacharunderscore}}Theory\ {\isaliteral{22}{\isachardoublequote}}Isac{\isaliteral{22}{\isachardoublequote}}{\isaliteral{2A}{\isacharasterisk}}{\isaliteral{29}{\isacharparenright}}\isanewline
  3.1450 +\ \ val\ {\isaliteral{28}{\isacharparenleft}}p{\isaliteral{2C}{\isacharcomma}}{\isaliteral{5F}{\isacharunderscore}}{\isaliteral{2C}{\isacharcomma}}fa{\isaliteral{2C}{\isacharcomma}}nxt{\isaliteral{2C}{\isacharcomma}}{\isaliteral{5F}{\isacharunderscore}}{\isaliteral{2C}{\isacharcomma}}pt{\isaliteral{29}{\isacharparenright}}\ {\isaliteral{3D}{\isacharequal}}\ me\ nxt\ p\ {\isaliteral{5B}{\isacharbrackleft}}{\isaliteral{5D}{\isacharbrackright}}\ pt{\isaliteral{3B}{\isacharsemicolon}}\isanewline
  3.1451 +\ \ \ \ {\isaliteral{28}{\isacharparenleft}}{\isaliteral{2A}{\isacharasterisk}}Specify{\isaliteral{5F}{\isacharunderscore}}Problem\ {\isaliteral{5B}{\isacharbrackleft}}{\isaliteral{22}{\isachardoublequote}}normalize{\isaliteral{22}{\isachardoublequote}}{\isaliteral{2C}{\isacharcomma}}{\isaliteral{22}{\isachardoublequote}}polynomial{\isaliteral{22}{\isachardoublequote}}{\isaliteral{2C}{\isacharcomma}}\isanewline
  3.1452 +\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ {\isaliteral{22}{\isachardoublequote}}univariate{\isaliteral{22}{\isachardoublequote}}{\isaliteral{2C}{\isacharcomma}}{\isaliteral{22}{\isachardoublequote}}equation{\isaliteral{22}{\isachardoublequote}}{\isaliteral{5D}{\isacharbrackright}}{\isaliteral{29}{\isacharparenright}}{\isaliteral{2A}{\isacharasterisk}}{\isaliteral{29}{\isacharparenright}}\isanewline
  3.1453 +\ \ val\ {\isaliteral{28}{\isacharparenleft}}p{\isaliteral{2C}{\isacharcomma}}{\isaliteral{5F}{\isacharunderscore}}{\isaliteral{2C}{\isacharcomma}}fa{\isaliteral{2C}{\isacharcomma}}nxt{\isaliteral{2C}{\isacharcomma}}{\isaliteral{5F}{\isacharunderscore}}{\isaliteral{2C}{\isacharcomma}}pt{\isaliteral{29}{\isacharparenright}}\ {\isaliteral{3D}{\isacharequal}}\ me\ nxt\ p\ {\isaliteral{5B}{\isacharbrackleft}}{\isaliteral{5D}{\isacharbrackright}}\ pt{\isaliteral{3B}{\isacharsemicolon}}\isanewline
  3.1454 +\ \ \ \ {\isaliteral{28}{\isacharparenleft}}{\isaliteral{2A}{\isacharasterisk}}\ Specify{\isaliteral{5F}{\isacharunderscore}}Method{\isaliteral{5B}{\isacharbrackleft}}{\isaliteral{22}{\isachardoublequote}}PolyEq{\isaliteral{22}{\isachardoublequote}}{\isaliteral{2C}{\isacharcomma}}{\isaliteral{22}{\isachardoublequote}}normalize{\isaliteral{5F}{\isacharunderscore}}poly{\isaliteral{22}{\isachardoublequote}}{\isaliteral{5D}{\isacharbrackright}}{\isaliteral{2A}{\isacharasterisk}}{\isaliteral{29}{\isacharparenright}}\isanewline
  3.1455 +\ \ val\ {\isaliteral{28}{\isacharparenleft}}p{\isaliteral{2C}{\isacharcomma}}{\isaliteral{5F}{\isacharunderscore}}{\isaliteral{2C}{\isacharcomma}}fa{\isaliteral{2C}{\isacharcomma}}nxt{\isaliteral{2C}{\isacharcomma}}{\isaliteral{5F}{\isacharunderscore}}{\isaliteral{2C}{\isacharcomma}}pt{\isaliteral{29}{\isacharparenright}}\ {\isaliteral{3D}{\isacharequal}}\ me\ nxt\ p\ {\isaliteral{5B}{\isacharbrackleft}}{\isaliteral{5D}{\isacharbrackright}}\ pt{\isaliteral{3B}{\isacharsemicolon}}\isanewline
  3.1456 +\ \ \ \ {\isaliteral{28}{\isacharparenleft}}{\isaliteral{2A}{\isacharasterisk}}Apply{\isaliteral{5F}{\isacharunderscore}}Method{\isaliteral{5B}{\isacharbrackleft}}{\isaliteral{22}{\isachardoublequote}}PolyEq{\isaliteral{22}{\isachardoublequote}}{\isaliteral{2C}{\isacharcomma}}{\isaliteral{22}{\isachardoublequote}}normalize{\isaliteral{5F}{\isacharunderscore}}poly{\isaliteral{22}{\isachardoublequote}}{\isaliteral{5D}{\isacharbrackright}}{\isaliteral{2A}{\isacharasterisk}}{\isaliteral{29}{\isacharparenright}}\isanewline
  3.1457 +\ \ val\ {\isaliteral{28}{\isacharparenleft}}p{\isaliteral{2C}{\isacharcomma}}{\isaliteral{5F}{\isacharunderscore}}{\isaliteral{2C}{\isacharcomma}}fa{\isaliteral{2C}{\isacharcomma}}nxt{\isaliteral{2C}{\isacharcomma}}{\isaliteral{5F}{\isacharunderscore}}{\isaliteral{2C}{\isacharcomma}}pt{\isaliteral{29}{\isacharparenright}}\ {\isaliteral{3D}{\isacharequal}}\ me\ nxt\ p\ {\isaliteral{5B}{\isacharbrackleft}}{\isaliteral{5D}{\isacharbrackright}}\ pt{\isaliteral{3B}{\isacharsemicolon}}\isanewline
  3.1458 +\ \ \ \ {\isaliteral{28}{\isacharparenleft}}{\isaliteral{2A}{\isacharasterisk}}Rewrite\ {\isaliteral{28}{\isacharparenleft}}{\isaliteral{22}{\isachardoublequote}}all{\isaliteral{5F}{\isacharunderscore}}left{\isaliteral{22}{\isachardoublequote}}{\isaliteral{2C}{\isacharcomma}}{\isaliteral{22}{\isachardoublequote}}PolyEq{\isaliteral{2E}{\isachardot}}all{\isaliteral{5F}{\isacharunderscore}}left{\isaliteral{22}{\isachardoublequote}}{\isaliteral{29}{\isacharparenright}}{\isaliteral{2A}{\isacharasterisk}}{\isaliteral{29}{\isacharparenright}}\isanewline
  3.1459 +\ \ val\ {\isaliteral{28}{\isacharparenleft}}p{\isaliteral{2C}{\isacharcomma}}{\isaliteral{5F}{\isacharunderscore}}{\isaliteral{2C}{\isacharcomma}}fa{\isaliteral{2C}{\isacharcomma}}nxt{\isaliteral{2C}{\isacharcomma}}{\isaliteral{5F}{\isacharunderscore}}{\isaliteral{2C}{\isacharcomma}}pt{\isaliteral{29}{\isacharparenright}}\ {\isaliteral{3D}{\isacharequal}}\ me\ nxt\ p\ {\isaliteral{5B}{\isacharbrackleft}}{\isaliteral{5D}{\isacharbrackright}}\ pt{\isaliteral{3B}{\isacharsemicolon}}\isanewline
  3.1460 +\ \ \ \ {\isaliteral{28}{\isacharparenleft}}{\isaliteral{2A}{\isacharasterisk}}Rewrite{\isaliteral{5F}{\isacharunderscore}}Set{\isaliteral{5F}{\isacharunderscore}}Inst{\isaliteral{28}{\isacharparenleft}}{\isaliteral{5B}{\isacharbrackleft}}{\isaliteral{22}{\isachardoublequote}}{\isaliteral{28}{\isacharparenleft}}bdv{\isaliteral{2C}{\isacharcomma}}A{\isaliteral{29}{\isacharparenright}}{\isaliteral{22}{\isachardoublequote}}{\isaliteral{5D}{\isacharbrackright}}{\isaliteral{2C}{\isacharcomma}}{\isaliteral{22}{\isachardoublequote}}make{\isaliteral{5F}{\isacharunderscore}}ratpoly{\isaliteral{5F}{\isacharunderscore}}in{\isaliteral{22}{\isachardoublequote}}{\isaliteral{29}{\isacharparenright}}{\isaliteral{2A}{\isacharasterisk}}{\isaliteral{29}{\isacharparenright}}\isanewline
  3.1461 +\ \ val\ {\isaliteral{28}{\isacharparenleft}}p{\isaliteral{2C}{\isacharcomma}}{\isaliteral{5F}{\isacharunderscore}}{\isaliteral{2C}{\isacharcomma}}fa{\isaliteral{2C}{\isacharcomma}}nxt{\isaliteral{2C}{\isacharcomma}}{\isaliteral{5F}{\isacharunderscore}}{\isaliteral{2C}{\isacharcomma}}pt{\isaliteral{29}{\isacharparenright}}\ {\isaliteral{3D}{\isacharequal}}\ me\ nxt\ p\ {\isaliteral{5B}{\isacharbrackleft}}{\isaliteral{5D}{\isacharbrackright}}\ pt{\isaliteral{3B}{\isacharsemicolon}}\isanewline
  3.1462 +\ \ \ \ {\isaliteral{28}{\isacharparenleft}}{\isaliteral{2A}{\isacharasterisk}}Rewrite{\isaliteral{5F}{\isacharunderscore}}Set\ {\isaliteral{22}{\isachardoublequote}}polyeq{\isaliteral{5F}{\isacharunderscore}}simplify{\isaliteral{22}{\isachardoublequote}}{\isaliteral{2A}{\isacharasterisk}}{\isaliteral{29}{\isacharparenright}}\isanewline
  3.1463 +\ \ val\ {\isaliteral{28}{\isacharparenleft}}p{\isaliteral{2C}{\isacharcomma}}{\isaliteral{5F}{\isacharunderscore}}{\isaliteral{2C}{\isacharcomma}}fa{\isaliteral{2C}{\isacharcomma}}nxt{\isaliteral{2C}{\isacharcomma}}{\isaliteral{5F}{\isacharunderscore}}{\isaliteral{2C}{\isacharcomma}}pt{\isaliteral{29}{\isacharparenright}}\ {\isaliteral{3D}{\isacharequal}}\ me\ nxt\ p\ {\isaliteral{5B}{\isacharbrackleft}}{\isaliteral{5D}{\isacharbrackright}}\ pt{\isaliteral{3B}{\isacharsemicolon}}\ \isanewline
  3.1464 +\ \ val\ {\isaliteral{28}{\isacharparenleft}}p{\isaliteral{2C}{\isacharcomma}}{\isaliteral{5F}{\isacharunderscore}}{\isaliteral{2C}{\isacharcomma}}fa{\isaliteral{2C}{\isacharcomma}}nxt{\isaliteral{2C}{\isacharcomma}}{\isaliteral{5F}{\isacharunderscore}}{\isaliteral{2C}{\isacharcomma}}pt{\isaliteral{29}{\isacharparenright}}\ {\isaliteral{3D}{\isacharequal}}\ me\ nxt\ p\ {\isaliteral{5B}{\isacharbrackleft}}{\isaliteral{5D}{\isacharbrackright}}\ pt{\isaliteral{3B}{\isacharsemicolon}}\ \isanewline
  3.1465 +\ \ val\ {\isaliteral{28}{\isacharparenleft}}p{\isaliteral{2C}{\isacharcomma}}{\isaliteral{5F}{\isacharunderscore}}{\isaliteral{2C}{\isacharcomma}}fa{\isaliteral{2C}{\isacharcomma}}nxt{\isaliteral{2C}{\isacharcomma}}{\isaliteral{5F}{\isacharunderscore}}{\isaliteral{2C}{\isacharcomma}}pt{\isaliteral{29}{\isacharparenright}}\ {\isaliteral{3D}{\isacharequal}}\ me\ nxt\ p\ {\isaliteral{5B}{\isacharbrackleft}}{\isaliteral{5D}{\isacharbrackright}}\ pt{\isaliteral{3B}{\isacharsemicolon}}\isanewline
  3.1466 +\ \ \ \ {\isaliteral{28}{\isacharparenleft}}{\isaliteral{2A}{\isacharasterisk}}Add{\isaliteral{5F}{\isacharunderscore}}Given\ {\isaliteral{22}{\isachardoublequote}}equality\ {\isaliteral{28}{\isacharparenleft}}{\isadigit{3}}\ {\isaliteral{2B}{\isacharplus}}\ {\isaliteral{2D}{\isacharminus}}{\isadigit{3}}\ {\isaliteral{2F}{\isacharslash}}\ {\isadigit{4}}\ {\isaliteral{2A}{\isacharasterisk}}\ A\ {\isaliteral{3D}{\isacharequal}}{\isadigit{0}}{\isaliteral{29}{\isacharparenright}}{\isaliteral{22}{\isachardoublequote}}{\isaliteral{2A}{\isacharasterisk}}{\isaliteral{29}{\isacharparenright}}\isanewline
  3.1467 +\ \ val\ {\isaliteral{28}{\isacharparenleft}}p{\isaliteral{2C}{\isacharcomma}}{\isaliteral{5F}{\isacharunderscore}}{\isaliteral{2C}{\isacharcomma}}fa{\isaliteral{2C}{\isacharcomma}}nxt{\isaliteral{2C}{\isacharcomma}}{\isaliteral{5F}{\isacharunderscore}}{\isaliteral{2C}{\isacharcomma}}pt{\isaliteral{29}{\isacharparenright}}\ {\isaliteral{3D}{\isacharequal}}\ me\ nxt\ p\ {\isaliteral{5B}{\isacharbrackleft}}{\isaliteral{5D}{\isacharbrackright}}\ pt{\isaliteral{3B}{\isacharsemicolon}}\isanewline
  3.1468 +\ \ \ \ {\isaliteral{28}{\isacharparenleft}}{\isaliteral{2A}{\isacharasterisk}}Add{\isaliteral{5F}{\isacharunderscore}}Given\ {\isaliteral{22}{\isachardoublequote}}solveFor\ A{\isaliteral{22}{\isachardoublequote}}{\isaliteral{2A}{\isacharasterisk}}{\isaliteral{29}{\isacharparenright}}\isanewline
  3.1469 +\ \ val\ {\isaliteral{28}{\isacharparenleft}}p{\isaliteral{2C}{\isacharcomma}}{\isaliteral{5F}{\isacharunderscore}}{\isaliteral{2C}{\isacharcomma}}fa{\isaliteral{2C}{\isacharcomma}}nxt{\isaliteral{2C}{\isacharcomma}}{\isaliteral{5F}{\isacharunderscore}}{\isaliteral{2C}{\isacharcomma}}pt{\isaliteral{29}{\isacharparenright}}\ {\isaliteral{3D}{\isacharequal}}\ me\ nxt\ p\ {\isaliteral{5B}{\isacharbrackleft}}{\isaliteral{5D}{\isacharbrackright}}\ pt{\isaliteral{3B}{\isacharsemicolon}}\isanewline
  3.1470 +\ \ \ \ {\isaliteral{28}{\isacharparenleft}}{\isaliteral{2A}{\isacharasterisk}}Add{\isaliteral{5F}{\isacharunderscore}}Find\ {\isaliteral{22}{\isachardoublequote}}solutions\ A{\isaliteral{5F}{\isacharunderscore}}i{\isaliteral{22}{\isachardoublequote}}{\isaliteral{2A}{\isacharasterisk}}{\isaliteral{29}{\isacharparenright}}\isanewline
  3.1471 +\ \ val\ {\isaliteral{28}{\isacharparenleft}}p{\isaliteral{2C}{\isacharcomma}}{\isaliteral{5F}{\isacharunderscore}}{\isaliteral{2C}{\isacharcomma}}fa{\isaliteral{2C}{\isacharcomma}}nxt{\isaliteral{2C}{\isacharcomma}}{\isaliteral{5F}{\isacharunderscore}}{\isaliteral{2C}{\isacharcomma}}pt{\isaliteral{29}{\isacharparenright}}\ {\isaliteral{3D}{\isacharequal}}\ me\ nxt\ p\ {\isaliteral{5B}{\isacharbrackleft}}{\isaliteral{5D}{\isacharbrackright}}\ pt{\isaliteral{3B}{\isacharsemicolon}}\ \isanewline
  3.1472 +\ \ val\ {\isaliteral{28}{\isacharparenleft}}p{\isaliteral{2C}{\isacharcomma}}{\isaliteral{5F}{\isacharunderscore}}{\isaliteral{2C}{\isacharcomma}}fa{\isaliteral{2C}{\isacharcomma}}nxt{\isaliteral{2C}{\isacharcomma}}{\isaliteral{5F}{\isacharunderscore}}{\isaliteral{2C}{\isacharcomma}}pt{\isaliteral{29}{\isacharparenright}}\ {\isaliteral{3D}{\isacharequal}}\ me\ nxt\ p\ {\isaliteral{5B}{\isacharbrackleft}}{\isaliteral{5D}{\isacharbrackright}}\ pt{\isaliteral{3B}{\isacharsemicolon}}\ \isanewline
  3.1473 +\ \ val\ {\isaliteral{28}{\isacharparenleft}}p{\isaliteral{2C}{\isacharcomma}}{\isaliteral{5F}{\isacharunderscore}}{\isaliteral{2C}{\isacharcomma}}fa{\isaliteral{2C}{\isacharcomma}}nxt{\isaliteral{2C}{\isacharcomma}}{\isaliteral{5F}{\isacharunderscore}}{\isaliteral{2C}{\isacharcomma}}pt{\isaliteral{29}{\isacharparenright}}\ {\isaliteral{3D}{\isacharequal}}\ me\ nxt\ p\ {\isaliteral{5B}{\isacharbrackleft}}{\isaliteral{5D}{\isacharbrackright}}\ pt{\isaliteral{3B}{\isacharsemicolon}}\ \isanewline
  3.1474 +\ \ val\ {\isaliteral{28}{\isacharparenleft}}p{\isaliteral{2C}{\isacharcomma}}{\isaliteral{5F}{\isacharunderscore}}{\isaliteral{2C}{\isacharcomma}}fa{\isaliteral{2C}{\isacharcomma}}nxt{\isaliteral{2C}{\isacharcomma}}{\isaliteral{5F}{\isacharunderscore}}{\isaliteral{2C}{\isacharcomma}}pt{\isaliteral{29}{\isacharparenright}}\ {\isaliteral{3D}{\isacharequal}}\ me\ nxt\ p\ {\isaliteral{5B}{\isacharbrackleft}}{\isaliteral{5D}{\isacharbrackright}}\ pt{\isaliteral{3B}{\isacharsemicolon}}\ \isanewline
  3.1475 +\ \ \ \ {\isaliteral{28}{\isacharparenleft}}{\isaliteral{2A}{\isacharasterisk}}Apply{\isaliteral{5F}{\isacharunderscore}}Method\ {\isaliteral{5B}{\isacharbrackleft}}{\isaliteral{22}{\isachardoublequote}}PolyEq{\isaliteral{22}{\isachardoublequote}}{\isaliteral{2C}{\isacharcomma}}{\isaliteral{22}{\isachardoublequote}}solve{\isaliteral{5F}{\isacharunderscore}}d{\isadigit{1}}{\isaliteral{5F}{\isacharunderscore}}polyeq{\isaliteral{5F}{\isacharunderscore}}equation{\isaliteral{22}{\isachardoublequote}}{\isaliteral{5D}{\isacharbrackright}}{\isaliteral{2A}{\isacharasterisk}}{\isaliteral{29}{\isacharparenright}}\isanewline
  3.1476 +\ \ val\ {\isaliteral{28}{\isacharparenleft}}p{\isaliteral{2C}{\isacharcomma}}{\isaliteral{5F}{\isacharunderscore}}{\isaliteral{2C}{\isacharcomma}}fa{\isaliteral{2C}{\isacharcomma}}nxt{\isaliteral{2C}{\isacharcomma}}{\isaliteral{5F}{\isacharunderscore}}{\isaliteral{2C}{\isacharcomma}}pt{\isaliteral{29}{\isacharparenright}}\ {\isaliteral{3D}{\isacharequal}}\ me\ nxt\ p\ {\isaliteral{5B}{\isacharbrackleft}}{\isaliteral{5D}{\isacharbrackright}}\ pt{\isaliteral{3B}{\isacharsemicolon}}\isanewline
  3.1477 +\ \ \ \ {\isaliteral{28}{\isacharparenleft}}{\isaliteral{2A}{\isacharasterisk}}Rewrite{\isaliteral{5F}{\isacharunderscore}}Set{\isaliteral{5F}{\isacharunderscore}}Inst{\isaliteral{28}{\isacharparenleft}}{\isaliteral{5B}{\isacharbrackleft}}{\isaliteral{22}{\isachardoublequote}}{\isaliteral{28}{\isacharparenleft}}bdv{\isaliteral{2C}{\isacharcomma}}A{\isaliteral{29}{\isacharparenright}}{\isaliteral{22}{\isachardoublequote}}{\isaliteral{5D}{\isacharbrackright}}{\isaliteral{2C}{\isacharcomma}}{\isaliteral{22}{\isachardoublequote}}d{\isadigit{1}}{\isaliteral{5F}{\isacharunderscore}}polyeq{\isaliteral{5F}{\isacharunderscore}}simplify{\isaliteral{22}{\isachardoublequote}}{\isaliteral{29}{\isacharparenright}}{\isaliteral{2A}{\isacharasterisk}}{\isaliteral{29}{\isacharparenright}}\isanewline
  3.1478 +\ \ val\ {\isaliteral{28}{\isacharparenleft}}p{\isaliteral{2C}{\isacharcomma}}{\isaliteral{5F}{\isacharunderscore}}{\isaliteral{2C}{\isacharcomma}}fa{\isaliteral{2C}{\isacharcomma}}nxt{\isaliteral{2C}{\isacharcomma}}{\isaliteral{5F}{\isacharunderscore}}{\isaliteral{2C}{\isacharcomma}}pt{\isaliteral{29}{\isacharparenright}}\ {\isaliteral{3D}{\isacharequal}}\ me\ nxt\ p\ {\isaliteral{5B}{\isacharbrackleft}}{\isaliteral{5D}{\isacharbrackright}}\ pt{\isaliteral{3B}{\isacharsemicolon}}\isanewline
  3.1479 +\ \ \ \ {\isaliteral{28}{\isacharparenleft}}{\isaliteral{2A}{\isacharasterisk}}Rewrite{\isaliteral{5F}{\isacharunderscore}}Set\ {\isaliteral{22}{\isachardoublequote}}polyeq{\isaliteral{5F}{\isacharunderscore}}simplify{\isaliteral{22}{\isachardoublequote}}{\isaliteral{2A}{\isacharasterisk}}{\isaliteral{29}{\isacharparenright}}\isanewline
  3.1480 +\ \ val\ {\isaliteral{28}{\isacharparenleft}}p{\isaliteral{2C}{\isacharcomma}}{\isaliteral{5F}{\isacharunderscore}}{\isaliteral{2C}{\isacharcomma}}fa{\isaliteral{2C}{\isacharcomma}}nxt{\isaliteral{2C}{\isacharcomma}}{\isaliteral{5F}{\isacharunderscore}}{\isaliteral{2C}{\isacharcomma}}pt{\isaliteral{29}{\isacharparenright}}\ {\isaliteral{3D}{\isacharequal}}\ me\ nxt\ p\ {\isaliteral{5B}{\isacharbrackleft}}{\isaliteral{5D}{\isacharbrackright}}\ pt{\isaliteral{3B}{\isacharsemicolon}}\isanewline
  3.1481 +\ \ \ \ {\isaliteral{28}{\isacharparenleft}}{\isaliteral{2A}{\isacharasterisk}}Rewrite{\isaliteral{5F}{\isacharunderscore}}Set\ {\isaliteral{22}{\isachardoublequote}}norm{\isaliteral{5F}{\isacharunderscore}}Rational{\isaliteral{5F}{\isacharunderscore}}parenthesized{\isaliteral{22}{\isachardoublequote}}{\isaliteral{2A}{\isacharasterisk}}{\isaliteral{29}{\isacharparenright}}\isanewline
  3.1482 +\ \ val\ {\isaliteral{28}{\isacharparenleft}}p{\isaliteral{2C}{\isacharcomma}}{\isaliteral{5F}{\isacharunderscore}}{\isaliteral{2C}{\isacharcomma}}fa{\isaliteral{2C}{\isacharcomma}}nxt{\isaliteral{2C}{\isacharcomma}}{\isaliteral{5F}{\isacharunderscore}}{\isaliteral{2C}{\isacharcomma}}pt{\isaliteral{29}{\isacharparenright}}\ {\isaliteral{3D}{\isacharequal}}\ me\ nxt\ p\ {\isaliteral{5B}{\isacharbrackleft}}{\isaliteral{5D}{\isacharbrackright}}\ pt{\isaliteral{3B}{\isacharsemicolon}}\isanewline
  3.1483 +\ \ \ \ {\isaliteral{28}{\isacharparenleft}}{\isaliteral{2A}{\isacharasterisk}}Or{\isaliteral{5F}{\isacharunderscore}}to{\isaliteral{5F}{\isacharunderscore}}List{\isaliteral{2A}{\isacharasterisk}}{\isaliteral{29}{\isacharparenright}}\isanewline
  3.1484 +\ \ val\ {\isaliteral{28}{\isacharparenleft}}p{\isaliteral{2C}{\isacharcomma}}{\isaliteral{5F}{\isacharunderscore}}{\isaliteral{2C}{\isacharcomma}}fa{\isaliteral{2C}{\isacharcomma}}nxt{\isaliteral{2C}{\isacharcomma}}{\isaliteral{5F}{\isacharunderscore}}{\isaliteral{2C}{\isacharcomma}}pt{\isaliteral{29}{\isacharparenright}}\ {\isaliteral{3D}{\isacharequal}}\ me\ nxt\ p\ {\isaliteral{5B}{\isacharbrackleft}}{\isaliteral{5D}{\isacharbrackright}}\ pt{\isaliteral{3B}{\isacharsemicolon}}\isanewline
  3.1485 +\ \ \ \ {\isaliteral{28}{\isacharparenleft}}{\isaliteral{2A}{\isacharasterisk}}Check{\isaliteral{5F}{\isacharunderscore}}elementwise\ {\isaliteral{22}{\isachardoublequote}}Assumptions{\isaliteral{22}{\isachardoublequote}}{\isaliteral{2A}{\isacharasterisk}}{\isaliteral{29}{\isacharparenright}}\isanewline
  3.1486 +\ \ val\ {\isaliteral{28}{\isacharparenleft}}p{\isaliteral{2C}{\isacharcomma}}{\isaliteral{5F}{\isacharunderscore}}{\isaliteral{2C}{\isacharcomma}}fa{\isaliteral{2C}{\isacharcomma}}nxt{\isaliteral{2C}{\isacharcomma}}{\isaliteral{5F}{\isacharunderscore}}{\isaliteral{2C}{\isacharcomma}}pt{\isaliteral{29}{\isacharparenright}}\ {\isaliteral{3D}{\isacharequal}}\ me\ nxt\ p\ {\isaliteral{5B}{\isacharbrackleft}}{\isaliteral{5D}{\isacharbrackright}}\ pt{\isaliteral{3B}{\isacharsemicolon}}\isanewline
  3.1487 +\ \ \ \ {\isaliteral{28}{\isacharparenleft}}{\isaliteral{2A}{\isacharasterisk}}Check{\isaliteral{5F}{\isacharunderscore}}Postcond\ {\isaliteral{5B}{\isacharbrackleft}}{\isaliteral{22}{\isachardoublequote}}degree{\isaliteral{5F}{\isacharunderscore}}{\isadigit{1}}{\isaliteral{22}{\isachardoublequote}}{\isaliteral{2C}{\isacharcomma}}{\isaliteral{22}{\isachardoublequote}}polynomial{\isaliteral{22}{\isachardoublequote}}{\isaliteral{2C}{\isacharcomma}}\isanewline
  3.1488 +\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ {\isaliteral{22}{\isachardoublequote}}univariate{\isaliteral{22}{\isachardoublequote}}{\isaliteral{2C}{\isacharcomma}}{\isaliteral{22}{\isachardoublequote}}equation{\isaliteral{22}{\isachardoublequote}}{\isaliteral{5D}{\isacharbrackright}}{\isaliteral{2A}{\isacharasterisk}}{\isaliteral{29}{\isacharparenright}}\isanewline
  3.1489 +\ \ val\ {\isaliteral{28}{\isacharparenleft}}p{\isaliteral{2C}{\isacharcomma}}{\isaliteral{5F}{\isacharunderscore}}{\isaliteral{2C}{\isacharcomma}}fa{\isaliteral{2C}{\isacharcomma}}nxt{\isaliteral{2C}{\isacharcomma}}{\isaliteral{5F}{\isacharunderscore}}{\isaliteral{2C}{\isacharcomma}}pt{\isaliteral{29}{\isacharparenright}}\ {\isaliteral{3D}{\isacharequal}}\ me\ nxt\ p\ {\isaliteral{5B}{\isacharbrackleft}}{\isaliteral{5D}{\isacharbrackright}}\ pt{\isaliteral{3B}{\isacharsemicolon}}\isanewline
  3.1490 +\ \ \ \ {\isaliteral{28}{\isacharparenleft}}{\isaliteral{2A}{\isacharasterisk}}Check{\isaliteral{5F}{\isacharunderscore}}Postcond\ {\isaliteral{5B}{\isacharbrackleft}}{\isaliteral{22}{\isachardoublequote}}normalize{\isaliteral{22}{\isachardoublequote}}{\isaliteral{2C}{\isacharcomma}}{\isaliteral{22}{\isachardoublequote}}polynomial{\isaliteral{22}{\isachardoublequote}}{\isaliteral{2C}{\isacharcomma}}\isanewline
  3.1491 +\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ {\isaliteral{22}{\isachardoublequote}}univariate{\isaliteral{22}{\isachardoublequote}}{\isaliteral{2C}{\isacharcomma}}{\isaliteral{22}{\isachardoublequote}}equation{\isaliteral{22}{\isachardoublequote}}{\isaliteral{5D}{\isacharbrackright}}{\isaliteral{2A}{\isacharasterisk}}{\isaliteral{29}{\isacharparenright}}\isanewline
  3.1492 +\ \ val\ {\isaliteral{28}{\isacharparenleft}}p{\isaliteral{2C}{\isacharcomma}}{\isaliteral{5F}{\isacharunderscore}}{\isaliteral{2C}{\isacharcomma}}fa{\isaliteral{2C}{\isacharcomma}}nxt{\isaliteral{2C}{\isacharcomma}}{\isaliteral{5F}{\isacharunderscore}}{\isaliteral{2C}{\isacharcomma}}pt{\isaliteral{29}{\isacharparenright}}\ {\isaliteral{3D}{\isacharequal}}\ me\ nxt\ p\ {\isaliteral{5B}{\isacharbrackleft}}{\isaliteral{5D}{\isacharbrackright}}\ pt{\isaliteral{3B}{\isacharsemicolon}}\isanewline
  3.1493 +\ \ \ \ {\isaliteral{28}{\isacharparenleft}}{\isaliteral{2A}{\isacharasterisk}}End{\isaliteral{5F}{\isacharunderscore}}Proof{\isaliteral{27}{\isacharprime}}{\isaliteral{2A}{\isacharasterisk}}{\isaliteral{29}{\isacharparenright}}\isanewline
  3.1494 +\ \ f{\isadigit{2}}str\ fa{\isaliteral{3B}{\isacharsemicolon}}\isanewline
  3.1495 +{\isaliteral{2A7D}{\isacharverbatimclose}}%
  3.1496 +\endisatagML
  3.1497 +{\isafoldML}%
  3.1498 +%
  3.1499 +\isadelimML
  3.1500 +%
  3.1501 +\endisadelimML
  3.1502 +%
  3.1503 +\isamarkupsubsubsection{Get Second Koeffizient%
  3.1504 +}
  3.1505 +\isamarkuptrue%
  3.1506 +%
  3.1507 +\begin{isamarkuptext}%
  3.1508 +\noindent With the use of \texttt{thy} we check which theories the 
  3.1509 +      interpreter knows.%
  3.1510 +\end{isamarkuptext}%
  3.1511 +\isamarkuptrue%
  3.1512 +%
  3.1513 +\isadelimML
  3.1514 +%
  3.1515 +\endisadelimML
  3.1516 +%
  3.1517 +\isatagML
  3.1518  \isacommand{ML}\isamarkupfalse%
  3.1519  \ {\isaliteral{7B2A}{\isacharverbatimopen}}thy{\isaliteral{2A7D}{\isacharverbatimclose}}%
  3.1520  \endisatagML
  3.1521 @@ -1316,18 +1542,116 @@
  3.1522  %
  3.1523  \endisadelimML
  3.1524  %
  3.1525 +\begin{isamarkuptext}%
  3.1526 +\noindent To get the second koeffizient we substitude $z$ with the second
  3.1527 +      zeropoint we determined in section~\ref{sec:solveq}.%
  3.1528 +\end{isamarkuptext}%
  3.1529 +\isamarkuptrue%
  3.1530 +%
  3.1531 +\isadelimML
  3.1532 +%
  3.1533 +\endisadelimML
  3.1534 +%
  3.1535 +\isatagML
  3.1536 +\isacommand{ML}\isamarkupfalse%
  3.1537 +\ {\isaliteral{7B2A}{\isacharverbatimopen}}\isanewline
  3.1538 +\ \ val\ SOME\ {\isaliteral{28}{\isacharparenleft}}eq{\isadigit{4}}b{\isaliteral{5F}{\isacharunderscore}}{\isadigit{1}}{\isaliteral{2C}{\isacharcomma}}{\isaliteral{5F}{\isacharunderscore}}{\isaliteral{29}{\isacharparenright}}\ {\isaliteral{3D}{\isacharequal}}\isanewline
  3.1539 +\ \ \ \ rewrite{\isaliteral{5F}{\isacharunderscore}}terms{\isaliteral{5F}{\isacharunderscore}}\ %
  3.1540 +\isaantiq
  3.1541 +theory\ Isac{}%
  3.1542 +\endisaantiq
  3.1543 +\ e{\isaliteral{5F}{\isacharunderscore}}rew{\isaliteral{5F}{\isacharunderscore}}ord\ e{\isaliteral{5F}{\isacharunderscore}}rls\ {\isaliteral{5B}{\isacharbrackleft}}s{\isaliteral{5F}{\isacharunderscore}}{\isadigit{2}}{\isaliteral{5D}{\isacharbrackright}}\ eq{\isadigit{3}}{\isaliteral{27}{\isacharprime}}{\isaliteral{27}{\isacharprime}}{\isaliteral{3B}{\isacharsemicolon}}\isanewline
  3.1544 +\ \ term{\isadigit{2}}str\ eq{\isadigit{4}}b{\isaliteral{5F}{\isacharunderscore}}{\isadigit{1}}{\isaliteral{3B}{\isacharsemicolon}}\isanewline
  3.1545 +\ \ val\ SOME\ {\isaliteral{28}{\isacharparenleft}}eq{\isadigit{4}}b{\isaliteral{5F}{\isacharunderscore}}{\isadigit{2}}{\isaliteral{2C}{\isacharcomma}}{\isaliteral{5F}{\isacharunderscore}}{\isaliteral{29}{\isacharparenright}}\ {\isaliteral{3D}{\isacharequal}}\isanewline
  3.1546 +\ \ \ \ rewrite{\isaliteral{5F}{\isacharunderscore}}set{\isaliteral{5F}{\isacharunderscore}}\ %
  3.1547 +\isaantiq
  3.1548 +theory\ Isac{}%
  3.1549 +\endisaantiq
  3.1550 +\ false\ norm{\isaliteral{5F}{\isacharunderscore}}Rational\ eq{\isadigit{4}}b{\isaliteral{5F}{\isacharunderscore}}{\isadigit{1}}{\isaliteral{3B}{\isacharsemicolon}}\isanewline
  3.1551 +\ \ term{\isadigit{2}}str\ eq{\isadigit{4}}b{\isaliteral{5F}{\isacharunderscore}}{\isadigit{2}}{\isaliteral{3B}{\isacharsemicolon}}\isanewline
  3.1552 +\isanewline
  3.1553 +\ \ val\ fmz\ {\isaliteral{3D}{\isacharequal}}\ {\isaliteral{5B}{\isacharbrackleft}}{\isaliteral{22}{\isachardoublequote}}equality\ {\isaliteral{28}{\isacharparenleft}}{\isadigit{3}}{\isaliteral{3D}{\isacharequal}}\ {\isaliteral{2D}{\isacharminus}}{\isadigit{3}}{\isaliteral{2A}{\isacharasterisk}}B{\isaliteral{2F}{\isacharslash}}{\isaliteral{28}{\isacharparenleft}}{\isadigit{4}}{\isaliteral{3A}{\isacharcolon}}{\isaliteral{3A}{\isacharcolon}}real{\isaliteral{29}{\isacharparenright}}{\isaliteral{29}{\isacharparenright}}{\isaliteral{22}{\isachardoublequote}}{\isaliteral{2C}{\isacharcomma}}\ {\isaliteral{22}{\isachardoublequote}}solveFor\ B{\isaliteral{22}{\isachardoublequote}}{\isaliteral{2C}{\isacharcomma}}{\isaliteral{22}{\isachardoublequote}}solutions\ L{\isaliteral{22}{\isachardoublequote}}{\isaliteral{5D}{\isacharbrackright}}{\isaliteral{3B}{\isacharsemicolon}}\isanewline
  3.1554 +\ \ val\ {\isaliteral{28}{\isacharparenleft}}dI{\isaliteral{27}{\isacharprime}}{\isaliteral{2C}{\isacharcomma}}pI{\isaliteral{27}{\isacharprime}}{\isaliteral{2C}{\isacharcomma}}mI{\isaliteral{27}{\isacharprime}}{\isaliteral{29}{\isacharparenright}}\ {\isaliteral{3D}{\isacharequal}}{\isaliteral{28}{\isacharparenleft}}{\isaliteral{22}{\isachardoublequote}}Isac{\isaliteral{22}{\isachardoublequote}}{\isaliteral{2C}{\isacharcomma}}\ {\isaliteral{5B}{\isacharbrackleft}}{\isaliteral{22}{\isachardoublequote}}univariate{\isaliteral{22}{\isachardoublequote}}{\isaliteral{2C}{\isacharcomma}}{\isaliteral{22}{\isachardoublequote}}equation{\isaliteral{22}{\isachardoublequote}}{\isaliteral{5D}{\isacharbrackright}}{\isaliteral{2C}{\isacharcomma}}\ {\isaliteral{5B}{\isacharbrackleft}}{\isaliteral{22}{\isachardoublequote}}no{\isaliteral{5F}{\isacharunderscore}}met{\isaliteral{22}{\isachardoublequote}}{\isaliteral{5D}{\isacharbrackright}}{\isaliteral{29}{\isacharparenright}}{\isaliteral{3B}{\isacharsemicolon}}\isanewline
  3.1555 +\ \ val\ {\isaliteral{28}{\isacharparenleft}}p{\isaliteral{2C}{\isacharcomma}}{\isaliteral{5F}{\isacharunderscore}}{\isaliteral{2C}{\isacharcomma}}fb{\isaliteral{2C}{\isacharcomma}}nxt{\isaliteral{2C}{\isacharcomma}}{\isaliteral{5F}{\isacharunderscore}}{\isaliteral{2C}{\isacharcomma}}pt{\isaliteral{29}{\isacharparenright}}\ {\isaliteral{3D}{\isacharequal}}\ CalcTreeTEST\ {\isaliteral{5B}{\isacharbrackleft}}{\isaliteral{28}{\isacharparenleft}}fmz{\isaliteral{2C}{\isacharcomma}}\ {\isaliteral{28}{\isacharparenleft}}dI{\isaliteral{27}{\isacharprime}}{\isaliteral{2C}{\isacharcomma}}pI{\isaliteral{27}{\isacharprime}}{\isaliteral{2C}{\isacharcomma}}mI{\isaliteral{27}{\isacharprime}}{\isaliteral{29}{\isacharparenright}}{\isaliteral{29}{\isacharparenright}}{\isaliteral{5D}{\isacharbrackright}}{\isaliteral{3B}{\isacharsemicolon}}\isanewline
  3.1556 +\ \ val\ {\isaliteral{28}{\isacharparenleft}}p{\isaliteral{2C}{\isacharcomma}}{\isaliteral{5F}{\isacharunderscore}}{\isaliteral{2C}{\isacharcomma}}fb{\isaliteral{2C}{\isacharcomma}}nxt{\isaliteral{2C}{\isacharcomma}}{\isaliteral{5F}{\isacharunderscore}}{\isaliteral{2C}{\isacharcomma}}pt{\isaliteral{29}{\isacharparenright}}\ {\isaliteral{3D}{\isacharequal}}\ me\ nxt\ p\ {\isaliteral{5B}{\isacharbrackleft}}{\isaliteral{5D}{\isacharbrackright}}\ pt{\isaliteral{3B}{\isacharsemicolon}}\isanewline
  3.1557 +\ \ val\ {\isaliteral{28}{\isacharparenleft}}p{\isaliteral{2C}{\isacharcomma}}{\isaliteral{5F}{\isacharunderscore}}{\isaliteral{2C}{\isacharcomma}}fb{\isaliteral{2C}{\isacharcomma}}nxt{\isaliteral{2C}{\isacharcomma}}{\isaliteral{5F}{\isacharunderscore}}{\isaliteral{2C}{\isacharcomma}}pt{\isaliteral{29}{\isacharparenright}}\ {\isaliteral{3D}{\isacharequal}}\ me\ nxt\ p\ {\isaliteral{5B}{\isacharbrackleft}}{\isaliteral{5D}{\isacharbrackright}}\ pt{\isaliteral{3B}{\isacharsemicolon}}\isanewline
  3.1558 +\ \ val\ {\isaliteral{28}{\isacharparenleft}}p{\isaliteral{2C}{\isacharcomma}}{\isaliteral{5F}{\isacharunderscore}}{\isaliteral{2C}{\isacharcomma}}fb{\isaliteral{2C}{\isacharcomma}}nxt{\isaliteral{2C}{\isacharcomma}}{\isaliteral{5F}{\isacharunderscore}}{\isaliteral{2C}{\isacharcomma}}pt{\isaliteral{29}{\isacharparenright}}\ {\isaliteral{3D}{\isacharequal}}\ me\ nxt\ p\ {\isaliteral{5B}{\isacharbrackleft}}{\isaliteral{5D}{\isacharbrackright}}\ pt{\isaliteral{3B}{\isacharsemicolon}}\isanewline
  3.1559 +\ \ val\ {\isaliteral{28}{\isacharparenleft}}p{\isaliteral{2C}{\isacharcomma}}{\isaliteral{5F}{\isacharunderscore}}{\isaliteral{2C}{\isacharcomma}}fb{\isaliteral{2C}{\isacharcomma}}nxt{\isaliteral{2C}{\isacharcomma}}{\isaliteral{5F}{\isacharunderscore}}{\isaliteral{2C}{\isacharcomma}}pt{\isaliteral{29}{\isacharparenright}}\ {\isaliteral{3D}{\isacharequal}}\ me\ nxt\ p\ {\isaliteral{5B}{\isacharbrackleft}}{\isaliteral{5D}{\isacharbrackright}}\ pt{\isaliteral{3B}{\isacharsemicolon}}\isanewline
  3.1560 +\ \ val\ {\isaliteral{28}{\isacharparenleft}}p{\isaliteral{2C}{\isacharcomma}}{\isaliteral{5F}{\isacharunderscore}}{\isaliteral{2C}{\isacharcomma}}fb{\isaliteral{2C}{\isacharcomma}}nxt{\isaliteral{2C}{\isacharcomma}}{\isaliteral{5F}{\isacharunderscore}}{\isaliteral{2C}{\isacharcomma}}pt{\isaliteral{29}{\isacharparenright}}\ {\isaliteral{3D}{\isacharequal}}\ me\ nxt\ p\ {\isaliteral{5B}{\isacharbrackleft}}{\isaliteral{5D}{\isacharbrackright}}\ pt{\isaliteral{3B}{\isacharsemicolon}}\isanewline
  3.1561 +\ \ val\ {\isaliteral{28}{\isacharparenleft}}p{\isaliteral{2C}{\isacharcomma}}{\isaliteral{5F}{\isacharunderscore}}{\isaliteral{2C}{\isacharcomma}}fb{\isaliteral{2C}{\isacharcomma}}nxt{\isaliteral{2C}{\isacharcomma}}{\isaliteral{5F}{\isacharunderscore}}{\isaliteral{2C}{\isacharcomma}}pt{\isaliteral{29}{\isacharparenright}}\ {\isaliteral{3D}{\isacharequal}}\ me\ nxt\ p\ {\isaliteral{5B}{\isacharbrackleft}}{\isaliteral{5D}{\isacharbrackright}}\ pt{\isaliteral{3B}{\isacharsemicolon}}\isanewline
  3.1562 +\ \ val\ {\isaliteral{28}{\isacharparenleft}}p{\isaliteral{2C}{\isacharcomma}}{\isaliteral{5F}{\isacharunderscore}}{\isaliteral{2C}{\isacharcomma}}fb{\isaliteral{2C}{\isacharcomma}}nxt{\isaliteral{2C}{\isacharcomma}}{\isaliteral{5F}{\isacharunderscore}}{\isaliteral{2C}{\isacharcomma}}pt{\isaliteral{29}{\isacharparenright}}\ {\isaliteral{3D}{\isacharequal}}\ me\ nxt\ p\ {\isaliteral{5B}{\isacharbrackleft}}{\isaliteral{5D}{\isacharbrackright}}\ pt{\isaliteral{3B}{\isacharsemicolon}}\isanewline
  3.1563 +\ \ val\ {\isaliteral{28}{\isacharparenleft}}p{\isaliteral{2C}{\isacharcomma}}{\isaliteral{5F}{\isacharunderscore}}{\isaliteral{2C}{\isacharcomma}}fb{\isaliteral{2C}{\isacharcomma}}nxt{\isaliteral{2C}{\isacharcomma}}{\isaliteral{5F}{\isacharunderscore}}{\isaliteral{2C}{\isacharcomma}}pt{\isaliteral{29}{\isacharparenright}}\ {\isaliteral{3D}{\isacharequal}}\ me\ nxt\ p\ {\isaliteral{5B}{\isacharbrackleft}}{\isaliteral{5D}{\isacharbrackright}}\ pt{\isaliteral{3B}{\isacharsemicolon}}\isanewline
  3.1564 +\ \ val\ {\isaliteral{28}{\isacharparenleft}}p{\isaliteral{2C}{\isacharcomma}}{\isaliteral{5F}{\isacharunderscore}}{\isaliteral{2C}{\isacharcomma}}fb{\isaliteral{2C}{\isacharcomma}}nxt{\isaliteral{2C}{\isacharcomma}}{\isaliteral{5F}{\isacharunderscore}}{\isaliteral{2C}{\isacharcomma}}pt{\isaliteral{29}{\isacharparenright}}\ {\isaliteral{3D}{\isacharequal}}\ me\ nxt\ p\ {\isaliteral{5B}{\isacharbrackleft}}{\isaliteral{5D}{\isacharbrackright}}\ pt{\isaliteral{3B}{\isacharsemicolon}}\isanewline
  3.1565 +\ \ val\ {\isaliteral{28}{\isacharparenleft}}p{\isaliteral{2C}{\isacharcomma}}{\isaliteral{5F}{\isacharunderscore}}{\isaliteral{2C}{\isacharcomma}}fb{\isaliteral{2C}{\isacharcomma}}nxt{\isaliteral{2C}{\isacharcomma}}{\isaliteral{5F}{\isacharunderscore}}{\isaliteral{2C}{\isacharcomma}}pt{\isaliteral{29}{\isacharparenright}}\ {\isaliteral{3D}{\isacharequal}}\ me\ nxt\ p\ {\isaliteral{5B}{\isacharbrackleft}}{\isaliteral{5D}{\isacharbrackright}}\ pt{\isaliteral{3B}{\isacharsemicolon}}\isanewline
  3.1566 +\ \ val\ {\isaliteral{28}{\isacharparenleft}}p{\isaliteral{2C}{\isacharcomma}}{\isaliteral{5F}{\isacharunderscore}}{\isaliteral{2C}{\isacharcomma}}fb{\isaliteral{2C}{\isacharcomma}}nxt{\isaliteral{2C}{\isacharcomma}}{\isaliteral{5F}{\isacharunderscore}}{\isaliteral{2C}{\isacharcomma}}pt{\isaliteral{29}{\isacharparenright}}\ {\isaliteral{3D}{\isacharequal}}\ me\ nxt\ p\ {\isaliteral{5B}{\isacharbrackleft}}{\isaliteral{5D}{\isacharbrackright}}\ pt{\isaliteral{3B}{\isacharsemicolon}}\isanewline
  3.1567 +\ \ val\ {\isaliteral{28}{\isacharparenleft}}p{\isaliteral{2C}{\isacharcomma}}{\isaliteral{5F}{\isacharunderscore}}{\isaliteral{2C}{\isacharcomma}}fb{\isaliteral{2C}{\isacharcomma}}nxt{\isaliteral{2C}{\isacharcomma}}{\isaliteral{5F}{\isacharunderscore}}{\isaliteral{2C}{\isacharcomma}}pt{\isaliteral{29}{\isacharparenright}}\ {\isaliteral{3D}{\isacharequal}}\ me\ nxt\ p\ {\isaliteral{5B}{\isacharbrackleft}}{\isaliteral{5D}{\isacharbrackright}}\ pt{\isaliteral{3B}{\isacharsemicolon}}\isanewline
  3.1568 +\ \ val\ {\isaliteral{28}{\isacharparenleft}}p{\isaliteral{2C}{\isacharcomma}}{\isaliteral{5F}{\isacharunderscore}}{\isaliteral{2C}{\isacharcomma}}fb{\isaliteral{2C}{\isacharcomma}}nxt{\isaliteral{2C}{\isacharcomma}}{\isaliteral{5F}{\isacharunderscore}}{\isaliteral{2C}{\isacharcomma}}pt{\isaliteral{29}{\isacharparenright}}\ {\isaliteral{3D}{\isacharequal}}\ me\ nxt\ p\ {\isaliteral{5B}{\isacharbrackleft}}{\isaliteral{5D}{\isacharbrackright}}\ pt{\isaliteral{3B}{\isacharsemicolon}}\isanewline
  3.1569 +\ \ val\ {\isaliteral{28}{\isacharparenleft}}p{\isaliteral{2C}{\isacharcomma}}{\isaliteral{5F}{\isacharunderscore}}{\isaliteral{2C}{\isacharcomma}}fb{\isaliteral{2C}{\isacharcomma}}nxt{\isaliteral{2C}{\isacharcomma}}{\isaliteral{5F}{\isacharunderscore}}{\isaliteral{2C}{\isacharcomma}}pt{\isaliteral{29}{\isacharparenright}}\ {\isaliteral{3D}{\isacharequal}}\ me\ nxt\ p\ {\isaliteral{5B}{\isacharbrackleft}}{\isaliteral{5D}{\isacharbrackright}}\ pt{\isaliteral{3B}{\isacharsemicolon}}\isanewline
  3.1570 +\ \ val\ {\isaliteral{28}{\isacharparenleft}}p{\isaliteral{2C}{\isacharcomma}}{\isaliteral{5F}{\isacharunderscore}}{\isaliteral{2C}{\isacharcomma}}fb{\isaliteral{2C}{\isacharcomma}}nxt{\isaliteral{2C}{\isacharcomma}}{\isaliteral{5F}{\isacharunderscore}}{\isaliteral{2C}{\isacharcomma}}pt{\isaliteral{29}{\isacharparenright}}\ {\isaliteral{3D}{\isacharequal}}\ me\ nxt\ p\ {\isaliteral{5B}{\isacharbrackleft}}{\isaliteral{5D}{\isacharbrackright}}\ pt{\isaliteral{3B}{\isacharsemicolon}}\isanewline
  3.1571 +\ \ val\ {\isaliteral{28}{\isacharparenleft}}p{\isaliteral{2C}{\isacharcomma}}{\isaliteral{5F}{\isacharunderscore}}{\isaliteral{2C}{\isacharcomma}}fb{\isaliteral{2C}{\isacharcomma}}nxt{\isaliteral{2C}{\isacharcomma}}{\isaliteral{5F}{\isacharunderscore}}{\isaliteral{2C}{\isacharcomma}}pt{\isaliteral{29}{\isacharparenright}}\ {\isaliteral{3D}{\isacharequal}}\ me\ nxt\ p\ {\isaliteral{5B}{\isacharbrackleft}}{\isaliteral{5D}{\isacharbrackright}}\ pt{\isaliteral{3B}{\isacharsemicolon}}\isanewline
  3.1572 +\ \ val\ {\isaliteral{28}{\isacharparenleft}}p{\isaliteral{2C}{\isacharcomma}}{\isaliteral{5F}{\isacharunderscore}}{\isaliteral{2C}{\isacharcomma}}fb{\isaliteral{2C}{\isacharcomma}}nxt{\isaliteral{2C}{\isacharcomma}}{\isaliteral{5F}{\isacharunderscore}}{\isaliteral{2C}{\isacharcomma}}pt{\isaliteral{29}{\isacharparenright}}\ {\isaliteral{3D}{\isacharequal}}\ me\ nxt\ p\ {\isaliteral{5B}{\isacharbrackleft}}{\isaliteral{5D}{\isacharbrackright}}\ pt{\isaliteral{3B}{\isacharsemicolon}}\isanewline
  3.1573 +\ \ val\ {\isaliteral{28}{\isacharparenleft}}p{\isaliteral{2C}{\isacharcomma}}{\isaliteral{5F}{\isacharunderscore}}{\isaliteral{2C}{\isacharcomma}}fb{\isaliteral{2C}{\isacharcomma}}nxt{\isaliteral{2C}{\isacharcomma}}{\isaliteral{5F}{\isacharunderscore}}{\isaliteral{2C}{\isacharcomma}}pt{\isaliteral{29}{\isacharparenright}}\ {\isaliteral{3D}{\isacharequal}}\ me\ nxt\ p\ {\isaliteral{5B}{\isacharbrackleft}}{\isaliteral{5D}{\isacharbrackright}}\ pt{\isaliteral{3B}{\isacharsemicolon}}\isanewline
  3.1574 +\ \ val\ {\isaliteral{28}{\isacharparenleft}}p{\isaliteral{2C}{\isacharcomma}}{\isaliteral{5F}{\isacharunderscore}}{\isaliteral{2C}{\isacharcomma}}fb{\isaliteral{2C}{\isacharcomma}}nxt{\isaliteral{2C}{\isacharcomma}}{\isaliteral{5F}{\isacharunderscore}}{\isaliteral{2C}{\isacharcomma}}pt{\isaliteral{29}{\isacharparenright}}\ {\isaliteral{3D}{\isacharequal}}\ me\ nxt\ p\ {\isaliteral{5B}{\isacharbrackleft}}{\isaliteral{5D}{\isacharbrackright}}\ pt{\isaliteral{3B}{\isacharsemicolon}}\isanewline
  3.1575 +\ \ val\ {\isaliteral{28}{\isacharparenleft}}p{\isaliteral{2C}{\isacharcomma}}{\isaliteral{5F}{\isacharunderscore}}{\isaliteral{2C}{\isacharcomma}}fb{\isaliteral{2C}{\isacharcomma}}nxt{\isaliteral{2C}{\isacharcomma}}{\isaliteral{5F}{\isacharunderscore}}{\isaliteral{2C}{\isacharcomma}}pt{\isaliteral{29}{\isacharparenright}}\ {\isaliteral{3D}{\isacharequal}}\ me\ nxt\ p\ {\isaliteral{5B}{\isacharbrackleft}}{\isaliteral{5D}{\isacharbrackright}}\ pt{\isaliteral{3B}{\isacharsemicolon}}\isanewline
  3.1576 +\ \ val\ {\isaliteral{28}{\isacharparenleft}}p{\isaliteral{2C}{\isacharcomma}}{\isaliteral{5F}{\isacharunderscore}}{\isaliteral{2C}{\isacharcomma}}fb{\isaliteral{2C}{\isacharcomma}}nxt{\isaliteral{2C}{\isacharcomma}}{\isaliteral{5F}{\isacharunderscore}}{\isaliteral{2C}{\isacharcomma}}pt{\isaliteral{29}{\isacharparenright}}\ {\isaliteral{3D}{\isacharequal}}\ me\ nxt\ p\ {\isaliteral{5B}{\isacharbrackleft}}{\isaliteral{5D}{\isacharbrackright}}\ pt{\isaliteral{3B}{\isacharsemicolon}}\isanewline
  3.1577 +\ \ val\ {\isaliteral{28}{\isacharparenleft}}p{\isaliteral{2C}{\isacharcomma}}{\isaliteral{5F}{\isacharunderscore}}{\isaliteral{2C}{\isacharcomma}}fb{\isaliteral{2C}{\isacharcomma}}nxt{\isaliteral{2C}{\isacharcomma}}{\isaliteral{5F}{\isacharunderscore}}{\isaliteral{2C}{\isacharcomma}}pt{\isaliteral{29}{\isacharparenright}}\ {\isaliteral{3D}{\isacharequal}}\ me\ nxt\ p\ {\isaliteral{5B}{\isacharbrackleft}}{\isaliteral{5D}{\isacharbrackright}}\ pt{\isaliteral{3B}{\isacharsemicolon}}\isanewline
  3.1578 +\ \ val\ {\isaliteral{28}{\isacharparenleft}}p{\isaliteral{2C}{\isacharcomma}}{\isaliteral{5F}{\isacharunderscore}}{\isaliteral{2C}{\isacharcomma}}fb{\isaliteral{2C}{\isacharcomma}}nxt{\isaliteral{2C}{\isacharcomma}}{\isaliteral{5F}{\isacharunderscore}}{\isaliteral{2C}{\isacharcomma}}pt{\isaliteral{29}{\isacharparenright}}\ {\isaliteral{3D}{\isacharequal}}\ me\ nxt\ p\ {\isaliteral{5B}{\isacharbrackleft}}{\isaliteral{5D}{\isacharbrackright}}\ pt{\isaliteral{3B}{\isacharsemicolon}}\isanewline
  3.1579 +\ \ val\ {\isaliteral{28}{\isacharparenleft}}p{\isaliteral{2C}{\isacharcomma}}{\isaliteral{5F}{\isacharunderscore}}{\isaliteral{2C}{\isacharcomma}}fb{\isaliteral{2C}{\isacharcomma}}nxt{\isaliteral{2C}{\isacharcomma}}{\isaliteral{5F}{\isacharunderscore}}{\isaliteral{2C}{\isacharcomma}}pt{\isaliteral{29}{\isacharparenright}}\ {\isaliteral{3D}{\isacharequal}}\ me\ nxt\ p\ {\isaliteral{5B}{\isacharbrackleft}}{\isaliteral{5D}{\isacharbrackright}}\ pt{\isaliteral{3B}{\isacharsemicolon}}\isanewline
  3.1580 +\ \ val\ {\isaliteral{28}{\isacharparenleft}}p{\isaliteral{2C}{\isacharcomma}}{\isaliteral{5F}{\isacharunderscore}}{\isaliteral{2C}{\isacharcomma}}fb{\isaliteral{2C}{\isacharcomma}}nxt{\isaliteral{2C}{\isacharcomma}}{\isaliteral{5F}{\isacharunderscore}}{\isaliteral{2C}{\isacharcomma}}pt{\isaliteral{29}{\isacharparenright}}\ {\isaliteral{3D}{\isacharequal}}\ me\ nxt\ p\ {\isaliteral{5B}{\isacharbrackleft}}{\isaliteral{5D}{\isacharbrackright}}\ pt{\isaliteral{3B}{\isacharsemicolon}}\isanewline
  3.1581 +\ \ val\ {\isaliteral{28}{\isacharparenleft}}p{\isaliteral{2C}{\isacharcomma}}{\isaliteral{5F}{\isacharunderscore}}{\isaliteral{2C}{\isacharcomma}}fb{\isaliteral{2C}{\isacharcomma}}nxt{\isaliteral{2C}{\isacharcomma}}{\isaliteral{5F}{\isacharunderscore}}{\isaliteral{2C}{\isacharcomma}}pt{\isaliteral{29}{\isacharparenright}}\ {\isaliteral{3D}{\isacharequal}}\ me\ nxt\ p\ {\isaliteral{5B}{\isacharbrackleft}}{\isaliteral{5D}{\isacharbrackright}}\ pt{\isaliteral{3B}{\isacharsemicolon}}\isanewline
  3.1582 +\ \ val\ {\isaliteral{28}{\isacharparenleft}}p{\isaliteral{2C}{\isacharcomma}}{\isaliteral{5F}{\isacharunderscore}}{\isaliteral{2C}{\isacharcomma}}fb{\isaliteral{2C}{\isacharcomma}}nxt{\isaliteral{2C}{\isacharcomma}}{\isaliteral{5F}{\isacharunderscore}}{\isaliteral{2C}{\isacharcomma}}pt{\isaliteral{29}{\isacharparenright}}\ {\isaliteral{3D}{\isacharequal}}\ me\ nxt\ p\ {\isaliteral{5B}{\isacharbrackleft}}{\isaliteral{5D}{\isacharbrackright}}\ pt{\isaliteral{3B}{\isacharsemicolon}}\ \isanewline
  3.1583 +\ \ f{\isadigit{2}}str\ fb{\isaliteral{3B}{\isacharsemicolon}}\isanewline
  3.1584 +{\isaliteral{2A7D}{\isacharverbatimclose}}%
  3.1585 +\endisatagML
  3.1586 +{\isafoldML}%
  3.1587 +%
  3.1588 +\isadelimML
  3.1589 +%
  3.1590 +\endisadelimML
  3.1591 +%
  3.1592 +\begin{isamarkuptext}%
  3.1593 +\noindent We compare our results with the pre calculated upshot.%
  3.1594 +\end{isamarkuptext}%
  3.1595 +\isamarkuptrue%
  3.1596 +%
  3.1597 +\isadelimML
  3.1598 +%
  3.1599 +\endisadelimML
  3.1600 +%
  3.1601 +\isatagML
  3.1602 +\isacommand{ML}\isamarkupfalse%
  3.1603 +\ {\isaliteral{7B2A}{\isacharverbatimopen}}\isanewline
  3.1604 +\ \ if\ f{\isadigit{2}}str\ fa\ {\isaliteral{3D}{\isacharequal}}\ {\isaliteral{22}{\isachardoublequote}}{\isaliteral{5B}{\isacharbrackleft}}A\ {\isaliteral{3D}{\isacharequal}}\ {\isadigit{4}}{\isaliteral{5D}{\isacharbrackright}}{\isaliteral{22}{\isachardoublequote}}\ then\ {\isaliteral{28}{\isacharparenleft}}{\isaliteral{29}{\isacharparenright}}\ else\ error\ {\isaliteral{22}{\isachardoublequote}}part{\isaliteral{2E}{\isachardot}}fract{\isaliteral{2E}{\isachardot}}\ eq{\isadigit{4}}{\isaliteral{5F}{\isacharunderscore}}{\isadigit{1}}{\isaliteral{22}{\isachardoublequote}}{\isaliteral{3B}{\isacharsemicolon}}\isanewline
  3.1605 +\ \ if\ f{\isadigit{2}}str\ fb\ {\isaliteral{3D}{\isacharequal}}\ {\isaliteral{22}{\isachardoublequote}}{\isaliteral{5B}{\isacharbrackleft}}B\ {\isaliteral{3D}{\isacharequal}}\ {\isaliteral{2D}{\isacharminus}}{\isadigit{4}}{\isaliteral{5D}{\isacharbrackright}}{\isaliteral{22}{\isachardoublequote}}\ then\ {\isaliteral{28}{\isacharparenleft}}{\isaliteral{29}{\isacharparenright}}\ else\ error\ {\isaliteral{22}{\isachardoublequote}}part{\isaliteral{2E}{\isachardot}}fract{\isaliteral{2E}{\isachardot}}\ eq{\isadigit{4}}{\isaliteral{5F}{\isacharunderscore}}{\isadigit{1}}{\isaliteral{22}{\isachardoublequote}}{\isaliteral{3B}{\isacharsemicolon}}\isanewline
  3.1606 +{\isaliteral{2A7D}{\isacharverbatimclose}}%
  3.1607 +\endisatagML
  3.1608 +{\isafoldML}%
  3.1609 +%
  3.1610 +\isadelimML
  3.1611 +%
  3.1612 +\endisadelimML
  3.1613 +%
  3.1614  \isamarkupsection{Implement the Specification and the Method \label{spec-meth}%
  3.1615  }
  3.1616  \isamarkuptrue%
  3.1617  %
  3.1618  \begin{isamarkuptext}%
  3.1619 -==============================================%
  3.1620 +\noindent Now everything we need for solving the problem has been
  3.1621 +      tested out. We now start by creating new nodes for our methods and
  3.1622 +      further on our new programm in the interpreter.%
  3.1623  \end{isamarkuptext}%
  3.1624  \isamarkuptrue%
  3.1625  %
  3.1626 -\isamarkupsubsection{Define the Field Descriptions for the specification%
  3.1627 +\isamarkupsubsection{Define the Field Descriptions for the Specification\label{sec:deffdes}%
  3.1628  }
  3.1629  \isamarkuptrue%
  3.1630 +%
  3.1631 +\begin{isamarkuptext}%
  3.1632 +\noindent We define the fields \em filterExpression \normalfont and
  3.1633 +      \em stepResponse \normalfont both as quations, they represent the in- and
  3.1634 +      output of the program.%
  3.1635 +\end{isamarkuptext}%
  3.1636 +\isamarkuptrue%
  3.1637  \isacommand{consts}\isamarkupfalse%
  3.1638  \isanewline
  3.1639  \ \ filterExpression\ \ {\isaliteral{3A}{\isacharcolon}}{\isaliteral{3A}{\isacharcolon}}\ {\isaliteral{22}{\isachardoublequoteopen}}bool\ {\isaliteral{3D}{\isacharequal}}{\isaliteral{3E}{\isachargreater}}\ una{\isaliteral{22}{\isachardoublequoteclose}}\isanewline
  3.1640 @@ -1336,6 +1660,14 @@
  3.1641  }
  3.1642  \isamarkuptrue%
  3.1643  %
  3.1644 +\begin{isamarkuptext}%
  3.1645 +\noindent The next step is defining the specifications as nodes in the
  3.1646 +      designated part. We have to create the hierachy node by node and start
  3.1647 +      with \em SignalProcessing \normalfont and go on by creating the node
  3.1648 +      \em Z\_Transform\normalfont.%
  3.1649 +\end{isamarkuptext}%
  3.1650 +\isamarkuptrue%
  3.1651 +%
  3.1652  \isadelimML
  3.1653  %
  3.1654  \endisadelimML
  3.1655 @@ -1343,28 +1675,45 @@
  3.1656  \isatagML
  3.1657  \isacommand{ML}\isamarkupfalse%
  3.1658  \ {\isaliteral{7B2A}{\isacharverbatimopen}}\isanewline
  3.1659 -store{\isaliteral{5F}{\isacharunderscore}}pbt\isanewline
  3.1660 -\ {\isaliteral{28}{\isacharparenleft}}prep{\isaliteral{5F}{\isacharunderscore}}pbt\ thy\ {\isaliteral{22}{\isachardoublequote}}pbl{\isaliteral{5F}{\isacharunderscore}}SP{\isaliteral{22}{\isachardoublequote}}\ {\isaliteral{5B}{\isacharbrackleft}}{\isaliteral{5D}{\isacharbrackright}}\ e{\isaliteral{5F}{\isacharunderscore}}pblID\isanewline
  3.1661 -\ {\isaliteral{28}{\isacharparenleft}}{\isaliteral{5B}{\isacharbrackleft}}{\isaliteral{22}{\isachardoublequote}}SignalProcessing{\isaliteral{22}{\isachardoublequote}}{\isaliteral{5D}{\isacharbrackright}}{\isaliteral{2C}{\isacharcomma}}\ {\isaliteral{5B}{\isacharbrackleft}}{\isaliteral{5D}{\isacharbrackright}}{\isaliteral{2C}{\isacharcomma}}\ e{\isaliteral{5F}{\isacharunderscore}}rls{\isaliteral{2C}{\isacharcomma}}\ NONE{\isaliteral{2C}{\isacharcomma}}\ {\isaliteral{5B}{\isacharbrackleft}}{\isaliteral{5D}{\isacharbrackright}}{\isaliteral{29}{\isacharparenright}}{\isaliteral{29}{\isacharparenright}}{\isaliteral{3B}{\isacharsemicolon}}\isanewline
  3.1662 -store{\isaliteral{5F}{\isacharunderscore}}pbt\isanewline
  3.1663 -\ {\isaliteral{28}{\isacharparenleft}}prep{\isaliteral{5F}{\isacharunderscore}}pbt\ thy\ {\isaliteral{22}{\isachardoublequote}}pbl{\isaliteral{5F}{\isacharunderscore}}SP{\isaliteral{5F}{\isacharunderscore}}Ztrans{\isaliteral{22}{\isachardoublequote}}\ {\isaliteral{5B}{\isacharbrackleft}}{\isaliteral{5D}{\isacharbrackright}}\ e{\isaliteral{5F}{\isacharunderscore}}pblID\isanewline
  3.1664 -\ {\isaliteral{28}{\isacharparenleft}}{\isaliteral{5B}{\isacharbrackleft}}{\isaliteral{22}{\isachardoublequote}}Z{\isaliteral{5F}{\isacharunderscore}}Transform{\isaliteral{22}{\isachardoublequote}}{\isaliteral{2C}{\isacharcomma}}{\isaliteral{22}{\isachardoublequote}}SignalProcessing{\isaliteral{22}{\isachardoublequote}}{\isaliteral{5D}{\isacharbrackright}}{\isaliteral{2C}{\isacharcomma}}\ {\isaliteral{5B}{\isacharbrackleft}}{\isaliteral{5D}{\isacharbrackright}}{\isaliteral{2C}{\isacharcomma}}\ e{\isaliteral{5F}{\isacharunderscore}}rls{\isaliteral{2C}{\isacharcomma}}\ NONE{\isaliteral{2C}{\isacharcomma}}\ {\isaliteral{5B}{\isacharbrackleft}}{\isaliteral{5D}{\isacharbrackright}}{\isaliteral{29}{\isacharparenright}}{\isaliteral{29}{\isacharparenright}}{\isaliteral{3B}{\isacharsemicolon}}\isanewline
  3.1665 -{\isaliteral{2A7D}{\isacharverbatimclose}}\isanewline
  3.1666 -\isacommand{ML}\isamarkupfalse%
  3.1667 -\ {\isaliteral{7B2A}{\isacharverbatimopen}}thy{\isaliteral{2A7D}{\isacharverbatimclose}}\isanewline
  3.1668 +\ \ store{\isaliteral{5F}{\isacharunderscore}}pbt\isanewline
  3.1669 +\ \ \ {\isaliteral{28}{\isacharparenleft}}prep{\isaliteral{5F}{\isacharunderscore}}pbt\ thy\ {\isaliteral{22}{\isachardoublequote}}pbl{\isaliteral{5F}{\isacharunderscore}}SP{\isaliteral{22}{\isachardoublequote}}\ {\isaliteral{5B}{\isacharbrackleft}}{\isaliteral{5D}{\isacharbrackright}}\ e{\isaliteral{5F}{\isacharunderscore}}pblID\isanewline
  3.1670 +\ \ \ {\isaliteral{28}{\isacharparenleft}}{\isaliteral{5B}{\isacharbrackleft}}{\isaliteral{22}{\isachardoublequote}}SignalProcessing{\isaliteral{22}{\isachardoublequote}}{\isaliteral{5D}{\isacharbrackright}}{\isaliteral{2C}{\isacharcomma}}\ {\isaliteral{5B}{\isacharbrackleft}}{\isaliteral{5D}{\isacharbrackright}}{\isaliteral{2C}{\isacharcomma}}\ e{\isaliteral{5F}{\isacharunderscore}}rls{\isaliteral{2C}{\isacharcomma}}\ NONE{\isaliteral{2C}{\isacharcomma}}\ {\isaliteral{5B}{\isacharbrackleft}}{\isaliteral{5D}{\isacharbrackright}}{\isaliteral{29}{\isacharparenright}}{\isaliteral{29}{\isacharparenright}}{\isaliteral{3B}{\isacharsemicolon}}\isanewline
  3.1671 +\ \ store{\isaliteral{5F}{\isacharunderscore}}pbt\isanewline
  3.1672 +\ \ \ {\isaliteral{28}{\isacharparenleft}}prep{\isaliteral{5F}{\isacharunderscore}}pbt\ thy\ {\isaliteral{22}{\isachardoublequote}}pbl{\isaliteral{5F}{\isacharunderscore}}SP{\isaliteral{5F}{\isacharunderscore}}Ztrans{\isaliteral{22}{\isachardoublequote}}\ {\isaliteral{5B}{\isacharbrackleft}}{\isaliteral{5D}{\isacharbrackright}}\ e{\isaliteral{5F}{\isacharunderscore}}pblID\isanewline
  3.1673 +\ \ \ {\isaliteral{28}{\isacharparenleft}}{\isaliteral{5B}{\isacharbrackleft}}{\isaliteral{22}{\isachardoublequote}}Z{\isaliteral{5F}{\isacharunderscore}}Transform{\isaliteral{22}{\isachardoublequote}}{\isaliteral{2C}{\isacharcomma}}{\isaliteral{22}{\isachardoublequote}}SignalProcessing{\isaliteral{22}{\isachardoublequote}}{\isaliteral{5D}{\isacharbrackright}}{\isaliteral{2C}{\isacharcomma}}\ {\isaliteral{5B}{\isacharbrackleft}}{\isaliteral{5D}{\isacharbrackright}}{\isaliteral{2C}{\isacharcomma}}\ e{\isaliteral{5F}{\isacharunderscore}}rls{\isaliteral{2C}{\isacharcomma}}\ NONE{\isaliteral{2C}{\isacharcomma}}\ {\isaliteral{5B}{\isacharbrackleft}}{\isaliteral{5D}{\isacharbrackright}}{\isaliteral{29}{\isacharparenright}}{\isaliteral{29}{\isacharparenright}}{\isaliteral{3B}{\isacharsemicolon}}\isanewline
  3.1674 +{\isaliteral{2A7D}{\isacharverbatimclose}}%
  3.1675 +\endisatagML
  3.1676 +{\isafoldML}%
  3.1677 +%
  3.1678 +\isadelimML
  3.1679 +%
  3.1680 +\endisadelimML
  3.1681 +%
  3.1682 +\begin{isamarkuptext}%
  3.1683 +\noindent For the suddenly created node we have to define the input
  3.1684 +       and output parameters. We already prepaired their definition in
  3.1685 +       section~\ref{sec:deffdes}.%
  3.1686 +\end{isamarkuptext}%
  3.1687 +\isamarkuptrue%
  3.1688 +%
  3.1689 +\isadelimML
  3.1690 +%
  3.1691 +\endisadelimML
  3.1692 +%
  3.1693 +\isatagML
  3.1694  \isacommand{ML}\isamarkupfalse%
  3.1695  \ {\isaliteral{7B2A}{\isacharverbatimopen}}\isanewline
  3.1696 -store{\isaliteral{5F}{\isacharunderscore}}pbt\isanewline
  3.1697 -\ {\isaliteral{28}{\isacharparenleft}}prep{\isaliteral{5F}{\isacharunderscore}}pbt\ thy\ {\isaliteral{22}{\isachardoublequote}}pbl{\isaliteral{5F}{\isacharunderscore}}SP{\isaliteral{5F}{\isacharunderscore}}Ztrans{\isaliteral{5F}{\isacharunderscore}}inv{\isaliteral{22}{\isachardoublequote}}\ {\isaliteral{5B}{\isacharbrackleft}}{\isaliteral{5D}{\isacharbrackright}}\ e{\isaliteral{5F}{\isacharunderscore}}pblID\isanewline
  3.1698 -\ {\isaliteral{28}{\isacharparenleft}}{\isaliteral{5B}{\isacharbrackleft}}{\isaliteral{22}{\isachardoublequote}}inverse{\isaliteral{22}{\isachardoublequote}}{\isaliteral{2C}{\isacharcomma}}\ {\isaliteral{22}{\isachardoublequote}}Z{\isaliteral{5F}{\isacharunderscore}}Transform{\isaliteral{22}{\isachardoublequote}}{\isaliteral{2C}{\isacharcomma}}\ {\isaliteral{22}{\isachardoublequote}}SignalProcessing{\isaliteral{22}{\isachardoublequote}}{\isaliteral{5D}{\isacharbrackright}}{\isaliteral{2C}{\isacharcomma}}\isanewline
  3.1699 -\ \ {\isaliteral{5B}{\isacharbrackleft}}{\isaliteral{28}{\isacharparenleft}}{\isaliteral{22}{\isachardoublequote}}{\isaliteral{23}{\isacharhash}}Given{\isaliteral{22}{\isachardoublequote}}\ {\isaliteral{2C}{\isacharcomma}}{\isaliteral{5B}{\isacharbrackleft}}{\isaliteral{22}{\isachardoublequote}}filterExpression\ X{\isaliteral{5F}{\isacharunderscore}}eq{\isaliteral{22}{\isachardoublequote}}{\isaliteral{5D}{\isacharbrackright}}{\isaliteral{29}{\isacharparenright}}{\isaliteral{2C}{\isacharcomma}}\isanewline
  3.1700 -\ \ \ {\isaliteral{28}{\isacharparenleft}}{\isaliteral{22}{\isachardoublequote}}{\isaliteral{23}{\isacharhash}}Find{\isaliteral{22}{\isachardoublequote}}\ \ {\isaliteral{2C}{\isacharcomma}}{\isaliteral{5B}{\isacharbrackleft}}{\isaliteral{22}{\isachardoublequote}}stepResponse\ n{\isaliteral{5F}{\isacharunderscore}}eq{\isaliteral{22}{\isachardoublequote}}{\isaliteral{5D}{\isacharbrackright}}{\isaliteral{29}{\isacharparenright}}\isanewline
  3.1701 -\ \ {\isaliteral{5D}{\isacharbrackright}}{\isaliteral{2C}{\isacharcomma}}\isanewline
  3.1702 -\ \ append{\isaliteral{5F}{\isacharunderscore}}rls\ {\isaliteral{22}{\isachardoublequote}}e{\isaliteral{5F}{\isacharunderscore}}rls{\isaliteral{22}{\isachardoublequote}}\ e{\isaliteral{5F}{\isacharunderscore}}rls\ {\isaliteral{5B}{\isacharbrackleft}}{\isaliteral{28}{\isacharparenleft}}{\isaliteral{2A}{\isacharasterisk}}for\ preds\ in\ where{\isaliteral{5F}{\isacharunderscore}}{\isaliteral{2A}{\isacharasterisk}}{\isaliteral{29}{\isacharparenright}}{\isaliteral{5D}{\isacharbrackright}}{\isaliteral{2C}{\isacharcomma}}\ NONE{\isaliteral{2C}{\isacharcomma}}\ \isanewline
  3.1703 -\ \ {\isaliteral{5B}{\isacharbrackleft}}{\isaliteral{5B}{\isacharbrackleft}}{\isaliteral{22}{\isachardoublequote}}SignalProcessing{\isaliteral{22}{\isachardoublequote}}{\isaliteral{2C}{\isacharcomma}}{\isaliteral{22}{\isachardoublequote}}Z{\isaliteral{5F}{\isacharunderscore}}Transform{\isaliteral{22}{\isachardoublequote}}{\isaliteral{2C}{\isacharcomma}}{\isaliteral{22}{\isachardoublequote}}inverse{\isaliteral{22}{\isachardoublequote}}{\isaliteral{5D}{\isacharbrackright}}{\isaliteral{5D}{\isacharbrackright}}{\isaliteral{29}{\isacharparenright}}{\isaliteral{29}{\isacharparenright}}{\isaliteral{3B}{\isacharsemicolon}}\isanewline
  3.1704 +\ \ store{\isaliteral{5F}{\isacharunderscore}}pbt\isanewline
  3.1705 +\ \ \ {\isaliteral{28}{\isacharparenleft}}prep{\isaliteral{5F}{\isacharunderscore}}pbt\ thy\ {\isaliteral{22}{\isachardoublequote}}pbl{\isaliteral{5F}{\isacharunderscore}}SP{\isaliteral{5F}{\isacharunderscore}}Ztrans{\isaliteral{5F}{\isacharunderscore}}inv{\isaliteral{22}{\isachardoublequote}}\ {\isaliteral{5B}{\isacharbrackleft}}{\isaliteral{5D}{\isacharbrackright}}\ e{\isaliteral{5F}{\isacharunderscore}}pblID\isanewline
  3.1706 +\ \ \ {\isaliteral{28}{\isacharparenleft}}{\isaliteral{5B}{\isacharbrackleft}}{\isaliteral{22}{\isachardoublequote}}inverse{\isaliteral{22}{\isachardoublequote}}{\isaliteral{2C}{\isacharcomma}}\ {\isaliteral{22}{\isachardoublequote}}Z{\isaliteral{5F}{\isacharunderscore}}Transform{\isaliteral{22}{\isachardoublequote}}{\isaliteral{2C}{\isacharcomma}}\ {\isaliteral{22}{\isachardoublequote}}SignalProcessing{\isaliteral{22}{\isachardoublequote}}{\isaliteral{5D}{\isacharbrackright}}{\isaliteral{2C}{\isacharcomma}}\isanewline
  3.1707 +\ \ \ \ {\isaliteral{5B}{\isacharbrackleft}}{\isaliteral{28}{\isacharparenleft}}{\isaliteral{22}{\isachardoublequote}}{\isaliteral{23}{\isacharhash}}Given{\isaliteral{22}{\isachardoublequote}}\ {\isaliteral{2C}{\isacharcomma}}{\isaliteral{5B}{\isacharbrackleft}}{\isaliteral{22}{\isachardoublequote}}filterExpression\ X{\isaliteral{5F}{\isacharunderscore}}eq{\isaliteral{22}{\isachardoublequote}}{\isaliteral{5D}{\isacharbrackright}}{\isaliteral{29}{\isacharparenright}}{\isaliteral{2C}{\isacharcomma}}\isanewline
  3.1708 +\ \ \ \ \ {\isaliteral{28}{\isacharparenleft}}{\isaliteral{22}{\isachardoublequote}}{\isaliteral{23}{\isacharhash}}Find{\isaliteral{22}{\isachardoublequote}}\ \ {\isaliteral{2C}{\isacharcomma}}{\isaliteral{5B}{\isacharbrackleft}}{\isaliteral{22}{\isachardoublequote}}stepResponse\ n{\isaliteral{5F}{\isacharunderscore}}eq{\isaliteral{22}{\isachardoublequote}}{\isaliteral{5D}{\isacharbrackright}}{\isaliteral{29}{\isacharparenright}}\isanewline
  3.1709 +\ \ \ \ {\isaliteral{5D}{\isacharbrackright}}{\isaliteral{2C}{\isacharcomma}}\isanewline
  3.1710 +\ \ \ \ append{\isaliteral{5F}{\isacharunderscore}}rls\ {\isaliteral{22}{\isachardoublequote}}e{\isaliteral{5F}{\isacharunderscore}}rls{\isaliteral{22}{\isachardoublequote}}\ e{\isaliteral{5F}{\isacharunderscore}}rls\ {\isaliteral{5B}{\isacharbrackleft}}{\isaliteral{28}{\isacharparenleft}}{\isaliteral{2A}{\isacharasterisk}}for\ preds\ in\ where{\isaliteral{5F}{\isacharunderscore}}{\isaliteral{2A}{\isacharasterisk}}{\isaliteral{29}{\isacharparenright}}{\isaliteral{5D}{\isacharbrackright}}{\isaliteral{2C}{\isacharcomma}}\ NONE{\isaliteral{2C}{\isacharcomma}}\ \isanewline
  3.1711 +\ \ \ \ {\isaliteral{5B}{\isacharbrackleft}}{\isaliteral{5B}{\isacharbrackleft}}{\isaliteral{22}{\isachardoublequote}}SignalProcessing{\isaliteral{22}{\isachardoublequote}}{\isaliteral{2C}{\isacharcomma}}{\isaliteral{22}{\isachardoublequote}}Z{\isaliteral{5F}{\isacharunderscore}}Transform{\isaliteral{22}{\isachardoublequote}}{\isaliteral{2C}{\isacharcomma}}{\isaliteral{22}{\isachardoublequote}}inverse{\isaliteral{22}{\isachardoublequote}}{\isaliteral{5D}{\isacharbrackright}}{\isaliteral{5D}{\isacharbrackright}}{\isaliteral{29}{\isacharparenright}}{\isaliteral{29}{\isacharparenright}}{\isaliteral{3B}{\isacharsemicolon}}\isanewline
  3.1712  \isanewline
  3.1713 -show{\isaliteral{5F}{\isacharunderscore}}ptyps{\isaliteral{28}{\isacharparenleft}}{\isaliteral{29}{\isacharparenright}}{\isaliteral{3B}{\isacharsemicolon}}\isanewline
  3.1714 -get{\isaliteral{5F}{\isacharunderscore}}pbt\ {\isaliteral{5B}{\isacharbrackleft}}{\isaliteral{22}{\isachardoublequote}}inverse{\isaliteral{22}{\isachardoublequote}}{\isaliteral{2C}{\isacharcomma}}{\isaliteral{22}{\isachardoublequote}}Z{\isaliteral{5F}{\isacharunderscore}}Transform{\isaliteral{22}{\isachardoublequote}}{\isaliteral{2C}{\isacharcomma}}{\isaliteral{22}{\isachardoublequote}}SignalProcessing{\isaliteral{22}{\isachardoublequote}}{\isaliteral{5D}{\isacharbrackright}}{\isaliteral{3B}{\isacharsemicolon}}\isanewline
  3.1715 +\ \ show{\isaliteral{5F}{\isacharunderscore}}ptyps{\isaliteral{28}{\isacharparenleft}}{\isaliteral{29}{\isacharparenright}}{\isaliteral{3B}{\isacharsemicolon}}\isanewline
  3.1716 +\ \ get{\isaliteral{5F}{\isacharunderscore}}pbt\ {\isaliteral{5B}{\isacharbrackleft}}{\isaliteral{22}{\isachardoublequote}}inverse{\isaliteral{22}{\isachardoublequote}}{\isaliteral{2C}{\isacharcomma}}{\isaliteral{22}{\isachardoublequote}}Z{\isaliteral{5F}{\isacharunderscore}}Transform{\isaliteral{22}{\isachardoublequote}}{\isaliteral{2C}{\isacharcomma}}{\isaliteral{22}{\isachardoublequote}}SignalProcessing{\isaliteral{22}{\isachardoublequote}}{\isaliteral{5D}{\isacharbrackright}}{\isaliteral{3B}{\isacharsemicolon}}\isanewline
  3.1717  {\isaliteral{2A7D}{\isacharverbatimclose}}%
  3.1718  \endisatagML
  3.1719  {\isafoldML}%
  3.1720 @@ -1376,6 +1725,12 @@
  3.1721  \isamarkupsubsection{Define Name and Signature for the Method%
  3.1722  }
  3.1723  \isamarkuptrue%
  3.1724 +%
  3.1725 +\begin{isamarkuptext}%
  3.1726 +\noindent As a next step we store the definition of our new method as a
  3.1727 +      constant for the interpreter.%
  3.1728 +\end{isamarkuptext}%
  3.1729 +\isamarkuptrue%
  3.1730  \isacommand{consts}\isamarkupfalse%
  3.1731  \isanewline
  3.1732  \ \ InverseZTransform\ {\isaliteral{3A}{\isacharcolon}}{\isaliteral{3A}{\isacharcolon}}\ {\isaliteral{22}{\isachardoublequoteopen}}{\isaliteral{5B}{\isacharbrackleft}}bool{\isaliteral{2C}{\isacharcomma}}\ bool{\isaliteral{5D}{\isacharbrackright}}\ {\isaliteral{3D}{\isacharequal}}{\isaliteral{3E}{\isachargreater}}\ bool{\isaliteral{22}{\isachardoublequoteclose}}\isanewline
  3.1733 @@ -1384,6 +1739,14 @@
  3.1734  }
  3.1735  \isamarkuptrue%
  3.1736  %
  3.1737 +\begin{isamarkuptext}%
  3.1738 +\noindent Again we have to generate the nodes step by step, first the
  3.1739 +      parent node and then the originally \em Z\_Transformation 
  3.1740 +      \normalfont node. We have to define both nodes first with an empty script
  3.1741 +      as content.%
  3.1742 +\end{isamarkuptext}%
  3.1743 +\isamarkuptrue%
  3.1744 +%
  3.1745  \isadelimML
  3.1746  %
  3.1747  \endisadelimML
  3.1748 @@ -1391,53 +1754,127 @@
  3.1749  \isatagML
  3.1750  \isacommand{ML}\isamarkupfalse%
  3.1751  \ {\isaliteral{7B2A}{\isacharverbatimopen}}\isanewline
  3.1752 -store{\isaliteral{5F}{\isacharunderscore}}met\isanewline
  3.1753 -\ {\isaliteral{28}{\isacharparenleft}}prep{\isaliteral{5F}{\isacharunderscore}}met\ thy\ {\isaliteral{22}{\isachardoublequote}}met{\isaliteral{5F}{\isacharunderscore}}SP{\isaliteral{22}{\isachardoublequote}}\ {\isaliteral{5B}{\isacharbrackleft}}{\isaliteral{5D}{\isacharbrackright}}\ e{\isaliteral{5F}{\isacharunderscore}}metID\isanewline
  3.1754 -\ {\isaliteral{28}{\isacharparenleft}}{\isaliteral{5B}{\isacharbrackleft}}{\isaliteral{22}{\isachardoublequote}}SignalProcessing{\isaliteral{22}{\isachardoublequote}}{\isaliteral{5D}{\isacharbrackright}}{\isaliteral{2C}{\isacharcomma}}\ {\isaliteral{5B}{\isacharbrackleft}}{\isaliteral{5D}{\isacharbrackright}}{\isaliteral{2C}{\isacharcomma}}\isanewline
  3.1755 -\ \ \ {\isaliteral{7B}{\isacharbraceleft}}rew{\isaliteral{5F}{\isacharunderscore}}ord{\isaliteral{27}{\isacharprime}}{\isaliteral{3D}{\isacharequal}}{\isaliteral{22}{\isachardoublequote}}tless{\isaliteral{5F}{\isacharunderscore}}true{\isaliteral{22}{\isachardoublequote}}{\isaliteral{2C}{\isacharcomma}}\ rls{\isaliteral{27}{\isacharprime}}{\isaliteral{3D}{\isacharequal}}\ e{\isaliteral{5F}{\isacharunderscore}}rls{\isaliteral{2C}{\isacharcomma}}\ calc\ {\isaliteral{3D}{\isacharequal}}\ {\isaliteral{5B}{\isacharbrackleft}}{\isaliteral{5D}{\isacharbrackright}}{\isaliteral{2C}{\isacharcomma}}\ srls\ {\isaliteral{3D}{\isacharequal}}\ e{\isaliteral{5F}{\isacharunderscore}}rls{\isaliteral{2C}{\isacharcomma}}\ prls\ {\isaliteral{3D}{\isacharequal}}\ e{\isaliteral{5F}{\isacharunderscore}}rls{\isaliteral{2C}{\isacharcomma}}\isanewline
  3.1756 -\ \ \ \ crls\ {\isaliteral{3D}{\isacharequal}}\ e{\isaliteral{5F}{\isacharunderscore}}rls{\isaliteral{2C}{\isacharcomma}}\ nrls\ {\isaliteral{3D}{\isacharequal}}\ e{\isaliteral{5F}{\isacharunderscore}}rls{\isaliteral{7D}{\isacharbraceright}}{\isaliteral{2C}{\isacharcomma}}\ {\isaliteral{22}{\isachardoublequote}}empty{\isaliteral{5F}{\isacharunderscore}}script{\isaliteral{22}{\isachardoublequote}}{\isaliteral{29}{\isacharparenright}}{\isaliteral{29}{\isacharparenright}}{\isaliteral{3B}{\isacharsemicolon}}\isanewline
  3.1757 -store{\isaliteral{5F}{\isacharunderscore}}met\isanewline
  3.1758 -\ {\isaliteral{28}{\isacharparenleft}}prep{\isaliteral{5F}{\isacharunderscore}}met\ thy\ {\isaliteral{22}{\isachardoublequote}}met{\isaliteral{5F}{\isacharunderscore}}SP{\isaliteral{5F}{\isacharunderscore}}Ztrans{\isaliteral{22}{\isachardoublequote}}\ {\isaliteral{5B}{\isacharbrackleft}}{\isaliteral{5D}{\isacharbrackright}}\ e{\isaliteral{5F}{\isacharunderscore}}metID\isanewline
  3.1759 -\ {\isaliteral{28}{\isacharparenleft}}{\isaliteral{5B}{\isacharbrackleft}}{\isaliteral{22}{\isachardoublequote}}SignalProcessing{\isaliteral{22}{\isachardoublequote}}{\isaliteral{2C}{\isacharcomma}}\ {\isaliteral{22}{\isachardoublequote}}Z{\isaliteral{5F}{\isacharunderscore}}Transform{\isaliteral{22}{\isachardoublequote}}{\isaliteral{5D}{\isacharbrackright}}{\isaliteral{2C}{\isacharcomma}}\ {\isaliteral{5B}{\isacharbrackleft}}{\isaliteral{5D}{\isacharbrackright}}{\isaliteral{2C}{\isacharcomma}}\isanewline
  3.1760 -\ \ \ {\isaliteral{7B}{\isacharbraceleft}}rew{\isaliteral{5F}{\isacharunderscore}}ord{\isaliteral{27}{\isacharprime}}{\isaliteral{3D}{\isacharequal}}{\isaliteral{22}{\isachardoublequote}}tless{\isaliteral{5F}{\isacharunderscore}}true{\isaliteral{22}{\isachardoublequote}}{\isaliteral{2C}{\isacharcomma}}\ rls{\isaliteral{27}{\isacharprime}}{\isaliteral{3D}{\isacharequal}}\ e{\isaliteral{5F}{\isacharunderscore}}rls{\isaliteral{2C}{\isacharcomma}}\ calc\ {\isaliteral{3D}{\isacharequal}}\ {\isaliteral{5B}{\isacharbrackleft}}{\isaliteral{5D}{\isacharbrackright}}{\isaliteral{2C}{\isacharcomma}}\ srls\ {\isaliteral{3D}{\isacharequal}}\ e{\isaliteral{5F}{\isacharunderscore}}rls{\isaliteral{2C}{\isacharcomma}}\ prls\ {\isaliteral{3D}{\isacharequal}}\ e{\isaliteral{5F}{\isacharunderscore}}rls{\isaliteral{2C}{\isacharcomma}}\isanewline
  3.1761 -\ \ \ \ crls\ {\isaliteral{3D}{\isacharequal}}\ e{\isaliteral{5F}{\isacharunderscore}}rls{\isaliteral{2C}{\isacharcomma}}\ nrls\ {\isaliteral{3D}{\isacharequal}}\ e{\isaliteral{5F}{\isacharunderscore}}rls{\isaliteral{7D}{\isacharbraceright}}{\isaliteral{2C}{\isacharcomma}}\ {\isaliteral{22}{\isachardoublequote}}empty{\isaliteral{5F}{\isacharunderscore}}script{\isaliteral{22}{\isachardoublequote}}{\isaliteral{29}{\isacharparenright}}{\isaliteral{29}{\isacharparenright}}{\isaliteral{3B}{\isacharsemicolon}}\isanewline
  3.1762 -{\isaliteral{2A7D}{\isacharverbatimclose}}\isanewline
  3.1763 +\ \ store{\isaliteral{5F}{\isacharunderscore}}met\isanewline
  3.1764 +\ \ \ {\isaliteral{28}{\isacharparenleft}}prep{\isaliteral{5F}{\isacharunderscore}}met\ thy\ {\isaliteral{22}{\isachardoublequote}}met{\isaliteral{5F}{\isacharunderscore}}SP{\isaliteral{22}{\isachardoublequote}}\ {\isaliteral{5B}{\isacharbrackleft}}{\isaliteral{5D}{\isacharbrackright}}\ e{\isaliteral{5F}{\isacharunderscore}}metID\isanewline
  3.1765 +\ \ \ {\isaliteral{28}{\isacharparenleft}}{\isaliteral{5B}{\isacharbrackleft}}{\isaliteral{22}{\isachardoublequote}}SignalProcessing{\isaliteral{22}{\isachardoublequote}}{\isaliteral{5D}{\isacharbrackright}}{\isaliteral{2C}{\isacharcomma}}\ {\isaliteral{5B}{\isacharbrackleft}}{\isaliteral{5D}{\isacharbrackright}}{\isaliteral{2C}{\isacharcomma}}\isanewline
  3.1766 +\ \ \ \ \ {\isaliteral{7B}{\isacharbraceleft}}rew{\isaliteral{5F}{\isacharunderscore}}ord{\isaliteral{27}{\isacharprime}}{\isaliteral{3D}{\isacharequal}}{\isaliteral{22}{\isachardoublequote}}tless{\isaliteral{5F}{\isacharunderscore}}true{\isaliteral{22}{\isachardoublequote}}{\isaliteral{2C}{\isacharcomma}}\ rls{\isaliteral{27}{\isacharprime}}{\isaliteral{3D}{\isacharequal}}\ e{\isaliteral{5F}{\isacharunderscore}}rls{\isaliteral{2C}{\isacharcomma}}\ calc\ {\isaliteral{3D}{\isacharequal}}\ {\isaliteral{5B}{\isacharbrackleft}}{\isaliteral{5D}{\isacharbrackright}}{\isaliteral{2C}{\isacharcomma}}\ \isanewline
  3.1767 +\ \ \ \ \ \ srls\ {\isaliteral{3D}{\isacharequal}}\ e{\isaliteral{5F}{\isacharunderscore}}rls{\isaliteral{2C}{\isacharcomma}}\ prls\ {\isaliteral{3D}{\isacharequal}}\ e{\isaliteral{5F}{\isacharunderscore}}rls{\isaliteral{2C}{\isacharcomma}}\isanewline
  3.1768 +\ \ \ \ \ \ crls\ {\isaliteral{3D}{\isacharequal}}\ e{\isaliteral{5F}{\isacharunderscore}}rls{\isaliteral{2C}{\isacharcomma}}\ nrls\ {\isaliteral{3D}{\isacharequal}}\ e{\isaliteral{5F}{\isacharunderscore}}rls{\isaliteral{7D}{\isacharbraceright}}{\isaliteral{2C}{\isacharcomma}}\ {\isaliteral{22}{\isachardoublequote}}empty{\isaliteral{5F}{\isacharunderscore}}script{\isaliteral{22}{\isachardoublequote}}{\isaliteral{29}{\isacharparenright}}{\isaliteral{29}{\isacharparenright}}{\isaliteral{3B}{\isacharsemicolon}}\isanewline
  3.1769 +\ \ store{\isaliteral{5F}{\isacharunderscore}}met\isanewline
  3.1770 +\ \ \ {\isaliteral{28}{\isacharparenleft}}prep{\isaliteral{5F}{\isacharunderscore}}met\ thy\ {\isaliteral{22}{\isachardoublequote}}met{\isaliteral{5F}{\isacharunderscore}}SP{\isaliteral{5F}{\isacharunderscore}}Ztrans{\isaliteral{22}{\isachardoublequote}}\ {\isaliteral{5B}{\isacharbrackleft}}{\isaliteral{5D}{\isacharbrackright}}\ e{\isaliteral{5F}{\isacharunderscore}}metID\isanewline
  3.1771 +\ \ \ {\isaliteral{28}{\isacharparenleft}}{\isaliteral{5B}{\isacharbrackleft}}{\isaliteral{22}{\isachardoublequote}}SignalProcessing{\isaliteral{22}{\isachardoublequote}}{\isaliteral{2C}{\isacharcomma}}\ {\isaliteral{22}{\isachardoublequote}}Z{\isaliteral{5F}{\isacharunderscore}}Transform{\isaliteral{22}{\isachardoublequote}}{\isaliteral{5D}{\isacharbrackright}}{\isaliteral{2C}{\isacharcomma}}\ {\isaliteral{5B}{\isacharbrackleft}}{\isaliteral{5D}{\isacharbrackright}}{\isaliteral{2C}{\isacharcomma}}\isanewline
  3.1772 +\ \ \ \ \ {\isaliteral{7B}{\isacharbraceleft}}rew{\isaliteral{5F}{\isacharunderscore}}ord{\isaliteral{27}{\isacharprime}}{\isaliteral{3D}{\isacharequal}}{\isaliteral{22}{\isachardoublequote}}tless{\isaliteral{5F}{\isacharunderscore}}true{\isaliteral{22}{\isachardoublequote}}{\isaliteral{2C}{\isacharcomma}}\ rls{\isaliteral{27}{\isacharprime}}{\isaliteral{3D}{\isacharequal}}\ e{\isaliteral{5F}{\isacharunderscore}}rls{\isaliteral{2C}{\isacharcomma}}\ calc\ {\isaliteral{3D}{\isacharequal}}\ {\isaliteral{5B}{\isacharbrackleft}}{\isaliteral{5D}{\isacharbrackright}}{\isaliteral{2C}{\isacharcomma}}\ \isanewline
  3.1773 +\ \ \ \ \ \ srls\ {\isaliteral{3D}{\isacharequal}}\ e{\isaliteral{5F}{\isacharunderscore}}rls{\isaliteral{2C}{\isacharcomma}}\ prls\ {\isaliteral{3D}{\isacharequal}}\ e{\isaliteral{5F}{\isacharunderscore}}rls{\isaliteral{2C}{\isacharcomma}}\isanewline
  3.1774 +\ \ \ \ \ \ crls\ {\isaliteral{3D}{\isacharequal}}\ e{\isaliteral{5F}{\isacharunderscore}}rls{\isaliteral{2C}{\isacharcomma}}\ nrls\ {\isaliteral{3D}{\isacharequal}}\ e{\isaliteral{5F}{\isacharunderscore}}rls{\isaliteral{7D}{\isacharbraceright}}{\isaliteral{2C}{\isacharcomma}}\ {\isaliteral{22}{\isachardoublequote}}empty{\isaliteral{5F}{\isacharunderscore}}script{\isaliteral{22}{\isachardoublequote}}{\isaliteral{29}{\isacharparenright}}{\isaliteral{29}{\isacharparenright}}{\isaliteral{3B}{\isacharsemicolon}}\isanewline
  3.1775 +{\isaliteral{2A7D}{\isacharverbatimclose}}%
  3.1776 +\endisatagML
  3.1777 +{\isafoldML}%
  3.1778 +%
  3.1779 +\isadelimML
  3.1780 +%
  3.1781 +\endisadelimML
  3.1782 +%
  3.1783 +\begin{isamarkuptext}%
  3.1784 +\noindent After we generated both nodes, we can fill the containing
  3.1785 +      script we want to implement later. First we define the specifications
  3.1786 +      of the script in e.g. the in- and output.%
  3.1787 +\end{isamarkuptext}%
  3.1788 +\isamarkuptrue%
  3.1789 +%
  3.1790 +\isadelimML
  3.1791 +%
  3.1792 +\endisadelimML
  3.1793 +%
  3.1794 +\isatagML
  3.1795  \isacommand{ML}\isamarkupfalse%
  3.1796  \ {\isaliteral{7B2A}{\isacharverbatimopen}}\isanewline
  3.1797 -store{\isaliteral{5F}{\isacharunderscore}}met\isanewline
  3.1798 -\ {\isaliteral{28}{\isacharparenleft}}prep{\isaliteral{5F}{\isacharunderscore}}met\ thy\ {\isaliteral{22}{\isachardoublequote}}met{\isaliteral{5F}{\isacharunderscore}}SP{\isaliteral{5F}{\isacharunderscore}}Ztrans{\isaliteral{5F}{\isacharunderscore}}inv{\isaliteral{22}{\isachardoublequote}}\ {\isaliteral{5B}{\isacharbrackleft}}{\isaliteral{5D}{\isacharbrackright}}\ e{\isaliteral{5F}{\isacharunderscore}}metID\isanewline
  3.1799 -\ {\isaliteral{28}{\isacharparenleft}}{\isaliteral{5B}{\isacharbrackleft}}{\isaliteral{22}{\isachardoublequote}}SignalProcessing{\isaliteral{22}{\isachardoublequote}}{\isaliteral{2C}{\isacharcomma}}\ {\isaliteral{22}{\isachardoublequote}}Z{\isaliteral{5F}{\isacharunderscore}}Transform{\isaliteral{22}{\isachardoublequote}}{\isaliteral{2C}{\isacharcomma}}\ {\isaliteral{22}{\isachardoublequote}}inverse{\isaliteral{22}{\isachardoublequote}}{\isaliteral{5D}{\isacharbrackright}}{\isaliteral{2C}{\isacharcomma}}\ \isanewline
  3.1800 -\ \ {\isaliteral{5B}{\isacharbrackleft}}{\isaliteral{28}{\isacharparenleft}}{\isaliteral{22}{\isachardoublequote}}{\isaliteral{23}{\isacharhash}}Given{\isaliteral{22}{\isachardoublequote}}\ {\isaliteral{2C}{\isacharcomma}}{\isaliteral{5B}{\isacharbrackleft}}{\isaliteral{22}{\isachardoublequote}}filterExpression\ X{\isaliteral{5F}{\isacharunderscore}}eq{\isaliteral{22}{\isachardoublequote}}{\isaliteral{5D}{\isacharbrackright}}{\isaliteral{29}{\isacharparenright}}{\isaliteral{2C}{\isacharcomma}}\isanewline
  3.1801 -\ \ \ {\isaliteral{28}{\isacharparenleft}}{\isaliteral{22}{\isachardoublequote}}{\isaliteral{23}{\isacharhash}}Find{\isaliteral{22}{\isachardoublequote}}\ \ {\isaliteral{2C}{\isacharcomma}}{\isaliteral{5B}{\isacharbrackleft}}{\isaliteral{22}{\isachardoublequote}}stepResponse\ n{\isaliteral{5F}{\isacharunderscore}}eq{\isaliteral{22}{\isachardoublequote}}{\isaliteral{5D}{\isacharbrackright}}{\isaliteral{29}{\isacharparenright}}\isanewline
  3.1802 -\ \ {\isaliteral{5D}{\isacharbrackright}}{\isaliteral{2C}{\isacharcomma}}\isanewline
  3.1803 -\ \ \ {\isaliteral{7B}{\isacharbraceleft}}rew{\isaliteral{5F}{\isacharunderscore}}ord{\isaliteral{27}{\isacharprime}}{\isaliteral{3D}{\isacharequal}}{\isaliteral{22}{\isachardoublequote}}tless{\isaliteral{5F}{\isacharunderscore}}true{\isaliteral{22}{\isachardoublequote}}{\isaliteral{2C}{\isacharcomma}}\ rls{\isaliteral{27}{\isacharprime}}{\isaliteral{3D}{\isacharequal}}\ e{\isaliteral{5F}{\isacharunderscore}}rls{\isaliteral{2C}{\isacharcomma}}\ calc\ {\isaliteral{3D}{\isacharequal}}\ {\isaliteral{5B}{\isacharbrackleft}}{\isaliteral{5D}{\isacharbrackright}}{\isaliteral{2C}{\isacharcomma}}\ srls\ {\isaliteral{3D}{\isacharequal}}\ e{\isaliteral{5F}{\isacharunderscore}}rls{\isaliteral{2C}{\isacharcomma}}\ prls\ {\isaliteral{3D}{\isacharequal}}\ e{\isaliteral{5F}{\isacharunderscore}}rls{\isaliteral{2C}{\isacharcomma}}\isanewline
  3.1804 -\ \ \ \ crls\ {\isaliteral{3D}{\isacharequal}}\ e{\isaliteral{5F}{\isacharunderscore}}rls{\isaliteral{2C}{\isacharcomma}}\ nrls\ {\isaliteral{3D}{\isacharequal}}\ e{\isaliteral{5F}{\isacharunderscore}}rls{\isaliteral{7D}{\isacharbraceright}}{\isaliteral{2C}{\isacharcomma}}\isanewline
  3.1805 -\ \ {\isaliteral{22}{\isachardoublequote}}empty{\isaliteral{5F}{\isacharunderscore}}script{\isaliteral{22}{\isachardoublequote}}\isanewline
  3.1806 -\ {\isaliteral{29}{\isacharparenright}}{\isaliteral{29}{\isacharparenright}}{\isaliteral{3B}{\isacharsemicolon}}\isanewline
  3.1807 -{\isaliteral{2A7D}{\isacharverbatimclose}}\isanewline
  3.1808 +\ \ store{\isaliteral{5F}{\isacharunderscore}}met\isanewline
  3.1809 +\ \ \ {\isaliteral{28}{\isacharparenleft}}prep{\isaliteral{5F}{\isacharunderscore}}met\ thy\ {\isaliteral{22}{\isachardoublequote}}met{\isaliteral{5F}{\isacharunderscore}}SP{\isaliteral{5F}{\isacharunderscore}}Ztrans{\isaliteral{5F}{\isacharunderscore}}inv{\isaliteral{22}{\isachardoublequote}}\ {\isaliteral{5B}{\isacharbrackleft}}{\isaliteral{5D}{\isacharbrackright}}\ e{\isaliteral{5F}{\isacharunderscore}}metID\isanewline
  3.1810 +\ \ \ {\isaliteral{28}{\isacharparenleft}}{\isaliteral{5B}{\isacharbrackleft}}{\isaliteral{22}{\isachardoublequote}}SignalProcessing{\isaliteral{22}{\isachardoublequote}}{\isaliteral{2C}{\isacharcomma}}\ {\isaliteral{22}{\isachardoublequote}}Z{\isaliteral{5F}{\isacharunderscore}}Transform{\isaliteral{22}{\isachardoublequote}}{\isaliteral{2C}{\isacharcomma}}\ {\isaliteral{22}{\isachardoublequote}}inverse{\isaliteral{22}{\isachardoublequote}}{\isaliteral{5D}{\isacharbrackright}}{\isaliteral{2C}{\isacharcomma}}\ \isanewline
  3.1811 +\ \ \ \ {\isaliteral{5B}{\isacharbrackleft}}{\isaliteral{28}{\isacharparenleft}}{\isaliteral{22}{\isachardoublequote}}{\isaliteral{23}{\isacharhash}}Given{\isaliteral{22}{\isachardoublequote}}\ {\isaliteral{2C}{\isacharcomma}}{\isaliteral{5B}{\isacharbrackleft}}{\isaliteral{22}{\isachardoublequote}}filterExpression\ X{\isaliteral{5F}{\isacharunderscore}}eq{\isaliteral{22}{\isachardoublequote}}{\isaliteral{5D}{\isacharbrackright}}{\isaliteral{29}{\isacharparenright}}{\isaliteral{2C}{\isacharcomma}}\isanewline
  3.1812 +\ \ \ \ \ {\isaliteral{28}{\isacharparenleft}}{\isaliteral{22}{\isachardoublequote}}{\isaliteral{23}{\isacharhash}}Find{\isaliteral{22}{\isachardoublequote}}\ \ {\isaliteral{2C}{\isacharcomma}}{\isaliteral{5B}{\isacharbrackleft}}{\isaliteral{22}{\isachardoublequote}}stepResponse\ n{\isaliteral{5F}{\isacharunderscore}}eq{\isaliteral{22}{\isachardoublequote}}{\isaliteral{5D}{\isacharbrackright}}{\isaliteral{29}{\isacharparenright}}\isanewline
  3.1813 +\ \ \ \ {\isaliteral{5D}{\isacharbrackright}}{\isaliteral{2C}{\isacharcomma}}\isanewline
  3.1814 +\ \ \ \ \ {\isaliteral{7B}{\isacharbraceleft}}rew{\isaliteral{5F}{\isacharunderscore}}ord{\isaliteral{27}{\isacharprime}}{\isaliteral{3D}{\isacharequal}}{\isaliteral{22}{\isachardoublequote}}tless{\isaliteral{5F}{\isacharunderscore}}true{\isaliteral{22}{\isachardoublequote}}{\isaliteral{2C}{\isacharcomma}}\ rls{\isaliteral{27}{\isacharprime}}{\isaliteral{3D}{\isacharequal}}\ e{\isaliteral{5F}{\isacharunderscore}}rls{\isaliteral{2C}{\isacharcomma}}\ calc\ {\isaliteral{3D}{\isacharequal}}\ {\isaliteral{5B}{\isacharbrackleft}}{\isaliteral{5D}{\isacharbrackright}}{\isaliteral{2C}{\isacharcomma}}\ \isanewline
  3.1815 +\ \ \ \ \ \ srls\ {\isaliteral{3D}{\isacharequal}}\ e{\isaliteral{5F}{\isacharunderscore}}rls{\isaliteral{2C}{\isacharcomma}}\ prls\ {\isaliteral{3D}{\isacharequal}}\ e{\isaliteral{5F}{\isacharunderscore}}rls{\isaliteral{2C}{\isacharcomma}}\isanewline
  3.1816 +\ \ \ \ \ \ crls\ {\isaliteral{3D}{\isacharequal}}\ e{\isaliteral{5F}{\isacharunderscore}}rls{\isaliteral{2C}{\isacharcomma}}\ nrls\ {\isaliteral{3D}{\isacharequal}}\ e{\isaliteral{5F}{\isacharunderscore}}rls{\isaliteral{7D}{\isacharbraceright}}{\isaliteral{2C}{\isacharcomma}}\ {\isaliteral{22}{\isachardoublequote}}empty{\isaliteral{5F}{\isacharunderscore}}script{\isaliteral{22}{\isachardoublequote}}{\isaliteral{29}{\isacharparenright}}{\isaliteral{29}{\isacharparenright}}{\isaliteral{3B}{\isacharsemicolon}}\isanewline
  3.1817 +{\isaliteral{2A7D}{\isacharverbatimclose}}%
  3.1818 +\endisatagML
  3.1819 +{\isafoldML}%
  3.1820 +%
  3.1821 +\isadelimML
  3.1822 +%
  3.1823 +\endisadelimML
  3.1824 +%
  3.1825 +\begin{isamarkuptext}%
  3.1826 +\noindent After we stored the definition we can start implementing the
  3.1827 +      script itself. As a first try we define only three rows containing one
  3.1828 +      simple operation.%
  3.1829 +\end{isamarkuptext}%
  3.1830 +\isamarkuptrue%
  3.1831 +%
  3.1832 +\isadelimML
  3.1833 +%
  3.1834 +\endisadelimML
  3.1835 +%
  3.1836 +\isatagML
  3.1837  \isacommand{ML}\isamarkupfalse%
  3.1838  \ {\isaliteral{7B2A}{\isacharverbatimopen}}\isanewline
  3.1839 -store{\isaliteral{5F}{\isacharunderscore}}met\isanewline
  3.1840 -\ {\isaliteral{28}{\isacharparenleft}}prep{\isaliteral{5F}{\isacharunderscore}}met\ thy\ {\isaliteral{22}{\isachardoublequote}}met{\isaliteral{5F}{\isacharunderscore}}SP{\isaliteral{5F}{\isacharunderscore}}Ztrans{\isaliteral{5F}{\isacharunderscore}}inv{\isaliteral{22}{\isachardoublequote}}\ {\isaliteral{5B}{\isacharbrackleft}}{\isaliteral{5D}{\isacharbrackright}}\ e{\isaliteral{5F}{\isacharunderscore}}metID\isanewline
  3.1841 -\ {\isaliteral{28}{\isacharparenleft}}{\isaliteral{5B}{\isacharbrackleft}}{\isaliteral{22}{\isachardoublequote}}SignalProcessing{\isaliteral{22}{\isachardoublequote}}{\isaliteral{2C}{\isacharcomma}}\ {\isaliteral{22}{\isachardoublequote}}Z{\isaliteral{5F}{\isacharunderscore}}Transform{\isaliteral{22}{\isachardoublequote}}{\isaliteral{2C}{\isacharcomma}}\ {\isaliteral{22}{\isachardoublequote}}inverse{\isaliteral{22}{\isachardoublequote}}{\isaliteral{5D}{\isacharbrackright}}{\isaliteral{2C}{\isacharcomma}}\ \isanewline
  3.1842 -\ \ {\isaliteral{5B}{\isacharbrackleft}}{\isaliteral{28}{\isacharparenleft}}{\isaliteral{22}{\isachardoublequote}}{\isaliteral{23}{\isacharhash}}Given{\isaliteral{22}{\isachardoublequote}}\ {\isaliteral{2C}{\isacharcomma}}{\isaliteral{5B}{\isacharbrackleft}}{\isaliteral{22}{\isachardoublequote}}filterExpression\ X{\isaliteral{5F}{\isacharunderscore}}eq{\isaliteral{22}{\isachardoublequote}}{\isaliteral{5D}{\isacharbrackright}}{\isaliteral{29}{\isacharparenright}}{\isaliteral{2C}{\isacharcomma}}\isanewline
  3.1843 -\ \ \ {\isaliteral{28}{\isacharparenleft}}{\isaliteral{22}{\isachardoublequote}}{\isaliteral{23}{\isacharhash}}Find{\isaliteral{22}{\isachardoublequote}}\ \ {\isaliteral{2C}{\isacharcomma}}{\isaliteral{5B}{\isacharbrackleft}}{\isaliteral{22}{\isachardoublequote}}stepResponse\ n{\isaliteral{5F}{\isacharunderscore}}eq{\isaliteral{22}{\isachardoublequote}}{\isaliteral{5D}{\isacharbrackright}}{\isaliteral{29}{\isacharparenright}}\isanewline
  3.1844 -\ \ {\isaliteral{5D}{\isacharbrackright}}{\isaliteral{2C}{\isacharcomma}}\isanewline
  3.1845 -\ \ \ {\isaliteral{7B}{\isacharbraceleft}}rew{\isaliteral{5F}{\isacharunderscore}}ord{\isaliteral{27}{\isacharprime}}{\isaliteral{3D}{\isacharequal}}{\isaliteral{22}{\isachardoublequote}}tless{\isaliteral{5F}{\isacharunderscore}}true{\isaliteral{22}{\isachardoublequote}}{\isaliteral{2C}{\isacharcomma}}\ rls{\isaliteral{27}{\isacharprime}}{\isaliteral{3D}{\isacharequal}}\ e{\isaliteral{5F}{\isacharunderscore}}rls{\isaliteral{2C}{\isacharcomma}}\ calc\ {\isaliteral{3D}{\isacharequal}}\ {\isaliteral{5B}{\isacharbrackleft}}{\isaliteral{5D}{\isacharbrackright}}{\isaliteral{2C}{\isacharcomma}}\ srls\ {\isaliteral{3D}{\isacharequal}}\ e{\isaliteral{5F}{\isacharunderscore}}rls{\isaliteral{2C}{\isacharcomma}}\ prls\ {\isaliteral{3D}{\isacharequal}}\ e{\isaliteral{5F}{\isacharunderscore}}rls{\isaliteral{2C}{\isacharcomma}}\isanewline
  3.1846 -\ \ \ \ crls\ {\isaliteral{3D}{\isacharequal}}\ e{\isaliteral{5F}{\isacharunderscore}}rls{\isaliteral{2C}{\isacharcomma}}\ nrls\ {\isaliteral{3D}{\isacharequal}}\ e{\isaliteral{5F}{\isacharunderscore}}rls{\isaliteral{7D}{\isacharbraceright}}{\isaliteral{2C}{\isacharcomma}}\isanewline
  3.1847 -\ \ {\isaliteral{22}{\isachardoublequote}}Script\ InverseZTransform\ {\isaliteral{28}{\isacharparenleft}}Xeq{\isaliteral{3A}{\isacharcolon}}{\isaliteral{3A}{\isacharcolon}}bool{\isaliteral{29}{\isacharparenright}}\ {\isaliteral{3D}{\isacharequal}}{\isaliteral{22}{\isachardoublequote}}\ {\isaliteral{5E}{\isacharcircum}}\isanewline
  3.1848 -\ \ {\isaliteral{22}{\isachardoublequote}}\ {\isaliteral{28}{\isacharparenleft}}let\ X\ {\isaliteral{3D}{\isacharequal}}\ Take\ Xeq{\isaliteral{3B}{\isacharsemicolon}}{\isaliteral{22}{\isachardoublequote}}\ {\isaliteral{5E}{\isacharcircum}}\isanewline
  3.1849 -\ \ {\isaliteral{22}{\isachardoublequote}}\ \ \ \ \ \ X\ {\isaliteral{3D}{\isacharequal}}\ Rewrite\ ruleZY\ False\ X{\isaliteral{22}{\isachardoublequote}}\ {\isaliteral{5E}{\isacharcircum}}\isanewline
  3.1850 -\ \ {\isaliteral{22}{\isachardoublequote}}\ \ in\ X{\isaliteral{29}{\isacharparenright}}{\isaliteral{22}{\isachardoublequote}}\isanewline
  3.1851 -\ {\isaliteral{29}{\isacharparenright}}{\isaliteral{29}{\isacharparenright}}{\isaliteral{3B}{\isacharsemicolon}}\isanewline
  3.1852 -{\isaliteral{2A7D}{\isacharverbatimclose}}\isanewline
  3.1853 +\ \ store{\isaliteral{5F}{\isacharunderscore}}met\isanewline
  3.1854 +\ \ \ {\isaliteral{28}{\isacharparenleft}}prep{\isaliteral{5F}{\isacharunderscore}}met\ thy\ {\isaliteral{22}{\isachardoublequote}}met{\isaliteral{5F}{\isacharunderscore}}SP{\isaliteral{5F}{\isacharunderscore}}Ztrans{\isaliteral{5F}{\isacharunderscore}}inv{\isaliteral{22}{\isachardoublequote}}\ {\isaliteral{5B}{\isacharbrackleft}}{\isaliteral{5D}{\isacharbrackright}}\ e{\isaliteral{5F}{\isacharunderscore}}metID\isanewline
  3.1855 +\ \ \ {\isaliteral{28}{\isacharparenleft}}{\isaliteral{5B}{\isacharbrackleft}}{\isaliteral{22}{\isachardoublequote}}SignalProcessing{\isaliteral{22}{\isachardoublequote}}{\isaliteral{2C}{\isacharcomma}}\ {\isaliteral{22}{\isachardoublequote}}Z{\isaliteral{5F}{\isacharunderscore}}Transform{\isaliteral{22}{\isachardoublequote}}{\isaliteral{2C}{\isacharcomma}}\ {\isaliteral{22}{\isachardoublequote}}inverse{\isaliteral{22}{\isachardoublequote}}{\isaliteral{5D}{\isacharbrackright}}{\isaliteral{2C}{\isacharcomma}}\ \isanewline
  3.1856 +\ \ \ \ {\isaliteral{5B}{\isacharbrackleft}}{\isaliteral{28}{\isacharparenleft}}{\isaliteral{22}{\isachardoublequote}}{\isaliteral{23}{\isacharhash}}Given{\isaliteral{22}{\isachardoublequote}}\ {\isaliteral{2C}{\isacharcomma}}{\isaliteral{5B}{\isacharbrackleft}}{\isaliteral{22}{\isachardoublequote}}filterExpression\ X{\isaliteral{5F}{\isacharunderscore}}eq{\isaliteral{22}{\isachardoublequote}}{\isaliteral{5D}{\isacharbrackright}}{\isaliteral{29}{\isacharparenright}}{\isaliteral{2C}{\isacharcomma}}\isanewline
  3.1857 +\ \ \ \ \ {\isaliteral{28}{\isacharparenleft}}{\isaliteral{22}{\isachardoublequote}}{\isaliteral{23}{\isacharhash}}Find{\isaliteral{22}{\isachardoublequote}}\ \ {\isaliteral{2C}{\isacharcomma}}{\isaliteral{5B}{\isacharbrackleft}}{\isaliteral{22}{\isachardoublequote}}stepResponse\ n{\isaliteral{5F}{\isacharunderscore}}eq{\isaliteral{22}{\isachardoublequote}}{\isaliteral{5D}{\isacharbrackright}}{\isaliteral{29}{\isacharparenright}}\isanewline
  3.1858 +\ \ \ \ {\isaliteral{5D}{\isacharbrackright}}{\isaliteral{2C}{\isacharcomma}}\isanewline
  3.1859 +\ \ \ \ \ {\isaliteral{7B}{\isacharbraceleft}}rew{\isaliteral{5F}{\isacharunderscore}}ord{\isaliteral{27}{\isacharprime}}{\isaliteral{3D}{\isacharequal}}{\isaliteral{22}{\isachardoublequote}}tless{\isaliteral{5F}{\isacharunderscore}}true{\isaliteral{22}{\isachardoublequote}}{\isaliteral{2C}{\isacharcomma}}\ rls{\isaliteral{27}{\isacharprime}}{\isaliteral{3D}{\isacharequal}}\ e{\isaliteral{5F}{\isacharunderscore}}rls{\isaliteral{2C}{\isacharcomma}}\ calc\ {\isaliteral{3D}{\isacharequal}}\ {\isaliteral{5B}{\isacharbrackleft}}{\isaliteral{5D}{\isacharbrackright}}{\isaliteral{2C}{\isacharcomma}}\ \isanewline
  3.1860 +\ \ \ \ \ \ srls\ {\isaliteral{3D}{\isacharequal}}\ e{\isaliteral{5F}{\isacharunderscore}}rls{\isaliteral{2C}{\isacharcomma}}\ prls\ {\isaliteral{3D}{\isacharequal}}\ e{\isaliteral{5F}{\isacharunderscore}}rls{\isaliteral{2C}{\isacharcomma}}\isanewline
  3.1861 +\ \ \ \ \ \ crls\ {\isaliteral{3D}{\isacharequal}}\ e{\isaliteral{5F}{\isacharunderscore}}rls{\isaliteral{2C}{\isacharcomma}}\ nrls\ {\isaliteral{3D}{\isacharequal}}\ e{\isaliteral{5F}{\isacharunderscore}}rls{\isaliteral{7D}{\isacharbraceright}}{\isaliteral{2C}{\isacharcomma}}\isanewline
  3.1862 +\ \ \ \ \ \ \ \ {\isaliteral{22}{\isachardoublequote}}Script\ InverseZTransform\ {\isaliteral{28}{\isacharparenleft}}Xeq{\isaliteral{3A}{\isacharcolon}}{\isaliteral{3A}{\isacharcolon}}bool{\isaliteral{29}{\isacharparenright}}\ {\isaliteral{3D}{\isacharequal}}{\isaliteral{22}{\isachardoublequote}}\ {\isaliteral{5E}{\isacharcircum}}\isanewline
  3.1863 +\ \ \ \ \ \ \ \ {\isaliteral{22}{\isachardoublequote}}\ {\isaliteral{28}{\isacharparenleft}}let\ X\ {\isaliteral{3D}{\isacharequal}}\ Take\ Xeq{\isaliteral{3B}{\isacharsemicolon}}{\isaliteral{22}{\isachardoublequote}}\ {\isaliteral{5E}{\isacharcircum}}\isanewline
  3.1864 +\ \ \ \ \ \ \ \ {\isaliteral{22}{\isachardoublequote}}\ \ \ \ \ \ X\ {\isaliteral{3D}{\isacharequal}}\ Rewrite\ ruleZY\ False\ X{\isaliteral{22}{\isachardoublequote}}\ {\isaliteral{5E}{\isacharcircum}}\isanewline
  3.1865 +\ \ \ \ \ \ \ \ {\isaliteral{22}{\isachardoublequote}}\ \ in\ X{\isaliteral{29}{\isacharparenright}}{\isaliteral{22}{\isachardoublequote}}{\isaliteral{29}{\isacharparenright}}{\isaliteral{29}{\isacharparenright}}{\isaliteral{3B}{\isacharsemicolon}}\isanewline
  3.1866 +{\isaliteral{2A7D}{\isacharverbatimclose}}%
  3.1867 +\endisatagML
  3.1868 +{\isafoldML}%
  3.1869 +%
  3.1870 +\isadelimML
  3.1871 +%
  3.1872 +\endisadelimML
  3.1873 +%
  3.1874 +\begin{isamarkuptext}%
  3.1875 +\noindent Check if the method has been stored correctly\ldots%
  3.1876 +\end{isamarkuptext}%
  3.1877 +\isamarkuptrue%
  3.1878 +%
  3.1879 +\isadelimML
  3.1880 +%
  3.1881 +\endisadelimML
  3.1882 +%
  3.1883 +\isatagML
  3.1884  \isacommand{ML}\isamarkupfalse%
  3.1885  \ {\isaliteral{7B2A}{\isacharverbatimopen}}\isanewline
  3.1886 -show{\isaliteral{5F}{\isacharunderscore}}mets{\isaliteral{28}{\isacharparenleft}}{\isaliteral{29}{\isacharparenright}}{\isaliteral{3B}{\isacharsemicolon}}\isanewline
  3.1887 -{\isaliteral{2A7D}{\isacharverbatimclose}}\isanewline
  3.1888 +\ \ show{\isaliteral{5F}{\isacharunderscore}}mets{\isaliteral{28}{\isacharparenleft}}{\isaliteral{29}{\isacharparenright}}{\isaliteral{3B}{\isacharsemicolon}}\ \isanewline
  3.1889 +{\isaliteral{2A7D}{\isacharverbatimclose}}%
  3.1890 +\endisatagML
  3.1891 +{\isafoldML}%
  3.1892 +%
  3.1893 +\isadelimML
  3.1894 +%
  3.1895 +\endisadelimML
  3.1896 +%
  3.1897 +\begin{isamarkuptext}%
  3.1898 +\noindent If yes we can get the method by steping backwards through
  3.1899 +      the hierachy.%
  3.1900 +\end{isamarkuptext}%
  3.1901 +\isamarkuptrue%
  3.1902 +%
  3.1903 +\isadelimML
  3.1904 +%
  3.1905 +\endisadelimML
  3.1906 +%
  3.1907 +\isatagML
  3.1908  \isacommand{ML}\isamarkupfalse%
  3.1909  \ {\isaliteral{7B2A}{\isacharverbatimopen}}\isanewline
  3.1910 -get{\isaliteral{5F}{\isacharunderscore}}met\ {\isaliteral{5B}{\isacharbrackleft}}{\isaliteral{22}{\isachardoublequote}}SignalProcessing{\isaliteral{22}{\isachardoublequote}}{\isaliteral{2C}{\isacharcomma}}{\isaliteral{22}{\isachardoublequote}}Z{\isaliteral{5F}{\isacharunderscore}}Transform{\isaliteral{22}{\isachardoublequote}}{\isaliteral{2C}{\isacharcomma}}{\isaliteral{22}{\isachardoublequote}}inverse{\isaliteral{22}{\isachardoublequote}}{\isaliteral{5D}{\isacharbrackright}}{\isaliteral{3B}{\isacharsemicolon}}\isanewline
  3.1911 +\ \ get{\isaliteral{5F}{\isacharunderscore}}met\ {\isaliteral{5B}{\isacharbrackleft}}{\isaliteral{22}{\isachardoublequote}}SignalProcessing{\isaliteral{22}{\isachardoublequote}}{\isaliteral{2C}{\isacharcomma}}{\isaliteral{22}{\isachardoublequote}}Z{\isaliteral{5F}{\isacharunderscore}}Transform{\isaliteral{22}{\isachardoublequote}}{\isaliteral{2C}{\isacharcomma}}{\isaliteral{22}{\isachardoublequote}}inverse{\isaliteral{22}{\isachardoublequote}}{\isaliteral{5D}{\isacharbrackright}}{\isaliteral{3B}{\isacharsemicolon}}\isanewline
  3.1912  {\isaliteral{2A7D}{\isacharverbatimclose}}%
  3.1913  \endisatagML
  3.1914  {\isafoldML}%
  3.1915 @@ -1451,7 +1888,7 @@
  3.1916  \isamarkuptrue%
  3.1917  %
  3.1918  \begin{isamarkuptext}%
  3.1919 -=================================%
  3.1920 +\noindent%
  3.1921  \end{isamarkuptext}%
  3.1922  \isamarkuptrue%
  3.1923  %