# Pure Type Systems in Rewriting Logic: Specifying Typed Higher-Order Languages in a First-Order Logical Framework

@inproceedings{Stehr2004PureTS, title={Pure Type Systems in Rewriting Logic: Specifying Typed Higher-Order Languages in a First-Order Logical Framework}, author={Mark-Oliver Stehr and Jos{\'e} Meseguer}, booktitle={Essays in Memory of Ole-Johan Dahl}, year={2004} }

The logical and operational aspects of rewriting logic as a logical framework are tested and illustrated in detail by representing pure type systems as object logics. More precisely, we apply membership equational logic, the equational sublogic of rewriting logic, to specify pure type systems as they can be found in the literature and also a new variant of pure type systems with explicit names that solves the problems with closure under α-conversion in a very satisfactory way. Furthermore, we…

## 25 Citations

A Rewriting Logic Approach to Defining Type Systems

- Computer Science
- 2008

This work presents an extension of the syntactic approach to proving type system soundness presented by Wright and Felleisen [1994] that works in the above described semantics-based domain.

The Open Calculus of Constructions (Part II): An Equational Type Theory with Dependent Types for Programming, Specification, and Interactive Theorem Proving

- Computer ScienceFundam. Informaticae
- 2005

This work explores the open calculus of constructions as a uniform framework for programming, specification and interactive verification in an equational higher-order style and provides a foundation for a broad spectrum of applications ranging from what could be called executable mathematics.

A Rewriting Logic Approach to Type Inference

- Computer ScienceWADT
- 2008

This paper shows how the same RLS style employed for giving formal definitions of languages can be used to define type systems, giving type checkers or type inferencers.

Rewriting Logic Semantics: From Language Specifications to Formal Analysis Tools

- Computer ScienceIJCAR
- 2004

By using a high-performance implementation of rewriting logic such as Maude, a language’s formal specification can be automatically transformed into an efficient interpreter and several limitations of both SOS and equational semantics are overcome.

A Rewriting Logic Approach to Type Inference: Technical Report

- Computer Science
- 2008

This paper shows how the same RLS style employed for giving formal denitions of languages can be used to dene type systems, giving type checkers or type inferencers.

Two Case Studies of Semantics Execution in Maude: CCS and LOTOS

- Computer ScienceFormal Methods Syst. Des.
- 2005

Maude is presented as an executable semantic framework by providing easy-tool-building techniques for a language given its operational semantics by controlling the rewriting process by means of reflection.

CINNI – A Generic Calculus of Explicit Substitutions and its Application to λ-, ς- and π-Calculi

- Computer Science
- 2005

The solution is based on CINNI, a new calculus of explicit substitutions that makes use of a term representation that contains both the standard named notation and de Bruijn’s indexed notation as special subcases.

Executable structural operational semantics in Maude

- Computer ScienceJ. Log. Algebraic Methods Program.
- 2006

Symbolic Reasoning Methods in Rewriting Logic and Maude

- Computer ScienceWoLLIC
- 2018

Various symbolic methods that address crucial reasoning needs in rewriting logic are discussed, how they are supported by Maude and other symbolic engines, and various applications that these methods and engines make possible.

Generalized Rewrite Theories

- Computer Science, PhilosophyICALP
- 2003

This paper gives a detailed presentation of the inference rules, model theory, and completeness of such generalized rewrite theories and the Maude system now supports subsorting and conditions in the equational logic for data.

## References

SHOWING 1-10 OF 78 REFERENCES

A framework for defining logics

- Computer ScienceJACM
- 1993

The Edinburgh Logical Framework provides a means to define (or present) logics through a general treatment of syntax, rules, and proofs by means of a typed λ-calculus with dependent types, whereby each judgment is identified with the type of its proofs.

Typing in Pure Type Systems

- MathematicsInf. Comput.
- 1993

It is shown that in a subclass, the class of functional systems, the type of a term is unique up to β-equivalence, and it is proved that if all terms in a Pure Type System normalize and the set of sorts of that system is finite then the typing relation is decidable.

Membership algebra as a logical framework for equational specification

- PhilosophyWADT
- 1997

The paper presents the basic properties of the logic and its models, and discusses in detail how many total and partial equational specification formalisms can be represented in it, as well as the practical benefits in terms of tool reusability that this opens up for other languages, including CASL.

CINNI – A Generic Calculus of Explicit Substitutions and its Application to λ-, ς- and π-Calculi

- Computer Science
- 2005

The solution is based on CINNI, a new calculus of explicit substitutions that makes use of a term representation that contains both the standard named notation and de Bruijn’s indexed notation as special subcases.

Extraction of Structured Programs from Specification Proofs

- Computer ScienceWADT
- 1999

This paper presents a method using an extended logical system for obtaining programs from specifications written in a sublanguage of CASL, and provides a method for producing a program module that maximally respects the original structure of the specification.

CINNI - A Generic Calculus of Explicit Substitutions and its Application to lambda-, varsigma- and pi- Calculi

- Computer ScienceWRLA
- 2000

Maude: specification and programming in rewriting logic

- Computer ScienceTheor. Comput. Sci.
- 2002

Automated Theorem Proving in a Simple Meta-Logic for LF

- Computer ScienceCADE
- 1998

A meta-logic M2 is developed which allows inductive reasoning over LF encodings, and its implementation is described in Twelf, a special-purpose automated theorem prover for properties of logics and programming languages.

A Consistent Extension of the Lambda-Calculus as a Base for Functional Programming Languages

- Computer ScienceInf. Control.
- 1982