Abstract State
ConceptIn 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
NEIGHBORHOOD
No graph connections found for this entity yet. It may appear in future ingestion runs.
explore full graph →RELATIONSHIPS
1 connectionsThe paper uses abstract state in its proof methodology
LINKED ENTITIES
1 linksCITATIONS
10 sources10 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