1 / 38

MODEL THEORY FOR DUMMIES

MODEL 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. MODEL THEORY FOR DUMMIES.

tmathis
Download Presentation

MODEL THEORY FOR DUMMIES

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. MODEL 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.

  2. MODEL 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.

  3. MODEL 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.

  4. MODEL 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).

  5. MODEL 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.

  6. MODEL 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 onlythe 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 doesn’t 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.

  7. MODEL 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 onlythe 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.

  8. Basic RDF model theory An Interpretation is: 0. A set LV and a mapping XL from <qLiteral> 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) -> IR

  9. Basic RDF model theory An Interpretation is: 0. A set LV and a mapping XL from <qLiteral> 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) -> IR IR could overlap LV i.e. a subset of pairs <x,y> 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 isn’t mentioned then it doesn’t have a value for this property IS assigns semantic values to a subset of the total RDF vocabulary.

  10. Basic RDF model theory An Interpretation is: 0. A set LV and a mapping XL from <qLiteral> 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) -> IR Which satisfies: if E is a <uriref> or <anonNode> then I(E) = IS(E) if E is a <qLiteral> then I(E) = LV(E) if E is an asserted triple with the form s p o then I(E) = true iff <I(s),I(o)> 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 <ntripleDoc> then I(E) = true if I[A](set(E))=true for some A defined on anon(E), otherwise I(E)= false

  11. Basic RDF model theory An Interpretation is: 0. A set LV and a mapping XL from <qLiteral> 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) -> IR Which satisfies: if E is a <uriref> or <anonNode> then I(E) = IS(E) if E is a <qLiteral> then I(E) = LV(E) if E is an asserted triple with the form s p o then I(E) = true iff <I(s),I(o)> 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 <ntripleDoc> then I(E) = true if I[A](set(E))=true for some A defined on anon(E), otherwise I(E)= false This set is probably finite

  12. One of them doesn’t have a name An example There are 5 things in the universe. vocabulary(I) : Red dc:creator Ron _:someone _:something 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.

  13. There are 5 things in the universe. An example One of them doesn’t have a name vocabulary(I) : Red dc:creator Ron _:someone _:something Universe (IR): { } P C IS IEXT { P } I( Red dc:creator Ron) = true because <I(Red), I(Ron)> is and is in IEXT( P ) which is IEXT(I(dc:creator)) I(Red dc:creator _:something) = false because <I(Red), I(_:something)> is not in IEXT(I(dc:creator)) I([Red dc:creator _:something]) = true because there is a mapping A: _:something and <I(Red), A(_:something)> is in IEXT(I(dc:creator)) [square brackets] are being used to indicate that this is a document rather than just a set of triples.

  14. A 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 <I(s),I(o)> is in I(p), …… rather than IEXT(I(p))….. Why bother with IEXT?

  15. A 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 <I(s),I(o)> 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 {<a b> <b b> }

  16. I 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----> F -----existentially generalize---->E’

  17. Skolemization 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)

  18. Skolemization 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 doesn’t entail sk(E)

  19. Skolemization 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 doesn’t entail sk(E) …BUT… 3. If sk(E) entails F and F doesn’t contain any vocabulary from V, then E entails F Proof: Suppose I satisfies E. Then there is mapping A in anon(E) such that I+A 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.

  20. Skolemization 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 doesn’t entail sk(E)….BUT 3. If sk(E) entails F and F doesn’t contain any vocabulary from V, then E entails F Proof: Suppose I satisfies E. Then there is mapping A in anon(E) such that I+A 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.

  21. Skolemization 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 doesn’t entail sk(E)….BUT 3. If sk(E) entails F and F doesn’t contain any vocabulary from V, then E entails F Proof: Suppose I satisfies E. Then there is mapping A in anon(E) such that I+A 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, it’s different if you aren’t making an assertion…

  22. What does it mean to publish some RDF? You could be saying: I am asserting this. Infer what you like from it. E entails ????

  23. What 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

  24. What 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.

  25. Shared content and relative entailment ?? How do we capture the idea of ‘shared content’ which isn’t explicitly represented in RDF expressions but on which meaning depends??

  26. Shared content and relative entailment ?? How do we capture the idea of ‘shared content’ which isn’t 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’.

  27. Shared content and relative entailment ?? How do we capture the idea of ‘shared content’ which isn’t 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 uri’s 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.

  28. Shared content and relative entailment ?? How do we capture the idea of ‘shared content’ which isn’t 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.)

  29. RDFS interpretations 0. A set LV and a mapping XL from <qLiteral> 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) -> IR 5. A nonempty set IC of IR called Classes 6. A mapping ICEXT from IC to the power set of IR union LV

  30. RDFS interpretations 0. A set LV and a mapping XL from <qLiteral> 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) -> 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

  31. 0. A set LV and a mapping XL from <qLiteral> 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) -> 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(rdfs:Resource)) = IR ICEXT(I(rdf:Property)) = IP ICEXT(I(rdfs:Class)) = IC ICEXT(I(rdfs:Literal)) = LV <x,y> is in IEXT(I(rdf:type)) iff x is in ICEXT(y) <x,y> is in IEXT(I(rdfs:subClassOf)) iff ICEXT(x) is a subset of ICEXT(y) <x,y> is in IEXT(rdfs:subPropertyOf)) iff IEXT(x) is a subset of IEXT(y) I(rdfs:ConstraintResource) is in IC ICEXT(I(rdfs:ConstraintProperty)) is a subset of the intersection of IP and ICEXT(I(rdfs:ConstraintResource)) I(rdf:range) and I(rdf:domain) are in ICEXT(I(rdfs:ConstraintProperty)) If <x,y> is in IEXT(I(rdf:range)) and <u,v> is in IEXT(x) then v is in ICEXT(y) If <x,y> is in IEXT(I(rdf:domain)) and <u,v> is in IEXT(x) then u is in ICEXT(y)

  32. 0. A set LV and a mapping XL from <qLiteral> 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) -> 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 <uriref> or <anonNode> then I(E) = IS(E) if E is a <qLiteral> then I(E) = LV(E) if E is an asserted triple with the form s p o then I(E) = true iff <I(s),I(o)> 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 <ntripleDoc> then I(E) = true if I[A](set(E))=true for some A defined on anon(E), else I(E)= false ICEXT(I(rdfs:Resource)) = IR ICEXT(I(rdf:Property)) = IP ICEXT(I(rdfs:Class)) = IC ICEXT(I(rdfs:Literal)) = LV <x,y> is in IEXT(I(rdf:type)) iff x is in ICEXT(y) <x,y> is in IEXT(I(rdfs:subClassOf)) iff ICEXT(x) is a subset of ICEXT(y) <x,y> is in IEXT(rdfs:subPropertyOf)) iff IEXT(x) is a subset of IEXT(y) I(rdfs:ConstraintResource) is in IC ICEXT(I(rdfs:ConstraintProperty)) is a subset of the intersection of IP and ICEXT(I(rdfs:ConstraintResource)) I(rdf:range) and I(rdf:domain) are in ICEXT(I(rdfs:ConstraintProperty)) If <x,y> is in IEXT(I(rdf:range)) and <u,v> is in IEXT(x) then v is in ICEXT(y) If <x,y> is in IEXT(I(rdf:domain)) and <u,v> is in IEXT(x) then u is in ICEXT(y)

  33. Reification of V Assume a mapping REIF from V into IR such that: <x,y> is in IEXT(I(rdf:subject)) iff for some a, b, and c in V, x= REIF(<a b c>) and y= REIF(a) <x,y> is in IEXT(I(rdf:predicate)) iff for some a, b and c in V, x=REIF(<a b c>) and y= REIF(b) <x,y> is in IEXT(I(rdf:object)) iff for some a, b and c in V, x=REIF(<a b c>) and y= REIF(c) x is in ICEXT(I(rdf:Statement)) iff for some a, b and c in V, x=REIF(<a b c>)

  34. Reification of V Assume a mapping REIF from V into IR such that: <x,y> is in IEXT(I(rdf:subject)) iff for some a, b, and c in V, x= REIF(<a b c>) and y= REIF(a) <x,y> is in IEXT(I(rdf:predicate)) iff for some a, b and c in V, x=REIF(<a b c>) and y= REIF(b) <x,y> is in IEXT(I(rdf:object)) iff for some a, b and c in V, x=REIF(<a b c>) and y= REIF(c) x is in ICEXT(I(rdf:Statement)) iff for some a, b and c in V, x=REIF(<a b c>) Syntax Domain REIF

  35. Reification of V assuming syntax is in the domain (so REIF is just the identity): <x,y> is in IEXT(I(rdf:subject)) iff x is a V-triple of the form <y b c> <x,y> is in IEXT(I(rdf:predicate)) iff x is a V-triple of the form <a y c> <x,y> is in IEXT(I(rdf:subject)) iff x is a V-triple of the form <a b y> x is in IEXT(I(rdf:Statement)) iff x is a V-triple.

  36. Reification of V assuming syntax is in the domain (so REIF is just the identity): <x,y> is in IEXT(I(rdf:subject)) iff x is a V-triple of the form <y b c> <x,y> is in IEXT(I(rdf:predicate)) iff x is a V-triple of the form <a y c> <x,y> is in IEXT(I(rdf:subject)) iff x is a V-triple of the form <a b y> x is in IEXT(I(rdf:Statement)) iff x is a V-triple. The syntax is in the domain, so IEXT isn’t needed.

  37. Reification of V assuming syntax is in the domain (so REIF is just the identity): <x,y> is in IEXT(I(rdf:subject)) iff x is a V-triple of the form <y b c> <x,y> is in IEXT(I(rdf:predicate)) iff x is a V-triple of the form <a y c> <x,y> is in IEXT(I(rdf:subject)) iff x is a V-triple of the form <a b y> x is in IEXT(I(rdf:Statement)) 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(<a b c>) )

  38. STILL TO COME CONTAINERS (alt, aboutEach, aboutEachPrefix) (M&S wording is unclear about and/or) ABSOLUTE/RELATIVE URIs SOME METATHEORY LEMMAS FOR RDFS ENTAILMENT

More Related