Filters








606,343 Hits in 5.1 sec

Elaboration in Dependent Type Theory [article]

Leonardo de Moura, Jeremy Avigad, Soonho Kong, Cody Roux
2015 arXiv   pre-print
We describe an elaboration algorithm for dependent type theory that has been implemented in the Lean theorem prover.  ...  Lean's elaborator supports higher-order unification, type class inference, ad hoc overloading, insertion of coercions, the use of tactics, and the computational reduction of terms.  ...  The elaboration task What makes dependent type theory "dependent" is that types can depend on elements of other types.  ... 
arXiv:1505.04324v2 fatcat:kyxxjkfngrekxdomsqstbntkpq

Elaboration in Dependent Type Theory

Leonardo De Moura, Jeremy Avigad, Soonho Kong, Cody Roux
2018
We describe an elaboration algorithm for dependent type theory that has been implemented in the Lean theorem prover.  ...  Lean's elaborator supports higher-order unification, type class inference, ad hoc overloading, insertion of coercions, the use of tactics, and the computational reduction of terms.  ...  The elaboration task What makes dependent type theory "dependent" is that types can depend on elements of other types.  ... 
doi:10.1184/r1/6491486.v1 fatcat:ah3vzuhwh5a4bfp5n63svrk4qu

Homotopy Type Theory in Isabelle [article]

Joshua Chen
2021 arXiv   pre-print
This paper introduces Isabelle/HoTT, the first development of homotopy type theory in the Isabelle proof assistant.  ...  the source code level of dependently typed systems.  ...  developments of dependent type theory.  ... 
arXiv:2002.09282v2 fatcat:cgaeh2o2jrhlrb37ofqayl4pre

Dependent Types for Pragmatics [article]

Darryl McAdams, Jonathan Sterling
2015 arXiv   pre-print
This paper proposes the use of dependent types for pragmatic phenomena such as pronoun binding and presupposition resolution as a type-theoretic alternative to formalisms such as Discourse Representation  ...  Theory and Dynamic Semantics.  ...  The Connectives of Type Theory The two main connectives of type theory are the dependent pair (x : A) × B and the dependent function (x : A) → B, where x may occur free in B. 1 Dependent pairs To define  ... 
arXiv:1410.4639v3 fatcat:tqcnueph25fzbjaq5xu4hfc34u

The Adequacy of the Theory of Logical Function Applied to Some Clauses in Chinua Achebe's Novel Things Fall Apart

L Mardianto, J Suhadi, Purwarno .
2018 KnE Social Sciences  
The types of clause complexes used in the novel cover paratactic elaboration, hypotactic elaboration, paratactic extension, hypotactic extension, paratactic enhancement, hypotactic enhancement, paratactic  ...  The evidence is based on the fact that all types of clause complexes as postulated in the theory of logical function are found in the novel, as the sample of natural language.  ...  Expansion divides into three types: elaboration marked by (=) in the analysis, extension marked by (+), and enhancement marked by (x).  ... 
doi:10.18502/kss.v3i4.1954 fatcat:jpqeegnd5bgqnobgvhd4r5ewv4

Idris, a general-purpose dependently typed programming language: Design and implementation

EDWIN BRADY
2013 Journal of functional programming  
In this paper, I describe the implementation of IDRIS, a new dependently-typed functional programming language.  ...  Many components of a dependently-typed programming language are by now well understood, for example the underlying type theory, type checking, unification and evaluation.  ...  This paper describes a method for elaborating a high-level dependently-typed functional programming language to a low-level core based on dependent type theory.  ... 
doi:10.1017/s095679681300018x fatcat:c3h6qstkpnb3dainydfsxqzyui

Bidirectional type class instances

Koen Pauwels, Georgios Karachalias, Michiel Derhaeg, Tom Schrijvers
2019 Proceedings of the 12th ACM SIGPLAN International Symposium on Haskell - Haskell 2019  
GADTs were introduced in Haskell's eco-system more than a decade ago, but their interaction with several mainstream features such as type classes and functional dependencies has a lot of room for improvement  ...  We provide a proof-of-concept implementation of our algorithm, and revisit the meta-theory of type classes in the presence of our extension.  ...  The term typing relation ensures that e has type σ under typing environment Γ and program theory P, and elaborates e into System F C term t.  ... 
doi:10.1145/3331545.3342596 dblp:conf/haskell/PauwelsKDS19 fatcat:2nc3z5itlngozbo3dy2heh66k4

Elaborating Inductive Definitions and Course-of-Values Induction in Cedille [article]

