doc-isac/mat-eng-de.tex
changeset 60566 04f8699d2c9d
parent 60509 2e0b7ca391dc
child 60586 007ef64dbb08
     1.1 --- a/doc-isac/mat-eng-de.tex	Sun Oct 09 07:44:22 2022 +0200
     1.2 +++ b/doc-isac/mat-eng-de.tex	Sun Oct 09 09:01:29 2022 +0200
     1.3 @@ -70,9 +70,9 @@
     1.4     > "a + b * 3";
     1.5        val it = "a + b * 3" : string
     1.6  \end{verbatim}}
     1.7 -\noindent ``a + b * 3'' ist also ein string (eine Zeichenfolge). In dieser Form weiss der Computer nicht, dass z.B. eine Multiplikation {\em vor} einer Addition zu rechnen ist. Isabelle braucht dazu eine andere Darstellung f\"ur Formeln. In diese kann man mit der Funktion {\tt str2term} (string to term) umrechnen:
     1.8 +\noindent ``a + b * 3'' ist also ein string (eine Zeichenfolge). In dieser Form weiss der Computer nicht, dass z.B. eine Multiplikation {\em vor} einer Addition zu rechnen ist. Isabelle braucht dazu eine andere Darstellung f\"ur Formeln. In diese kann man mit der Funktion {\tt TermC.parse_test @{context}} (string to term) umrechnen:
     1.9  {\footnotesize\begin{verbatim}
    1.10 -   > str2term "a + b * 3";
    1.11 +   > TermC.parse_test @{context} "a + b * 3";
    1.12        val it =
    1.13           Const ("op +", "[RealDef.real, RealDef.real] => RealDef.real") $
    1.14                 Free ("a", "RealDef.real") $
    1.15 @@ -81,7 +81,7 @@
    1.16  \end{verbatim}}
    1.17  \noindent Diese Form heisst {\tt term} und ist nicht f\"ur den Menschen zum lesen gedacht. Isabelle braucht sie aber intern zum Rechnen. Wir wollen sie mit Hilfe von {\tt val} (value) auf der Variable {\tt t} speichern:
    1.18  {\footnotesize\begin{verbatim}
    1.19 -   > val t = str2term "a + b * 3";
    1.20 +   > val t = TermC.parse_test @{context} "a + b * 3";
    1.21        val t =  
    1.22           Const ("op +", "[RealDef.real, RealDef.real] => RealDef.real") $
    1.23                 Free ("a", "RealDef.real") $
    1.24 @@ -154,7 +154,7 @@
    1.25  
    1.26  Wollen Sie wissen, wie die einzelnen Rechengesetze aussehen, k\"onnen Sie im Internet folgenden Link ansehen: http://isabelle.in.tum.de/dist/library/HOL/Groups.html
    1.27  
    1.28 -\paragraph{} Der Vorgang, bei dem aus einem {\tt string} ein Term entsteht, nennt man Parsing. Dazu wird Wissen aus der Theorie ben\"otigt, denn {\tt str2term} nimmt intern eine parse-Funktion, bei der immer das gesamte \isac{}-Wissen verwendet wird. Bei dieser Funktion wird weiters festgelegt, aus welcher Theorie das Wissen genommen werden soll.
    1.29 +\paragraph{} Der Vorgang, bei dem aus einem {\tt string} ein Term entsteht, nennt man Parsing. Dazu wird Wissen aus der Theorie ben\"otigt, denn {\tt TermC.parse_test @{context}} nimmt intern eine parse-Funktion, bei der immer das gesamte \isac{}-Wissen verwendet wird. Bei dieser Funktion wird weiters festgelegt, aus welcher Theorie das Wissen genommen werden soll.
    1.30  {\footnotesize\begin{verbatim}
    1.31     > parse Isac.thy "a + b";
    1.32        val it = Some "a + b" : Thm.cterm Library.option