60
KIT – I NSTITUT F ¨ UR THEORETISCHE I NFORMATIK Formale Systeme Prof. Dr. Bernhard Beckert, WS 2018/2019 Theory Reasoning (Theorie-Schließen) · Folien von M. Ulbrich KIT – Die Forschungsuniversit¨ at in der Helmholtz-Gemeinschaft www.kit.edu

Prof. Dr. Bernhard Beckert, WS 2018/2019 Theory Reasoning ... · Prof. Dr. Bernhard Beckert, WS 2018/2019 Theory Reasoning (Theorie-Schließen) Folien von M. Ulbrich KIT – Die Forschungsuniversit¨at

  • Upload
    others

  • View
    6

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Prof. Dr. Bernhard Beckert, WS 2018/2019 Theory Reasoning ... · Prof. Dr. Bernhard Beckert, WS 2018/2019 Theory Reasoning (Theorie-Schließen) Folien von M. Ulbrich KIT – Die Forschungsuniversit¨at

KIT – INSTITUT FUR THEORETISCHE INFORMATIK

Formale SystemeProf. Dr. Bernhard Beckert, WS 2018/2019

Theory Reasoning (Theorie-Schließen) · Folien von M. Ulbrich

KIT – Die Forschungsuniversitat in der Helmholtz-Gemeinschaftwww.kit.edu

Mihai Herda
Vorläufige Version, eine korrigierte Version wird noch auf der Vorlesungswebseite hochgeladen.
Page 2: Prof. Dr. Bernhard Beckert, WS 2018/2019 Theory Reasoning ... · Prof. Dr. Bernhard Beckert, WS 2018/2019 Theory Reasoning (Theorie-Schließen) Folien von M. Ulbrich KIT – Die Forschungsuniversit¨at

Satisfiability Modulo Theories –Introduction

Formale Systeme – Prof. Dr. Bernhard Beckert (Folien: Mattias Ulbrich) – 1/40

Page 3: Prof. Dr. Bernhard Beckert, WS 2018/2019 Theory Reasoning ... · Prof. Dr. Bernhard Beckert, WS 2018/2019 Theory Reasoning (Theorie-Schließen) Folien von M. Ulbrich KIT – Die Forschungsuniversit¨at

Different Questions to Ask

Question so far in this lecture . . .

Question: Is formula φ valid / satisfiable / unsatisfiable(in all structures/models)

(∀x .p(x))→ p(f (x)) is valid.

x > y → y < x is not valid (uninterpreted symbols!)

New question . . .

Question: Is formula φ valid / satisfiable / unsatisfiablein structures with certain properties(typically: with fixed interpretation for symbols)

∃x . 2 · x2 − x − 1 = 0 ∧ x < 0 holds in R, . . .

. . . but not in Z.

Formale Systeme – Prof. Dr. Bernhard Beckert (Folien: Mattias Ulbrich) – 2/40

Page 4: Prof. Dr. Bernhard Beckert, WS 2018/2019 Theory Reasoning ... · Prof. Dr. Bernhard Beckert, WS 2018/2019 Theory Reasoning (Theorie-Schließen) Folien von M. Ulbrich KIT – Die Forschungsuniversit¨at

Theories

Given a FOL signature ΣFmlΣ . . . set of closed FOL-formulas over Σ.

Definition: Theory

A theory T ⊂ FmlΣ is a set of formulas such that

1 T is closed under consequence: If T |= φ then φ ∈ T

2 T is consistent: T 6|= false

Note:T consistent iff T has a modelT consistent iff false 6∈ T (because T closed)

Formale Systeme – Prof. Dr. Bernhard Beckert (Folien: Mattias Ulbrich) – 3/40

Page 5: Prof. Dr. Bernhard Beckert, WS 2018/2019 Theory Reasoning ... · Prof. Dr. Bernhard Beckert, WS 2018/2019 Theory Reasoning (Theorie-Schließen) Folien von M. Ulbrich KIT – Die Forschungsuniversit¨at

Theories: Basic Definitions

A FOL structure (D, I ) is a T -structure ifD, I |= φ for all φ ∈ T .

A T -structure (D, I ) is a T -model of ψ ∈ FmlΣ if D, I |= ψ.

ψ ∈ FmlΣ is T -satisfiable if it has a T -model.

ψ ∈ FmlΣ is T -valid if every T -structure is a T -model of ψ.(Note: T |= ψ ⇐⇒ ψ ∈ T )

T is complete if: φ ∈ T or ¬φ ∈ T for all φ ∈ FmlΣ

|=T is used instead of T |=: S |=T φ defined as S ∪ T |= φ

Formale Systeme – Prof. Dr. Bernhard Beckert (Folien: Mattias Ulbrich) – 4/40

Page 6: Prof. Dr. Bernhard Beckert, WS 2018/2019 Theory Reasoning ... · Prof. Dr. Bernhard Beckert, WS 2018/2019 Theory Reasoning (Theorie-Schließen) Folien von M. Ulbrich KIT – Die Forschungsuniversit¨at

Defining Theories

Axiomatisation

A theory T may be defined by a set Ax ⊂ FmlΣ of axioms.T is the consequential closure of Ax :

T = T (Ax) := {φ | Ax |= φ}

(T is “axiomatisable”)

Fixing a structure

Theory T may be represented by one particular structure (D, I ).T is the set of true formulas in (D, I ):

T = T (D, I ) := {φ | (D, I ) |= φ}

Formale Systeme – Prof. Dr. Bernhard Beckert (Folien: Mattias Ulbrich) – 5/40

Page 7: Prof. Dr. Bernhard Beckert, WS 2018/2019 Theory Reasoning ... · Prof. Dr. Bernhard Beckert, WS 2018/2019 Theory Reasoning (Theorie-Schließen) Folien von M. Ulbrich KIT – Die Forschungsuniversit¨at

Discussion

Every theory T (D, I ) is complete.

If Ax is recursively enumerable,then T (Ax) is recursively enumerable

Even if Ax is finite or decidable,T (Ax) is, in general, not decidable.

There are (D, I ) such that T (D, I ) is not rec. enum.(and, thus, not axiomatisable with a rec. enum. Ax)

(D, I ) is not the only T (D, I )-model.(In general, two T (D, I )-models are not even isomorphic)

Formale Systeme – Prof. Dr. Bernhard Beckert (Folien: Mattias Ulbrich) – 6/40

