Documentation

Cedar.Thm.SymCC.Verifier.WellTypedOk

verify* functions always succeed on well-formed inputs. -

verifyEvaluate succeeds on sufficiently well-formed inputs.

theorem Cedar.Thm.verifyEvaluatePair_is_ok {φ : SymCC.TermSymCC.TermSymCC.Term} {p₁ p₁' p₂ p₂' : Spec.Policy} {Γ : Validation.TypeEnv} (hwf : Γ.WellFormed) (hwt₁ : SymCC.wellTypedPolicy p₁ Γ = Except.ok p₁') (hwt₂ : SymCC.wellTypedPolicy p₂ Γ = Except.ok p₂') :

verifyEvaluatePair succeeds on sufficiently well-formed inputs.

compileWithEffect succeeds on sufficiently well-formed inputs.

satisfiedPolicies succeeds on sufficiently well-formed inputs.

isAuthorized succeeds on sufficiently well-formed inputs.

theorem Cedar.Thm.verifyIsAuthorized_is_ok (φ : SymCC.TermSymCC.TermSymCC.Term) {ps₁ ps₁' ps₂ ps₂' : Spec.Policies} {Γ : Validation.TypeEnv} (hwf : Γ.WellFormed) (hwt₁ : SymCC.wellTypedPolicies ps₁ Γ = Except.ok ps₁') (hwt₂ : SymCC.wellTypedPolicies ps₂ Γ = Except.ok ps₂') :

verifyIsAuthorized succeeds on sufficiently well-formed inputs.

verifyNeverErrors succeeds on sufficiently well-formed inputs.

verifyAlwaysMatches succeeds on sufficiently well-formed inputs.

verifyNeverMatches succeeds on sufficiently well-formed inputs.

theorem Cedar.Thm.verifyMatchesEquivalent_is_ok {p₁ p₁' p₂ p₂' : Spec.Policy} {Γ : Validation.TypeEnv} (hwf : Γ.WellFormed) (hwt₁ : SymCC.wellTypedPolicy p₁ Γ = Except.ok p₁') (hwt₂ : SymCC.wellTypedPolicy p₂ Γ = Except.ok p₂') :

verifyMatchesEquivalent succeeds on sufficiently well-formed inputs.

theorem Cedar.Thm.verifyMatchesImplies_is_ok {p₁ p₁' p₂ p₂' : Spec.Policy} {Γ : Validation.TypeEnv} (hwf : Γ.WellFormed) (hwt₁ : SymCC.wellTypedPolicy p₁ Γ = Except.ok p₁') (hwt₂ : SymCC.wellTypedPolicy p₂ Γ = Except.ok p₂') :

verifyMatchesImplies succeeds on sufficiently well-formed inputs.

theorem Cedar.Thm.verifyMatchesDisjoint_is_ok {p₁ p₁' p₂ p₂' : Spec.Policy} {Γ : Validation.TypeEnv} (hwf : Γ.WellFormed) (hwt₁ : SymCC.wellTypedPolicy p₁ Γ = Except.ok p₁') (hwt₂ : SymCC.wellTypedPolicy p₂ Γ = Except.ok p₂') :

verifyMatchesDisjoint succeeds on sufficiently well-formed inputs.

theorem Cedar.Thm.verifyImplies_is_ok {ps₁ ps₁' ps₂ ps₂' : Spec.Policies} {Γ : Validation.TypeEnv} (hwf : Γ.WellFormed) (hwt₁ : SymCC.wellTypedPolicies ps₁ Γ = Except.ok ps₁') (hwt₂ : SymCC.wellTypedPolicies ps₂ Γ = Except.ok ps₂') :

verifyImplies succeeds on sufficiently well-formed inputs.

verifyAlwaysAllows succeeds on sufficiently well-formed inputs.

verifyAlwaysDenies succeeds on sufficiently well-formed inputs.

theorem Cedar.Thm.verifyEquivalent_is_ok {ps₁ ps₁' ps₂ ps₂' : Spec.Policies} {Γ : Validation.TypeEnv} (hwf : Γ.WellFormed) (hwt₁ : SymCC.wellTypedPolicies ps₁ Γ = Except.ok ps₁') (hwt₂ : SymCC.wellTypedPolicies ps₂ Γ = Except.ok ps₂') :

verifyEquivalent succeeds on sufficiently well-formed inputs.

theorem Cedar.Thm.verifyDisjoint_is_ok {ps₁ ps₁' ps₂ ps₂' : Spec.Policies} {Γ : Validation.TypeEnv} (hwf : Γ.WellFormed) (hwt₁ : SymCC.wellTypedPolicies ps₁ Γ = Except.ok ps₁') (hwt₂ : SymCC.wellTypedPolicies ps₂ Γ = Except.ok ps₂') :

verifyDisjoint succeeds on sufficiently well-formed inputs.