13,765 research outputs found
Rewriting Logic Semantics of a Plan Execution Language
The Plan Execution Interchange Language (PLEXIL) is a synchronous language
developed by NASA to support autonomous spacecraft operations. In this paper,
we propose a rewriting logic semantics of PLEXIL in Maude, a high-performance
logical engine. The rewriting logic semantics is by itself a formal interpreter
of the language and can be used as a semantic benchmark for the implementation
of PLEXIL executives. The implementation in Maude has the additional benefit of
making available to PLEXIL designers and developers all the formal analysis and
verification tools provided by Maude. The formalization of the PLEXIL semantics
in rewriting logic poses an interesting challenge due to the synchronous nature
of the language and the prioritized rules defining its semantics. To overcome
this difficulty, we propose a general procedure for simulating synchronous set
relations in rewriting logic that is sound and, for deterministic relations,
complete. We also report on two issues at the design level of the original
PLEXIL semantics that were identified with the help of the executable
specification in Maude
Mendler-style Iso-(Co)inductive predicates: a strongly normalizing approach
We present an extension of the second-order logic AF2 with iso-style
inductive and coinductive definitions specifically designed to extract programs
from proofs a la Krivine-Parigot by means of primitive (co)recursion
principles. Our logic includes primitive constructors of least and greatest
fixed points of predicate transformers, but contrary to the common approach, we
do not restrict ourselves to positive operators to ensure monotonicity, instead
we use the Mendler-style, motivated here by the concept of monotonization of an
arbitrary operator on a complete lattice. We prove an adequacy theorem with
respect to a realizability semantics based on saturated sets and
saturated-valued functions and as a consequence we obtain the strong
normalization property for the proof-term reduction, an important feature which
is absent in previous related work.Comment: In Proceedings LSFA 2011, arXiv:1203.542
Classical logic, continuation semantics and abstract machines
One of the goals of this paper is to demonstrate that denotational semantics is useful for operational issues like implementation of functional languages by abstract machines. This is exemplified in a tutorial way by studying the case of extensional untyped call-by-name λ-calculus with Felleisen's control operator 𝒞. We derive the transition rules for an abstract machine from a continuation semantics which appears as a generalization of the ¬¬-translation known from logic. The resulting abstract machine appears as an extension of Krivine's machine implementing head reduction. Though the result, namely Krivine's machine, is well known our method of deriving it from continuation semantics is new and applicable to other languages (as e.g. call-by-value variants). Further new results are that Scott's D∞-models are all instances of continuation models. Moreover, we extend our continuation semantics to Parigot's λμ-calculus from which we derive an extension of Krivine's machine for λμ-calculus. The relation between continuation semantics and the abstract machines is made precise by proving computational adequacy results employing an elegant method introduced by Pitts
- …