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.

Imports

  • https://uor.foundation/op/
  • https://uor.foundation/schema/
  • https://uor.foundation/type/
  • https://uor.foundation/state/
  • https://uor.foundation/effect/
  • https://uor.foundation/partition/

Classes

NameIRISubclass OfDisjoint WithComment
Predicatehttps://uor.foundation/predicate/Predicatehttp://www.w3.org/2002/07/owl#ThingA total, pure, boolean-valued function on a kernel object. Evaluation terminates for all inputs and produces no side effects.
TypePredicatehttps://uor.foundation/predicate/TypePredicatehttps://uor.foundation/predicate/PredicateA predicate over type:TypeDefinition. Used for resolver dispatch.
StatePredicatehttps://uor.foundation/predicate/StatePredicatehttps://uor.foundation/predicate/PredicateA predicate over state:Context or reduction:ReductionState. Used for reduction step guards.
SitePredicatehttps://uor.foundation/predicate/SitePredicatehttps://uor.foundation/predicate/PredicateA predicate over partition:SiteIndex. Used for site-level selection in geodesic resolution.
DispatchRulehttps://uor.foundation/predicate/DispatchRulehttp://www.w3.org/2002/07/owl#ThingA pair (Predicate, Target) where Target is a resolver:Resolver class. The kernel evaluates the predicate; if true, the target resolver is selected.
DispatchTablehttps://uor.foundation/predicate/DispatchTablehttp://www.w3.org/2002/07/owl#ThingAn ordered set of DispatchRules for a single dispatch point. Must satisfy exhaustiveness and mutual exclusion.
GuardedTransitionhttps://uor.foundation/predicate/GuardedTransitionhttp://www.w3.org/2002/07/owl#ThingA 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.
MatchArmhttps://uor.foundation/predicate/MatchArmhttp://www.w3.org/2002/07/owl#ThingA 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.
MatchExpressionhttps://uor.foundation/predicate/MatchExpressionhttps://uor.foundation/schema/TermA term formed by evaluating a sequence of MatchArms. Extends the term language with deterministic conditional evaluation.

Properties

NameKindFunctionalDomainRangeComment
evaluatesOverObjecttruehttps://uor.foundation/predicate/Predicatehttp://www.w3.org/2002/07/owl#ClassThe OWL class of objects this predicate accepts as input.
dispatchPredicateObjecttruehttps://uor.foundation/predicate/DispatchRulehttps://uor.foundation/predicate/PredicateThe predicate that triggers this dispatch rule.
dispatchTargetObjecttruehttps://uor.foundation/predicate/DispatchRulehttp://www.w3.org/2002/07/owl#ClassThe 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.
dispatchRulesObjectfalsehttps://uor.foundation/predicate/DispatchTablehttps://uor.foundation/predicate/DispatchRuleThe ordered set of rules in this table.
dispatchPriorityDatatypetruehttps://uor.foundation/predicate/DispatchRulehttp://www.w3.org/2001/XMLSchema#nonNegativeIntegerNon-negative integer priority. Lower priority values are evaluated first; ties within a DispatchTable are resolved by declaration order.
evaluatorTermObjecttruehttps://uor.foundation/predicate/Predicatehttps://uor.foundation/schema/TermThe evaluator term that must reduce to a boolean-shaped datum on every input of the declared input type.
terminationWitnessDatatypetruehttps://uor.foundation/predicate/Predicatehttp://www.w3.org/2001/XMLSchema#stringAn IRI or identifier of the proof:Proof / proof:ComputationCertificate attesting that the evaluator halts on all inputs.
guardPredicateObjecttruehttps://uor.foundation/predicate/GuardedTransitionhttps://uor.foundation/predicate/StatePredicateThe guard predicate for this transition.
guardEffectObjecttruehttps://uor.foundation/predicate/GuardedTransitionhttps://uor.foundation/effect/EffectThe effect applied when the guard is satisfied.
guardTargetObjecttruehttps://uor.foundation/predicate/GuardedTransitionhttps://uor.foundation/reduction/ReductionStepThe reduction step to advance to.
matchArmsObjectfalsehttps://uor.foundation/predicate/MatchExpressionhttps://uor.foundation/predicate/MatchArmThe ordered arms of this match expression.
armPredicateObjecttruehttps://uor.foundation/predicate/MatchArmhttps://uor.foundation/predicate/PredicateThe predicate guarding this arm.
armResultObjecttruehttps://uor.foundation/predicate/MatchArmhttps://uor.foundation/schema/TermThe result term if this arm matches.
boundedEvaluatorObjectfalsehttps://uor.foundation/predicate/Predicatehttps://uor.foundation/recursion/DescentMeasureA termination witness for user-declared predicates. Kernel predicates are total by construction; user-declared predicates must carry a descent measure certifying termination.
dispatchIndexDatatypetruehttps://uor.foundation/predicate/DispatchRulehttp://www.w3.org/2001/XMLSchema#nonNegativeIntegerPosition in the dispatch table (evaluation order).
isExhaustiveDatatypetruehttps://uor.foundation/predicate/DispatchTablehttp://www.w3.org/2001/XMLSchema#booleanTrue iff the disjunction of all dispatch predicates is a tautology over the input class.
isMutuallyExclusiveDatatypetruehttps://uor.foundation/predicate/DispatchTablehttp://www.w3.org/2001/XMLSchema#booleanTrue iff no two dispatch predicates can be simultaneously true for any input.
armIndexDatatypetruehttps://uor.foundation/predicate/MatchArmhttp://www.w3.org/2001/XMLSchema#nonNegativeIntegerPosition in the match expression (evaluation order).

