Définitions composites et règles
Statut documentaire : reference — voir Maturité et preuves.
Les définitions composites construisent une interface conceptuelle publique à partir de plusieurs structures logiques. Les règles et contraintes gardent la validité et la dérivation visibles dans le modèle.
Définition composite
define .:#ContextualRule(rule, context) as
.:#Rule(rule)
and .:#Context(context)
and .:#validIn(rule, context);
Une définition projetée peut exposer moins de rôles que son corps interne, mais chaque rôle public doit être contraint par ce corps. Un rôle public non contraint est invalide.
define .:#PersistedU(me, x);
define .:#PersistedV(me_, x, y);
define .:#ProjectedF(x, y) as
.:#PersistedU(me, x)
and .:#PersistedV(me_, x, y);
Relations logiques
Les opérateurs logiques H-Logic peuvent porter des métadonnées complémentaires comme le contexte, la confiance, la provenance ou un poids. Garder ces propriétés sur la relation logique lorsqu’elles qualifient la règle elle-même.
#A ->_[weight=1, context=#c] #B;
#Diagnosis :-_[confidence=0.8, context=#clinical] #Pattern;
#Candidate !-_[reason=#invalid] #Bottom;
Placement des contraintes
Placer une contrainte au niveau le plus bas où elle reste vraie : invariants du concept sur le concept, conditions propres au processus sur le processus, conditions propres à la publication à la frontière de publication.
Frontière procédurale
Les scripts peuvent exécuter une étape, mais ils ne doivent pas être le seul endroit où la validité sémantique est exprimée. Préférer des règles visibles et de petites contraintes à portée explicite.