44 Using Predica to define legality
Predica can support traditional database applications, but its scope is broader. Its logical foundation provides a principled basis for expressing legality in laws, contracts, and other normative systems where clarity and unambiguous semantics are essential.
The preceding chapters developed the ordinary constraint reading first. The constraint forms and the examples on firearm purchases, construction projects, cardinality constraints and student enrolment can all be read as database invariants. They can also be read normatively, as conditions that a situation must satisfy in order to be compliant.
Predica supports two semantic modes:
- Descriptive (model‑theoretic): constraints classify models.
- Normative (contract‑theoretic): constraints classify worlds.
In the normative mode, constraints are not merely descriptions of admissible models. Instead, they are interpreted as contractual conditions that classify possible worlds. A world that satisfies all constraints is compliant; a world that fails any constraint is in violation.
Predica uses a global normative interpretation. A legal specification is written as a collection of ordinary descriptive constraints, and the normative force is applied to the specification as a whole: the relevant world ought to satisfy the conjunction of its active constraints.
This avoids requiring every clause to carry its own normative language. Drafting each condition with words such as “shall”, “must”, “may”, “must not”, “is prohibited”, or “is required” is cumbersome, and small differences in wording can introduce ambiguity or accidental differences in legal effect. Predica instead lets the author state the condition directly using ordinary logical structure.
This makes the formal part of legal drafting more accessible to people trained in ordinary logic, mathematics, engineering, science, and software, without requiring them to work directly in deontic or modal logic. Normativity is supplied by the legal interpretation of the specification, not by special operators inside each constraint.
Why no modal operators are needed
Predica does not require an explicit modal operator to express legality. In the normative (contract‑theoretic) mode, the shift from describing models to classifying worlds is achieved entirely by changing the interpretation of constraints, not by extending the language.
A constraint has the same logical form in both modes. What changes is what the formula is about:
- In descriptive mode, it states a property that admissible models must satisfy.
- In normative mode, it states a property that admissible worlds must satisfy.
Predica’s normative semantics is not modal in either syntax or semantics. It introduces no accessibility relation, modal frame, or deontic operators.
Because the syntax already expresses a precise condition, no additional modal operator is needed to say “this must hold in the world.” The normative force comes from the semantic stance: the constraint is taken as a requirement on reality rather than a filter on models. Predica’s existing logical constructs are sufficient; only the target of evaluation changes.