65,245 research outputs found
Formulas as Programs
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.Comment: 34 pages, appears in: The Logic Programming Paradigm: a 25 Years
Perspective, K.R. Apt, V. Marek, M. Truszczynski and D.S. Warren (eds),
Springer-Verlag, Artificial Intelligence Serie
Abstract Argumentation and Answer Set Programming: Two Faces of Nelson’s Logic
In this work, we show that both logic programming and abstract argumentation frameworks can be interpreted in terms of Nelson’s constructive logic N4. We do so by formalising, in this logic, two principles that we call noncontradictory inference and strengthened closed world assumption: the first states that no belief can be held based on contradictory evidence while the latter forces both unknown and contradictory evidence to be regarded as false. Using these principles, both logic programming and abstract argumentation frameworks are translated into constructive logic in a modular way and using the object language. Logic programming implication and abstract argumentation supports become, in the translation, a new implication connective following the noncontradictory inference principle. Attacks are then represented by combining this new implication with strong negation. Under consideration in Theory and Practice of Logic Programming (TPLP)
Constructive Negation in Extensional Higher-Order Logic Programming
Abstract Extensional higher-order logic programming has been recently proposed as an interesting extension of classical logic programming. An important characteristic of the new paradigm is that it preserves all the well-known properties of traditional logic programming. In this paper we enhance extensional higher-order logic programming with constructive negation. We argue that the main ideas underlying constructive negation are quite close to the existing proof procedure for extensional higher-order logic programming and for this reason the two notions amalgamate quite conveniently. We demonstrate the soundness of the resulting proof procedure and describe an actual implementation of a language that embodies the above ideas. In this way we obtain the first (to our knowledge) higher-order logic programming language supporting constructive negation and offering a new style of programming that genuinely extends that of traditional logic programming
Lewis meets Brouwer: constructive strict implication
C. I. Lewis invented modern modal logic as a theory of "strict implication".
Over the classical propositional calculus one can as well work with the unary
box connective. Intuitionistically, however, the strict implication has greater
expressive power than the box and allows to make distinctions invisible in the
ordinary syntax. In particular, the logic determined by the most popular
semantics of intuitionistic K becomes a proper extension of the minimal normal
logic of the binary connective. Even an extension of this minimal logic with
the "strength" axiom, classically near-trivial, preserves the distinction
between the binary and the unary setting. In fact, this distinction and the
strong constructive strict implication itself has been also discovered by the
functional programming community in their study of "arrows" as contrasted with
"idioms". Our particular focus is on arithmetical interpretations of the
intuitionistic strict implication in terms of preservativity in extensions of
Heyting's Arithmetic.Comment: Our invited contribution to the collection "L.E.J. Brouwer, 50 years
later
Strong Normalization for HA + EM1 by Non-Deterministic Choice
We study the strong normalization of a new Curry-Howard correspondence for HA
+ EM1, constructive Heyting Arithmetic with the excluded middle on
Sigma01-formulas. The proof-term language of HA + EM1 consists in the lambda
calculus plus an operator ||_a which represents, from the viewpoint of
programming, an exception operator with a delimited scope, and from the
viewpoint of logic, a restricted version of the excluded middle. We give a
strong normalization proof for the system based on a technique of
"non-deterministic immersion".Comment: In Proceedings COS 2013, arXiv:1309.092
Partial Applicative Theories and Explicit Substitutions
Systems based on theories with partial self-application are relevant to the formalization of constructive mathematics and as a logical basis for functional programming languages. In the literature they are either presented in the form of partial combinatory logic or the partial A calculus, and sometimes these two approaches are erroneously considered to be equivalent. In this paper we address some defects of the partial λ calculus as a constructive framework for partial functions. In particular, the partial λ calculus is not embeddable into partial combinatory logic and it lacks the standard recursion-theoretic model. The main reason is a concept of substitution, which is not consistent with a strongly intensional point of view. We design a weakening of the partial λ calculus, which can be embedded into partial combinatory logic. As a consequence, the natural numbers with partial recursive function application are a model of our system. The novel point will be the use of explicit substitutions, which have previously been studied in the literature in connection with the implementation of functional programming language
Hybrid Rules with Well-Founded Semantics
A general framework is proposed for integration of rules and external first
order theories. It is based on the well-founded semantics of normal logic
programs and inspired by ideas of Constraint Logic Programming (CLP) and
constructive negation for logic programs. Hybrid rules are normal clauses
extended with constraints in the bodies; constraints are certain formulae in
the language of the external theory. A hybrid program is a pair of a set of
hybrid rules and an external theory. Instances of the framework are obtained by
specifying the class of external theories, and the class of constraints. An
example instance is integration of (non-disjunctive) Datalog with ontologies
formalized as description logics.
The paper defines a declarative semantics of hybrid programs and a
goal-driven formal operational semantics. The latter can be seen as a
generalization of SLS-resolution. It provides a basis for hybrid
implementations combining Prolog with constraint solvers. Soundness of the
operational semantics is proven. Sufficient conditions for decidability of the
declarative semantics, and for completeness of the operational semantics are
given
Positive Logic with Adjoint Modalities: Proof Theory, Semantics and Reasoning about Information
We consider a simple modal logic whose non-modal part has conjunction and
disjunction as connectives and whose modalities come in adjoint pairs, but are
not in general closure operators. Despite absence of negation and implication,
and of axioms corresponding to the characteristic axioms of (e.g.) T, S4 and
S5, such logics are useful, as shown in previous work by Baltag, Coecke and the
first author, for encoding and reasoning about information and misinformation
in multi-agent systems. For such a logic we present an algebraic semantics,
using lattices with agent-indexed families of adjoint pairs of operators, and a
cut-free sequent calculus. The calculus exploits operators on sequents, in the
style of "nested" or "tree-sequent" calculi; cut-admissibility is shown by
constructive syntactic methods. The applicability of the logic is illustrated
by reasoning about the muddy children puzzle, for which the calculus is
augmented with extra rules to express the facts of the muddy children scenario.Comment: This paper is the full version of the article that is to appear in
the ENTCS proceedings of the 25th conference on the Mathematical Foundations
of Programming Semantics (MFPS), April 2009, University of Oxfor
- …