# Silq: a high-level quantum language with safe uncomputation and intuitive semantics

@article{Bichsel2020SilqAH, title={Silq: a high-level quantum language with safe uncomputation and intuitive semantics}, author={Benjamin Bichsel and Maximilian Baader and Timon Gehr and Martin T. Vechev}, journal={Proceedings of the 41st ACM SIGPLAN Conference on Programming Language Design and Implementation}, year={2020} }

Existing quantum languages force the programmer to work at a low level of abstraction leading to unintuitive and cluttered code. A fundamental reason is that dropping temporary values from the program state requires explicitly applying quantum operations that safely uncompute these values. We present Silq, the first quantum language that addresses this challenge by supporting safe, automatic uncomputation. This enables an intuitive semantics that implicitly drops temporary values, as in…

## Figures, Tables, and Topics from this paper

## 35 Citations

Twist: sound reasoning for purity and entanglement in Quantum programs

- 2022

Quantum programming languages enable developers to implement algorithms for quantum computers that promise computational breakthroughs in classically intractable tasks. Programming quantum computers…

Formal Methods for Quantum Programs: A Survey

- Computer ScienceArXiv
- 2021

This work reviews the induced challenges for an efficient use of formal methods in quantum computing and the current most promising research directions, and states that formal methods are prone to play a decisive role in the emerging field of quantum software.

Optimizing Transaction Schedules on Universal Quantum Computers via Code Generation for Grover’s Search Algorithm

- Computer ScienceIDEAS
- 2021

This work shows how Grover’s search algorithm for quantum computers can be applied for finding an optimal transaction schedule via generating code from the problem instance, and compares its approach with existing approaches for traditional computers and quantum annealers in terms of preprocessing, runtime, space and code length complexity.

Unqomp: synthesizing uncomputation in Quantum circuits

- Computer SciencePLDI
- 2021

Unqomp is presented, the first procedure to automatically synthesize uncomputation in a given quantum circuit, allowing the programmer to allocate and use temporary values analogously to classical computation, knowing they will be uncomputed by Unqomp.

A Quantum interpretation of separating conjunction for local reasoning of Quantum programs based on separation logic

- Proceedings of the ACM on Programming Languages
- 2022

It is well-known that quantum programs are not only complicated to design but also challenging to verify because the quantum states can have exponential size and require sophisticated mathematics to…

Quantum information effects

- Physics, Computer ScienceProceedings of the ACM on Programming Languages
- 2022

This work studies the two dual quantum information effects to manipulate the amount of information in quantum computation: hiding and allocation, and provides universal categorical constructions that semantically interpret this arrow metalanguage with choice.

A Rich Type System for Quantum Programs

- Physics, Computer Science
- 2021

Gottesman’s semantics for Clifford circuits based on the Heisenberg representation can be treated as a type system that can efficiently characterize a common subset of quantum programs, and this type system is extended to accommodate universal quantum computing.

A verified optimizer for Quantum circuits

- Computer Science, PhysicsProc. ACM Program. Lang.
- 2021

VOQC is presented, the first fully verified optimizer for quantum circuits, written using the Coq proof assistant, and able to write and verify a broad range of optimizations in VOQC, including full-circuit transformations from cutting-edge optimizers.

An Automated Deductive Verification Framework for Circuit-building Quantum Programs

- Computer ScienceESOP
- 2021

Qbricks is proposed, a formal verification environment for circuit-building quantum programs, featuring both parametric specifications and a high degree of proof automation, and the main tool is developed, PPS, a parametric extension of the recently developed path sum semantics.

Automatic amortized resource analysis with the Quantum physicist’s method

- Computer ScienceProc. ACM Program. Lang.
- 2021

This work uses the quantum physicist’s method of amortized resource analysis to extend the Automatic Amortized Resource Analysis type system, enabling the derivation of resource bounds based on tree depth and introduces remainder contexts, which aid bookkeeping in linear type systems.

## References

SHOWING 1-10 OF 49 REFERENCES

Towards a Quantum Programming Language. Mathematical

- Structures in Comp. Sci. 14,
- 2004

- 2019

Microsoft Q# Coding Contest - Winter 2019

- Main Contest March
- 2019

Public submissions of the Microsoft Q# Coding Contest -Winter 2019

- 2019

Qiskit: An Open-source Framework for Quantum Computing

- 2019

- 2018

Microsoft Q# Coding Contest - Summer 2018

- Main Contest July
- 2018

Public submissions of the Microsoft Q# Coding Contest -Summer

- 2018

Q#: Enabling Scalable Quantum Computing and Development with a High-level DSL

- Computer Science, PhysicsRWDSL2018
- 2018

Q# is presented, a quantum-focused domain-specific language explicitly designed to correctly, clearly and completely express quantum algorithms that provides a type system; a tightly constrained environment to safely interleave classical and quantum computations; specialized syntax; symbolic code manipulation to automatically generate correct transformations of quantum operations.

ReQWIRE: Reasoning about Reversible Quantum Circuits

- Computer ScienceQPL
- 2018

Methods for verifying that ancillae are discarded in the desired state are presented, and these methods are used to implement a verified compiler from classical functions to quantum oracles.