Documentation

Mathlib.ModelTheory.Arithmetic.Presburger.Definability

Presburger definability and semilinear sets #

This file formalizes the classical result that Presburger definable sets are the same as semilinear sets. As an application of this result, we show that the graph of multiplication is not Presburger definable.

Main Results #

References #

theorem IsLinearSet.definable {α : Type u_1} {s : Set (α)} {A : Set } [Finite α] (hs : IsLinearSet s) :
theorem FirstOrder.Language.presburger.term_realize_eq_add_dotProduct {α : Type u_1} {A : Set } [Fintype α] (t : (presburger.withConstants A).Term α) :
∃ (k : ) (u : α), ∀ (v : α), Term.realize v t = k + u ⬝ᵥ v

A set is Presburger definable in if and only if it is semilinear.

theorem FirstOrder.Language.presburger.definable₁_iff_ultimately_periodic {A s : Set } :
A.Definable₁ presburger s ∃ (k : ), p > 0, xk, x s x + p s

In the 1-dimensional case, a set is Presburger arithmetic definable in if and only if it is ultimately periodic, i.e. periodic after some number k.

The graph of multiplication is not Presburger definable in .