Computational logic and quantifier elimination techniques for (semi-)automatic static analysis and synthesis of algorithms / eingereicht von: Mǎdǎlina Erascu
ger: In dieser Arbeit werden logische und algebraische Zug\"ange zur Analyse von imperativenrekursiven Algorithmen sowie zur Synthese von optimalen Algorithmen pr\"asentiert.<br />Zun\"achst entwickeln und formalisieren wir eine Methode zur Verifikation von imperativenrekursiven...
Saved in:
VerfasserIn: | |
---|---|
Place / Publishing House: | 2012 |
Year of Publication: | 2012 |
Language: | English |
Subjects: | |
Classification: | 31.76 - Numerische Mathematik 54.10 - Theoretische Informatik 31.10 - Mathematische Logik. Mengenlehre |
Physical Description: | VIII, 109, 4 S. |
Notes: | Zsfassung in dt. und engl. Sprache |
Tags: |
Add Tag
No Tags, Be the first to tag this record!
|
id |
990002755830504498 |
---|---|
ctrlnum |
AC07815208 (AT-OBV)AC07815208 (Aleph)010524986ACC01 (DE-599)OBVAC07815208 (EXLNZ-43ACC_NETWORK)990105249860203331 |
collection |
bib_alma |
institution |
YWOAW |
building |
MAG1-3 |
record_format |
marc |
spelling |
Erascu, Mǎdǎlina aut Computational logic and quantifier elimination techniques for (semi-)automatic static analysis and synthesis of algorithms eingereicht von: Mǎdǎlina Erascu 2012 VIII, 109, 4 S. Zsfassung in dt. und engl. Sprache Linz, Univ., Diss., 2012 ger: In dieser Arbeit werden logische und algebraische Zug\"ange zur Analyse von imperativenrekursiven Algorithmen sowie zur Synthese von optimalen Algorithmen pr\"asentiert.<br />Zun\"achst entwickeln und formalisieren wir eine Methode zur Verifikation von imperativenrekursiven Programmen, die automatisch mit dem System {\em Theorema} bewiesen wird. Unser Ziel ist es das minimale logische Ger\"ust zu bestimmen, das notwendig ist um eine kor\-rekte Sammlung von Methoden f\"ur Programmverifikation zu formulieren und (computerunterst\"utzt) zu beweisen. Unsere Arbeit zeigt, dass f\"ur das Schlu\ss folgern\"uber Programme nicht notwendigerweise eine komplexe theoretische Konstruktion ben\"otigt wird, da es m\"oglich ist die Semantik des Programms in die Semantik logischer Formeln\"uberzuf\"uhren und damit spezielle Theorien \"uber die Exekution von Programmenvermieden werden k\"onnen. Die Semantik wird, in der Objekttheorie, als implizite Definition der Funktion, die durch das Programm implementiert ist, dargestellt. Termination, ebenfalls in der Objekttheorie definiert, ist ein Induktionsprinzip gebildetvon der Struktur des Programms bez\"uglich iterativer Strukturen (rekursive Aufrufe und exttt{\underline{while}}-Schleifen). Eine Objekttheorie ist die Theorie \"uber die Pr\"adikate, Konstanten und Funktionen, die im Programmtext vorkommen. Derzeit kann unsere Methode auf Programme mit einer einfachen Rekursion und mit beliebig verschachtelten Schleifen mit abruptem Abbruch ( exttt{\underline{break}}, exttt{\underline{return}}) angewandt werden.<br />Im zweiten Teil untersuchen wir Methoden zur Synthese von optimalen Algorithmen. Als ein Fallbeispiel betrachten wir das Quadratwurzelproblem:<br />gegeben eine reelle Zahl~$x$ undeine Fehlerschranke~$\varepsilon$, ist eine reelles Intervall zu bestimmen, das~$x$ enth\"alt und dessen L\"ange kleiner als~$\varepsilon$ ist. Als Schema f\"ur den Algorithmus verwenden wir iterative Verfeinerung: der Algorithmus startet mit einem Anfangsintervall, das wiederholt aktualisiert wird durch die Anwendung einer Verfeinerungsabbildung, nennen wir sie~$f$, solange bis es klein genug ist. In diesem Fall entspricht die Synthese dem Bestimmen einer Verfeinerungsabbildung~$f$, die sicher stellt, dass der Algorithmus korrekt ist (schleifeninvariant), terminiert (kontrahierend) und optimal ist. Diese Anforderungen k\"onnen als Quantoreneliminationsproblem \"uber den reellen Zahlen formuliert werden. Daher k\"onnte das Problem laut Theorie automatischgel\"ost werden. In der Praxis sind die Rechenanforderungen zu immens und somit ist die automatische Synthese derzeit mit der aktuell verf\"ugbaren Software f\"ur Quantorenelimination nicht durchf\"uhrbar. Deshalb wurden einige Umformungsschritte von Hand ausgef\"uhrt und wir haben in einem semi-automatischen Prozess optimale Algorithmen (unter nat\"urlichen Vor\-aus\-setzungen) synthetisiert.<br /> eng: This thesis presents logical and algebraic approaches for analyzing imperative recursive algorithms and for synthesizing optimal algorithms.<br />First we develop, formalize, and prove automatically, in the \emph{Theorema} system, the soundness of a method for the verification of imperative recursive programs. Our goal is to identify the minimal logical apparatus necessary for formulating and proving (in computer-assisted manner) a correct collection of methods for program verification. Our work shows that reasoning about programs does not necessarily need a complex theoretical construction, because it is possible to transfer the semantics of the program into the semantics of logical formulas, thus avoiding any special theory related to program execution. We express the semantics as an implicit definition, in the object theory, of the function implemented by the program. Termination, defined also in the object theory, is an induction principle developed from the structure of the program with respect to iterative structures (recursive calls and exttt{\underline{while}} loops). An object theory is the theory relevant to the predicates, constants, and functions occurring in the program text.<br />Currently, our method can be applied to programs with single recursion and with arbitrarily-nested loops with abrupt termination ( exttt{\underline{break}}, exttt{\underline{return}}).<br />Second we investigate methods for synthesizing optimal algorithms. As a case study, we consider the square root problem: given the real number $x$ and the error bound $\varepsilon$, find a real interval such that it contains $\sqrt{x}$ and its width is less than $\varepsilon$. We use iterative refining as algorithm schema: the algorithm starts with an initial interval and repeatedly updates it by applying a refinement map, say $f,$ on it until it becomes narrow enough. Then the synthesis amounts to finding a refinement map $f$ that ensures that the algorithm is correct (loop invariant), terminating (contraction), and optimal. All these could be formulated as quantifier elimination over the real numbers. Hence, in principle, they could be performed automatically. However, the computational requirement is huge, making the automatic synthesis practically impossible with the current general quantifier elimination software. Therefore, we performed some hand derivations and were able to synthesize semi-automatically optimal algorithms under natural assumptions. Programmanalyse s (DE-588)4175841-9 Algorithmische Programmierung s (DE-588)4293504-0 Theorema s AS0054451 Programmsynthese s (DE-588)4295513-0 Quantorenelimination s (DE-588)4308709-7 AT-OBV UBLAND YWOAW MAG1-3 41554-C.Stip. 2219917580004498 |
language |
English |
format |
Thesis Book |
author |
Erascu, Mǎdǎlina |
spellingShingle |
Erascu, Mǎdǎlina Computational logic and quantifier elimination techniques for (semi-)automatic static analysis and synthesis of algorithms Programmanalyse (DE-588)4175841-9 Algorithmische Programmierung (DE-588)4293504-0 Theorema AS0054451 Programmsynthese (DE-588)4295513-0 Quantorenelimination (DE-588)4308709-7 |
author_facet |
Erascu, Mǎdǎlina |
author_variant |
m e me |
author_role |
VerfasserIn |
author_sort |
Erascu, Mǎdǎlina |
title |
Computational logic and quantifier elimination techniques for (semi-)automatic static analysis and synthesis of algorithms |
title_full |
Computational logic and quantifier elimination techniques for (semi-)automatic static analysis and synthesis of algorithms eingereicht von: Mǎdǎlina Erascu |
title_fullStr |
Computational logic and quantifier elimination techniques for (semi-)automatic static analysis and synthesis of algorithms eingereicht von: Mǎdǎlina Erascu |
title_full_unstemmed |
Computational logic and quantifier elimination techniques for (semi-)automatic static analysis and synthesis of algorithms eingereicht von: Mǎdǎlina Erascu |
title_auth |
Computational logic and quantifier elimination techniques for (semi-)automatic static analysis and synthesis of algorithms |
title_new |
Computational logic and quantifier elimination techniques for (semi-)automatic static analysis and synthesis of algorithms |
title_sort |
computational logic and quantifier elimination techniques for (semi-)automatic static analysis and synthesis of algorithms |
publishDate |
2012 |
physical |
VIII, 109, 4 S. |
callnumber-raw |
41554-C.Stip. |
callnumber-search |
41554-C.Stip. |
topic |
Programmanalyse (DE-588)4175841-9 Algorithmische Programmierung (DE-588)4293504-0 Theorema AS0054451 Programmsynthese (DE-588)4295513-0 Quantorenelimination (DE-588)4308709-7 |
topic_facet |
Programmanalyse Algorithmische Programmierung Theorema Programmsynthese Quantorenelimination |
illustrated |
Not Illustrated |
work_keys_str_mv |
AT erascumadalina computationallogicandquantifiereliminationtechniquesforsemiautomaticstaticanalysisandsynthesisofalgorithms |
status_str |
n |
ids_txt_mv |
(AT-OBV)AC07815208 AC07815208 (Aleph)010524986ACC01 (DE-599)OBVAC07815208 (EXLNZ-43ACC_NETWORK)990105249860203331 |
hol852bOwn_txt_mv |
YWOAW |
hol852hSignatur_txt_mv |
41554-C.Stip. |
hol852cSonderstandort_txt_mv |
MAG1-3 |
itmData_txt_mv |
2014-02-28 01:00:00 Europe/Vienna |
barcode_str_mv |
+YW18296704 |
callnumbers_txt_mv |
41554-C.Stip. |
inventoryNumbers_str_mv |
2014-41554-C.Stip. |
materialTypes_str_mv |
BOOK |
permanentLibraries_str_mv |
YWOAW |
permanentLocations_str_mv |
MAG1-3 |
inventoryDates_str_mv |
20140228 |
createdDates_str_mv |
2014-02-28 01:00:00 Europe/Vienna |
holdingIds_str_mv |
2219917580004498 |
is_hierarchy_id |
AC07815208 |
is_hierarchy_title |
Computational logic and quantifier elimination techniques for (semi-)automatic static analysis and synthesis of algorithms |
basiskl_str_mv |
31.76 - Numerische Mathematik 54.10 - Theoretische Informatik 31.10 - Mathematische Logik. Mengenlehre |
basiskl_txtF_mv |
31.76 - Numerische Mathematik 54.10 - Theoretische Informatik 31.10 - Mathematische Logik. Mengenlehre |
_version_ |
1792284827938979841 |
fullrecord |
<?xml version="1.0" encoding="UTF-8"?><collection xmlns="http://www.loc.gov/MARC21/slim"><record><leader>07290nam#a2200505#c#4500</leader><controlfield tag="001">990002755830504498</controlfield><controlfield tag="005">20230411194333.0</controlfield><controlfield tag="007">tu</controlfield><controlfield tag="008">130129|2012####|||######m####|||#|#eng#c</controlfield><controlfield tag="009">AC07815208</controlfield><datafield tag="015" ind1=" " ind2=" "><subfield code="a">OeBB</subfield><subfield code="2">oeb</subfield></datafield><datafield tag="035" ind1=" " ind2=" "><subfield code="a">(AT-OBV)AC07815208</subfield></datafield><datafield tag="035" ind1=" " ind2=" "><subfield code="a">AC07815208</subfield></datafield><datafield tag="035" ind1=" " ind2=" "><subfield code="a">(Aleph)010524986ACC01</subfield></datafield><datafield tag="035" ind1=" " ind2=" "><subfield code="a">(DE-599)OBVAC07815208</subfield></datafield><datafield tag="035" ind1=" " ind2=" "><subfield code="a">(EXLNZ-43ACC_NETWORK)990105249860203331</subfield></datafield><datafield tag="040" ind1=" " ind2=" "><subfield code="a">UBL</subfield><subfield code="b">ger</subfield><subfield code="c">OPUS</subfield><subfield code="d">ONB</subfield><subfield code="e">rakwb</subfield></datafield><datafield tag="041" ind1=" " ind2=" "><subfield code="a">eng</subfield></datafield><datafield tag="044" ind1=" " ind2=" "><subfield code="c">XA-AT</subfield></datafield><datafield tag="084" ind1=" " ind2=" "><subfield code="a">31.76</subfield><subfield code="2">bkl</subfield></datafield><datafield tag="084" ind1=" " ind2=" "><subfield code="a">54.10</subfield><subfield code="2">bkl</subfield></datafield><datafield tag="084" ind1=" " ind2=" "><subfield code="a">31.10</subfield><subfield code="2">bkl</subfield></datafield><datafield tag="100" ind1="1" ind2=" "><subfield code="a">Erascu, Mǎdǎlina</subfield><subfield code="4">aut</subfield></datafield><datafield tag="245" ind1="1" ind2="0"><subfield code="a">Computational logic and quantifier elimination techniques for (semi-)automatic static analysis and synthesis of algorithms</subfield><subfield code="c">eingereicht von: Mǎdǎlina Erascu</subfield></datafield><datafield tag="264" ind1=" " ind2="1"><subfield code="c">2012</subfield></datafield><datafield tag="300" ind1=" " ind2=" "><subfield code="a">VIII, 109, 4 S.</subfield></datafield><datafield tag="500" ind1=" " ind2=" "><subfield code="a">Zsfassung in dt. und engl. Sprache</subfield></datafield><datafield tag="502" ind1=" " ind2=" "><subfield code="a">Linz, Univ., Diss., 2012</subfield></datafield><datafield tag="520" ind1=" " ind2=" "><subfield code="a">ger: In dieser Arbeit werden logische und algebraische Zug\"ange zur Analyse von imperativenrekursiven Algorithmen sowie zur Synthese von optimalen Algorithmen pr\"asentiert.<br />Zun\"achst entwickeln und formalisieren wir eine Methode zur Verifikation von imperativenrekursiven Programmen, die automatisch mit dem System {\em Theorema} bewiesen wird. Unser Ziel ist es das minimale logische Ger\"ust zu bestimmen, das notwendig ist um eine kor\-rekte Sammlung von Methoden f\"ur Programmverifikation zu formulieren und (computerunterst\"utzt) zu beweisen. Unsere Arbeit zeigt, dass f\"ur das Schlu\ss folgern\"uber Programme nicht notwendigerweise eine komplexe theoretische Konstruktion ben\"otigt wird, da es m\"oglich ist die Semantik des Programms in die Semantik logischer Formeln\"uberzuf\"uhren und damit spezielle Theorien \"uber die Exekution von Programmenvermieden werden k\"onnen. Die Semantik wird, in der Objekttheorie, als implizite Definition der Funktion, die durch das Programm implementiert ist, dargestellt. Termination, ebenfalls in der Objekttheorie definiert, ist ein Induktionsprinzip gebildetvon der Struktur des Programms bez\"uglich iterativer Strukturen (rekursive Aufrufe und exttt{\underline{while}}-Schleifen). Eine Objekttheorie ist die Theorie \"uber die Pr\"adikate, Konstanten und Funktionen, die im Programmtext vorkommen. Derzeit kann unsere Methode auf Programme mit einer einfachen Rekursion und mit beliebig verschachtelten Schleifen mit abruptem Abbruch ( exttt{\underline{break}}, exttt{\underline{return}}) angewandt werden.<br />Im zweiten Teil untersuchen wir Methoden zur Synthese von optimalen Algorithmen. Als ein Fallbeispiel betrachten wir das Quadratwurzelproblem:<br />gegeben eine reelle Zahl~$x$ undeine Fehlerschranke~$\varepsilon$, ist eine reelles Intervall zu bestimmen, das~$x$ enth\"alt und dessen L\"ange kleiner als~$\varepsilon$ ist. Als Schema f\"ur den Algorithmus verwenden wir iterative Verfeinerung: der Algorithmus startet mit einem Anfangsintervall, das wiederholt aktualisiert wird durch die Anwendung einer Verfeinerungsabbildung, nennen wir sie~$f$, solange bis es klein genug ist. In diesem Fall entspricht die Synthese dem Bestimmen einer Verfeinerungsabbildung~$f$, die sicher stellt, dass der Algorithmus korrekt ist (schleifeninvariant), terminiert (kontrahierend) und optimal ist. Diese Anforderungen k\"onnen als Quantoreneliminationsproblem \"uber den reellen Zahlen formuliert werden. Daher k\"onnte das Problem laut Theorie automatischgel\"ost werden. In der Praxis sind die Rechenanforderungen zu immens und somit ist die automatische Synthese derzeit mit der aktuell verf\"ugbaren Software f\"ur Quantorenelimination nicht durchf\"uhrbar. Deshalb wurden einige Umformungsschritte von Hand ausgef\"uhrt und wir haben in einem semi-automatischen Prozess optimale Algorithmen (unter nat\"urlichen Vor\-aus\-setzungen) synthetisiert.<br /></subfield></datafield><datafield tag="520" ind1=" " ind2=" "><subfield code="a">eng: This thesis presents logical and algebraic approaches for analyzing imperative recursive algorithms and for synthesizing optimal algorithms.<br />First we develop, formalize, and prove automatically, in the \emph{Theorema} system, the soundness of a method for the verification of imperative recursive programs. Our goal is to identify the minimal logical apparatus necessary for formulating and proving (in computer-assisted manner) a correct collection of methods for program verification. Our work shows that reasoning about programs does not necessarily need a complex theoretical construction, because it is possible to transfer the semantics of the program into the semantics of logical formulas, thus avoiding any special theory related to program execution. We express the semantics as an implicit definition, in the object theory, of the function implemented by the program. Termination, defined also in the object theory, is an induction principle developed from the structure of the program with respect to iterative structures (recursive calls and exttt{\underline{while}} loops). An object theory is the theory relevant to the predicates, constants, and functions occurring in the program text.<br />Currently, our method can be applied to programs with single recursion and with arbitrarily-nested loops with abrupt termination ( exttt{\underline{break}}, exttt{\underline{return}}).<br />Second we investigate methods for synthesizing optimal algorithms. As a case study, we consider the square root problem: given the real number $x$ and the error bound $\varepsilon$, find a real interval such that it contains $\sqrt{x}$ and its width is less than $\varepsilon$. We use iterative refining as algorithm schema: the algorithm starts with an initial interval and repeatedly updates it by applying a refinement map, say $f,$ on it until it becomes narrow enough. Then the synthesis amounts to finding a refinement map $f$ that ensures that the algorithm is correct (loop invariant), terminating (contraction), and optimal. All these could be formulated as quantifier elimination over the real numbers. Hence, in principle, they could be performed automatically. However, the computational requirement is huge, making the automatic synthesis practically impossible with the current general quantifier elimination software. Therefore, we performed some hand derivations and were able to synthesize semi-automatically optimal algorithms under natural assumptions.</subfield></datafield><datafield tag="689" ind1="0" ind2="0"><subfield code="a">Programmanalyse</subfield><subfield code="D">s</subfield><subfield code="0">(DE-588)4175841-9</subfield></datafield><datafield tag="689" ind1="0" ind2="1"><subfield code="a">Algorithmische Programmierung</subfield><subfield code="D">s</subfield><subfield code="0">(DE-588)4293504-0</subfield></datafield><datafield tag="689" ind1="0" ind2="2"><subfield code="a">Theorema</subfield><subfield code="D">s</subfield><subfield code="0">AS0054451</subfield></datafield><datafield tag="689" ind1="0" ind2="3"><subfield code="a">Programmsynthese</subfield><subfield code="D">s</subfield><subfield code="0">(DE-588)4295513-0</subfield></datafield><datafield tag="689" ind1="0" ind2="4"><subfield code="a">Quantorenelimination</subfield><subfield code="D">s</subfield><subfield code="0">(DE-588)4308709-7</subfield></datafield><datafield tag="689" ind1="0" ind2=" "><subfield code="5">AT-OBV</subfield><subfield code="5">UBLAND</subfield></datafield><datafield tag="970" ind1="1" ind2=" "><subfield code="c">23</subfield></datafield><datafield tag="970" ind1="2" ind2=" "><subfield code="d">HS-DISS</subfield></datafield><datafield tag="970" ind1="0" ind2=" "><subfield code="a">OPUS27820</subfield></datafield><datafield tag="971" ind1="1" ind2=" "><subfield code="a">Jebelean, Tudor</subfield></datafield><datafield tag="971" ind1="1" ind2=" "><subfield code="a">Hong, Hoon</subfield></datafield><datafield tag="971" ind1="3" ind2=" "><subfield code="a">2012-11</subfield></datafield><datafield tag="971" ind1="4" ind2=" "><subfield code="a">Dr. techn.</subfield></datafield><datafield tag="971" ind1="5" ind2=" "><subfield code="a">Johannes Kepler Universität Linz</subfield><subfield code="b">Technisch-Naturwissenschaftliche Fakultät</subfield><subfield code="c">Institut für Symbolisches Rechnen</subfield></datafield><datafield tag="971" ind1="8" ind2=" "><subfield code="a">Programmanalyse / imperative rekursive Programme / abrupte Termination / Theorema / Programmsynthese / Quadratwurzelberechnung / Quantorenelimination</subfield></datafield><datafield tag="971" ind1="9" ind2=" "><subfield code="a">program analysis / imperative recursive programs / abrupt termination / Theorema system / program synthesis / square root computation / quantifier elimination</subfield></datafield><datafield tag="ADM" ind1=" " ind2=" "><subfield code="b">2024-02-29 23:36:35 Europe/Vienna</subfield><subfield code="d">20</subfield><subfield code="f">System</subfield><subfield code="c">marc21</subfield><subfield code="a">2018-12-24 09:43:01 Europe/Vienna</subfield><subfield code="g">false</subfield></datafield><datafield tag="HOL" ind1="8" ind2=" "><subfield code="b">YWOAW</subfield><subfield code="h"> 41554-C.Stip. </subfield><subfield code="c">MAG1-3</subfield><subfield code="8">2219917580004498</subfield></datafield><datafield tag="852" ind1="8" ind2=" "><subfield code="b">YWOAW</subfield><subfield code="c">MAG1-3</subfield><subfield code="h"> 41554-C.Stip. </subfield><subfield code="8">2219917580004498</subfield></datafield><datafield tag="ITM" ind1=" " ind2=" "><subfield code="9">2219917580004498</subfield><subfield code="e">1</subfield><subfield code="m">BOOK</subfield><subfield code="b">+YW18296704</subfield><subfield code="i">2014-41554-C.Stip.</subfield><subfield code="2">MAG1-3</subfield><subfield code="o">20140228</subfield><subfield code="8">2319917570004498</subfield><subfield code="f">02</subfield><subfield code="p">2014-02-28 01:00:00 Europe/Vienna</subfield><subfield code="h">41554-C.Stip.</subfield><subfield code="1">YWOAW</subfield><subfield code="q">2022-06-09 12:01:40 Europe/Vienna</subfield></datafield></record></collection> |