For a programming language with dependent types, the first results are coq/coq (Coq is a mature interactive theorem prover and proof assistant with a full dependent type system Gallina, inductive families, tactic-based proof, type inference, and verified code extraction, making it a flagship tool for formal verification and dependently typed programming), leanprover/lean4 and nasa/pvslib (This repository is a library of PVS theories and proofs, not the PVS proof assistant or dependently typed language itself, so it is a supporting resource rather than the core tool the visitor is looking for). tani/acl2-kernel and z3prover/z3 round out the shortlist. Compare the match explanations and check the project documentation against your requirements.
We curate open-source GitHub repositories matching “dependently typed languages”. Results are ranked by relevance to your query — pick filters below to narrow, or refine with AI.
Coq is an interactive theorem prover and proof assistant used for formal mathematical verification and verified software development. It utilizes the Gallina functional language to define computable functions and logical propositions, which are then verified through a machine-checked kernel. The system employs a dependent type system and a Caldicott-style proof engine to automate proof search and tactic execution. These capabilities allow for the creation of formal specifications and the development of algorithms that are mathematically proven to meet specific requirements. The toolset inclu
Coq is a mature interactive theorem prover and proof assistant with a full dependent type system (Gallina), inductive families, tactic-based proof, type inference, and verified code extraction, making it a flagship tool for formal verification and dependently typed programming.
Lean 4 is a functional programming language and interactive proof assistant used to formalize mathematics and verify software correctness. It functions as a dependent type theorem prover and a formal verification tool that allows users to construct mathematical proofs and ensure program correctness. Additionally, it serves as a logic-based source for generating verified datasets used to train and benchmark artificial intelligence reasoning systems. The system distinguishes itself through a small-kernel verification model, where all proofs are verified by a trusted core of basic logical rules.
Lean 4 is a dependently typed functional programming language and interactive proof assistant with a small-kernel verification model, supporting Pi types, inductive families, type inference, and code compilation, which directly matches the visitor's need for a tool for formal verification and theorem proving.
NASALib =
This repository is a library of PVS theories and proofs, not the PVS proof assistant or dependently typed language itself, so it is a supporting resource rather than the core tool the visitor is looking for.
Jupyter Kernel for ACL2
This is a Jupyter interface for the ACL2 theorem prover, but ACL2 is a first-order logic proof assistant without dependent types, so it does not match the search for a dependently typed language or proof assistant.
Z3 is an automated theorem prover and satisfiability modulo theories solver designed to determine the validity of complex logical formulas. It functions as a formal verification framework, enabling the systematic checking of hardware and software system specifications against defined logical constraints to identify inconsistencies or design flaws. The engine distinguishes itself through a combination of theory-specific decision procedures and symbolic execution capabilities. It employs conflict-driven clause learning and backtracking search algorithms to prune search spaces, while maintaining
Z3 is an automated theorem prover (SMT solver) for checking logical formulas, not a dependently typed programming language or interactive proof assistant with dependent function types or inductive families.
AlphaGeometry is a neuro-symbolic AI system designed as an automated geometry solver and theorem prover. It integrates a large language model with a formal proof engine to derive geometric conclusions from given premises and generate step-by-step formal proofs. The system distinguishes itself by combining a symbolic deduction engine with neural-driven auxiliary constructions. This architecture uses a language model to propose additional points or lines to bridge gaps in a proof, while a deductive database and algebraic reasoning system verify the mathematical correctness of each step against
AlphaGeometry is a neuro-symbolic geometry theorem prover, not a general-purpose dependently typed programming language or proof assistant — it focuses on automated geometric proofs without implementing dependent types or interactive theorem proving for arbitrary domains.
Bosque is an experimental programming language and development platform designed for machine-assisted software construction. It combines functional programming semantics with imperative syntax to enforce logic correctness and runtime safety, providing a type-safe environment that utilizes structured data models to maintain information integrity throughout the application lifecycle. The platform distinguishes itself through deep integration with formal verification tools, including automated theorem provers and symbolic execution engines. By transforming source code into a regularized intermed
Bosque is an experimental language with formal verification integration and automated theorem provers, but its type system does not appear to be based on dependent types (Pi types, inductive families), so it is not a dependable fit for a dependently typed language or proof assistant.
| Repository | Stars | Language | License | Last push |
|---|---|---|---|---|
| coq/coq | 5.5K | OCaml | LGPL-2.1 | |
| leanprover/lean4 | 8.3K | Lean | Apache-2.0 | |
| nasa/pvslib |
| 307 |
| Common Lisp |
| — |
| tani/acl2-kernel | 8 | Jupyter Notebook | NOASSERTION |
| z3prover/z3 | 11.9K | C++ | other |
| google-deepmind/alphageometry | 4.9K | Python | Apache-2.0 |
| microsoft/bosquelanguage | 5.2K | TypeScript | NOASSERTION |