Yang's Tolerance Principle @cite{yang-2016} #
A productivity criterion for rule learning. Given a rule with n items in its
scope and e exceptions (items in scope that fail to obey the rule), the rule
is tolerated (treated as productive) iff
e ≤ n / ln n.
Below this threshold, the cost of memorizing exceptions is outweighed by the
generality of the rule; above it, the learner abandons the rule and treats the
items as lexically listed. The threshold θ_N = N / ln N is derived in
@cite{yang-2016} from a sufficiency condition for the Elsewhere Condition under
serial rule access.
This module defines the threshold and the productivity predicate. It is
deliberately minimal — actual numerical certificates for specific (n, e)
pairs are deferred to the study files that need them.
@cite{belth-2026} invokes the principle as the productivity gate inside
the D2L tier-learner; see
Phenomena/Phonology/Studies/Belth2026.lean. Other potential
consumers (Yang's morphological productivity, infant rule generalization
@cite{emond-shi-2021}) are not yet wired in.
The tolerance threshold for a vocabulary of size n. When n ≤ 1,
Real.log n ≤ 0 and the threshold collapses (mathlib's convention
makes division by zero return zero) — productivity in the trivial
case is governed by tolerates's pointwise definition, not by
interpreting the threshold as a positive bound.
Equations
- Theories.Learning.TolerancePrinciple.threshold n = ↑n / Real.log ↑n
Instances For
A rule with n items in scope and e exceptions is tolerated iff
the exception count fits under Yang's threshold.
Equations
Instances For
The threshold is nonnegative for every n. For n ≥ 1, both numerator
and denominator are nonnegative; for n = 0, mathlib's Real.log 0 = 0
makes the quotient 0 / 0 = 0.
A rule with no exceptions is always tolerated.