Translations between SO-Krom and FO(TC)
Lax485149.KromAndTransitiveClosure · concepts/Lax485149/KromAndTransitiveClosure.lean · lax-485149
No public endorsements yet.
Loading review…
Sign in with ORCIDNatural Language Statement
Theorem
If a problem is SO-Krom definable, then its complement is FO(TC) definable: a Krom program instantiated on a structure is a 2-CNF, which is unsatisfiable exactly when the goal clause fires or some literal reaches its negation and back in the implication graph, a reachability condition. Conversely, if is FO(TC) definable, then is SO-Krom definable: the program guesses a set of nodes containing the targets and closed under predecessors, and rejects when the set contains a source.
Concept map
Evidence
This concept declares 2 statements. Each proof establishes one of them relative to its assumptions.
1 sigmaSOKromDefinable_compl_of_tcDefinable proven
2 tcDefinable_compl_of_sigmaSOKromDefinable proven
Lean source view on GitHub
| 1 | import Lax904597.Problems |
| 2 | import Lax904597.Interpretations |
| 3 | import Lax904597.Relativized |
| 4 | import Lax904597.SecondOrder |
| 5 | import Lax904597.Classes |
| 6 | import Lax904597.Sat |
| 7 | import Lax485149.Problems |
| 8 | import Lax485149.Complement |
| 9 | import Lax485149.SecondOrderAtoms |
| 10 | import Lax485149.KromFragment |
| 11 | import Lax485149.TransitiveClosure |
| 12 | import Lax485149.DeterministicTransitiveClosure |
| 13 | import Lax485149.FirstOrderDefinability |
| 14 | import Lax485149.HeadAutomata |
| 15 | import Lax485149.Reachability |
| 16 | import Lax485149.DeterministicReachability |
| 17 | import Lax485149.TwoSat |
| 18 | import Lax485149.ClassNL |
| 19 | import Lax485149.ClassL |
| 20 | |
| 21 | /-! |
| 22 | --- |
| 23 | title: Translations between SO-Krom and FO(TC) |
| 24 | type: theorem |
| 25 | --- |
| 26 | If a problem is SO-Krom definable, then its complement is FO(TC) |
| 27 | definable: a Krom program instantiated on a structure is a 2-CNF, which is |
| 28 | unsatisfiable exactly when the goal clause fires or some literal reaches its |
| 29 | negation and back in the implication graph, a reachability condition. |
| 30 | Conversely, if is FO(TC) definable, then is SO-Krom definable: |
| 31 | the program guesses a set of nodes containing the targets and closed under |
| 32 | predecessors, and rejects when the set contains a source. |
| 33 | -/ |
| 34 | |
| 35 | namespace Lax485149.KromAndTransitiveClosure |
| 36 | |
| 37 | open FirstOrder FirstOrder.Language |
| 38 | open Lax904597.Problems Lax904597.Interpretations Lax904597.Relativized Lax904597.SecondOrder |
| 39 | open Lax904597.Classes Lax904597.Sat |
| 40 | open Lax485149.Problems Lax485149.Complement Lax485149.SecondOrderAtoms Lax485149.KromFragment |
| 41 | open Lax485149.TransitiveClosure Lax485149.DeterministicTransitiveClosure |
| 42 | open Lax485149.FirstOrderDefinability Lax485149.HeadAutomata Lax485149.Reachability |
| 43 | open Lax485149.DeterministicReachability Lax485149.TwoSat Lax485149.ClassNL Lax485149.ClassL |
| 44 | |
| 45 | /-- The complement of an SO-Krom definable problem is FO(TC) definable. -/ |
| 46 | axiom tcDefinable_compl_of_sigmaSOKromDefinable : |
| 47 | ∀ {L : Language.{0, 0}} [L.IsRelational] {P : DecisionProblem L}, |
| 48 | SigmaSOKromDefinable P → TCDefinable (DecisionProblem.compl P) |
| 49 | |
| 50 | /-- The complement of an FO(TC) definable problem is SO-Krom definable. -/ |
| 51 | axiom sigmaSOKromDefinable_compl_of_tcDefinable : |
| 52 | ∀ {L : Language.{0, 0}} [L.IsRelational] {P : DecisionProblem L}, |
| 53 | TCDefinable P → SigmaSOKromDefinable (DecisionProblem.compl P) |
| 54 | |
| 55 | end Lax485149.KromAndTransitiveClosure |
| 56 |
Builds on
Lax485149.ClassLLax485149.ClassNLLax485149.ComplementLax485149.DeterministicReachabilityLax485149.DeterministicTransitiveClosureLax485149.FirstOrderDefinabilityLax485149.HeadAutomataLax485149.KromFragmentLax485149.ProblemsLax485149.ReachabilityLax485149.SecondOrderAtomsLax485149.TransitiveClosureLax485149.TwoSatLax904597.ClassesLax904597.InterpretationsLax904597.ProblemsLax904597.RelativizedLax904597.SatLax904597.SecondOrder
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