Zusammenfassung
Eine der wichtigsten Aufgaben der Informationsverarbeitung mit einem Rechner ist es, korrekte Programme zu erstellen. Der Begriff des „korrekten Programmes“ alleine ist dabei noch zu unscharf. Was soll es heißen, dass ein Programm „korrekt“ ist? Ein korrektes Programm muss eine Anforderung oder Spezifikation erfüllen. Um überhaupt über korrekte Programme reden zu können, braucht man also drei Dinge:
-
eine Programmiersprache, deren Elemente die korrekt geformten Programme sind,
-
eine Spezifikationssprache, deren Elemente die korrekt geformten Spezifikationen sind,
-
einen Korrektheitsbegriff, der entscheidet, ob ein gegebenes Programm eine gegebene Spezifikation erfüllt.
In dieser Allgemeinheit ist das Problem leider unentscheidbar. Das ist eine Folge des Satzes von Rice über Turing-Maschinen. In der HL wird die kalkülmäßige Verifikation von Programmen durch Hoaresche Tripel betrieben. Das sind Tripel {F} S {G}, für die gilt:
-
S ist ein einfaches Programm,
-
F, G sind Formeln der PL, die die Ein- und die daraus resultierende Ausgabe beschreiben.
Kalküle für Hoaresche Tripel mit kleinem Programmumfang werden vorgestellt.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Literatur
Apt, K.R., Olderog, E.R.: Verification of sequential and concurrent programs. Springer, New York (1991)
Apt, K.R., de Boer, F.S., Olderog, E.R.: Verification of sequential and concurrent programs (3rd ed.). Springer, London (2009)
de Bakker, J.W.: Mathematical Theory of Program Correctness. Prentice Hall, New Jersey (1980)
Hennessy, M.C.B., Plotkin, G.D.: Full abstraction for a simple programming language. Proceedings of Mathematical Foundations of Computer Science. Lect. Notes. Comp. Sci. 74, 108–120 (1979)
Hoare, C.A.R.: An axiomatic basis for computer programming. Commun. ACM. 12(10), 576–583 (1969)
Hopcroft, J.E., Motwani, R., Ullman, J.D.: Einführung in die Automatentheorie, Formale Sprachen und Komplexitätstheorie. Pearson, München (2002)
Plotkin, G.D.: A structural approach to operational semantics. Technical Report DAIMI-FN 19, Dept. of CS. Aarhus University, Aarhus (1981)
Author information
Authors and Affiliations
Corresponding author
Rights and permissions
Copyright information
© 2013 Springer Fachmedien Wiesbaden
About this chapter
Cite this chapter
Schenke, M. (2013). Hoaresche Logik. In: Logikkalküle in der Informatik. Studienbücher Informatik. Springer Vieweg, Wiesbaden. https://doi.org/10.1007/978-3-8348-2295-6_5
Download citation
DOI: https://doi.org/10.1007/978-3-8348-2295-6_5
Published:
Publisher Name: Springer Vieweg, Wiesbaden
Print ISBN: 978-3-8348-1887-4
Online ISBN: 978-3-8348-2295-6
eBook Packages: Computer Science and Engineering (German Language)