Documentation

Semantic.CC.Semantics.SmallStep

inductive CC.Step :

Small-step evaluation relation indexed by a precise capability set. Step C m e m' e' means that expression e in memory m steps to e' in memory m' using exactly the capabilities in C.

Instances For
    inductive CC.Reduce :

    Multi-step reduction relation: reflexive-transitive closure of Step. Reduce C m e m' e' means that e in memory m takes multiple steps to e' in memory m' using exactly the capabilities in C (union of all step capabilities).

    Note: The capability set is precise - it's exactly what was used. Due to union not being definitionally associative, we define an equivalence-respecting version of transitivity.

    Instances For
      theorem CC.reduce_trans {C1 : CapabilitySet} {m1 : Memory} {e1 : Exp } {m2 : Memory} {e2 : Exp } {C2 : CapabilitySet} {m3 : Memory} {e3 : Exp } (hred1 : Reduce C1 m1 e1 m2 e2) (hred2 : Reduce C2 m2 e2 m3 e3) :
      ∃ (C : CapabilitySet), C C1 C2 Reduce C m1 e1 m3 e3