 
Summary: A Logical Mix of Approximation and Separation
Aquinas Hobor1
, Robert Dockins2
, and Andrew W. Appel2
1
National University of Singapore hobor@comp.nus.edu.sg
2
Princeton University {rdockins,appel}@cs.princeton.edu
Abstract. Semantic models can use indirection when the naĻive semantic defi
nitions contain a contravariant circularity, and substructure when one wishes to
track resource accounting. If a model uses indirection, then its logic must rea
son about the resulting approximation; if a model contains substructure, then its
logic often contains notations of separation. We show how to build program log
ics for settings involving approximation and/or separation. Our work is machine
checked in Coq and available as part of the Mechanized Semantic Library.
1 Introduction
We are interested in building program logics for largescale languages and mechaniz
ing them in proof assistants. We are particularly interested in integrating two features
which have proven useful for modeling complex language features: higherorder stores
and separation. Higherorder stores are used to reason about certain kinds of recursion
