Peter Selinger

dblp:s/PeterSelinger · DBLP profile ↗
← Back
22ranked-venue papers
12as first author
4since 2021 · last 2026
0000-0003-3161-856XORCID · verified

Domains — the database's venue-derived domains; a paper can count in several

Theory of computation · 17 · 10 first-author · 3 since 2021Software engineering, systems software and programming languages · 6 · 3 first-author · 1 since 2021Applied, interdisciplinary, general and emerging computing · 3 · 1 first-author
YearPublicationVenuePosition
2026 On traces in categories of contractions
abstract
Abstract Traced monoidal categories model processes that can feed their outputs back to their own inputs, abstracting iteration. The category of finite-dimensional Hilbert spaces with the direct sum tensor is not traced. But surprisingly, in 2014, Bartha showed that the monoidal subcategory of isometries is traced. The same holds for coisometries, unitary maps, and contractions. This suggests the possibility of feeding outputs of quantum processes back to their own inputs, analogous to iteration. In this paper, we show that Bartha’s result is not specifically tied to Hilbert spaces, but works in any dagger additive category with Moore–Penrose pseudoinverses (a natural dagger-categorical generalization of inverses).
Aaron David Fairbanks, Peter Selinger
Math. Struct. Comput. Sci.2
2023 Towards an Induction Principle for Nested Data Types
Peng Fu 0001, Peter Selinger
WoLLIC2
2023 Proto-Quipper with Dynamic Lifting
abstract
Quipper is a functional programming language for quantum computing. Proto-Quipper is a family of languages aiming to provide a formal foundation for Quipper. In this paper, we extend Proto-Quipper-M with a construct called dynamic lifting , which is present in Quipper. By virtue of being a circuit description language, Proto-Quipper has two separate runtimes: circuit generation time and circuit execution time. Values that are known at circuit generation time are called parameters , and values that are known at circuit execution time are called states . Dynamic lifting is an operation that enables a state, such as the result of a measurement, to be lifted to a parameter, where it can influence the generation of the next portion of the circuit. As a result, dynamic lifting enables Proto-Quipper programs to interleave classical and quantum computation. We describe the syntax of a language we call Proto-Quipper-Dyn. Its type system uses a system of modalities to keep track of the use of dynamic lifting. We also provide an operational semantics, as well as an abstract categorical semantics for dynamic lifting based on enriched category theory. We prove that both the type system and the operational semantics are sound with respect to our categorical semantics. Finally, we give some examples of Proto-Quipper-Dyn programs that make essential use of dynamic lifting.
Peng Fu 0001, Kohei Kishida, Neil J. Ross, Peter Selinger
Proc. ACM Program. Lang.4
2022 Linear Dependent Type Theory for Quantum Programming Languages
abstract
Modern quantum programming languages integrate quantum resources and classical control. They must, on the one hand, be linearly typed to reflect the no-cloning property of quantum resources. On the other hand, high-level and practical languages should also support quantum circuits as first-class citizens, as well as families of circuits that are indexed by some classical parameters. Quantum programming languages thus need linear dependent type theory. This paper defines a general semantic structure for such a type theory via certain fibrations of monoidal categories. The categorical model of the quantum circuit description language Proto-Quipper-M by Rios and Selinger (2017) constitutes an example of such a fibration, which means that the language can readily be integrated with dependent types. We then devise both a general linear dependent type system and a dependently typed extension of Proto-Quipper-M, and provide them with operational semantics as well as a prototype implementation.
Peng Fu 0001, Kohei Kishida, Peter Selinger
Log. Methods Comput. Sci.3
2020 Linear Dependent Type Theory for Quantum Programming Languages: Extended Abstract
abstract
Modern quantum programming languages integrate quantum resources and classical control. They must, on the one hand, be linearly typed to reflect the no-cloning property of quantum resources. On the other hand, high-level and practical languages should also support quantum circuits as first-class citizens, as well as families of circuits that are indexed by some classical parameters. Quantum programming languages thus need linear dependent type theory. This paper defines a general semantic structure for such a type theory via certain fibrations of monoidal categories. The categorical model of the quantum circuit description language Proto-Quipper-M in [28] constitutes an example of such a fibration, which means that the language can readily be integrated with dependent types. We then devise both a general linear dependent type system and a dependently typed extension of Proto-Quipper-M, and provide them with operational semantics as well as a prototype implementation.
Peng Fu 0001, Kohei Kishida, Peter Selinger
LICS3
2020 A Tutorial Introduction to Quantum Circuit Programming in Dependently Typed Proto-Quipper
Peng Fu 0001, Kohei Kishida, Neil J. Ross, Peter Selinger
RC4
2018 A finite alternation result for reversible boolean circuits
Peter Selinger
Sci. Comput. Program.1
2016 A Finite Alternation Result for Reversible Boolean Circuits
Peter Selinger
RC1
2014 Applying quantitative semantics to higher-order quantum computing
abstract
Finding a denotational semantics for higher order quantum computation is a long-standing problem in the semantics of quantum programming languages. Most past approaches to this problem fell short in one way or another, either limiting the language to an unusably small finitary fragment, or giving up important features of quantum physics such as entanglement. In this paper, we propose a denotational semantics for a quantum lambda calculus with recursion and an infinite data type, using constructions from quantitative semantics of linear logic.
Michele Pagani, Peter Selinger, Benoît Valiron
POPL2
2013 Quipper: a scalable quantum programming language
abstract
The field of quantum algorithms is vibrant. Still, there is currently a lack of programming languages for describing quantum computation on a practical scale, i.e., not just at the level of toy problems. We address this issue by introducing Quipper, a scalable, expressive, functional, higher-order quantum programming language. Quipper has been used to program a diverse set of non-trivial quantum algorithms, and can generate quantum gate representations using trillions of gates. It is geared towards a model of computation that uses a classical computer to control a quantum device, but is not dependent on any particular model of quantum hardware. Quipper has proven effective and easy to use, and opens the door towards using formal methods to analyze quantum algorithms.
Alexander S. Green, Peter LeFanu Lumsdaine, Neil J. Ross, Peter Selinger, Benoît Valiron
PLDI4
2013 An Introduction to Quantum Programming in Quipper
Alexander S. Green, Peter LeFanu Lumsdaine, Neil J. Ross, Peter Selinger, Benoît Valiron
RC4
2012 Logical Methods in Quantum Information Theory
Peter Selinger
WoLLIC1
2008 A Linear-non-Linear Model for a Computational Call-by-Value Lambda Calculus (Extended Abstract)
Peter Selinger, Benoît Valiron
FoSSaCS1
2007 Simplicial cycles and the computation of simplicial trees
Massimo Caboara, Sara Faridi, Peter Selinger
J. Symb. Comput.3
2006 Special issue on quantum programming languages
abstract
This special issue of Mathematical Structures in Computer Science grew out of the 2nd International Workshop on Quantum Programming Languages (QPL 2004), which was held July 12–13, 2004 in Turku, Finland. The purpose of the workshop was to bring together researchers working on mathematical formalisms and programming languages for quantum computing. It was the second in a series of workshops aimed at addressing a growing interest in logical tools, languages, and semantical methods for analysing quantum computation.
Peter Selinger
Math. Struct. Comput. Sci.1
2006 A lambda calculus for quantum computation with classical control
abstract
In this paper we develop a functional programming language for quantum computers by extending the simply-typed lambda calculus with quantum types and operations. The design of this language adheres to the ‘quantum data, classical control’ paradigm, following the first author's work on quantum flow-charts. We define a call-by-value operational semantics, and give a type system using affine intuitionistic linear logic. The main results of this paper are the safety properties of the language and the development of a type inference algorithm.
Peter Selinger, Benoît Valiron
Math. Struct. Comput. Sci.1
2004 Towards a quantum programming language
abstract
We propose the design of a programming language for quantum computing. Traditionally, quantum algorithms are frequently expressed at the hardware level, for instance in terms of the quantum circuit model or quantum Turing machines. These approaches do not encourage structured programming or abstractions such as data types. In this paper, we describe the syntax and semantics of a simple quantum programming language with high-level features such as loops, recursive procedures, and structured data types. The language is functional in nature, statically typed, free of run-time errors, and has an interesting denotational semantics in terms of complete partial orders of superoperators.
Peter Selinger
Math. Struct. Comput. Sci.1
2003 Order-incompleteness and finite lambda reduction models
Peter Selinger
Theor. Comput. Sci.1
2002 The lambda calculus is algebraic
abstract
This paper serves as a self-contained, tutorial introduction to combinatory models of the untyped lambda calculus. We focus particularly on the interpretation of free variables. We argue that free variables should not be interpreted as elements in a model, as is usually done, but as indeterminates. We claim that the resulting interpretation is more natural and leads to a closer correspondence between models and theories. In particular, it solves the problem of the notorious ζ-rule, which asserts that equations should be preserved under binders, and which fails to be sound for the usual interpretation.
Peter Selinger
J. Funct. Program.1
2001 Control categories and duality: on the categorical semantics of the lambda-mu calculus
Peter Selinger
Math. Struct. Comput. Sci.1
1997 First-Order Axioms for Asynchrony
Peter Selinger
CONCUR1
1996 Order-Incompleteness and Finite Lambda Models (Extended Abstract)
abstract
Many familiar models of the type-free lambda calculus are constructed by order theoretic methods. This paper provides some basic new facts about ordered models of the lambda calculus. We show that in any partially ordered model that is complete for the theory of /spl beta/- or /spl beta//spl eta/-conversion, the partial order is trivial on term denotations. Equivalently, the open and closed term algebras of the type-free lambda calculus cannot be non-trivially partially ordered. Our second result is a syntactical characterization, in terms of so-called generalized Mal'cev operators, of those lambda theories which cannot be induced by any non-trivially partially ordered model. We also consider a notion of finite models for the type-free lambda calculus. We introduce partial syntactical lambda models, which are derived from Plotkin's syntactical models of reduction, and we investigate how these models can be used as practical tools for giving finitary proofs of term inequalities. We give a 3-element model as an example.
Peter Selinger
LICS1