Skip to content

feat: Deutsch-Jozsa and GHZ quantum algos#1

Draft
tannerduve wants to merge 14 commits into
mainfrom
quantum-algos
Draft

feat: Deutsch-Jozsa and GHZ quantum algos#1
tannerduve wants to merge 14 commits into
mainfrom
quantum-algos

Conversation

@tannerduve

Copy link
Copy Markdown
Owner

Deutsch-Jozsa (query model) and GHZ state preparation (circuit model) using Prog. Correctness theorems stated with sorry (WIP)

@tannerduve
tannerduve force-pushed the quantum-algos branch 2 times, most recently from 6d590a6 to 04401a9 Compare April 18, 2026 16:17
tannerduve and others added 4 commits April 18, 2026 09:26
Replaces the hand-rolled amplitude-vector machinery with a syntactic
query layer that denotes into QuantumInfo's CPTPMap.

- QuantumQuery carries only syntactic data (gate tags, Fin n indices,
  rational phase); unitaryOf maps each constructor to its genuine
  𝐔[Fin n → Fin 2] via embedQubitGate / cnotUnitary / phaseGate.
- QuantumCircuit's toCPTP interprets the tree into CPTPMap via
  ofUnitary / compose / prod, with par threading through
  finFunSplitEquiv.
- Retires QState, IsUnitary, tensorGate, measureDistribution, every
  gateX function and gateX_isUnitary lemma, QuantumCircuit.eval.
- Adds UniformFamily to Complexity/Basic.lean and defines BQP/EQP/QNC
  against it with SingleTapeTM as the classical generator model.
- Files live in Algolean/Models/Quantum/ (model layer) and
  Algolean/Complexity/BQP.lean (complexity classes).
- Adds Physlib dependency in lakefile.
@tannerduve
tannerduve changed the base branch from quantum-models to main April 18, 2026 17:08
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant