GRM-012
Hard constraint
layer: phrase
A/an follows sound
IF an indefinite article precedes a singular noun phrase, THEN choose A before a consonant sound OR AN before a vowel sound ELSE retain.
Why the rule exists
The choice follows pronunciation rather than spelling.
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
- determiner.type eq "indefinite_article"
- noun_phrase.initial_sound exists
Facts this rule reads
| Path | Source |
|---|---|
determiner.type |
You supply it |
noun_phrase.initial_sound |
You supply it |
Then
- select — target
determiner.form
Else
- retain — target
current_text, No triggering condition is present.
LAKA
- Smallest sufficient intervention
- Yes
- Primary axes
Sources
-
The Blue Book of Grammar and Punctuation — Jane Straus; Lester Kaufman
Accessible grammar, punctuation, examples, and exercises. -
English Grammar in Use — Raymond Murphy
Self-study explanations and practice for core English grammar. -
Practical English Usage — Michael Swan
Advanced grammar and usage reference for learners and teachers.
The raw rule record
Verbatim from 07-core-grammar-rules.json. Also available at /v1/rules/GRM-012.
{
"id": "GRM-012",
"name": "A/an follows sound",
"domain": "grammar",
"layer": "phrase",
"strength": "hard_constraint",
"human_logic": "IF an indefinite article precedes a singular noun phrase, THEN choose A before a consonant sound OR AN before a vowel sound ELSE retain.",
"when": {
"all": [
{
"path": "determiner.type",
"operator": "eq",
"value": "indefinite_article"
},
{
"path": "noun_phrase.initial_sound",
"operator": "exists"
}
]
},
"then": [
{
"action": "select",
"target": "determiner.form",
"by": "noun_phrase.initial_sound",
"map": {
"consonant": "a",
"vowel": "an"
}
}
],
"else": [
{
"action": "retain",
"target": "current_text",
"reason": "No triggering condition is present."
}
],
"unless": [],
"because": "The choice follows pronunciation rather than spelling.",
"diagnostics": [],
"examples": {},
"source_ids": [
"BK-002",
"BK-004",
"BK-010"
],
"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