Theory Interval_Sound

theory Interval_Sound
  imports
    Interval_Exec
begin

section ‹What the initial abstract state describes›

text ‹
  Interval's specification and its soundness are not restated here:
  ‹ivl_tf.spec_exec› is sound against ‹λd g. γ (ρ𝒢 d)› by
  ‹ivl_tf.sound_exec› and ‹ivl_tf.entry_cover_exec›, which every non-relational
  bundle gets from locale‹sound_nonrelational_ops›.
›

text ‹
  The initial-state contract, owned here rather than reproved at each of the four
  assembly instances: every concrete store a run may start in is described by
  const‹cinit_ivl_st›. A declared global starts at zero, which the singleton
  interval describes exactly; a local starts unconstrained, which the unbounded
  interval describes trivially. The solver discipline does not enter into it, which
  is why one lemma serves all four.
›

lemma interval_cinit_gamma:
  "cinit_stores 𝒢 ⊆ default_st_gamma 𝒢 cinit_ivl_st"
  by (auto simp: cinit_stores_def gamma_state_def default_st_gamma_initial)

end