
TL;DR
This paper presents a novel computational interpretation of first-order logic where formulas are viewed as programs, offering a practical approach to programming inspired by logic programming and implemented in ALMA-0.
Contribution
It introduces a new interpretation of first-order logic as programs, distinct from formulas-as-types, and demonstrates its application in a practical programming language ALMA-0.
Findings
Provides a constructive interpretation of satisfiability in logic
Shows how formulas can be directly executed as programs
Supports reasoning about correctness of non-recursive ALMA-0 programs
Abstract
We provide here a computational interpretation of first-order logic based on a constructive interpretation of satisfiability w.r.t. a fixed but arbitrary interpretation. In this approach the formulas themselves are programs. This contrasts with the so-called formulas as types approach in which the proofs of the formulas are typed terms that can be taken as programs. This view of computing is inspired by logic programming and constraint logic programming but differs from them in a number of crucial aspects. Formulas as programs is argued to yield a realistic approach to programming that has been realized in the implemented programming language ALMA-0 (Apt et al.) that combines the advantages of imperative and logic programming. The work here reported can also be used to reason about the correctness of non-recursive ALMA-0 programs that do not include destructive assignment.
Peer Reviews
No public reviews on file for this paper yet. If you reviewed it on a platform where reviews are public (OpenReview, ICLR, NeurIPS, ICML), you can paste yours below so the community can read it here.
Videos
No videos yet. Explain this paper in a talk, walkthrough, or lecture? Add one.
Taxonomy
TopicsLogic, Reasoning, and Knowledge · Logic, programming, and type systems · Constraint Satisfaction and Optimization
