Skip to content
STIMSMITH

Abstract State

Concept

In the context of verified faithful simulation, an abstract state is the formal, reference representation of a processor's state (here, the ARM V6) defined in a Coq formal model, against which a concrete C implementation is verified via a projection.

First seen 6/7/2026
Last seen 6/7/2026
Evidence 2 chunks
Wiki v1

WIKI

Abstract State

In the context of verified faithful simulation of processors, an abstract state is the formal, machine-checked representation of a processor's state used as the reference specification, against which a concrete implementation is verified.

Definition and Role

READ FULL ARTICLE →

NEIGHBORHOOD

No graph connections found for this entity yet. It may appear in future ingestion runs.

explore full graph →

RELATIONSHIPS

1 connections
Towards Verified Faithful Simulation ← uses 90% 1e
The paper uses abstract state in its proof methodology

CITATIONS

10 sources
10 citations — click to expand
[1] The abstract state is the state of the ARM V6 processor as defined in the formal model, contrasted with the concrete state which uses C data structures. Towards Verified Faithful Simulation
[2] The correctness theorem requires that executing the same instruction on a pair of equivalent states (concrete and abstract, related by projection) produces a new pair of equivalent states. Towards Verified Faithful Simulation
[3] A projection constructs a formal structure from the concrete C state; if it does not match the abstract state, the C code is incorrect. Towards Verified Faithful Simulation
[4] The abstract state includes Proc_state, SCC, CPSR, SPSR, reg, mem, and exns fields. Towards Verified Faithful Simulation
[5] The C implementation uses large embedded structs to express the ARM processor state, modeled as a complex Coq record type including data fields and access-permission proofs. Towards Verified Faithful Simulation
[6] The global state of the abstract model is based on a memory model with load and store functions for read/write operations. Towards Verified Faithful Simulation
[7] Transitions are defined in a relational style, which is more flexible for handling constraints and fits well with operational semantics. Towards Verified Faithful Simulation
[8] CompCert C semantics distinguishes a global environment genv (mapping identifiers to memory blocks and function pointers) and a local environment env (mapping local variables to memory block references). Towards Verified Faithful Simulation
[9] Proofs for instructions start from the abstract state described by the formal specification, using the initial memory state, the local environment, and the formal initial processor state. Towards Verified Faithful Simulation
[10] On the abstract side, the new state is obtained by running the formal model; on the concrete side, execution of the C function body yields a new concrete state mfin, and the proof verifies that the projection of mfin is related to the abstract state. Towards Verified Faithful Simulation