Paradigm complexity: implicative structure and entropy over cells #
This file defines the two faces of the paradigm cell filling problem over a ParadigmSystem.
The qualitative face is categorical: a set of cells predicts another when the forms filling it
determine the form filling the target across the inflection classes, a principal-part set
predicts every cell, and a system is vocabularly clear when every single cell does. The
quantitative face measures the same relations by entropy: the entropy of the class assignment, of
the form distribution at a cell, and the conditional entropy of one cell given another — the
integrand of average conditional entropy. The two faces meet at zero: a cell predicted by another
has zero conditional entropy given it, so a vocabularly clear system is transparent. Enumerative
complexity is counted by the realizations of each cell, whose product bounds the number of
classes.
Main definitions #
ParadigmSystem.Predicts,ParadigmSystem.IsPrincipalPartSet,ParadigmSystem.IsVocabularClear: the implicative relations.ParadigmSystem.realizations,ParadigmSystem.maxRealizations,ParadigmSystem.ParadigmEconomy: enumerative counts and the paradigm economy principle.ParadigmSystem.declensionEntropy,ParadigmSystem.cellEntropy,ParadigmSystem.conditionalCellEntropy,ParadigmSystem.mutualCellInfo: entropies and mutual information in nats, from the class weights.ParadigmSystem.IsImplicative,ParadigmSystem.IsTransparent: zero conditional entropy.
Main statements #
ParadigmSystem.conditionalCellEntropy_eq_zero_of_predicts,ParadigmSystem.isTransparent_of_isVocabularClear: prediction is zero conditional entropy.ParadigmSystem.isVocabularClear_of_isAnalogical: classes related by proportional analogy (Morphology.IsAnalogical) are vocabularly clear.ParadigmSystem.cellEntropy_eq_zero_of_card_le_one: a cell with one realization has zero entropy.ParadigmSystem.card_paradigms_le_prod_card_realizations: classes are bounded by the product of realizations.
References #
- [ackerman-malouf-2013]
- [bonami-beniamine-2016]
- [carstairs-mccarthy-2010]
Implicative structure #
A set of cells S predicts cell j when any two classes agreeing on every cell of S
agree at j.
Equations
Instances For
A principal-part set predicts every cell.
Equations
- ps.IsPrincipalPartSet S = ∀ (j : Fin n), ps.Predicts S j
Instances For
Vocabular clarity: every cell on its own predicts every cell — each realization identifies the class.
Equations
- ps.IsVocabularClear = ∀ (c : Fin n), ps.IsPrincipalPartSet {c}
Instances For
Enumerative counts #
The forms realizing cell c.
Equations
- ps.realizations c = (List.map (fun (e : Morphology.Paradigm n Form × ℚ) => e.1 c) ps.entries).toFinset
Instances For
The largest number of rival realizations of a single cell.
Equations
- ps.maxRealizations = Finset.univ.sup fun (c : Fin n) => (ps.realizations c).card
Instances For
Paradigm economy: no more classes than rival realizations of the most varied cell.
Equations
- ps.ParadigmEconomy = (ps.eComplexity ≤ ps.maxRealizations)
Instances For
The distinct paradigms of the system are bounded by the product of the realizations of the cells.
Entropy #
The total weight of the classes.
Instances For
The weight of the classes realizing r at c.
Equations
- ps.cellWeight c r = (List.map Prod.snd (List.filter (fun (e : Morphology.Paradigm n Form × ℚ) => decide (e.1 c = r)) ps.entries)).sum
Instances For
The weight of the classes realizing ri at ci and rj at cj.
Equations
- ps.jointWeight ci cj ri rj = (List.map Prod.snd (List.filter (fun (e : Morphology.Paradigm n Form × ℚ) => decide (e.1 ci = ri ∧ e.1 cj = rj)) ps.entries)).sum
Instances For
The pairs of forms realized at a pair of cells.
Equations
- ps.jointRealizations ci cj = (List.map (fun (e : Morphology.Paradigm n Form × ℚ) => (e.1 ci, e.1 cj)) ps.entries).toFinset
Instances For
The entropy (in nats) of the class assignment.
Equations
- ps.declensionEntropy = (List.map (fun (e : Morphology.Paradigm n Form × ℚ) => (↑(e.2 / ps.total)).negMulLog) ps.entries).sum
Instances For
The entropy (in nats) of the form distribution at cell c.
Equations
- ps.cellEntropy c = ∑ r ∈ ps.realizations c, (↑(ps.cellWeight c r / ps.total)).negMulLog
Instances For
The joint entropy (in nats) of two cells.
Equations
- ps.jointCellEntropy ci cj = ∑ p ∈ ps.jointRealizations ci cj, (↑(ps.jointWeight ci cj p.1 p.2 / ps.total)).negMulLog
Instances For
The conditional entropy H(cᵢ | cⱼ) = H(cᵢ, cⱼ) − H(cⱼ) of cell ci given cell cj.
Equations
- ps.conditionalCellEntropy ci cj = ps.jointCellEntropy ci cj - ps.cellEntropy cj
Instances For
The mutual information I(cᵢ : cⱼ) = H(cᵢ) − H(cᵢ | cⱼ) of cell ci and cell cj.
Equations
- ps.mutualCellInfo ci cj = ps.cellEntropy ci - ps.conditionalCellEntropy ci cj
Instances For
Knowing cell cj leaves no uncertainty about cell ci.
Equations
- ps.IsImplicative ci cj = (ps.conditionalCellEntropy ci cj = 0)
Instances For
Every cell predicts every other cell.
Equations
- ps.IsTransparent = ∀ (ci cj : Fin n), ci ≠ cj → ps.IsImplicative ci cj
Instances For
A cell with at most one realization has zero entropy.
A cell predicted by another has zero conditional entropy given it.
A vocabularly clear system is transparent.
A system whose classes are the paradigms of a family related by proportional analogy under any operations is vocabularly clear: a cell's form fixes the lexeme's whole paradigm ([blevins-2016]'s analogy as implicative structure).