Documentation

Cedar.Thm.SymCC.Enforcer.Compile

This file proves that a term produced by compiling an expression x has the same value under interpretations I₁ and I₂ that agree on the footprint of x. See compile_interpret_on_footprint.

This proof relies on the theorem compile_interpret_in_footprint, which says that every entity produced by interpreting a subexpression of x is in the footprint of x. #

theorem Cedar.Thm.compile_interpret_on_footprint {x : Spec.Expr} {ft : Data.Set SymCC.Term} {εnv : SymCC.SymEnv} {I₁ I₂ : SymCC.Interpretation} {t : SymCC.Term} (hwε : εnv.WellFormedFor x) (hI₁ : I₁.WellFormed εnv.entities) (hI₂ : I₂.WellFormed εnv.entities) (hsm : εnv.SameOn ft I₁ I₂) (hft : SymCC.footprint x εnv ft) (hok : SymCC.compile x εnv = Except.ok t) :