344 Rewrite\_Set\_Inst} in lines $01$ and $10$ respectively.} |
344 Rewrite\_Set\_Inst} in lines $01$ and $10$ respectively.} |
345 |
345 |
346 % Terms may also contain $\lambda$-abstractions. For example, $\lambda |
346 % Terms may also contain $\lambda$-abstractions. For example, $\lambda |
347 % x. \; x$ is the identity function. |
347 % x. \; x$ is the identity function. |
348 |
348 |
349 %JR warum auskommentiert? |
349 %JR warum auskommentiert? WN2... |
|
350 %WN2 weil ein Punkt wie dieser in weiteren Zusammenh"angen innerhalb |
|
351 %WN2 des Papers auftauchen m"usste; nachdem ich einen solchen |
|
352 %WN2 Zusammenhang _noch_ nicht sehe, habe ich den Punkt _noch_ nicht |
|
353 %WN2 gel"oscht. |
|
354 %WN2 Wenn der Punkt nicht weiter gebraucht wird, nimmt er nur wertvollen |
|
355 %WN2 Platz f"ur Anderes weg. |
350 |
356 |
351 \textbf{Formulae} are terms of type \textit{bool}. There are the basic |
357 \textbf{Formulae} are terms of type \textit{bool}. There are the basic |
352 constants \textit{True} and \textit{False} and the usual logical |
358 constants \textit{True} and \textit{False} and the usual logical |
353 connectives (in decreasing order of precedence): $\neg, \land, \lor, |
359 connectives (in decreasing order of precedence): $\neg, \land, \lor, |
354 \rightarrow$. |
360 \rightarrow$. |
460 this language can be only ``on trial'', presently. However, as a |
466 this language can be only ``on trial'', presently. However, as a |
461 prototype, the language addresses essentials described below. |
467 prototype, the language addresses essentials described below. |
462 |
468 |
463 \subsection{Mechanization of Math --- Domain Engineering}\label{isabisac} |
469 \subsection{Mechanization of Math --- Domain Engineering}\label{isabisac} |
464 |
470 |
465 %WN was Fachleute unter obigem Titel interessiert findet |
471 %WN was Fachleute unter obigem Titel interessiert findet sich |
466 %WN unterhalb des auskommentierten Textes. |
472 %WN unterhalb des auskommentierten Textes. |
467 |
473 |
468 %WN der Text unten spricht Benutzer-Aspekte anund ist nicht speziell |
474 %WN der Text unten spricht Benutzer-Aspekte anund ist nicht speziell |
469 %WN auf Computer-Mathematiker fokussiert. |
475 %WN auf Computer-Mathematiker fokussiert. |
470 % \paragraph{As mentioned in the introduction,} a prototype of an |
476 % \paragraph{As mentioned in the introduction,} a prototype of an |
689 |
695 |
690 %WN Hier brauchen wir die Spezifikation des 'running example' ... |
696 %WN Hier brauchen wir die Spezifikation des 'running example' ... |
691 |
697 |
692 %JR Habe input, output und precond vom Beispiel eingefügt brauche aber Hilfe bei |
698 %JR Habe input, output und precond vom Beispiel eingefügt brauche aber Hilfe bei |
693 %JR der post condition - die existiert für uns ja eigentlich nicht aka |
699 %JR der post condition - die existiert für uns ja eigentlich nicht aka |
694 %JR haben sie bis jetzt nicht beachtet |
700 %JR haben sie bis jetzt nicht beachtet WN... |
|
701 %WN2 Mein Vorschlag ist, das TODO zu lassen und deutlich zu kommentieren. |
695 |
702 |
696 \label{eg:neuper2} |
703 \label{eg:neuper2} |
697 {\small\begin{tabbing} |
704 {\small\begin{tabbing} |
698 123,\=postcond \=: \= $\forall \,A^\prime\, u^\prime \,v^\prime.\,$\=\kill |
705 123,\=postcond \=: \= $\forall \,A^\prime\, u^\prime \,v^\prime.\,$\=\kill |
699 \hfill \\ |
706 \hfill \\ |
824 %WN <--> Thesis 6.1 -- 6.3: jene ausw"ahlen, die Du f"ur \label{progr} |
831 %WN <--> Thesis 6.1 -- 6.3: jene ausw"ahlen, die Du f"ur \label{progr} |
825 %WN brauchst |
832 %WN brauchst |
826 TODO |
833 TODO |
827 \subsection{Implementation of the TP-based Program}\label{progr} |
834 \subsection{Implementation of the TP-based Program}\label{progr} |
828 %WN <--> \chapter 8 der Thesis |
835 %WN <--> \chapter 8 der Thesis |
829 TODO |
836 .\\.\\.\\ |
|
837 |
|
838 {\small\it\begin{tabbing} |
|
839 123l\=123\=123\=123\=123\=123\=123\=123\=123\=(x \=123\=123\=\kill |
|
840 \>{\rm 01}\> {\tt Program} InverseZTransform (X\_eq::bool) = \\ |
|
841 \>{\rm 02}\>\> {\tt LET} \\ |
|
842 \>{\rm 03}\>\>\> X = {\tt Take} X\_eq ; \\ |
|
843 \>{\rm 04}\>\>\> X' = {\tt Rewrite} ruleZY X ; \\ |
|
844 \>{\rm 05}\>\>\> (X'\_z::real) = lhs X' ; \\ |
|
845 \>{\rm 06}\>\>\> (zzz::real) = argument\_in X'\_z; \\ |
|
846 \>{\rm 07}\>\>\> (funterm::real) = rhs X’; \\ |
|
847 \>{\rm 07}\>\>\> (pbz::real) = {\tt SubProblem} \\ |
|
848 \>{\rm 08}\>\>\>\>\>\>\>\> ( \> Inverse\_Z\_Transform, \\ |
|
849 \>{\rm 08}\>\>\>\>\>\>\>\>\> [partial\_fraction,rational,simplification]\\ |
|
850 \>{\rm 09}\>\>\>\>\>\>\>\>\> [simplification,of\_rationals,to\_partial\_fraction] ) \\ |
|
851 \>{\rm 10}\>\>\>\>\>\>\>\> [ funterm::real, zzz::real ]; \\ |
|
852 \>{\rm 12}\>\>\> (pbz\_eq::bool) = {\tt Take} (X'\_z = pbz) ; \\ |
|
853 |
|
854 \>{\rm 12}\>\>\> pbz\_eq = {\tt Rewrite} ruleYZ pbz\_eq ; \\ |
|
855 \>{\rm 13}\>\>\> pbz\_eq = drop\_questionmarks pbz\_eq ; \\ |
|
856 \>{\rm 14}\>\>\> (X\_zeq::bool) = {\tt Take} (X\_z = rhs pbz\_eq) ; \\ |
|
857 \>{\rm 15}\>\>\> n\_eq = {\tt Rewrite\_Set} inverse\_z X\_zeq ; \\ |
|
858 \>{\rm 15}\>\>\> n\_eq = drop\_questionmarks n\_eq \\ |
|
859 \>{\rm 16}\>\> {\tt IN } \\ |
|
860 \>{\rm 15}\>\>\> n\_eq |
|
861 \end{tabbing}} |
|
862 |
|
863 {\small\it\begin{tabbing} |
|
864 123l\=123\=123\=123\=123\=123\=123\=123\=123\=123\=123\=123\=\kill\label{exp-calc} |
|
865 \>{\rm 01}\> $\bullet$\> {\tt Problem } [maximum\_by, calculus] \`- - -\\ |
|
866 \>{\rm 02}\>\> $\vdash$\> $A = 2\cdot u\cdot v - u^2$ \`- - -\\ |
|
867 \>{\rm 03}\>\> $\bullet$\> {\tt Problem } [make, diffable, function] \`- - -\\ |
|
868 \>{\rm 04}\>\> \dots\> $\widetilde{A}(\alpha) = 8\cdot r^2\cdot\sin\alpha\cdot\cos\alpha - 4\cdot r^2\cdot(\sin\alpha)^2$ \`- - -\\ |
|
869 \\ |
|
870 \\ |
|
871 \>{\rm 18}\>\> $\bullet$\> {\tt Problem} [find\_values, tool] \`- - -\\ |
|
872 % \`{\tt Apply\_Method} [tool, find\_values]\\ |
|
873 \>{\rm 19}\>\> \dots\> [ $u=0.23\cdot r, \:v=0.76\cdot r$ ] \`- - -\\ |
|
874 % \`{\tt Check\_Postcond}\\ |
|
875 \>{\rm 20}\> \dots\> [ $u=0.23\cdot r, \:v=0.76\cdot r$ ] %TODO calculate ! |
|
876 |
|
877 \end{tabbing}} |
|
878 |
|
879 |
|
880 .\\.\\.\\ |
|
881 {\footnotesize |
|
882 \begin{verbatim} |
|
883 "Script InverseZTransform (X_eq::bool) = "^(*([], Frm), Problem (Isac, [Inverse, Z_Transform, SignalProcessing])*) |
|
884 "(let X = Take X_eq; "^(*([1], Frm), X z = 3 / (z - 1 / 4 + -1 / 8 * (1 / z))*) |
|
885 " X' = Rewrite ruleZY False X; "^(*([1], Res), ?X' z = 3 / (z * (z - 1 / 4 + -1 / 8 * (1 / z)))*) |
|
886 " (X'_z::real) = lhs X'; "^(* ?X' z*) |
|
887 " (zzz::real) = argument_in X'_z; "^(* z *) |
|
888 " (funterm::real) = rhs X'; "^(* 3 / (z * (z - 1 / 4 + -1 / 8 * (1 / z)))*) |
|
889 |
|
890 " (pbz::real) = (SubProblem (Isac', "^(**) |
|
891 " [partial_fraction,rational,simplification], "^ |
|
892 " [simplification,of_rationals,to_partial_fraction]) "^ |
|
893 " [REAL funterm, REAL zzz]); "^(*([2], Res), 4 / (z - 1 / 2) + -4 / (z - -1 / 4)*) |
|
894 |
|
895 " (pbz_eq::bool) = Take (X'_z = pbz); "^(*([3], Frm), ?X' z = 4 / (z - 1 / 2) + -4 / (z - -1 / 4)*) |
|
896 " pbz_eq = Rewrite ruleYZ False pbz_eq; "^(*([3], Res), ?X' z = 4 * (?z / (z - 1 / 2)) + -4 * (?z / (z - -1 / 4))*) |
|
897 " pbz_eq = drop_questionmarks pbz_eq; "^(* 4 * (z / (z - 1 / 2)) + -4 * (z / (z - -1 / 4))*) |
|
898 " (X_zeq::bool) = Take (X_z = rhs pbz_eq); "^(*([4], Frm), X_z = 4 * (z / (z - 1 / 2)) + -4 * (z / (z - -1 / 4))*) |
|
899 " n_eq = (Rewrite_Set inverse_z False) X_zeq; "^(*([4], Res), X_z = 4 * (1 / 2) ^^^ ?n * ?u [?n] + -4 * (-1 / 4) ^^^ ?n * ?u [?n]*) |
|
900 " n_eq = drop_questionmarks n_eq "^(* X_z = 4 * (1 / 2) ^^^ n * u [n] + -4 * (-1 / 4) ^^^ n * u [n]*) |
|
901 "in n_eq)" (*([], Res), X_z = 4 * (1 / 2) ^^^ n * u [n] + -4 * (-1 / 4) ^^^ n * u [n]*) |
|
902 \end{verbatim}} |
830 |
903 |
831 \section{Workflow of Programming in the Prototype}\label{workflow} |
904 \section{Workflow of Programming in the Prototype}\label{workflow} |
832 %WN ``workflow'' heisst: das mache ich zuerst, dann das ... |
905 %WN ``workflow'' heisst: das mache ich zuerst, dann das ... |
833 \subsection{Preparations and Trials}\label{flow-prep} |
906 \subsection{Preparations and Trials}\label{flow-prep} |
834 \subsubsection{Trials on Notation and Termination} |
907 \subsubsection{Trials on Notation and Termination} |
1041 %WN nicht hinkriege --- weshalb ich auch die eJMT-Forderung nicht ganz |
1114 %WN nicht hinkriege --- weshalb ich auch die eJMT-Forderung nicht ganz |
1042 %WN verstehe, separierte PDFs zu schicken; ich w"urde *.png schicken) |
1115 %WN verstehe, separierte PDFs zu schicken; ich w"urde *.png schicken) |
1043 |
1116 |
1044 %JR Ränder und beschriftung geändert. Keine Ahnung warum eJMT sich pdf's |
1117 %JR Ränder und beschriftung geändert. Keine Ahnung warum eJMT sich pdf's |
1045 %JR wünschen, würde ebenfalls png oder ähnliches verwenden, aber wenn pdf's |
1118 %JR wünschen, würde ebenfalls png oder ähnliches verwenden, aber wenn pdf's |
1046 %JR gefordert werden... |
1119 %JR gefordert werden WN2... |
|
1120 %WN2 meiner Meinung nach hat sich eJMT unklar ausgedr"uckt (z.B. kann |
|
1121 %WN2 man meines Wissens pdf-figures nicht auf eine bestimmte Gr"osse |
|
1122 %WN2 zusammenschneiden um die R"ander weg zu bekommen) |
|
1123 %WN2 Mein Vorschlag ist, in umserem tex-file bei *.png zu bleiben und |
|
1124 %WN2 png + pdf figures mitzuschicken. |
1047 |
1125 |
1048 \subsection{Notes on Problems with Traditional Notation} |
1126 \subsection{Notes on Problems with Traditional Notation} |
1049 |
1127 |
1050 \paragraph{During research} on these topic severely problems on |
1128 \paragraph{During research} on these topic severely problems on |
1051 traditional notations have been discovered. Some of them have been |
1129 traditional notations have been discovered. Some of them have been |