179 } |
179 } |
180 Folgende Daten werden aus dem Sub-``context'' in den ``context'' des aufrufenden Programmes zur\"uckgegeben: |
180 Folgende Daten werden aus dem Sub-``context'' in den ``context'' des aufrufenden Programmes zur\"uckgegeben: |
181 \begin{enumerate} |
181 \begin{enumerate} |
182 \item die R\"uckgabewerte des Subprogrammes, sofern sie vom Typ \textit{bool} sind |
182 \item die R\"uckgabewerte des Subprogrammes, sofern sie vom Typ \textit{bool} sind |
183 \item alle \textit{assumptions}, die eine Variable enthalten, die auch einer der R\"uckgabewerte enth\"alt |
183 \item alle \textit{assumptions}, die eine Variable enthalten, die auch einer der R\"uckgabewerte enth\"alt |
184 \item alle \textit{assumptions}, die eine Variable enthalten, die in einem Term des aufrufenden Programmes enthalten sind\footnote{in diesem Punkt sind die Scope-Regeln schw\"acher als sonst bei Subprogrammen} |
184 \item alle \textit{assumptions}, die eine Variable enthalten, die in einem Term des aufrufenden Programmes enthalten sind\footnote{in diesem Punkt sind die Scope-Regeln schw\"acher als sonst bei Subprogrammen}. Der Unterschied begr\"undet sich darin, dass Rechnungen vorzugsweise mit Variablennamen vorgehen, die block\"ubergreifend g\"ultig sind. |
185 \begin{tabbing} |
185 \item\label{conflict} \textbf{nicht zur\"uckgegeben} werden R\"uckgabewerte des Subprogrammes dann, wenn sie im Widerspruch zum ``context'' des aufrunfenden Programmes stehen \footnote{Dieser Punkt wurde erst zu Ende der vorliegenden Arbeit gekl\"art und ist zur Zeit ihrer Fertigstellung nicht implementiert~!}. Hier ist ein Beispiel: |
186 xxx\=xxx\=\kill |
|
187 \`$\mathit{(some)}\;\mathit{assumptions}$\\ |
|
188 $\mathit{solve}\;(\frac{x}{x ^ 2 - 6 * x + 9} - \frac{1}{x ^ 2 - 3 * x} = \frac{1}{x}, x)$\\ |
|
189 % \`$x ^ 2 - 6 * x + 9\not=0\land x ^ 2 - 3 * x\not=0$\\ |
|
190 %\>$\frac{x}{x ^ 2 - 6 * x + 9} - \frac{1}{x ^ 2 - 3 * x} = \frac{1}{x}$ \\ \\ |
|
191 %\>$\frac{x}{x ^ 2 + -1 * (6 * x) + 9} + \frac{-1 * 1}{x ^ 2 + -1 * (3 * x)} = \frac{1}{x}$ \\ \\ |
|
192 \>$\frac{3 + -1 * x + x ^ 2}{9 * x + -6 * x ^ 2 + x ^ 3} = \frac{1}{x}$ \\ |
|
193 \`$x\not=3\land x\not=0$\\ |
|
194 \>$(3 + -1 * x + x ^ 2) * x = 1 * (9 * x + -6 * x ^ 2 + x ^ 3)$ \\ |
|
195 \>$\mathit{solve}\;((3 + -1 * x + x ^ 2) * x = 1 * (9 * x + -6 * x ^ 2 + x ^ 3), x)$ \\ |
|
196 %\>\>$(3 + -1 * x + x ^ 2) * x = 1 * (9 * x + -6 * x ^ 2 + x ^ 3)$ \\ |
|
197 %\>\>$(3 + -1 * x + x ^ 2) * x - 1 * (9 * x + -6 * x ^ 2 + x ^ 3) = 0$ \\ |
|
198 \>\>$(3 + -1 * x + x ^ 2) * x - (9 * x + -6 * x ^ 2 + x ^ 3) = 0$ \\ |
|
199 \>\>$-6 * x + 5 * x ^ 2 = 0$ \\ |
|
200 \>\>$\mathit{solve}\;(-6 * x + 5 * x ^ 2 = 0, x)$ \\ |
|
201 \>\>$[x = 0, x = \frac{6}{5}]$ \\ |
|
202 \`$x = 0\land x = \frac{6}{5}$\\ |
|
203 \>$[{x = 0}, x = \frac{6}{5}]$ \\ |
|
204 \`{$\mathit{Check\_Elementwise}\;\mathit{Assumptions}:x\not=0\land x = 0$}\\ |
|
205 \>$[x = \frac{6}{5}]$ \\ |
|
206 $[x = \frac{6}{5}]$ |
|
207 \end{tabbing} |
|
208 der Unterschied begr\"undet sich darin, dass Rechnungen vorzugsweise mit Variablennamen vorgehen, die block\"ubergreifend g\"ultig sind. |
|
209 \item\label{conflict} \textbf{nicht zur\"uckgegeben} werden R\"uckgabewerte des Subprogrammes dann, wenn sie im Widerspruch zum ``context'' des aufrunfenden Programmes stehen. Hier ist ein Beispiel: |
|
210 \end{enumerate} |
186 \end{enumerate} |
211 |
187 |
212 \begin{tabbing} |
188 \begin{tabbing} |
213 xxx\=xxx\=\kill |
189 xxx\=xxx\=\kill |
214 \`$\mathit{(some)}\;\mathit{assumptions}$\\ |
190 \`$\mathit{(some)}\;\mathit{assumptions}$\\ |
375 Der %nicht zuletzt |
351 Der %nicht zuletzt |
376 durch das überraschend notwendig gewordene Update |
352 durch das überraschend notwendig gewordene Update |
377 von Isabelle2009-2 auf Isabelle2011 |
353 von Isabelle2009-2 auf Isabelle2011 |
378 bedingte zähe Verlauf bis ich endlich wirklich an der eigentlichen Aufgabenstellung arbeiten konnte, %war etwas ernüchternd, |
354 bedingte zähe Verlauf bis ich endlich wirklich an der eigentlichen Aufgabenstellung arbeiten konnte, %war etwas ernüchternd, |
379 verlange einies Umdisponieren, |
355 verlange einies Umdisponieren, |
380 da ich gehofft hatte, das Praktikum bis spätestens Ende März abschließen zu können. Die zeitliche Verzögerung des Projektes wurde jedoch gro\3es Entgegenkommen des Institutes ausgeglichen, f\"ur das ich mich sehr bedanke. Lehrreich war f\"ur mich auch die Einbindung der Abschlusspr\"asentation in die Vortragsreihe des Institutes f\"ur Computersprachen; auch daf\"ur herzlichen Dank. |
356 da ich gehofft hatte, das Praktikum bis spätestens Ende März abschließen zu können. Die zeitliche Verzögerung des Projektes wurde jedoch durch gro\3es Entgegenkommen des Institutes in der Terminsetzung am Ende des Projektes ausgeglichen; daf\"ur bedanke ich mich sehr. Lehrreich war f\"ur mich auch die Einbindung der Abschlusspr\"asentation in die Vortragsreihe des Institutes f\"ur Computersprachen; auch daf\"ur herzlichen Dank. |
381 |
357 |
382 Die Zusammenarbeit mit \sisac-Entwicklung \"uber Herrn Neuper hat %jedenfalls |
358 Die Zusammenarbeit mit \sisac-Entwicklung an der Technischen Universit\"at Graz \"uber Herrn Neuper hat %jedenfalls |
383 sehr gut funktioniert und aus meiner Sicht haben wir uns sehr gut verstanden. Das hat ein produktives %entspanntes |
359 sehr gut funktioniert und aus meiner Sicht haben wir uns sehr gut verstanden. Das hat ein produktives %entspanntes |
384 Arbeitsklima ermöglicht. |
360 Arbeitsklima ermöglicht. |
385 |
361 |
386 %Abgesehen von der zeitlichen Verzögerung des Projektes freue ich mich über den erfolgreichen Abschluss der geplanten Aufgaben und deren interessanten Charakter. |
362 %Abgesehen von der zeitlichen Verzögerung des Projektes freue ich mich über den erfolgreichen Abschluss der geplanten Aufgaben und deren interessanten Charakter. |
387 |
363 |