Daily Research Log

Chronological record of research activities

2025-12-06 - Day 39: Second Lean 4 Theorem Proven - pareto_monotonicity

MAJOR MILESTONE: pareto_monotonicity PROVEN

  • Second formal theorem complete! K-path monotonicity ⟺ no consecutive k-increase.
  • Proof uses List.pairwise_iff_getElem and List.isChain_iff_pairwise with transitivity.
  • Helper lemma isChain_of_consec_ge establishes consecutive non-increase implies chain property.
  • Build status: Only 1 sorry remaining (kMin_implies_increase).

Lean 4 Formal Proofs Status

TheoremStatusDay
R_decreases_at_transitionPROVEN38
pareto_monotonicityPROVEN39
kMin_implies_increaseStatement only-

exp064 Analysis: High-Dimensional Base-Prime Alignment

  • 4D very stable: Only 1 p-adic-only inversion (p=11, base=22).
  • 5D p=11 vulnerable even when aligned: 1/10 p-adic, 1/10 L2 at base=11.
  • Above-prime amplification: 5D p=11 base=22 → 4/10 p-adic inversions.
  • Global: 10 p-adic vs 5 L2 inversions across 280 datasets (4D/5D).

Artifacts

  • Updated: lean/PadicRegularisation/Basic.lean - full pareto_monotonicity proof
  • Updated: lean-state.txt, ideas.md, web/index.html
  • New: journal/2025-12-06-day39.md

2025-12-06 - Day 36: Off-Prime Base Sweep for p-Adic vs L2

Objectives

  • Test whether p-adic monotonicity dominance over L2 survives when the loss base r ≠ p.
  • Probe near-binary (r=1.1) and heavy (r=5.0) regimes in 2D/3D.

Major Revision: p-Adic Dominance Breaks Off-Prime

  • Config: dims {2,3}, primes {2,5,11}, bases {1.1,1.5,2,5}, seeds 0–11 (288 datasets).
  • Inversions: L2 = 1 (0.35%), p-adic = 4 (1.39%); all p-adic-only inversions were 2D.
  • Near-binary surprise: r=1.1 already produced a p-adic-only inversion (p=2, seed=5) while L2 stayed monotone.
  • Heavy-base asymmetry: r=5.0 yielded p-adic-only inversions at p=2 and p=5; 3D stayed monotone for both penalties across all bases.

Example Dataset (p-adic-only inversion)

  • dim=2, p=2, base=1.1, seed=5, n=6
  • X = [[3, -1], [-4, 4], [-3, 5], [-1, 0], [1, 2], [1, -3]]
  • y = [-4, -8, -2, 9, 6, -7]
  • k-paths: L2 [3,3,3,2,1] (monotone) vs p-adic [3,2,3,2,1] (inversion)

Artifacts

  • New: experiments/exp062_padic_vs_l2_base_sweep.py + exp062_results.json
  • Updated: ideas.md, journal/2025-12-06.md, web/findings.html, web/experiments.html, web/index.html

2025-12-05 (Late Evening) - Day 35: p-Adic Regularisation Monotonicity Dominance

Objectives

  • Investigate p-adic regularisation (|β|_p penalty) as alternative to L2 (β²).
  • Test if Pareto monotonicity theorem holds for p-adic regularisation.
  • Compare threshold behavior between L2 and p-adic.

MAJOR FINDING: p-Adic Regularisation is Strictly More Monotonic

  • Config: 1000 random 1D datasets, primes {2,3,5,7,11}, bases {2,5}.
  • L2 regularisation: 95.0% monotonic, 5.0% inversions
  • p-Adic regularisation: 99.0% monotonic, 1.0% inversions
  • Zero cases where p-adic inverts but L2 doesn't!

Mechanism: 93% Fewer Thresholds

  • L2 penalty β² is continuous: every distinct slope gives unique penalty
  • p-Adic penalty |β|_p is discrete: slopes with same valuation have SAME penalty
  • Average thresholds per dataset: L2=574, p-Adic=43 (92.6% reduction)
  • Same-valuation-class pairs: 568 (average) → no threshold between them