Page 8: Prof. Dr. Bernhard Beckert, WS 2018/2019 Theory Reasoning ... · Prof. Dr. Bernhard Beckert, WS 2018/2019 Theory Reasoning (Theorie-Schließen) Folien von M. Ulbrich KIT – Die Forschungsuniversit¨at

Discussion

Every theory T (D, I ) is complete.

If Ax is recursively enumerable,then T (Ax) is recursively enumerable

Even if Ax is finite or decidable,T (Ax) is, in general, not decidable.

There are (D, I ) such that T (D, I ) is not rec. enum.(and, thus, not axiomatisable with a rec. enum. Ax)

(D, I ) is not the only T (D, I )-model.(In general, two T (D, I )-models are not even isomorphic)

Formale Systeme – Prof. Dr. Bernhard Beckert (Folien: Mattias Ulbrich) – 6/40

Page 9: Prof. Dr. Bernhard Beckert, WS 2018/2019 Theory Reasoning ... · Prof. Dr. Bernhard Beckert, WS 2018/2019 Theory Reasoning (Theorie-Schließen) Folien von M. Ulbrich KIT – Die Forschungsuniversit¨at

Discussion

Every theory T (D, I ) is complete.

If Ax is recursively enumerable,then T (Ax) is recursively enumerable

Even if Ax is finite or decidable,T (Ax) is, in general, not decidable.

There are (D, I ) such that T (D, I ) is not rec. enum.(and, thus, not axiomatisable with a rec. enum. Ax)

(D, I ) is not the only T (D, I )-model.(In general, two T (D, I )-models are not even isomorphic)

Formale Systeme – Prof. Dr. Bernhard Beckert (Folien: Mattias Ulbrich) – 6/40

Page 10: Prof. Dr. Bernhard Beckert, WS 2018/2019 Theory Reasoning ... · Prof. Dr. Bernhard Beckert, WS 2018/2019 Theory Reasoning (Theorie-Schließen) Folien von M. Ulbrich KIT – Die Forschungsuniversit¨at

Discussion

Every theory T (D, I ) is complete.

If Ax is recursively enumerable,then T (Ax) is recursively enumerable

Even if Ax is finite or decidable,T (Ax) is, in general, not decidable.

There are (D, I ) such that T (D, I ) is not rec. enum.(and, thus, not axiomatisable with a rec. enum. Ax)

(D, I ) is not the only T (D, I )-model.(In general, two T (D, I )-models are not even isomorphic)

Formale Systeme – Prof. Dr. Bernhard Beckert (Folien: Mattias Ulbrich) – 6/40

Page 11: Prof. Dr. Bernhard Beckert, WS 2018/2019 Theory Reasoning ... · Prof. Dr. Bernhard Beckert, WS 2018/2019 Theory Reasoning (Theorie-Schließen) Folien von M. Ulbrich KIT – Die Forschungsuniversit¨at

Discussion

Every theory T (D, I ) is complete.

If Ax is recursively enumerable,then T (Ax) is recursively enumerable

Even if Ax is finite or decidable,T (Ax) is, in general, not decidable.

There are (D, I ) such that T (D, I ) is not rec. enum.(and, thus, not axiomatisable with a rec. enum. Ax)

(D, I ) is not the only T (D, I )-model.(In general, two T (D, I )-models are not even isomorphic)

Formale Systeme – Prof. Dr. Bernhard Beckert (Folien: Mattias Ulbrich) – 6/40

Page 12: Prof. Dr. Bernhard Beckert, WS 2018/2019 Theory Reasoning ... · Prof. Dr. Bernhard Beckert, WS 2018/2019 Theory Reasoning (Theorie-Schließen) Folien von M. Ulbrich KIT – Die Forschungsuniversit¨at

Free variablesWhen dealing with theories, formulas often have free variables.

Open and closed (reminder)

φ1 = ∀x .∃y .p(x , y) is closed, has no free variables,φ2 = ∃y .p(x , y) is open, has free variables FV (φ2) = {x}

FmloΣ ⊃ FmlΣ . . . set of open formulas

Existential closure ∃[·]For φ ∈ FmloΣ with FV = {x1, ..., xn} define:

∃[φ] := ∃x1. . . .∃xn. φ

φ ∈ FmloΣ is called T-satisfiable if ∃[φ] is T-satisfiable.NOTE: Therefore, free variables in T -SAT problems behave likeconstants. In difference to that, so far, we treated free variablesmostly as being implicitly universally quantified

Formale Systeme – Prof. Dr. Bernhard Beckert (Folien: Mattias Ulbrich) – 7/40

Page 13: Prof. Dr. Bernhard Beckert, WS 2018/2019 Theory Reasoning ... · Prof. Dr. Bernhard Beckert, WS 2018/2019 Theory Reasoning (Theorie-Schließen) Folien von M. Ulbrich KIT – Die Forschungsuniversit¨at

Axioms for Equality

Theorem

Equality can be axiomatised in first order logic.

This means: Given signature Σ, there is a set EqΣ ⊂ FmlΣ thataxiomatise equality:

φ≈ is formula φ with interpreted “.

=” replaced by uninterpred “≈”.

S |= φ ⇐⇒ S≈ |=T (EqΣ) φ≈

Formale Systeme – Prof. Dr. Bernhard Beckert (Folien: Mattias Ulbrich) – 8/40

Page 14: Prof. Dr. Bernhard Beckert, WS 2018/2019 Theory Reasoning ... · Prof. Dr. Bernhard Beckert, WS 2018/2019 Theory Reasoning (Theorie-Schließen) Folien von M. Ulbrich KIT – Die Forschungsuniversit¨at

Axioms for Equality

Axioms EqΣ:

∀x . x ≈ x (Reflexivity)

∀x1, x1, . . . , xn, x′n.

x1 ≈ x ′1 ∧ . . . ∧ xn ≈ x ′n → f (x1, ..., xn) ≈ f (x ′1, . . . , x′n)

for any function f in Σ with arity n. (Congruency)

∀x1, x1, . . . , xn, x′n.

x1 ≈ x ′1 ∧ . . . ∧ xn ≈ x ′n → p(x1, ..., xn)↔ p(x ′1, . . . , x′n)

for any predicate p in Σ with arity n. (Congruency)(This includes predicate ≈)

Symmetry and transitivity of ≈ are consequences of EqΣ

Exercise

Formale Systeme – Prof. Dr. Bernhard Beckert (Folien: Mattias Ulbrich) – 9/40

