形式陈述
取 N = { 0 , 1 , 2 , … } 。自然数上的 Presburger 算术 研究结构 ( N , 0 , 1 , + , < ) 的一阶真句;其语义理论记为 Th ( N , 0 , 1 , + , < ) 。本页将消去算法放在整数结构 ( Z , 0 , 1 , + , − , < ) 中证明,再通过非负约束返回自然数。两处论域不同,量词的取值范围也不同。
整数项只能是常数与变量的整系数线性组合。固定整数 a 的 a x 是重复加法与取负的缩写;两个变量相乘的 x y 不属于语言。为执行量词消去 公理库 量词消去 Quantifier elimination 在固定语言和理论的全部模型中,把任意公式化为保持参数真值的无量词公式。 ,给整数语言加入每个固定正整数 m 对应的谓词
D m ( t ) ⟺ m ∣ t . 这是模同余 公理库 模同余 Congruence modulo n 两整数之差被给定正整数整除时成立的等价关系。 的记号,u ≡ v ( mod m ) 写成 D m ( u − v ) 。每个具体公式只使用有限多个这样的谓词,模数是写在公式中的常数。
有效消去定理。 在上述扩充整数语言中,每个公式 φ ( y ¯ ) 都能在有限步内变为无量词公式 ψ ( y ¯ ) ,使它们对所有整数参数赋值同真同假。因而整数加法算术与自然数 Presburger 算术都可判定。等价式的全称闭包属于整数结构的完整理论,所以消去也在该理论的全部模型中成立。
这里,写成 Th ( M ) 的理论 公理库 一阶理论 First-order theory 同一一阶语言中一组句子及其模型类所构成的理论。 本来就决定每个句子的真值;这不是需要算法证明的“完备性定理”。实质结论是这些真值可有效求出,以及通常的 Presburger 公理系统恰好公理化这套真句。该系统可用 0 , S , + 表述:后继单射、S x ≠ 0 、x + 0 = x 、x + S ( y ) = S ( x + y ) ,再加入这个加法语言中 每个公式的归纳实例;1 = S 0 ,x < y 定义为 ∃ z y = x + S ( z ) 。这是一套有效公理化,且一致、完备。它与标准结构真句的吻合是经典的 Presburger 定理,文末原文译本给出这一公理化背景;下面直接证明语义消去与判定程序。
直觉
整数中的空隙不能用稠密性填补:0 < x < 1 没有整数解。加法约束还会留下奇偶性等周期条件。因此,见证必须同时满足两类要求:落在允许区间里,且落在允许的余数类里。
核心观察是:如果所有周期条件以 M 为共同周期,那么从某个下界开始,只须检查连续 M 个整数。任何更远的见证都可减去若干个 M ,退回这段区间;余数条件不变,已有上界也不会被破坏。系数统一先把 2 x 、3 x 之类的约束改写到同一个新变量上,再用额外的整除条件记住这个新变量确实来自原来的整数 x 。
例子与边界
一个模六算例
在 Z 中消去
∃ x ( y ≤ 2 x ≤ y + 3 ∧ x ≡ 1 ( mod 3 ) ) . 令 z = 2 x 。必须同时保留 2 ∣ z 与 6 ∣ z − 2 ;后者已经蕴含前者,因此约束化为
∃ z ( y ≤ z ≤ y + 3 ∧ z ≡ 2 ( mod 6 ) ) . 不小于 y 的第一个合格余数代表是 y + δ ,其中 δ 是 2 − y 模六的最小非负余数。它落在区间中恰好当 δ ≤ 3 :
y mod 6
最小偏移 δ
y + δ ≤ y + 3
0
2
成立
1
1
成立
2
0
成立
3
5
不成立
4
4
不成立
5
3
成立
所以无量词结果为
y ≡ 0 ( mod 6 ) ∨ y ≡ 1 ( mod 6 ) ∨ y ≡ 2 ( mod 6 ) ∨ y ≡ 5 ( mod 6 ) . 例如 y = 3 给出区间 [ 3 , 6 ] ,其中没有模六余二的数;y = 5 则可取 z = 8 ,恢复 x = 4 。当参数 y ≥ 0 时,这个算例的见证也自动非负,因此同一结果适用于自然数版本。
扩充语言与乘法的边界
原来的加法、序语言没有量词消去。公式 ∃ x ( y = x + x ) 定义偶数,而一元无量词线性等式、不等式的有限布尔组合,在足够大的正整数上必定真值恒定:每个线性原子最终恒真或恒假。偶数集合却永远交替。加入固定模数的同余谓词,才使这种投影结果能够无量词地表达。
即使允许所有固定模数,变量乘法仍不可定义。消去后的每个一元公式只含有限多个线性不等式与同余条件;在足够大的数上,不等式真值固定,同余部分以各模数的公倍数为周期。因此每个一元可定义集合最终周期。若乘法可定义,平方数集合也可定义;但给定正周期 p ,选足够大的 n 使 n 2 越过周期起点且 2 n + 1 > p ,则 n 2 + p 严格介于 n 2 与 ( n + 1 ) 2 之间,违背周期性。这给出了表达力的具体界限。
推论与应用
统一系数并保留参数条件
先把存在量词内的无量词公式写成有限析取范式。整数上的严格不等式可改为非严格界,例如 s < t 等价于 s ≤ t − 1 ;否定不等式反向并移动一单位;等式拆成两个非严格不等式,不等式 s ≠ t 拆成 s < t ∨ t < s 。整除原子及其否定可以原样保留。因此,只需处理一支由线性非严格不等式和整除文字组成的合取。不含待消变量 x 的全部条件记为 Γ ( y ¯ ) ,随后始终保留。
设这一支中 x 的非零系数绝对值的最小公倍数为 L ;若没有非零系数,取 L = 1 。对每个系数 a ≠ 0 ,令正整数 d = L / | a | 。不等式两边同乘 d 不改变真值。整除文字则使用
D m ( a x + t ) ⟷ D m d ( d ( a x + t ) ) , 其否定也同样等价。这里模数和整个表达式必须同时乘 d ;只缩放其中一方会改变解集。
现在置 z = L x ,并加入 D L ( z ) ,才能保证每个候选 z 可恢复为整数 x = z / L 。即使原公式只有不等式,这一项也不能漏掉。缩放后 z 的系数只有 1 或 − 1 ,所以不等式可整理成下界 a i ( y ¯ ) ≤ z 或上界 z ≤ b j ( y ¯ ) 。把全部整除文字连同 D L ( z ) 合为 R ( z , y ¯ ) ,得到
∃ z ( Γ ∧ ⋀ i = 1 k a i ≤ z ∧ ⋀ j = 1 h z ≤ b j ∧ R ( z , y ¯ ) ) . a i , b j 都是整数线性参数项;这里没有引入取整函数。若 M 是 R 中各正模数的最小公倍数,包括 L ,则
R ( z + M , y ¯ ) ⟷ R ( z , y ¯ ) . 正整除文字和否定整除文字都具有这个周期。M 由公式的常数系数决定,不依赖参数赋值。
有下界时只查一个周期
先假设已有一个最大的下界 a 。对固定参数,
∃ z ( a ≤ z ∧ ⋀ j = 1 h z ≤ b j ∧ R ( z , y ¯ ) ) ⟷ ⋁ r = 0 M − 1 ( ⋀ j = 1 h a + r ≤ b j ∧ R ( a + r , y ¯ ) ) . 右向左直接取 z = a + r 。左向右,给定见证 z ,对非负整数 z − a 作带余除法:z − a = q M + r ,其中 q ≥ 0 、0 ≤ r < M 。于是 a ≤ a + r ≤ z ,故新候选仍满足所有上界;又因它与原见证相差 q M ,周期条件也保持。即使没有上界,这个证明仍然成立。
算法事先不知道哪个参数项最大,因此要枚举下界的索引。k > 0 时,整支准确化为
Γ ∧ ⋁ i = 1 k [ ( ⋀ ℓ = 1 k a ℓ ≤ a i ) ∧ ⋁ r = 0 M − 1 ( ⋀ j = 1 h a i + r ≤ b j ∧ R ( a i + r , y ¯ ) ) ] . 每个分支内的全部比较 a ℓ ≤ a i 确保被选项确为最大下界。若多个项并列最大,可以有多支成立;析取不要求分支互斥。
无下界时向负方向选见证
k = 0 时,整支的结果是
Γ ∧ ⋁ r = 0 M − 1 R ( r , y ¯ ) . 必要性来自对任一整数见证取模 M 的余数。反过来,若 R ( r , y ¯ ) 成立,选足够大的非负整数 q ,让 z = r − q M 同时不超过有限多个上界 b j ;周期性保持 R 。没有上界时可直接取 q = 0 。这一分支依赖整数向负方向无界,不能照搬到自然数论域。
从单步消去到判定与自然数版本
对有限析取范式的每支应用上述规则,再取析取,就消去一个存在量词。所有索引与余数枚举都有限;输出仍由线性不等式、固定模数整除条件及布尔联结词组成。于是可以沿公式语法树由内向外继续,遇到全称量词用 ∀ x θ ≡ ¬ ∃ x ¬ θ 。每步消去一个量词,整个过程终止;闭公式最终只剩可直接计算的整数比较与整除检验。这证明可判定性,没有给出多项式时间保证,析取范式展开本身就可能很大。
自然数公式先翻译到整数中:将 ∃ x θ 改成 ∃ x ( 0 ≤ x ∧ θ ) ,将 ∀ x θ 改成 ∀ x ( 0 ≤ x → θ ) ,递归处理每个量词,且只考察非负的自由参数赋值。新增的下界阻止算法用负数充当自然数见证。消去后,把含负系数的项移到等号或不等号另一侧,把 D m ( u − v ) 写成二元同余 u ≡ v ( mod m ) ,便回到扩充同余谓词的自然数语言。
这使含量词的线性整数可满足性、计数下标边界以及固定步长约束成为可计算的问题。它也说明Peano 算术 公理库 皮亚诺算术 Peano arithmetic · PA 用一阶语言公理化自然数的零、后继、加法、乘法与归纳模式的形式理论。 与加法算术之间的差别不能仅用“都有归纳”概括:前者有变量乘法,归纳实例也允许使用乘法公式。Presburger 算术不具备第一不完备定理 公理库 哥德尔第一不完备定理 Gödel's first incompleteness theorem 足够强、有效公理化且一致的算术理论存在既不可证也不可否证的句子。 所要求的算术表达能力,因而其有效公理化与完备性并不冲突。完备、可判定仍不意味着模型唯一;一阶紧致性照样允许非标准模型。
参考资料
Cesare Tinelli,Quantifier Elimination — Presburger Arithmetic ,讲义页脚 Spring 04,slides 11–26:扩充整数语言、系数统一与有限候选消去。本文使用便于逐支证明的有限析取范式版本,并自行展开模六算例。
Mojżesz Presburger,On the Completeness of a Certain System of Arithmetic of Whole Numbers in Which Addition Occurs as the Only Operation ,Ryan Stansifer 英译与导言,TR 84-639 ,1984,PDF pp.8–16,尤其末尾关于有序扩展的补注:加法算术的公理化、同余与消去。这里区分自然数公理系统与用于算法的整数结构。