Threshold Formula Comparison

  • L2: λ* = (L₂ - L₁) / (b₁² - b₂²) [continuous denominator]
  • p-Adic: λ* = (L₂ - L₁) / (|b₁|_p - |b₂|_p) [discrete denominator]

Conjecture: p-Adic Monotonicity Dominance

For any dataset: If p-adic regularisation has a Pareto inversion, then L2 also has one. The converse is FALSE.

Artifacts

  • New: experiments/exp055_padic_regularisation_deep.py
  • New: experiments/exp056_padic_vs_l2_inversion_comparison.py
  • New: experiments/exp057_padic_monotonicity_mechanism.py
  • New: experiments/exp058_threshold_comparison.py
  • Updated: ideas.md, web/index.html, web/findings.html (Finding 21)

2025-12-05 (Evening) - Day 35: Perfect Inversion Detector Discovery

Objectives

  • Run broader middle inversion sweep with more seeds and dimensions.
  • Analyze k-up transition count as inversion predictor.
  • Determine if cheap features can predict inversions.

Major Finding: k_up >= 1 is a Perfect Inversion Detector

  • Config: dim=2, bases {2,5}, primes {2,5,11}, seeds 0-4 (270 runs).
  • Result: k_up_transitions >= 1 achieves Precision=1.0, Recall=1.0, F1=1.0
  • This is tautological: an inversion IS by definition a k-up transition.
  • Distribution: ALL 72 inversions have >= 1 k-up transition; ALL 198 non-inversions have 0.

Middle vs End Inversions Distinguished by Position

  • Middle inversions: avg k-up position = 0.298 (early in path)
  • End inversions: avg k-up position = 0.633 (late in path)
  • Middle inversions require longer paths (avg 5.3 segments vs 3.5)

Updated Predictor Rankings

PredictorPrecisionRecallRequires Path?
k_up >= 11.0001.000Yes
k_min < k_final1.0000.927Yes
duplication rule0.1230.976No

Conclusion

No truly "cheap" predictor exists. Detecting inversions fundamentally requires computing the full optimal path. The k-up transition count is a perfect detector but has no computational advantage over k_min.

Artifacts

  • Updated: ideas.md, web/index.html, web/findings.html (Finding 20)
  • New: experiments/exp053_results_quick.json (broader sweep)

2025-12-05 - Day 35: Middle Inversion Quick Sweep (exp053)

Objectives

  • Add quick/seed/dimension controls to the middle inversion study.
  • Run a trimmed 2D sweep to see how often middle inversions appear and which signals separate them.
  • Capture early indicators for Type 2 inversions without full path enumeration.

Middle inversions show distinctive k-up activity

  • Config: dim=2 only, bases {2,5}, primes {2,5,11}, seed=0 per config (54 runs).
  • Inversion split: middle=7.4% (4/54), end=18.5% (10/54), none=74.1%.
  • Signal: middle inversions average 1.00 k-up transitions vs 0.22 for others with similar path length (≈3.8 segments) and k-range (≈1.5); duplication slightly lower (max_y_dup 2.5 vs 3.0 for end inversions).
  • Patterns: bounce k-paths like [3,4,2] and [4,3,4,3] confirm internal rise-then-fall behavior.

Artifacts

  • Updated: experiments/exp053_middle_inversion_study.py (CLI flags) and ideas.md with findings.
  • New: experiments/exp053_results_quick.json, journal/2025-12-05-middle-inversion.md.

Next

  • Run higher-dim sweeps with more seeds now that quick mode exists.
  • Test whether counting k-up transitions can act as a cheap middle-inversion flag.
  • Probe axis-duplication datasets to see if the k-up signal persists when duplication is high.

2025-12-05 - Day 34: k_min Predictor Breakthrough (exp049)

Objectives

  • Analyze k-path structure to find a better inversion predictor
  • Test whether the minimum k in the path predicts inversions
  • Classify different types of inversions

