Undecidability of positive first-order definability
Lax503819.Undecidability · concepts/Lax503819/Undecidability.lean · lax-503819
No public endorsements yet.
Loading review…
Sign in with ORCIDNatural Language Statement
Theorem
There is no algorithm that, given a finite automaton over a finite powerset alphabet, decides whether its language is definable by a positive first-order sentence. This is Theorem 6.1 of Kuperberg, Positive First-order Logic on Words and Graphs, LMCS 19(3:7), 2023.
The input includes the number of predicates: the theorem is uniform over finite powerset alphabets, and does not assert undecidability for one fixed alphabet. Definability uses the concrete syntax and semantics in PositiveLogic; algorithmic decidability uses mathlib's partial-recursive computability model. must not be replaced with Lean's , which would express a different, classically trivial notion here.
Concept map
Evidence
Each proof establishes this claim relative to its assumptions.
Lean source view on GitHub
| 1 | import Lax503819.Automata |
| 2 | import Mathlib.Computability.Reduce |
| 3 | |
| 4 | /-! |
| 5 | --- |
| 6 | title: Undecidability of positive first-order definability |
| 7 | type: theorem |
| 8 | --- |
| 9 | There is no algorithm that, given a finite automaton over a finite powerset |
| 10 | alphabet, decides whether its language is definable by a positive first-order |
| 11 | sentence. This is Theorem 6.1 of Kuperberg, *Positive First-order Logic on |
| 12 | Words and Graphs*, LMCS 19(3:7), 2023. |
| 13 | |
| 14 | The input includes the number of predicates: the theorem is uniform over |
| 15 | finite powerset alphabets, and does not assert undecidability for one fixed |
| 16 | alphabet. Definability uses the concrete syntax and semantics in PositiveLogic; |
| 17 | algorithmic decidability uses mathlib's partial-recursive computability model. |
| 18 | `ComputablePred` must not be replaced with Lean's `Decidable`, which would |
| 19 | express a different, classically trivial notion here. |
| 20 | -/ |
| 21 | |
| 22 | namespace Lax503819.Undecidability |
| 23 | |
| 24 | axiom positive_definability_undecidable : |
| 25 | ¬ ComputablePred Lax503819.Automata.PositiveDefinable |
| 26 | |
| 27 | end Lax503819.Undecidability |
| 28 |
Discussion
Ask a question or add context. Endorsements and structured flags are kept in the review panel above.
0 comments