Page 15: Prof. Dr. Bernhard Beckert, WS 2018/2019 Theory Reasoning ... · Prof. Dr. Bernhard Beckert, WS 2018/2019 Theory Reasoning (Theorie-Schließen) Folien von M. Ulbrich KIT – Die Forschungsuniversit¨at

Axioms for Equality

Axioms EqΣ:

∀x . x ≈ x (Reflexivity)

∀x1, x1, . . . , xn, x′n.

x1 ≈ x ′1 ∧ . . . ∧ xn ≈ x ′n → f (x1, ..., xn) ≈ f (x ′1, . . . , x′n)

for any function f in Σ with arity n. (Congruency)

∀x1, x1, . . . , xn, x′n.

x1 ≈ x ′1 ∧ . . . ∧ xn ≈ x ′n → p(x1, ..., xn)↔ p(x ′1, . . . , x′n)

for any predicate p in Σ with arity n. (Congruency)(This includes predicate ≈)

Symmetry and transitivity of ≈ are consequences of EqΣ

Exercise

Formale Systeme – Prof. Dr. Bernhard Beckert (Folien: Mattias Ulbrich) – 9/40

Page 16: Prof. Dr. Bernhard Beckert, WS 2018/2019 Theory Reasoning ... · Prof. Dr. Bernhard Beckert, WS 2018/2019 Theory Reasoning (Theorie-Schließen) Folien von M. Ulbrich KIT – Die Forschungsuniversit¨at

Axioms for Equality

Axioms EqΣ:

∀x . x ≈ x (Reflexivity)

∀x1, x1, . . . , xn, x′n.

x1 ≈ x ′1 ∧ . . . ∧ xn ≈ x ′n → f (x1, ..., xn) ≈ f (x ′1, . . . , x′n)

for any function f in Σ with arity n. (Congruency)

∀x1, x1, . . . , xn, x′n.

x1 ≈ x ′1 ∧ . . . ∧ xn ≈ x ′n → p(x1, ..., xn)↔ p(x ′1, . . . , x′n)

for any predicate p in Σ with arity n. (Congruency)(This includes predicate ≈)

Symmetry and transitivity of ≈ are consequences of EqΣ

Exercise

Formale Systeme – Prof. Dr. Bernhard Beckert (Folien: Mattias Ulbrich) – 9/40

Page 17: Prof. Dr. Bernhard Beckert, WS 2018/2019 Theory Reasoning ... · Prof. Dr. Bernhard Beckert, WS 2018/2019 Theory Reasoning (Theorie-Schließen) Folien von M. Ulbrich KIT – Die Forschungsuniversit¨at

Axioms for Equality

Axioms EqΣ:

∀x . x ≈ x (Reflexivity)

∀x1, x1, . . . , xn, x′n.

x1 ≈ x ′1 ∧ . . . ∧ xn ≈ x ′n → f (x1, ..., xn) ≈ f (x ′1, . . . , x′n)

for any function f in Σ with arity n. (Congruency)

∀x1, x1, . . . , xn, x′n.

x1 ≈ x ′1 ∧ . . . ∧ xn ≈ x ′n → p(x1, ..., xn)↔ p(x ′1, . . . , x′n)

for any predicate p in Σ with arity n. (Congruency)(This includes predicate ≈)

Symmetry and transitivity of ≈ are consequences of EqΣ

Exercise

Formale Systeme – Prof. Dr. Bernhard Beckert (Folien: Mattias Ulbrich) – 9/40

Page 18: Prof. Dr. Bernhard Beckert, WS 2018/2019 Theory Reasoning ... · Prof. Dr. Bernhard Beckert, WS 2018/2019 Theory Reasoning (Theorie-Schließen) Folien von M. Ulbrich KIT – Die Forschungsuniversit¨at

Satisfiability Modulo Theories

SMT solvers

A lot of research in recent years:(Simplify), Z3, CVC4, Yices, MathSAT, SPT, . . .Some for many theories, others only for a single theory.

(Common input format SMT-Lib 2)

FmlQF ⊂ Fmlo . . . the set of quantifier-free formulas

Interesting questions for a theory T :

SAT: Is φ ∈ Fmlo a T -satisfiable formula?

QF-SAT: Is φ ∈ FmlQF a T -satisfiable formula?

Formale Systeme – Prof. Dr. Bernhard Beckert (Folien: Mattias Ulbrich) – 10/40

Page 19: Prof. Dr. Bernhard Beckert, WS 2018/2019 Theory Reasoning ... · Prof. Dr. Bernhard Beckert, WS 2018/2019 Theory Reasoning (Theorie-Schließen) Folien von M. Ulbrich KIT – Die Forschungsuniversit¨at

Satisfiability Modulo Theories

SMT solvers

A lot of research in recent years:(Simplify), Z3, CVC4, Yices, MathSAT, SPT, . . .Some for many theories, others only for a single theory.

(Common input format SMT-Lib 2)

FmlQF ⊂ Fmlo . . . the set of quantifier-free formulas

Interesting questions for a theory T :

SAT: Is φ ∈ Fmlo a T -satisfiable formula?

QF-SAT: Is φ ∈ FmlQF a T -satisfiable formula?

Formale Systeme – Prof. Dr. Bernhard Beckert (Folien: Mattias Ulbrich) – 10/40

Page 20: Prof. Dr. Bernhard Beckert, WS 2018/2019 Theory Reasoning ... · Prof. Dr. Bernhard Beckert, WS 2018/2019 Theory Reasoning (Theorie-Schließen) Folien von M. Ulbrich KIT – Die Forschungsuniversit¨at

Satisfiability Modulo Theories

SMT solvers

A lot of research in recent years:(Simplify), Z3, CVC4, Yices, MathSAT, SPT, . . .Some for many theories, others only for a single theory.

(Common input format SMT-Lib 2)

FmlQF ⊂ Fmlo . . . the set of quantifier-free formulas

Interesting questions for a theory T :

SAT: Is φ ∈ Fmlo a T -satisfiable formula?

QF-SAT: Is φ ∈ FmlQF a T -satisfiable formula?

Formale Systeme – Prof. Dr. Bernhard Beckert (Folien: Mattias Ulbrich) – 10/40

Page 21: Prof. Dr. Bernhard Beckert, WS 2018/2019 Theory Reasoning ... · Prof. Dr. Bernhard Beckert, WS 2018/2019 Theory Reasoning (Theorie-Schließen) Folien von M. Ulbrich KIT – Die Forschungsuniversit¨at

Decision Procedure

Decision Procedure

