English
Related papers

Related papers: The Semantics of Metapropramming in Prolog

200 papers

In previous work, we proposed a logic-based framework in which computation is the execution of actions in an attempt to make reactive rules of the form if antecedent then consequent true in a canonical model of a logic program determined by…

Artificial Intelligence · Computer Science 2020-02-19 Robert Kowalski , Fariba Sadri

Viewing formal mathematical proofs as logical terms provides a powerful and elegant basis for analyzing how human experts tend to structure proofs and how proofs can be structured by automated methods. We pursue this approach by (1)…

Logic in Computer Science · Computer Science 2025-06-12 Christoph Wernhard , Zsolt Zombori

Software is a communication system. The usual topic of communication is program behavior, as encoded by programs. Domain-specific libraries are codebooks, domain-specific languages are coding schemes, and so forth. To turn metaphor into…

Software Engineering · Computer Science 2007-07-30 Todd L. Veldhuizen

For formulas F of propositional calculus I introduce a "metavariable" MF and show how it can be used to define an algorithm for testing satisfiability. MF is a formula which is true/false under all possible truth assignments iff F is…

Logic · Mathematics 2009-11-10 Bernd R. Schuh

The semantics and the recursive execution model of Prolog make it very natural to express language interpreters in form of AST (Abstract Syntax Tree) interpreters where the execution follows the tree representation of a program. An…

Programming Languages · Computer Science 2020-08-31 Philipp Körner , David Schneider , Michael Leuschel

Modern computer programming languages are governed by complex syntactic rules. They are unlike natural languages; they require extensive manual work and a significant amount of learning and practicing for an individual to become skilled at…

Programming Languages · Computer Science 2012-04-03 Youssef Bassil , Aziz Barbar

Termination is an important and well-studied property for logic programs. However, almost all approaches for automated termination analysis focus on definite logic programs, whereas real-world Prolog programs typically use the cut operator.…

Logic in Computer Science · Computer Science 2010-07-29 Peter Schneider-Kamp , Jürgen Giesl , Thomas Ströder , Alexander Serebrenik , René Thiemann

Functional programming comes in two flavours: one where ``functions are first-class citizens'' (we call this applicative) and one which is based on equations (we call this declarative). In relational programming clauses play the role of…

Programming Languages · Computer Science 2007-05-23 H. Ibrahim , M. H. van Emden

Semantic parsing is the task of obtaining machine-interpretable representations from natural language text. We consider one such formal representation - First-Order Logic (FOL) and explore the capability of neural models in parsing English…

Computation and Language · Computer Science 2020-02-18 Hrituraj Singh , Milan Aggrawal , Balaji Krishnamurthy

Enterprise modeling deals with the increasing complexity of processes and systems by operationalizing model content and by linking complementary models and languages, thus amplifying the model-value beyond mere comprehensible pictures. To…

Software Engineering · Computer Science 2022-03-29 Victoria Döller

We introduce negation under the stable model semantics in DatalogMTL - a temporal extension of Datalog with metric temporal operators. As a result, we obtain a rule language which combines the power of answer set programming with the…

Logic in Computer Science · Computer Science 2023-06-14 Przemysław A. Wałęga , David J. Tena Cucala , Bernardo Cuenca Grau , Egor V. Kostylev

Type-preserving (or typed) compilation uses typing derivations to certify correctness properties of compilation. We have designed and implemented a type-preserving compiler for a simply-typed dialect of Prolog we call T-Prolog. The crux of…

Programming Languages · Computer Science 2022-06-29 Rose Bohrer , Karl Crary

We enable aProbLog---a probabilistic logical programming approach---to reason in presence of uncertain probabilities represented as Beta-distributed random variables. We achieve the same performance of state-of-the-art algorithms for highly…

Artificial Intelligence · Computer Science 2018-11-16 Federico Cerutti , Lance Kaplan , Angelika Kimmig , Murat Sensoy

MetaML-style metaprogramming languages allow programmers to construct, manipulate and run code. In the presence of higher-order references for code, ensuring type safety is challenging, as free variables can escape their binders. In this…

Programming Languages · Computer Science 2026-05-19 Haoxuan Yin , Andrzej S. Murawski , C. -H. Luke Ong

Partial correctness of imperative or functional programming divides in logic programming into two notions. Correctness means that all answers of the program are compatible with the specification. Completeness means that the program produces…

Logic in Computer Science · Computer Science 2025-08-26 Włodzimierz Drabent

Large Language Models (LLMs) have revolutionized natural language processing, yet they struggle with inconsistent reasoning, particularly in novel domains and complex logical sequences. This research introduces Proof of Thought, a framework…

Artificial Intelligence · Computer Science 2024-10-24 Debargha Ganguly , Srinivasan Iyengar , Vipin Chaudhary , Shivkumar Kalyanaraman

Neural-symbolic methods have demonstrated efficiency in enhancing the reasoning abilities of large language models (LLMs). However, existing methods mainly rely on syntactically mapping natural languages to complete formal languages like…

Computation and Language · Computer Science 2024-06-04 Yiming Wang , Zhuosheng Zhang , Pei Zhang , Baosong Yang , Rui Wang

We describe Elevator, a unifying polymorphic foundation for metaprogramming with memory management based on adjoint modalities. In this setting, we distinguish between multiple memory regions using modes where each mode has a specific set…

Programming Languages · Computer Science 2024-11-04 Junyoung Jang , Brigitte Pientka

A program is usually represented as a word chain. It is exactly a word chain that appears as the lexical analyzer output and is parsed. The work shows that a program can be syntactically represented as an oriented word tree, that is a…

Programming Languages · Computer Science 2012-03-23 Alex Shkotin

In this work, which is done in the context of a (moded) logic programming language, we devise a data-flow analysis dedicated to computing what we call argument profiles. Such a profile essentially describes, for each argument of a…

Logic in Computer Science · Computer Science 2023-08-31 Gonzague Yernaux , Wim Vanhoof