BREAKTHROUGH: F1=0.962 WITH PERFECT PRECISION

  • k_min_intermediate < k_final: Precision=1.000, Recall=0.927, F1=0.962, FPR=0.000
  • 486 runs (dims {2,3,4}, primes {2,5,11}, bases {1.5,2,5}, seeds 0–5) with 41 inversions
  • The predictor catches 38/41 inversions with ZERO false positives
  • This vastly outperforms duplication baseline (F1=0.219)

Two Types of Inversions Discovered

  • Type 1 (92.7%): End inversions - k dips below k_final then rises. Example: [10, 2, 4]
  • Type 2 (7.3%): Middle inversions - k dips and rises in the middle. Example: [3, 2, 3, 2, 1]

The Perfect Predictor (Tautological)

Checking if k ever increases anywhere achieves F1=1.000 (by definition of inversion).

Artifacts

  • New: experiments/exp049_kmin_predictor.py, exp049_results.json
  • Updated: ideas.md with major finding

Next

  • Investigate cheap k_min estimation without full enumeration
  • Formalize proof that k_min < k_final implies inversion exists
  • Find cheap signals for Type 2 (middle) inversions

2025-12-05 - Day 33: Two-Regime Classifier (exp048)

Objectives

  • Test a regime switch that uses duplication when k_lambda0/n is high and k_horiz otherwise.
  • See if the splitter recovers k_horiz gains on random data while keeping recall on structured axis-dup datasets.

NO LIFT OVER DUPLICATION

  • 324 runs (dims {2,3,4}, primes {2,5,11}, bases {1.5,2,5}, seeds 0–3) produced 33 inversions: 30 axis-dup, 3 random.
  • k_horiz > k_lambda0 never triggered (0 recall); k_lambda0 always exceeded k_horiz even on the random family.
  • Best splitter (t=0.35) matched duplication precision≈0.148 but with lower recall (0.909 vs 0.970); k_ratio clustered ~0.7 for all families, so it did not separate regimes.

Artifacts

  • New: experiments/exp048_two_regime_classifier.py, exp048_results.json

Next

  • Add structure-aware gates (duplication intensity or alignment variance) instead of k_ratio.
  • Design random datasets with y-duplication so k_horiz can occasionally exceed k_lambda0.
  • Try gap-based rules using k_lambda0 - k_horiz alongside duplication.

2025-12-24 - Day 24: Duplication Predictor Validation (exp038)

Objectives

  • Test whether a simple duplication heuristic (max_y_dup ≥ 3 or max_axis_dup ≥ 3) predicts inversions.
  • Measure precision/recall/FPR across dimensions {2,3,4}, primes {2,5,11}, and bases {1.5,2,5}.
  • See if duplication levels separate inversion-prone datasets.

RECALL 1.0 BUT FALSE-POSITIVE HEAVY

  • Overall: caught all 7 inversions (recall = 1.0) but with precision ≈6.5% and FPR ≈0.38 (270 runs).
  • d=2 stayed reasonable (precision ≈22%, FPR ≈0.08); d=3 had 0 inversions yet 18 false positives; d=4 flagged 81/90 runs for only 5 true inversions (precision ≈6.2%, FPR ≈0.89).
  • Duplication means rise only slightly for inversion runs (max_y_dup 2.57 vs 2.12; max_axis_dup 2.71 vs 2.39), indicating the ≥3 cutoff is too loose in higher dimensions.

Artifacts

  • New: experiments/exp038_duplication_predictor_validation.py, exp038_results.json

Next

  • Tighten duplication thresholds per dimension (e.g., require ≥4 duplicates for d≥3) and re-evaluate precision/recall.
  • Combine duplication signals with excess_points or k_lambda0 to build a richer cheap predictor.
  • Audit d=4 false positives to see if axis-only duplication drives the noise.

2025-12-21 - Day 21: 4D Base-Density Resample (exp035)

Objectives

  • Stabilise 4D inversion rates with more seeds and a mid/heavy base grid.
  • Check whether dense n=10 cases stay base-flat or spike at larger bases.
  • Verify near-binary suppression still holds in 4D.

