Fil-C on Nix

Filnix wiki

mbrock/filnix/nanofil

ghost state

Iris also own

Sources Monoids and Invariants as an Orthogonal Basis for Concurrent Reasoning, POPL 2015

Ghost state exists only in the proof. ownγ a owns the piece a of the ghost location γ, where a belongs to a camera; it is allocated and changed by updates, never by the program. It records what the program's memory does not: shares, histories, a protocol's phase, or a whole map that the state interpretation ties to the real heap.

  • nanofil's ghost heap maps pieces, keyed by identity, to an object's region, a byte or an aux capability, and the spike's state interpretation, heap_interp, says it agrees with the memory. The planned live token is a ghost piece that free consumes; Buffer.v's holds_buffer states the same facts about the real memory, as one non-separating fact.

See How Iris works, Ghost state.