A decision procedure DPT for a theory T is a deterministicalgorithm that always terminates.It takes a formula φ as input and returns SAT if φ is T -satisfiable,UNSAT otherwise.

N.B.:

φ is T -valid ⇐⇒ ¬φ is not T -satisfiable.

DPT can also be used to decide validity!

Formale Systeme – Prof. Dr. Bernhard Beckert (Folien: Mattias Ulbrich) – 11/40

Page 22: Prof. Dr. Bernhard Beckert, WS 2018/2019 Theory Reasoning ... · Prof. Dr. Bernhard Beckert, WS 2018/2019 Theory Reasoning (Theorie-Schließen) Folien von M. Ulbrich KIT – Die Forschungsuniversit¨at

Decision Procedures

Theory QF-SAT SATEquality YES YESUninterpreted functions YES co-SEMIInteger arithmeticLinear arithmeticReal arithmeticBitvectors YES YESFloating points YES YES

Formale Systeme – Prof. Dr. Bernhard Beckert (Folien: Mattias Ulbrich) – 12/40

Page 23: Prof. Dr. Bernhard Beckert, WS 2018/2019 Theory Reasoning ... · Prof. Dr. Bernhard Beckert, WS 2018/2019 Theory Reasoning (Theorie-Schließen) Folien von M. Ulbrich KIT – Die Forschungsuniversit¨at

Natural Arithmetic

Formale Systeme – Prof. Dr. Bernhard Beckert (Folien: Mattias Ulbrich) – 13/40

Page 24: Prof. Dr. Bernhard Beckert, WS 2018/2019 Theory Reasoning ... · Prof. Dr. Bernhard Beckert, WS 2018/2019 Theory Reasoning (Theorie-Schließen) Folien von M. Ulbrich KIT – Die Forschungsuniversit¨at

Natural Numbers

Standard model of natural numbers

Let ΣN = ({+, ∗, 0, 1}, {<}).

N = (N, IN ) with “obvious” meaning:

IN ({

+∗<

})(a, b) = a

{+·<

}b, IN (0) = 0, IN (1) = 1

T (N ) is the set of all sentences over ΣN which are true in thenatural numbers.

Godel’s Incompleteness Theorem

“Any consistent formal system F within which a certain amount ofelementary arithmetic can be carried out is incomplete.”

Natural number arithmetic is not axiomatisablewith a rec. enum. set of axioms

Formale Systeme – Prof. Dr. Bernhard Beckert (Folien: Mattias Ulbrich) – 14/40

Page 25: Prof. Dr. Bernhard Beckert, WS 2018/2019 Theory Reasoning ... · Prof. Dr. Bernhard Beckert, WS 2018/2019 Theory Reasoning (Theorie-Schließen) Folien von M. Ulbrich KIT – Die Forschungsuniversit¨at

Peano Arithmetic

Natural number arithmetic is not axiomatisable . . .Let’s approximate.

The Peano Axioms PA1 ∀x(x + 1 6 .= 0)

2 ∀x∀y(x + 1.

= y + 1→ x.

= y)

3 ∀x(x + 0.

= x)

4 ∀x∀y(x + (y + 1).

= (x + y) + 1)

5 ∀x(x ∗ 0.

= 0)

6 ∀x∀y(x ∗ (y + 1).

= (x ∗ y) + x)

7 For any φ ∈ FmlΣN

(φ(0) ∧ ∀x(φ(x)→ φ(x + 1)))→ ∀x(φ)

That’s an infinite (yet recursive) set of Axioms.

Formale Systeme – Prof. Dr. Bernhard Beckert (Folien: Mattias Ulbrich) – 15/40

Page 26: Prof. Dr. Bernhard Beckert, WS 2018/2019 Theory Reasoning ... · Prof. Dr. Bernhard Beckert, WS 2018/2019 Theory Reasoning (Theorie-Schließen) Folien von M. Ulbrich KIT – Die Forschungsuniversit¨at

Peano Arithmetic

Natural number arithmetic is not axiomatisable . . .Let’s approximate.

The Peano Axioms PA1 ∀x(x + 1 6 .= 0)

2 ∀x∀y(x + 1.

= y + 1→ x.

= y)

3 ∀x(x + 0.

= x)

4 ∀x∀y(x + (y + 1).

= (x + y) + 1)

5 ∀x(x ∗ 0.

= 0)

6 ∀x∀y(x ∗ (y + 1).

= (x ∗ y) + x)

7 For any φ ∈ FmlΣN

(φ(0) ∧ ∀x(φ(x)→ φ(x + 1)))→ ∀x(φ)

That’s an infinite (yet recursive) set of Axioms.

Formale Systeme – Prof. Dr. Bernhard Beckert (Folien: Mattias Ulbrich) – 15/40

Page 27: Prof. Dr. Bernhard Beckert, WS 2018/2019 Theory Reasoning ... · Prof. Dr. Bernhard Beckert, WS 2018/2019 Theory Reasoning (Theorie-Schließen) Folien von M. Ulbrich KIT – Die Forschungsuniversit¨at

Peano Arithmetic

Natural number arithmetic is not axiomatisable . . .Let’s approximate.

The Peano Axioms PA1 ∀x(x + 1 6 .= 0)

2 ∀x∀y(x + 1.

= y + 1→ x.

= y)

3 ∀x(x + 0.

= x)

4 ∀x∀y(x + (y + 1).

= (x + y) + 1)

5 ∀x(x ∗ 0.

= 0)

6 ∀x∀y(x ∗ (y + 1).

= (x ∗ y) + x)

7 For any φ ∈ FmlΣN

(φ(0) ∧ ∀x(φ(x)→ φ(x + 1)))→ ∀x(φ)

That’s an infinite (yet recursive) set of Axioms.

Formale Systeme – Prof. Dr. Bernhard Beckert (Folien: Mattias Ulbrich) – 15/40

Page 28: Prof. Dr. Bernhard Beckert, WS 2018/2019 Theory Reasoning ... · Prof. Dr. Bernhard Beckert, WS 2018/2019 Theory Reasoning (Theorie-Schließen) Folien von M. Ulbrich KIT – Die Forschungsuniversit¨at

Peano Arithmetic

Peano arithmetic approximates natural arithmetic.

More T (PA)-models than T (N )-models

T (PA) is not complete.

=⇒ There are T (N )-valid formulas that are not T (PA)-validformulas.

There are artificial examples in T (N ) \ T (PA),but also actual mathematical theorems:

Formale Systeme – Prof. Dr. Bernhard Beckert (Folien: Mattias Ulbrich) – 16/40

Page 29: Prof. Dr. Bernhard Beckert, WS 2018/2019 Theory Reasoning ... · Prof. Dr. Bernhard Beckert, WS 2018/2019 Theory Reasoning (Theorie-Schließen) Folien von M. Ulbrich KIT – Die Forschungsuniversit¨at

Peano Arithmetic

Peano arithmetic approximates natural arithmetic.

More T (PA)-models than T (N )-models

T (PA) is not complete.

=⇒ There are T (N )-valid formulas that are not T (PA)-validformulas.

There are artificial examples in T (N ) \ T (PA),but also actual mathematical theorems:

Formale Systeme – Prof. Dr. Bernhard Beckert (Folien: Mattias Ulbrich) – 16/40

Page 30: Prof. Dr. Bernhard Beckert, WS 2018/2019 Theory Reasoning ... · Prof. Dr. Bernhard Beckert, WS 2018/2019 Theory Reasoning (Theorie-Schließen) Folien von M. Ulbrich KIT – Die Forschungsuniversit¨at

Peano Arithmetic

Peano arithmetic approximates natural arithmetic.

More T (PA)-models than T (N )-models

T (PA) is not complete.

=⇒ There are T (N )-valid formulas that are not T (PA)-validformulas.

There are artificial examples in T (N ) \ T (PA),but also actual mathematical theorems:

Formale Systeme – Prof. Dr. Bernhard Beckert (Folien: Mattias Ulbrich) – 16/40

Page 31: Prof. Dr. Bernhard Beckert, WS 2018/2019 Theory Reasoning ... · Prof. Dr. Bernhard Beckert, WS 2018/2019 Theory Reasoning (Theorie-Schließen) Folien von M. Ulbrich KIT – Die Forschungsuniversit¨at

Peano Arithmetic

Peano arithmetic approximates natural arithmetic.

More T (PA)-models than T (N )-models

T (PA) is not complete.

=⇒ There are T (N )-valid formulas that are not T (PA)-validformulas.

There are artificial examples in T (N ) \ T (PA),but also actual mathematical theorems:

Formale Systeme – Prof. Dr. Bernhard Beckert (Folien: Mattias Ulbrich) – 16/40

Page 32: Prof. Dr. Bernhard Beckert, WS 2018/2019 Theory Reasoning ... · Prof. Dr. Bernhard Beckert, WS 2018/2019 Theory Reasoning (Theorie-Schließen) Folien von M. Ulbrich KIT – Die Forschungsuniversit¨at

Peano Arithmetic

Peano arithmetic approximates natural arithmetic.

More T (PA)-models than T (N )-models

T (PA) is not complete.

=⇒ There are T (N )-valid formulas that are not T (PA)-validformulas.

There are artificial examples in T (N ) \ T (PA),but also actual mathematical theorems:

Formale Systeme – Prof. Dr. Bernhard Beckert (Folien: Mattias Ulbrich) – 16/40

Page 33: Prof. Dr. Bernhard Beckert, WS 2018/2019 Theory Reasoning ... · Prof. Dr. Bernhard Beckert, WS 2018/2019 Theory Reasoning (Theorie-Schließen) Folien von M. Ulbrich KIT – Die Forschungsuniversit¨at

Decision Procedures

Theory QF-SAT SATEquality YES YESUninterpreted functions YES co-SEMIInteger arithmetic NO1 NOLinear arithmeticReal arithmeticBitvectors YES YESFloating points YES YES

1 Yuri Matiyasevich. Enumerable sets are diophantine. Journal of SovieticMathematics, 1970.

Formale Systeme – Prof. Dr. Bernhard Beckert (Folien: Mattias Ulbrich) – 19/40

Page 34: Prof. Dr. Bernhard Beckert, WS 2018/2019 Theory Reasoning ... · Prof. Dr. Bernhard Beckert, WS 2018/2019 Theory Reasoning (Theorie-Schließen) Folien von M. Ulbrich KIT – Die Forschungsuniversit¨at

Presburger Arithmetic

Let ΣP = ({0, 1,+}, {<}), the signature w/o multiplication.

The Presburger Axioms P

1 ∀x(x + 1 6 .= 0)

2 ∀x∀y(x + 1.

= y + 1→ x.

= y)

3 ∀x(x + 0.

= x)

4 ∀x∀y(x + (y + 1).

= (x + y) + 1)

5 For any φ ∈ FmlΣN

(φ(0) ∧ ∀x(φ(x)→ φ(x + 1)))→ ∀x(φ)

A subset of the Peano axioms (w/o those for multiplication).

Conventions:3

def= 1 + 1 + 1, 3x

def= x + x + x , etc.

Formale Systeme – Prof. Dr. Bernhard Beckert (Folien: Mattias Ulbrich) – 20/40

Page 35: Prof. Dr. Bernhard Beckert, WS 2018/2019 Theory Reasoning ... · Prof. Dr. Bernhard Beckert, WS 2018/2019 Theory Reasoning (Theorie-Schließen) Folien von M. Ulbrich KIT – Die Forschungsuniversit¨at

Presburger Arithmetic

Let ΣP = ({0, 1,+}, {<}), the signature w/o multiplication.

The Presburger Axioms P

1 ∀x(x + 1 6 .= 0)

2 ∀x∀y(x + 1.

= y + 1→ x.

= y)

3 ∀x(x + 0.

= x)

4 ∀x∀y(x + (y + 1).

= (x + y) + 1)

5 For any φ ∈ FmlΣN

(φ(0) ∧ ∀x(φ(x)→ φ(x + 1)))→ ∀x(φ)

A subset of the Peano axioms (w/o those for multiplication).

Conventions:3

def= 1 + 1 + 1, 3x

def= x + x + x , etc.

Formale Systeme – Prof. Dr. Bernhard Beckert (Folien: Mattias Ulbrich) – 20/40

Page 36: Prof. Dr. Bernhard Beckert, WS 2018/2019 Theory Reasoning ... · Prof. Dr. Bernhard Beckert, WS 2018/2019 Theory Reasoning (Theorie-Schließen) Folien von M. Ulbrich KIT – Die Forschungsuniversit¨at

Presburger Arithmetic

Mojzesz Presburger. Uber die Vollstandigkeit eines gewissenSystems der Arithmetik, Warsaw 1929

Theorem

He proved Presburger arithmetic to be

consistent,

complete, and

