Documentation

Cedar.Thm.Validation.SubstituteAction

Equations
  • One or more equations did not get rendered due to their size.
Instances For
    theorem Cedar.Thm.substitute_action_preserves_evaluation_ite {i t e : Spec.Expr} {request : Spec.Request} {entities : Spec.Entities} (ih₁ : SubstituteActionPreservesEvaluation i request entities) (ih₂ : SubstituteActionPreservesEvaluation t request entities) (ih₃ : SubstituteActionPreservesEvaluation e request entities) :
    Spec.evaluate (Validation.substituteAction request.action (i.ite t e)) request entities = Spec.evaluate (i.ite t e) request entities
    theorem Cedar.Thm.substitute_action_preserves_evaluation_getAttr {e : Spec.Expr} {attr : Spec.Attr} {request : Spec.Request} {entities : Spec.Entities} (ih₁ : SubstituteActionPreservesEvaluation e request entities) :
    Spec.evaluate (Validation.substituteAction request.action (e.getAttr attr)) request entities = Spec.evaluate (e.getAttr attr) request entities
    theorem Cedar.Thm.substitute_action_preserves_evaluation_hasAttr {e : Spec.Expr} {attr : Spec.Attr} {request : Spec.Request} {entities : Spec.Entities} (ih₁ : SubstituteActionPreservesEvaluation e request entities) :
    Spec.evaluate (Validation.substituteAction request.action (e.hasAttr attr)) request entities = Spec.evaluate (e.hasAttr attr) request entities
    theorem Cedar.Thm.substitute_action_preserves_evaluation_and {a b : Spec.Expr} {request : Spec.Request} {entities : Spec.Entities} (ih₁ : SubstituteActionPreservesEvaluation a request entities) (ih₂ : SubstituteActionPreservesEvaluation b request entities) :
    Spec.evaluate (Validation.substituteAction request.action (a.and b)) request entities = Spec.evaluate (a.and b) request entities
    theorem Cedar.Thm.substitute_action_preserves_evaluation_or {a b : Spec.Expr} {request : Spec.Request} {entities : Spec.Entities} (ih₁ : SubstituteActionPreservesEvaluation a request entities) (ih₂ : SubstituteActionPreservesEvaluation b request entities) :
    Spec.evaluate (Validation.substituteAction request.action (a.or b)) request entities = Spec.evaluate (a.or b) request entities
    theorem Cedar.Thm.substitute_action_preserves_evaluation_set {xs : List Spec.Expr} {request : Spec.Request} {entities : Spec.Entities} (ih₁ : ∀ (xᵢ : Spec.Expr), xᵢ xsSubstituteActionPreservesEvaluation xᵢ request entities) :
    Spec.evaluate (Validation.substituteAction request.action (Spec.Expr.set xs)) request entities = Spec.evaluate (Spec.Expr.set xs) request entities
    theorem Cedar.Thm.substitute_action_preserves_evaluation_record {axs : List (Spec.Attr × Spec.Expr)} {request : Spec.Request} {entities : Spec.Entities} (ih₁ : ∀ (axᵢ : Spec.Attr × Spec.Expr), axᵢ axsSubstituteActionPreservesEvaluation axᵢ.snd request entities) :
    Spec.evaluate (Validation.substituteAction request.action (Spec.Expr.record axs)) request entities = Spec.evaluate (Spec.Expr.record axs) request entities
    theorem Cedar.Thm.substitute_action_preserves_evaluation_call {xfn : Spec.ExtFun} {xs : List Spec.Expr} {request : Spec.Request} {entities : Spec.Entities} (ih₁ : ∀ (xᵢ : Spec.Expr), xᵢ xsSubstituteActionPreservesEvaluation xᵢ request entities) :
    Spec.evaluate (Validation.substituteAction request.action (Spec.Expr.call xfn xs)) request entities = Spec.evaluate (Spec.Expr.call xfn xs) request entities
    @[irreducible]
    theorem Cedar.Thm.substitute_action_preserves_evaluation (expr : Spec.Expr) (request : Spec.Request) (entities : Spec.Entities) :
    Spec.evaluate (Validation.substituteAction request.action expr) request entities = Spec.evaluate expr request entities
    theorem Cedar.Thm.substitute_action_preserves_evaluates_to {expr : Spec.Expr} {request : Spec.Request} {entities : Spec.Entities} {v : Spec.Value} :
    EvaluatesTo (Validation.substituteAction request.action expr) request entities v EvaluatesTo expr request entities v