UOR Predicates and Dispatch

IRI
https://uor.foundation/predicate/
Prefix
predicate:
Space
kernel
Comment
Boolean-valued functions on kernel objects. Formalizes resolver dispatch, reduction guard evaluation, and conditional resolution paths.

This is a kernel-space namespace in the Define stage of the PRISM pipeline. It provides the immutable algebraic substrate — ring structure, schema vocabulary, and operation algebra.

Learn more: Pipeline Overview

Class hierarchy
Class hierarchy for UOR Predicates and Dispatch namespace Predicate TypePredicate StatePredicate SitePredicate DispatchRule DispatchTable GuardedTransit MatchArm MatchExpressio

Imports

Classes

NameSubclass OfDisjoint WithComment
PredicateThingA total, pure, boolean-valued function on a kernel object. Evaluation terminates for all inputs and produces no side effects.
TypePredicatePredicateA predicate over type:TypeDefinition. Used for resolver dispatch.
StatePredicatePredicateA predicate over state:Context or reduction:ReductionState. Used for reduction step guards.
SitePredicatePredicateA predicate over partition:SiteIndex. Used for site-level selection in geodesic resolution.
DispatchRuleThingA pair (Predicate, Target) where Target is a resolver:Resolver class. The kernel evaluates the predicate; if true, the target resolver is selected.
DispatchTableThingAn ordered set of DispatchRules for a single dispatch point. Must satisfy exhaustiveness and mutual exclusion.
GuardedTransitionThingA triple (StatePredicate, effect:Effect, reduction:ReductionStep). The guard is a StatePredicate; if true, the effect is applied and the reduction advances to the target step.
MatchArmThingA single case in a pattern match: a Predicate and a result Term. The match evaluates predicates in order and returns the result of the first matching arm.
MatchExpressionTermA term formed by evaluating a sequence of MatchArms. Extends the term language with deterministic conditional evaluation.

Properties

NameKindFunctionalDomainRangeComment
evaluatesOverObjecttruePredicateClassThe OWL class of objects this predicate accepts as input.
dispatchPredicateObjecttrueDispatchRulePredicateThe predicate that triggers this dispatch rule.
dispatchTargetObjecttrueDispatchRuleClassThe resolver class selected when the predicate is satisfied. Range is the OWL class IRI of a resolver:Resolver subclass; v0.2.1 uses class IRIs so the codegen can construct façade structs.
dispatchRulesObjectfalseDispatchTableDispatchRuleThe ordered set of rules in this table.
dispatchPriorityDatatypetrueDispatchRulenonNegativeIntegerNon-negative integer priority. Lower priority values are evaluated first; ties within a DispatchTable are resolved by declaration order.
evaluatorTermObjecttruePredicateTermThe evaluator term that must reduce to a boolean-shaped datum on every input of the declared input type.
terminationWitnessDatatypetruePredicatestringAn IRI or identifier of the proof:Proof / proof:ComputationCertificate attesting that the evaluator halts on all inputs.
guardPredicateObjecttrueGuardedTransitionStatePredicateThe guard predicate for this transition.
guardEffectObjecttrueGuardedTransitionEffectThe effect applied when the guard is satisfied.
guardTargetObjecttrueGuardedTransitionReductionStepThe reduction step to advance to.
matchArmsObjectfalseMatchExpressionMatchArmThe ordered arms of this match expression.
armPredicateObjecttrueMatchArmPredicateThe predicate guarding this arm.
armResultObjecttrueMatchArmTermThe result term if this arm matches.
boundedEvaluatorObjectfalsePredicateDescentMeasureA termination witness for user-declared predicates. Kernel predicates are total by construction; user-declared predicates must carry a descent measure certifying termination.
dispatchIndexDatatypetrueDispatchRulenonNegativeIntegerPosition in the dispatch table (evaluation order).
isExhaustiveDatatypetrueDispatchTablebooleanTrue iff the disjunction of all dispatch predicates is a tautology over the input class.
isMutuallyExclusiveDatatypetrueDispatchTablebooleanTrue iff no two dispatch predicates can be simultaneously true for any input.
armIndexDatatypetrueMatchArmnonNegativeIntegerPosition in the match expression (evaluation order).

Named Individuals

NameTypeComment
alwaysPredicateTrue on every Datum. Match-arm default catch-all.
  • evaluatesOver: Datum
neverPredicateFalse on every Datum. Disabled-arm marker.
  • evaluatesOver: Datum
isZeroTypePredicateTrue iff the Datum is the additive identity of its ring.
  • evaluatesOver: Datum
isUnitTypePredicateTrue iff the Datum is the multiplicative identity.
  • evaluatesOver: Datum
isOddTypePredicateTrue iff the Datum parity bit is 1.
  • evaluatesOver: Datum
isEvenTypePredicateTrue iff the Datum parity bit is 0.
  • evaluatesOver: Datum
isInvolutionTypePredicateTrue iff op(op(x)) = x for the bound op.
  • evaluatesOver: Datum
sitePinnedSitePredicateTrue iff the named site coordinate is currently pinned.
  • evaluatesOver: SiteIndex
siteFreeSitePredicateTrue iff the named site coordinate is currently free.
  • evaluatesOver: SiteIndex
contradictionReachedStatePredicateTrue iff the resolver has entered a ContradictionBoundary.
  • evaluatesOver: ContradictionBoundary
budgetExhaustedStatePredicateTrue iff the FreeRank deficit is zero.
  • evaluatesOver: FreeRank
reductionConvergedStatePredicateTrue iff the reduction fixpoint has been reached.
  • evaluatesOver: ReductionState
Is2SatShapeTypePredicateTrue on ConstrainedType instances whose constraint nerve contains only disjunctions of width ≤ 2.
  • evaluatesOver: ConstrainedType
IsHornShapeTypePredicateTrue on ConstrainedType instances whose disjunctions each contain at most one positive literal.
  • evaluatesOver: ConstrainedType
IsResidualFragmentTypePredicateDefault (catch-all) predicate. True on ConstrainedType instances not classified by Is2SatShape or IsHornShape.
  • evaluatesOver: ConstrainedType
InhabitanceDispatchTableDispatchTableThe predicate:DispatchTable governing resolver:InhabitanceResolver. Three rules form a partition of type:ConstrainedType: Is2SatShape → TwoSatDecider (priority 0), IsHornShape → HornSatDecider (priority 1), IsResidualFragment → ResidualVerdictResolver (priority 2, catch-all). Total coverage is enforced by reduction:DispatchCoverageCheck; DispatchMiss is unreachable for this table.
  • isExhaustive: true
  • isMutuallyExclusive: true
inhabitance_rule_2satDispatchRuleDispatch rule 1 of InhabitanceDispatchTable: Is2SatShape → TwoSatDecider at priority 0.
  • dispatchPredicate: Is2SatShape
  • dispatchTarget: TwoSatDecider
  • dispatchPriority: 0
inhabitance_rule_hornDispatchRuleDispatch rule 2 of InhabitanceDispatchTable: IsHornShape → HornSatDecider at priority 1.
  • dispatchPredicate: IsHornShape
  • dispatchTarget: HornSatDecider
  • dispatchPriority: 1
inhabitance_rule_residualDispatchRuleDispatch rule 3 (catch-all) of InhabitanceDispatchTable: IsResidualFragment → ResidualVerdictResolver at priority 2. Ensures total coverage.
  • dispatchPredicate: IsResidualFragment
  • dispatchTarget: ResidualVerdictResolver
  • dispatchPriority: 2