FO(≤, +, ×) = FO(≤, +, BIT)
Lax895169.ACZeroIsBitLogic · concepts/Lax895169/ACZeroIsBitLogic.lean · lax-895169
No public endorsements yet.
Loading review…
Sign in with ORCIDNatural Language Statement
Theorem
A decision problem is AC⁰ definable, that is, definable in FO(), if and only if it is bit-definable, that is, definable by a prenex sentence of FO(, BIT). One direction defines the map from addition and multiplication, by guessing a doubling chain. The other defines multiplication from BIT, which rests on the Bit Sum Lemma, counting the ones of a word of logarithmic length; the product is then assembled from its columns with guessed carry chains. This is the identification of the two vocabularies in Immerman's Descriptive Complexity, Theorem 1.17.
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: FO(≤, +, ×) = FO(≤, +, BIT) |
| 19 | type: theorem |
| 20 | --- |
| 21 | A decision problem is AC⁰ definable, that is, definable in |
| 22 | FO(), if and only if it is bit-definable, that is, |
| 23 | definable by a prenex sentence of FO(, BIT). One direction defines |
| 24 | the map from addition and multiplication, by guessing a |
| 25 | doubling chain. The other defines multiplication from BIT, which rests on |
| 26 | the Bit Sum Lemma, counting the ones of a word of logarithmic length; the |
| 27 | product is then assembled from its columns with guessed carry chains. This |
| 28 | is the identification of the two vocabularies in Immerman's Descriptive |
| 29 | Complexity, Theorem 1.17. |
| 30 | -/ |
| 31 | |
| 32 | namespace Lax895169.ACZeroIsBitLogic |
| 33 | |
| 34 | open FirstOrder FirstOrder.Language |
| 35 | open Lax904597.Problems Lax904597.Classes |
| 36 | open Lax485149.Complement Lax485149.FirstOrderDefinability Lax485149.DeterministicTransitiveClosure |
| 37 | open Lax485149.ClassNL Lax485149.ClassL |
| 38 | open Lax535992.LeastFixedPoint Lax535992.InflationaryFixedPoint Lax535992.ClassPTIME |
| 39 | open Lax895169.BitPredicate Lax895169.ArithmeticLogic Lax895169.BitLogic Lax895169.LogTimeMachines |
| 40 | |
| 41 | /-- Every AC⁰ definable problem is bit-definable. -/ |
| 42 | axiom ac0Definable_bitDefinable : ∀ {L : Language.{0, 0}} [L.IsRelational] {P : DecisionProblem L}, |
| 43 | AC0Definable P → BitDefinable P |
| 44 | |
| 45 | /-- Every bit-definable problem is AC⁰ definable. -/ |
| 46 | axiom bitDefinable_ac0Definable : ∀ {L : Language.{0, 0}} [L.IsRelational] {P : DecisionProblem L}, |
| 47 | BitDefinable P → AC0Definable P |
| 48 | |
| 49 | end Lax895169.ACZeroIsBitLogic |
| 50 |
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