Proofs of correctness of imperative programs are traditionally done in first order frameworks derived from Hoare logic~\cite{Hoare69}. On the other hand, correctness proofs of purely functional programs are almost always done in higher order logics. In particular, the realizability~\cite{Kleene52} allow to extract correct functional programs from constructive proofs of existential formulae. In this paper, we establish a relation between these two approaches and show how proofs in Hoare logic can be interpreted in type theory, yielding a translation of imperative programs into functional ones. Starting from this idea, we propose an interpretation of correctness formulae in type theory for a programming language mixing imperative and function...
This paper explores the relationship between verification of logic programs and imperative programs ...
Modern programming languages offer a lot of guarantees (no or few memory leaks, safe parallel progra...
In this paper, we show how to integrate linear types with type dependency, by extending the linear/n...
Proofs of correctness of imperative programs are traditionally done in first order frameworks derive...
Proofs of correctness of imperative programs are traditionally done in first order frameworks derive...
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 concerned with the type analysis of logic programs where, by type, we mean a property ...
MartinLofs intuitionistic type theory has been under investigation in recent years as a potential so...
Programs are interpreted as types in a constructive type theory. Rules for a logic of programs can ...
In this chapter we investigate a computational interpretation of constructive proofs and relate it t...
Software systems are ubiquitous. Failure in safety- and security-critical systems, e.g., the control...
This thesis addresses the problem of avoiding errors in functionalprograms. The thesis has three par...
In this paper we investigate a logic for reasoning about programs with higher-order functions and ef...
AbstractWe present the program development concept in a logical framework including constructive typ...
This paper explores the relationship between verification of logic programs and imperative programs ...
Modern programming languages offer a lot of guarantees (no or few memory leaks, safe parallel progra...
In this paper, we show how to integrate linear types with type dependency, by extending the linear/n...
Proofs of correctness of imperative programs are traditionally done in first order frameworks derive...
Proofs of correctness of imperative programs are traditionally done in first order frameworks derive...
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 concerned with the type analysis of logic programs where, by type, we mean a property ...
MartinLofs intuitionistic type theory has been under investigation in recent years as a potential so...
Programs are interpreted as types in a constructive type theory. Rules for a logic of programs can ...
In this chapter we investigate a computational interpretation of constructive proofs and relate it t...
Software systems are ubiquitous. Failure in safety- and security-critical systems, e.g., the control...
This thesis addresses the problem of avoiding errors in functionalprograms. The thesis has three par...
In this paper we investigate a logic for reasoning about programs with higher-order functions and ef...
AbstractWe present the program development concept in a logical framework including constructive typ...
This paper explores the relationship between verification of logic programs and imperative programs ...
Modern programming languages offer a lot of guarantees (no or few memory leaks, safe parallel progra...
In this paper, we show how to integrate linear types with type dependency, by extending the linear/n...