Abstract
The idea of a context lemma spans a range of programminglanguage models: from Milner's original through the CIU theorem to 'CIUlike' results for multiple language features. Each shows that to prove observational equivalence between program terms it is enough to test only some restricted class of contexts: applicative, evaluation, reduction, etc. We formally reconstruct a distinctive proof method for context lemmas based on cyclic inclusion of three program approximations: by triangulating between 'applicative' and 'logical' relations we prove that both match the observational notion, while being simpler to compute. Moreover, the observational component of the triangle condenses a series of approximations covering variation in the literature around what variablecapturing structure qualifies as a 'context'. Although entirely concrete, our approach involves no term dissection or inspection of reduction sequences; instead we draw on previous context lemmas using operational logical relations and biorthogonality. We demonstrate the method for a finegrained callbyvalue presentation of the simplytyped lambdacalculus, and extend to a CIU result formulated with frame stacks. All this is formalised and proved in Agda: building on work of Allais et al., we exploit dependent types to specify lambdacalculus terms as welltyped and wellscoped by construction. By doing so, we seek to dispel any lingering anxieties about the manipulation of concrete contexts when reasoning about bound variables, capturing substitution, and observational equivalences. © 2018 Copyright held by the owner/author(s). Publication rights licensed to the Association for Computing Machinery.
Original language  English 

Title of host publication  CPP 2018: Proceedings of the 7th ACM SIGPLAN International Conference on Certified Programs and Proofs 
Publisher  Association for Computing Machinery 
Pages  102114 
Number of pages  13 
ISBN (Electronic)  9781450355865 
DOIs  
Publication status  Published  8 Jan 2018 
Keywords
 Agda
 CIU theorem
 Context lemma
 Dependent types
 Logical relations
 Observational equivalence
 Calculations
 Concretes
 Differentiation (calculus)
 Software testing
 Observational equivalences
 Equivalence classes
Fingerprint Dive into the research topics of 'Triangulating context lemmas'. Together they form a unique fingerprint.
Profiles

James McKinna
 School of Mathematical & Computer Sciences  Associate Professor
 School of Mathematical & Computer Sciences, Computer Science  Associate Professor
Person: Academic (Research & Teaching)