Files
gf-rgl/tests/czech/CzeRoundTripCze.gf
T
adelon bc7afae589 Cze: improve morphology (#477)
* Cze: remove API stubs for existing concrete functions

The obsolete `MissingCze` stubs were hiding working `GrammarCze` constructions.

* Cze: correct noun inflection and preserve gender across number

Gender can vary across number: `dítě` ("child") is neuter in the singular and
feminine in the plural.

    mkUtt (mkNP this_Quant child_N)

    toto              dítě
    t-o-to            dít-ě
    DEM-N.SG.NOM-PROX child(N)-NOM.SG
    "This child."

    mkUtt (mkNP this_Quant plNum child_N)

    tyto              děti
    t-y-to            dět-i
    DEM-F.PL.NOM-PROX child(F)-NOM.PL
    "These children."

The locative of `banka` ("bank") exhibits stem alternation:
stem-final `k` becomes `c` before `-e`.

    v  bance
    v  banc-e
    in bank-LOC.SG
    "In a bank."

Within the žena paradigm, soft consonants take i rather than y in the genitive
singular and nominative/accusative plural. Dative and locative use a different
ending: Nataši contrasts with Nataše. Before i and ě, write n, t, d instead of
ň, ť, ď; the vowel letter already marks palatalization.

    (zenaN "Máňa").sgen

    Máni
    Mán-i
    Máňa-GEN.SG
    "Of Máňa."

    (zenaN "Máňa").sdat

    Máně
    Mán-ě
    Máňa-DAT.SG
    "To Máňa."

These are regular žena defaults. Dative/locative variants in -i also
occur, particularly regionally, but this does not license spellings
such as Máňi or Natašy. See https://prirucka.ujc.cas.cz/?id=350.

The kost and píseň paradigms need the same dental spelling before i, í
and ě: paměť becomes paměti, and dlaň becomes dlaně. Before -mi, the kost
stem keeps its soft consonant, as in loďmi.

    (kostN "paměť").sgen

    paměti
    pamět-i
    memory(F)-GEN.SG
    "Of a memory."

The kost plural endings -em/-ech give pamětem/pamětech. Spelling does not
determine every noun's paradigm, so mixed endings still need lexical overrides.

    (kostN "loď") ** {pdat = "lodím" ; ploc = "lodích"}

Likewise, mkN "zeď" "zdi" feminine does not recover the oblique stem zd-.
The genitive selects a default class; it does not guarantee recovery of
every exceptional stem or ending. Supply the stem and the exceptional
nominative/accusative explicitly:

    (kostN "zd") ** {snom,sacc = "zeď"}

Inflected proper names change with case: `Praha` ("Prague") becomes
`Prahy` after `do` ("to"), which requires the genitive.
[Praha follows the žena declension.](https://prirucka.ujc.cas.cz/?id=370)

    mkAdv to_Prep (mkNP (mkPN (zenaN "Praha")))

    do Prahy
    do Prah-y
    to Prague-GEN.SG
    "To Prague."

Personal pronouns: Feminine accusative `ji` differs from genitive, dative
and instrumental `jí`; prepositional accusative `ni` now has the required
`n-` form. Masculine inanimate plurals use `ony`, as feminine plurals do,
while masculine animate plurals use `oni`.

For sůl ("salt"), the vocative follows the oblique stem sol-, while nominative and
accusative singular have sůl. Here the kost paradigm can supply the vocative.

    salt_N.svoc

    soli
    sol-i
    salt(F)-VOC.SG
    "O salt."

The default mestoN paradigm uses -u in the locative, but město takes -ě.
Its dative is městu.

    mkAdv in_Prep (mkNP city_N)

    ve městě
    ve měst-ě
    in city(N)-LOC.SG
    "In a city."

Qualify the vocative case as ResCze.Voc where CatCze.Voc, the category
of vocative phrases, is also in scope.

* Cze: distinguish adjective degrees and predicate agreement

The comparative of `dobrý` ("good") is `lepší` ("better"), with a different
stem. Positive declension alone cannot determine it. The superlative
[adds nej- to the comparative](https://prirucka.ujc.cas.cz/?id=410):
`lepší` becomes `nejlepší` ("best").

    (mkA "dobrý" "lepší").superl.msnom

    nejlepší
    nej-lep-š-í
    SUP-good-CMPR-M.SG.NOM
    "Best" (masculine singular nominative).

The superlative still inflects for case; its masculine singular genitive is:

    (mkA "dobrý" "lepší").superl.msgen

    nejlepšího
    nej-lep-š-ího
    SUP-good-CMPR-M.SG.GEN
    "best"

The smart paradigm supplies regular comparison and common lexical exceptions:
mkA "rychlý" gives rychlejší and nejrychlejší, while mkA "dobrý" gives
lepší and nejlepší. The -dý class has regular -ější comparison, like -tý:
hrdý ("proud") gives hrdější, while chudý ("poor") takes chudší.
Supply a comparative explicitly for other exceptions or to select a variant:
mkA "čistý" "čistší" chooses čistší; the regular guess čistější is also
accepted. Unsupported endings leave comparison unavailable;
mkA "lehký" needs an explicit "lehčí" when comparison is required.

    (mkA "hrdý").compar.msnom  → hrdější ("prouder")
    (mkA "rudý").superl.msgen  → nejrudějšího ("reddest", M.SG.GEN)

Here rudý means "red". Common -ší exceptions take precedence over the
regular -dý pattern. A compact morphology check covers this pattern,
an inflected superlative and an exception.

The inferred comparative also supplies the regular superlative:

    (mkA "rychlý").superl.msnom

    nejrychlejší
    nej-rychl-ejš-í
    SUP-fast-CMPR-M.SG.NOM
    "Fastest."

Spelling cannot determine semantic gradability. Use mkA "jarní" nonExist
for positive forms only: jarního remains available, but comparative and
superlative forms do not. The declension constructors mladyA, jarniA,
otcuvA, matcinA and invarA likewise supply only positive forms.

All gradable entries in LexiconCze supply comparative principal parts,
including colors: bílý has bělejší,
modrý has modřejší, and hnědý has hnědší. Adjective declension alone does
not determine these forms.

    mkAdv with_Prep (mkNP (mkCN (comparAP young_A) (panN "student")))

    s    mladším              studentem
    s    mlad-š-ím            student-em
    with young-CMPR-M.SG.INS  student(M)-INS.SG
    "With a younger student."

A symbolic ordinal also needs an inflected ending. The spelling hyphen after
`n` separates the symbol from its suffix:

    (<symb (mkSymb "n") : Ord>).s ! mascInanimate ! singular ! genitive

    n-tého
    n-t-ého
    n-ORD-M.SG.GEN
    "N-th" (masculine singular genitive).

Adjective complements: case alone does not determine a Czech pronoun's form.
In `hrdý na něho` ("proud of him"), `něho` is a prepositional form. Bare
complements use the non-prepositional forms.

    mkAP (mkA2 (mkA "hrdý") (ParadigmsCze.mkPrep "na" accusative))
         (mkNP he_Pron)

    hrdý           na něho
    hrd-ý          na něho
    proud-M.SG.NOM on 3SG.M.ACC
    "Proud of him" (masculine singular).

Predicate agreement: verb agreement doesn't suffice to choose a predicate form.
Polite singular address has a plural verb but a singular predicate. A subject
such as "five children" also separates verb and adjective agreement. For these
quantified subjects, the grammar selects a singular verb, genitive plural
for long adjectives, and neuter singular for short adjectives.

"Long" and "short" refer to adjective forms such as `připravený` and
`připraven` ("ready"). `AgPol` and `AgQuant` represent polite and quantified
agreement respectively; `R` below denotes `ResCze`.

The following expressions select the predicate forms directly. They illustrate
the distinction independently of subject construction.

    (mkAP (mkA "unavený")).pred ! (R.AgPol feminine)

    unavená
    unaven-á
    tired-F.SG.NOM
    "Tired" (polite address to one woman).

    (mkAP (mkA "unavený")).pred ! (R.AgQuant feminine)

    unavených
    unaven-ých
    tired-GEN.PL
    "Tired" (predicate of "five children").

    (shortAP "připraven" "připravena" "připraveno"
             "připraveni" "připraveny" "připravena").pred
      ! (R.AgQuant feminine)

    připraveno
    připraven-o
    ready-N.SG.NOM
    "Ready" (predicate of "five children").

These are different adjective paradigms, so coordination must preserve each
adjective's own predicate agreement. shortAP supplies predicate forms only:
it cannot license an attributive student rád, even in the nominative.
Standalone predicate responses such as připraven remain available.
See https://www.czechency.org/slovnik/ADJEKTIVUM.

    mkUtt (shortAP "připraven" "připravena" "připraveno"
                   "připraveni" "připraveny" "připravena")

    připraven
    připraven-Ø
    ready-M.SG.NOM
    "Ready."

For CN predicates of quantified subjects, the grammar selects instrumental
plural, as in `studenty` ("students"). This is a formal predicative option,
not the only or necessarily the usual conversational form. Finite-verb
number alone cannot determine these predicate forms.

* Cze: supply verb principal parts and lexical negation

Irregular present and imperative forms cannot reliably be recovered from the
infinitive alone. Explicit principal parts allow ordinary Czech conjugation,
including commands addressed to several people or politely to one person.

Applications can construct verbs of the kupovat and krýt classes through
ParadigmsCze, including milovat, pít and mýt. The caller selects the class;
the infinitive ending alone does not determine conjugation. Irregular
verbs still use the full-form constructor.

mkV accepts either twelve positional forms or a VerbPrincipalParts record
with named fields. For example, učit has učí as both pressg3 and prespl3;
field names make the intended person and number explicit. The pastpartsg
and pastpartpl fields are masculine singular/plural participles.
Exceptional negative forms override the resulting V.
Keep the PositiveVerbForms alias as the twelve-field input contract:
adding required fields would break applications that use record literals.
Derived forms can extend VerbForms; additional principal parts need another
constructor or overload that preserves existing calls.

Valency constructors must return public V2/V3 values that application
grammars can pass to SyntaxCze. For example:

    drink_V2 : V2 = mkV2 (krytV "pít") ;

The default V3 keeps its accusative object before its dative recipient:

    mkCl (mkNP (panN "student")) (mkVP (mkV3 (kupovatV "kupovat"))
      (mkNP (zenaN "kniha")) (mkNP he_Pron))

    student            kupuje       knihu           jemu
    student-Ø          kupuj-e      knih-u          jemu
    student(M)-NOM.SG  buy-PRS.3SG  book(F)-ACC.SG  3SG.M.DAT
    "A student buys a book for him."

Typed source and installed-API consumers exercise every valency overload.
Require the consumer GFO as well as a successful exit: GF can report a
type error without returning a nonzero status.

GF expressions use `open SyntaxCze, ParadigmsCze, (L = LexiconCze) in`.

    mkUtt politeImpForm negativePol
      (mkImp (mkVP L.read_V2 (mkNP (zenaN "kniha"))))

    nečtěte          knihu
    ne-čt-ě-te       knih-u
    NEG-read-IMP-2PL book-ACC.SG
    "Do not read the book."

Czech writes verbal `ne-` as part of the verb: `nečtěte` is one word.
Parsing this spelling must recover `PNeg`, the negative polarity constructor,
as well as the imperative.

Negative fields always contain complete surface forms. Regular negatives
derive from positive principal parts; the copula overrides the regular
result with není. withNeg is a lexical construction helper, not a way to
preserve overrides or reflexivity when reconstructing an existing verb.

The paradigms also store past participles, but past-tense clauses are not yet
implemented. The supported constructions remain present-tense clauses,
infinitives and imperatives.

* Cze: preserve clitic domains and make subject omission explicit

Polite and gendered pronouns

Polite address to one woman requires a plural finite verb and a feminine
singular predicate: Czech
[mixed agreement of polite address](https://www.czechency.org/slovnik/VYK%C3%81N%C3%8D).

GF expressions use `open SyntaxCze, ParadigmsCze, (L = LexiconCze), (E = ExtendCze) in`.

    mkS (mkCl (mkNP (E.ProDrop E.youPolFem_Pron)) (mkA "unavený"))

    jste       unavená
    jste       unaven-á
    be.PRS.2PL tired-F.SG.NOM
    "You are tired."

Gender selection on first- and second-person pronouns affects agreement;
third-person plural selection also distinguishes pronoun forms:

    mkUtt (mkNP E.theyFem_Pron)

    ony
    on-y
    3-F.PL.NOM
    "They."

Here the antecedent is feminine plural.

Third-person singular conversion changes the personal and possessive
paradigms too: genderPron feminine he_Pron gives ona, weak accusative ji,
prepositional accusative ni and possessive její. It preserves ProDrop.
Selecting the existing gender leaves lexical overrides intact; changing
gender selects the standard forms of the target gender.

    genderPron feminine he_Pron

    ona
    on-a
    3-F.SG.NOM
    "She."

Predicate NPs

CompCN can take its predicate's number from the subject. CompNP receives
an NP whose number and reference have already been chosen. A plural
subject may identify a single group:

    mkCl (mkNP we_Pron) (mkNP (zenaN "rodina"))

    my       jsme       rodina
    my       jsme       rodin-a
    1PL.NOM  be.PRS.1PL family(F)-NOM.SG
    "We are a family."

Identifying NP predicates stay nominative, with their supplied number.
This does not claim to cover all Czech choices of predicative nominative
and instrumental.

Omitted subjects and focused pronouns

Czech commonly omits pronominal subjects. The GF API makes this choice
explicit: `ProDrop` requests omission, while an ordinary pronoun requests an
overt subject. Explicit control allows the subject to be expressed for
emphasis or focus.

Object cliticization is independent of that choice:

    mkS (mkCl (mkNP (E.ProDrop i_Pron)) L.love_V2 (mkNP she_Pron))

    miluji ji
    miluj-i=ji
    love-PRS.1SG=3SG.F.ACC
    "I love her."

Replacing `E.ProDrop i_Pron` with `i_Pron` gives `já ji miluji` ("I love
her", with an overt subject). In both cases `ji` is the object clitic.

The omitted subject must remain in the abstract analysis: `miluji` identifies
first-person singular, so omission must not introduce second- or third-person
parses. Ambiguities present in Czech remain possible: `myjete se` ("you wash
yourself/yourselves") identifies neither gender nor polite singular versus
plural address.

A focused pronoun must be expressed even if its input requests omission:

    mkS (mkCl (mkNP only_Predet (mkNP (E.ProDrop i_Pron))) L.swim_V)

    jen  já      plavu
    jen  já      plav-u
    only 1SG.NOM swim-PRS.1SG
    "Only I swim."

Omitting `já` would lose the intended focus on the subject. Likewise, an
object modified by "only" needs a full pronoun.

With two object pronouns, the dative precedes the accusative regardless of
which V3 slot is filled first. Both constructions give the same clause:

    let buy_V3 : V3 = mkV3 (kupovatV "kupovat") in
    mkCl (mkNP i_Pron) (mkVP buy_V3 (mkNP she_Pron) (mkNP he_Pron))

    let buy_V3 : V3 = mkV3 (kupovatV "kupovat") in
    mkCl (mkNP i_Pron)
      (mkVP (mkVPSlash buy_V3 (mkNP she_Pron)) (mkNP he_Pron))

    já mu ji                     kupuji
    já=mu=ji                     kupuj-i
    1SG.NOM=3SG.M.DAT=3SG.F.ACC  buy-PRS.1SG
    "I am buying it for him."

Here ji refers to a feminine noun such as kniha ("book"). Focused jen jemu
("only for him") instead remains a full complement: já ji kupuji jen jemu.
Weak forms are available in bare genitive, dative and accusative; a bare
instrumental pronoun remains full. Object clitics follow the lexical
reflexive, as in já si ji kupuji ("I am buying it for myself").

Clitic domains

Czech clitics normally follow the first constituent of their clause.
Fronting an adverb changes `myji se` ("I wash myself") to:

    dnes se         myji
    dnes=se         myj-i
    today=REFL.ACC  wash-PRS.1SG
    "Today I wash myself."

The first constituent can contain several words. With the focused subject
`jen já` ("only I"), `se` follows the whole subject:

    jen   já se             myji
    jen   já=se             myj-i
    only  1SG.NOM=REFL.ACC  wash-PRS.1SG
    "Only I wash myself."

The same clause can later receive another initial constituent; its current
word order is not sufficient to recover the clitic's new position.
Coordination also must keep the second clause's clitics within that clause.

Markup must follow the original material through this movement:
`<b>myji se</b>` becomes `dnes <b>se myji</b>`. Repeated fronting can
make the marked material discontinuous: `doma <b>se</b> dnes <b>myji</b>`.
The adverbs are outside the original markup. Separately marked pieces keep
their wrappers even if later composition makes them adjacent.

A sentence without movable clitics must not acquire empty tags. Repeated
fronting of marked plavu ("I swim") gives doma dnes <b>plavu</b>, without
an empty <b></b> before dnes. A clitic in a later coordinated clause does
not make one present in the first clause.
An omitted subject contributes an empty parsing constituent, not an overt
clitic to mark. An infinitival clitic counts in the main clause only when
it climbs into that clause.

A subordinating conjunction provides the initial constituent:

    jestliže se  myji
    jestliže=se  myj-i
    if=REFL.ACC  wash-PRS.1SG
    "If I wash myself."

The third-person imperative particle `nechť` likewise precedes the clitic,
even when an overt subject follows:

    nechť se       dvě        děti             myjí
    nechť=se       dvě        dět-i            myj-í
    JUSS=REFL.ACC  two.F.NOM  child(F)-NOM.PL  wash-PRS.3PL
    "Let two children wash themselves."

Here `JUSS` labels the jussive particle ("let"). First-person plural commands
("let us") use the verb's imperative form.

Reflexive verbs and infinitives

seV and siV select the lexical reflexive clitic directly. The case-based
reflV interface accepts accusative and dative.

    seV (krytV "mýt")

    mýt se
    mý-t=se
    wash-INF=REFL.ACC
    "To wash oneself."

A lexical reflexive belongs to its verb. An ordinary infinitival complement
keeps its own clitics; a modal such as `chtít` ("want") allows them in the
finite clause:

    chci se                mýt
    chc-i=se               mý-t
    want-PRS.1SG=REFL.ACC  wash-INF
    "I want to wash myself."

An infinitive's reflexive cannot join the main verb's reflexive in one
clitic cluster. In the following example, each stays with its own verb.
The [Czech encyclopaedia describes this restriction on clitic climbing](https://www.czechency.org/slovnik/REFLEXIVN%C3%8D%20SLOVESO).

    učím se                    mýt se
    uč-í-m=se                  mý-t=se
    teach-TH-PRS.1SG=REFL.ACC  wash-INF=REFL.ACC
    "I am learning to wash myself."

`Učit se` means "learn", literally "teach oneself"; `TH` glosses the theme
vowel. This contrast motivates the lexical distinction between ordinary
`mkVV` and `mkModalVV`.

Questions and embedding

An initial interrogative phrase has a different role from the subject:

    kde   je         hotel
    kde   je         hotel-Ø
    where be.PRS.3SG hotel-NOM.SG
    "Where is the hotel?"

The grammar introduces embedded yes/no questions with `jestli` ("whether").
Embedded wh-questions retain their interrogative phrase. The introductory
word precedes the subordinate clitics:

    vím,          jestli se         myješ
    ví-m,         jestli=se         myj-e-š
    know-PRS.1SG  whether=REFL.ACC  wash-TH-PRS.2SG
    "I know whether you wash yourself."

Statement complements similarly use `že` ("that"). A direct-question string
alone cannot represent these embedding choices.

Prepositional complements

A verb's selected preposition requires the corresponding pronoun form,
just as in other prepositional phrases:

    mkS (mkCl (mkNP (E.ProDrop i_Pron)) L.wait_V2 (mkNP she_Pron))

    čekám           na ni
    ček-á-m         na ni
    wait-TH-PRS.1SG on 3SG.F.ACC
    "I am waiting for her."

Polarity recovery

Selecting a verb form by polarity does not by itself preserve the abstract
polarity argument in a parsed tree. The empty string constituent supplies
that connection. Removing it leaves an unresolved argument even when the
negative spelling is recognized:

    p -lang=CzeRoundTripCze -cat=Utt "nečti ji"

    UttImpSg PNeg (ImpVP (ComplSlash (SlashV2a read_V2) (UsePron she_Pron)))

The string means "do not read it". Without the constituent, PNeg becomes ?1.
The finite treebank checks positive and negative imperatives as well as
declaratives.

* Cze: inflect cardinals and separate numeral agreement from government

Cardinal inflection and compound agreement

Compound numerals admit more than one standard agreement pattern. This grammar
selects agreement with the final component, making the counted noun singular
in "twenty-one years":

GF expressions use `open SyntaxCze, ParadigmsCze, SymbolicCze, (L = LexiconCze), (N = NumeralCze) in`.

    mkUtt (mkNP (mkCard "21") (hradN "rok"))

    dvacet     jeden        rok
    dvacet-Ø   jeden-Ø      rok-Ø
    twenty-NOM one-M.SG.NOM year-NOM.SG
    "Twenty-one years."

The genitive-plural alternative, such as `dvacet jedna žáků` ("twenty-one
pupils"), is more usual in contemporary Czech. The grammar consistently
generates the final-component variant.
[The Czech language handbook describes both variants.](https://prirucka.ujc.cas.cz/?id=792)

In an oblique case, both numeral components and the counted noun inflect:

    (mkNP (mkCard "23") L.child_N).s ! instrumental

    dvaceti    třemi     dětmi
    dvacet-i   tř-emi    dět-mi
    twenty-INS three-INS child(F)-INS.PL
    "Twenty-three children" (instrumental).

Decimal notation uses a comma. A fractional multiplier requires genitive
singular on the scale noun:

    N.pot4decimal (N.IFrac (N.PosDecimal (N.IDig N.D_3)) N.D_5)

    3,5 milionu
    3,5 milion-u
    3.5 million-GEN.SG
    "Three and a half million."

This expression exercises the million subcategory directly. The shared
`num` constructor accepts only numbers below one million
(`Sub1000000`), so this larger value cannot pass through `num`.

A minus sign does not make an integer fractional: `-1 milion` and
`-2 miliony` retain integer agreement, whereas `-1,5 milionu` takes
genitive singular.

    -2        miliony
    -2        milion-y
    minus.two million-NOM.PL
    "Minus two million."

Zero requires genitive plural:

    0    korun
    0    korun-Ø
    zero crown-GEN.PL
    "Zero crowns."

Ordinal and superlative noun phrases

The case selected by a preposition also reaches an ordinal or superlative
modifier. In "to the best hotel", both modifier and noun are genitive:

    SyntaxCze.mkAdv to_Prep
      (mkNP (mkDet the_Quant (mkOrd (mkA "dobrý" "lepší"))) (hradN "hotel"))

    do nejlepšího             hotelu
    do nej-lep-š-ího          hotel-u
    to SUP-good-CMPR-M.SG.GEN hotel-GEN.SG
    "To the best hotel."

A symbolic ordinal follows the same agreement:

    SyntaxCze.mkAdv to_Prep
      (mkNP (mkDet the_Quant <symb (mkSymb "n") : Ord>) (hradN "hotel"))

    do n-tého         hotelu
    do n-t-ého        hotel-u
    to n-ORD-M.SG.GEN hotel-GEN.SG
    "To the n-th hotel."

Quantified noun phrases and predicates

With "five", a nominative noun phrase contains a genitive plural counted noun;
a preceding quantifier shares that genitive:

    mkUtt (mkIP which_IQuant (mkNum (mkCard "5")) (mkCN L.child_N))

    kterých      pět      dětí
    kter-ých     pět-Ø    dět-í
    which-GEN.PL five-NOM child(F)-GEN.PL
    "Which five children?"

The genitive also remains in an address: mkVoc (mkNP (mkCard "5") L.child_N)
gives pět dětí, not pět děti.

Such a subject has a singular verb. For a long predicate adjective, the
grammar selects genitive plural:

    mkS (mkCl (mkNP (mkCard "5") L.child_N) (mkA "unavený"))

    pět      dětí            je         unavených
    pět-Ø    dět-í           je         unaven-ých
    five-NOM child(F)-GEN.PL be.PRS.3SG tired-GEN.PL
    "Five children are tired."

A short predicate adjective instead takes neuter singular:

    pět      dětí            je         připraveno
    pět-Ø    dět-í           je         připraven-o
    five-NOM child(F)-GEN.PL be.PRS.3SG ready-N.SG.NOM
    "Five children are ready."

For a CN used as the predicate ("are students"), the grammar selects
instrumental plural, a formal option. Treating the subject as uniformly
singular would lose all three distinctions.

    pět      dětí            je         studenty
    pět-Ø    dět-í           je         student-y
    five-NOM child(F)-GEN.PL be.PRS.3SG student-INS.PL
    "Five children are students."

These are selected predicate forms, not the only Czech possibilities or a
claim about the most usual conversational wording. See
https://www.czechency.org/slovnik/SPONOV%C4%9A-SUBSTANTIVN%C3%8D%20P%C5%98%C3%8DSUDEK.

Scale heads and genitive complements

A scale noun introduces another agreement controller. In the following
phrase, "this" agrees with instrumental singular "thousand", while the counted
currency remains genitive plural:

    SyntaxCze.mkAdv with_Prep
      (mkNP (mkDet this_Quant (mkNum (mkCard (N.num N.pot31))))
            (zenaN "koruna"))

    s    tímto             tisícem            korun
    s    t-ím-to           tisíc-em           korun-Ø
    with DEM-M.SG.INS-PROX thousand(M)-INS.SG crown(F)-GEN.PL
    "With this thousand crowns."

With an ordinal or superlative after the scale noun, the two modifiers have
different heads. In the following phrase, "this" modifies "thousand", but
"best" modifies "crowns":

    SyntaxCze.mkAdv with_Prep
      (mkNP (mkDet this_Quant (mkNum (mkCard (N.num N.pot31)))
                   (mkOrd (mkA "dobrý" "lepší"))) (zenaN "koruna"))

    s    tímto              tisícem            nejlepších             korun
    s    t-ím-to            tisíc-em           nej-lep-š-ích          korun-Ø
    with DEM-M.SG.INS-PROX  thousand(M)-INS.SG SUP-good-CMPR-GEN.PL   crown(F)-GEN.PL
    "With this thousand of the best crowns."

Making both modifiers agree with the scale would change that meaning.

Genitive government does not by itself imply singular verb agreement.
A nominal scale head can control a plural verb and adjective:

    dva        miliony            korun            jsou        připraveny
    dv-a       milion-y           korun-Ø          jsou        připraven-y
    two-M.NOM  million(M)-NOM.PL  crown(F)-GEN.PL  be.PRS.3PL  ready-M.PL.NOM
    "Two million crowns are ready."

The grammar uses noun agreement for `milion` ("million") and `miliarda`
("billion"): singular with `milion`, plural with `dva miliony`. With hundreds
and thousands it instead selects quantified agreement, including a singular
verb. Plural agreement with dva tisíce ("two thousand") is also possible;
the multiplier does not require either variant in all contexts.
It also selects quantified agreement for `pět milionů` ("five million")
and `dvě stě milionů` ("two hundred million"). These are generation defaults
within a variable area of Czech usage.
[Nováková (2022), especially sections 2.5.3 and 2.5.9, documents the variation
in predicate and modifier agreement.](https://dspace.cuni.cz/handle/20.500.11956/176244)

Standalone number names

Standalone cardinals select the feminine counting convention: jedna,
dvě, dvacet jedna, dvacet dvě. The mixed sequence jedna, dva, tři is also
used. As a noun modifier, the numeral takes the noun's gender.

    mkUtt (mkCard "1")

    jedna
    jedn-a
    one-F.SG.NOM
    "One" (number name).

    mkUtt (mkNP (mkCard "1") L.child_N)

    jedno        dítě
    jedn-o       dít-ě
    one-N.SG.NOM child(N)-NOM.SG
    "One child."

    mkUtt (mkCard "22")

    dvacet dvě
    dvacet dvě
    twenty two.F.NOM
    "Twenty-two."

Hrdlička documents both counting conventions (pp. 17–18):
https://studiezaplikovanelingvistiky.ff.cuni.cz/wp-content/uploads/sites/19/2016/03/milan_hrdlicka_11-22.pdf.
SSJČ also records both forms when dictating numbers:
https://ssjc.ujc.cas.cz/search.php?heslo=dvaadvacet&hsubstr=no.

* Cze: vocalize v, s and z before the realized complement

The choice between `v` and `ve` depends on the next pronounced word.
An intervening adjective can therefore change the preposition even when the
noun and case stay the same:

    SyntaxCze.mkAdv in_Prep (mkNP school_N)

    ve škole
    ve škol-e
    in school-LOC.SG
    "In a school."

    SyntaxCze.mkAdv in_Prep (mkNP (mkCN (mkA "moderní") school_N))

    v  moderní         škole
    v  modern-í        škol-e
    in modern-F.SG.LOC school-LOC.SG
    "In a modern school."

The vowel in `ve` eases pronunciation; it is not a case suffix. The
alternation also includes conventional choices such as `ve mlýně` ("in a
mill") alongside `v muzeu` ("in a museum"), so a general ban on consonant
clusters would be too broad. [The Czech language handbook describes these
alternations.](https://prirucka.ujc.cas.cz/?id=770)

The environments for s and z differ from those for v: ve hře but s hrou.

    mkAdv with_Prep (mkNP (zenaN "žena"))

    se   ženou
    se   žen-ou
    with woman(F)-INS.SG
    "With a woman."

    mkAdv from_Prep (mkNP school_N)

    ze   školy
    ze   škol-y
    from school(F)-GEN.SG
    "From a school."

The same s/z environments cover se mnou, se ženou and ze všech dětí.
The mz cluster gives ve mzdě.

The pronoun mě and the noun město do not make ve the default for every
word beginning with mě. Keep v in v měně, v měřítku and v mědi, as well
as before měsíc and měkký, while retaining ve mě/mne/mně and ve městě.

    SyntaxCze.mkAdv in_Prep (mkNP (zenaN "měna"))

    v   měně
    v   měn-ě
    in  currency(F)-LOC.SG
    "In a currency."

The built-in accusative pronoun gives ve mne ("into me"). Supplying the
alternative pacc = "mě", as in the finite PGF fixture, gives ve mě.
Both require vocalization; this does not change the pronoun default.
GF pre matches prefixes,
so the měst- default also covers derived words such as městský ("urban").
It takes priority over other longer mě- words, which in turn precede
the mě condition. Finite letter continuations distinguish the pronoun
without a growing list of lexical exclusions. Source checks and finite
PGF round trips cover all three branches.

The tř- default also applies outside numerals: ze třídy ("from the
classroom") is one of the handbook's examples. These are generation
defaults for common environments, not an exhaustive account of stylistic
and lexical variation. See https://prirucka.ujc.cas.cz/?id=770.

* Cze: inflect and place predeterminers by noun-phrase head

Czech "all" inflects, so its form must follow the noun phrase's case and
agreement. The instrumental plural is `všemi`:

GF expressions use `open SyntaxCze, ParadigmsCze, (L = LexiconCze) in`.

    SyntaxCze.mkAdv with_Prep (mkNP all_Predet (mkNP plNum L.child_N))

    se   všemi      dětmi
    se   vš-emi     dět-mi
    with all-INS.PL child(F)-INS.PL
    "With all the children."

The neutral order with a personal pronoun is vy všichni ("all of you")
or s vámi všemi ("with all of you"). This is a generation default, not
a ban on every preposed use with a pronoun.

    mkAdv with_Prep (mkNP all_Predet (mkNP youPl_Pron))

    s    vámi    všemi
    s    vámi    vš-emi
    with 2PL.INS all-INS.PL
    "With all of you."

A modifier does not change the head's pronominality even when weak forms
are no longer available. All remains next to the pronoun, before following
modifiers:

    SyntaxCze.mkAdv with_Prep
      (mkNP all_Predet
        (mkNP (mkNP we_Pron) (ParadigmsCze.mkAdv "doma")))

    s    námi    všemi      doma
    s    námi    vš-emi     doma
    with 1PL.INS all-INS.PL at.home
    "With all of us at home."

Noun-headed phrases keep all before the noun, while jen ("only") remains
preposed in both cases. Predeterminer realization supplies agreement and
order; it does not check semantic compatibility with the NP. Do not impose
a blanket restriction on singular pronouns.

An earlier markup wrapper excludes a later predeterminer. Insertion can
split that wrapper into separately marked pieces; preposed jen ("only")
leaves it intact. Mark both pieces unconditionally, accepting an empty
wrapper in <b>my</b> všichni <b></b>. A separate presence flag used only
by markup substantially increases compilation cost.

If empty wrappers become a problem, replace isPron with a three-state NP
parameter: nominal, pronoun without a following modifier, pronoun with one.
This suppresses empty wrappers while preserving markup on both pieces.
A prototype saved less memory than unconditional wrapping. Bound RNPs need
only the pronoun distinction.

With "five children", "all" is genitive plural even when the whole phrase is
nominative and would take a singular finite verb. Clause agreement therefore
cannot determine its form:

    mkUtt (mkNP all_Predet (mkNP (mkCard "5") L.child_N))

    všech      pět      dětí
    vš-ech     pět-Ø    dět-í
    all-GEN.PL five-NOM child(F)-GEN.PL
    "All five children."

The same genitive government is retained in an address:
mkVoc (mkNP all_Predet (mkNP (mkCard "5") L.child_N)) gives všech pět dětí.

A shared preposed modifier agrees with the first conjunct:

    mkUtt (mkNP all_Predet
      (mkNP and_Conj (mkNP plNum L.man_N) (mkNP plNum L.woman_N)))

    všichni      muži          a   ženy
    vš-ichni     muž-i         a   žen-y
    all-M.PL.NOM man(M)-NOM.PL and woman(F)-NOM.PL
    "All men and women."

Here všichni agrees with muži; the following feminine ženy does not change
its form. Adding a conjunct at the front makes that new conjunct the
modifier's agreement controller. This is nominal modifier agreement,
separate from agreement with the clause's verb.
See https://www.czechency.org/slovnik/KOORDINACE.

* Cze: distinguish bare case government from prepositional complements

Case alone does not select the full form of a personal pronoun. Bare
genitive uses jeho; after od it is něho. This distinction also matters
in either V3 complement.

    mkAdv possess_Prep (mkNP he_Pron)

    jeho
    jeho
    3SG.M.GEN
    "Of him."

    mkAdv by8agent_Prep (mkNP he_Pron)

    od   něho
    od   něho
    from 3SG.M.GEN
    "From him."

Use mkPrep genitive for bare government. The string overload denotes an
overt preposition, including token-dependent allomorphs; older mkPrep ""
calls should use the case-only overload. Explicit government avoids trying
to test a delayed pre expression for emptiness.

Full-form selection is independent of clitic eligibility and placement.
Source regressions cover both V3 slots and bare and prepositional forms.
The installed API consumer exercises both constructor overloads and an
allomorphic preposition.

* Cze: implement the standard subject-bound RNP interface

Reflexive possession expresses coreference with the clause's subject. The
standard RGL `RNP` interface can carry this dependency through coordination
and nested possession until the phrase is used as an object.

A full reflexive can be coordinated with a possessed noun phrase:

GF expressions use `open SyntaxCze, ParadigmsCze, (L = LexiconCze), (E = ExtendCze) in`.

    mkS (mkCl (mkNP (E.ProDrop she_Pron))
      (E.ReflRNP (mkVPSlash L.love_V2)
        (E.ConjRNP and_Conj
          (E.Base_rr_RNP E.ReflPron (E.ReflPoss plNum (mkCN L.child_N))))))

    miluje        sebe      a    své                 děti
    miluj-e       seb-e     a    sv-é                dět-i
    love-PRS.3SG  REFL-ACC  and  REFL.POSS-F.PL.ACC  child(F)-ACC.PL
    "She loves herself and her own children."

The tree identifies the subject as female; the present-tense verb `miluje`
itself does not mark gender. `Sebe` is the full reflexive object, distinct
from the clitic `se` in a lexical reflexive verb.

Binding also reaches a possessor inside a larger object:

    mkS (mkCl (mkNP (E.ProDrop he_Pron))
      (E.ReflRNP (mkVPSlash L.love_V2)
        (E.AdvRNP (mkNP (zenaN "manželka")) possess_Prep
          (E.ReflPoss sgNum (mkCN (panN "syn"))))))

    miluje        manželku     svého               syna
    miluj-e       manželk-u    sv-ého              syn-a
    love-PRS.3SG  wife-ACC.SG  REFL.POSS-M.SG.GEN  son-GEN.SG
    "He loves his own son's wife."

Here "his own" refers to the subject of "loves". Choosing `ReflPoss`
expresses that subject binding.
An ordinary possessive, such as `mkNP he_Pron (panN "syn")` ("his son"),
carries no such binding and cannot replace the reflexive analysis.

Focus likewise requires a full reflexive:

    mkS (mkCl (mkNP (E.ProDrop she_Pron))
      (E.ReflRNP (mkVPSlash L.love_V2)
        (E.PredetRNP only_Predet E.ReflPron)))

    miluje        jen   sebe
    miluj-e       jen   seb-e
    love-PRS.3SG  only  REFL-ACC
    "She loves only herself."

The verb selects the bound phrase's case; the possessed noun controls
modifier agreement. Here `psát o` ("write about") requires locative, and
"all" and the possessive are plural because they modify "children",
although the antecedent "I" is singular:

    let writeAbout_V2 : V2 = L.write_V2 ** {
          c = ParadigmsCze.mkPrep "o" locative
        } in
    mkS (mkCl (mkNP (E.ProDrop i_Pron))
      (E.ReflRNP (mkVPSlash writeAbout_V2)
        (E.PredetRNP all_Predet (E.ReflPoss plNum (mkCN L.child_N)))))

    píši          o     všech      svých              dětech
    píš-i         o     vš-ech     sv-ých             dět-ech
    write-PRS.1SG about all-LOC.PL REFL.POSS-F.PL.LOC child(F)-LOC.PL
    "I write about all my own children."

A bare reflexive has no possessed noun to supply that agreement; its modifiers
instead agree with the antecedent.
All follows this pronominal head, as in o sobě všech ("about all of
themselves"); it remains preposed before a possessed noun or coordination.
With an AdvRNP headed by a personal pronoun, all stays next to that pronoun
and agrees with it, before the following bound complement. In ona plave
s námi všemi u sebe ("she swims with all of us at her place"), všemi is
plural with námi despite the singular antecedent of sebe. Preserve the
boundary before following modifiers through binding.

With a coordinated RNP, a shared preposed modifier agrees with the first
conjunct, just as with an ordinary NP. This object phrase takes the following
accusative form:

    E.PredetRNP all_Predet
      (E.ConjRNP and_Conj
        (E.Base_rr_RNP (E.ReflPoss plNum (mkCN (panN "syn")))
                      (E.ReflPoss sgNum (mkCN (zenaN "dcera")))))

    všechny    své                syny          a   svou               dceru
    vš-echny   sv-é               syn-y         a   sv-ou              dcer-u
    all-ACC.PL REFL.POSS-M.PL.ACC son(M)-ACC.PL and REFL.POSS-F.SG.ACC daughter(F)-ACC.SG
    "All one's own sons and one's own daughter."

Všechny is plural with syny; singular dceru does not change its form.

Full complements select ordinary or post-prepositional forms after binding
the subject agreement. Coordinating a personal pronoun with a reflexive
exposes the difference: bare genitive jeho a sebe versus od něho a sebe.
Pure reflexives alone cannot check this distinction. Regressions exercise
nested and coordinated RNPs and both attributive and predicative AP forms.

* Cze: expose compositional secondary and dative predicates

Subject-oriented secondary predicates

In `mít rád` ("like", literally "have glad"), the adjective agrees with the
subject while the verb takes an accusative object. Standard `V2A` models an
object-oriented predicate, as in "paint it red"; it would give the wrong
agreement controller for this construction.

`SlashV2AP` lets the verb and adjective retain their own inflection:

GF expressions use `open SyntaxCze, ParadigmsCze, ExtraCze, (L = LexiconCze), (E = ExtendCze) in`.

    let like_AP : AP = shortAP "rád" "ráda" "rádo" "rádi" "rády" "ráda" in
    mkS (mkCl (mkNP (mkCard "5") L.child_N)
      (mkVP (SlashV2AP have_V2 like_AP) (mkNP (zenaN "pizza"))))

    pět      dětí            má           rádo          pizzu
    pět-Ø    dět-í           má           rád-o         pizz-u
    five-NOM child(F)-GEN.PL have.PRS.3SG glad-N.SG.NOM pizza-ACC.SG
    "Five children like pizza."

The short adjective is neuter singular with this quantified subject; it does
not agree with feminine `pizza`. Keeping an object gap also permits a
subject-bound object:

    let like_AP : AP = shortAP "rád" "ráda" "rádo" "rádi" "rády" "ráda" in
    mkS (mkCl (mkNP (E.ProDrop she_Pron))
      (E.ReflRNP (SlashV2AP have_V2 like_AP)
        (E.ReflPoss sgNum (mkCN (panN "syn")))))

    má           ráda          svého              syna
    má           rád-a         sv-ého             syn-a
    have.PRS.3SG glad-F.SG.NOM REFL.POSS-M.SG.ACC son-ACC.SG
    "She likes her own son."

Here `ráda` agrees with the female subject, while `svého` agrees with
masculine accusative `syna`.

Dative experiencers with the copula

Czech age expressions put the experiencer in the dative. The nominative age
phrase controls the verb: "two years" takes plural `jsou`, whereas "five
years" takes singular `je`.

    mkS (DativeCopulaCl (mkNP i_Pron) (mkNP (mkCard "2") L.year_N))

    jsou mi             dva        roky
    jsou=mi             dv-a       rok-y
    be.PRS.3PL=1SG.DAT  two-M.NOM  year-NOM.PL
    "I am two years old."

    mkS (DativeCopulaCl (mkNP i_Pron) (mkNP (mkCard "5") L.year_N))

    je mi               pět       let
    je=mi               pět-Ø     let-Ø
    be.PRS.3SG=1SG.DAT  five-NOM  year-GEN.PL
    "I am five years old."

The same singular experiencer `mi` ("to me") occurs in both. It cannot
supply the clause's agreement features.

The question construction preserves this distinction:

    mkQS (DativeCopulaQCl (mkNP youPol_Pron)
      (mkIP how8many_IDet (mkCN L.year_N)))

    kolik         let vám              je
    kolik-Ø       let-Ø=vám            je
    how.many-NOM  year-GEN.PL=2PL.DAT  be.PRS.3SG
    "How old are you?"

Here `vám` addresses one person politely. The interrogative age phrase
`kolik let` controls the singular verb `je`.

These constructions need language-specific abstract operations: neither the
subject-oriented secondary predicate nor the dative/nominative copula has an
equivalent in the standard constructors. They belong in `ExtraCze` and
compose with the standard RGL categories.

An acyclic PGF fragment checks these constructions together with bound
objects, bare and prepositional complements, explicit subject omission,
subordinate clitics and predeterminer placement with a modified pronoun:
s námi všemi doma ("with all of us at home"). It compares complete parse
sets and requires recovery of polarity arguments, without truncation or
depending on parse order.

* Cze: implement the interrogative pronoun kdo

Kdo uses masculine animate singular agreement and inflects for case.
This grammatical agreement does not specify the referent's sex.

    mkQS (mkQCl whoSg_IP (mkVP love_V2 (mkNP she_Pron)))

    kdo ji             miluje
    kdo-Ø=ji           miluj-e
    who-NOM=3SG.F.ACC  love-PRS.3SG
    "Who loves her?"

The standard structural entry replaces the API stub. Finite round trips
check the subject question and the oblique phrase od koho ("from whom").

* Cze: implement adjective comparisons with než

A comparison term follows než in the nominative while the adjective
retains its attributive case or predicate agreement. Subject omission
does not erase a pronoun used as the comparison term.

    mkCl (mkNP (mkCard "5") child_N) (mkAP young_A (mkNP she_Pron))

    pět      dětí            je         mladších          než  ona
    pět-Ø    dět-í           je         mlad-š-ích        než  ona
    five-NOM child(F)-GEN.PL be.PRS.3SG young-CMPR-GEN.PL than 3SG.F.NOM
    "Five children are younger than her."

The standard ComparA construction replaces the API stub. Its mkAP overload
uses the same comparative morphology as comparAP, with a postposed
comparison complement. Source and finite PGF tests exercise attributive
case, ordinary and quantified predicates, and full comparison pronouns.
The PGF fragment also checks a comparison formed by the smart mkA paradigm:
fast_A = mkA "rychlý" gives jsem rychlejší než ona ("I am faster than her").

* Cze: run the regression suite in CI

The general RGL build checks compilation but does not check Czech surface
forms or polarity recovery in parsing. Run the Czech source suites, API
imports and finite PGF round trips after installing GF, with a five-minute
step timeout.

Use the installed gf through the runner's PATH fallback and retain the
existing full RGL build.

The test overview links sh tests/czech/check.sh and the Czech README.
The runner follows the existing .gfs/.out convention and additionally
checks installed API imports and finite PGF generation/parsing.

These finite fragments do not establish full Czech RGL coverage.
Coordinated-subject person/number agreement and subordinate-clause punctuation
retain inherited gaps, as noted in the test README.

The runner accepts an explicit GF executable, including paths containing
spaces, and falls back to gf on PATH when GF is unset or empty. It reports
a missing executable before starting any builds. Manually verified these
startup cases using temporary shell stubs, without invoking a compiler.

* Cze: give reflexive modifiers their complement case

A bound reflexive inherits its antecedent's gender and number, but takes
case from its own complement position. A quantified subject's genitive
government must not spread to an accusative reflexive object.

    pět       dětí             miluje        sebe      všechny
    pět-Ø     dět-í            miluj-e       sebe      všechn-y
    five-NOM  child(F)-GEN.PL  love-PRS.3SG  REFL.ACC  all-F.PL.ACC
    "Five children love all of themselves."

The former sebe všech incorrectly used genitive on the modifier. Possessed
heads still have their own government: čekám na všech svých pět dětí
("I am waiting for all five of my children") retains genitive všech svých.

Finite round trips check ordinary and quantified antecedents, bare and
prepositional accusatives, and possessed heads. A source check exercises
instrumental se sebou všemi ("with all of themselves") inside a predicate.

* Cze: correct case forms of rok and mléko

The new lexical entries need two overrides: rok ("year") has singular
vocative roku, and mléko ("milk") has plural locative mlékách. Their default
paradigms otherwise produce roke and mlékech.

Source regressions check mkVoc (mkNP year_N) and v mlékách ("in milks",
for example when comparing types of milk).

* Cze: use quantified agreement for compound cardinals

Agreement with the final unit is a standard option for bare compounds,
but does not compose with possessive modifiers. Use the genitive-plural
pattern for compounds ending in 1--4 as well as 5--9. Counted nouns,
modifiers and predicates then receive consistent agreement.

    mkS (mkCl (mkNP (mkDet i_Pron (mkNum "22")) L.child_N)
              (mkA "unavený"))

Before (* marks the ungrammatical construction):

    *mé                dvacet      dvě        děti             jsou        unavené
    m-é                dvacet-Ø    dv-ě       dět-i            jsou        unaven-é
    1SG.POSS-F.PL.NOM  twenty-NOM  two-F.NOM  child(F)-NOM.PL  be.PRS.3PL  tired-F.PL.NOM

After:

    mých             dvacet      dva      dětí             je          unavených
    m-ých            dvacet-Ø    dva      dět-í            je          unaven-ých
    1SG.POSS-GEN.PL  twenty-NOM  two.NOM  child(F)-GEN.PL  be.PRS.3SG  tired-GEN.PL
    "My twenty-two children are tired."

[CzechEncy describes the restriction on premodifiers.](https://www.czechency.org/slovnik/ČÍSLOVKA)

In compounds, jedna stays fixed in oblique cases, while dva inflects:
s mými dvaceti jedna dětmi / s mými dvaceti dvěma dětmi
("with my twenty-one / twenty-two children"). Simple jeden and dva/dvě
keep their existing agreement. See Naughton, Czech: An Essential Grammar,
sections 6.1.5--6.1.6:
https://jakobson.korpus.cz/~rosen/public/GGG/Czech_essent_grammar.pdf#page=126.

Exact scale nouns retain their government and agreement. A compound used
as their multiplier follows the same rule: s těmito dvaceti jedna tisíci
korun ("with these twenty-one thousand crowns").

Finite PGF round trips cover possessives with 21 and 22, instrumental
forms and a quantified predicate. Source checks cover larger compounds
and a compound multiplier of tisíc.

* Cze: retain the leading scale's agreement in sums

A sum ending in a scale word kept the final summand's agreement head.
This produced *tato dva tisíce dvě stě korun: neuter tato agreed with
stě across the preceding masculine tisíce.

Keep the leading scale's head, following the existing nominal modifier
policy. The final scale still governs the counted noun's genitive.

    tyto               dva        tisíce           dvě        stě             korun
    t-y-to             dv-a       tisíc-e          dv-ě       st-ě            korun-Ø
    DEM-M.NOM.PL-PROX  two-M.NOM  thousand-NOM.PL  two-N.NOM  hundred-NOM.PL  crown-GEN.PL
    "These 2,200 crowns."

This selects nominal agreement, documented for compound modifiers in
Nováková (2022), section 2.6; quantified agreement is another option:
https://dspace.cuni.cz/bitstream/handle/20.500.11956/176244/120427637.pdf?isAllowed=y&sequence=1#page=81

Round trips cover demonstratives, possessives and instrumental forms.
Source checks cover all_Predet and predicate agreement in sums with
millions and billions.

* Cze: correct the náš and váš possessive paradigms

Use their shared pronoun paradigm instead of the soft-adjective defaults.
Distinguish feminine accusative naši/vaši from oblique naší/vaší, and
singular instrumental naším/vaším from plural dative našim/vašim.

    miluji        vaši               dceru
    miluj-i       vaš-i              dcer-u
    love-PRS.1SG  2PL.POSS-ACC.SG.F  daughter-ACC.SG
    "I love your daughter."

The case forms follow SSJČ:
https://ssjc.ujc.cas.cz/search.php?heslo=n%C3%A1%C5%A1&hsubstr=no

Source checks cover plural and polite address, gender and case contrasts.
Finite PGF round trips cover objects, dative experiencers and possession.

* Cze: correct the irregular plural forms of jablko

Override the regular město paradigm with genitive jablek and locative
jablkách. The default forms jablk and jablkech are incorrect.

    pět       jablek
    five.NOM  apple.GEN.PL
    "Five apples."

SSJČ lists jablek and the locative alternatives jablkách/jablcích:
https://ssjc.ujc.cas.cz/search.php?heslo=jablko&hsubstr=no

Finite round trips contrast dvě jablka with pět jablek; a source check
covers v jablkách. Keep these lexical exceptions out of the general paradigm.

* Cze: inflect standalone accusative and dative noun phrases

Implement UttAccNP and UttDatNP instead of inheriting the nominative
fallback. Use full pronoun forms, including after ProDrop, since a
standalone utterance cannot host an object clitic.

    tuto               studenou       kávu
    t-u-to             studen-ou      káv-u
    DEM-ACC.SG.F-PROX   cold-ACC.SG.F  coffee-ACC.SG
    "This cold coffee."

Source regressions cover determiner and adjective agreement, the
accusative/dative contrast, and strong jeho/jemu pronoun forms.
2026-10-02 14:34:24 +02:00

19 lines
787 B
Plaintext

concrete CzeRoundTripCze of CzeRoundTrip = LangCze [
Utt, S, Cl, NP, VP, VPSlash, Pron, V2, V3, A, AP, Comp, Imp,
Adv, Prep, N, CN, Det, Quant, Num,
PrepNP, UttAdv, UseN, DetCN, DetQuant, DefArt, NumSg, in_Prep, city_N,
Temp, Tense, Ant, Pol,
UttS, UseCl, PredVP, UsePron, ComplSlash, SlashV2a, Slash2V3, Slash3V3,
UseComp, CompAP, PositA, ImpVP, UttImpSg, UttImpPl, UttImpPol,
TTAnt, TPres, ASimul, PPos, PNeg,
youSg_Pron, he_Pron, she_Pron, youPl_Pron, youPol_Pron,
love_V2, read_V2, young_A
] ** open ParadigmsCze in {
lin
buy_V3 = mkV3 (kupovatV "kupovat") ;
currency_N = zenaN "měna" ;
vAcc_Prep = v_Prep accusative ;
-- Select the short prepositional accusative without a duplicate Pron.
i_Pron = StructuralCze.i_Pron ** {pacc = "mě"} ;
}