This file defines the ADTs that represent the symbolic environment. The environment consists of a symbolic request, entity store, and action store. A symbolic environment is literal when it consists of literal terms and interpreted functions (UDFs).
Equations
Equations
- One or more equations did not get rendered due to their size.
Instances For
Equations
Instances For
Equations
Equations
- One or more equations did not get rendered due to their size.
Instances For
Represents the entity data for all entities of a single type
- attrs : UnaryFunction
- ancestors : Data.Map Spec.EntityType UnaryFunction
Let
t₁be the entity type which thisSymEntityDatarepresents the data for. Lett₂be an entity type in this map's keys. TheUnaryFunctionhere maps entities of typet₁to the set of entities of typet₂which are ancestors of that entity. (Of course, theUnaryFunctionis on SMT-level values, so the domain is essentiallyt₁-typedTerms, and the output is essentially aSet<t₂>-typedTerm.) Specifies the EIDs of enum members for this entity type, if applicable
Instances For
Equations
- One or more equations did not get rendered due to their size.
Instances For
Equations
- One or more equations did not get rendered due to their size.
Instances For
Equations
Equations
Instances For
Equations
- One or more equations did not get rendered due to their size.
Instances For
Instances For
Equations
- εs.attrs ety = do let __do_lift ← Cedar.Data.Map.find? εs ety some __do_lift.attrs
Instances For
Equations
- εs.ancestors ety = do let __do_lift ← Cedar.Data.Map.find? εs ety some __do_lift.ancestors
Instances For
Equations
- εs.ancestorsOfType ety ancTy = do let __do_lift ← εs.ancestors ety __do_lift.find? ancTy
Instances For
Equations
- εs.isValidEntityType ety = Cedar.Data.Map.contains εs ety
Instances For
Equations
Instances For
Equations
- εs.tags ety = Option.map Cedar.SymCC.SymEntityData.tags (Cedar.Data.Map.find? εs ety)
Equations
- es.isLiteral = (Cedar.Data.Map.toList es).all fun (x : Cedar.Spec.EntityType × Cedar.SymCC.SymEntityData) => match x with | (fst, d) => d.isLiteral
Instances For
Equations
- One or more equations did not get rendered due to their size.
Instances For
Equations
- Cedar.SymCC.instReprSymEnv = { reprPrec := Cedar.SymCC.instReprSymEnv.repr }
Instances For
Equations
Equations
Instances For
Instances For
Equations
Instances For
Equations
Instances For
Equations
- One or more equations did not get rendered due to their size.
Instances For
Equations
- One or more equations did not get rendered due to their size.
Instances For
Equations
- One or more equations did not get rendered due to their size.
Instances For
Equations
- One or more equations did not get rendered due to their size.
Instances For
Equations
- One or more equations did not get rendered due to their size.
Instances For
Equations
- Cedar.SymCC.SymEntityData.ofEnumEntityType ety eids = { attrs := Cedar.SymCC.SymEntityData.emptyAttrs ety, ancestors := Cedar.Data.Map.empty, members := some eids, tags := none }
Instances For
Equations
- One or more equations did not get rendered due to their size.
Instances For
Equations
- Cedar.SymCC.SymEntityData.ofActionType.termOfType? ety uid = if uid.ty = ety then some (Cedar.SymCC.Term.prim (Cedar.SymCC.TermPrim.entity uid)) else none
Instances For
Equations
- One or more equations did not get rendered due to their size.
Instances For
Equations
- One or more equations did not get rendered due to their size.
Instances For
Equations
- One or more equations did not get rendered due to their size.
Instances For
Creates symbolic entities for the given schema. This function assumes that the schemas are well-formed in the following sense:
- All entity types that appear in the attributes or ancestors fields of
etsare declared either inetsoracts. - All entity types that appear in the ancestors fields of
actsare declared inacts. An entity type is declared inetsif it's a key in the underlying map; it's declared inactsif it's the type of a key in the underlying map. This function also assumesetsandatsdeclare disjoint sets of types. This function assumes that no entity types have tags, and that action types have no attributes.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Creates a symbolic request for the given request type.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Returns a symbolic environment that conforms to the given type environment.
Equations
- Cedar.SymCC.SymEnv.ofEnv tyEnv = { request := Cedar.SymCC.SymRequest.ofRequestType tyEnv.reqty, entities := Cedar.SymCC.SymEntities.ofSchema tyEnv.ets tyEnv.acts }