Documentation

SE.Transformation.Effect.Sequence

Sequences of Atomic Steps #

A sequence is a list of operators applied in order, each as one atomic step. StateModel.SequenceStep M ops s t says that t is reached from s by applying the operators of ops in order, through some intermediate configurations.

sequenceFootprintUpperBound ops is the union of the footprints of the operators in ops. It is the set of dimensions that may be touched somewhere in the sequence.

It is not the set of dimensions on which the final configuration may differ from the initial one. A later step may restore a dimension that an earlier step changed. The theorems below keep the two notions apart:

Net effects, restoration, and inverse behavior are not defined here.

The dimensions that may be touched somewhere in a sequence of operators: the union of the footprints of its operators.

This is an upper bound on where change may occur. It says nothing about which dimensions differ between the initial and final configurations.

Equations
Instances For

    A dimension is in the bound exactly when some operator of the sequence has it in its footprint.

    The bound of a sequence with a first operator is that operator's footprint together with the bound of the rest.

    M.SequenceStep ops s t: t is reached from s by applying the operators of ops in order, each as one atomic step.

    Instances For

      A one-operator sequence is exactly one atomic step.

      A sequence of two parts passes through an intermediate configuration.

      A dimension outside the sequence bound is preserved: the initial and final configurations agree on it.

      theorem SE.Transformation.StateModel.SequenceStep.preserves {M : StateModel} {D : List Dimension} {P : M.State → M.State → Prop} {ops : List OperatorCode} {s t : M.State} (hP : M.AgreementSuffices D P) (hD : ∀ (d : Dimension), d ∈ D → ¬d ∈ sequenceFootprintUpperBound ops) (h : M.SequenceStep ops s t) :
      P s t

      Frame-based preservation lifts to sequences: if agreement on D suffices for P and the sequence bound avoids D, a sequence of steps preserves P.

      Preservation throughout a history: if a dimension is outside the bound of a two-part sequence, the initial configuration agrees on it with the intermediate configuration and the intermediate with the final one.

      A difference between initial and final configurations lies inside the sequence bound.

      Touched is not net change. In the maximal model, the sequence BD, UB may touch binding, which is in its bound, while the initial and final configurations still agree on binding.