many-sorted logic - helsingin yliopisto · many-sorted logic jouko väänänen1;2 1department of...
TRANSCRIPT
Many-sorted logic
Jouko Väänänen1,2
1Department of Mathematics and Statistics, University of Helsinki
2Institute for Logic, Language and Computation, University of Amsterdam
January 2014
Jouko Väänänen (Helsinki and Amsterdam) Many-sorted logic January 2014 1 / 114
Introduction
Jouko Väänänen (Helsinki and Amsterdam) Many-sorted logic January 2014 2 / 114
Many-sorted logic MSL
Several “sorts" of variableselements and sequences of elementsvector spaces: scalars and vectorsgeometry: points and linessecond order logic: individuals and subsets.
Jouko Väänänen (Helsinki and Amsterdam) Many-sorted logic January 2014 3 / 114
Many-sorted logic
Can be translated into one-sorted logicMany-sorted version of a theorem is sometimes more powerfulthan the single sorted version.Craig Interpolation Theorem.Applications of the many-sorted interpolation theorem.Applications to “symbiosis" between set theory and model theory.
Jouko Väänänen (Helsinki and Amsterdam) Many-sorted logic January 2014 4 / 114
Single sorted logic
Jouko Väänänen (Helsinki and Amsterdam) Many-sorted logic January 2014 5 / 114
DefinitionAn ordinary single sorted first order structure (model)
M = (M,R1, . . . ,Rm, f1, . . . , fk , c1, . . . , cl)
consists of1 Universe M 6= ∅2 Relations R1, . . . ,Rm between elements of the universe3 Functions f1, . . . , fk between elements of the universe4 Distinguished constants c1, . . . , cl in the universe.
Jouko Väänänen (Helsinki and Amsterdam) Many-sorted logic January 2014 6 / 114
where ...
Ri ⊆ M × ...×M
fi : M × ...×M → M
ci ∈ M
Jouko Väänänen (Helsinki and Amsterdam) Many-sorted logic January 2014 7 / 114
Syntax in single sorted logic
t = t ′
Rt1...tn¬φ∧n φn∨n φn
∃xiφ
∀xiφ
In second order logic add
∃X mi φ where X m
i is m-ary
∀X mi φ where X m
i is m-ary
In monadic second order logic m = 1.Jouko Väänänen (Helsinki and Amsterdam) Many-sorted logic January 2014 8 / 114
Semantics in single sorted logic
Assignments v intoM are functions on voc(L)-variables such thatv(xi) ∈ M for each xi . Modified assignment v(a/xi) as usual.
DefinitionFirst order logic:M |=v ∃xiφ ⇐⇒ M |=v(a/xi ) φ for some a ∈ M.M |=v ∀xiφ ⇐⇒ M |=v(a/xi ) φ for all a ∈ M.
Second order logic:M |=v ∃X m
i φ ⇐⇒ M |=v(A/X mi ) φ for some A ⊆ Mm.
M |=v ∀X mi φ ⇐⇒ M |=v(a/X m
i ) φ for all A ⊆ Mm.
Jouko Väänänen (Helsinki and Amsterdam) Many-sorted logic January 2014 9 / 114
Semantics in single sorted logic
Assignments v intoM are functions on voc(L)-variables such thatv(xi) ∈ M for each xi . Modified assignment v(a/xi) as usual.
DefinitionFirst order logic:M |=v ∃xiφ ⇐⇒ M |=v(a/xi ) φ for some a ∈ M.M |=v ∀xiφ ⇐⇒ M |=v(a/xi ) φ for all a ∈ M.
Second order logic:M |=v ∃X m
i φ ⇐⇒ M |=v(A/X mi ) φ for some A ⊆ Mm.
M |=v ∀X mi φ ⇐⇒ M |=v(a/X m
i ) φ for all A ⊆ Mm.
Jouko Väänänen (Helsinki and Amsterdam) Many-sorted logic January 2014 9 / 114
Many sorted logic: its structures
Jouko Väänänen (Helsinki and Amsterdam) Many-sorted logic January 2014 10 / 114
DefinitionA many-sorted structure (model)
M = ({M1, . . . ,Mn},R1, . . . ,Rm, f1, . . . , fk , c1, . . . , cl)
consists of1 Universes (“sorts") M1, . . . ,Mn, each 6= ∅2 Relations R1, . . . ,Rm between elements of the universes3 Functions f1, . . . , fk between elements of the universes4 Distinguished constants c1, . . . , cl in the universes.
We callM n-sorted. M is “strict" if the Mi are disjoint, otherwise “lax".We allow n = 0, i.e. “no sorts" as a special case.
Jouko Väänänen (Helsinki and Amsterdam) Many-sorted logic January 2014 11 / 114
where ...
Ri ⊆ Mi1 × ...×Mis s(Ri) = 〈i1, ..., is〉 ⊆ {1, ...,n}
fi : Mi1 × ...×Mis → Mr s(fi) = 〈i1, ..., is, r〉 ⊆ {1, ...,n}
ci ∈ Mj s(ci) = j ∈ {1, ...,n}
No relation between elements of sort s or sort s′ and elements of sorts′′.
Jouko Väänänen (Helsinki and Amsterdam) Many-sorted logic January 2014 12 / 114
ExampleAn ordinary single-sorted first order structure
(M,R1, . . . ,Rm, f1, . . . , fk , c1, . . . , cl)
resurrects in this notation as a 1-sorted structure
({M},R1, . . . ,Rm, f1, . . . , fk , c1, . . . , cl)
Jouko Väänänen (Helsinki and Amsterdam) Many-sorted logic January 2014 13 / 114
Chu spaces
ExampleA Chu space is a strict 2-sorted structure ({A,X},R), (denoted(A,X ,R)), where R ⊆ A× X . For example:
A X Raxelements sets a ∈ xmodels sentences a |= xsentences models x |= a.
Jouko Väänänen (Helsinki and Amsterdam) Many-sorted logic January 2014 14 / 114
Vector spaces
ExampleA vector space is a strict 2-sorted structure
V = ({F ,V},+F , ·F ,0F ,1F ,+V , ·V ,0V ),
where1 (F ,+F , ·F ,0F ,1F ) is a field2 (V ,+V ,0V ) is an Abelian group3 ·V : F × V → V satisfies
a ·V (u +V w) = a ·V u +V a ·V w(a ·F b) ·V u = a ·V (b ·V u)(a +F b) ·V u = a ·V u +V b ·V u1F ·V u = u
Jouko Väänänen (Helsinki and Amsterdam) Many-sorted logic January 2014 15 / 114
Vector spaces (simpler notation)
ExampleA vector space is a strict 2-sorted structure
V = (F ,V ,+, ·,0),
where1 F is a field2 (V ,+,0) is an Abelian group3 The function (a, v) 7→ av(= a · v) : F × V → V satisfies
a(u + w) = au + aw(ab) · u = a(bu)(a + b)u = au + bu1u = u
Jouko Väänänen (Helsinki and Amsterdam) Many-sorted logic January 2014 16 / 114
Model with a pairing function
ExampleA first order structure with a pairing function is a strict 2-sortedstructure
M = ({N,M}, π, ...),
where π is a pairing function, i.e. a bijection M ×M → N. We can alsolet N = M2 and π(x , y) = (x , y).
Note: If M is finite, π cannot be a function into M, so a new sort isneeded.
Jouko Väänänen (Helsinki and Amsterdam) Many-sorted logic January 2014 17 / 114
Model with finite sequences
ExampleA first order structure with finite sequences is a strict 3-sorted structure
M = ({⋃n
Mn,N,M}, len,0, s, σ...),
where len(a) = n if a ∈ Mn, s is the successor function on N, and
σ(〈a1, . . . ,an〉, i) = ai .
Jouko Väänänen (Helsinki and Amsterdam) Many-sorted logic January 2014 18 / 114
Second order domain
ExampleA first order structure with second order domain is a strict 2-sortedstructure
M = ({P(M),M},∈, ...),
where1 ∈ is the membership relation a ∈ B between a ∈ M and B ⊆ M2 (M, ...) is a first order structure.
Jouko Väänänen (Helsinki and Amsterdam) Many-sorted logic January 2014 19 / 114
Higher order domains
ExampleA first order structure with second and third order domains is a strict3-sorted structure
M = ({P(P(M)),P(M),M},∈1,∈2, ...),
where1 ∈1 is the membership relation a ∈1 B between a ∈ M and B ⊆ M2 ∈2 is the membership relation B ∈2 C between B ⊆ M andC ⊆ P(M)
3 (M, ...) is a first order structure.
Jouko Väänänen (Helsinki and Amsterdam) Many-sorted logic January 2014 20 / 114
Second order structure
ExampleA (full) second order structure is a strict 2-sorted structure
M = ({P(M),M},∈,R, ...),
where1 ∈ is the membership relation a ∈ B between a ∈ M and B ⊆ M2 R, ... are relations, functions and constants between elements of
M ∪ P(M).
Jouko Väänänen (Helsinki and Amsterdam) Many-sorted logic January 2014 21 / 114
Database
ExampleThe database
John male D 2500 MaryMary female E 2600 PaulLaura female B 2500 Mary
is a 4-sorted structure with the sorts
1: Name-sort2: Gender-sort3: Department-sort4: Salary-sort
Jouko Väänänen (Helsinki and Amsterdam) Many-sorted logic January 2014 22 / 114
Database as a many-sorted structure
The database is({M1,M2,M3,M4},R)
whereM1 = {John,Mary ,Laura,Paul}M2 = {female,male}M3 = {B,D,E}M4 = {2500,2600}
andR ⊆ M1 ×M2 ×M3 ×M4 ×M1
is the relation indicated by the database.
Jouko Väänänen (Helsinki and Amsterdam) Many-sorted logic January 2014 23 / 114
ExampleThe two table (relation) relational database
R1:John male D MaryMary female E PaulLaura female B Mary
R2:
A 1000B 1300C 1500D 2500E 2600
is another example of a 4-sorted structure, this time with two relations.
Jouko Väänänen (Helsinki and Amsterdam) Many-sorted logic January 2014 24 / 114
More about many sorted structures
Jouko Väänänen (Helsinki and Amsterdam) Many-sorted logic January 2014 25 / 114
DefinitionA many-sorted structure
M = ({M1, . . . ,Mn},R1, . . . ,Rm, f1, . . . , fk , c1, . . . , cl)
is isomorphic to
M′ = ({M ′1, . . . ,M ′n},R′1, . . . ,R′m, f ′1, . . . , f ′k , c′1, . . . , c′l )
if there is a bijection π :⋃
s Ms →⋃
s M ′s such that1 π � Mi : Mi → M ′i is bijection for i = 1, ...,n2 Ri(a1, ...,as) ⇐⇒ R′i (π(a1), ..., π(as))
3 πfi(a1, ...,as) = f ′i (π(a1), ..., π(as))
4 πci = c′i
Jouko Väänänen (Helsinki and Amsterdam) Many-sorted logic January 2014 26 / 114
DefinitionA many-sorted structure
M = ({M1, . . . ,Mn},R1, . . . ,Rm, f1, . . . , fk , c1, . . . , cl)
is an extension of a many-sorted structure
M′ = ({M ′1, . . . ,M ′n},R′1, . . . ,R′m, f ′1, . . . , f ′k , c′1, . . . , c′l )
if1 M ′i ⊆ Mi for i = 1, ...,n2 R′i (a1, ...,as) ⇐⇒ Ri(a1, ...,as) for a1, ...,as ∈
⋃ni=1 M ′i
3 f ′i (a1, ...,as) = fi(a1, ...,as) for (a1, ...,as) ∈ dom(f ′).4 c′i = ci
ThenM′ is a substructure ofM.
Jouko Väänänen (Helsinki and Amsterdam) Many-sorted logic January 2014 27 / 114
Neither extension nor substructure...
DefinitionA Chu transform between Chu spaces (A,X ,R) and (A′,X ′,R′) is apair h,g of mapping such that
1 h : A→ A′
2 g : X ′ → X3 ∀a ∈ A∀x ′ ∈ X ′(R′(h(a), x ′)↔ R(a,g(x ′)))
Jouko Väänänen (Helsinki and Amsterdam) Many-sorted logic January 2014 28 / 114
Chu transforms
Example
Transforming (monadic) second order logic into first order logic:A sentences of single sorted monadic second order logicX single sorted structures (M, ...)R truthA′ sentences of 2-sorted first order logicX ′ second order domain (P(M),M,∈, ...)R′ truthh translation of A into A′
g the first order partwhere
h(∃xiφ) = ∃x0i h(φ),h(∃X 1
i φ) = ∃x1i h(φ)
g((P(M),M,∈, ...)) = (M, ...)
Jouko Väänänen (Helsinki and Amsterdam) Many-sorted logic January 2014 29 / 114
Chu transforms
ExampleContinuous maps in topology:
A topological spaceX its topologyR elementhoodA′ topological spaceX ′ its topologyR′ elementhoodh continuous mapping A→ A′
g g(U) = {a ∈ A : f (a) ∈ U} i.e. preimageitem Now a ∈ g(U) ⇐⇒ h(a) ∈ U.
Jouko Väänänen (Helsinki and Amsterdam) Many-sorted logic January 2014 30 / 114
Chu transforms
ExampleImportant special case: A ⊆ A′, X ′ ⊆ X , h = g = id .
Jouko Väänänen (Helsinki and Amsterdam) Many-sorted logic January 2014 31 / 114
DefinitionA reduct of a many-sorted structure
M = ({M1, . . . ,Mn},R1, . . . ,Rm, f1, . . . , fk , c1, . . . , cl)
is obtained by leaving out some sorts, relations, functions, andconstants, as in
M′ = ({M1, . . . ,Mn−1},R1, . . . ,Rm′ , f1, . . . , fk ′ , c1, . . . , cl ′).
Relations, functions, and constants which are not meaningful are atthe same time dropped. Respectively then,M is an expansion ofM′.A reduct may also have the same sorts but fewer relations, etc.
Jouko Väänänen (Helsinki and Amsterdam) Many-sorted logic January 2014 32 / 114
ExampleReducts of a vector space (F ,V ,+, ·,0):
The scalar field: F = (F ,+F .·F ,0F ,1F )
The vector addition group: (V ,+,0)
Jouko Väänänen (Helsinki and Amsterdam) Many-sorted logic January 2014 33 / 114
ExampleReducts of a second order domain (P(M),M,∈, ...):
The first order part: (M, ...)
The second order part: (P(M),M,∈)
Jouko Väänänen (Helsinki and Amsterdam) Many-sorted logic January 2014 34 / 114
ExampleA reduct of the database
R:John male IV 2500 MaryMary female V 2600 PaulLaura female II 2500 Mary
is not obtained by forgetting (e.g.) the number-sort:
John male IV MaryMary female V PaulLaura female II Mary
This is a completely new relation, a so-called projection (not reduct) ofthe original. In a reduct the entire relation R would drop out.
Jouko Väänänen (Helsinki and Amsterdam) Many-sorted logic January 2014 35 / 114
ExampleA reduct of the two table (relation) relational database
R1:John male D MaryMary female E PaulLaura female B Mary
R2:
A 1000B 1300C 1500D 2500E 2600
obtained by forgetting the number-sort is
John male D MaryMary female E PaulLaura female B Mary
Relation R2 drops out as it uses the abandoned number-sort.
Jouko Väänänen (Helsinki and Amsterdam) Many-sorted logic January 2014 36 / 114
DefinitionA single sorted reduct of a many sorted L-structure
M = ({Ms : s ∈ sort(L)},R1, . . . ,Rm, f1, . . . , fk , c1, . . . , cl)
is any reduct
M′ = ({Ms},R1, . . . ,Rm′ , f1, . . . , fk ′ , c1, . . . , cl ′)
to an L′ = {s}, where s ∈ sort(L). Relations, functions, and constantswhich are not meaningful are dropped.
Sometimes the single sorted reducts determine the many sortedstructure, but usually not (because the single sorted reducts disregardthe interaction between sorts.
Jouko Väänänen (Helsinki and Amsterdam) Many-sorted logic January 2014 37 / 114
Fundamental translation
DefinitionThe fundamental translation of a relational many-sorted structure
M = ({M1, . . . ,Mn},R1, . . . ,Rm, c1, . . . , cl)
is the single sorted expanded structure
M∗ = (M1 ∪ ... ∪Mn,M1, ...,Mn,R1, . . . ,Rm, c1, . . . , cl)
where M1,...,Mn are new unary predicates.
From the single sortedM∗ the originalM can be readily recovered.We have left function symbols out because there is no satisfactory wayto extend functions from individual sorts to the union of all sorts.Anyway, functions can be transformed to relations and then there is noproblem.
Jouko Väänänen (Helsinki and Amsterdam) Many-sorted logic January 2014 38 / 114
Example({P(M),M},∈, ...)∗ = (P(M) ∪M,P(M),M,∈, ...)M∼=M′ ⇐⇒ M∗ ∼=M′∗
For vector spaces we could define the fundamental translation({F ,V},+,0)∗ = (F ∪ V ,F ,V ,+,0) by letting the value of thefunctions +F , ·F ,+V and ·V to be 0 whenever they are notcanonically defined.Note: M �M∗
Jouko Väänänen (Helsinki and Amsterdam) Many-sorted logic January 2014 39 / 114
Syntax and semantics of many sorted logic
Jouko Väänänen (Helsinki and Amsterdam) Many-sorted logic January 2014 40 / 114
DefinitionThe vocabulary L = voc(M) of a many-sorted structure (model)
M = ({M1, . . . ,Mn},RM1 , . . . ,RMm ,FM1 , . . . ,FMk , cM1 , . . . , cMl )
consists of1 Sort symbols s1, . . . , sn
2 Relation symbols R1, . . . ,Rm
3 Function symbols F1, . . . ,Fk
4 Constant symbols c1, . . . , cl
We write L = {s1, . . . , sn,R1, . . . ,Rm,F1, . . . ,Fk , c1, . . . , cl},sort(L) = {s1, . . . , sn}, rel(L) = {R1, . . . ,Rm}, fun(L) = {F1, . . . ,Fk},con(L) = {c1, . . . , cl}.
Jouko Väänänen (Helsinki and Amsterdam) Many-sorted logic January 2014 41 / 114
DefinitionEach vocabulary L has an arity-function
aL : rel(L) ∪ fun(L)→ N
which tells the arity of each predicate and function symbol, and asort-function sL:
sL(R) ∈ sort(L)aL(R), sL(f ) ∈ sort(L)aL(f ) × sort(L), sL(c) ∈ sort(L).
We do not have symbols for abstract relations between elements ofarbitrary sorts except identity = in lax structures.
Jouko Väänänen (Helsinki and Amsterdam) Many-sorted logic January 2014 42 / 114
DefinitionSuppose L is a many sorted vocabulary. The L-variables overmany-sorted L-structures are denoted:
xs, s ∈ sort(L)
with the intuition (fulfilled in the semantics below) that xs ranges overthe universe Ms of an L-structure
M = ({M1, . . . ,Mn},RM1 , . . . ,RMm ,FM1 , . . . ,FMk , cM1 , . . . , cMl ).
No variables ranging over “everything"! No variables ranging overelements of two different sort s (but this can be arranged by having anew sort for the “union").
Jouko Väänänen (Helsinki and Amsterdam) Many-sorted logic January 2014 43 / 114
DefinitionSuppose L is a many sorted vocabulary. The L-terms are defined asfollows:
1 Constants c in L are L-terms and s(c) is already defined.2 L-variables xs are L-terms and s(xs) = s.3 If t1, ..., tn are L-terms with si = s(ti) and f ∈ L with
s(f ) = 〈s1, . . . , sn, s〉, then ft1...tn (or f (t1, ..., tn)) is an L-term ands(ft1...tn) = s.
Jouko Väänänen (Helsinki and Amsterdam) Many-sorted logic January 2014 44 / 114
Syntax
t = t ′
Rt1...tn¬φ∧n φn∨n φn
∃xsφ∀xsφ
Strict many-sorted logic: we allow t = t ′ only ifs(t) = s(t ′).Lax many-sorted logic: we allow t = t ′ for allterms.
Jouko Väänänen (Helsinki and Amsterdam) Many-sorted logic January 2014 45 / 114