To spread the use of formal methods, a language must appeal to programmers, mathematicians and logicians. Set theory is the standard mathematical foundation, but often ignores computational aspects. Type theory has good support for mixing specification and implementation, but often imposes type constraints in excess of those found in typical programming languages. Furthermore, standard mathematics is untyped. Languages based on the untyped lambda calculus often permit non-terminating programs and require reasoning in non-classical logics. Languages without higher order functions often lack polymorphism. There is a wide gap between con-ventional programming languages and logic. This paper proposes NummSquared, a new formal language based onl...
Programmers don't just have to write programs, they are have to reason about them. Programming langu...
The design of a programming system is guided by certain beliefs, principles, and practical constrai...
Logic for reasoning about programs must proceed from the programming language semantics. It is our t...
We describe a formalization of the meta-mathematics of programming in a higher-order logical calculu...
There are compelling benefits to using foundational type theory as a framework for programming langu...
none1noTypes are an important part of any modern programming language, but we often forget that the ...
Church’s type theory, aka simple type theory, is a formal logical language which includes classical ...
. We give a new semantics for Nuprl's constructive type theory that justifies a useful embeddin...
This article discusses my work in the last few years on logical formalisms which have been shown to ...
In a sufficiently rich programming language it is possible to express a very substantial amount of ...
The starting point for this thesis is the Nuprl proof development system. Nuprl is an environment fo...
Most specification languages have a type system. Type systems are hard to get right, and getting the...
In spite of the importance of Formal Methods for development of a reliable hard- and software this d...
A gentle introduction for graduate students and researchers in the art of formalizing mathematics on...
Since 1970 several methods have been proposed for using formal systems of constructive logic as pro...
Programmers don't just have to write programs, they are have to reason about them. Programming langu...
The design of a programming system is guided by certain beliefs, principles, and practical constrai...
Logic for reasoning about programs must proceed from the programming language semantics. It is our t...
We describe a formalization of the meta-mathematics of programming in a higher-order logical calculu...
There are compelling benefits to using foundational type theory as a framework for programming langu...
none1noTypes are an important part of any modern programming language, but we often forget that the ...
Church’s type theory, aka simple type theory, is a formal logical language which includes classical ...
. We give a new semantics for Nuprl's constructive type theory that justifies a useful embeddin...
This article discusses my work in the last few years on logical formalisms which have been shown to ...
In a sufficiently rich programming language it is possible to express a very substantial amount of ...
The starting point for this thesis is the Nuprl proof development system. Nuprl is an environment fo...
Most specification languages have a type system. Type systems are hard to get right, and getting the...
In spite of the importance of Formal Methods for development of a reliable hard- and software this d...
A gentle introduction for graduate students and researchers in the art of formalizing mathematics on...
Since 1970 several methods have been proposed for using formal systems of constructive logic as pro...
Programmers don't just have to write programs, they are have to reason about them. Programming langu...
The design of a programming system is guided by certain beliefs, principles, and practical constrai...
Logic for reasoning about programs must proceed from the programming language semantics. It is our t...