decidable.

We are interested in the 3rd property!

Formale Systeme – Prof. Dr. Bernhard Beckert (Folien: Mattias Ulbrich) – 21/40

Page 37: Prof. Dr. Bernhard Beckert, WS 2018/2019 Theory Reasoning ... · Prof. Dr. Bernhard Beckert, WS 2018/2019 Theory Reasoning (Theorie-Schließen) Folien von M. Ulbrich KIT – Die Forschungsuniversit¨at

Presburger Arithmetic

Mojzesz Presburger. Uber die Vollstandigkeit eines gewissenSystems der Arithmetik, Warsaw 1929

Theorem

He proved Presburger arithmetic to be

consistent,

complete, and

decidable.

We are interested in the 3rd property!

Formale Systeme – Prof. Dr. Bernhard Beckert (Folien: Mattias Ulbrich) – 21/40

Page 38: Prof. Dr. Bernhard Beckert, WS 2018/2019 Theory Reasoning ... · Prof. Dr. Bernhard Beckert, WS 2018/2019 Theory Reasoning (Theorie-Schließen) Folien von M. Ulbrich KIT – Die Forschungsuniversit¨at

Presburger Arithmetic

Mojzesz Presburger. Uber die Vollstandigkeit eines gewissenSystems der Arithmetik, Warsaw 1929

Theorem

He proved Presburger arithmetic to be

consistent,

complete, and

decidable.

We are interested in the 3rd property!

Formale Systeme – Prof. Dr. Bernhard Beckert (Folien: Mattias Ulbrich) – 21/40

Page 39: Prof. Dr. Bernhard Beckert, WS 2018/2019 Theory Reasoning ... · Prof. Dr. Bernhard Beckert, WS 2018/2019 Theory Reasoning (Theorie-Schließen) Folien von M. Ulbrich KIT – Die Forschungsuniversit¨at

Quantifier Elimination

Definition

A theory T admits quantifier elimination (QE) if any formula

Q1x1 . . .Qnxn. φ(x1, . . . , xn, y1, . . . , ym) ∈ Fmlo

is T -equivalent to a quantifier-free formula

ψ(y1, . . . , ym) ∈ Fmlo .

Qi ∈ {∀,∃}

If T -ground instances in FmlQF ∩ Fml can be decided, QE gives usa decision procedure for T .

Formale Systeme – Prof. Dr. Bernhard Beckert (Folien: Mattias Ulbrich) – 22/40

Page 40: Prof. Dr. Bernhard Beckert, WS 2018/2019 Theory Reasoning ... · Prof. Dr. Bernhard Beckert, WS 2018/2019 Theory Reasoning (Theorie-Schließen) Folien von M. Ulbrich KIT – Die Forschungsuniversit¨at

Quantifier Elimination

Definition

A theory T admits quantifier elimination (QE) if any formula

Q1x1 . . .Qnxn. φ(x1, . . . , xn, y1, . . . , ym) ∈ Fmlo

is T -equivalent to a quantifier-free formula

ψ(y1, . . . , ym) ∈ Fmlo .

Qi ∈ {∀,∃}

If T -ground instances in FmlQF ∩ Fml can be decided, QE gives usa decision procedure for T .

Formale Systeme – Prof. Dr. Bernhard Beckert (Folien: Mattias Ulbrich) – 22/40

Page 41: Prof. Dr. Bernhard Beckert, WS 2018/2019 Theory Reasoning ... · Prof. Dr. Bernhard Beckert, WS 2018/2019 Theory Reasoning (Theorie-Schließen) Folien von M. Ulbrich KIT – Die Forschungsuniversit¨at

Quantifier Elimination

Lemma

If T admits QE for any formula

∃x . φ1(x , y1, . . . , ym) ∧ . . . ∧ φn(x , y1, . . . , ym) ∈ Fmlo

with φi literals, then T admits QE for any formula in Fmlo .

Literal: atomic formula or a negation of one.

Proof: (Easy) exercise.

Formale Systeme – Prof. Dr. Bernhard Beckert (Folien: Mattias Ulbrich) – 23/40

Page 42: Prof. Dr. Bernhard Beckert, WS 2018/2019 Theory Reasoning ... · Prof. Dr. Bernhard Beckert, WS 2018/2019 Theory Reasoning (Theorie-Schließen) Folien von M. Ulbrich KIT – Die Forschungsuniversit¨at

Quantifier Elimination

Lemma

If T admits QE for any formula

∃x . φ1(x , y1, . . . , ym) ∧ . . . ∧ φn(x , y1, . . . , ym) ∈ Fmlo

with φi literals, then T admits QE for any formula in Fmlo .

Literal: atomic formula or a negation of one.

Proof: (Easy) exercise.

Formale Systeme – Prof. Dr. Bernhard Beckert (Folien: Mattias Ulbrich) – 23/40

Page 43: Prof. Dr. Bernhard Beckert, WS 2018/2019 Theory Reasoning ... · Prof. Dr. Bernhard Beckert, WS 2018/2019 Theory Reasoning (Theorie-Schließen) Folien von M. Ulbrich KIT – Die Forschungsuniversit¨at

Presburger and Quantifier Elimination

Does Presburger Arithmetic admit QE?

Almost ... However

∃x .y = x + x has no quantifier-free P-equivalent

Add predicates: {k |· : k ∈ N>0} “k divides ...”

∃x .y = x + x ↔ 2|y is P-valid

Presburger Arithmetic with divisibility admits QE.

Cooper’s algorithm

Formale Systeme – Prof. Dr. Bernhard Beckert (Folien: Mattias Ulbrich) – 24/40

Page 44: Prof. Dr. Bernhard Beckert, WS 2018/2019 Theory Reasoning ... · Prof. Dr. Bernhard Beckert, WS 2018/2019 Theory Reasoning (Theorie-Schließen) Folien von M. Ulbrich KIT – Die Forschungsuniversit¨at

Presburger and Quantifier Elimination

Does Presburger Arithmetic admit QE?

Almost ... However

∃x .y = x + x has no quantifier-free P-equivalent

Add predicates: {k |· : k ∈ N>0} “k divides ...”

∃x .y = x + x ↔ 2|y is P-valid

Presburger Arithmetic with divisibility admits QE.

Cooper’s algorithm

Formale Systeme – Prof. Dr. Bernhard Beckert (Folien: Mattias Ulbrich) – 24/40

