Aio-colloquium, June 2010

45
Duality for first order logic Dion Coumans Radboud University Nijmegen Aio-colloquium, June 2010

Transcript of Aio-colloquium, June 2010

Page 1: Aio-colloquium, June 2010

Duality for first order logic

Dion Coumans

Radboud University Nijmegen

Aio-colloquium, June 2010

Page 2: Aio-colloquium, June 2010

Outline

1 Introduction to logic and duality theory

2 Algebraic semantics for classical first order logic:

Boolean hyperdoctrines

3 Dual notion of Boolean hyperdoctrines:

Indexed Stone spaces

4 Duality for classical first order logic

5 Future work

Page 3: Aio-colloquium, June 2010

Logic

We doing logic we analyse mathematical reasoning

Classical Propositional Logic (CPL)

Propositional variables: p0, p1, . . .

Build formulas using connectives: ∧, ∨, ¬, ⊥, >:

p0 ∧ p1, p0 ∨ (p1 ∧ p2), ¬p0, . . .

Reasoning rules:

DERφ ∧ ψφ

DER1 DER2φ ψ

φ ∧ ψ

DERφ

φ ∨ ψ

Notation: φ ` ψ says ‘ψ is derivable from φ’.

Page 4: Aio-colloquium, June 2010

Logic

Questions

Which formulas are derivable?

Is it decidable wether a formula is derivable?

Does the logic have the interpolation property, that is,

for all formulas φ(p, q) and ψ(p, r) with φ(p, q) ` ψ(p, r),there exists a formula θ(p) s.t.

φ(p, q) ` θ(p) and θ(p) ` ψ(p, r).

Page 5: Aio-colloquium, June 2010

Algebraizing logic

Relate a logic to a class of algebras:

Logic oo // Class of algebras

Page 6: Aio-colloquium, June 2010

Algebraizing logic

Relate a logic to a class of algebras:

CPL oo // Boolean algebras

A Boolean algebra is a structure A = (A,∧,∨,¬, 0, 1) s.t.

a ∨ (b ∨ c) = (a ∨ b) ∨ ca ∨ b = b ∨ a

a ∨ (a ∧ b) = aa ∨ (b ∧ c) = (a ∨ b) ∧ (a ∨ c)

a ∨ ¬a = 1

a ∧ (b ∧ c) = (a ∧ b) ∧ ca ∧ b = b ∧ a

a ∧ (a ∨ b) = aa ∧ (b ∨ c) = (a ∧ b) ∨ (a ∧ c)

a ∧ ¬a = 0

Example: (P(X),∩,∪, ()c, ∅, X)

Page 7: Aio-colloquium, June 2010

Algebraizing logic

Relate a logic to a class of algebras:

CPL oo // Boolean algebras

A Boolean algebra is a structure A = (A,∧,∨,¬, 0, 1) s.t.

a ∨ (b ∨ c) = (a ∨ b) ∨ ca ∨ b = b ∨ a

a ∨ (a ∧ b) = aa ∨ (b ∧ c) = (a ∨ b) ∧ (a ∨ c)

a ∨ ¬a = 1

a ∧ (b ∧ c) = (a ∧ b) ∧ ca ∧ b = b ∧ a

a ∧ (a ∨ b) = aa ∧ (b ∨ c) = (a ∧ b) ∨ (a ∧ c)

a ∧ ¬a = 0

Example: (P(X),∩,∪, ()c, ∅, X)

Page 8: Aio-colloquium, June 2010

Algebraizing logic

Relate a logic to a class of algebras:

CPL oo // Boolean algebras

A Boolean algebra is a structure A = (A,∧,∨,¬, 0, 1) s.t.

a ∨ (b ∨ c) = (a ∨ b) ∨ ca ∨ b = b ∨ a

a ∨ (a ∧ b) = aa ∨ (b ∧ c) = (a ∨ b) ∧ (a ∨ c)

a ∨ ¬a = 1

a ∧ (b ∧ c) = (a ∧ b) ∧ ca ∧ b = b ∧ a

a ∧ (a ∨ b) = aa ∧ (b ∨ c) = (a ∧ b) ∨ (a ∧ c)

a ∧ ¬a = 0

Example: (P(X),∩,∪, ()c, ∅, X)

Page 9: Aio-colloquium, June 2010

Algebraizing logic

Relate a logic to a class of algebras:

CPL // Boolean algebras

Start from a set of propositional variables P .Consider Fm(P ) and define:

φ ≈ ψ ⇔ φ ` ψ and ψ ` φ

(Fm(P )/ ≈,∧,∨,¬, [⊥], [>]) is a Boolean algebra, where

