From emma.tye at strath.ac.uk Mon Jul 6 12:10:55 2026 From: emma.tye at strath.ac.uk (=?utf-8?Q?Emma_Tye?=) Date: Mon, 06 Jul 2026 11:10:55 +0000 Subject: [msp-interest] [MSP101] Jamie Kai: Indexical Reasoning About Imperative Data: Why Fold if you can Crimp? (3pm Thu 16/7, LT711) Message-ID: Dear all, We have another MSP101 seminar coming up. Hope to see you there! Best wishes, Emma Date, time and place: Thursday 16 July, 15:00, Livingstone Tower room LT711 Online attendance: https://www.youtube.com/channel/UC3IBMh699qT5wawP3nHRItg/live Speaker: Jamie Kai (University of British Columbia) Title: Indexical Reasoning About Imperative Data: Why Fold if you can Crimp? Abstract: Inductive definitions are ubiquitous for program verification, but mismatches between the recursion order of inductive definitions often necessitate substantial manual proofs. This is especially unfortunate when reasoning about common properties whose meaning is not order-sensitive, such as sums, maximal elements or (multi)set contents of a data structure, and exacerbated by stateful models of data in imperative programming. In this talk, I propose an alternative to explicit inductive reasoning for such situations. This comprises two novel techniques: a higher-order crimp operator, and a logic of indexicals. The crimp operator is a generalization of an associative and commutative fold, whose instantiations express diverse order-insensitive properties of a variety of inductive and cyclic data structures. The logic of indexicals encodes key laws for local reasoning about data in terms of the crimp operator, and supports an abstract separation logic relative to heaps, which we have implemented in Viper, an SMT-based first-order deductive verifier. I will focus this talk on speculative connections to container types, quotient constructions and symmetries. The imperative programming paradigm treats the shape of data liberally, which raises questions about expressing invariants of heap-dependent inductive types. MSP101 Feeds: Web: http://msp.cis.strath.ac.uk/msp101.html RSS: http://msp.cis.strath.ac.uk/msp101.rss iCal: http://msp.cis.strath.ac.uk/msp101.ics