Bow Tie Kreative Writing System

Rules / grammar

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

Fact paths read by GRM-012 and whether the analyser derives them
PathSource
determiner.type You supply it
noun_phrase.initial_sound You supply it

Then

  1. select — target determiner.form

Else

  1. 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

  1. 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
  2. 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
  3. 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
  4. 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
  5. 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
  6. 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
  7. 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
  8. 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