[φ] ∨ [ψ] = [φ ∨ ψ][φ] ∧ [ψ] = [φ ∧ ψ]

¬[φ] = [¬φ]

We call this the Lindenbaum algebra.

Page 10: Aio-colloquium, June 2010

Algebraizing logic

Interpreting a logic in a Boolean algebra:

Every map f : P → A (valuation) extends to a uniquehomomorphism f̃ : Fm(P ) → A.

We say φ is valid in A if, for every valuation f , f̃(φ) = 1.

Notation: A |= φ.

Soundness and completeness theorem:

For every formula φ,

`CPL φ ⇔ |=BA φ

Page 11: Aio-colloquium, June 2010

Algebraizing logic

Interpreting a logic in a Boolean algebra:

Every map f : P → A (valuation) extends to a uniquehomomorphism f̃ : Fm(P ) → A.

We say φ is valid in A if, for every valuation f , f̃(φ) = 1.

Notation: A |= φ.

Soundness and completeness theorem:

For every formula φ,

`CPL φ ⇔ |=BA φ

Page 12: Aio-colloquium, June 2010

Duality in logic

LogicOO

��Class of algebras

Page 13: Aio-colloquium, June 2010

Duality in logic

LogicOO

��Class of algebras

��__ Class of dual structures

Page 14: Aio-colloquium, June 2010

Duality in logic

CPLOO

��Boolean algebras

Page 15: Aio-colloquium, June 2010

Duality in logic

CPLOO

��Boolean algebras

��__ Stone spaces

Page 16: Aio-colloquium, June 2010

Duality in logic

CPLOO

��Boolean algebras

!!aa Stone spaces

B � // (Uf(B), τB)

Cl(X) �oo X

Page 17: Aio-colloquium, June 2010

Duality in logic

CPLOO

��Boolean algebras

!!aa Stone spaces

B h−→ C� //

Uf(C) h−1

−−→ Uf(B)

Cl(Y )f−1

−−→ Cl(X)�oo

Xf−→ Y

Page 18: Aio-colloquium, June 2010

Duality in logic

CPL over a set of variables XOO

��Lindenbaum algebraof formulas over X

��__ Maps X → 2

‘valuations’

Page 19: Aio-colloquium, June 2010

Duality for first order logic

Classical first order logicOO

��?

��__ ?

Page 20: Aio-colloquium, June 2010

Duality for first order logic

Classical first order logicOO

��Boolean hyperdoctrines

��__ ?

1 What are Boolean hyperdoctrines?

Page 21: Aio-colloquium, June 2010

Duality for first order logic

Classical first order logicOO

��Boolean hyperdoctrines

��__ Indexed Stone spaces

1 What are Boolean hyperdoctrines?

2 Identify the dual notion of a Boolean hyperdoctrine.

Page 22: Aio-colloquium, June 2010

Algebraic semantics for first order logic

We start from

Signature: Σ = (f0, . . . , fk−1, R0, . . . , Rl−1, c0, . . . , cm−1)

Set of variables: X = {x0, x1, . . .}

Build terms from the variables using function symbols andconstants:

x1, f0(x0), f2(f1(x0, f3(c1))), . . .

Build formulas from the terms using ∧,∨,¬,⊥,>,∃,∀ andrelation symbols:

R0(x0), R0(x1) ∧R1(x0, c0), ∃x1R1(f0(x0), x1), . . .

Page 23: Aio-colloquium, June 2010

Algebraic semantics for first order logic

We start from

Signature: Σ = (f0, . . . , fk−1, R0, . . . , Rl−1, c0, . . . , cm−1)

Set of variables: X = {x0, x1, . . .}

Question:

What properties does the collection of all formulas over Σ have?

First observation:

For each n ∈ N,

(Fm(x0, . . . , xn−1), `) is a Boolean algebra.

Page 24: Aio-colloquium, June 2010

Algebraic semantics for first order logic

We start from

Signature: Σ = (f0, . . . , fk−1, R0, . . . , Rl−1, c0, . . . , cm−1)

Set of variables: X = {x0, x1, . . .}

Question:

What properties does the collection of all formulas over Σ have?

First observation:

For each n ∈ N,

(Fm(x0, . . . , xn−1), `) is a Boolean algebra.

Page 25: Aio-colloquium, June 2010

Algebraic semantics for first order logic

�[] [x0] [x0, x1] . . .

Page 26: Aio-colloquium, June 2010

Algebraic semantics for first order logic

�φ(c)

�φ(x0)

〈c〉rr

�[] [x0] [x0, x1] . . .

Substitutions:

x0 7→ cφ(x0) 7→ φ(c)