Christopher Jenkins, Colin McDonald, Aaron Stump
2019 arXiv   pre-print
In the Calculus of Dependent Lambda Eliminations (CDLE), a pure Curry-style type theory, it is possible to generically λ-encode inductive datatypes which support course-of-values (CoV) induction.  ...  This datatype subsystem and elaborator are implemented in Cedille, establishing for the first time a complete translation of inductive definitions to a small pure typed λ-calculus.  ...  Background: CDLE We review the Calculus of Dependent Lambda Eliminations (CDLE), the type theory of Cedille.  ... 
arXiv:1903.08233v3 fatcat:rgzfv32azfcwfmhrfi5kv5mwbe

Proofs and Programs about Open Terms [article]

Francisco Ferreira Ruiz
2018 arXiv   pre-print
language that make implementing formal systems with binders easier, and finally, we explore the idea of embedding the logical framework LF using contextual types in fully dependently typed theory.  ...  framework LF with the expressivity of dependent types.  ...  For Agda, a full dependently typed programming language based on Martin Löf type theory, Norell (2007, Chapter 3) describes a bi-directional type inference algorithm, but does not treat the elaboration  ... 
arXiv:1805.07176v1 fatcat:pxvtcretendzxgpq7bgnsgdhiu

Elaborating Inductive Definitions [article]

Pierre-Evariste Dagand, Conor McBride
2012 arXiv   pre-print
about inductive definitions could be carried in the type theory, not in the meta-theory as it is usually the case.  ...  For the type theorist, this is a small step toward bootstrapping, ie. implementing the inductive fragment in the type theory itself.  ...  In a dependent type theory, inductive types come in various shapes and forms.  ... 
arXiv:1210.6390v2 fatcat:oe7zdyq4zffunbyqtvrpkwvgmu

Type checking through unification [article]

Francesco Mazzoli, Andreas Abel
2016 arXiv   pre-print
In this paper we describe how to leverage higher-order unification to type check a dependently typed language with meta-variables.  ...  This interplay is a major source of complexity in the type-checking algorithm for existing dependently typed programming languages.  ...  the type-checking algorithm we will make use of a dependent type theory with booleans and one universe.  ... 
arXiv:1609.09709v1 fatcat:fzr565qiifcs3lsbienkj5huca

Gradualizing the Calculus of Inductive Constructions [article]

Meven Lennon-Bertrand, Kenji Maillard, Nicolas Tabareau, Éric Tanter
2021 arXiv   pre-print
We first present a bidirectional elaboration of GCIC to a dependently-typed cast calculus, CastCIC, which elucidates the interrelation between typing, conversion, and the gradual guarantees.  ...  This work informs and paves the way towards the development of malleable proof assistants and dependently-typed programming languages.  ...  But by default, in this article, the expression "type theory" is used to refer to a type theory with full dependent types, such as CIC.  ... 
arXiv:2011.10618v3 fatcat:u2pca6lkdzfwtd7i5k3gh4mela

Code Generation for Higher Inductive Types [article]

Paventhan Vivekanandan
2018 arXiv   pre-print
While work proceeds on type theories with a computational interpretation of univalence and higher inductive types, it is convenient to encode these structures in more traditional type theories with mature  ...  Higher inductive types are inductive types that include nontrivial higher-dimensional structure, represented as identifications that are not reflexivity.  ...  Luckily, this boilerplate code can be mechanically generated using Agda's recent support for elaborator reflection [6] , a paradigm for metaprogramming in an implementation of type theory.  ... 
arXiv:1808.08330v1 fatcat:qwd4kzri6rhfxdl7naf6cfscqi

Elaborating dependent (co)pattern matching: No pattern left behind

JESPER COCKX, ANDREAS ABEL
2020 Journal of functional programming  
In a dependently typed language, we can guarantee correctness of our programmes by providing formal proofs.  ...  We present an algorithm elaborating definitions by dependent copattern matching to a core language with inductive data types, coinductive record types, an identity type, and constants defined by well-typed  ...  Abel Programs and Proofs via Refinement Types. Our research group is part of the EU Cost Action CA15123 The European research network on types for programming and verification (EUTypes).  ... 
doi:10.1017/s0956796819000182 fatcat:6bmqhh4745ccle2hihtqrhkeoy

Programming up to Congruence

Vilhelm Sjöberg, Stephanie Weirich
2015 SIGPLAN notices  
We prove that our elaboration algorithm is complete with respect to the source type system, and always produces well typed terms in the core language.  ...  Our work includes the specification of the language via a bidirectional type system, which works "up-to-congruence," and an algorithm for elaborating expressions in this language to an explicitly typed  ...  Making type constructors injective is unconventional for a dependent language. It is incompatible with e.g. Homotopy Type Theory, which proves Nat → Void = Bool → Void.  ... 
doi:10.1145/2775051.2676974 fatcat:sffkvxua7zezxn7yegrijtyz6u
« Previous Showing results 1 — 15 out of 606,343 results