BASE FLATNESS CONFIRMED; SMALL PRIMES DRIVE FLIPS

  • r=1.05 stayed inversion-free across all configs (n ∈ {7,8,10}, primes {2,5,11}).
  • Dense n=10: p=5/11 flip in 1–2/6 runs once r≥1.5 (g_hat ≈1.67 for p=5; p=11 at ≈3.67 with a bump to 7.33 at r=5); p=2 stays zero.
  • Baseline n=8: only p=2 flips sparsely at r≥1.5 (g_hat ≈0.89); p≥5 invert only at r≥5 with low rates (1/6) and stay flat thereafter.
  • Sparse n=7: small-prime inversions rise at r=5 (p=2 g_hat ≈2.33; p=5 hits 1/6 at r≥5); p=11 remains inversion-free.
  • Takeaway: beyond r≈1.5 the base effect is mild; extra points and small primes dominate inversion risk.

Artifacts

  • New: experiments/exp035_4d_density_resample.py, exp035_results.json

Next

  • Raise seeds for the dense n=10 config (esp. p=11, r≈5) with a narrowed base grid to firm up the bump.
  • Inspect inversion traces for the dense p=5/11 cases to see which candidates drive the late-path bumps.
  • Reintroduce r ∈ {7,15} once runtime is improved and fold the data into the g(r, d) surrogate.

2025-12-20 - Day 20: 4D Density Probe (exp034)

Objectives

  • Reconcile the heavy-base 4D surge (exp031) with the muted tail from exp033.
  • Test how extra points (n ∈ {7,8,10}) interact with bases {1.05,1.5,2,5,10,15} and primes {2,5,11}.
  • Check whether near-binary bases still suppress inversions in 4D.

DENSE 4D FLIPS; BASE EFFECT STAYS FLAT

  • n=8 stayed inversion-free across all bases/primes; near-binary r=1.05 remains immune.
  • n=10 flips for p=5 at r≥2 and p=11 at r≥1.5 (c_hat_excess ≈ 0.5 → g_hat ≈ 2.5–5.5) with little change from r=2 to r=15.
  • n=7 saw a single inversion (p=2, r=5, g_hat ≈ 1.75); likely noise but shows small primes can still bite with few extra points.
  • Seeds were small (4 per config); rates need confirmation with a deeper rerun.

Artifacts

  • New: experiments/exp034_4d_base_density.py, exp034_results.json

Next

  • Rerun with more seeds and a richer base grid to stabilise the dense n=10 rates.
  • Inspect inversion traces (p=5,11) to see which candidate planes drive the k bumps.
  • Update the g(r, d) surrogate once the 4D signal is confirmed.

2025-12-15 - Day 15: Base-Factor Curve

Objectives

  • Map g(r) ≈ c(p, r)·p on a dense base grid (r ∈ {1.01…10})
  • Check whether near-binary suppression persists across primes and dims
  • See if the r≈p plateau survives for larger primes and heavier bases

NEAR-BINARY IMMUNITY, TWO-PHASE RAMP

  • r ≤ 1.1: 0/560 inversions (complete suppression across primes {2,5,11,17}).
  • g(r) ramps gently to ≈0.1 by r≈2 (0.006 at r=1.2 → 0.057 at 1.5 → 0.099 at 2), then jumps to ≈0.30 at r=3 and ≈0.327 at r=5.
  • Heavy bases bump again: r=10 hits g_hat≈0.417, suggesting a secondary rise past the r≈5 plateau.
  • Prime scaling persists: p=11/17 only invert for r≥3 and stay sparse, reinforcing c(r, p) ≈ g(r)/p.

Artifacts

  • New: experiments/exp025_base_factor_curve.py, exp025_results.json

Next

  • Fit a piecewise model for g(r) capturing the two-step ramp and r=10 bump
  • Test whether the r≈10 rise persists for larger bases or higher primes
  • Inspect the lone p=17, r=5 non-monotonic flag where counts exceed inversion detections

