@lapxo/obligations 0.4.3 → 0.4.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (51) hide show
  1. package/README.md +4 -0
  2. package/TARGET.bound +52 -9
  3. package/dist/measures/cofailure-pairs.d.ts +113 -0
  4. package/dist/measures/cofailure-pairs.js +129 -0
  5. package/dist/measures/index.d.ts +4 -0
  6. package/dist/measures/index.js +2 -0
  7. package/dist/measures/marginal-information.d.ts +78 -0
  8. package/dist/measures/marginal-information.js +71 -0
  9. package/docs/measures.md +16 -0
  10. package/docs/paper.md +2 -2
  11. package/docs/reference.md +6 -1
  12. package/package.json +1 -1
  13. package/proofs/cofailure-pairs.json +26 -0
  14. package/proofs/coordination.json +27 -0
  15. package/proofs/helly-comb.json +17 -0
  16. package/proofs/lean/Obligations/Cell.lean +159 -0
  17. package/proofs/lean/Obligations/HellyComb.lean +19 -0
  18. package/proofs/lineage-ceiling.json +41 -0
  19. package/proofs/marginal-information.json +30 -0
  20. package/proofs/resolution-encounters.json +23 -0
  21. package/receipts.bound +505 -288
  22. package/samples/laws/cofailure-pairs/no/sample.json +1 -0
  23. package/samples/laws/cofailure-pairs/yes/sample.json +20 -0
  24. package/samples/laws/linage-rest/no/sample.json +19 -0
  25. package/samples/laws/linage-rest/yes/sample.json +100 -0
  26. package/samples/laws/lineage-ceiling/no/sample.json +8 -0
  27. package/samples/laws/lineage-ceiling/yes/sample.json +30 -0
  28. package/samples/laws/marginal-information/no/sample.json +17 -0
  29. package/samples/laws/marginal-information/yes/sample.json +459 -0
  30. package/samples/laws/semilattice/no/sample.json +18 -0
  31. package/samples/laws/semilattice/yes/sample.json +29 -0
  32. package/samples/no/H1-uncertainty.json +24 -0
  33. package/samples/no/installed-artifact.json +24 -26
  34. package/samples/yes/H1-uncertainty.json +25 -0
  35. package/samples/yes/installed-artifact.json +23 -25
  36. package/vectors/laws/cofailure-pairs.json +2580 -0
  37. package/vectors/laws/cofailure-pairs.native.json +267 -0
  38. package/vectors/laws/coordination.json +386 -0
  39. package/vectors/laws/f1/finite-arithmetic.json +66 -0
  40. package/vectors/laws/f1/path-witness.json +242 -0
  41. package/vectors/laws/helly-comb.json +95 -0
  42. package/vectors/laws/helly-comb.lean.json +94 -0
  43. package/vectors/laws/linage-rest.native.json +335 -0
  44. package/vectors/laws/lineage-ceiling.json +790 -0
  45. package/vectors/laws/lineage-ceiling.native.json +291 -0
  46. package/vectors/laws/marginal-information.json +868 -0
  47. package/vectors/laws/marginal-information.native.json +259 -0
  48. package/vectors/laws/meet-semilattice.json +244 -0
  49. package/vectors/laws/meet-semilattice.native.json +265 -0
  50. package/vectors/laws/resolution-encounters.json +171 -0
  51. package/vectors/measures/installed-artifact.cli.json +8 -12
