LEGO
LEGO is an interactive proof development system (proof assistant) designed and implemented by Randy Pollack in Edinburgh using New Jersey ML. It implements various related type systems - the Edinburgh Logical Framework (LF), the Calculus of Constructions (CC), the Generalized Calculus of Constructions (GCC) and the Unified Theory of Dependent Types (UTT). LEGO is a powerful tool for interactive proof development in the natural deduction style. It supports refinement proof as a basic operation. The system design emphasizes removing the more tedious aspects of interactive proofs. For example, features of the system like argument synthesis and universe polymorphism make proof checking more practical by bringing the level of formalization closer to that of informal mathematics. The higher-order power of its underlying type theories, and the support of specifying new inductive types, provide an expressive language for formalization of mathematical problems and program specification and development.
Keywords for this software
References in zbMATH (referenced in 65 articles )
Showing results 1 to 20 of 65.
Sorted by year (- Cockx, Jesper; Devriese, Dominique; Piessens, Frank: Unifiers as equivalences: proof-relevant unification of dependently typed data (2016)
- Charguéraud, Arthur: The locally nameless representation (2012)
- Crole, Roy L.: Alpha equivalence equalities (2012)
- Felty, Amy; Momigliano, Alberto: Hybrid. A definitional two-level approach to reasoning with higher-order abstract syntax (2012)
- Ranta, Aarne: Machine translation and type theory (2012)
- Dennis, Louise Abigail; Green, Ian; Smaill, Alan: The use of embeddings to provide a clean separation of term and annotation for higher order rippling (2011)
- Lengrand, Stéphane Jean Eric; Dyckhoff, Roy; McKinna, James: A focused sequent calculus framework for proof search in pure type systems (2011)
- Geuvers, H.: Proof assistants: history, ideas and future (2009)
- Luo, Zhaohui: Manifest fields and module mechanisms in intensional type theory (2009)
- Luo, Zhaohui; Adams, Robin: Structural subtyping for inductive types with functorial equality rules (2008)
- Nanevski, Aleksandar; Morrisett, Greg; Shinnar, Avraham; Govereau, Paul; Birkedal, Lars: Ynot: dependent types for imperative programs (2008)
- Brady, Edwin: Ivor, a proof engine (2007)
- Caldwell, James; Pohl, Josef: Constructive membership predicates as index types (2007)
- Moczydłowski, Wojciech: A normalizing intuitionistic set theory with inaccessible sets (2007)
- Sheard, Tim: Type-level computation using narrowing in $\Omega$mega (2007)
- Brady, Edwin; Hammond, Kevin: A dependently typed framework for static analysis of program execution costs (2006)
- Morris, Peter; Altenkirch, Thorsten; McBride, Conor: Exploring the regular tree types (2006)
- Aydemir, Brian E.; Bohannon, Aaron; Fairbairn, Matthew; Foster, J. Nathan; Pierce, Benjamin C.; Sewell, Peter; Vytiniotis, Dimitrios; Washburn, Geoffrey; Weirich, Stephanie; Zdancewic, Steve: Mechanized metatheory for the masses: the PoplMark challenge (2005)
- Luo, Zhaohui; Luo, Yong: Transitivity in coercive subtyping (2005)
- McBride, Conor: Epigram: Practical programming with dependent types (2005)
Further publications can be found at: http://www.dcs.ed.ac.uk/home/lego/html/papers.html