Truly subcubic min-plus matrix multiplication
Lax350013.MinPlusProduct · concepts/Lax350013/MinPlusProduct.lean · lax-350013
No public endorsements yet.
Loading review…
Sign in with ORCIDNatural Language Statement
Theorem
The min-plus product of two matrices with polynomially bounded integer entries can be computed deterministically in word-RAM steps (Theorem 22). The output contains the minimum of for each pair .
Concept map
Evidence
Each proof establishes this claim relative to its assumptions.
Lean source view on GitHub
| 1 | /- |
| 2 | Copyright (c) 2026 Anthropic, PBC. All rights reserved. |
| 3 | Released under Apache 2.0 license as described in the file LICENSE. |
| 4 | SPDX-License-Identifier: Apache-2.0 |
| 5 | -/ |
| 6 | /- |
| 7 | Modified for the independent Lax packaging by Édouard Bonnet, 2026. |
| 8 | Derived from 3sum-apsp/EndStatement.lean / PaperStatements.lean at upstream commit e1a4e6508154ea59f030480661590a9fe3018011. |
| 9 | Changes: Lax module/namespace layout, separated concepts and proofs, archive |
| 10 | annotations, and compatibility with the archive Lean/mathlib environment. |
| 11 | See NOTICE and README.md in the submission root for provenance and scope. |
| 12 | -/ |
| 13 | |
| 14 | import Lax350013.PolynomialTime |
| 15 | |
| 16 | /-! |
| 17 | --- |
| 18 | title: Truly subcubic min-plus matrix multiplication |
| 19 | type: theorem |
| 20 | --- |
| 21 | The min-plus product of two matrices with polynomially bounded integer entries can be computed deterministically in word-RAM steps (Theorem 22). The output contains the minimum of for each pair . |
| 22 | -/ |
| 23 | |
| 24 | namespace Lax350013.MinPlusProduct |
| 25 | |
| 26 | open Lax350013.PolynomialTime |
| 27 | |
| 28 | /-- Output, row by row: entry `(i, j)` is the least of the sums `A i k + B k j`. -/ |
| 29 | def MinPlusProduct : Problem where |
| 30 | Instance n := (Fin n → Fin n → Int) × (Fin n → Fin n → Int) |
| 31 | input := fun (A, B) => rowByRow A ++ rowByRow B |
| 32 | output := fun {n} (A, B) out => ∀ i j : Fin n, |
| 33 | (∃ k, out (i.val * n + j.val) = A i k + B k j) ∧ ∀ k, out (i.val * n + j.val) ≤ A i k + B k j |
| 34 | |
| 35 | /-- Theorem 22: «the (min, +)-product of two n × n integer matrices», in time «O(n^2.99942)». -/ |
| 36 | def Theorem_22_MinPlus : Prop := |
| 37 | MinPlusProduct.SolvedInTime 2.99942 |
| 38 | |
| 39 | /-- Truly subcubic min-plus matrix multiplication: Theorem 22 MinPlus. -/ |
| 40 | axiom algorithm : Theorem_22_MinPlus |
| 41 | |
| 42 | end Lax350013.MinPlusProduct |
| 43 |
Discussion
Ask a question or add context. Endorsements and structured flags are kept in the review panel above.
0 comments