The goals of the project described in this thesis are twofold. First, we wanted to demonstrate that if a programming language has a semantics that is complete and rigorous (mathematical), but not too complex, then substantial theorems can be proved about it. Second, we wanted to assess the utility of using an automated theorem prover to aid in such proofs. We chose SML as the language about which to prove theorems: it has a published semantics that is complete and rigorous, and while not exactly simple, is comprehensible. We encoded the semantics of Core SML into the theorem prover HOL (creating new definitional packages for HOL in the process). We proved important theorems about evaluation and about the type system. We also proved the type...
Normalizing meta-theory, or proofs about programming languages, in a proof assistant has many well-k...
We show how programming language semantics and definitions of their corresponding type systems can b...
Formal reasoning about computer programs can be based directly on the semantics of the programming l...
The goals of the project described in this thesis are twofold. First, we wanted to demonstrate that ...
Modern programming languages offer a lot of guarantees (no or few memory leaks, safe parallel progra...
When programmers want to prove strong program invariants, they are usually faced with a choice betwe...
This paper deals with the application of constructive type theory to the theory of programming langu...
This paper deals with the application of constructive type theory to the theory of programming langu...
this paper is to investigate the impact on the design of a programming language of tight integration...
Software systems are ubiquitous. Failure in safety- and security-critical systems, e.g., the control...
International audienceA common belief is that formalizing semantics of programming languages require...
AbstractThis paper presents a method for mechanically proving the soundness of a programming logic f...
We present an experiment in formally describing a programming language and its properties in constru...
We present an experiment in formally describing a programming language and its properties in constru...
Formalizing meta-theory, or proofs about programming languages, in a proof assistant has many well-k...
Normalizing meta-theory, or proofs about programming languages, in a proof assistant has many well-k...
We show how programming language semantics and definitions of their corresponding type systems can b...
Formal reasoning about computer programs can be based directly on the semantics of the programming l...
The goals of the project described in this thesis are twofold. First, we wanted to demonstrate that ...
Modern programming languages offer a lot of guarantees (no or few memory leaks, safe parallel progra...
When programmers want to prove strong program invariants, they are usually faced with a choice betwe...
This paper deals with the application of constructive type theory to the theory of programming langu...
This paper deals with the application of constructive type theory to the theory of programming langu...
this paper is to investigate the impact on the design of a programming language of tight integration...
Software systems are ubiquitous. Failure in safety- and security-critical systems, e.g., the control...
International audienceA common belief is that formalizing semantics of programming languages require...
AbstractThis paper presents a method for mechanically proving the soundness of a programming logic f...
We present an experiment in formally describing a programming language and its properties in constru...
We present an experiment in formally describing a programming language and its properties in constru...
Formalizing meta-theory, or proofs about programming languages, in a proof assistant has many well-k...
Normalizing meta-theory, or proofs about programming languages, in a proof assistant has many well-k...
We show how programming language semantics and definitions of their corresponding type systems can b...
Formal reasoning about computer programs can be based directly on the semantics of the programming l...