Documentation

Linglib.Fragments.Japanese.Classifier

Japanese Numeral Classifier Inventory #

@cite{aikhenvald-2000} @cite{downing-1996} @cite{sudo-2016}

The closed inventory of Japanese numeral classifiers (josūshi 助数詞) as a finite inductive type. Properties (form, gloss, encoded semantic parameters, dimensionality, mensural-vs-sortal, default flag) are projection functions or Decidable predicates over the type, not fields on a struct.

Architectural pilot #

This file is the pilot for an enum-as-source-of-truth fragment pattern (replacing the prior list-of-records pattern). Adding a classifier means adding a constructor here; the type checker propagates the addition to every projection function and every consumer that pattern-matches on Classifier. See CHANGELOG.md 0.230.179 for the rationale.

Inventory provenance #

Bridge to legacy #

Classifier.toEntry : Classifier → ClassifierEntry is the migration seam to the old Typology.ClassifierEntry record type that sibling fragments (Mandarin, Shan, Chol) and Phenomena/Classifiers/Typology still consume. Once those fragments are migrated to the same enum pattern, both this bridge and ClassifierEntry itself can be retired.

Out of scope #

The closed inventory of Japanese numeral classifiers. Constructors are named by Hepburn romanization, with kanji-distinct homophones disambiguated by content (e.g., kenBuilding 軒 vs kenIncident 件).

Instances For
    @[implicit_reducible]
    Equations
    Equations
    • One or more equations did not get rendered due to their size.
    Instances For

      The 27 core classifiers from @cite{downing-1996} (UNVERIFIED: Table 1.1).

      Equations
      • One or more equations did not get rendered due to their size.
      Instances For

        The 6 extended classifiers from @cite{downing-1996} (UNVERIFIED: Table 1.2).

        Equations
        • One or more equations did not get rendered due to their size.
        Instances For

          The 3 additional classifiers from @cite{sudo-2016}'s worked examples (eqs. 4, 9a, 9b): -rin (flowers), -kumi (pair), -daasu (dozen).

          Equations
          Instances For

            The full inventory: Downing core ++ Downing extended ++ Sudo additions. Source-of-truth for consumer iteration (lookup, aggregations) and the Fintype instance.

            Equations
            Instances For

              §1: Surface form #

              The kanji (or hiragana, for -tsu) form of the classifier.

              Equations
              Instances For

                Hepburn romanization of the classifier.

                Equations
                Instances For

                  A short English gloss describing the classifier's selection criterion.

                  Equations
                  Instances For

                    §2: Semantic parameters and shape #

                    The semantic parameters this classifier encodes (@cite{aikhenvald-2000} typological vocabulary).

                    Every constructor has an explicit arm; no fall-through. Adding a classifier requires deciding what it encodes — the type checker enforces it.

                    Equations
                    Instances For

                      Shape dimensionality sub-classification per @cite{allan-1977}'s 1D/2D/3D scheme (cf. @cite{downing-1996}). Only meaningful when encodes includes .shape.

                      -rin 輪 is left as none: although it encodes shape, it tracks boundedness/ring-form (wheels, single blossoms) rather than fitting cleanly on the 1D/2D/3D axis. See encodes, where -rin carries .shape and .boundedness.

                      Equations
                      Instances For

                        §3: Property predicates #

                        A classifier is mensural if it counts entities by a measure (containers, portions, drops, fixed-quantity multiples) rather than by atomic instances. -daasu ダース (← English "dozen") is mensural since it counts in fixed groups of 12.

                        Equations
                        Instances For

                          A classifier is the default (semantically bleached, residue) classifier of the language. Japanese: tsu.

                          Equations
                          Instances For

                            c encodes the semantic parameter p iff p ∈ c.encodes.

                            Equations
                            Instances For

                              §4: Lookup and aggregations #

                              Lookup a classifier by surface form. Returns none if the form is not in the inventory.

                              Equations
                              Instances For

                                The list of all semantic parameters encoded by some classifier in the inventory (with duplicates removed). Used by Phenomena/Classifiers/Typology to compute preferredSemantics.

                                Equations
                                Instances For

                                  §5: Bridge to legacy ClassifierEntry #

                                  Migration seam: Phenomena/Classifiers/Typology.lean and the sibling fragments (Mandarin, Shan, Chol) still consume Typology. ClassifierEntry. toEntry projects a typed Classifier back to the legacy record so cross-language aggregations continue to work during the transitional period.

                                  Convert a typed Classifier to the legacy record. Migration-seam only; new code should consume Classifier and its projections directly.

                                  Equations
                                  Instances For

                                    The full inventory as legacy records. Bridge for typology-side code that still expects List ClassifierEntry.

                                    Equations
                                    Instances For

                                      §6: Structural theorems #

                                      The inventory has 36 classifiers (27 Downing core + 6 Downing extended + 3 Sudo examples).

                                      The default classifier exists and is tsu.

                                      tsu is the only classifier flagged as default.

                                      theorem Fragments.Japanese.Classifier.mensural_count :
                                      (List.filter (fun (c : Classifier) => decide c.IsMensural) all).length = 4

                                      Exactly four classifiers are mensural: hai, shoku, teki, daasu.

                                      Every non-default sortal classifier encodes at least one semantic parameter. The default tsu is the only semantically empty classifier.

                                      All three shape dimensions are attested in the inventory.

                                      kenBuilding and 件 kenIncident are distinct classifiers sharing the same Hepburn romanization but differing in kanji form.

                                      軒 and 件 share their romanization (the homophony Downing flags).