Passer à la navigation principale Passer à la recherche Passer au contenu principal

Proof checking and logic programming

Résultats de recherche: Contribution à un journalArticleRevue par des pairs

Résumé

In a world where trusting software systems is increasingly important, formal methods and formal proof can help provide some basis for trust. Proof checking can help to reduce the size of the trusted base since we do not need to trust an entire theorem prover: instead, we only need to trust a (smaller and simpler) proof checker. Many approaches to building proof checkers require embedding within them a full programming language. In most modern proof checkers and theorem provers, that programming language is a functional programming language, often a variant of ML. In fact, aspects of ML (e.g., strong typing, abstract datatypes, and higher-order programming) were designed to make ML a trustworthy “meta-language” for checking proofs. While there is considerable overlap between logic programming and proof checking (e.g., both benefit from unification, backtracking search, efficient term structures, etc.), the discipline of logic programming has, in fact, played a minor role in the history of proof checking. I will argue that logic programming can have a major role in the future of this important topic.

langue originaleAnglais
Pages (de - à)383-399
Nombre de pages17
journalFormal Aspects of Computing
Volume29
Numéro de publication3
Les DOIs
étatPublié - 1 mai 2017

Empreinte digitale

Examiner les sujets de recherche de « Proof checking and logic programming ». Ensemble, ils forment une empreinte digitale unique.

Contient cette citation