FSCD 2025: FORMAL STRUCTURES FOR COMPUTATION AND DEDUCTION
PROGRAM FOR THURSDAY, JULY 17TH
Days:
previous day
next day
all days

View: session overviewtalk overview

10:00-10:30Coffee Break
10:30-12:30 Session 10: Program Analysis
10:30
A Zoo of Continuity Properties in Constructive Type Theory
PRESENTER: Martin Baillon

ABSTRACT. Continuity principles stating that all functions are continuous play a central role in some schools of constructive mathematics. However, there are different ways to formalise the property of being continuous in constructive foundations. We analyse these continuity properties from the perspective of constructive reverse mathematics. We work in constructive type theory, which can be seen as a minimal foundation for constructive reverse mathematics.

We treat continuity of functions $F : (Q \to A) \to R$, i.e.\ with question type $Q$, answer type $A$, and result type $R$. Concretely, we discuss continuity defined via moduli, making the relevant list $L \of \List Q$ of questions explicit, dialogue trees, making the question answer process explicit as inductive tree, and tree functions, making the question answer process explicit as function. We prove equivalences where possible and isolate necessary and sufficient axioms for equivalence proofs.

Many of the results we discuss are already present in the works of Hancock, Pattinson, Ghani, Kawai, Fujiwara, Brede, Herbelin, Escardó, and others. Our main contribution is their formulation over a uniform foundation, the observation that no choice axioms are necessary, the generalisation to arbitrary types from natural numbers where possible, and a mechanisation in the Rocq proof assistant.

11:00
On the Metric Nature of (Differential) Logical Relations
PRESENTER: Naohiko Hoshino

ABSTRACT. Differential logical relations are a method to measure distances between higher-order programs. They differ from standard methods based on program metrics in that differences between functional programs are themselves functions, relating errors in input with errors in output, this way providing a more fine grained, contextual, information. The aim of this paper is to clarify the metric nature of differential logical relations. While previous work has shown that these do not give rise, in general, to (quasi-)metric spaces nor to partial metric spaces, we show that the distance functions arising from such relations, that we call quasi-quasi-metrics, can be related to both quasi-metrics and partial metrics, the latter being also captured by suitable relational definitions. Moreover, we exploit such connections to deduce some new compositional reasoning principles for program differences.

11:30
Internal Effectful Forcing in System T

ABSTRACT. The effectful forcing technique allows one to show that the denotation of a closed System T term of type (ι ⇒ ι) ⇒ ι in the set-theoretical model is a continuous function (N → N) → N. For this purpose, an alternative dialogue-tree semantics is defined and related to the set-theoretical semantics by a logical relation. In this paper, we apply effectful forcing to show that the dialogue tree of a System T term is itself System T-definable, using Church encoding of trees.

12:00
An Expressive Trace Logic for Recursive Programs
PRESENTER: Reiner Hähnle

ABSTRACT. We present an expressive logic over trace formulas, based on binary state predicates, chop, and least fixed-points, for precise specification of programs with recursive procedures. Both, programs and trace formulas, are equipped with a direct-style, fully compositional, denotational semantics that on programs coincides with the standard SOS of recursive programs. We design a compositional proof calculus for proving finite-trace program properties, and prove soundness as well as (relative) completeness. We show that each program can be mapped to a semantics-preserving trace formula and, vice versa, each trace formula can be mapped to a canonical program over slightly extended programs, resulting in a Galois connection between programs and formulas. Our results shed light on the correspondence between programming constructs and logical connectives.

12:30-14:00Lunch Break