Reasoning about the correctness of program transformations requires a notion of program equivalence. We present an observational semantics for the concurrent lambda calculus with f...
Notions of program dependency arise in many settings: security, partial evaluation, program slicing, and call-tracking. We argue that there is a central notion of dependency commo...
We study contexts (terms with holes) by proposing a ‘λcalculus with holes’. It is very expressive and can encode programming constructs apparently unrelated to contexts, incl...
Kleene algebra with tests (KAT) is an equational system for program verification that combines Kleene algebra (KA), or the algebra of regular expressions, with Boolean algebra. I...