Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
91 commits
Select commit Hold shift + click to select a range
d1fa58f
Delete Case_studies directory
Qbricks Nov 12, 2021
943154a
Delete math_libs directory
Qbricks Nov 12, 2021
c093843
Delete Qbricks directory
Qbricks Nov 12, 2021
d1f2bc4
Delete LICENSE
Qbricks Nov 12, 2021
4928588
Delete index.html
Qbricks Nov 12, 2021
095a853
Update README.md
Qbricks Nov 15, 2021
5803b57
Update README.md
Qbricks Nov 15, 2021
a47c1c4
restoration
CChareton Apr 13, 2022
cffb93e
Set theme jekyll-theme-slate
Qbricks Apr 14, 2022
4a85da7
Create index.md
Qbricks Apr 14, 2022
9bd5ebe
Update index.md
Qbricks Apr 14, 2022
c74dbca
Update index.md
Qbricks Apr 14, 2022
56c76f5
Update index.md
Qbricks Apr 14, 2022
b3caac8
Update _config.yml
Qbricks Apr 14, 2022
3b8e71a
Update index.md
Qbricks Apr 14, 2022
72266e5
Update index.md
Qbricks Apr 19, 2022
2de521d
Update index.md
Qbricks Apr 19, 2022
aee0071
Update index.md
Qbricks Apr 19, 2022
3a95454
update readme
jricc Jun 23, 2022
e87b6fe
add code to main branch
jricc Jun 24, 2022
c2b6bf1
add licence to main branch
jricc Jun 24, 2022
ef76159
add dockerfile
jricc Jul 22, 2022
d5f3088
remove dj_oracle.mlw
jricc Jul 22, 2022
c97d5ff
test
CChareton Mar 2, 2023
f225b0c
qbricks_1
CChareton Mar 2, 2023
0ffec35
Update README.md
Qbricks Mar 2, 2023
d269471
Update index.md
Qbricks Mar 2, 2023
511d3b2
various_correcs
CChareton Mar 2, 2023
0d6984d
Merge branch 'main' of https://github.com/Qbricks/qbricks.github.io i…
CChareton Mar 2, 2023
fa0da46
proffs_mathlibs_replayed
CChareton Mar 2, 2023
f9c7178
fix containers and cleaning
jricc Mar 2, 2023
9b69ae4
cleaning
jricc Mar 2, 2023
201a7f6
proofs-checks
CChareton Mar 3, 2023
ae0efbb
Merge branch 'main' of https://github.com/Qbricks/qbricks.github.io i…
CChareton Mar 3, 2023
7417c21
update licence and install docker
jricc Mar 7, 2023
4afdf06
Merge branch 'main' of github.com:Qbricks/qbricks.github.io into main
jricc Mar 7, 2023
d6bea63
fix image docker
jricc Mar 8, 2023
3c8c529
Update README.md
Qbricks Oct 5, 2023
f41811a
Update index.md
Qbricks Oct 5, 2023
8136d9f
Update index.md
Qbricks Oct 5, 2023
5439706
Update index.md
Qbricks Oct 5, 2023
60d0fd1
Update index.md
Qbricks Oct 5, 2023
d5209e7
Update index.md
Qbricks Oct 5, 2023
0373d5f
fix Dockerfile and update README
jricc Apr 24, 2024
5925111
Add files via upload
Qbricks May 14, 2024
a471532
Update index.md
Qbricks May 14, 2024
035798f
Update index.md
Qbricks May 15, 2024
4dc737c
qiskit output fixed
jricc May 27, 2024
5ab5388
update Dockerfile
jricc Jul 15, 2024
6249c1b
remove qiskit
jricc Sep 20, 2024
b921a84
Update index.md
Qbricks Nov 22, 2024
427891e
update Docker container with why3.1.8.0
jricc Jun 11, 2025
07d6c54
update Docker container with why3.1.8.0
jricc Jun 11, 2025
73c8128
Add files via upload
Qbricks Jun 13, 2025
2ec6adf
fix Docker container for why3ide + add make pull as alternative to ma…
jricc Jun 13, 2025
c71a95b
Add files via upload
Qbricks Jun 14, 2025
533d155
remove virer tutorial_pldi, tutorial_pldi_14_06 3 -> tutorial_pldi
jricc Jun 14, 2025
56f88bd
Add files via upload
Qbricks Jun 15, 2025
bb4af6f
Delete tutorial_pldi directory
Qbricks Jun 15, 2025
a0fa19c
Add files via upload
Qbricks Jun 15, 2025
d5266cf
tutorial_pldi_last_update
Qbricks Jun 15, 2025
0dd29f1
Add files via upload
Qbricks Jun 15, 2025
bffbd1b
Update tool_box_intfce
Qbricks Jun 15, 2025
a9703f1
add Qiskit to Docker
jricc Jul 15, 2025
9266f9c
add Qiskit scripts
jricc Jul 15, 2025
105fbb4
fix container
jricc Jul 15, 2025
acf5784
fix Dockerfile
jricc Jul 15, 2025
ae578a7
update run to Qiskit
jricc Jul 15, 2025
3ae2b6b
restore proof Qbricks to OpenQASM
jricc Jul 15, 2025
67ef1f0
update README with Qiskit
jricc Jul 15, 2025
805b986
add Qbricks to QASM examples of results
jricc Jul 16, 2025
18a425d
cleaning
jricc Jul 16, 2025
9453265
fix Docker
jricc Jul 16, 2025
f6f423b
fix Docker
jricc Jul 16, 2025
426a89b
fix Docker
jricc Jul 16, 2025
3c2778a
update README
jricc Jul 16, 2025
2b9b610
fix OCaml compilation
jricc Jul 17, 2025
559ba39
fix README
jricc Jul 18, 2025
dabd642
Clean up Qbricks_to_oqasm: refactor code/proofs, fix run_to_openqasm.…
jricc Aug 20, 2025
f8338f3
fix: prove termination for qbricks_to_openqasm
jricc Oct 7, 2025
0a71fe2
fix Dockerfile
jricc Oct 7, 2025
7e9d020
fix: prove termination for qbricks_to_openqasm
jricc Oct 7, 2025
4397ae4
improve run_to_qiskit
jricc Oct 9, 2025
d00f23a
Update run_to_qiskit.py to display number of shots; reflect changes i…
jricc Oct 9, 2025
4c0b617
Update run_to_qiskit.py to display number of shots; reflect changes i…
jricc Oct 9, 2025
90cd763
Update run_to_qiskit.py to display number of shots; reflect changes i…
jricc Oct 9, 2025
f436a01
add SQbricks informations
jricc Nov 5, 2025
7acb231
add SQbricks informations
jricc Nov 5, 2025
4933544
add SQbricks informations
jricc Nov 5, 2025
b2e9ab5
update README for SQbricks
jricc Nov 27, 2025
d5fc66e
update README for SQbricks
jricc Nov 27, 2025
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
58 changes: 58 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,58 @@
# Ignore compiled Python files
__pycache__/
*.py[cod]
*$py.class

