GRM-009
Hard constraint
layer: sentence
Complete comparative relation
IF a comparison can attach to more than one comparison set, THEN state the full set or rewrite ELSE retain.
Why the rule exists
An incomplete comparison can imply an unintended or logically impossible claim.
Condition
The rule fires when this evaluates true. Paths marked below must be present in the fact base; the engine reports the rest rather than guessing them.
- ALL
- sentence.contains_comparison eq true
- sentence.comparison_set_ambiguity eq true
Facts this rule reads
| Path | Source |
|---|---|
sentence.contains_comparison |
You supply it |
sentence.comparison_set_ambiguity |
You supply it |
Then
- expand — target
sentence.comparison
Else
- retain — target
current_text, No triggering condition is present.
LAKA
- Smallest sufficient intervention
- Yes
- Primary axes
Sources
-
Garner's Modern English Usage — Bryan A. Garner
Modern American usage and editorial judgment. -
The Copyeditor's Handbook — Amy Einsohn; Marilyn Schwartz
Professional copyediting practice, grammar, and editorial process. -
On Writing Well — William Zinsser
Clarity, simplicity, voice, and nonfiction craft.
The raw rule record
Verbatim from 07-core-grammar-rules.json. Also available at /v1/rules/GRM-009.
{
"id": "GRM-009",
"name": "Complete comparative relation",
"domain": "grammar",
"layer": "sentence",
"strength": "hard_constraint",
"human_logic": "IF a comparison can attach to more than one comparison set, THEN state the full set or rewrite ELSE retain.",
"when": {
"all": [
{
"path": "sentence.contains_comparison",
"operator": "eq",
"value": true
},
{
"path": "sentence.comparison_set_ambiguity",
"operator": "eq",
"value": true
}
]
},
"then": [
{
"action": "expand",
"target": "sentence.comparison",
"include": "explicit_comparison_set"
}
],
"else": [
{
"action": "retain",
"target": "current_text",
"reason": "No triggering condition is present."
}
],
"unless": [],
"because": "An incomplete comparison can imply an unintended or logically impossible claim.",
"diagnostics": [],
"examples": {},
"source_ids": [
"BK-003",
"BK-007",
"BK-013"
],
"laka": {
"smallest_sufficient_intervention": true,
"primary_axes": [
"scope",
"depth",
"magnitude",
"reversibility"
]
}
}
Other grammar rules
- GRM-001 Subject–verb number agreement IF a finite clause has an expressed subject AND neither quoted dialect nor an agreement exception applies, THEN align the finite verb with the subject in number ELSE retain. Hard constraint
- GRM-002 Compound subject agreement IF two or more singular subject heads are coordinated by AND, THEN use plural agreement ELSE evaluate the coordinator. Hard constraint
- GRM-003 Or/nor proximity agreement IF subject alternatives are joined by OR or NOR, THEN agree with the closest subject OR rewrite when the result sounds unstable ELSE retain. Context default
- GRM-004 Pronoun–antecedent agreement IF a pronoun refers to an antecedent AND the antecedent is known, THEN align person and number while respecting singular THEY ELSE request the missing referent. Hard constraint
- GRM-005 Unambiguous pronoun reference IF a pronoun has two or more plausible antecedents OR none, THEN replace it with the intended noun phrase ELSE retain. Hard constraint
- GRM-006 Stable grammatical person IF a passage shifts person without changing speaker, audience, or viewpoint, THEN restore the established person ELSE preserve the motivated shift. Context default
- GRM-007 Tense consistency within a time frame IF tense changes but event time and narrative viewpoint do not, THEN restore the established tense ELSE keep the meaningful time shift. Context default
- GRM-008 Sequence of tenses IF a dependent clause is temporally related to a governing clause, THEN select tense and aspect that express the intended ordering ELSE do not normalize automatically. Hard constraint