Several mechanisms such as Canonical Structures, Type Classes, or Pullbacks have been recently introduced with the aim to improve the power and flexibility of the type inference algorithm for interactive theorem provers. We claim that all these mechanisms are particular instances of a simpler and more general technique, just consisting in providing suitable hints to the unification procedure underlying type inference. This allows a simple, modular and not intrusive implementation of all the above mentioned techniques, opening at the same time innovative and unexpected perspectives on its possible applications
We have developed powerful environments within the Nuprl Proof Development System for problem solvi...
AbstractWe extend polymorphic type inference with a very general notion of subtype based on the conc...
Type theory plays an essential role in computing and information science. It is the native language ...
Several mechanisms such as Canonical Structures, Type Classes, or Pullbacks have been recently int...
We consider the problems of first-order unification and type inference from a general perspective on...
Unification is the core of type inference algorithms for modern functional programming languages, li...
Modern functional programming languages, such as Haskell or OCaml, use sophisticated forms of type i...
Languages with rich type systems are beginning to employ a blend of type inference and type checking...
We address the problem of representing mathematical structures in a proof assistant which: 1) is bas...
Boxy Types: Inference for Higher-Rank Types and Impredicativity Languages with rich type systems are...
AbstractIn this paper, an inference mechanism is proposed for proof construction in Constructive Typ...
Languages with rich type systems are beginning to employ a blend of type inference and type checking...
Dependently typed languages such as Agda, Coq, and Idris use a syntactic first-order unification alg...
We introduce the notion of nonuniform coercion, which is the promotion of a value of one type to an ...
We discuss the use of type systems in a non-strict sense when designing unification algorithms. We f...
We have developed powerful environments within the Nuprl Proof Development System for problem solvi...
AbstractWe extend polymorphic type inference with a very general notion of subtype based on the conc...
Type theory plays an essential role in computing and information science. It is the native language ...
Several mechanisms such as Canonical Structures, Type Classes, or Pullbacks have been recently int...
We consider the problems of first-order unification and type inference from a general perspective on...
Unification is the core of type inference algorithms for modern functional programming languages, li...
Modern functional programming languages, such as Haskell or OCaml, use sophisticated forms of type i...
Languages with rich type systems are beginning to employ a blend of type inference and type checking...
We address the problem of representing mathematical structures in a proof assistant which: 1) is bas...
Boxy Types: Inference for Higher-Rank Types and Impredicativity Languages with rich type systems are...
AbstractIn this paper, an inference mechanism is proposed for proof construction in Constructive Typ...
Languages with rich type systems are beginning to employ a blend of type inference and type checking...
Dependently typed languages such as Agda, Coq, and Idris use a syntactic first-order unification alg...
We introduce the notion of nonuniform coercion, which is the promotion of a value of one type to an ...
We discuss the use of type systems in a non-strict sense when designing unification algorithms. We f...
We have developed powerful environments within the Nuprl Proof Development System for problem solvi...
AbstractWe extend polymorphic type inference with a very general notion of subtype based on the conc...
Type theory plays an essential role in computing and information science. It is the native language ...