Types, Subtypes, and ASL+

  title={Types, Subtypes, and ASL+},
  author={David Aspinall},
  • D. Aspinall
  • Published in COMPASS/ADT 30 May 1994
  • Computer Science
ASL+ is a formalism for specification and programming in-the-large, based on an arbitrary institution. It has rules for proving the satisfaction and refinement of specifications, which can be seen as a type theory with subtyping, including contravariant refinement for II-abstracted specifications and a notion of stratified equality for higher-order objects. We describe the syntax of the language and a partial equivalence relation semantics. This style of semantics is familiar from subtyping… 

Subtyping with Power Types

This paper introduces a typed λ-calculus called λPOWER, a predicative reformulation of part of Cardelli's power type system, which is given a model definition using a form of applicative structures and "rough" types are used to prove strong normalization of the calculus and to structure models.

Type Checking Parametrised Programs and Specifications in ASL+FPC

This paper introduces \(\mathcal{FPC}\) and ASL+FPC and their type checking systems and is notable for including sharing equations inside signatures, reminiscent of so-called manifest types or translucent sums in type systems for programming language modules.

A scalable module system

What is an Abstract Data Type, after all?

We look back on ten Workshops on Abstract Data Types. Organizers and publications, a list of authors referencing their talks and papers on the workshops, and a workshop bibliography are presented.

Amalgamation in CASL via Enriched Signatures

Enriched CASL satisfies the amalgamation property, which fails in the CASL institution, as well as its converse, so the previously suggested institution-independent semantics of architectural specifications is actually applicable to CASL.



Subtyping with Singleton Types

We give syntax and a PER-model semantics for a typed λ-calculus with subtypes and singleton types. The calculus may be seen as a minimal calculus of subtyping with a simple form of dependent types.

A semantic basis for quest

The type inference rules for Quest are described in detail, and the meaning of these rules are given using a partial equivalence relation model of types.

Verification in ASL and related specification languages

This thesis presents a collection of sublanguages, infeience systems and side conditions which add a new dimension to the fascinating job started by ASL in [SW 831], and encounters four main problems for the verification of implementations: hiding of auxiliary functions, behavioural abstraction, reachability constraints and parameterization.

Specifications in an Arbitrary Institution

Structural subtyping and the notion of power type

The mixing of value and type levels becomes a considerable obstacle when considering compiled languages, or languages extended with imperative features, which must make a clear distinction between compile-time and run-time phases.

Coherence of subsumption, minimum typing and type-checking in F ≤

A normalizing rewriting system on proofs is defined, which transforms different proofs of the same typing judgement into a unique normal proof, with the further property that all the normal proofs assigning different types to a given term in a given environment differ only by a final application of the subsumption rule.

Inheritance as Implicit Coercion

Bounded quantification is undecidable

The question of the decidability of subtyping, and hence of typechecking, is settled here in the negative, using a reduction from the halting problem for two-counter Turing machines to show that the subtype relation of F≤ is undecidable.

Institutions: abstract model theory for specification and programming

This paper says that any institution such that signatures can be glued together, also allows gluing together theories (which are just collections of sentences over a fixed signature), and shows how to define institutions that allow sentences and constraints from two or more institutions.

Structuring Specifications in-the-Large and in-the-Small: Higher-Order Functions, Dependent Types and Inheritance in SPECTRAL

The language includes constructs for defining general higher-order functions yielding specifications or program modules, and concepts of subtyping and (object-oriented) inheritance are included to support the specification development process and to enhance re-usability.