2025-12-11 - Day 11: Prime-Weighted Excess Scaling

Objectives

  • Test the empirical law P(inv) ≈ c(p) × excess_points
  • Measure how c(p) varies with the prime p when r = p
  • Benchmark against the prior 0.10 coefficient

COEFFICIENT SHRINKS WITH PRIME

  • Aggregated c_hat_global: p=2 → 0.081, p=3 → 0.081, p=5 → 0.070, p=7 → 0.065, p=11 → 0.032; all below the 0.10 baseline.
  • 1D n=7 shows the largest spread (c_hat drops from 0.175 at p=2 to 0.035 at p=11); 2D n=6 similarly falls from 0.200 to ~0.033.
  • 3D n=6 is mostly quiet; only p=7 pops to ~0.150 while p=11 has zero inversions in this sweep.

Artifacts

  • New: experiments/exp021_prime_excess_scaling.py, exp021_results.json

Next

  • Fit a functional form for c(p) (e.g., a + b/p or p^{-α}) and test r ≠ p cases
  • Inspect why 3D p=7 produced inversions while p=11 did not

2025-12-10 - Day 10: Prime Sensitivity of Inversions

Objectives

  • Measure how Pareto inversion rates depend on the prime p (with base r=p)
  • Compare small vs large primes across dimensions 1–3

LARGER PRIMES REDUCE INVERSION RISK

  • Aggregated inversion rates over 400 runs/prime: p=2 → 5.25%, p=3 → 5.25%, p=5 → 4.50%, p=7 → 3.75%, p=11 → 2.50%.
  • 1D n=7 shows the widest gap (10% at p=2/3 vs 2.5% at p=11); 2D n=6 peaks at 10% for p=2 then drops to ~1.7% for p≥7.
  • 3D n=6 has only two inversions total (p=2 and p=5), none for p≥7.

Artifacts

  • New: experiments/exp020_prime_inversion_sensitivity.py, exp020_results.json

Next

  • Model inversion probability as P(inv) ≈ c(p) × excess_points with c decreasing in p
  • Seek analytical explanation for why higher p dampens inversions

2025-12-09 - Day 9: 1D Inversion Audit & Base Rerun

Objectives

  • Fix 1D inversion detection by exporting reg_penalty in segment outputs
  • Rerun the base-sensitivity sweep with correct instrumentation
  • Audit 1D non-monotonic cases to confirm whether any survive without Pareto inversions

INVERSION COUNTS CORRECTED

  • 1D inversion rates are now non-zero for r ≥ 1.5: n=5 → 2.5–5.0%, n=6 → 2.5–8.8%, n=7 → 7.5–17.5%.
  • Near-binary bases r ∈ {1.02, 1.1} still show 0/410 inversions.
  • Audit (exp019) found 0 cases of non-monotonicity without a Pareto inversion once reg_penalty is tracked.

Artifacts

  • Updated: experiments/exp018_results.json
  • New: experiments/exp019_1d_nonmonotonic_audit.py, exp019_results.json

Next

  • Explain analytically why r≈1 suppresses inversions while larger r plateaus
  • Probe simple predictors for 1D inversion rates using the corrected counts

2025-12-07 - Day 7: Formal Proof and Probability Model

Objectives

  • Write formal mathematical proof of Pareto Frontier Monotonicity Theorem
  • Build empirical probability model for inversions
  • Find efficient predictor for inversion-prone datasets

FORMAL PROOF COMPLETED

The Pareto Frontier Monotonicity Theorem is now rigorously proven in proofs/pareto_monotonicity_proof.md.

Key Lemmas

  1. Finite Candidates: Optimal β*(λ) belongs to a finite set C for all λ ≥ 0
  2. Piecewise Linear: Total loss is linear in λ for each candidate
  3. R Decreases: At every transition point, regularisation penalty strictly decreases

The proof follows: non-monotonicity ⟺ k increases somewhere ⟺ inversion at that transition. ∎

Experiment 017: Inversion Predictors

