/lean-quantum

Formalized quantum computing in Lean theorem prover

Primary LanguageLean

Quantum Computing in Lean

This is an implementation of the theory of quantum computing in the Lean programming language (using the Lean theorem prover version 3).

It's built on top of the "mathlib" library written by the Lean Community.

Organization

The src directory

  • common_lemmas.lean: Contains lemmas that are not specific to complex matrix or quantum computing.

  • matrix_inner_product.lean: The inner_product_space instantiation for the matrix type.

  • matrix.lean: Matrix-related definitions, notably Matrix and kron (the Kronecker product).

    • The Matrix type is defined based on the mathlib's matrix type, but specialized for complex number and the fin range type.
  • matrix_lemmas.lean: Derived facts from the definitions of Matrix, kron and adjoint.

  • quantum.lean: Definitions for quantum computing, such as measurements and basic states and circuits.

  • quantum_lemmas.lean: Derived facts from the definitions in the quantum.lean file.

  • measurement.lean: More generalized definitions of measurements and theorems about them.

The src/theorems directory

Reference materials

Related project