Expand description
Illocutionary force + binding-weight conflict resolution (modal-junctures.n3, in code).
Answers: when norms conflict on the same (party, action), how does a SOFT directive (Recommends/Urges) resolve against a HARD commissive (Undertakes) or prohibitive (Forbids)? By binding-weight precedence, with two refinements drawn from the taxonomy:
- a directive’s weight is first scaled by the SPEAKER’S AUTHORITY (a UN treaty body’s “calls upon” outweighs an NGO’s — the authority variable);
- an EXEMPTIVE (derogation / waiver — the
q42:unlessdefeater) OVERRIDES an otherwise-active obligation/prohibition regardless of weight; - equal effective weight is a GENUINE conflict, held PARACONSISTENTLY (both norms retained for adjudication — the engine does not crash or silently pick one).
Structs§
- Norm
- A norm participating in a conflict: effective binding weight, whether it is an Exemptive (derogation/waiver), and whether it is IMMUNE — non-derogable, a Hohfeldian immunity (e.g. ICCPR Art. 4(2): no derogation from the right to life, freedom from torture, etc.).
Enums§
- Engine
State - The engine state a juncture triggers (see modal-junctures.n3 mj:EngineState).
- Resolution
Constants§
- W_
DIRECTIVE_ HARD - W_
EXEMPT - W_
GUARANTEE - W_NONE
- Deontic binding weight (0 = no binding .. 255 = hardest). Mirrors mj:bindingWeight.
- W_
OBLIGATE - W_
PERMIT - W_
RECOMMEND - W_
REQUEST
Functions§
- effective_
weight - A directive’s EFFECTIVE weight scales with the speaker’s structural authority (0..255); non-authority-scaled junctures keep their base weight. So an NGO (low authority) that “demands” carries far less force than a treaty body that does.
- is_
exemptive - True if this engine state is an Exemptive defeater (derogation / waiver /
q42:unless). - resolve_
conflict - Resolve two CONFLICTING norms (same party + action): the Exemptive override (BOUNDED by immunity), then effective binding weight.