Tested 1390 datasets across dimensions 1-3, points 4-8.

Strong Predictor Discovered: k_horiz > k_lambda0

When k_horiz > k_lambda0: 91.7% have inversions (11/12 cases)
When k_horiz <= k_lambda0: only 3.8% have inversions (53/1378 cases)
                

Practical implication: This is a cheap heuristic for detecting inversion-prone datasets!

Empirical Probability Formula

P(inversion) ≈ 0.10 × excess_points
where excess_points = (n - d - 1) / n
                

The probability of inversions scales with "extra" points beyond the minimum (d+1) needed to define a hyperplane.

Inversion Rates by Configuration

DimensionnRate
140.5%
152.0%
166.5%
1711.3%
1816.0%
251.3%
2610.0%
361.7%

Feature Correlations

Inversion datasets differ from non-inversion datasets:

  • Higher max y-duplication: 2.31 vs 1.60
  • Lower diversity: 0.76 vs 0.87
  • Lower k_lambda0: 2.42 vs 2.62

Experiments Conducted

  • exp017_inversion_predictors.py: 1390 dataset analysis

Files Created

  • proofs/pareto_monotonicity_proof.md - Formal theorem proof
  • experiments/exp017_inversion_predictors.py - Predictor analysis

Next Steps

  • Derive analytical formula for P(inv) coefficient (why 0.10?)
  • Investigate the 3.8% of inversions with k_horiz <= k_lambda0
  • Test base r sensitivity on inversion rates

2025-12-06 - Day 6: Pareto Inversion Landscape

Objectives

  • Quantify inversion frequency across dimensions and point counts
  • Characterize inversion patterns

Key Results (exp016)

  • 1070 total runs, 51 inversions (4.8%)
  • Every non-monotonic case coincides with an inversion (100% correlation)
  • k jumps were always +1; no large spikes observed

Dimensional Trends

  • 1D: Inversion rates rise with n (3.1% at n=5, 7.1% at n=6, 15.0% at n=7)
  • 2D: n=5 almost always monotone (0.5%), n=6 shows 10%
  • 3D: n=6 shows 2.5%

Experiments Conducted

  • exp016_pareto_inversion_landscape.py: Large-scale inversion survey

2025-12-05 - Day 5: BREAKTHROUGH - Pareto Frontier Monotonicity Theorem

Objectives

  • Analyze Day 4 counter-examples to find the true monotonicity criterion
  • Develop and validate a new theorem for k(lambda) behavior

MAJOR THEOREM: Pareto Frontier Criterion

After analyzing the conditional monotonicity failures from Day 4, we discovered and validated a necessary and sufficient criterion for monotonicity!

The Theorem

Pareto Frontier Monotonicity Theorem: k(lambda) is monotonically non-increasing in lambda if and only if there is no "Pareto inversion" in the optimal path.

A Pareto inversion occurs when, for consecutive optimal solutions beta_1, beta_2 with R(beta_1) > R(beta_2), we have k(beta_1) < k(beta_2).

In other words: as regularisation penalty decreases along the path, exact fits must not increase.

Example of Inversion

R=11.56, k=2  (high penalty, 2 fits)
R=3.24,  k=1  (lower penalty, 1 fit)
R=0.049, k=2  (even lower penalty, 2 fits) ← INVERSION! k increased
R=0.0,   k=1  (zero penalty, 1 fit)

Result: k-path 2→1→2→1 is non-monotonic
                

Experimental Validation

MetricValue
Total Tests990
Monotonic (no inversion)949
Non-monotonic (has inversion)41
False Positives0
False Negatives0
Accuracy100.00%

Why This Matters

  • Necessary AND Sufficient: Unlike the conditional conjecture from Day 4, this criterion is both ways
  • Mechanistic: We now know exactly WHY monotonicity fails
  • Predictive: Given candidates, we can determine a priori if k(lambda) will be monotonic

Experiments Conducted

  • exp014_pareto_monotonicity.py: Initial criterion testing
  • exp015_pareto_verification.py: Large-scale validation (990 tests)

