def
definition
sat_eval_time
show as:
view math explainer →
open explainer
Generate a durable explainer page for this declaration.
open lean source
IndisputableMonolith.Complexity.CellularAutomata on GitHub at line 172.
browse module
All declarations in this module, on Recognition.
explainer page
depends on
used by
formal source
169 total_width : ℕ := n + 3 * m + 10
170
171/-- The evaluation time for a SAT instance with n variables and m clauses -/
172noncomputable def sat_eval_time (n m : ℕ) : ℕ :=
173 -- Depth of the clause evaluation tree: O(log m) for m clauses
174 -- Width propagation: O(n^{1/3}) for n variables arranged optimally
175 -- Total: O(n^{1/3} · log(n·m))
176 Nat.ceil (Real.rpow n (1/3) * Real.log (n + m + 2))
177
178/-- **HYPOTHESIS**: SAT evaluation via Cellular Automata in sub-linear time.
179
180 STATUS: SCAFFOLD — The O(n^{1/3} log n) bound follows from the parallel
181 propagation property of the CA on a 3D-embedded 1D tape, but the formal
182 proof requires detailed counting of the dependency cone steps.
183
184 TODO: Formally prove the O(n^{1/3} log n) bound. -/
185def H_SATCARuntime (sg : SATGadget) : Prop :=
186 ∃ (t : ℕ), t ≤ sat_eval_time sg.n sg.m ∧
187 -- After t steps, the output cell contains the SAT result
188 IsCorrectSATResult sg t -- SCAFFOLD: IsCorrectSATResult is not yet defined.
189
190-- axiom h_sat_ca_runtime : ∀ sg, H_SATCARuntime sg
191
192/-! ## CA → TM Simulation -/
193
194/-- A Turing Machine simulating the CA -/
195structure TMSimulator where
196 /-- Number of CA steps to simulate -/
197 ca_steps : ℕ
198 /-- Tape size (number of cells) -/
199 tape_size : ℕ
200 /-- TM time per CA step (linear in tape size) -/
201 time_per_step : ℕ := tape_size
202