Plastic: Typed LF with Inductive Types, Universes, and Coercive Subtyping
Plastic is an implementation in Haskell-98 of Typed LF with various
extensions, in the form of a proof assistant.
Typed LF is a framework type theory, in which other type theories
may be defined (Luo, 1994).
Extensions include Inductive Types, Universes, and Coercive Subtyping.
It may be regarded as a meta-level version of
Lego, with extensions.
Plastic is used to test ideas from Durham research, and we plan to use it
as a platform for implementing domain-specific reasoning tools.
Plastic is implemented in the higher-order non-strict functional
language Haskell, and uses the Happy
parser generator.
It has a convenient emacs-based interface, courtesy of David Aspinall's
generic Proof General.
Speed-wise, it compares favourably with similar systems written in strict
languages (compiled with GHC).
See also Plastic and
Computer Assisted Reasoning Group
pages.
- Developer:Paul Callaghan
- Contact:
-
Paul Callaghan
Computer Assisted Reasoning Group
Dept. of Computer Science
University of Durham
South Road
Durham
DH1 3LE
UK.
Email: P.C.Callaghan@durham.ac.uk
- Number of sites: 2+
- Number of users: 5+
- In use: since 1999
- Language:
Haskell (specifically, Haskell-98)
- Compilers:
Glasgow Haskell
,
Hugs
- Line count: currently about 400k of code (comments extra)
- Availability: Plans to distribute Linux and Sparc executables
early 2000, with source code to follow.
(See here
for latest news, or contact author.)
- Related publications: (see pages above or contact the author)
- Z. Luo,
Computation and Reasoning:A Type Theory for Computer Science,
Oxford University Press, 1994.
- P. Callaghan and Z. Luo,
Implementation Techniques for Inductive Types
(submitted to Proc. TYPES'99).
- P. Callaghan and Z. Luo,
Plastic: an Implementation of Typed LF with Coercive Subtyping & Universes
(submitted to JAR special issue on LFM'99).
- Z. Luo,
Coercive subtyping,
Journal of Logic and Computation, 9 (97-13), pp 105-130, 1999.
- P. Callaghan and Z. Luo,
Mathematical vernacular in type theory based proof assistants,
Proc. User Interfaces for Theorem Provers (UITP'98), 1998.