# Ignore virtual environment
venv/
.env/

# Ignore IDE specific files
.idea/
.vscode/
*.swp
*.swo

# Ignore compiled Why3 files
.why3session
*.why3session

# Ignore compiled OCaml files
*.cm[iox]
*.o
*.a
*.so
*.cmxa
*.cmxs
*.cmi
*.cmo
*.cma
*.cmx
*.opt

# Ignore Docker related files
*.tar
*.zip

# Ignore log files and other temporary files
*.log
*.tmp
*.bak

# Ignore PDFs if they are generated and not part of the source
*.pdf

# Ignore build artifacts
build/
dist/
*.exe

# Ignore system files
.DS_Store
Thumbs.db

# Ignore Makefile generated files
*~
*.o
*.a
*.so
56 changes: 56 additions & 0 deletions Artifacts/SQbricks/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,56 @@
# **SQbricks** is a verification tool for hybrid circuits.

In SQbricks, a *hybrid circuit* refers to a quantum circuit that includes both quantum operations (unitaries), measurements, and classical control.

SQbricks is composed of two complementary tools: **SQbricks-Lift (SQL)** and **SQbricks-Verif (SQV)**.

---

## SQbricks-Lift (SQL)

**SQbricks-Lift** implements a transformation based on the *deferred measurement* principle, which pushes all *Initialization (I)* to the beginning and *Measurements (M)* to the end of the circuit. This enables the use of standard unitary verification tools in the broader context of hybrid circuits — effectively *lifting* them to this extended setting.

Two transformation modes are provided:

- **IUM**: Returns an *Initialization–Unitary–Measurement (IUM)* decomposition of the circuit.
- **U**: Returns only the unitary part of the circuit.

---

## SQbricks-Verif (SQV)

**SQbricks-Verif** is used to verify the equivalence of two unitary circuits, even if they differ in the number of qubits. This supports the common scenario where auxiliary or "garbage" qubits are added for intermediate computations.

Two verification algorithms are available:

- **Parallel Algorithm (`p`)**:
Executes both circuits on the same input and compares their outputs.

- **Sequence Algorithm (`s`)**:
Executes one circuit followed by the inverse of the other and verifies that the output matches the initial input state.
**The `s` algorithm typically yields better results than `p`, but requires that at least one of the circuits has no ancilla.**

---

## Licence

- Docker: [licence](https://www.docker.com/legal/docker-software-end-user-license-agreement/)
- OCaml: [licence](https://github.com/ocaml/ocaml/blob/trunk/LICENSE)
- Qiskit: [licence](https://github.com/Qiskit/qiskit/blob/main/LICENSE.txt)
- OpenQASM: [licence](https://github.com/openqasm/openqasm/blob/main/LICENSE)
- Matplotlib: [licence](https://github.com/matplotlib/matplotlib/blob/main/LICENSE/LICENSE)
- AutoQ: [licence](https://github.com/fmlab-iis/AutoQ/blob/main/LICENSE)
- Feynman: [licence](https://github.com/meamy/feynman/blob/master/LICENSE.md)
- PyZX: [licence](https://github.com/zxcalc/pyzx/blob/master/LICENSE)
- QCEC: [licence](https://github.com/munich-quantum-toolkit/qcec/blob/main/LICENSE.md)

---

## Features

- Supports input in **OpenQASM 2.0** format.
- Packaged as a **Docker container** with all necessary dependencies.

## Source code

The SQbricks source code will be available as an open source archive in this repository once authorization has been obtained.
12 changes: 12 additions & 0 deletions Case_studies/Makefile
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
DIRS?= --library=../math_libs --library=../Qbricks --library=../Case_studies

.PHONY: run ide

ide_qft_test:
why3 ide $(DIRS) qft_test.mlw

ide_shor:
why3 ide $(DIRS) shor.mlw

prove_no_anc_shor_circ:
why3 prove $(DIRS) Shor/no_anc_shor_circ.mlw
419 changes: 419 additions & 0 deletions Case_studies/Shor/no_anc_shor_circ.mlw

Large diffs are not rendered by default.

Loading