8,505 research outputs found
Facilitating modular property-preserving extensions of programming languages
We will explore an approach to modular programming language descriptions and extensions in a denotational style.
Based on a language core, language features are added stepwise on the core. Language features can be described
separated from each other in a self-contained, orthogonal way. We present an extension semantics framework consisting
of mechanisms to adapt semantics of a basic language to new structural requirements in an extended language
preserving the behaviour of programs of the basic language. Common templates of extension are provided. These
can be collected in extension libraries accessible to and extendible by language designers. Mechanisms to extend
these libraries are provided. A notation for describing language features embedding these semantics extensions is
presented
Action semantics in retrospect
This paper is a themed account of the action semantics project, which Peter Mosses has led since the 1980s. It explains his motivations for developing action semantics, the inspirations behind its design, and the foundations of action semantics based on unified algebras. It goes on to outline some applications of action semantics to describe real programming languages, and some efforts to implement programming languages using action semantics directed compiler generation. It concludes by outlining more recent developments and reflecting on the success of the action semantics project
An Algebraic Framework for Compositional Program Analysis
The purpose of a program analysis is to compute an abstract meaning for a
program which approximates its dynamic behaviour. A compositional program
analysis accomplishes this task with a divide-and-conquer strategy: the meaning
of a program is computed by dividing it into sub-programs, computing their
meaning, and then combining the results. Compositional program analyses are
desirable because they can yield scalable (and easily parallelizable) program
analyses.
This paper presents algebraic framework for designing, implementing, and
proving the correctness of compositional program analyses. A program analysis
in our framework defined by an algebraic structure equipped with sequencing,
choice, and iteration operations. From the analysis design perspective, a
particularly interesting consequence of this is that the meaning of a loop is
computed by applying the iteration operator to the loop body. This style of
compositional loop analysis can yield interesting ways of computing loop
invariants that cannot be defined iteratively. We identify a class of
algorithms, the so-called path-expression algorithms [Tarjan1981,Scholz2007],
which can be used to efficiently implement analyses in our framework. Lastly,
we develop a theory for proving the correctness of an analysis by establishing
an approximation relationship between an algebra defining a concrete semantics
and an algebra defining an analysis.Comment: 15 page
Fuzzy inequational logic
We present a logic for reasoning about graded inequalities which generalizes
the ordinary inequational logic used in universal algebra. The logic deals with
atomic predicate formulas of the form of inequalities between terms and
formalizes their semantic entailment and provability in graded setting which
allows to draw partially true conclusions from partially true assumptions. We
follow the Pavelka approach and define general degrees of semantic entailment
and provability using complete residuated lattices as structures of truth
degrees. We prove the logic is Pavelka-style complete. Furthermore, we present
a logic for reasoning about graded if-then rules which is obtained as
particular case of the general result
Semantic A-translation and Super-consistency entail Classical Cut Elimination
We show that if a theory R defined by a rewrite system is super-consistent,
the classical sequent calculus modulo R enjoys the cut elimination property,
which was an open question. For such theories it was already known that proofs
strongly normalize in natural deduction modulo R, and that cut elimination
holds in the intuitionistic sequent calculus modulo R. We first define a
syntactic and a semantic version of Friedman's A-translation, showing that it
preserves the structure of pseudo-Heyting algebra, our semantic framework. Then
we relate the interpretation of a theory in the A-translated algebra and its
A-translation in the original algebra. This allows to show the stability of the
super-consistency criterion and the cut elimination theorem
Second-Order Algebraic Theories
Fiore and Hur recently introduced a conservative extension of universal
algebra and equational logic from first to second order. Second-order universal
algebra and second-order equational logic respectively provide a model theory
and a formal deductive system for languages with variable binding and
parameterised metavariables. This work completes the foundations of the subject
from the viewpoint of categorical algebra. Specifically, the paper introduces
the notion of second-order algebraic theory and develops its basic theory. Two
categorical equivalences are established: at the syntactic level, that of
second-order equational presentations and second-order algebraic theories; at
the semantic level, that of second-order algebras and second-order functorial
models. Our development includes a mathematical definition of syntactic
translation between second-order equational presentations. This gives the first
formalisation of notions such as encodings and transforms in the context of
languages with variable binding
- ā¦