@@ -111,17 +111,6 @@ def extensionInconsistent (S : Ontology) (F : Framework) : Prop :=
111111def ExtensionStable (S : Ontology) : Prop :=
112112 ∀ F : Framework, Admissible F → ¬extensionInconsistent S F
113113
114- /-- Neutrality is extension stability.
115-
116- An ontology is neutral iff it can be extended by any admissible framework
117- without revision or contradiction.
118-
119- OBS: The paper also specifies INC (interpretive non-commitment).
120- This formalization focuses on EXT (extension stability) as the
121- mechanically sufficient condition for the main theorem.
122- INC will be formalized in a future version alongside EXT. -/
123- def Neutral (S : Ontology) : Prop := ExtensionStable S
124-
125114/-- A primitive is framework-variant if admissible frameworks disagree about it:
126115 some affirm it, some deny it.
127116
@@ -136,6 +125,37 @@ def FrameworkVariant (p : Primitive) : Prop :=
136125 ∃ F1 F2 : Framework, Admissible F1 ∧ Admissible F2 ∧
137126 F1.affirms p = true ∧ F2.denies p = true
138127
128+ /-- Interpretive non-commitment: no primitive in the substrate is framework-variant.
129+
130+ A substrate satisfies INC when every primitive it contains has truth
131+ conditions that are framework-invariant — no admissible framework
132+ affirms it while another denies it.
133+
134+ WHY: INC is the second neutrality requirement from Case (2025) alongside
135+ EXT (extension stability). Together they constitute full neutrality.
136+ A substrate satisfying INC makes no interpretive commitments at the
137+ foundational layer: it does not assert propositions whose truth depends
138+ on the conclusions of any particular interpretive framework.
139+
140+ OBS: For substrates where containsCausalOrNormative S = false,
141+ INC follows from neutral_primitives_undisputed alone —
142+ see only_neutral_primitives_implies_INC.
143+ No additional axiom is required. -/
144+ def InterpretivelyNonCommitted (S : Ontology) : Prop :=
145+ ∀ p ∈ S, ¬FrameworkVariant p
146+
147+ /-- Neutrality is extension stability and interpretive non-commitment.
148+
149+ An ontology is neutral iff it can be extended by any admissible framework
150+ without revision or contradiction (EXT), and it does not assert any
151+ framework-variant proposition at the substrate layer (INC).
152+
153+ WHY: Both requirements are necessary. EXT alone is sufficient for the
154+ lower bound but the full paper theorem requires INC alongside EXT.
155+ See ontological_neutrality_theorem for the biconditional result. -/
156+ def Neutral (S : Ontology) : Prop :=
157+ ExtensionStable S ∧ InterpretivelyNonCommitted S
158+
139159/-- Two frameworks mutually contradict when one affirms what the other denies.
140160
141161 Note: mutual contradiction does not affect admissibility.
@@ -264,6 +284,36 @@ theorem any_false_implies_none {α : Type} (l : List α) (pred : α → Bool) :
264284-- REQ.CORE.THEOREMS
265285-- The main results. Each theorem cites its proof strategy.
266286
287+ /-- THEOREM: Only-neutral substrate satisfies INC.
288+
289+ If an ontology contains only neutral primitives, it satisfies
290+ interpretive non-commitment.
291+
292+ WHY: Establishes that INC follows from neutral_primitives_undisputed
293+ alone, without requiring a new axiom. Used as a helper in the
294+ updated neutral_if_only_neutral proof.
295+
296+ Proof strategy:
297+ 1. Take any p ∈ S and assume FrameworkVariant p for contradiction
298+ 2. Extract F2 from FrameworkVariant — the framework that denies p
299+ 3. any_false_implies_none shows p.kind = neutral
300+ 4. neutral_primitives_undisputed shows F2 cannot deny p
301+ 5. Contradiction with F2.denies p = true -/
302+ theorem only_neutral_primitives_implies_INC :
303+ ∀ S : Ontology, containsCausalOrNormative S = false →
304+ InterpretivelyNonCommitted S := by
305+ intro S h_only_neutral
306+ unfold InterpretivelyNonCommitted FrameworkVariant
307+ intro p hp_in_S
308+ intro ⟨_F1, F2, _hF1_adm, hF2_adm, _hF1_affirms, hF2_denies⟩
309+ have h_all_neutral := any_false_implies_none S _ h_only_neutral
310+ have hp_neutral_kind : (p.kind != PrimitiveKind.neutral) = false :=
311+ h_all_neutral p hp_in_S
312+ simp at hp_neutral_kind
313+ have h_not_denied := neutral_primitives_undisputed p hp_neutral_kind F2 hF2_adm
314+ rw [h_not_denied] at hF2_denies
315+ contradiction
316+
267317/-- THEOREM: If an ontology contains causal or normative primitives, it is not neutral.
268318
269319 This is the lower bound of the main theorem.
@@ -272,24 +322,26 @@ theorem any_false_implies_none {α : Type} (l : List α) (pred : α → Bool) :
272322 are contested across admissible frameworks.
273323
274324 Proof strategy:
275- 1. Assume neutrality for contradiction
276- 2. Extract witness primitive p via any_true_implies_exists
277- 3. Show p.kind ≠ neutral from the boolean witness
278- 4. Apply framework_relativity to get F that denies p
279- 5. Neutrality of S says F cannot cause inconsistency
280- 6. But p ∈ S and F.denies p = true is exactly inconsistency
281- 7. Contradiction -/
325+ 1. Assume neutrality (EXT ∧ INC) for contradiction
326+ 2. Extract EXT conjunct from h_neutral
327+ 3. Extract witness primitive p via any_true_implies_exists
328+ 4. Show p.kind ≠ neutral from the boolean witness
329+ 5. Apply framework_relativity to get F that denies p
330+ 6. EXT of S says F cannot cause inconsistency
331+ 7. But p ∈ S and F.denies p = true is exactly inconsistency
332+ 8. Contradiction -/
282333theorem not_neutral_if_causal_or_normative :
283334 ∀ S : Ontology, containsCausalOrNormative S = true → ¬Neutral S := by
284335 intro S h_contains h_neutral
336+ have h_ext := h_neutral.1
285337 have h_exists := any_true_implies_exists S _ h_contains
286338 match h_exists with
287339 | ⟨p, hp_in_S, hp_kind⟩ =>
288340 have hp_not_neutral : p.kind ≠ PrimitiveKind.neutral := by
289341 intro h_eq
290342 simp [h_eq] at hp_kind
291343 have ⟨F, hF_adm, hF_denies⟩ := framework_relativity p hp_not_neutral
292- have h_no_inconsist := h_neutral F hF_adm
344+ have h_no_inconsist := h_ext F hF_adm
293345 apply h_no_inconsist
294346 exact ⟨p, hp_in_S, hF_denies⟩
295347
@@ -301,32 +353,34 @@ theorem not_neutral_if_causal_or_normative :
301353 themselves contested across admissible frameworks.
302354
303355 Proof strategy:
304- 1. Unfold Neutral and ExtensionStable to expose the goal
305- 2. Take any admissible framework F
306- 3. Assume inconsistency for contradiction: ∃ p ∈ S, F.denies p = true
307- 4. any_false_implies_none shows every p ∈ S has kind = neutral
308- 5. neutral_primitives_undisputed shows F cannot deny that p
309- 6. Contradiction with the denial assumption -/
356+ 1. Split Neutral into EXT ∧ INC and prove each conjunct
357+ 2. EXT: unfold and proceed as before using neutral_primitives_undisputed
358+ 3. INC: apply only_neutral_primitives_implies_INC directly -/
310359theorem neutral_if_only_neutral :
311360 ∀ S : Ontology, containsCausalOrNormative S = false → Neutral S := by
312361 intro S h_only_neutral
313- unfold Neutral ExtensionStable extensionInconsistent
314- intro F hF_adm
315- intro ⟨p, hp_in_S, hF_denies⟩
316- have h_all_neutral := any_false_implies_none S _ h_only_neutral
317- have hp_neutral_kind : (p.kind != PrimitiveKind.neutral) = false :=
318- h_all_neutral p hp_in_S
319- simp at hp_neutral_kind
320- have h_not_denied := neutral_primitives_undisputed p hp_neutral_kind F hF_adm
321- rw [h_not_denied] at hF_denies
322- contradiction
362+ constructor
363+ · -- EXT: extension stability
364+ unfold ExtensionStable extensionInconsistent
365+ intro F hF_adm
366+ intro ⟨p, hp_in_S, hF_denies⟩
367+ have h_all_neutral := any_false_implies_none S _ h_only_neutral
368+ have hp_neutral_kind : (p.kind != PrimitiveKind.neutral) = false :=
369+ h_all_neutral p hp_in_S
370+ simp at hp_neutral_kind
371+ have h_not_denied := neutral_primitives_undisputed p hp_neutral_kind F hF_adm
372+ rw [h_not_denied] at hF_denies
373+ contradiction
374+ · -- INC: interpretive non-commitment
375+ exact only_neutral_primitives_implies_INC S h_only_neutral
323376
324377/-- THEOREM: Ontological Neutrality (biconditional)
325378
326379 An ontology is neutral if and only if it contains no causal or normative primitives.
327380
328381 This is the main result from Case (2025).
329382 It holds given framework_relativity and neutral_primitives_undisputed.
383+ Neutrality is now the full EXT ∧ INC conjunction.
330384
331385 NOTE: The two directions have different epistemic status.
332386 - Only-if (lower bound): follows from framework_relativity alone.
@@ -361,50 +415,51 @@ theorem ontological_neutrality_theorem :
361415 Formalizes the paper's Framework-Contestability Lemma (Case 2025, §4.2):
362416 a proposition whose truth conditions depend on interpretive framework
363417 conclusions cannot be a substrate commitment without violating
364- extension stability .
418+ either EXT or INC .
365419
366- NOTE: The paper states two conclusions from contestability :
367- (1) EXT violated - formalized here
368- (2) INC violated - deferred to 0.4.0 when INC is formalized
420+ Both violations are now formalized :
421+ (1) EXT violated: F2 denies p, but p ∈ S, producing inconsistency
422+ (2) INC violated: p is framework-variant, but S contains p
369423
370424 Proof strategy:
371- 1. Extract F2 from FrameworkVariant - the framework that denies p
372- 2. Apply h_neutral to F2 to get no-inconsistency claim
373- 3. Construct extensionInconsistent S F2 from p ∈ S and F2.denies p
374- 4. Contradiction -/
425+ 1. Assume Neutral S (EXT ∧ INC) for contradiction
426+ 2. EXT violation: extract h_ext, apply framework_relativity pattern
427+ via F2 from FrameworkVariant, construct extensionInconsistent
428+ 3. INC violation: extract h_inc, apply to p and hp_in_S,
429+ apply h_variant directly for contradiction
430+ Note: either violation suffices; we use INC as it is most direct. -/
375431theorem framework_contestability_lemma :
376432 ∀ p : Primitive, FrameworkVariant p →
377433 ∀ S : Ontology, p ∈ S → ¬Neutral S := by
378434 intro p h_variant S hp_in_S h_neutral
379- obtain ⟨_F1, F2, _hF1_adm, hF2_adm, _hF1_affirms, hF2_denies⟩ := h_variant
380- exact h_neutral F2 hF2_adm ⟨p, hp_in_S, hF2_denies⟩
435+ have h_inc := h_neutral. 2
436+ exact h_inc p hp_in_S h_variant
381437
382438/-- THEOREM: Separate Stability
383439
384440 A neutral substrate is separately consistent with each of two mutually
385441 contradicting frameworks.
386442
387443 Formalizes the paper's key observation (Case 2025, §4.1) that a neutral
388- substrate need not reconcile contradicting frameworks - it must only
444+ substrate need not reconcile contradicting frameworks — it must only
389445 avoid assertions that either framework rejects. The substrate's role
390446 is common-ground provision, not arbitration.
391447
392448 NOTE: FrameworksContradict is not used in the proof body.
393- Neutrality implies stability under ALL admissible frameworks, which
394- subsumes the two-framework case. The hypothesis is retained for
395- fidelity to the paper's framing and to make the theorem applicable
396- to the incident example pattern.
449+ The EXT conjunct of Neutral implies stability under ALL admissible
450+ frameworks, which subsumes the two-framework case. The hypothesis
451+ is retained for fidelity to the paper's framing.
397452
398453 Proof strategy:
399- Neutrality of S directly implies ¬extensionInconsistent S F for any
400- admissible F. Apply twice, once for F1 and once for F2. -/
454+ Extract EXT conjunct from Neutral S.
455+ Apply twice, once for F1 and once for F2. -/
401456theorem separate_stability :
402457 ∀ S : Ontology, Neutral S →
403458 ∀ F1 F2 : Framework, Admissible F1 → Admissible F2 →
404459 FrameworksContradict F1 F2 →
405460 ¬extensionInconsistent S F1 ∧ ¬extensionInconsistent S F2 := by
406461 intro S h_neutral F1 F2 hF1_adm hF2_adm _h_contradict
407- exact ⟨h_neutral F1 hF1_adm, h_neutral F2 hF2_adm⟩
462+ exact ⟨h_neutral. 1 F1 hF1_adm, h_neutral. 1 F2 hF2_adm⟩
408463
409464
410465-- ============================================================
@@ -428,9 +483,16 @@ theorem separate_stability :
428483#check @FrameworkVariant
429484-- Primitive → Prop
430485
486+ #check @InterpretivelyNonCommitted
487+ -- Ontology → Prop
488+
431489#check @FrameworksContradict
432490-- Framework → Framework → Prop
433491
492+ #check @only_neutral_primitives_implies_INC
493+ -- ∀ (S : Ontology), containsCausalOrNormative S = false →
494+ -- InterpretivelyNonCommitted S
495+
434496#check @framework_contestability_lemma
435497-- ∀ (p : Primitive), FrameworkVariant p → ∀ (S : Ontology), p ∈ S → ¬Neutral S
436498
0 commit comments