THE THEORETICAL FOUNDATIONS OF LPTP (A LOGIC PROGRAM THEOREM PROVER)

Authors
Citation
Rf. Stark, THE THEORETICAL FOUNDATIONS OF LPTP (A LOGIC PROGRAM THEOREM PROVER), The journal of logic programming, 36(3), 1998, pp. 241-269
Citations number
22
Categorie Soggetti
Computer Science Theory & Methods","Computer Science Theory & Methods
ISSN journal
07431066
Volume
36
Issue
3
Year of publication
1998
Pages
241 - 269
Database
ISI
SICI code
0743-1066(1998)36:3<241:TTFOL(>2.0.ZU;2-M
Abstract
This article contains the theoretical foundations of LPTP, a logic pro gram theorem prover that has been implemented in Prolog by the author. LPTP is an interactive theorem prover in which one can prove correctn ess properties of pure Prolog programs that contain negation and built -in predicates like is/2 and call/n + 1. The largest example program t hat has been verified using LPTP is 635 lines long including its speci fication. The full formal correctness proof is 13128 lines long (133 p ages). The formal theory underlying LPTP is the inductive extension of pure Prolog programs. This is a first-order theory that contains indu ction principles corresponding to the definition of the predicates in the program plus appropriate axioms for built-in predicates. The induc tive extension allows to express modes and types of predicates. These can then be used to prove termination and correctness properties of pr ograms. The main result of this article is that the inductive extensio n is an adequate axiomatization of the operational semantics of pure P rolog with built-in predicates. (C) 1998 Elsevier Science Inc. All rig hts reserved.