Skip to content
EN FR

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.