# Constraints: corpus forms Breakdown of real fragments: package identifier, human act name, form rating (exemplary / debatable / wrong form choice) and why. ## Law and standards ### 1. IAS 37 — provision constraint (exemplary) Package `eu.ias.provisions` (IAS 37, provisions), recognition of provisions: ```law constraint Para14RequiresPresentObligation(x: Item) { when entity_recognised_provision(x); require present_obligation(x); severity error; message "paragraph 14 (a): a provision shall be recognised when ..."; } ``` Exemplary: a provision recognised in reporting without a present obligation is case incoherence, not a holder-bearing norm violation. `message` quotes the paragraph verbatim — the finding reads standalone, without consulting the source. ### 2. IAS 37 — series of three constraints (exemplary) Same package: `Para14RequiresProbableOutflow`, `Para14RequiresReliableEstimate` — the three paragraph-14 conditions as three independent checks. Exemplary: every finding is addressable; one rule with a conjunction would give one indistinguishable refusal. ### 3. 1977 USSR Constitution on secession — parameterless constraint (debatable) Package `su.constitution_1977_secession` (1977 USSR Constitution, secession): ```law constraint Article010PropertyMisuseConstraint { ``` Without binders in the header (allowed: header and `for` are mutually exclusive). Debatable, not exemplary: grounding without positive binders risks leaving range restriction unsatisfied — the reader must verify where substitutions come from instead of reading them from the header. ## Religion and custom ### 4. Faraid — heir-composition coherence (exemplary) Package `faraid.shares` (Faraid inheritance shares, Islamic law), residue: ```law constraint SonImpliesMaleDescendant(e: Estate, h: Heir) { when son(e, h); require has_male_descendant(e); severity error; message "объявлен сын, но наследующий потомок мужского пола не установлен ..."; } ``` Exemplary (the in-file comment directly forbids a rule: inference would make `has_male_descendant` inferable and break negation on it in the daughter and sister rules — the core has no negation-as-failure). The canonical “check, don’t infer” example for the whole section. ### 5. Warlpiri — marriage classes as a constraint (exemplary) Package `custom.warlpiri.kinship` (Warlpiri kinship, Australian customary law) — `constraint WrongSkinMarriageConstraint(h: Person, w: Person)`; avoidance law — `constraint AvoidanceViolation`. Exemplary: kinship taboo is case-composition incoherence, not a holder-and-window prohibition (a prohibition has a bearer and a window; here there are none — see the [prohibitions page](/constructs/prohibition/)). ## Science ### 6. Doctrine chemistry — capacities as constraints (exemplary) Package `chem.rules` (doctrine chemistry rules) — `constraint PauliOrbitalCapacity(o: Orbital, k: Integer)`; oxidation — `constraint MainAtomCountPositive`. Exemplary: laws of nature as coherence checks — they have no holder, and positions are not due to them. ## Adjacent forms ### 7. `only_if` as constraint sugar (form boundary) `X only_if Y` desugars to `when X; require Y`. Never infers `Y`: an author wanting inference writes an explicit rule. Rating: not a mistake but a reserved path — it occurs in the corpus as sugar, and every such case reads as a constraint, not as a rule.