AC⁰ ⊆ PTIME, by fixed points
Lax895169.ACZeroInPTIME · concepts/Lax895169/ACZeroInPTIME.lean · lax-895169
No public endorsements yet.
Loading review…
Sign in with ORCIDNatural Language Statement
Theorem
Every AC⁰ definable problem is FO(, IFP) definable and FO(LFP) definable, hence in PTIME. The numeric predicates are themselves an induction: one simultaneous induction on two ternary relation variables defines addition by walking two arguments down the order in lockstep and multiplication by repeated addition, and the AC⁰ sentence is its output sentence. This gives the inclusion directly, without going through logarithmic space.
Concept map
Evidence
Lean source view on GitHub
| 1 | import Lax904597.Problems |
| 2 | import Lax904597.Classes |
| 3 | import Lax485149.Complement |
| 4 | import Lax485149.FirstOrderDefinability |
| 5 | import Lax485149.DeterministicTransitiveClosure |
| 6 | import Lax485149.ClassNL |
| 7 | import Lax485149.ClassL |
| 8 | import Lax535992.LeastFixedPoint |
| 9 | import Lax535992.InflationaryFixedPoint |
| 10 | import Lax535992.ClassPTIME |
| 11 | import Lax895169.BitPredicate |
| 12 | import Lax895169.ArithmeticLogic |
| 13 | import Lax895169.BitLogic |
| 14 | import Lax895169.LogTimeMachines |
| 15 | |
| 16 | /-! |
| 17 | --- |
| 18 | title: AC⁰ ⊆ PTIME, by fixed points |
| 19 | type: theorem |
| 20 | --- |
| 21 | Every AC⁰ definable problem is FO(, IFP) definable and FO(LFP) |
| 22 | definable, hence in PTIME. The numeric predicates are themselves an |
| 23 | induction: one simultaneous induction on two ternary relation variables |
| 24 | defines addition by walking two arguments down the order in lockstep and |
| 25 | multiplication by repeated addition, and the AC⁰ sentence is its output |
| 26 | sentence. This gives the inclusion directly, without going through |
| 27 | logarithmic space. |
| 28 | -/ |
| 29 | |
| 30 | namespace Lax895169.ACZeroInPTIME |
| 31 | |
| 32 | open FirstOrder FirstOrder.Language |
| 33 | open Lax904597.Problems Lax904597.Classes |
| 34 | open Lax485149.Complement Lax485149.FirstOrderDefinability Lax485149.DeterministicTransitiveClosure |
| 35 | open Lax485149.ClassNL Lax485149.ClassL |
| 36 | open Lax535992.LeastFixedPoint Lax535992.InflationaryFixedPoint Lax535992.ClassPTIME |
| 37 | open Lax895169.BitPredicate Lax895169.ArithmeticLogic Lax895169.BitLogic Lax895169.LogTimeMachines |
| 38 | |
| 39 | /-- Every AC⁰ definable problem is FO(≤, IFP) definable. -/ |
| 40 | axiom ac0Definable_ifpDefinable : ∀ {L : Language.{0, 0}} [L.IsRelational] {P : DecisionProblem L}, |
| 41 | AC0Definable P → IFPDefinable P |
| 42 | |
| 43 | /-- Every AC⁰ definable problem is FO(LFP) definable. -/ |
| 44 | axiom ac0Definable_lfpDefinable : ∀ {L : Language.{0, 0}} [L.IsRelational] {P : DecisionProblem L}, |
| 45 | AC0Definable P → LFPDefinable P |
| 46 | |
| 47 | /-- Every AC⁰ definable problem is in PTIME. -/ |
| 48 | axiom ac0Definable_mem_PTIME : ∀ {L : Language.{0, 0}} [L.IsRelational] {P : DecisionProblem L}, |
| 49 | AC0Definable P → PTIME.Mem P |
| 50 | |
| 51 | end Lax895169.ACZeroInPTIME |
| 52 |
Builds on
Lax485149.ClassLLax485149.ClassNLLax485149.ComplementLax485149.DeterministicTransitiveClosureLax485149.FirstOrderDefinabilityLax535992.ClassPTIMELax535992.InflationaryFixedPointLax535992.LeastFixedPointLax895169.ArithmeticLogicLax895169.BitLogicLax895169.BitPredicateLax895169.LogTimeMachinesLax904597.ClassesLax904597.Problems
Used by
none
From Mathlib
none
Discussion
Ask a question or add context. Endorsements and structured flags are kept in the review panel above.
0 comments