Composite definitions and rules
Documentation status: reference — see Maturity and evidence.
Composite definitions build a public conceptual interface from several logical structures. Rules and constraints keep validity and derivation visible in the model.
Composite definition
define .:#ContextualRule(rule, context) as
.:#Rule(rule)
and .:#Context(context)
and .:#validIn(rule, context);
A projected definition may expose fewer roles than its internal body, but every public role must be constrained by that body. An unconstrained public role is invalid.
define .:#PersistedU(me, x);
define .:#PersistedV(me_, x, y);
define .:#ProjectedF(x, y) as
.:#PersistedU(me, x)
and .:#PersistedV(me_, x, y);
Logical relations
H-Logic logical operators can carry complementary metadata such as context, confidence, provenance or weight. Keep those properties on the logical relation when they qualify the rule itself.
#A ->_[weight=1, context=#c] #B;
#Diagnosis :-_[confidence=0.8, context=#clinical] #Pattern;
#Candidate !-_[reason=#invalid] #Bottom;
Constraint placement
Place a constraint at the lowest level where it remains true: concept-level invariants on the concept, process-only conditions on the process, and publication-only conditions at the publication boundary.
Procedural boundary
Scripts may execute a step, but they should not be the only place where semantic validity is expressed. Prefer visible rules and small constraints with explicit scope.