@@ -0,0 +1,159 @@
1
+ import Mathlib.Order.Interval.Set.Basic
2
+
3
+ /-!
4
+ The endpoint operation of `src/lattice/forms.ts`, not a replacement algebra.
5
+ `apiLeq` preserves its empty-interval convention. It is a preorder on raw
6
+ endpoint pairs, not an antisymmetric order. The observable semilattice below
7
+ identifies exactly equal interval meanings; no TypeScript representation changes.
8
+
9
+ The numerical bridge is restricted to values with a total order (in the executable
10
+ vector: finite integers). This does not assert a LinearOrder on IEEE-754 NaN.
11
+ -/
12
+ namespace Obligations
13
+
14
+ structure Cell (α : Type*) where
15
+ lo : α
16
+ hi : α
17
+ deriving DecidableEq
18
+
19
+ namespace Cell
20
+ variable {α : Type*} [LinearOrder α]
21
+
22
+ def meet (a b : Cell α) : Cell α := ⟨max a.lo b.lo, min a.hi b.hi⟩
23
+
24
+ theorem meet_comm (a b : Cell α) : meet a b = meet b a := by
25
+ cases a; cases b
26
+ simp [meet, max_comm, min_comm]
27
+
28
+ theorem meet_assoc (a b c : Cell α) : meet (meet a b) c = meet a (meet b c) := by
29
+ cases a; cases b; cases c
30
+ simp [meet, max_assoc, min_assoc]
31
+
32
+ theorem meet_idem (a : Cell α) : meet a a = a := by
33
+ cases a
34
+ simp [meet]
35
+
36
+ instance : Min (Cell α) := ⟨meet⟩
37
+
38
+ /-- Its induced endpoint order is not the API's empty-interval preorder. -/
39
+ def endpointSemilattice : SemilatticeInf (Cell α) :=
40
+ SemilatticeInf.mk' meet_comm meet_assoc meet_idem
41
+
42
+ /-- Literal branch order of the existing interval `leq`. -/
43
+ def apiLeq (a b : Cell α) : Prop :=
44
+ if a.hi < a.lo then True
45
+ else if b.hi < b.lo then False
46
+ else b.lo ≤ a.lo ∧ a.hi ≤ b.hi
47
+
48
+ instance (a b : Cell α) : Decidable (apiLeq a b) := by
49
+ unfold apiLeq
50
+ infer_instance
51
+
52
+ def meaning (a : Cell α) : Set α := Set.Icc a.lo a.hi
53
+
54
+ theorem meaning_meet (a b : Cell α) :
55
+ meaning (meet a b) = meaning a ∩ meaning b := by
56
+ apply Set.ext
57
+ intro x
58
+ simp only [meaning, meet, Set.mem_Icc, Set.mem_inter_iff]
59
+ constructor
60
+ · intro h
61
+ exact ⟨⟨le_trans (le_max_left _ _) h.1, le_trans h.2 (min_le_left _ _)⟩,
62
+ ⟨le_trans (le_max_right _ _) h.1, le_trans h.2 (min_le_right _ _)⟩⟩
63
+ · intro h
64
+ exact ⟨max_le h.1.1 h.2.1, le_min h.1.2 h.2.2⟩
65
+
66
+ theorem apiLeq_iff_subset (a b : Cell α) :
67
+ apiLeq a b ↔ meaning a ⊆ meaning b := by
68
+ by_cases ha : a.hi < a.lo
69
+ · simp [apiLeq, ha, meaning, Set.Icc_eq_empty_of_lt ha]
70
+ · have hab : a.lo ≤ a.hi := le_of_not_gt ha
71
+ by_cases hb : b.hi < b.lo
72
+ · simp only [apiLeq, ha, hb, if_false, if_true]
73
+ constructor
74
+ · intro h; exact False.elim h
75
+ · intro h
76
+ have hx := h (show a.lo ∈ meaning a from ⟨le_rfl, hab⟩)
77
+ exact (not_le_of_gt hb) (le_trans hx.1 hx.2)
78
+ · simpa [apiLeq, ha, hb, meaning] using
79
+ (Set.Icc_subset_Icc_iff hab).symm
80
+
81
+ theorem meet_narrows_left (a b : Cell α) : apiLeq (meet a b) a := by
82
+ rw [apiLeq_iff_subset, meaning_meet]
83
+ exact Set.inter_subset_left
84
+
85
+ theorem meet_narrows_right (a b : Cell α) : apiLeq (meet a b) b := by
86
+ rw [apiLeq_iff_subset, meaning_meet]
87
+ exact Set.inter_subset_right
88
+
89
+ theorem apiLeq_refl (a : Cell α) : apiLeq a a :=
90
+ (apiLeq_iff_subset a a).mpr (Set.Subset.refl _)
91
+
92
+ theorem apiLeq_trans {a b c : Cell α} (hab : apiLeq a b) (hbc : apiLeq b c) :
93
+ apiLeq a c :=
94
+ (apiLeq_iff_subset a c).mpr
95
+ (Set.Subset.trans ((apiLeq_iff_subset a b).mp hab) ((apiLeq_iff_subset b c).mp hbc))
96
+
97
+ theorem mutually_narrows_iff (a b : Cell α) :
98
+ (apiLeq a b ∧ apiLeq b a) ↔ meaning a = meaning b := by
99
+ rw [apiLeq_iff_subset, apiLeq_iff_subset]
100
+ exact ⟨fun h => Set.Subset.antisymm h.1 h.2, fun h => ⟨h.subset, h.symm.subset⟩⟩
101
+
102
+ /-- Observable interval classes, represented by their meaning, not new stored cells. -/
103
+ def SemanticCell (α : Type*) [LinearOrder α] :=
104
+ {s : Set α // ∃ c : Cell α, meaning c = s}
105
+
106
+ instance : Min (SemanticCell α) where
107
+ min a b := ⟨a.val ∩ b.val, by
108
+ rcases a.property with ⟨ca, hca⟩
109
+ rcases b.property with ⟨cb, hcb⟩
110
+ exact ⟨meet ca cb, by rw [meaning_meet, hca, hcb]⟩⟩
111
+
112
+ instance : SemilatticeInf (SemanticCell α) :=
113
+ Function.Injective.semilatticeInf Subtype.val Subtype.val_injective (fun _ _ => rfl)
114
+
115
+ def observe (a : Cell α) : SemanticCell α := ⟨meaning a, a, rfl⟩
116
+
117
+ theorem observe_meet (a b : Cell α) :
118
+ observe (meet a b) = observe a ⊓ observe b :=
119
+ Subtype.ext (meaning_meet a b)
120
+
121
+ theorem observe_order (a b : Cell α) : observe a ≤ observe b ↔ apiLeq a b :=
122
+ (apiLeq_iff_subset a b).symm
123
+
124
+ /-- Distinct raw empty intervals are equivalent in the published API. -/
125
+ theorem crossed_pairs_not_antisymmetric :
126
+ let a : Cell Int := ⟨5, 3⟩
127
+ let b : Cell Int := ⟨8, 6⟩
128
+ apiLeq a b ∧ apiLeq b a ∧ a ≠ b := by decide
129
+
130
+ /-- A duplicate accumulated restriction does not change a merge result. -/
131
+ theorem duplicate_delivery (a b : Cell α) : meet (meet a b) b = meet a b := by
132
+ rw [meet_assoc, meet_idem]
133
+
134
+ /-- Replay order of three accumulated restrictions does not change the result. -/
135
+ theorem reordered_delivery (a b c : Cell α) :
136
+ meet (meet a b) c = meet (meet c a) b := by
137
+ rw [meet_assoc, meet_comm b c, ← meet_assoc, meet_comm a c]
138
+
139
+ def fold (seed : Cell α) (claims : List (Cell α)) : Cell α :=
140
+ claims.foldl meet seed
141
+
142
+ /-- Any finite replay permutation agrees, under the same starting restriction. -/
143
+ theorem permutation_invariant {xs ys : List (Cell α)} (h : xs.Perm ys)
144
+ (seed : Cell α) : fold seed xs = fold seed ys := by
145
+ induction h generalizing seed with
146
+ | nil => rfl
147
+ | cons a h ih => exact ih (meet seed a)
148
+ | swap a b xs =>
149
+ have hc : meet (meet seed b) a = meet (meet seed a) b := by
150
+ rw [meet_assoc, meet_comm b a, ← meet_assoc]
151
+ simp only [fold, List.foldl_cons, hc]
152
+ | trans h₁ h₂ ih₁ ih₂ => exact (ih₁ seed).trans (ih₂ seed)
153
+
154
+ theorem duplicate_in_replay (seed a : Cell α) (xs : List (Cell α)) :
155
+ fold seed (a :: a :: xs) = fold seed (a :: xs) := by
156
+ simp only [fold, List.foldl_cons, duplicate_delivery]
157
+
158
+ end Cell
159
+ end Obligations
@@ -0,0 +1,19 @@
1
+ /- Finite nonconvex subsets, using only Lean's kernel and core lists.
2
+ No change to the interval theorem T38 or to the algebra's representation. -/
3
+ namespace Obligations.HellyComb
4
+
5
+ def a : List Nat := [0, 1]
6
+ def b : List Nat := [1, 2]
7
+ def c : List Nat := [0, 2]
8
+ def inter (s t : List Nat) : List Nat := s.filter (fun x => t.contains x)
9
+ def triple : List Nat := inter (inter a b) c
10
+
11
+ theorem pairwise_nonempty :
12
+ inter a b = [1] ∧ inter a c = [0] ∧ inter b c = [2] := by decide
13
+
14
+ theorem triple_empty : triple = [] := by decide
15
+
16
+ theorem c_has_a_hole : c.contains 0 = true ∧ c.contains 2 = true ∧
17
+ c.contains 1 = false := by decide
18
+
19
+ end Obligations.HellyComb
@@ -0,0 +1,41 @@
1
+ {
2
+ "id":"lineage/symmetric-markov-ceiling",
3
+ "classification":"conditional law with distinguishing finite vectors; Shannon argument cited, not Lean-formalized",
4
+ "source":"samples/laws/lineage-ceiling/yes.json",
5
+ "statement":"For finite n>=2, uniform truth X, an n-ary symmetric channel X->Z with error c in [0,1], and X->Z->Y^K->A, I(X;A)<=I(X;Z)=log2(n)-h2(c)-c*log2(n-1).",
6
+ "conditions":[
7
+ "The reports have a joint kernel conditional on Z alone; pairwise conditional independence is neither required for this bound nor a substitute for the Markov condition.",
8
+ "Aggregation uses reports alone, or randomness conditionally independent of X given the reports. A revealed channel-error/cause indicator, side channel or truth probe is extra input and must be included before applying DPI.",
9
+ "c is the declared crossover probability of this symmetric channel; neither unanimity nor a shared-cause frequency identifies it without a model.",
10
+ "No private p, hypothesis of M/3, or governance model M/4 is changed. The old always-wrong active cause with private p>0 is a different joint law.",
11
+ "Both c=0 and c=1 are permitted. c=(n-1)/n gives zero information; for binary c=1 the channel is an invertible complement and gives one bit. This quantity is not monotone over all c in [0,1]."
12
+ ],
13
+ "proofChain":[
14
+ {"id":"symmetric-output","argument":"Uniform X and the symmetric kernel imply uniform Z. The posterior of X given Z has masses 1-c and c/(n-1) on the other symbols, so H(X|Z)=h2(c)+c*log2(n-1), with 0 log 0=0."},
15
+ {"id":"data-processing","argument":"The declared Markov kernels imply I(X;Y^K|Z)=0 and I(X;A|Y^K)=0. The chain rule and nonnegative conditional mutual information give I(X;A)<=I(X;Y^K)<=I(X;Z). No independence among reports given Z is needed for this inequality.","reference":"Duchi, Proposition 2.1.9"},
16
+ {"id":"existing-instance","argument":"Published capacityP0 computes this expression as mutual information for single-dominant-factor@1 at private p=0, for every positive K. In that instance all reports are copies of Z, so equality is already exact; a finite-copy vector is not a new discovery."},
17
+ {"id":"finite-approach","classification":"experiment with declared conditional-iid model","argument":"Compose the symmetric lineage channel with the published decisionInformation table for c=0, p=e and plurality-uniform-ties@1. Exact rational joint tables give a finite sequence of gaps to capacityP0. Under the separately declared fixed-parameter iid recovery hypothesis, consistency and finite-alphabet entropy continuity imply the limit; the finite sequence does not prove the limit."}
18
+ ],
19
+ "fanoBoundary":{
20
+ "known":"Fano gives H(X|Z)<=h2(P[X!=Z])+P[X!=Z]*log2(n-1). For uniform X this is a lower bound on I(X;Z), not the proposed upper bound.",
21
+ "equalityCondition":"The symmetric channel supplies equality in the entropy expression. A marginal error probability alone does not.",
22
+ "negative":"A binary uniform source with P(Z=1|X=0)=0 and P(Z=0|X=1)=1/2 has error 1/4 and I=0.311278124459..., larger than 1-h2(1/4)=0.188721875540...."
23
+ },
24
+ "relationToF1":{
25
+ "existingLaw":"law/thm-extremal",
26
+ "existingVectors":["vectors/laws/f1/path-witness.json","vectors/laws/f1/finite-arithmetic.json"],
27
+ "object":"F1 concerns deterministic partitions U,V of one uniformly weighted N-element universe, in the maintained refinement order.",
28
+ "quantity":"RI_H=H(U)+H(V)-H(join)-H(meet)=I(U;V)-H(G)=I(U;V|G), where join is the common refinement (U,V) and G is their common coarsening, a deterministic function of each.",
29
+ "bound":"RI_H<=log2(N)-2+2/N; N=1,2 have zero maximum. This is not I(truth;aggregate); N need not equal the truth alphabet n.",
30
+ "jointUse":"Apply F1 only when the partition/uniform-universe hypotheses hold. Apply the lineage ceiling only to a designated X and its declared Markov channel. If both models are supplied, both bounds may be written beside their own quantities; taking their minimum as a bound on either quantity is invalid.",
31
+ "separators":[
32
+ "Uniform binary truth with noiseless Z has I(X;Z)=1 while F1 on N=2 has maximum RI_H=0.",
33
+ "Let X,Z be independent uniform bits (c=1/2), and R independent uniform on four symbols. The path partitions of R have RI_H=1/2. Reports can ignore Z and output those two views of R, so X->Z->reports holds and I(X;reports)=0. On the full uniform 16-atom (X,Z,R) universe F1 still applies (c_16=2.125), but RI_H=1/2 exceeds the zero lineage ceiling."
34
+ ],
35
+ "notAdded":"No proof of F1 is redone; its existing path witness and public c_n are reused."
36
+ },
37
+ "literature":[
38
+ {"title":"Lecture Notes on Statistics and Information Theory","author":"John Duchi","url":"https://web.stanford.edu/class/stats311/lecture-notes.pdf","sections":["2.1.3, Proposition 2.1.9: data processing","Proposition 2.3.3: Fano"],"alreadyKnown":"DPI and Fano, including the direction of the inequalities.","addsHere":"Explicit lineage-channel conditions, reuse of the already published expression, and vectors separating truth information from partition residual. No new information-theory inequality or inference without truth is claimed."}
39
+ ],
40
+ "evidenceLimits":["No general Lean proof of Shannon DPI here.","Finite vectors do not enumerate arbitrary observation kernels.","No original browser simulation is recovered or authenticated.","Activation identification, sleeper bounds and all other excluded regions remain open."]
41
+ }
@@ -0,0 +1,30 @@
1
+ {
2
+ "id":"marginal-information/one-joint-two-orders",
3
+ "classification":"measure with an explicit finite joint prior; standard chain-rule and conditional-DPI consequences with distinguishing vectors, not a new universal lineage law",
4
+ "quantity":"Delta(Y|S)=I(T;Y|S)=H(T|S)-H(T|S,Y). Both orders use the identical full joint law, truth variable, prior, source identities and domain. The selected observation is the full tuple, not an aggregated majority value.",
5
+ "scope":"Finite named alphabets and rational joint probabilities normalized exactly to one; bits use the existing binary64-log2 approximation. These are model quantities, not certified empirical mutual-information estimates.",
6
+ "knownIdentities":[
7
+ {"statement":"Delta>=0; Delta=0 iff T and Y are conditionally independent given S, under the declared joint law.","classification":"standard Shannon identity and nonnegativity; finite vectors here, no new Lean formalization"},
8
+ {"statement":"For any complete addition order, the sum of marginals is I(T;all sources). The sum is invariant, while individual attribution may depend on order.","classification":"chain rule; no permutation of attributed acts or history is performed"},
9
+ {"statement":"An exact copy determined by S has zero marginal information. Another source has strictly greater gain only when its conditional information is positive.","classification":"conditional consequence, not a rule inferred from lineage labels"}
10
+ ],
11
+ "comparison":{
12
+ "sufficientHypothesis":"For the same prior and previous tuple S, require T -> (S,Y_other) -> Y_same, equivalently I(T;Y_same|S,Y_other)=0. This is a conditional garbling/order assumption; distinct lineage or equal prediction accuracy does not establish it.",
13
+ "conclusion":"I(T;Y_same|S)<=I(T;Y_other|S). Strictness additionally requires a positive information difference; it is not automatic.",
14
+ "argument":"Expand I(T;Y_same,Y_other|S) in both orders. Under the stated conditional independence the expansion beginning with Y_other ends at I(T;Y_other|S). The other expansion adds a nonnegative term to I(T;Y_same|S).",
15
+ "vectorCheck":"The candidate reader verifies the conditional-independence hypothesis by exact rational factorization of the handed finite table; it does not infer causal lineages."
16
+ },
17
+ "existingImplementation":"Reuse published mixProjectionLoss on configurations (truth, selected tuple), with zero weight on truth and unit weight on tuple. Its conditional configuration loss is exactly H(truth|tuple). No entropy engine, causal generator or algebra is replaced.",
18
+ "counterexamples":[
19
+ {"id":"equal-quality-reverses-lineage-ranking","result":"All three sources have accuracy 1/2 and individual information 1 bit. After the first source, the same-lineage complementary projection adds 1 bit while the other-lineage redundant projection adds 0. A comparable marginal quality is insufficient; the missing condition concerns joint conditional information."},
20
+ {"id":"saturated-truth","result":"After a perfect report, a noiseless report from a distinct declared lineage adds zero, so no universal strict ranking holds."},
21
+ {"id":"xor-synergy","result":"Each masked view alone has zero truth information; after one view the other adds a bit. Mutual-information gains need not have diminishing returns without additional hypotheses."},
22
+ {"id":"majority-is-not-the-joint-observation","result":"The full tuple preserves the perfect first report. The existing weighted mix becomes constant after two constant-zero reports and loses a bit. That loss is not negative conditional mutual information."}
23
+ ],
24
+ "validation":"Missing joint/prior is unmeasured; nonnormalized priors, invalid domains and orders that are not permutations refuse by name. Every prefix is projected from the same complete joint table; no defaults, resampling, inferred independence or truth-free estimation is supplied.",
25
+ "cache":"Only scalar subset readings are cached by an explicitly named set-of-coordinates key. This sorts neither the handed addition orders nor their attributed history; probabilities and atom IDs remain intact.",
26
+ "numeric":"Exact rational masses; approximate bits, default vector tolerance 1e-12. Raw floating-point residuals are retained, never clamped to zero to claim a law.",
27
+ "literature":{"title":"Lecture Notes on Statistics and Information Theory","author":"John Duchi","url":"https://web.stanford.edu/class/stats311/lecture-notes.pdf","references":["Chapter 2.1, mutual-information chain rule","Proposition 2.1.9, data processing"],"alreadyKnown":"Conditional mutual information, the chain rule and data processing.","addsHere":"One-joint two-order vectors, an exact finite check of the comparison hypothesis, and counterexamples to lineage-only ranking; no new Shannon inequality."},
28
+ "unchanged":"Bound, wire, M/3-M/4, the algebra and signed public exports remain unchanged. The new measure is a candidate beside the algebra.",
29
+ "open":["No causal lineage identification or optimal source-selection policy follows.","No sampling uncertainty or truth-free estimation of mutual information is claimed.","General Shannon formalization, reader admission, public delivery and export remain pending."]
30
+ }
@@ -0,0 +1,23 @@
1
+ {
2
+ "id": "resolution-encounters@1",
3
+ "policy": "vectors/laws/policy.json",
4
+ "classification": "conjecture with falsifiers; H1 remains open",
5
+ "statement": "No unconditional monotonicity, floor K or ceiling N follows for resolution times encounters from the published H1 statement.",
6
+ "existing": "Published law/H1-uncertainty is a conjecture, not a law. Its sample has resolutions and fractional origins but no K, N, counting population or sampling model.",
7
+ "unresolved": [
8
+ "Meaning of r: chain depth is not number of cells.",
9
+ "Definition and units of encounters per cell, population, multiplicity and denominator.",
10
+ "Definitions of K and N, fixed across comparisons.",
11
+ "Coupling of observations across refinements, coverage preservation and admissible withdrawals.",
12
+ "An explicit assumption about independent observations, if that word is retained; source names are insufficient."
13
+ ],
14
+ "conditionalArithmetic": "If independently specified nonnegative r,e satisfy K<=r*e<=N this checks the inequalities only; it does not derive a counting model or prove H1. A refinement needs r_next*e_next>=r*e for monotonicity; increasing r alone is insufficient.",
15
+ "falsifierCorrection": "A rising product is compatible with a lower bound. A fixed declared positive floor is refuted by a valid product below that floor; monotonicity by a decrease; an upper bound by an exceedance. A sample minimum selected after seeing the data is not an a priori floor.",
16
+ "positive": "Replay the published six decimal sample values using exact decimal rationals; its products increase. This is an experiment, not independent empirical origins or a universal law.",
17
+ "negative": "Resolution [1,2] and encounters [4,1] give [4,2], a decrease. With separately handed K=3, N=5, resolution [1,2,4], encounters [2,2,2] give [2,4,8], violating both bounds. Diagnostic countertables have no claimed physical realization or unstated counting model.",
18
+ "adds": "Explicit failure modes and a corrected falsifier proposal only. No signed README or declaration edited.",
19
+ "status": "open: counting/refinement model absent",
20
+ "signatures": 0,
21
+ "admission": false,
22
+ "existingNegative": "samples/no/H1-uncertainty.json checks products [4,2,3,4] against floor 4.8. The numeric failure is valid for that declared floor; the prose reason (a rising product refutes a floor) is incorrect."
23
+ }