Title: MODEL THEORY FOR DUMMIES
1MODEL THEORY FOR DUMMIES
Basic idea is to give a mathematical
characterization of a world in just enough
detail to assign a meaning to every expression.
2MODEL THEORY FOR DUMMIES
Basic idea is to give a mathematical
characterization of a world in just enough
detail to assign a meaning to every expression.
Exactly what counts as just enough depends on
the language.
3MODEL THEORY FOR DUMMIES
Basic idea is to give a mathematical
characterization of a world in just enough
detail to assign a meaning to every expression.
Exactly what counts as just enough depends on
the language. Eg. for propositional logic, all
you need to know is the truthvalues of the
proposition letters, so an interpretation
(possible world) is a truth-assignment to the
proposition letters.
4MODEL THEORY FOR DUMMIES
Basic idea is to give a mathematical
characterization of a world in just enough
detail to assign a meaning to every expression.
Exactly what counts as just enough depends on
the language. Eg. for propositional logic, all
you need to know is the truthvalues of the
proposition letters, so an interpretation
(possible world) is a truth-assignment to the
proposition letters. For first-order logic, you
need to know 1.what the quantifiers range over
(the universe) 2.for each name, what thing it
names 3.for each relation symbol, what
combinations of things make it true (a set of
n-tuples).
5MODEL THEORY FOR DUMMIES
Basic idea is to give a mathematical
characterization of a world in just enough
detail to assign a meaning to every expression.
Exactly what counts as just enough depends on
the language. Eg. for propositional logic, all
you need to know is the truthvalues of the
proposition letters, so an interpretation
(possible world) is a truth-assignment to the
proposition letters. For first-order logic, you
need to know 1.what the quantifiers range over
(the universe) 2.for each name, what thing it
names 3.for each relation symbol, what
combinations of things make it true (a set of
n-tuples). For maps, you need to know the
topological structure of the terrain, the
projection function, and for each map symbol,
what property of the terrain region it indicates.
6MODEL THEORY FOR DUMMIES
Basic idea is to give a mathematical
characterization of a world in just enough
detail to assign a meaning to every expression.
Exactly what counts as just enough depends on
the language. Key point is that MT makes only the
assumptions about The World that are needed to
determine truthvalues, and they must be
expressible mathematically, ie structurally.
Model theory is metaphysically neutral. - eg
first-order MT doesnt claim that relations are
sets of n-tuples it just says whatever
relations really are, all I need to know about
them is which n-tuples they are true of.
7MODEL THEORY FOR DUMMIES
Basic idea is to give a mathematical
characterization of a world in just enough
detail to assign a meaning to every expression.
Exactly what counts as just enough depends on
the language. Key point is that MT makes only the
assumptions about The World that are needed to
determine truthvalues, and they must be
expressible mathematically, ie structurally.
Model theory is metaphysically neutral radically
agnostic. Eg first-order MT makes no assumptions
about what is in the universe.
8Basic RDF model theory
An Interpretation is 0. A set LV and a mapping
XL from ltqLiteralgt to LV 1. A nonempty set IR of
resources, called the domain or universe of I.
2. A non-empty subset IP of IR called
Properties 3. A mapping IEXT from IP into the
powerset of IRx(IR union LV) 4. A mapping IS
vocab(I) -gt IR
9Basic RDF model theory
An Interpretation is 0. A set LV and a mapping
XL from ltqLiteralgt to LV 1. A nonempty set IR of
resources, called the domain or universe of I.
2. A non-empty subset IP of IR called
Properties 3. A mapping IEXT from IP into the
powerset of IRx(IR union LV) 4. A mapping IS
vocab(I) -gt IR
IR could overlap LV
i.e. a subset of pairs ltx,ygt with x in IR and y
in either IR or LV. This is basically a table of
the values of this property for each object. If
some object isnt mentioned then it doesnt have
a value for this property
IS assigns semantic values to a subset of the
total RDF vocabulary.
10Basic RDF model theory
An Interpretation is 0. A set LV and a mapping
XL from ltqLiteralgt to LV 1. A nonempty set IR of
resources, called the domain or universe of I.
2. A non-empty subset IP of IR called
Properties 3. A mapping IEXT from IP into the
powerset of IRx(IR union LV) 4. A mapping IS
vocab(I) -gt IR
Which satisfies if E is a lturirefgt or
ltanonNodegt then I(E) IS(E) if E is a ltqLiteralgt
then I(E) LV(E) if E is an asserted triple with
the form s p o then I(E) true iff
ltI(s),I(o)gt is in IEXT(I(p)), otherwise I(E)
false. if E is a set of triples then I(E) false
just in case I(E') false for some asserted
triple E' in E, otherwise I(E) true. if E is
an ltntripleDocgt then I(E) true if
IA(set(E))true for some A defined on anon(E),
otherwise I(E) false
11Basic RDF model theory
An Interpretation is 0. A set LV and a mapping
XL from ltqLiteralgt to LV 1. A nonempty set IR of
resources, called the domain or universe of I.
2. A non-empty subset IP of IR called
Properties 3. A mapping IEXT from IP into the
powerset of IRx(IR union LV) 4. A mapping IS
vocab(I) -gt IR
Which satisfies if E is a lturirefgt or
ltanonNodegt then I(E) IS(E) if E is a ltqLiteralgt
then I(E) LV(E) if E is an asserted triple with
the form s p o then I(E) true iff
ltI(s),I(o)gt is in IEXT(I(p)), otherwise I(E)
false. if E is a set of triples then I(E) false
just in case I(E') false for some asserted
triple E' in E, otherwise I(E) true. if E is
an ltntripleDocgt then I(E) true if
IA(set(E))true for some A defined on anon(E),
otherwise I(E) false
This set is probably finite
12One of them doesnt have a name
An example
There are 5 things in the universe.
vocabulary(I) Red dccreator Ron _someone _som
ething
Universe (IR)
P
C
IS
IEXT
IS assigns a value for each name in the vocabulary
P
P is a property which assigns values to two
things in the universe.
IEXT(P) shows what the values of P are for
everything it is defined on.
13There are 5 things in the universe.
An example
One of them doesnt have a name
vocabulary(I) Red dccreator Ron _someone _som
ething
Universe (IR)
P
C
IS
IEXT
P
I( Red dccreator Ron) true because ltI(Red),
I(Ron)gt is and is in IEXT( P )
which is IEXT(I(dccreator)) I(Red dccreator
_something) false because ltI(Red),
I(_something)gt is not in IEXT(I(dccreator)) I(
Red dccreator _something) true because
there is a mapping A _something
and ltI(Red), A(_something)gt is in
IEXT(I(dccreator))
square brackets are being used to indicate that
this is a document rather than just a set of
triples.
14A note on IEXT
It would be simpler to just say that I(p) is a
subset of IR x (IR union LV), and write if E is
an asserted triple with the form s p o
then I(E) true iff ltI(s),I(o)gt is in I(p),
rather than IEXT(I(p)).. Why bother with IEXT?
15A note on IEXT
It would be simpler to just say that I(p) is a
subset of IR x (IR union LV), and write if E is
an asserted triple with the form s p o
then I(E) true iff ltI(s),I(o)gt is in I(p),
rather than IEXT(I(p)).. Why bother with IEXT?
Because we might want to interpret a triple like
a a b. Suppose I(a) was a set of pairs, then
how could that set itself be inside one of the
pairs in the set? That would violate the axiom of
foundation (a basic axiom of Zermelo-Fraenkel set
theory). We could use a nonstandard set theory
that allows non-well-founded sets, but that would
be a radical move.The use of IEXT is a less
controversial alternative.
a appears in its own extension, which is fine.
I
foo
a
IEXT
lta bgt ltb bgt
16I satisfies E means I(E)true E entails E
means any I which satisfies E also satisfies
E
Some Lemmas 1. Any RDF expression has a
satisfying interpretation (is consistent).
Herbrand 2. If I satisfies all the triples in a
document, then it satisfies the document. 3. If
E and E are sets of triples, then E entails E
iff E contains E. 4. If E is a document and E
is an instance of E, then E entails E. 5. If E
and E are documents, then E entails E iff there
is a set of triples F such that set(E)
contains F and F is an instance of set(E). The
upshot of 3. and 5. is that all entailments in
RDF can be checked by a very simple two-step
process E ----take
a subset----gt F -----existentially
generalize----gtE
17Skolemization
Replace all anonNodes in a document E by urirefs
from a set V (disjoint from vocab(E)) Call this
sk(E). Then 1. sk(E) entails E (obviously)
18Skolemization
Replace all anonNodes in a document E by urirefs
from a set V (disjoin t from vocab(E)) Call this
sk(E). Then 1. sk(E) entails E (obviously) 2. E
probably doesnt entail sk(E)
19Skolemization
Replace all anonNodes in a document E by urirefs
from a set V (disjoin t from vocab(E)) Call this
sk(E). Then 1. sk(E) entails E (obviously) 2. E
probably doesnt entail sk(E) BUT 3. If
sk(E) entails F and F doesnt contain any
vocabulary from V, then E entails F Proof
Suppose I satisfies E. Then there is mapping A in
anon(E) such that IA satisfies set(E). If sk(x)
is the uriref that replaces the anonNode x, then
define I to be like I except I(sk(x))A(x),
then clearly I satisfies sk(E). sk(E) entails F,
so I satisfies F, so I/vocab(F) satisfies F.
But vocab(F) does not intersect V, so
I/vocab(F)I whence, I satisfies F. QED.
20Skolemization
Replace all anonNodes in a document E by urirefs
from a set V (disjoin t from vocab(E)) Call this
sk(E). Then 1. sk(E) entails E (obviously) 2. E
probably doesnt entail sk(E).BUT 3. If sk(E)
entails F and F doesnt contain any vocabulary
from V, then E entails F Proof Suppose I
satisfies E. Then there is mapping A in anon(E)
such that IA satisfies set(E). If sk(x) is the
uriref that replaces the anonNode x, then define
I to be like I except I(sk(x))A(x), then
clearly I satisifes sk(E). sk(E) entails F, so
I satisfies F, so I/vocab(F) satisfies F. But
vocab(F) does not intersect V, so I/vocab(F)I
whence, I satisfies F. QED. So, as far as V-free
expressions are concerned, E and sk(E) entail the
same things. So (with the no-V-provision),
asserting sk(E) and asserting E amount to making
the same assertion.
21Skolemization
Replace all anonNodes in a document E by urirefs
from a set V (disjoin t from vocab(E)) Call this
sk(E). Then 1. sk(E) entails E (obviously) 2. E
probably doesnt entail sk(E).BUT 3. If sk(E)
entails F and F doesnt contain any vocabulary
from V, then E entails F Proof Suppose I
satisfies E. Then there is mapping A in anon(E)
such that IA satisfies set(E). If sk(x) is the
uriref that replaces the anonNode x, then define
I to be like I except I(sk(x))A(x), then
clearly I satisifes sk(E). sk(E) entails F, so
I satisfies F, so I/vocab(F) satisfies F. But
vocab(F) does not intersect V, so I/vocab(F)I
whence, I satisfies F. QED. So, as far as V-free
expressions are concerned, E and sk(E) entail the
same things. So (with the no-V-provision),
asserting sk(E) and asserting E amount to making
the same assertion. Mind you, its different if
you arent making an assertion
22What does it mean to publish some RDF?
You could be saying I am asserting this.
Infer what you like from it.
E entails ????
23What does it mean to publish some RDF?
You could be saying I am asserting this.
Infer what you like from it.
E entails
???? OR You could be saying I am asking about
this. Can you infer it from anything?
???? entails E
24What does it mean to publish some RDF?
You could be saying I am asserting this.
Infer what you like from it.
E entails
???? OR You could be saying I am asking
about this. Can you infer it from anything?
???? entails E The model theory works equally
well in either case, but the proof techniques
differ. In making an assertion, anonNodes behave
very much like urirefs they both act like
logical constants, and cannot be validly bound to
new values at inference time. In making a query,
anonNodes are treated as genuine variables, and
can be bound to new values in order to make
inferences possible.
25Shared content and relative entailment
?? How do we capture the idea of shared content
which isnt explicitly represented in RDF
expressions but on which meaning depends??
26Shared content and relative entailment
?? How do we capture the idea of shared content
which isnt explicitly represented in RDF
expressions but on which meaning depends?? Idea
express such shared knowledge as mutual
acceptance of a set of interpretations which
capture the accepted constraints. If COM is a
set of interpretations, then say that E entails
E relative to COM if every interpretation which
satisfies E and is compatible with some member of
COM also satisfies E.
27Shared content and relative entailment
?? How do we capture the idea of shared content
which isnt explicitly represented in RDF
expressions but on which meaning depends?? Idea
express such shared knowledge as mutual
acceptance of a set of interpretations which
capture the accepted constraints. If COM is a
set of interpretations, then say that E entails
E relative to COM if every interpretation which
satisfies E and is compatible with some member of
COM also satisfies E. COM is an interpretation
core. It rules out interpretations which are
inconsistent with anything in COM. Ordinary
entailment is entailment relative to .
Example Define an interpretation I with
universe the set of possible uris starting
http , IP , and IS(x)the webpage located
by Google when given x as input. Then I is an
interpretation core which represents an
acceptance of Google as a definitive website
locator.
28Shared content and relative entailment
?? How do we capture the idea of shared content
which isnt explicitly represented in RDF
expressions but on which meaning depends?? Idea
express such shared knowledge as mutual
acceptance of a set of interpretations which
capture the accepted constraints. If COM is a
set of interpretations, then say that E entails
E relative to COM if every interpretation which
satisfies E and is compatible with some member of
COM also satisfies E. COM is an interpretation
core. It rules out interpretations which are
inconsistent with anything in COM. Ordinary
entailment is entailment relative to . OPEN
QUESTIONS 1. How do we specify COM? 2. What
properties does relative entailment have? (V.
hard to answer in general, but particular cases
might be OK.)
29RDFS interpretations
0. A set LV and a mapping XL from ltqLiteralgt to
LV 1. A nonempty set IR of resources, called the
domain or universe of I. 2. A non-empty subset
IP of IR called Properties 3. A mapping IEXT
from IP into the powerset of IRx(IR union LV)
4. A mapping IS vocab(I) -gt IR 5. A nonempty
set IC of IR called Classes 6. A mapping ICEXT
from IC to the power set of IR union LV
30RDFS interpretations
0. A set LV and a mapping XL from ltqLiteralgt to
LV 1. A nonempty set IR of resources, called the
domain or universe of I. 2. A non-empty subset
IP of IR called Properties 3. A mapping IEXT
from IP into the powerset of IRx(IR union LV)
4. A mapping IS vocab(I) -gt IR 5. A nonempty
set IC of IR called Classes 6. A mapping ICEXT
from IC to the power set of IR union LV
The set of things in the Class
310. A set LV and a mapping XL from ltqLiteralgt to
LV 1. A nonempty set IR of resources, called the
domain or universe of I. 2. A non-empty subset
IP of IR called Properties 3. A mapping IEXT
from IP into the powerset of IRx(IR union LV)
4. A mapping IS vocab(I) -gt IR 5. A nonempty
set IC of IR called Classes 6. A mapping ICEXT
from IC to the power set of IR union LV
ICEXT(I(rdfsResource)) IR ICEXT(I(rdfProperty
)) IP ICEXT(I(rdfsClass))
IC ICEXT(I(rdfsLiteral)) LV ltx,ygt is in
IEXT(I(rdftype)) iff x is in ICEXT(y) ltx,ygt is
in IEXT(I(rdfssubClassOf)) iff ICEXT(x) is a
subset of ICEXT(y) ltx,ygt is in IEXT(rdfssubProper
tyOf)) iff IEXT(x) is a subset of
IEXT(y) I(rdfsConstraintResource) is in
IC ICEXT(I(rdfsConstraintProperty)) is a subset
of the intersection of IP and ICEXT(I(rdfsConstra
intResource)) I(rdfrange) and I(rdfdomain) are
in ICEXT(I(rdfsConstraintProperty)) If ltx,ygt is
in IEXT(I(rdfrange)) and ltu,vgt is in IEXT(x)
then v is in ICEXT(y) If ltx,ygt is in
IEXT(I(rdfdomain)) and ltu,vgt is in IEXT(x) then
u is in ICEXT(y)
320. A set LV and a mapping XL from ltqLiteralgt to
LV 1. A nonempty set IR of resources, called the
domain or universe of I. 2. A non-empty subset
IP of IR called Properties 3. A mapping IEXT
from IP into the powerset of IRx(IR union LV)
4. A mapping IS vocab(I) -gt IR 5. A nonempty
set IC of IR called Classes 6. A mapping ICEXT
from IC to the power set of IR union LV
if E is a lturirefgt or ltanonNodegt then I(E)
IS(E) if E is a ltqLiteralgt then I(E) LV(E) if E
is an asserted triple with the form s p o then
I(E) true iff ltI(s),I(o)gt is in IEXT(I(p)),
else I(E) false. if E is a set of triples then
I(E) false when I(E') false for some asserted
triple E' in E, else I(E) true. if E is an
ltntripleDocgt then I(E) true if
IA(set(E))true for some A defined on anon(E),
else I(E) false ICEXT(I(rdfsResource))
IR ICEXT(I(rdfProperty)) IP ICEXT(I(rdfsClass)
) IC ICEXT(I(rdfsLiteral)) LV ltx,ygt is in
IEXT(I(rdftype)) iff x is in ICEXT(y) ltx,ygt is
in IEXT(I(rdfssubClassOf)) iff ICEXT(x) is a
subset of ICEXT(y) ltx,ygt is in IEXT(rdfssubProper
tyOf)) iff IEXT(x) is a subset of
IEXT(y) I(rdfsConstraintResource) is in
IC ICEXT(I(rdfsConstraintProperty)) is a subset
of the intersection of IP and ICEXT(I(rdfsConstra
intResource)) I(rdfrange) and I(rdfdomain) are
in ICEXT(I(rdfsConstraintProperty)) If ltx,ygt is
in IEXT(I(rdfrange)) and ltu,vgt is in IEXT(x)
then v is in ICEXT(y) If ltx,ygt is in
IEXT(I(rdfdomain)) and ltu,vgt is in IEXT(x) then
u is in ICEXT(y)
33 Reification of V Assume a mapping REIF from V
into IR such that ltx,ygt is in
IEXT(I(rdfsubject)) iff for some a, b, and c in
V, x REIF(lta b cgt) and y REIF(a) ltx,ygt is in
IEXT(I(rdfpredicate)) iff for some a, b and c in
V, xREIF(lta b cgt) and y REIF(b) ltx,ygt is in
IEXT(I(rdfobject)) iff for some a, b and c in V,
xREIF(lta b cgt) and y REIF(c) x is in
ICEXT(I(rdfStatement)) iff for some a, b and c
in V, xREIF(lta b cgt)
34 Reification of V Assume a mapping REIF from V
into IR such that ltx,ygt is in
IEXT(I(rdfsubject)) iff for some a, b, and c in
V, x REIF(lta b cgt) and y REIF(a) ltx,ygt is in
IEXT(I(rdfpredicate)) iff for some a, b and c in
V, xREIF(lta b cgt) and y REIF(b) ltx,ygt is in
IEXT(I(rdfobject)) iff for some a, b and c in V,
xREIF(lta b cgt) and y REIF(c) x is in
ICEXT(I(rdfStatement)) iff for some a, b and c
in V, xREIF(lta b cgt)
Syntax
Domain
REIF
35 Reification of V assuming syntax is in the
domain (so REIF is just the identity) ltx,ygt is
in IEXT(I(rdfsubject)) iff x is a V-triple of
the form lty b cgt ltx,ygt is in
IEXT(I(rdfpredicate)) iff x is a V-triple of the
form lta y cgt ltx,ygt is in IEXT(I(rdfsubject))
iff x is a V-triple of the form lta b ygt x is
in IEXT(I(rdfStatement)) iff x is a V-triple.
36 Reification of V assuming syntax is in the
domain (so REIF is just the identity) ltx,ygt is
in IEXT(I(rdfsubject)) iff x is a V-triple of
the form lty b cgt ltx,ygt is in
IEXT(I(rdfpredicate)) iff x is a V-triple of the
form lta y cgt ltx,ygt is in IEXT(I(rdfsubject))
iff x is a V-triple of the form lta b ygt x is
in IEXT(I(rdfStatement)) iff x is a V-triple.
The syntax is in the domain, so IEXT isnt
needed.
37 Reification of V assuming syntax is in the
domain (so REIF is just the identity) ltx,ygt is
in IEXT(I(rdfsubject)) iff x is a V-triple of
the form lty b cgt ltx,ygt is in
IEXT(I(rdfpredicate)) iff x is a V-triple of the
form lta y cgt ltx,ygt is in IEXT(I(rdfsubject))
iff x is a V-triple of the form lta b ygt x is
in IEXT(I(rdfStatement)) iff x is a
V-triple. BUT NOTE there in no way to assert a
reified triple, ie to get it interpreted.
(Nothing generates I(lta b cgt) )
38 STILL TO
COME CONTAINERS (alt, aboutEach,
aboutEachPrefix) (MS wording is unclear about
and/or) ABSOLUTE/RELATIVE URIs SOME METATHEORY
LEMMAS FOR RDFS ENTAILMENT