Next Steps

  • Prove the theorem analytically
  • Characterize inversion probability
  • Develop efficient inversion detection algorithms

2025-12-04 - Day 4: Conditional Monotonicity Falsified

Objectives

  • Test the conditional monotonicity conjecture (k_opt >= k_horiz implies monotone k(lambda))

Result: Conjecture is FALSE

Among 248 datasets satisfying k_lambda0 >= k_horiz, 9 still had non-monotonic k(lambda).

New Failure Mode Discovered

k can drop and then rise when a low-penalty tilted plane regains optimality. Example: k path 2→1→2→1 with k_horiz=1. The horizontal plane was irrelevant!

Implications

Monotonicity depends on how exact-fit counts correlate with regularisation penalties, not merely on comparison to horizontal hyperplanes. A stronger criterion is needed.

Experiments

  • exp013_conditional_monotonicity.py: 370 tests across dims 1-3

2025-12-03 - Day 3: MAJOR REVISION - Monotonicity Counter-Examples

Objectives

  • Attempt mathematical proof of monotonicity theorem
  • Test exact threshold solver on d=4 and d=5 dimensions
  • Stress test for counter-examples

MAJOR FINDING: Monotonicity is NOT Universal

Stress testing found 157 counter-examples out of 8480 tests where k(λ) actually increases as λ increases!

Example Counter-Example

Dataset: x = [5, 7, 8, -8, -6], y = [10, 10, -7, 10, -5]

k-path (base r=2, prime p=2):
  λ ∈ [0.00, 12.3]: k = 2 (tilted line)
  λ ∈ [12.3, ∞]:    k = 3 (horizontal line y=10)

Three points share y=10. The horizontal line fits MORE points than the tilted optimal!
                

Mechanism of Failure

  1. Horizontal hyperplanes have zero regularisation penalty (all slopes = 0)
  2. A horizontal hyperplane might pass through more points than the tilted optimal
  3. As λ→∞, horizontal solutions are favored
  4. If the horizontal line fits more points, k(λ) increases!

Revised Conjecture: Conditional Monotonicity

k(λ) is monotonically non-increasing if and only if no horizontal hyperplane passes through more points than the optimal hyperplane at λ=0.

Statistics from Stress Test

SettingMonotonicTotalRate
1D, n=41350150090%
1D, n=6747150050%
1D, n=8251150017%
2D, n=618820094%
3D, n=6526087%

d=4 and d=5 Validation

  • d=4: 14/14 configurations monotonic
  • d=5: 2/2 configurations monotonic
  • n+1 property continues to hold: k(0) ≥ d+1

Experiments Conducted

  • exp011_highdim_d4_d5.py: d=4,5 validation
  • exp012_monotonicity_stress_test.py: 8480 test stress test
  • verify_counterexample.py: Manual counter-example verification

Key Insight

The earlier experiments (Days 1-2) happened to use datasets without horizontal clustering, which is why they all showed monotonicity. Random data naturally produces horizontal alignments, leading to counter-examples.

Next Steps

  • Prove conditional monotonicity theorem rigorously
  • Characterize failure probability as function of n, d, and value distribution

2025-12-02 (Evening) - BREAKTHROUGH: Exact Asymptotic Formula

Objectives

  • Derive closed-form expression for λ*(r) as r varies
  • Validate formula against numerical experiments

Key Result: EXACT THRESHOLD FORMULA

Discovered that the threshold λ* follows an exact formula:

λ* = (L₂ - L₁) / (b₁² - b₂²)

where L = Σᵢ r-vp(residuali)

Asymptotic Expansion

The formula yields an exact series in powers of 1/r:

λ* = c₀ + c₁/r + c₂/r² + c₃/r³ + ...

Coefficients ck count residuals with valuation exactly k.

Validation

  • canonical_threshold: λ* = 1 + 1/r² (100% match)
  • gentle_line: λ* = 1 + 1/r (100% match)
  • powers_of_2: λ* = 0.25/r + 0.25/r² + 0.25/r³ (100% match)

