Skip to main content
21

Friendly Lojban

Chapter 21. Formal Grammar

What Is the Formal Grammar?

Lojban's grammar is defined by a formal EBNF (Extended Backus-Naur Form) grammar — a precise mathematical specification of every legal sentence. This is what makes Lojban genuinely unambiguous: there is exactly one parse tree for every grammatical Lojban expression.

This chapter summarizes the key structural rules in reader-friendly terms. It does not duplicate the full EBNF rules or selma’o cross-reference tables line-for-line.

Where the machine grammar lives

The complete formal grammar of Lojban is specified as an EBNF (PEG) machine grammar. You do not need to read it to speak Lojban, but knowing it exists explains why "the parser says no" can have a definitive answer.

Key resources for the formal grammar:

  • Parser tools: camxes, ilmentufa, and other community parsers accept a Lojban string and return its parse tree or an error — the fastest way to check a tricky sentence.
  • cmavo by selmaʼo: Chapter 20 of this book catalogues every selmaʼo with examples; jbovlaste lists individual cmavo.
  • Abbreviated EBNF for key rules — the table below gives the handful of non-terminals that most affect learners.
RuleWhat it generatesKey cmavo classes
textA full Lojban utteranceI, NIhO, NO'I
sentenceOne bridi or questionI (sentence separator)
bridi_tailselbri + trailing sumtiCU, VAU
selbriThe predicate (may be a tanru)CO, KE/KEhE
sumtiAny argumentLE, LA, LO, KOhA, ZO, ZOI
tagTense or modal prefixPU, ZI, ZEhA, FAhA, BAI
relative_clausepoi/noi + _bridi_tailGOI, NOI
prenexBound variables before bridiDA, GOhA + ZO'U
abstractionAbstractor + _bridi_tail + keiNU + KEI
numberAny numeric stringPA, MAI, MOI, ROI

Using this friendly chapter: treat these sections as a conceptual map (templates, scope, elision). If a parser rejects a sentence, check the formal chapter and your parser’s documented baseline — community grammars evolve; the friendly text may simplify or reorder explanations for teaching.


The Hierarchy of Lojban Structure

Lojban utterances are built up through nested layers:

text
 └── paragraphs (ni'o / no'i groups)
      └── sentences (.i separated)
           └── _bridi_
                ├── prenex (... zo'u)
                ├── _sumti_ (arguments)
                └── _selbri_ (predicate)
                     ├── _brivla_ (single word)
                     ├── _tanru_ (_brivla_ sequence)
                     └── abstraction (NU + _bridi_ + kei)

Each level can contain connectives, tense tags, attitudinals, and terminators.


The Core Bridi Template

A canonical bridi has this structure:

[prenex zo'u] [_sumti_...] [tense] [NA] _selbri_ [_sumti_...] [vau]

More precisely:

[topic zo'u] [FA-tag] _sumti_ [cu] [tense/modal] [na] _selbri_ [_sumti_...] [vau]

cu separates the pre-selbri sumti from the selbri itself and is required when the sumti might otherwise be parsed as part of a tanru.

vau closes the bridi (almost always elidable, but terminates any implicit open bridi).


Sumti

A sumti is any of:

FormDescription
le/lo/la … kudescription with gadri
li …mathematical expression
lu … li'uLojban quotation
zo wordsingle-word quotation
zoi X … Xforeign text quotation
la'o X … Xforeign name
pronounmi, do, ti, ko'a, da, ke'a, ce'u, zo'e, etc.
namela + cmevla
abstractionle NU bridi kei

Sumti can be followed by relative clauses (poi/noi … ku'o), relative phrases (pe/po/ne + sumti), or be/bei/be'o inner-slot fillers when embedded in a description.


Selbri

A selbri is any of:

FormDescription
single brivlaklama, blanu, mamta
tanrutwo or more brivla, optionally with bo, ke…ke'e, je, co
NU bridi keiabstraction as selbri
me sumti me'usumti converted to selbri
go'i (and other GOhA)pro-selbri
na'e/no'e/to'e + selbriscalar negation prefix

The co operator inverts the tanru so the post-co word is the modifier and the pre-co word is the head:

A co B  =  B-type A  (B modifies A)

Tense Structure

Tense is a prefix on the selbri (before na and the selbri itself):

[PU] [ZI] [FAhA] [VA] [ZAhO] [CAhA]  _selbri_

Each component is optional and they stack left-to-right, each adding a leg of the "imaginary journey":

  • PU = temporal direction (pu/ca/ba)
  • ZI = temporal distance (zi/za/zu)
  • FAhA = spatial direction (zu'a, ri'u, etc.)
  • VA = spatial distance (vi/va/vu)
  • ZAhO = aspect (co'a, ca'o, co'u, etc.)
  • CAhA = actuality/potentiality (ca'a, ka'e, etc.)

A tense may be followed by ki to set it as a persistent reference point for subsequent sentences.


Logical Connective Forms

Lojban has six positions where logical connectives appear, each with its own cmavo class:

PositionClassExample
Between sentencesI + JA.ije, .ija
Between bridi-tails (shared x₁)GIhAgi'e, gi'a
Between sumtiA.e, .a
Between tanru componentsJAje, ja
Forethought (before both bridi)GA + gige…gi, ganai…gi
Forethought (inside selbri)GUhA + gigu'e…gi

All connectives follow the same four-vowel system (A/E/O/U) encoding the same truth functions regardless of position.


Terminator Elision Rules

Lojban has many optional terminators. The general rule: a terminator can be elided when the next word unambiguously signals the end of the current construction.

Key terminators and their elision conditions:

TerminatorClosesSafe to elide when…
kuLE/LA descriptionnext word is a selbri, another sumti starter, or end-of-bridi signal
keiNU abstractionnext is cu, a tense, or end-of-bridi
vaubridialmost always (.i or fa'o next)
ku'opoi/noi clausenext is not another word that could extend the clause
ge'uGOI phrasenext is not another sumti modifier
ke'eke groupingat the end of the tanru/selbri
be'obe/bei chainnot followed by a relative clause (poi/noi)
li'ulu quotationusually kept for clarity
lo'oloi/lei mass descriptionusually safe
tu'utu'e blockat the actual end of the block
me'ume constructionusually safe
keitense/tag NUbefore ku or .i

When elision is unsafe (keep the terminator):

1. Ambiguity with following word:

le gerku poi blabi ku'o cu barda → safe to elide ku'o le gerku poi blabi cu barda = same meaning (cu ends the poi clause unambiguously)

But:

le gerku poi le nanmu pu viska — does this end after viska? Or does more follow? le gerku poi le nanmu pu viska ku'o cu batci — explicit ku'o needed here because cu is far away

2. be/bei before a relative clause:

le dunda be le rozgu poi melbi — ambiguous: does poi attach to le rozgu or to the whole dunda be le rozgu? le dunda be le rozgu be'o poi melbi — clear: poi attaches to the whole dunda-construction

3. Nested abstractions:

le du'u le nu mi klama kei cu vajnikei needed to close the inner nu before the outer bridi continues

4. Stacking sumti without clear boundary:

mi djuno le du'u do klama le zarci — the LE stacks are closed by context mi djuno le du'u do klama le zarci ku kei — explicit if the outer bridi continues with more sumti

The elision hierarchy (informal rule of thumb):

Terminators lower in this list are more commonly elided than those above them:

  1. li'u — least often elided (keeps quotes clearly bounded)
  2. be'o — elide only at end of description
  3. ku'o — elide when cu or .i follows
  4. kei — elide when cu follows
  5. ku — usually safe to elide
  6. vau — almost always safe

The parser is greedy: it absorbs as much as it can into the current construction. So ku, kei, and ku'o tell the parser "stop here" — without them, the parser keeps extending.


Free Modifiers (Free Grammar)

Many constructs can appear almost anywhere in a sentence without changing the parse. These have "free grammar" — they attach to whatever is nearest them:

  • Attitudinals (UI): .ui, .oi, pe'i, ti'e, etc.
  • Discursives (UI): ku'i (however), ta'o (incidentally), mi'u (ditto)
  • to … toi: parenthetical remarks
  • sei … se'u: metalinguistic commentary
  • xi: subscript

Free modifiers do not change the syntactic parse; they only add pragmatic/attitudinal color.


Prenex and Quantifier Logic

zo'u and the Prenex

zo'u is the grammatical separator between a prenex and the bridi body. Its grammar role is unambiguous: everything before zo'u is the prenex (a sequence of quantified sumti), everything after is the bridi.

ro da poi prenu zo'u da morsi
│ ← prenex ──────────│ ─ _bridi_ ──┤
"For all X that are persons: X dies."

The prenex binds logical variables (da, de, di, and their subscripted variants) with quantifiers. The variables then appear in the bridi body where they are used.

Why zo'u exists (grammar perspective)

Without zo'u, a quantifier phrase like ro da poi prenu would be parsed as a sumti — just an argument filling a numbered place. There would be no structural way to indicate it binds the whole following bridi.

zo'u signals: "I am done listing the variables; everything that follows is the scope of those bindings." This is the Lojban equivalent of the mathematical ∀x ( … ) or ∃x ( … ) notation — zo'u is the opening parenthesis and the end of the bridi is the close.

Quantifier Types

Prenex formLogical meaningEnglish
da alone∃x (there exists x)something
su'o da∃x (at least one)at least one thing
ro da∀x (for all x)everything
da poi [clause]∃x: clausesomething that is…
ro da poi [clause]∀x: clause → …everything that is…

da zo'u da klama = ∃x: x goes = Something goes. ro da poi prenu zo'u da morsi = ∀x: person(x) → dies(x) = All persons die. su'o da poi gerku zo'u da blabi = ∃x: dog(x) ∧ white(x) = Some dog is white.

Scope Order

The order of variables in the prenex determines scope. The leftmost variable has the widest scope (is the outermost quantifier):

ro da su'o de zo'u da dunda de mi = ∀x ∃y: x gives y to me = Everyone gives me something (possibly different things).

su'o de ro da zo'u da dunda de mi = ∃y ∀x: x gives y to me = There is one thing that everyone gives me (the same thing).

These have different meanings despite using the same words. Only the prenex order distinguishes them.

Inner Quantifiers vs. Prenex

Quantifiers can also appear without a prenex, directly inside descriptions:

ro le prenu cu morsi = All the persons die. (inner quantifier on le) su'o lo gerku cu blabi = Some dog is white. (inner quantifier on lo)

These are equivalent to prenex quantifiers for most purposes, but the scope of inner quantifiers is limited to the bridi they appear in. They cannot extend across sentence boundaries.

Prenex variables (da, de, di) can extend across a whole discourse (until a da'o resets them). This is how Lojban expresses complex logical arguments:

da poi prenu zo'u da'e mlatu = There is a person such that [in all possible worlds] that person is a cat. (da ranges across the modal)

da'o: Resetting Variables

da'o cancels all current pronoun and logical variable assignments, starting fresh. It is often placed after ni'o at major topic boundaries. Without da'o, a variable bound in one paragraph might unexpectedly still be bound in the next.

Useful Prenex Patterns

Universal negation:

ro da poi prenu zo'u da na morsi = No person dies (literally: for all persons, they do not die).

Mutual relationship:

ro da ro de poi prenu zo'u ganai da prami de gi de prami da = For all persons A and B: if A loves B then B loves A. (mutual love claim)

Existential within universal:

ro da poi prenu zo'u su'o de poi plise zo'u da citka de = Every person eats some apple (they may eat different apples).

zo'u in topic-comment sentences: When zo'u appears with a non-variable sumti (like a description), it creates a topic-comment sentence rather than a logical prenex. The distinction is grammatical only in how the sentence is interpreted:

le finpe zo'u citka — The fish: [it/they] eat[s]. (topic-comment) da poi finpe zo'u da citka — For some fish: it eats. (logical prenex)


The Grammar as a Whole

Key properties of the formal Lojban grammar:

  1. Unambiguous: every grammatical string has exactly one parse tree. No structural ambiguity.
  2. Context-free (with some lexical lookups): the grammar can be parsed left-to-right with bounded lookahead.
  3. Regular morphology: word-class (cmavo / brivla / cmene) is determinable from word shape alone, before parsing.
  4. Audio-visual isomorphism: written form = spoken form with no exceptions.
  5. Elidable terminators: formal grammar permits all terminators; spoken and written usage elides them when unambiguous.

Quick Reference: Sentence Building

A minimal grammatical Lojban bridi requires only a selbri:

klamaSomeone/something goes to somewhere from somewhere.

Add x₁:

mi klama

Add x₂:

mi klama le zarci

Add tense:

mi pu klama le zarci

Add negation:

mi pu na klama le zarci

Add relative clause on sumti:

mi pu klama le zarci poi barda

Add modal:

mi pu klama le zarci mu'i le nu mi djica

Embed in abstraction:

le du'u mi pu klama le zarci cu vajni The proposition that I went to the store is important.

Each layer is added according to the formal grammar — and at each step the result is unambiguous.


bu'a-series: Selbri Variables

Just as da/de/di are bound variable sumti (standing for unknown things), bu'a/bu'e/bu'i are bound variable selbri — they stand for unknown predicates or relations:

da bu'a — Something stands in some relation. (existential claim about any relation)

ro da ro de zo'u ganai da bu'a de gi de bu'a da For all relations bu'a: if A bu'a B then B bu'a A. (claim that all such relations are symmetric)

bu'a/bu'e/bu'i work exactly like da/de/di — they are bound by quantifiers in the prenex and appear in the bridi body. They fill the selbri slot:

su'o bu'a zo'u mi bu'a do There is some relation that holds between me and you.

This is how Lojban makes claims about properties of properties — second-order logic. It's used in precise logical arguments and in formal definitions.

Prenex rule (CLL): You cannot write bare bu'a zo'u … — the prenex must contain sumti, and su'o bu'a (or ro bu'a, etc.) counts as an indefinite description in that slot, just like su'o nanmu. If you drop the prenex, you drop the explicit su'o too:

la .djim. bu'a la .djan. Jim stands in at least one relation to John. (implicit su'o)

If the quantifier on bu'a is anything other than su'o, keep the prenex:

ro bu'a zo'u la .djim. bu'a la .djan. For every relation F: Jim F John — usually false; needs ro bu'a in the prenex.

bu'a vs broda: Chapter 5 uses broda, brode, … as informal “slot-filler” brivla in examples. For bound predicate variables in a prenex, use bu'a/bu'e/bu'i (selma'o GOhA), not broda.


A few more notes on variables

Subscripts: If you need more than three sumti variables or three selbri variables, add a xi subscript — da xi vo, bu'a xi re — each (cmavo + subscript) pair is a fresh binding (Chapter 18 for xi notation).

Requantifying the same variable: Later in the bridi, ci da … re da … can pick out a subset of the things da already ranged over (e.g. three cats white, two of those cats big). Full detail is textbook logic; just remember later numbers are about the same da, not a new unrelated da.

Where this chapter sits: CLL’s logic chapter ends by noting that speakable predicate logic is open-ended — Lojban’s grammar is fixed, but the hardest metalogic is still research. Here you have the practical core: prenexes, naku movement, connectives, da and bu'a, and De Morgan. Deeper proof theory is the same as in any logic text, only with Lojban surface forms.


De Morgan's Laws in Lojban

De Morgan's laws state that logical negation distributes over connectives, swapping AND↔OR:

not(A and B) = (not A) or (not B) not(A or B) = (not A) and (not B)

In Lojban, these translate directly:

For sumti connectives:

naku la .alis. .e la .djan. cu klama = la .alis. na klama .a la .djan. na klama Not both Alice and John go = Alice doesn't go or John doesn't go.

For bridi connectives:

na ku ge la .alis. cu klama gi la .djan. cu klama = la .alis. na klama .a la .djan. na klama It's not the case that both go = One of them doesn't go.

The rule in connective vocabulary:

  • Negating E (and)A (or) with negated components: naE = nand
  • Negating A (or)E (and) with negated components: naA = nor

This is why the vowel+na+nai system covers all 16 truth functions — De Morgan lets you express every combination.

Quantifier De Morgan (covered in Chapter 13):

  • naku ro da = su'o da naku — not-all = some-not
  • naku su'o da = ro da naku — none = all-not

naku Outside a Prenex: Full Treatment

naku in a prenex position negates the scope of what follows with full quantifier interaction. Outside a prenex, it works as a "wide-scope na":

naku la .alis. cu klama

This is equivalent to la .alis. na klama for simple bridi but differs with quantifiers:

naku ro le prenu cu morsi Not every person dies. (= some person doesn't die — naku + ro = su'o na)

naku su'o le prenu cu morsi No person dies. (= every person doesn't die — naku + su'o = ro na)

The full table:

With nakuWithout nakuQuantifier effect
naku ro da brodasu'o da na brodanot-all → some-not
naku su'o da brodaro da na brodanone → all-not
naku no da brodasu'o da brodanot-zero → some
naku re da brodacomplexnot-exactly-two

naku is most important in logical arguments and in understanding the precise scope of negation. For ordinary speech, na before the selbri is usually sufficient.


Logic and Quantifiers

Existential Claims: da, de, di

The cmavo da, de, and di (selma'o KOhA) are logical variables — they stand for unknown things, like X, Y, and Z in logic notation.

The most basic use is an existential claim: asserting that something exists.

da viska mi There is an X such that X sees me.Something sees me.

This does not presuppose that the listener knows what is doing the seeing — it only claims that something does.

A prenex makes the structure explicit. It consists of any number of variable declarations followed by zo'u:

da zo'u da viska mi There-is-an-X such-that: X sees me.

The prenex can hold multiple variables:

da de zo'u da prami de There-is-an-X, there-is-a-Y: X loves Y.Somebody loves somebody.

Note: da and de can refer to the same thing unless that is explicitly ruled out. The sentence above does not mean "somebody loves somebody else."

da zo'u da prami da Somebody loves themselves.

Universal Claims: ro da

When ro (all/every) precedes a variable, it makes a universal claim:

ro da zo'u da viska mi For every X: X sees me.Everything sees me.

Mixed universal and existential claims have crucially different meanings depending on order:

ro da de zo'u da viska de For every X, there is a Y: X sees Y.Everything sees something. (each thing sees something, possibly different somethings)

da ro de zo'u da viska de There is an X such that for every Y: X sees Y.Something sees everything. (one particular thing sees all)

These mean completely different things. The order of variables in the prenex determines scope: the leftmost has the widest scope.

Restricted Variables: da poi

Variables can be restricted to a subset using a poi relative clause:

da poi gerku cu vasxu There is an X which is a dog: X breathes.Some dog breathes.

ro da poi gerku cu vasxu For every X which is a dog: X breathes.Every dog breathes.

This is far more useful than unrestricted universal claims, which are almost never true about absolutely everything.

Dropping the Prenex

The prenex is optional when the variables appear in the same order in the main bridi as they did in the prenex. In that case, just move any ro and poi to the first occurrence of the variable:

da viska miSomething sees me. ro da poi gerku cu vasxuEvery dog breathes.

When variables need to appear in a different order than their scope order, you need the prenex explicitly. For example, to say "every person is bitten by some dog":

ro da poi prenu ku'o de poi gerku zo'u de batci da

Dropping the prenex here and reversing the order would instead say "some dog bites every person" — a completely different claim.

Generalized Quantifiers

Any number can quantify a variable, not just ro (all) and su'o (at least one):

re da viska miExactly two things see me. su'ore da viska miAt least two things see me. no da viska miNothing sees me. (zero things see me)

Note: bare da without an explicit quantifier implies su'o da (at least one). So da viska mi means "at least one thing sees me."

The distinction between exact and minimum counts:

  • re = exactly two
  • su'ore = at least two (su'o = "at least", re = "two")

Quantifier Scope and Grouping

When two quantified expressions appear in the same bridi without a prenex, the left-to-right order determines scope:

ci gerku cu batci re nanmu Three dogs bite two men.

Does each dog bite the same two men, or possibly different pairs? In Lojban, the left variable (ci gerku) has wider scope — so there are three dogs each biting two men, possibly different ones. Up to six different men could be involved.

To make both quantifiers have equal scope (the same two men bitten by all three dogs), use a termset with ce'e:

ci gerku ce'e re nanmu cu batci Three dogs [together with] two men bite. (the same two men are bitten by all three dogs)

The Problem of "Any"

English "any" is ambiguous. Lojban treats the two senses differently:

Universal "any" (anyone who does X also does Y): use ro da poi:

ro da poi klama le zarci cu cadzu le foldi Everyone who goes to the store walks across the field.

This asserts that there are people going to the store (universal claims imply the existential). If you want a purely conditional statement with no such implication, use the logical connective go (if-and-only-if):

ro da zo'u da go klama le zarci gi cadzu le foldi For every X: X goes to the store if and only if X walks across the field.

This does not imply that anyone actually goes to the store.

Existential "any" (I need any box = I need a box, one will do): when the existence is inside a want/need/possibility context, bind the variable in the inner prenex:

mi nitcu lo nu da poi tanxe gi'e bramau ti zo'u mi ponse da I need an event of: there existing a box bigger than this that I own.

The da is existential only within the nu abstraction — it doesn't assert the box exists in the real world right now, only in the needed event.

Negation Boundaries

When naku appears in a prenex, it creates a negation boundary. Moving naku past a quantifier inverts it: rosu'o.

Starting from:

ro da su'o de zo'u da prami de Everybody loves at least one thing.

Negate it:

naku ro da su'o de zo'u da prami de It is false that everybody loves at least one thing.

Moving naku rightward past ro da (inverting rosu'o):

su'o da naku su'o de zo'u da prami de There is someone who doesn't love anything.

Moving it one more step past su'o de (inverting su'oro):

su'o da ro de naku zo'u da prami de There is someone who, for each thing, doesn't love that thing.

All three forms are logically equivalent. The rule: every time naku crosses a quantifier boundary, invert the quantifier (ro↔su'o). Double negatives in adjacent position cancel.

The quantifier no (zero) is shorthand for naku su'onone means not-at-least-one. To negate a noda sentence, first expand it:

noda vasxu = naku su'o da vasxu → negation = su'o da vasxu (something breathes)

Terminator Elision: Context Rules

The Lojban parser is greedy — it consumes as much as possible into the current construction before stopping. Terminators tell the parser where to stop. Knowing when elision is safe requires understanding what the parser would do without the terminator:

Always safe to elide (parser cannot be misled):

  • vau at the end of a sentence before .i or end of text
  • li'u at the very end of a bridi (nothing follows in the same sentence)
  • do'u after a vocative phrase at sentence start
  • kei at the end of the entire sentence
  • ku after a description that immediately precedes the selbri via cu

Usually safe to elide (by convention, rarely ambiguous):

  • ku before most selbri
  • ge'u (GOI terminator) before sentence-final position
  • be'o when the be/bei chain is the final component of a tanru

Must keep (parser will extend the construction otherwise):

TerminatorKeep when…
be'ofollowed by a relative clause (poi/noi): without be'o, the clause attaches to the last bei argument instead of the whole tanru
keifollowed by another sumti filling x₂ of the abstractor: le nu mi klama kei be le zarci requires kei or the parser swallows le zarci into the abstraction
kubefore a selbri whose first word is a PA (number) — the number could be read as the inner quantifier of the description
ke'ein mid-tanru when more tanru components follow the group
vauin gi'e compound-bridi when the first bridi tail has trailing modifiers
fe'u(fi'o terminator) before a non-logical connective immediately after a fi'o-modal
lu'u(LAhE terminator) before another sumti that would be absorbed into the qualified sumti

Heuristic: elide terminators by default; restore them one at a time if a canonical Lojban parser (e.g., camxes) rejects or misparses the sentence.


PA Role Ambiguity

A PA (number) cmavo can fill several roles in the same grammatical position, creating ambiguity that requires context or terminators to resolve:

Role 1 — Outer quantifier (before a description):

re le gerku cu blabi Two of the dogs are white. (re = outer quantifier)

Role 2 — Inner quantifier (between descriptor and selbri):

le re gerku cu blabi The two dogs are white. (re = inner quantifier of le)

Role 3 — Bare number sumti (standalone):

re cu klama Two (things) come. (re = number standing alone as sumti, implies lo re)

Role 4 — Part of a mekso expression:

li re su'i ci du li mu 2 + 3 = 5 (re = numeral inside li…)

Role 5 — MOI selbri (with a MOI cmavo):

mi pamoi I am first. (pa + moi → ordinal selbri)

Role 6 — Part of a quantifier phrase (with ROI/MAI/etc.):

mi reroi tavla I talk twice. (re + roi = twice)

The critical ambiguity — a number immediately before a selbri could be outer quantifier or mekso:

pa klama = one comes (outer quantifier — someone comes) li pa = the number 1 (inside li... unambiguous)

When a number precedes a le/lo description directly, it is unambiguously an outer quantifier. When a number appears with no descriptor before a selbri, it is read as outer quantifier over an implicit lo. To use a number as a mekso value outside li…, wrap it in li.

PA before selbri after ku — the specific trap:

le gerku ku pa blabi

Without ku this is: le gerku pa blabi — the parser could read pa as the inner quantifier of le gerku or the outer quantifier before blabi. The ku terminates the description cleanly, making pa unambiguously the outer quantifier for blabi.


Summary

The formal Lojban grammar defines:

  • Three word classes (cmavo, brivla, cmene) by morphological shape
  • Bridi structure: prenex + sumti + tense + selbri + sumti
  • Tense as a stacked prefix (PU ZI FAhA VA ZAhO CAhA)
  • Six connective positions with consistent truth-function vocabulary
  • Terminator elision rules (greedy parser; elide when unambiguous; keep be'o before poi/noi, kei before nested sumti)
  • Free modifier attachment (attitudinals, discursives, to/toi, sei/se'u)
  • Quantifier prenex for logical variables

Terminator elision key points:

  • The parser is greedy — terminators tell it where to stop
  • li'u almost always kept; vau almost always dropped
  • be'o required before relative clauses; kei required in nested abstractions
  • When in doubt, include terminators

Prenex / quantifier scope key points:

  • zo'u grammatically separates prenex from bridi body
  • Leftmost prenex variable has widest scope (outermost quantifier)
  • ro da su'o de zo'usu'o de ro da zo'u — order controls meaning
  • Inner quantifiers (ro le) are scoped to one bridi; prenex variables (da) can span discourse
  • da'o resets all variable bindings

Selbri variables:

  • bu'a/bu'e/bu'i = bound variable selbri (stand for unknown predicates)
  • su'o bu'a zo'u required in prenex (not bare bu'a zo'u); drop prenex ⇒ drop explicit su'o
  • ro bu'a etc. keep the prenex; broda is informal — use bu'a for real variable binding
  • xi subscripts extend da/… and bu'a/… when three of each are not enough

De Morgan's laws:

  • naku (A and B) = (not A) or (not B)
  • naku (A or B) = (not A) and (not B)
  • naku ro da = su'o da naku (not-all = some-not)
  • naku su'o da = ro da naku (none = all-not)

Logical variables and quantifiers:

  • da/de/di = existential variables (something, something-else, a-third-thing)
  • Bare da implies su'o da (at least one); explicit ro da = for all
  • Prenex: da de zo'u … — leftmost variable has widest scope
  • Dropping the prenex: legal when variable scope order matches bridi order
  • da poi [bridi] = restricted variable: only X that satisfy [bridi]

Quantifier scope:

  • Left-to-right order in a bridi determines scope: ci gerku cu batci re nanmu → 3 dogs each bite 2 (possibly different) men
  • Use a termset (ce'e) to force equal scope: both quantifiers range over the same objects

The problem of "any":

  • Universal "any" (every X that…) → ro da poi …
  • ro da poi implies the set is non-empty; for pure conditionality use go in a prenex
  • Existential "any" (one will do) → bind da inside an inner abstraction (nu, ka, etc.) so it is existential only within that scope

Negation boundaries:

  • naku in a prenex creates a scope boundary; moving it past a quantifier inverts it: rosu'o
  • no da = naku su'o da (none = not-at-least-one); negate it → su'o da
  • Each time naku crosses one quantifier boundary, that quantifier flips; two adjacent negatives cancel

Formal spec: This friendly chapter is the conceptual skeleton — enough to see why sentences parse as they do. For machine-readable rules, use one of the parser tools listed in Where the machine grammar lives above.