| Time | Speaker | Title |
|---|---|---|
| 12:00 – 13:00 | Lunch | |
| 13:00 – 13:30 | Bob Atkey (University of Strathclyde) |
Provenance Tracking as a kind of Automatic Differentiation
When we run a program we get its output but usually no explanation of where that output came from or why. We propose a method for tracking how inputs affect outputs that treats the problem similarly to automatic differentiation. For each input datum, automatic differentiation computes the forward or reverse derivative at that point. For provenance tracking, we compute for each input a Galois connection that describes how approximations of the input and output relate.
|
| 13:30 – 14:00 | Zoey Shepherd (The University of Edinburgh) |
NSynC: Normalised Synthesis of Computation
Inductive program synthesis algorithms search a space of programs to find one that meets some specification. Enumerating syntax of the target language leads to a very large search space due to the presence of semantic duplicates. Constructing and checking these duplicates is time-consuming for no benefit: we propose enumerating semantics, instead of syntax, so that each object constructed is meaningful. We present NSynC, a proof of concept for our synthesis-by-semantics approach, which searches normal forms of the simply-typed lambda calculus with sums. |
| 14:00 – 14:30 | Coffee break | |
| 14:30 – 15:00 | Kengo Hirata (The University of Edinburgh) |
1 + 1 is not equal to 2, linearly
Indefinite causal order is a characteristic phenomenon in quantum computation, with examples including the quantum SWITCH
and the OCB process. Not all such processes are believed to be physically realizable: while some implementations of the quantum SWITCH have been proposed, the OCB process is suspected to be unrealizable. This difference in realizability is commonly attributed
to constraints imposed by physical causality. This talk studies such a causality issue in a higher-order setting, proposing a typed lambda calculus with quantum control and its categorical semantics. Our calculus extends pure quantum computation with higher-order
functions and quantum conditional branching, and it is equipped with a type system based on intuitionistic BV logic to enforce causality. We also present a novel model that is closely related to the Caus construction, by which we prove that some physically-unrealizable
processes are not definable in our language.
|
| 15:00 – 15:30 | Ezra Schoen (University of Strathclyde) |
Proof-relevant Kripke semantics for the modal μ-calculus
The modal μ-calculus is the logic obtained by adding least and greatest fixed-point quantifiers to modal logic. In this talk, we present an ongoing project on formalising a variant of the modal μ-calculus inside Agda. We use the machinery of indexed containers to handle the fixed points. The result is a proof-relevant, constructive Kripke semantics, where the semantics of a formula P assigns to a world w a "type of witnesses" that P holds at w.
|
| 15:30 – 16:00 | Coffee break | |
| 16:00 – 16:30 | Jakub Bachurski (Jane Street) |
Metaprogramming without time travel in OxCaml
Metaprograms are programs that generate programs. Staging is a well-known approach to metaprogramming that revolves around stage annotations, which separate the generator from the generated program. Using staging, we can both make compiler optimisations explicit and predictable (e.g. inlining), and enable entirely new optimisation techniques (e.g. runtime specialisation). Staging has been successfully implemented in practical functional languages by projects like MetaOCaml and MacoCaml.
|
| 16:30 – 17:00 | Ricardo Almeida (University of Glasgow) |
How to Compute the Intersection of Two Commutative Regular Expressions? A Certified Solver
Based on Systems of Linear Diophantine Equations.
Commutative regular expressions describe sets of unordered words, and are used, for example,
when building type systems for process calculi. In these applications, an important operation is
finding the intersection of two expressions, but no algorithm existed in the literature yet.
In this talk I will present the algorithm we recently proposed and formalised in Rocq, where
we encode the intersection of two expressions as systems of linear Diophantine equations,
and extract from their solution an intersection expression.
|