Page 27: Aio-colloquium, June 2010

Algebraic semantics for first order logic

�φ(c) ..

22

�φ(x0)

〈c〉rr

22

�rrrr

zz

[] [x0] [x0, x1] . . .

Substitutions:

x0 7→ cφ(x0) 7→ φ(c)

Page 28: Aio-colloquium, June 2010

Algebraic semantics for first order logic

Contexts and substitutions form a category B:

Objects: natural numbers (contexts)

Morphism n→ m: m-tuple 〈t0, . . . , tm−1〉s.t. FV (ti) ⊆ {x0, . . . , xn−1}

[]〈c〉

++

〈c, f(c)〉

66[x0]

〈x0, f(x0)〉..

〈x0〉

��[x0, x1] . . .ll

Page 29: Aio-colloquium, June 2010

Algebraic semantics for first order logic

Contexts and substitutions form a category B:

Objects: natural numbers (contexts)

Morphism n→ m: m-tuple 〈t0, . . . , tm−1〉s.t. FV (ti) ⊆ {x0, . . . , xn−1}

This category has finite products:

[x0, x1] [x0, x1, x2]〈x0, x1〉oo 〈x2〉 // [x0]

Page 30: Aio-colloquium, June 2010

Algebraic semantics for first order logic

Contexts and substitutions form a category B:

Objects: natural numbers (contexts)

Morphism n→ m: m-tuple 〈t0, . . . , tm−1〉s.t. FV (ti) ⊆ {x0, . . . , xn−1}

This category has finite products:

[x0, x1] [x0, x1, x2]〈x0, x1〉oo 〈x2〉 // [x0]

[. . .]〈t0, t1〉

jjTTTTTTTTTTTTTTTTTTT〈s0〉

55kkkkkkkkkkkkkkkkkkk

〈t0, t1, s0〉

OO

Page 31: Aio-colloquium, June 2010

Algebraic semantics for first order logic

Formulas and substitutions: functor Bop → BA

n 7→ Fm(x0, . . . , xn−1)

n〈t0,...,tm−1〉−−−−−−−→ m 7→ Fm(x0, . . . , xm−1) → Fm(x0, . . . , xn−1)

φ(x0, . . . , xm−1) 7→ φ(t0, . . . , tm−1)

'

&

$

%φ(c, f(c))

'

&

$

%φ(x0, f(x0))

rr

'

&

$

%φ(x0, x1)

rr

dd

[]〈c〉

,,

〈c, f(c)〉

77[x0]

〈x0, f(x0)〉--[x0, x1] . . .

Page 32: Aio-colloquium, June 2010

Algebraic semantics for first order logic

Existential quantification: related to the inclusion map

�φ(x0)

i&&

�ψ(x0, x1)

∃x1

ff

[x0] [x0, x1]〈x0〉oo

∃x1(ψ(x0, x1)) `x0 φ(x0) ⇔ ψ(x0, x1) `x0,x1 i(φ(x0))

Page 33: Aio-colloquium, June 2010

Algebraic semantics for first order logic

Existential quantification: related to the inclusion map

�φ(x0)

i&&

�ψ(x0, x1)

∃x1

ff

[x0] [x0, x1]〈x0〉oo

∃x1(ψ(x0, x1)) `x0 φ(x0) ⇔ ψ(x0, x1) `x0,x1 i(φ(x0))

Page 34: Aio-colloquium, June 2010

Algebraic semantics for first order logic

Existential quantification: related to the inclusion map

�φ(x0)

i&&

�ψ(x0, x1)

∃x1

ff

[x0] [x0, x1]〈x0〉oo

∃x1(ψ(x0, x1)) ≤x0 φ(x0) ⇔ ψ(x0, x1) ≤x0,x1 i(φ(x0))

Page 35: Aio-colloquium, June 2010

Algebraic semantics for first order logic

Quantification: interaction with substitutions

〈f(x0)〉 ""

�ψ(x0, x1)

∃x1xx

〈f(x0), x1〉||

[x0] [x0, x1]

∃x1(ψ(x0, x1))[f(x0)/x0] = ∃x1(ψ(f(x0), x1))

(Beck-Chevalley)

Page 36: Aio-colloquium, June 2010

Algebraic semantics for first order logic

A Boolean hyperdoctrine is a functor F : Bop → BA s.t.

1 B is a category with finite products;

2 for all I, J ∈ B, F(πI,J) : F(I) → F(I × J) has a left adjoint

∃I,J such that, for all Iu−→ K in B,

F(K × J)∃K,J //

F(u×id)��

F(K)

F(u)��

F(I × J)∃I,J

// F(I)

commutes.

Page 37: Aio-colloquium, June 2010

