Skip to content

Commit ebf8acb

Browse files
committed
interpTy .t Bool → Prop: unify Montague type interpretation with Mathlib Prop + Decidable pattern, eliminate IModel
1 parent ff1ef97 commit ebf8acb

127 files changed

Lines changed: 8500 additions & 3118 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

CHANGELOG.md

Lines changed: 61 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,66 @@
11
# Changelog
22

3+
## [0.229.550] - 2026-04-05
4+
5+
### Changed
6+
- **`interpTy .t` Bool → Prop migration**: unified Montague type interpretation with Mathlib's Prop + Decidable pattern
7+
- Root change: `Model.interpTy .t = Prop` (was `Bool`); eliminates `= true` coercions, `decide` wrapping, and `Bool.eq_iff_iff` idioms throughout
8+
- Eliminated redundant `IModel` type (merged into `Model` — it only hardcoded `World := World4`)
9+
- Quantifier denotations are now direct Prop: `every_sem m R S = ∀ x, R x → S x`, `some_sem m R S = ∃ x, R x ∧ S x`, etc.
10+
- GQ properties: added `P`-prefixed Prop versions (`PConservative`, `PScopeUpwardMono`, etc.) alongside existing Bool `Core.Quantification` library
11+
- `evalTree` stays `Option Bool` via `decide` at the `.t` boundary (preserves `native_decide` proofs)
12+
- `BProp W := W → Bool` unchanged (modal operators, RSA predicates stay Bool-valued)
13+
- `TypeShifting.lean`: `ident`, `BE`, `A`, `lower`, `iota`, `NOM`, `THE` all updated; `BE_unique` fully rewritten for classical Prop reasoning
14+
- ~40 downstream files updated (Phenomena studies, Fragments, Composition, Entailment)
15+
16+
## [0.229.549] - 2026-04-05
17+
18+
### Added
19+
- **Halle & Marantz 1993 — Distributed Morphology and the Pieces of Inflection**: formalized the foundational DM paper
20+
- `Phenomena/Morphology/Studies/HalleMarantz1993.lean`: English verb inflection paradigm using `FeatureVI`/`subsetPrinciple` (5 context-free VI entries with competition theorems), conditioned allomorphy via `VocabItem` with root restrictions (Paninian principle: `-t`/`∅` override default `-d`), Tns+Agr fusion using `FusionRule` (all 5 paradigm cells derived from fused features, `fusion_always_spellable` universally quantified), impoverishment → VI syncretism derivation (`deleteFeature` + `pipeline_fusion_impoverishment_vi` threading fusion through impoverishment to VI), Baker 1985 bridge (`tnsAgr_outside_gfRules`: all Tns/Agr features outside all GF-rule categories in Bybee's relevance hierarchy, connecting three papers)
21+
22+
### Changed
23+
- `references.bib`: `halle-marantz-1993` role upgraded from `cited` to `formalized`
24+
25+
## [0.229.548] - 2026-04-05
26+
27+
### Changed
28+
- **MSK2025 audit — fix entailment profiles and derivation claims**
29+
- `Fragments/French/Predicates.lean`: fixed `sentience := false` (both profiles — anticausative subjects can be non-sentient: *le mur rougit*), `stationary := false` (not applicable to intransitive sole arguments); split into `cosSubjectProfile` (property-change verbs, both control classes) and `motionCosSubjectProfile` (motion verbs: approcher, plier only); durcir/radoucir/refroidir correctly use `cosSubjectProfile` (no movement entailment)
30+
- `MartinSchaeferKastner2025.lean`: removed `deriveControlLevel` and `control_level_is_movement` biconditional — ControlLevel is pragmatic/world-knowledge, not derivable from entailments; added `control_level_not_from_entailments` (rougir = refroidir profiles), `movement_sufficient_not_necessary`; added `ResponsibilityGoal` + `predictSePreferenceExt` for G3 (responsibility preference); added `availableForms`/`choice_only_with_plusMinusSe` (choice prerequisite); K-G 2009 syncretism docstring
31+
32+
## [0.229.547] - 2026-04-05
33+
34+
### Added
35+
- **Martin, Schäfer & Kastner 2025 — lexical pragmatics of reflexive marking**: formalized three generalizations about French ±*se* anticausatives, connecting voice syncretism to Gricean Manner reasoning
36+
- `GriceanMaxims.lean`: added `MannerSubmaxim` (M1–M4: avoidObscurity, avoidAmbiguity, beBrief, beOrderly) and `MannerViolation` types, paralleling existing `QuantitySubmaxim`/`QuantityViolation`
37+
- `Fragments/French/Predicates.lean`: 10 new change-of-state verb entries with `EntailmentProfile` — 5 limited-control (brunir, noircir, pâlir, rajeunir, rougir) and 5 in-control (approcher, durcir, plier, radoucir, refroidir)
38+
- `Phenomena/Causation/Studies/MartinSchaeferKastner2025.lean`: `ControlLevel` derived from `EntailmentProfile.movement`, `SeMarking` morphological class, voice ambiguity formalization via `VoiceFlavor.nonThematic`/`.reflexive` syncretism, three generalization theorems, per-verb control derivation, unaccusativity bridge, anti-causation-claim theorem, experimental data from Tables 2 & 4
39+
40+
## [0.229.546] - 2026-04-05
41+
42+
### Added
43+
- **Zimmermann 2026 "African Lambdas I"**: formalized core contributions on the nominal domain in African languages
44+
- `Theories/Semantics/Lexical/Determiner/ChoiceFunction.lean`: choice function type (`CF`, `SkolemCF`) for indefinite semantics, with correctness conditions and scope-via-binding theorems (@cite{reinhart-1997}, @cite{kratzer-1998})
45+
- `Fragments/Hausa/Determiners.lean`: first Hausa fragment — *koo-wane* (distributive UQ = Q_∀[ONE_∅]), *duk(a)* (non-distributive UQ = bare Q_∀), *wani/wata* (∃-quantifier INDEF with flexible scope), bare NP
46+
- `Fragments/Akan/Determiners.lean`: first Akan fragment — *nó* (DEF marker with disputed analysis: strong vs weak vs demonstrative), *bí* (choice function INDEF with wide scope under negation), *bi-ara* (flexible universal: ∀/NPI/FC)
47+
- `Phenomena/Reference/Studies/Zimmermann2026.lean`: bridge theorems connecting Hausa *koo*/*duk* to Q_∀ + ONE decomposition, CF-based scope contrast between Akan *bí* and Hausa *wani*, extended typological sample (13 languages)
48+
- 11 new bibliography entries (zimmermann-2026, zimmermann-2008, zimmermann-2014, bombi-2018, owusu-2022, philipp-2022, reinhart-1997, winter-1997, mirrazi-2024, matthewson-1999, schwarzschild-2002)
49+
50+
### Fixed
51+
- `Definite.lean:99`: Akan *nó* was uncritically labeled as Schwarz's strong article — now notes the Bombi/Owusu dispute
52+
- `Core/Definiteness.lean:129`: `bareNominal` comment oversimplified Akan bare NPs — now notes context-dependent readings
53+
54+
## [0.229.545] - 2026-04-05
55+
56+
### Changed
57+
- **Glass 2025 deepening**: migrated causal model infrastructure, eliminated ad-hoc types, added postsupposition field, and connected to neg-raising
58+
- `Doxastic.lean`: replaced ad-hoc `CausalVar`/`CausalEdge`/`CausalModel` (~130 lines) with `Core.StructuralEquationModel` — `beliefFormationDynamics` uses `CausalDynamics` with `CausalLaw.simple`, `satisfiesPLC` uses `causallySufficient`, PLC theorems via `normalDevelopment` propagation instead of BFS graph reachability
59+
- `VerbEntry.lean`: added `PostsupType` enum (`.weakContrafactive`/`.strongContrafactive`) and `postsupType` field to `VerbCore` — postsuppositions are now structural, not flagged by string matching
60+
- `Mandarin/Predicates.lean`: yǐwéi now carries `postsupType := some .weakContrafactive` directly; deleted `hasExceptionalPostsupposition` string-matching function
61+
- `Glass2025.lean`: updated to use `postsupType` field (`yiwei_has_postsupposition`), added §8 NegRaising bridge (`veridicality_determines_both` connecting PLC gap to neg-raising gap via shared veridicality source)
62+
- `Postsupposition.lean`: added `strong_entails_weak` (CG ⊨ ¬p → CG ◇ ¬p for nonempty contexts) and `weak_not_entails_strong` (counterexample: `[true, false]`)
63+
364
## [0.229.544] - 2026-04-05
465

566
### Changed

Linglib.lean

Lines changed: 25 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -43,6 +43,7 @@ import Linglib.Core.Conjectures
4343
import Linglib.Core.Semantics.CommonGround
4444
import Linglib.Core.Parse
4545
import Linglib.Core.Semantics.Presupposition
46+
import Linglib.Core.Semantics.Postsupposition
4647
import Linglib.Core.Semantics.ContentLayer
4748
import Linglib.Core.Agent.ProductOfExperts
4849
import Linglib.Core.Partition
@@ -156,8 +157,11 @@ import Linglib.Core.Divergence
156157
import Linglib.Core.ChannelCapacity
157158
import Linglib.Core.Inheritance
158159
import Linglib.Core.Morphology.MorphProfile
160+
import Linglib.Core.Morphology.Wordhood
161+
import Linglib.Core.Morphology.FormMeaningMapping
159162
import Linglib.Theories.Morphology.Core.Circumfix
160163
import Linglib.Theories.Morphology.Core.Exponence
164+
import Linglib.Theories.Morphology.Core.MirrorPrinciple
161165
import Linglib.Theories.Morphology.Core.Monotonicity
162166
import Linglib.Theories.Morphology.Core.ScaleFromParadigm
163167
import Linglib.Theories.Morphology.Core.WordStructure
@@ -440,6 +444,8 @@ import Linglib.Fragments.German.Negation
440444
import Linglib.Fragments.German.AdjAgreement
441445
import Linglib.Fragments.German.V2
442446
import Linglib.Fragments.German.Distributives
447+
import Linglib.Fragments.Hausa.Determiners
448+
import Linglib.Fragments.Akan.Determiners
443449
import Linglib.Fragments.SwissGerman.Case
444450
import Linglib.Fragments.Georgian.Coordination
445451
import Linglib.Fragments.Georgian.Morph
@@ -506,6 +512,7 @@ import Linglib.Fragments.Latin.Coordination
506512
import Linglib.Fragments.Latvian.IndeterminatePronouns
507513
import Linglib.Fragments.Japanese.Case
508514
import Linglib.Fragments.Japanese.Comparison
515+
import Linglib.Fragments.Japanese.Coordination
509516
import Linglib.Fragments.Japanese.Determiners
510517
import Linglib.Fragments.Japanese.Classifiers
511518
import Linglib.Fragments.Japanese.Nouns
@@ -821,6 +828,7 @@ import Linglib.Phenomena.Constructions.Resultatives.Studies.Tay2024
821828
import Linglib.Phenomena.Causation.Studies.BeaversEtAl2021
822829
import Linglib.Phenomena.Causation.Typology
823830
import Linglib.Phenomena.Causation.Studies.MartinRoseNichols2025
831+
import Linglib.Phenomena.Causation.Studies.MartinSchaeferKastner2025
824832
import Linglib.Phenomena.Causation.Studies.NadathurLauer2020
825833
import Linglib.Phenomena.Causation.Studies.MunozPerez2026
826834
import Linglib.Phenomena.Causation.Studies.Coon2019
@@ -1018,6 +1026,9 @@ import Linglib.Phenomena.Negation.FlexibleNegation
10181026
import Linglib.Phenomena.Morphology.CompositionBridge
10191027
import Linglib.Phenomena.Morphology.Studies.Bybee1985
10201028
import Linglib.Phenomena.Morphology.Studies.ZwickyPullum1983
1029+
import Linglib.Phenomena.Morphology.Studies.KalinBjorkmanEtAl2026
1030+
import Linglib.Phenomena.Morphology.Studies.Baker1985
1031+
import Linglib.Phenomena.Morphology.Studies.HalleMarantz1993
10211032
import Linglib.Phenomena.Morphology.Typology
10221033
import Linglib.Phenomena.Morphology.Studies.AckermanMalouf2013
10231034
import Linglib.Phenomena.Morphology.CategoryChanging
@@ -1039,6 +1050,7 @@ import Linglib.Phenomena.Plurals.Basic
10391050
import Linglib.Phenomena.Plurals.Homogeneity
10401051
import Linglib.Phenomena.Plurals.NonMaximality
10411052
import Linglib.Phenomena.Plurals.Studies.HaslingerEtAl2025
1053+
import Linglib.Phenomena.Plurals.Studies.HaslingerHienEtAl2025
10421054
import Linglib.Phenomena.Questions.Studies.QingEtAl2025
10431055
import Linglib.Phenomena.Plurals.Compare
10441056
import Linglib.Phenomena.Plurals.Studies.Champollion2017
@@ -1104,6 +1116,7 @@ import Linglib.Phenomena.Presupposition.Studies.Grove2022
11041116
import Linglib.Phenomena.Presupposition.Studies.Beaver2001
11051117
import Linglib.Phenomena.Presupposition.Studies.Blutner2000
11061118
import Linglib.Phenomena.Presupposition.Studies.Karttunen1973
1119+
import Linglib.Phenomena.Presupposition.Studies.Glass2025
11071120
import Linglib.Phenomena.Modality.OutlookMarkers
11081121
import Linglib.Phenomena.Classifiers.Typology
11091122
import Linglib.Phenomena.Classifiers.Studies.Chierchia1998
@@ -1228,6 +1241,7 @@ import Linglib.Phenomena.Phonotactics.Studies.HayesWilson2008
12281241
import Linglib.Phenomena.Tone.Studies.Hyman2006
12291242
import Linglib.Phenomena.Tone.Studies.Lionnet2025
12301243
import Linglib.Phenomena.Tone.Studies.AkinboFwangwar2026
1244+
import Linglib.Phenomena.CompensatoryLengthening.Studies.Hayes1989
12311245
-- Theories: CCG
12321246
import Linglib.Theories.Syntax.CCG.Core.Basic
12331247
import Linglib.Theories.Syntax.CCG.Core.Combinators
@@ -1499,9 +1513,13 @@ import Linglib.Theories.Morphology.DM.NominalStructure
14991513
import Linglib.Theories.Morphology.DM.RichExponent
15001514
import Linglib.Theories.Morphology.DM.Allosemy
15011515
import Linglib.Theories.Morphology.DM.Impoverishment
1516+
import Linglib.Theories.Morphology.DM.PostSyntacticOps
15021517
import Linglib.Theories.Morphology.Core.CliticVsAffix
15031518
import Linglib.Theories.Morphology.Core.ICP
1519+
import Linglib.Theories.Morphology.Core.WordhoodBridge
1520+
import Linglib.Theories.Morphology.Nanosyntax.Core
15041521
import Linglib.Theories.Morphology.WP.LCEC
1522+
import Linglib.Theories.Morphology.PFM.Core
15051523
import Linglib.Phenomena.ArgumentStructure.Studies.Pylkkanen2008
15061524
import Linglib.Phenomena.ArgumentStructure.Studies.Larson1988
15071525
import Linglib.Phenomena.ArgumentStructure.Studies.Bruening2021
@@ -1578,6 +1596,9 @@ import Linglib.Theories.Semantics.Lexical.Determiner.PolarizedIndividuals
15781596
import Linglib.Theories.Semantics.Lexical.Determiner.Quantifier
15791597
import Linglib.Theories.Semantics.Lexical.Determiner.Exceptive
15801598
import Linglib.Theories.Semantics.Lexical.Determiner.Possessive
1599+
import Linglib.Theories.Semantics.Lexical.Determiner.UnifiedUniversal
1600+
import Linglib.Theories.Semantics.Lexical.Determiner.ONEModifiers
1601+
import Linglib.Theories.Semantics.Lexical.Determiner.ChoiceFunction
15811602
import Linglib.Theories.Semantics.Lexical.Expressives.Basic
15821603
import Linglib.Theories.Semantics.Lexical.Expressives.OutlookMarker
15831604
import Linglib.Theories.Semantics.Probabilistic.Scenarios.Basic
@@ -1672,6 +1693,7 @@ import Linglib.Theories.Semantics.Lexical.Verb.EventStructure
16721693
import Linglib.Theories.Semantics.Lexical.Verb.ArgDerivation
16731694
import Linglib.Theories.Morphology.RootTypology
16741695
import Linglib.Theories.Morphology.ReversalRestitution
1696+
import Linglib.Theories.Morphology.TheorySpace
16751697
import Linglib.Theories.Semantics.Events.SpatialTrace
16761698
import Linglib.Theories.Semantics.Events.DimensionBridge
16771699
import Linglib.Theories.Semantics.Events.TemporalDecomposition
@@ -1681,7 +1703,6 @@ import Linglib.Theories.Semantics.Attitudes.CDistributivity
16811703
import Linglib.Theories.Semantics.Attitudes.EmbeddingConstraints
16821704
import Linglib.Theories.Semantics.Attitudes.ContentComposition
16831705
import Linglib.Theories.Semantics.Attitudes.ContextQuantification
1684-
import Linglib.Theories.Semantics.Attitudes.ContrafactiveGap
16851706
import Linglib.Theories.Semantics.Attitudes.Doxastic
16861707
import Linglib.Theories.Semantics.Attitudes.Intensional
16871708
import Linglib.Theories.Semantics.Attitudes.Parasitic
@@ -1900,6 +1921,7 @@ import Linglib.Phenomena.Gradability.Studies.WaldonEtAl2023
19001921
import Linglib.Phenomena.Reference.Studies.WaldonDegen2021
19011922
import Linglib.Phenomena.Reference.Studies.Elbourne2013
19021923
import Linglib.Phenomena.Reference.Studies.Longobardi2005
1924+
import Linglib.Phenomena.Reference.Studies.Zimmermann2026
19031925
import Linglib.Phenomena.Binominals.Studies.TenWolde2023
19041926
import Linglib.Theories.Pragmatics.RSA.ScalarImplicatures.Basic
19051927
import Linglib.Theories.Pragmatics.RSA.ScalarImplicatures.Embedded.Attitudes
@@ -1931,6 +1953,8 @@ import Linglib.Theories.Phonology.Harmony.OT
19311953
import Linglib.Theories.Phonology.Syllable.Defs
19321954
import Linglib.Theories.Phonology.Syllable.Foot
19331955
import Linglib.Theories.Phonology.Syllable.NaturalClass
1956+
import Linglib.Theories.Phonology.Moraic.Defs
1957+
import Linglib.Theories.Phonology.Moraic.CompensatoryLengthening
19341958
import Linglib.Theories.Phonology.RuleBased.Defs
19351959
import Linglib.Theories.Phonology.HarmonicGrammar.Basic
19361960
import Linglib.Theories.Phonology.HarmonicGrammar.MaxEnt

Linglib/Core/Definiteness.lean

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -126,7 +126,11 @@ def bridgingPresupType : BridgingSubtype → DefPresupType
126126
- How many overt article forms? (0, 1, or 2)
127127
- What expresses weak-article definites? (bare nominal, overt article, etc.) -/
128128
inductive WeakArticleStrategy where
129-
| bareNominal -- No overt form; bare noun = weak definite (Akan, Mauritian Creole)
129+
| bareNominal -- No overt form; bare noun = weak definite (Mauritian Creole).
130+
-- Akan also uses this strategy, though Akan bare NPs have
131+
-- context-dependent readings: definite for globally unique
132+
-- referents (*ewia* 'sun'), indefinite/∃ otherwise.
133+
-- See @cite{owusu-2022}, @cite{philipp-2022}.
130134
| overtArticle -- Distinct overt weak article (German contracted, Fering A-form)
131135
| sameAsStrong -- Single form for both (Haitian Creole `la`)
132136
deriving DecidableEq, Repr

Linglib/Core/Mereology.lean

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -267,6 +267,15 @@ theorem IsSumHom.cum_preimage {α β : Type*}
267267
def Overlap {γ : Type*} [PartialOrder γ] (x y : γ) : Prop :=
268268
∃ z, z ≤ x ∧ z ≤ y
269269

270+
/-- Overlap is reflexive: every element overlaps itself (via x ≤ x). -/
271+
theorem Overlap.refl {γ : Type*} [PartialOrder γ] (x : γ) : Overlap x x :=
272+
⟨x, le_refl x, le_refl x⟩
273+
274+
/-- Overlap is symmetric. -/
275+
theorem Overlap.symm {γ : Type*} [PartialOrder γ] {x y : γ}
276+
(h : Overlap x y) : Overlap y x :=
277+
let ⟨z, hzx, hzy⟩ := h; ⟨z, hzy, hzx⟩
278+
270279
/-- Extensive measure function: additive over non-overlapping entities.
271280
@cite{krifka-1998} §2.2, eq. (7): μ(x ⊕ y) = μ(x) + μ(y) when ¬O(x,y).
272281
Examples: weight, volume, number (cardinality). -/
Lines changed: 47 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,47 @@
1+
/-!
2+
# Form-Meaning Mapping Phenomena
3+
@cite{kalin-bjorkman-etal-2026}
4+
5+
§4 of @cite{kalin-bjorkman-etal-2026} identifies seven descriptive types
6+
of form-meaning mapping — the relationships between phonological exponents
7+
and morphosyntactic features/functions.
8+
9+
These seven types are theory-neutral descriptive categories: any theory
10+
of morphology must account for them (whether by generating them directly,
11+
reanalyzing them, or invoking extra mechanisms).
12+
-/
13+
14+
namespace Core.Morphology.FormMeaningMapping
15+
16+
/-- The seven descriptive types of form-meaning mapping.
17+
@cite{kalin-bjorkman-etal-2026} §4. -/
18+
inductive MappingType where
19+
/-- One meaning/function ↔ one exponent, invariant.
20+
Example: root *cat* is always `\/kæt\/`. -/
21+
| oneToOne
22+
/-- One meaning/function → multiple *competing* exponents
23+
(context-sensitive selection).
24+
Example: English plural *-z, -s, -ɪz, -ən, ∅*. §4.1. -/
25+
| allomorphy
26+
/-- One meaning/function → multiple *co-occurring* exponents
27+
(non-competing, simultaneous expression).
28+
Example: Amharic *k'al-at-otʃtʃ* 'words' (two plural markers). §4.2. -/
29+
| multipleExponence
30+
/-- Multiple related meanings/functions → one exponent
31+
(non-co-occurring contexts share a form).
32+
Example: English *-ed* for past tense and past participle. §4.3. -/
33+
| syncretism
34+
/-- Multiple co-occurring meanings/functions → one exponent
35+
(bundled into a single form).
36+
Example: French *du* = *de* + *le*. §4.4. -/
37+
| portmanteau
38+
/-- A meaning/function has no corresponding form — the paradigm
39+
cell is empty.
40+
Example: English *stride* lacks a standard past participle. §4.5.1. -/
41+
| morphologicalGap
42+
/-- A form has no corresponding meaning/function.
43+
Example: Romance theme vowels, compound linkers. §4.5.2. -/
44+
| emptyMorph
45+
deriving DecidableEq, Repr
46+
47+
end Core.Morphology.FormMeaningMapping

0 commit comments

Comments
 (0)