Skip to content

Interactive algorithm prover for quantum programs

Notifications You must be signed in to change notification settings

yNiklas/qbc-backend

Repository files navigation

Quantum Correctness by Construction On The Web (QbC-Web) - Backend

QbC-Web is an interactive algorithm prover for quantum algorithms. This backend performs the formal verification, a visual editor is provided by the frontend. An impression of using QbC-Web is given below.

Features

Among others, QbC-Web provides:

✅ Numerically stable algorithm verification of created quantum programs

✅ Support for symbolic variables

✅ Pre-registered set of operators, e.g., Hadamard, cross-product, qubits...

✅ Code generation (qwhile & Qiskit)

✅ Complete refinement structure (init, unit, skip, sequential, while, switch-case, strenghten-weaken)

Fair Quantum Coin

faircoin.mp4

Quantum Teleportation

teleportation.mp4

Realization

Micronaut framework.

Steps to add a new refinement

  • Create DTO class extending RefinementDTO
  • Annotate with @Serdeable.Deserializable and @JsonTypeName()
  • Add Attributes and a getter for each attribute (without Lombok)
  • Add all-args constructor (without Lombok)
  • Override the getRefinementType method to return
  • Add Type to the JsonSubTypes in RefinementDTO

About

Interactive algorithm prover for quantum programs

Resources

Stars

Watchers

Forks

Contributors 2

  •  
  •