Skip to content

Remove dependency of fancy updates on the program language.

Robbert Krebbers requested to merge robbert/invariant into master

This merge request removes the dependency on the program language from the encoding of invariants, fancy updates, and many constructions such as boxes, sts, auth, ... This reason for doing this, is that in some cases one might not want to use the Iris definition of weakest preconditions or the Iris interface for a programming language.

I have achieved this factoring out a type class invG that keeps track of the ghost state needed for encoding invariants from the type class irisG. Fancy updates, boxes and sts are parametrized by invG, and not by irisG (which depends on the language).

TODO: state adequacy for fancy updates in a self-contained way.

Merge request reports