We propose a framework to study contextual equivalence of programs written in a call-by-value functional language with local integer references. It reduces the problem of contextual equivalence to the problem of non-reachability in a transition system of memory configurations. This reduction is complete for recursion-free programs. Restricting to programs that do not allocate references inside the body of functions, we encode this non-reachability problem as a set of constrained Horn clause that can then be checked for satisfiability automatically. Restricting furthermore to a language with finite data-types, we also get a new decidability result for contextual equivalence at any type.
CITATION STYLE
Jaber, G. (2020). SyTeCi: Automating contextual equivalence for higher-order programs with references. Proceedings of the ACM on Programming Languages, 4(POPL). https://doi.org/10.1145/3371127
Mendeley helps you to discover research relevant for your work.