Algebraic semantics for first order logic

Examples of Boolean hyperdoctrines:

Syntactic hyperdoctrine

B = contexts and substitutions

F : Bop → BAn 7→ Fm(x0, . . . , xn−1)

Subset hyperdoctrine

B = SetP : Bop → BA

A 7→ powerset ofA

Page 38: Aio-colloquium, June 2010

Duality for first order logic

B BAUf

%%

Cl

ee Stone spaces

I

u

��

F(I) Uf(F(I))

F(u)−1

��J F(J)

F(u)

OO

Uf(F(J))

This gives us a dual equivalence between:

Functors F : Bop → BA Functors G : B → StSp

F � // Uf ◦ F

Cl ◦ G �oo G

Page 39: Aio-colloquium, June 2010

Duality for first order logic

B BAUf

%%

Cl

ee Stone spaces

I

u

��

F(I) Uf(F(I))

F(u)−1

��J F(J)

F(u)

OO

Uf(F(J))

This gives us a dual equivalence between:

Functors F : Bop → BA Functors G : B → StSp

F � // Uf ◦ F

Cl ◦ G �oo G

Page 40: Aio-colloquium, June 2010

Duality for first order logic

F : Bop → BA

F(πI,J) has a left adjoint ∃I,J

for all Iu−→ K,

F(K × J)∃K,J //

F(u×id)

��

F(K)

F(u)

��F(I × J)

∃I,J// F(I)

commutes.

G : B → StSp

G(πI,J) is an open map

for all Iu−→ K,

z ∈ G(I × J)G(πI,J )

//

G(u×id)

��

G(I)

G(u)

��

3 y

x ∈ G(K × J)G(πK,J )

// G(K)

G(u)(x) = G(πK,J)(y) implies

there exists z ∈ G(I × J) s.t.

G(πI,J)(z) = xG(u× id)(z) = y.

Page 41: Aio-colloquium, June 2010

Duality for first order logic

F : Bop → BA

F(πI,J) has a left adjoint ∃I,J

for all Iu−→ K,

F(K × J)∃K,J //

F(u×id)

��

F(K)

F(u)

��F(I × J)

∃I,J// F(I)

commutes.

G : B → StSp

G(πI,J) is an open map

for all Iu−→ K,

z ∈ G(I × J)G(πI,J )

//

G(u×id)

��

G(I)

G(u)

��

3 y

x ∈ G(K × J)G(πK,J )

// G(K)

G(u)(x) = G(πK,J)(y) implies

there exists z ∈ G(I × J) s.t.

G(πI,J)(z) = xG(u× id)(z) = y.

Page 42: Aio-colloquium, June 2010

Duality for first order logic

F : Bop → BA

F(πI,J) has a left adjoint ∃I,J

for all Iu−→ K,

F(K × J)∃K,J //

F(u×id)

��

F(K)

F(u)

��F(I × J)

∃I,J// F(I)

commutes.

G : B → StSp

G(πI,J) is an open map

for all Iu−→ K,

z ∈ G(I × J)G(πI,J )

//

G(u×id)

��

G(I)

G(u)

��

3 y

x ∈ G(K × J)G(πK,J )

// G(K)

G(u)(x) = G(πK,J)(y) implies

there exists z ∈ G(I × J) s.t.

G(πI,J)(z) = xG(u× id)(z) = y.

Page 43: Aio-colloquium, June 2010

Duality for first order logic

Boolean hyperdoctrines

Functors F : Bop → BA s.t.

1 B has finite products;

2 F(πI,J) has a left adjoint ∃I,J

and for all Iu−→ K,

F(K × J)∃K,J //

F(u×id)

��

F(K)

F(u)

��F(I × J)

∃I,J// F(I)

commutes.

Indexed Stone spaces

Functors G : B → StSp s.t.

1 B has finite products;

2 G(πI,J) is an open map and

for all Iu−→ K,

G(I × J)G(πK,J )

//

G(u×id)

��

G(I)

G(u)

��G(K × J)

G(πI,J )// G(K)

is epicartesian.

Page 44: Aio-colloquium, June 2010

Duality for first order logic

Duality theorem for classical first order logic:

The category of Boolean hyperdoctrines and the categoryof indexed Stone spaces are dually equivalent.

Boolean hyperdoctrines Indexed Stone spaces

F � // Uf ◦ F

Cl ◦ G �oo G

Page 45: Aio-colloquium, June 2010

Future work

Having a duality for classical first order logic we would like to:

1 Describe dual structures for non-classical first order logics.

2 Obtain information about these first order logics via studyingtheir dual structures.

3 In particular: study the interpolation property dually.