Documentation

Cedar.Thm.TPE.Soundness.HasAttr

If the schema does not declare an attribute a for an entity, then it does not have a.

theorem Cedar.Thm.try_decide_has_residual_sound {env : Validation.TypeEnv} {r₁ : Spec.Residual} {req : Spec.Request} {es : Spec.Entities} {attr : Spec.Attr} {v : Spec.Value} (hwf : InstanceOfWellFormedEnvironment req es env) (hwt : Residual.WellTyped env r₁) (hdec : TPE.tryDecideHasResidual env r₁ attr = some v) :
∃ (v' : Spec.Value), r₁.evaluate req es = Except.ok v' ∧ Spec.hasAttr v' attr es = Except.ok v

If tryDecideHasResidual decides a has expression from the operand's type, then concrete evaluation agrees.