Documentation

Cedar.Thm.TPE.Soundness.Unary

is on an entity-typed value is decided by comparing the two types.

theorem Cedar.Thm.partial_evaluate_is_sound_unary_app {x₁ : Spec.Residual} {req : Spec.Request} {es : Spec.Entities} {preq : TPE.PartialRequest} {pes : TPE.PartialEntities} {op₁ : Spec.UnaryOp} {ty : Validation.CedarType} {env : Validation.TypeEnv} (h₂ : InstanceOfWellFormedEnvironment req es env) (hwt : Residual.WellTyped env x₁) (h_ref : RequestAndEntitiesRefine req es preq pes) (hᵢ₁ : Except.toOption (x₁.evaluate req es) = Except.toOption ((TPE.evaluate env x₁ preq pes).evaluate req es)) :
Except.toOption ((Spec.Residual.unaryApp op₁ x₁ ty).evaluate req es) = Except.toOption ((TPE.evaluate env (Spec.Residual.unaryApp op₁ x₁ ty) preq pes).evaluate req es)