Page 45: Prof. Dr. Bernhard Beckert, WS 2018/2019 Theory Reasoning ... · Prof. Dr. Bernhard Beckert, WS 2018/2019 Theory Reasoning (Theorie-Schließen) Folien von M. Ulbrich KIT – Die Forschungsuniversit¨at

Presburger and Quantifier Elimination

Does Presburger Arithmetic admit QE?

Almost ... However

∃x .y = x + x has no quantifier-free P-equivalent

Add predicates: {k |· : k ∈ N>0} “k divides ...”

∃x .y = x + x ↔ 2|y is P-valid

Presburger Arithmetic with divisibility admits QE.

Cooper’s algorithm

Formale Systeme – Prof. Dr. Bernhard Beckert (Folien: Mattias Ulbrich) – 24/40

Page 46: Prof. Dr. Bernhard Beckert, WS 2018/2019 Theory Reasoning ... · Prof. Dr. Bernhard Beckert, WS 2018/2019 Theory Reasoning (Theorie-Schließen) Folien von M. Ulbrich KIT – Die Forschungsuniversit¨at

Real arithmetic is decidable

Σ = ({+,−, ·, 0, 1}, {≤}), ϕ ∈ FmlΣ

Reminder:

N |= ϕ is not decidable, not even recursive enumerable (Godel).

Tarski-Seidenberg theorem (c. 1948)

R |= ϕ is decidable.Complexity is double exponential (c. 1988).

Idea: Quantifier elimination

Find formula ψ such that (∃x .ϕ(x , y))↔ ψ(y).Computer algebra systems do this: Redlog, Mathematica, (Z3)

Formale Systeme – Prof. Dr. Bernhard Beckert (Folien: Mattias Ulbrich) – 25/40

Page 47: Prof. Dr. Bernhard Beckert, WS 2018/2019 Theory Reasoning ... · Prof. Dr. Bernhard Beckert, WS 2018/2019 Theory Reasoning (Theorie-Schließen) Folien von M. Ulbrich KIT – Die Forschungsuniversit¨at

Real arithmetic is decidable

Σ = ({+,−, ·, 0, 1}, {≤}), ϕ ∈ FmlΣ

Reminder:

N |= ϕ is not decidable, not even recursive enumerable (Godel).

Tarski-Seidenberg theorem (c. 1948)

R |= ϕ is decidable.Complexity is double exponential (c. 1988).

Idea: Quantifier elimination

Find formula ψ such that (∃x .ϕ(x , y))↔ ψ(y).Computer algebra systems do this: Redlog, Mathematica, (Z3)

Formale Systeme – Prof. Dr. Bernhard Beckert (Folien: Mattias Ulbrich) – 25/40

Page 48: Prof. Dr. Bernhard Beckert, WS 2018/2019 Theory Reasoning ... · Prof. Dr. Bernhard Beckert, WS 2018/2019 Theory Reasoning (Theorie-Schließen) Folien von M. Ulbrich KIT – Die Forschungsuniversit¨at

Real arithmetic is decidable

Σ = ({+,−, ·, 0, 1}, {≤}), ϕ ∈ FmlΣ

Reminder:

N |= ϕ is not decidable, not even recursive enumerable (Godel).

Tarski-Seidenberg theorem (c. 1948)

R |= ϕ is decidable.Complexity is double exponential (c. 1988).

Idea: Quantifier elimination

Find formula ψ such that (∃x .ϕ(x , y))↔ ψ(y).Computer algebra systems do this: Redlog, Mathematica, (Z3)

Formale Systeme – Prof. Dr. Bernhard Beckert (Folien: Mattias Ulbrich) – 25/40

Page 49: Prof. Dr. Bernhard Beckert, WS 2018/2019 Theory Reasoning ... · Prof. Dr. Bernhard Beckert, WS 2018/2019 Theory Reasoning (Theorie-Schließen) Folien von M. Ulbrich KIT – Die Forschungsuniversit¨at

Real arithmetic is decidable

Σ = ({+,−, ·, 0, 1}, {≤}), ϕ ∈ FmlΣ

Reminder:

N |= ϕ is not decidable, not even recursive enumerable (Godel).

Tarski-Seidenberg theorem (c. 1948)

R |= ϕ is decidable.Complexity is double exponential (c. 1988).

Idea: Quantifier elimination

Find formula ψ such that (∃x .ϕ(x , y))↔ ψ(y).Computer algebra systems do this: Redlog, Mathematica, (Z3)

Formale Systeme – Prof. Dr. Bernhard Beckert (Folien: Mattias Ulbrich) – 25/40

Page 50: Prof. Dr. Bernhard Beckert, WS 2018/2019 Theory Reasoning ... · Prof. Dr. Bernhard Beckert, WS 2018/2019 Theory Reasoning (Theorie-Schließen) Folien von M. Ulbrich KIT – Die Forschungsuniversit¨at

Decision Procedures

Theory QF-SAT SATEquality YES YESUninterpreted functions YES co-SEMIInteger arithmetic NO NOLinear arithmetic YES YESReal arithmetic YES YESBitvectors YES YESFloating points YES YES

Beckert, Ulbrich – Formale Systeme II: Theorie 36/47

Page 51: Prof. Dr. Bernhard Beckert, WS 2018/2019 Theory Reasoning ... · Prof. Dr. Bernhard Beckert, WS 2018/2019 Theory Reasoning (Theorie-Schließen) Folien von M. Ulbrich KIT – Die Forschungsuniversit¨at

Combining Theories

Beckert, Ulbrich – Formale Systeme II: Theorie 38/47

Page 52: Prof. Dr. Bernhard Beckert, WS 2018/2019 Theory Reasoning ... · Prof. Dr. Bernhard Beckert, WS 2018/2019 Theory Reasoning (Theorie-Schließen) Folien von M. Ulbrich KIT – Die Forschungsuniversit¨at

Combining Theories

What if we have two (or more) theories within one formula?

f (a) = g(a + 1) ∧ g(a + b) > f (a) satisfiable?

Decision procedures exist for linear integers, and for uninterpretedfunctions.

Goal

Find decision procedures for combinations of theories.

Combinations of theoriesLet T1 ⊆ FmlΣ1 and T2 ⊆ FmlΣ2 be theories.The combined theory T1,2 ∈ FmlΣ1∪Σ2 is defined as:

T1,2def= T (T1 ∪ T2)

Beckert, Ulbrich – Formale Systeme II: Theorie 39/47