Named Individuals

NameTypePropertiesComment
alwayshttps://uor.foundation/predicate/Predicate
  • evaluatesOver: https://uor.foundation/schema/Datum
True on every Datum. Match-arm default catch-all.
neverhttps://uor.foundation/predicate/Predicate
  • evaluatesOver: https://uor.foundation/schema/Datum
False on every Datum. Disabled-arm marker.
isZerohttps://uor.foundation/predicate/TypePredicate
  • evaluatesOver: https://uor.foundation/schema/Datum
True iff the Datum is the additive identity of its ring.
isUnithttps://uor.foundation/predicate/TypePredicate
  • evaluatesOver: https://uor.foundation/schema/Datum
True iff the Datum is the multiplicative identity.
isOddhttps://uor.foundation/predicate/TypePredicate
  • evaluatesOver: https://uor.foundation/schema/Datum
True iff the Datum parity bit is 1.
isEvenhttps://uor.foundation/predicate/TypePredicate
  • evaluatesOver: https://uor.foundation/schema/Datum
True iff the Datum parity bit is 0.
isInvolutionhttps://uor.foundation/predicate/TypePredicate
  • evaluatesOver: https://uor.foundation/schema/Datum
True iff op(op(x)) = x for the bound op.
sitePinnedhttps://uor.foundation/predicate/SitePredicate
  • evaluatesOver: https://uor.foundation/partition/SiteIndex
True iff the named site coordinate is currently pinned.
siteFreehttps://uor.foundation/predicate/SitePredicate
  • evaluatesOver: https://uor.foundation/partition/SiteIndex
True iff the named site coordinate is currently free.
contradictionReachedhttps://uor.foundation/predicate/StatePredicate
  • evaluatesOver: https://uor.foundation/state/ContradictionBoundary
True iff the resolver has entered a ContradictionBoundary.
budgetExhaustedhttps://uor.foundation/predicate/StatePredicate
  • evaluatesOver: https://uor.foundation/partition/FreeRank
True iff the FreeRank deficit is zero.
reductionConvergedhttps://uor.foundation/predicate/StatePredicate
  • evaluatesOver: https://uor.foundation/reduction/ReductionState
True iff the reduction fixpoint has been reached.
Is2SatShapehttps://uor.foundation/predicate/TypePredicate
  • evaluatesOver: https://uor.foundation/type/ConstrainedType
True on ConstrainedType instances whose constraint nerve contains only disjunctions of width ≤ 2.
IsHornShapehttps://uor.foundation/predicate/TypePredicate
  • evaluatesOver: https://uor.foundation/type/ConstrainedType
True on ConstrainedType instances whose disjunctions each contain at most one positive literal.
IsResidualFragmenthttps://uor.foundation/predicate/TypePredicate
  • evaluatesOver: https://uor.foundation/type/ConstrainedType
Default (catch-all) predicate. True on ConstrainedType instances not classified by Is2SatShape or IsHornShape.
InhabitanceDispatchTablehttps://uor.foundation/predicate/DispatchTable
  • isExhaustive: true
  • isMutuallyExclusive: true
The 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.
inhabitance_rule_2sathttps://uor.foundation/predicate/DispatchRule
  • dispatchPredicate: https://uor.foundation/predicate/Is2SatShape
  • dispatchTarget: https://uor.foundation/resolver/TwoSatDecider
  • dispatchPriority: 0
Dispatch rule 1 of InhabitanceDispatchTable: Is2SatShape → TwoSatDecider at priority 0.
inhabitance_rule_hornhttps://uor.foundation/predicate/DispatchRule
  • dispatchPredicate: https://uor.foundation/predicate/IsHornShape
  • dispatchTarget: https://uor.foundation/resolver/HornSatDecider
  • dispatchPriority: 1
Dispatch rule 2 of InhabitanceDispatchTable: IsHornShape → HornSatDecider at priority 1.
inhabitance_rule_residualhttps://uor.foundation/predicate/DispatchRule
  • dispatchPredicate: https://uor.foundation/predicate/IsResidualFragment
  • dispatchTarget: https://uor.foundation/resolver/ResidualVerdictResolver
  • dispatchPriority: 2
Dispatch rule 3 (catch-all) of InhabitanceDispatchTable: IsResidualFragment → ResidualVerdictResolver at priority 2. Ensures total coverage.