Formula predicts thresholds with zero error for r = 1.5, 2, 3, 5, 10, 100, 1000.

Significance

This reveals that threshold behavior is entirely determined by p-adic valuations. The limit as r→∞ depends only on residuals coprime to p.

Experiments Conducted

  • exp007_asymptotic_threshold.py: Asymptotic formula validation

2025-12-02 - Day 2: Major Hypothesis Validation

Objectives

  • Test monotonicity hypothesis (H6) systematically
  • Derive analytical formula for threshold values
  • Extend experiments to 2D (planes through 3D points)
  • Investigate prime dependence

Key Results

1. Monotonicity Validated (H6)

Tested 30 random datasets in 1D and 15 in 2D. All show monotonically non-increasing k(λ). This is a fundamental property of regularised p-adic regression.

2. Threshold Formula Derived

Discovered that thresholds occur when two candidate solutions have equal total loss. For 1D with L2 regularisation:

λ* = (L₂ - L₁) / (b₁² - b₂²)

where L₁, L₂ are data losses and b₁, b₂ are slopes of competing solutions. This formula correctly predicts the empirically observed threshold at λ = 1.25.

3. 2D Generalization Confirmed

Implemented 2D regression (fitting planes to 3D points). Results:

  • n+1 theorem holds: k(0) ≥ 3 for all tested datasets
  • Monotonicity holds: 15/15 datasets show monotonic k(λ)
  • Discrete thresholds exist: typically 1-2 per dataset

4. Prime Dependence Discovered

Different primes lead to different threshold structures:

  • p=2: 1 threshold at λ ≈ 1.25
  • p=3: 2 thresholds at λ ≈ 0.45 and λ ≈ 3.95
  • p≥5: 2 thresholds at λ ≈ 1.35 and λ ≈ 3.95

This reveals fundamental prime-dependence in the optimization landscape.

Experiments Conducted

  • exp002_monotonicity_and_thresholds.py: 30 random 1D datasets
  • exp003_2d_regression.py: 15 random 2D datasets
  • exp004_prime_dependence.py: Prime comparison study

Hypotheses Updated

  • Validated: H3 (discrete transitions), H4 (geometry dependence), H6 (monotonicity), H8 (2D generalization)
  • New: H9 (prime dependence structure), H10 (threshold count bound), H11 (universal strong-reg solution)

Next Steps

  • Prove threshold formula rigorously for general n dimensions
  • Explore alternative loss functions (r-v(t))
  • Investigate computational complexity of threshold finding
  • Study p-adic regularisation more deeply

2025-12-01 - Day 1: Project Initialization

Objectives

  • Set up research infrastructure
  • Understand the base paper and problem formulation
  • Run initial experiments to validate basic assumptions
  • Document initial hypotheses

Activities

  1. Literature Review: Read the arXiv paper 2510.00043v1 on p-adic linear regression. Key insight: without regularisation, optimal hyperplane passes through n+1 points in n dimensions.
  2. Infrastructure Setup:
    • Created src/padic.py - p-adic arithmetic library
    • Created experiments/ directory for computational studies
    • Set up website at roboscientist.symmachus.org
  3. Experiment 001: Ran first experiments on regularisation thresholds in 1D regression:
    • Confirmed n+1 point property at λ=0
    • Discovered discrete threshold behavior
    • Found threshold around λ=1.2-1.3 for test dataset
  4. Hypothesis Formation: Documented 8 initial hypotheses ranging from validated (H1, H2) to proposed (H6-H8).

Key Findings

  • The n+1 point theorem is confirmed experimentally for n=1
  • Regularisation causes discrete phase transitions in exact fit count
  • p-adic regularisation behaves differently from real L2 regularisation

Next Steps

  • Characterize threshold values analytically
  • Extend experiments to 2D
  • Investigate alternative base values r

Questions for Future Investigation

  • Is k(λ) always monotonically non-increasing?
  • Can we predict thresholds from data geometry?
  • What is the relationship between p and threshold behavior?