Skip to main content Module ast Copy item path Source pub use declaration::DeclarationKind ;pub use declaration::DeclarationPtr ;pub use eval::generator_values_from_expr ;pub use eval::eval_constant ;pub use eval::eval_constant_local ;pub use eval::finish_root_evaluator_normalisation ;pub use eval::normalise_evaluator_local ;pub use eval::normalise_root_constraint_deep ;pub use eval::normalise_root_constraints_deep ;pub use eval::normalise_root_constraints_local ;pub use eval::normalise_root_selective_deep_expr ;pub use records::Field ;ac_operators assertions Debug-only structural assertions for AST/model integrity. categories comprehension declaration eval matrix Utility functions for working with matrices. pretty Functions for pretty printing Conjure models. records serde Serde serialization/ deserialization helpers. CnfClause DecisionVariable Represents a decision variable within a computational model. ExprInfo A struct for the information about expressions ExpressionArena Arena-backed representation of an Expression tree. ExpressionNodeId Stable handle for an expression node stored in an ExpressionArena . FuncAttr MSetAttr Metadata Per-expression metadata used for typing, source mapping, and runtime caches. Model An Essence model. Moo A clone-on-write, reference counted pointer to an AST type. Objective A single-objective optimisation statement. PartitionAttr PermutationAttr A permutation is inherently total and bijective by definition, so unlike partition or
function, its only attribute is a size constraint on numMoved, the number of moved points
(i.e. the points not fixed by the permutation) – confirmed against real Conjure’s own
numMoved/minNumMoved/maxNumMoved keywords (real Conjure does not accept
size/minSize/maxSize here, unlike set/relation/etc). Reference A reference to a declaration (variable, parameter, etc.) RelAttr SequenceAttr SerdeModel A model that is de/serializable using serde. SetAttr SymbolTable The global symbol table, mapping names to their definitions. SymbolTablePtr AbstractLiteral Atom An Atom is an indivisible expression, such as a literal or a reference. BinaryAttr Domain Variants are ordered from fully resolved to unresolved; keep broad matches in this order. DomainOpError An error thrown by an operation on domains. Expression Represents different types of expressions used to define rules and constraints in the model. GroundDomain Variants use the project-wide type/domain ordering; keep broad matches in the same order. IntVal A variable or expression appearing inside an int range of an unresolved domain;
E.g int(1..x), int(2, 4..(2*y)), set (minSize x) of int(1..5), etc JectivityAttr Literal A literal value, equivalent to constants in Conjure. Name A reference to an object stored in the [SymbolTable]. OptimiseDirection Whether an objective is minimised or maximised. PartialityAttr Range ReturnType Variants use the project-wide type/domain ordering; keep broad matches in the same order. SATIntEncoding UnresolvedDomain Variants use the project-wide type/domain ordering; keep broad matches in the same order. OXIDE_INT_MAX Upper bound of the default fully-bounded integer domain used by Conjure Oxide. OXIDE_INT_MIN Lower bound of the default fully-bounded integer domain used by Conjure Oxide. HasDomain Types that have a Domain . Typeable Guaranteed to always typecheck discriminant_from_value domain_has_int_from_values Whether domain takes its values from a collection expression anywhere inside it. print_hash_stats run_partial_evaluator run_partial_evaluator_local Partially evaluates expr using only information already available at the focused node. try_lower_bool_atom_eq_true Rewrites x = true / true = x to x when x is a non-literal boolean atom. DomainPtr