doc-src/isac/jrocnik/eJMT-paper/jrocnik_eJMT.tex
changeset 42467 1035c36360ae
parent 42466 7fe981922276
child 42468 5f8f02e1ea9f
equal deleted inserted replaced
42466:7fe981922276 42467:1035c36360ae
   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