Documentation

Linglib.Phenomena.Numerals.Studies.Kennedy2015PMF

@cite{kennedy-2015} on mathlib PMF (Shape A migration) #

@cite{kennedy-2015} @cite{frank-goodman-2012}

PMF-shaped re-formalisation of Kennedy2015.lean's 7 RSA L1 findings. Domain: KCard = Fin 6, KUtt = 5 numeral alternatives. Same-observation findings discharge via the canonical template + vacuous-zero/partition- dominance patterns.

Migration coverage #

5 of 7 findings discharged structurally:

Reused from Kennedy2015.lean #

noncomputable def Kennedy2015.PMF.kMeanBool (u : KUtt) (w : KCard) :
Bool

Boolean meaning, derived from kMean via decide.

Equations
Instances For
    theorem Kennedy2015.PMF.kMeanBool_iff (u : KUtt) (w : KCard) :
    kMeanBool u w = true kMean u w

    The Bool form agrees with the Prop form.

    §1. L0 — uniform on extension via RSA.L0OfBoolMeaning #

    @[reducible, inline]
    noncomputable abbrev Kennedy2015.PMF.extension (u : KUtt) :
    Finset KCard
    Equations
    Instances For
      noncomputable def Kennedy2015.PMF.L0 (u : KUtt) :
      PMF KCard
      Equations
      Instances For
        @[simp]
        theorem Kennedy2015.PMF.mem_support_L0_iff (u : KUtt) (w : KCard) :
        w (L0 u).support kMeanBool u w = true
        theorem Kennedy2015.PMF.L0_apply_of_true {u : KUtt} {w : KCard} (h : kMeanBool u w = true) :
        (L0 u) w = (↑(extension u).card)⁻¹
        theorem Kennedy2015.PMF.L0_apply_of_false {u : KUtt} {w : KCard} (h : kMeanBool u w true) :
        (L0 u) w = 0

        §2. S1 — speaker as PMF.normalize of L0 with conditional fallback #

        At every world in 0..5, at least one utterance applies (e.g. .atMost3 applies at 0..3, .atLeast3 applies at 3..5). So S1 is well-defined everywhere — no fallback needed in this domain (all worlds have a witness).

        Still using the conditional pattern for compatibility with the Shape A template.

        theorem Kennedy2015.PMF.L0_tsum_utterance_ne_top (w : KCard) :
        ∑' (u : KUtt), (L0 u) w
        noncomputable def Kennedy2015.PMF.S1 (w : KCard) :
        PMF KUtt
        Equations
        • One or more equations did not get rendered due to their size.
        Instances For
          theorem Kennedy2015.PMF.S1_eq_normalize {w : KCard} (h : ∑' (u : KUtt), (L0 u) w 0) :
          S1 w = PMF.normalize (fun (u : KUtt) => (L0 u) w) h

          §3. L1 — Bayesian inversion against the uniform world prior #

          noncomputable def Kennedy2015.PMF.worldPrior :
          PMF KCard
          Equations
          Instances For

            §4. Findings — vacuous-zero discharges #

            "moreThan3" doesn't apply at .3 → S1 .3 .moreThan3 = 0 (vacuous-zero).

            L1("moreThan3") prefers .4 over .3 — Class A excludes the boundary semantically.

            "bare3" doesn't apply at .4 → S1 .4 .bare3 = 0 (vacuous-zero).

            L1("bare 3") peaked at .3 — bare numeral exact reading.

            "fewerThan3" doesn't apply at .3 → S1 .3 .fewerThan3 = 0 (vacuous-zero, mirror of moreThan3).

            L1("fewerThan3") prefers .2 over .3 — upper Class A excludes boundary.

            §5. Findings — partition-dominance leaves (non-pointwise) #

            Class B: L1 of "atLeast3" prefers .4 over .3. Friction: numerators equal (both 1/3), but partition functions don't pointwise dominate. At .3 the alternatives are {bare3, atLeast3, atMost3}; at .4 they are {moreThan3, atLeast3}. Neither set dominates the other. Needs partition function computation.

            Upper Class B: L1 of "atMost3" prefers .2 over .3. Same friction as classB_strengthened_above_bare.

            §6. Findings — cross-observation (different utterance, same world) #

            Class B competition at the boundary: L1("bare 3" | .3) > L1("at least 3" | .3).

            Structural discharge (post-0.230.409 lemma posterior_lt_of_score_cross_lt):

            1. gt_iff_lt flips to < shape
            2. unfold L1, posterior_lt_of_score_cross_lt
            3. Reduces to cross-multiplied score comparison: S1 .3 .atLeast3 * marginal .bare3 < S1 .3 .bare3 * marginal .atLeast3

            Remaining leaf: the cross-multiplied numeric inequality requires computing marginal .bare3 and marginal .atLeast3 (each a tsum over Fin 6). Same partition-computation friction as classB_strengthened_above_bare — would close once a pmf_partition_compute helper exists.