Page 53: Prof. Dr. Bernhard Beckert, WS 2018/2019 Theory Reasoning ... · Prof. Dr. Bernhard Beckert, WS 2018/2019 Theory Reasoning (Theorie-Schließen) Folien von M. Ulbrich KIT – Die Forschungsuniversit¨at

Purification

f (a) = g(a + 1) ∧ g(a + b) > f (a) (1)

Purification

Extract expressions using fresh constants and equalities.Make each atomic formula belong to one theory only.

f (a) = g(y) ∧ y = a + 1 ∧z = g(u) ∧ u = a + b ∧ w = f (a) ∧ z > w

is equisatisfiable to (1).

Note: This resembles the construction of the “short CNF”.

Beckert, Ulbrich – Formale Systeme II: Theorie 40/47

Page 54: Prof. Dr. Bernhard Beckert, WS 2018/2019 Theory Reasoning ... · Prof. Dr. Bernhard Beckert, WS 2018/2019 Theory Reasoning (Theorie-Schließen) Folien von M. Ulbrich KIT – Die Forschungsuniversit¨at

Convex Theories

Definition

A Σ theory T is convex if for every conjunctive ϕ ∈ FmlΣ

(ϕ→⋃

i=1 xi = yi ) is T -valid for some finite n > 1implies that

(ϕ→ xi = yi ) is T -valid for some i ∈ {1, . . . , n}

where xi , yi , for i ∈ {1, . . . , n}, are variables.

Examples:

Linear arithmetic over R is convex.

Linear arithmetic over N is not convex:

x1 = 1 ∧ x2 = 2 ∧ 1 ≤ x3 ∧ x3 ≤ 2→ (x3 = x1 ∨ x3 = x2)

Beckert, Ulbrich – Formale Systeme II: Theorie 41/47

Page 55: Prof. Dr. Bernhard Beckert, WS 2018/2019 Theory Reasoning ... · Prof. Dr. Bernhard Beckert, WS 2018/2019 Theory Reasoning (Theorie-Schließen) Folien von M. Ulbrich KIT – Die Forschungsuniversit¨at

Nelson-Oppen Combination Procedure

In order for the Nelson–Oppen procedure to be applicable, thetheories T1,T2 must comply with the following restrictions:

1 T1,T2 are quantifier-free first-order theories with equality.

2 There is a decision procedure for each of the theories

3 The signatures are disjoint, i.e., for all Σ1 ∩ Σ2 = ∅4 T1,T2 are theories are stably infinite: Every T -satisfiable

formula has an infinite model (e.g., linear arithmetic over R,but not the theory of finite-width bit vectors).

(Generalisation to more than two theories: simple, see literature)

Beckert, Ulbrich – Formale Systeme II: Theorie 42/47

Page 56: Prof. Dr. Bernhard Beckert, WS 2018/2019 Theory Reasoning ... · Prof. Dr. Bernhard Beckert, WS 2018/2019 Theory Reasoning (Theorie-Schließen) Folien von M. Ulbrich KIT – Die Forschungsuniversit¨at

Example

from: D. Kroning, O.Strichman: Decision Procedures, Springer Verlag

Beckert, Ulbrich – Formale Systeme II: Theorie 43/47

Page 57: Prof. Dr. Bernhard Beckert, WS 2018/2019 Theory Reasoning ... · Prof. Dr. Bernhard Beckert, WS 2018/2019 Theory Reasoning (Theorie-Schließen) Folien von M. Ulbrich KIT – Die Forschungsuniversit¨at

Example

Beckert, Ulbrich – Formale Systeme II: Theorie 44/47

Page 58: Prof. Dr. Bernhard Beckert, WS 2018/2019 Theory Reasoning ... · Prof. Dr. Bernhard Beckert, WS 2018/2019 Theory Reasoning (Theorie-Schließen) Folien von M. Ulbrich KIT – Die Forschungsuniversit¨at

Nelsson-Oppen Algorithm – convex case

T1,T2 convex theories with with the Nelsson-Oppen properties.Assume convex (conjunctive) problem.

τ bridges between T1 and T2 and is a conjunction of equalitiesover variables

After purification: ϕ1 ∈ Fml1, ϕ2 ∈ Fml2, τ ⊆ Fml=

1 If ϕ1 ∧∧τ is T1-unsatisfiable, return UNSAT

2 If ϕ2 ∧∧τ is T2-unsatisfiable, return UNSAT

3 “learn” new equalities:τ := τ ∪

⋃{x = y | ϕ1 ∧ τ → x = y is T1-valid}

∪⋃{x = y | ϕ2 ∧ τ → x = y is T2-valid}

4 If nothing was “learnt”, return SAT

5 Go to 1

Beckert, Ulbrich – Formale Systeme II: Theorie 45/47

Page 59: Prof. Dr. Bernhard Beckert, WS 2018/2019 Theory Reasoning ... · Prof. Dr. Bernhard Beckert, WS 2018/2019 Theory Reasoning (Theorie-Schließen) Folien von M. Ulbrich KIT – Die Forschungsuniversit¨at

Soundness

This algorithm is a decision procedure for T1/2.

To show: ϕ1 ∧ ϕ2 is satisfiable ⇐⇒ algorithm returns SAT .

Proof sketch on blackboard

see also: D. Kroning, O. Strichman: Decision Procedures, SpringerVerlag. Section 10.3.3.

Beckert, Ulbrich – Formale Systeme II: Theorie 46/47

Page 60: Prof. Dr. Bernhard Beckert, WS 2018/2019 Theory Reasoning ... · Prof. Dr. Bernhard Beckert, WS 2018/2019 Theory Reasoning (Theorie-Schließen) Folien von M. Ulbrich KIT – Die Forschungsuniversit¨at

Non-convex theories

1 If ϕ1 ∧ τ is T1-unsatisfiable, return UNSAT

2 If ϕ2 ∧ τ is T2-unsatisfiable, return UNSAT

3 “learn” new equalities:τ := τ ∧

∧{x = y | ϕ1 ∧ τ → x = y is T1-valid}

∧∧{x = y | ϕ2 ∧ τ → x = y is T2-valid}

4 If nothing was “learnt”, split: If there exists i such that

ϕi → (x1 = y1 ∨ . . . ∨ xk = yk) andϕi 6→ (xj = yj)

then apply Nelson–Oppen recursively to adding xi = yi to thedifferent τ .If any of these subproblems is satisfiable, return “Satisfiable”.Otherwise, return “Unsatisfiable”.

Beckert, Ulbrich – Formale Systeme II: Theorie 47/47