This paper presents a dependently-typed programming language that uses an adaptation of a congruence closure algorithm for proof and type inference. While most dependently-typed languages auto-matically use equalities that follow from β-reductions but do not automatically use known assumptions from the context, our lan-guage does the opposite. It uses assumptions but does not automat-ically reduce expressions. Our work includes the specification of the language via a bidirec-tional type system, which works “up-to-congruence, ” and an algo-rithm for elaborating expressions in this language to an explicitly typed core language. We prove that our elaboration algorithm is complete with respect to the source type system, and always pro-duces wel...
This paper deals with the application of constructive type theory to the theory of programming langu...
Programming languages based on dependent type theory promise two great advances: flexibility and sec...
In a dependently typed language, we can guarantee correctness of our programmes by providing formal ...
This paper presents the design of ZOMBIE, a dependently-typed programming language that uses an adap...
This paper presents the design of ZOMBIE, a dependently-typed programming language that uses an adap...
We propose a full-spectrum dependently typed programming language, Zombie, which supports general re...
We propose a full-spectrum dependently typed programming language, Zombie, which supports general re...
Most dependently-typed programming languages either require that all expressions terminate (e.g. Coq...
Dependently typed languages allow us to develop programs and write proofs quickly and without errors...
Dependently typed programming languages provide a way to write programs, specifications, and correct...
Most dependently-typed programming languages either require that all expressions terminate (e.g. Coq...
We present a simple type-checker for a language with dependent types and let expressions, with a sim...
Most existing programming languages provide little support to formally state and prove properties ab...
Types express a program's meaning, and checking types ensures that a program has the intended meanin...
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...
Programming languages based on dependent type theory promise two great advances: flexibility and sec...
In a dependently typed language, we can guarantee correctness of our programmes by providing formal ...
This paper presents the design of ZOMBIE, a dependently-typed programming language that uses an adap...
This paper presents the design of ZOMBIE, a dependently-typed programming language that uses an adap...
We propose a full-spectrum dependently typed programming language, Zombie, which supports general re...
We propose a full-spectrum dependently typed programming language, Zombie, which supports general re...
Most dependently-typed programming languages either require that all expressions terminate (e.g. Coq...
Dependently typed languages allow us to develop programs and write proofs quickly and without errors...
Dependently typed programming languages provide a way to write programs, specifications, and correct...
Most dependently-typed programming languages either require that all expressions terminate (e.g. Coq...
We present a simple type-checker for a language with dependent types and let expressions, with a sim...
Most existing programming languages provide little support to formally state and prove properties ab...
Types express a program's meaning, and checking types ensures that a program has the intended meanin...
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...
Programming languages based on dependent type theory promise two great advances: flexibility and sec...
In a dependently typed language, we can guarantee correctness of our programmes by providing formal ...