Constructive type theory as conceived by Per Martin-Lof has a very rich type system, but partial functions cannot be typed. This also makes it impossible to directly write recursive programs. In this paper a constructive type theory Red is defined which includes a partial type constructor A; objects in the type A may diverge, but if they converge, they must be members of A. A fixed point typing principle is given to allow typing of recursive functions. The extraction paradigm of type theory, whereby programs are automatically extracted from constructive proofs, is extended to allow extraction of fixed points. There is a Scott fixed point induction principle for reasoning about these functions. Soundness of the theory is proven. Type theory becomes a more expressive programming logic as a result. 1
|
372
|
The Calculus of Constructions
– Coquand, Huet
- 1988
|
|
354
|
Computational Lambda-Calculus and Monads
– Moggi
- 1989
|
|
302
|
Introduction to Higher Order Categorical Logic
– Lambek, Scott
- 1986
|
|
266
|
1984] Intuitionistic Type Theory
– Martin-Löf
|
|
251
|
Call-by-name, call-by-value and the *-calculus
– Plotkin
- 1975
|
|
245
|
The Lambda-Calculus, its Syntax and Semantics, volume 103
– Barendregt
- 1984
|
|
213
|
Constructive mathematics and computer programming
– Martin-Löf
- 1979
|
|
191
|
Introduction to combinators and *-calculus
– Hindley, Seldin
- 1988
|
|
168
|
A powerdomain construction
– Plotkin
- 1976
|
|
155
|
Intensional Interpretations of Functionals of Finite Type I
– Tait
- 1967
|
|
132
|
Mathematical Theory of Computation
– MANNA
- 1974
|
|
127
|
Logic and Computation: Interactive Proof with Cambridge LCF
– Paulson
- 1987
|
|
122
|
Using dependent types to express modular structure
– MacQueen
- 1986
|
|
113
|
An intuitionistic theory of types: predicative part
– Martin-Lof
- 1975
|
|
102
|
A syntactic theory of sequential control
– Felleisen, Friedman, et al.
- 1987
|
|
88
|
On the meanings of the logical constants and the justifications of the logical laws
– Martin-Löf
- 1985
|
|
76
|
Programming in MartinLöf’s Type Theory
– Nordström, Petersson, et al.
- 1990
|
|
71
|
A language and axioms for explicit mathematics
– Feferman
- 1975
|
|
70
|
The semantics of reflected proof
– Allen, Constable, et al.
- 1990
|
|
67
|
Edinburgh LCF: A Mechanized Logic
– Gordon, Milner, et al.
- 1979
|
|
50
|
The Semantics of Type Theoretic Languages
– Allen
- 1986
|
|
48
|
Inductive Definition in Type Theory
– Mendler
- 1987
|
|
35
|
Partial objects in constructive type theory
– Constable, Smith
- 1987
|
|
34
|
PX: A computational logic
– Hayashi, Nakano
- 1988
|
|
29
|
an Extended Calculus of Constructions
– ECC
- 1989
|
|
29
|
T.: Isabelle tutorial and user’s manual
– Paulson, Nipkow
- 1990
|
|
28
|
Programming, transforming, and proving with function abstractions and memories
– Mason, Talcott
- 1989
|
|
24
|
Logics for termination and correctness of functional programs
– Feferman
- 1992
|
|
21
|
Automating Reasoning in an Implementation of Constructive Type Theory
– Howe
- 1988
|
|
20
|
Computational foundations of basic recursive function theory
– Constable, Smith
- 1993
|
|
18
|
Constructive validity
– Scott
- 1970
|
|
17
|
Partial Objects in Type Theory
– Smith
- 1988
|
|
16
|
From operational to denotational semantics
– Smith
- 1991
|
|
14
|
The computational behaviour of Girard's paradox
– Howe
- 1987
|
|
13
|
Fully Abstract Models of the Lazy Lambda Calculus
– Ong
- 1988
|
|
11
|
A theory for program and data type specification
– Talcott
- 1992
|
|
10
|
New Foundations for Fixpoint Computations
– Crole, Pitts
- 1990
|
|
9
|
A non-type theoretic definition of Martin-Lof's types
– Allen
- 1987
|
|
8
|
Infinite objects in type theory
– Mendler, Panangaden, et al.
- 1986
|
|
4
|
Building theories in NuPRL
– Basin
- 1988
|
|
4
|
A theory of programs. unpublished notes
– deBakker, Scott
- 1969
|
|
4
|
Admissibility of fixed-point induction in first-order logic of typed theories
– Igarashi
- 1972
|
|
2
|
Combinators, Lambda-Terms and Proof Theory
– Stenlund
- 1972
|
|
1
|
Doit -yourself type theory (part 1). Formal Aspects of Computing, 1:19--84
– Backhouse, Chisholm, et al.
- 1989
|