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… 
Twist: sound reasoning for purity and entanglement in Quantum programs
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
TLDR
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
TLDR
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
TLDR
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
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
TLDR
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
TLDR
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
TLDR
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
TLDR
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
TLDR
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.
...
1
2
3
4
...

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
TLDR
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
TLDR
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.
...
1
2
3
4
5
...