One-location normal-tree access processing from the interaction between Miri's tree visitor and LocationState::perform_transition. This composes the exact local/foreign visit schedule with lazy per-node defaults, SIFA skip and record behavior, permission transitions, and protector errors.
The model assumes aligned node/default/state arrays and a valid finite tree. It covers the normal concrete-provenance tree path at one location. Ranged allocations, wildcard roots/exposed caches, diagnostics, and deallocation checks remain separate.
Per-node defaults and protector status for one concrete tree location.
- topology : TraversalTree
- defaultStates : Array LocationState
- locationStates : Array (Option LocationState)
Instances For
Equations
- One or more equations did not get rendered due to their size.
Instances For
Equations
- One or more equations did not get rendered due to their size.
Instances For
Equations
Termination/status from one normal tree access.
- Completed : NormalAccessStatus
- TransitionError (node : Nat) (error : Diagnostics.TransitionError) : NormalAccessStatus
- RecordDebugAssertion (node : Nat) : NormalAccessStatus
- PermissionInvariantFailure (node : Nat) : NormalAccessStatus
- TransitionApplicationInvariantFailure (node : Nat) : NormalAccessStatus
- PossibleInvariantFailure (node : Nat) : NormalAccessStatus
- MissingLocationState (node : Nat) : NormalAccessStatus
Instances For
Equations
- One or more equations did not get rendered due to their size.
- Miri.TreeBorrows.Tree.instDecidableEqNormalAccessStatus.decEq Miri.TreeBorrows.Tree.NormalAccessStatus.Completed Miri.TreeBorrows.Tree.NormalAccessStatus.Completed = isTrue ⋯
- Miri.TreeBorrows.Tree.instDecidableEqNormalAccessStatus.decEq Miri.TreeBorrows.Tree.NormalAccessStatus.Completed (Miri.TreeBorrows.Tree.NormalAccessStatus.RecordDebugAssertion node) = isFalse ⋯
- Miri.TreeBorrows.Tree.instDecidableEqNormalAccessStatus.decEq Miri.TreeBorrows.Tree.NormalAccessStatus.Completed (Miri.TreeBorrows.Tree.NormalAccessStatus.MissingLocationState node) = isFalse ⋯
Instances For
Equations
- One or more equations did not get rendered due to their size.
Instances For
Updated one-location tree, root of the accessed tree, events propagated, and the first source error (if any).
- tree : NormalTreeState
- root : Nat
- visited : List TraversalEvent
- status : NormalAccessStatus
Instances For
Equations
- One or more equations did not get rendered due to their size.
Instances For
Equations
- One or more equations did not get rendered due to their size.
Instances For
Existing lazy state, or the node's source default state.
Equations
Instances For
Apply the normal concrete-tree access at one location. The visit skip set is computed from each node's current-or-default state exactly as Miri's foreign-only continue callback does.
Equations
- One or more equations did not get rendered due to their size.
Instances For
A one-node Cell tree used to establish a complete normal-access contract.
Equations
- One or more equations did not get rendered due to their size.
Instances For
On a singleton tree, a local Cell access completes and materializes the accessed location state exactly as the source helpers require.