# LEGO

> logical proof assistant

**Wikidata**: [Q3205992](https://www.wikidata.org/wiki/Q3205992)  
**Wikipedia**: [English](https://en.wikipedia.org/wiki/LEGO_(proof_assistant))  
**Source**: https://4ort.xyz/entity/lego-q3205992

## Summary
LEGO is a logical proof assistant and programming language designed for constructing formal mathematical proofs. It enables users to define mathematical objects, state theorems, and develop rigorous proofs interactively with machine support.

## Key Facts
- LEGO is classified as both a programming language and a proof assistant.
- Version 1.3.1 was released in November 1998.
- Official website: [http://www.dcs.ed.ac.uk/home/lego/](http://www.dcs.ed.ac.uk/home/lego/)
- Instance of: Proof assistant, Programming language.
- Has Wikipedia articles in English and French.
- Sitelink count: 2 (as of reference date).
- Related to the 2022 video game *LEGO Bricktales*, though not directly connected in functionality.

## FAQs
### Q: What is LEGO used for?
A: LEGO is used as a tool for writing and verifying formal mathematical proofs. It supports interactive theorem proving and helps ensure correctness in logical arguments through computational assistance.

### Q: Is LEGO a toy or software?
A: LEGO, in this context, refers to a software-based proof assistant, not the physical toy bricks produced by the LEGO Group. It is used primarily in academic and research settings.

### Q: When was LEGO last updated?
A: The last documented version of the LEGO proof assistant is 1.3.1, which was released in November 1998.

## Why It Matters
LEGO plays an important role in the field of formal methods and constructive mathematics. As a proof assistant, it allows researchers and mathematicians to encode complex logical systems and verify their properties with high confidence. By providing a structured environment for developing proofs, LEGO contributes to the reliability of theoretical work and has influenced subsequent developments in computer-assisted reasoning tools. Its design emphasizes clarity and logical rigor, making it valuable in educational contexts as well as advanced research.

## Notable For
- Being one of the early implementations of a constructive type theory-based proof assistant.
- Supporting interactive development of formal proofs using a functional programming paradigm.
- Influencing later systems such as Coq and Agda through its approach to dependent types.
- Providing a platform for exploring intuitionistic logic and constructive mathematics computationally.
- Maintaining simplicity and accessibility compared to more feature-heavy successors.

## Body

### Overview
LEGO is a proof assistant based on constructive type theory. It provides a framework for defining mathematical concepts, stating theorems, and building verified proofs step-by-step. Unlike automated theorem provers, LEGO requires user interaction at each stage of proof construction, ensuring precision and control over logical derivations.

### Technical Details
- **Classification**: Proof assistant; also considered a programming language due to its use of functional constructs.
- **Core Functionality**:
  - Definition of inductive types and recursive functions.
  - Interactive proof scripting via tactics or explicit term construction.
  - Support for dependent types, enabling precise expression of mathematical structures.
- **Version History**:
  - Most stable known version: 1.3.1
  - Release date: November 1998
  - Last archived documentation accessed: July 25, 2019

### Relationship to Other Systems
While not part of the same lineage as modern systems like Lean or Isabelle, LEGO shares foundational principles with other constructive proof assistants such as NuPRL and Coq. It differs mainly in its minimalistic implementation and focus on pedagogical usability rather than large-scale automation.

### Usage Context
LEGO has been employed in academic environments for teaching formal logic and constructive mathematics. Though less actively developed today, it remains historically significant as an accessible example of how dependent type theories can be implemented practically in a proof-checking system.

## References

1. [Source](http://www.dcs.ed.ac.uk/home/lego/)