*
* Lecture notes by Edward Loper
*
* Course: Ling 554 (Type-Logical Semantics)
* Professor: Bob Carpenter
* Institution: University of Pennsylvania
*
[10/03/00 12:05 PM]
> Review of update semantics
- distinction between world knowledge & discoures logic.
- divide world into referential part and propostional part..
- nonrigid designation
- extension of scope of \exists, not \forall.
- We can get de re (belief about object) vs de dicto (belief about
description) distinctions.
> \lambda calculus and type theory
Define 2 \bot types: e (entity), t (truth value).
Walks: e\to t
Define:
BasTyp = {Ind, Bool}
interpret concat as modus ponens or functional application.
>> Toy Language
1. var_\tau: a countably infinite set of type \tau
2. con_\tau: a set of constants of type \tau
3. Var = \cup_(\tau \in Typ) Var_\tau
4. Con = \cup_(\tau \in Typ) Con_\tau
terms:
1. var_\tau \subset Term_\tau
2. con_\tau \subset Term_\tau
3. function application
4. lambda abstraction: \lambda x.(a) yields the appropriate type.
Free variables vs. bound variables..
Substitution: \alpha[x\mapsto\beta]
FreeFor(\alpha,x,\beta): is \alpha free for x in \beta?
A model is:
M = \langle Dom, \lsemantics \bullet \rsemantics\rangle
We still need the equiv of our g function:
\theta: Var \to Dom, s.t. \theta(x) \in Dom_\tau if x \in Var_\tau
denotations: \lsemantics\alpha\rsemantics_M^\theta
>> Properties
* system is sound: if \alpha is type \tau, \lsemantics\alpha\rsemantics \in Dom_\tau, for every \theta
and M.
* bound variables' names unimportant
* logical equivlanance if denotations are equal..
Type of \land is bool\to bool\to bool.
order in which a function recieves its arguments is arbitrary.
consider:
John loves and Mary hates apple pie.
give "John loves" an interpretation by permuting the lambda variables.
Define composition:
(\beta \circ \alpha)(\delta) = \beta(\alpha(\delta))
lets us do things like combining "carefully walk" before applying it..
\alpha reduction = substitute a bound variable
\beta reduction = apply a function
\eta reduction = \lambda x(\alpha(x)) \mapsto \alpha if x not in free(\alpha)
Other properties:
* reflexivity
* transitivity
* congruance: \alpha\mapsto\alpha', \beta\mapsto\beta' \vdash \alpha(\beta)\mapsto\alpha'(\beta')
* congruance on lambda abstraction..
* equivalance
reductions are confluent (church-rosser)
reduction eventually halts for any finite expression
we can define notion of proof.
Define normal forms.. \beta normal form means there are no more \beta
reductions that you can do, etc.
If \alpha and \beta are in normal form, \alpha \equiv \beta iff \alpha =_\alpha \beta
completeness: two \lambda-terms \alpha and \beta are logically equivalant only if
\vdash \alpha \Leftrightarrow \beta is provable.
decidability: there is an algorithm for deciding whether 2 terms are
logically equivlant.
[10/10/00 12:11 PM]
Single functor/single term. But do we only have binary branching?
Functions might take multiple args..
So define product times:
(\sigma \times \tau) \in Typ if \sigma, \tau \in Typ
\lsemantics Give\rsemantics(\lsemantics John\rsemantics, \lsemantics Book\rsemantics)
Define new constants and variables of product type. Does NL have
product type constants?
Need prrojection functions:
* \pi_1(\alpha) gives 1st element
* \pi_2(\alpha) gives 2nd element
Dom_{\sigma \times \tau} = Dom_\sigma \times Dom_\tau
Define operators on terms.. curry/uncurry, commute and reassociate.
>> Applicative Categorial Grammar
Start with a basic set of categories, BasCat (np, n, s).
Define them as:
* np: ind
* n: ind->bool
* s: bool
Define Cat:
1. BasCat \subseteq Cat
2. If A, B \in Cat then (A/B), (A{\textbackslash}B) \in Cat
* A/B is the forward functor with domain (arg) B and range (result)
A.
* B{\textbackslash}A is the backward functor with domain (arg) B and range (result)
A.
(B B{\textbackslash}A) \to A
(A/B B) \to A
Typ(A/B) = Typ(B{\textbackslash}A) = Typ(B) \to Typ(A)
VP: Typ(np{\textbackslash}s) = Typ(np) \to Typ(s) = ind \to bool
abbreviate lexical entries as:
e \Rightarrow \alpha: A = >
np{\textbackslash}s: expects an np on the left, gives an s.
np{\textbackslash}s/np: expects an np on left and right, gives an S.
np{\textbackslash}s/np/np: expects 1 np on left, 2 on right, gives s.
Proof tree:
# Bobb Barr sneezes
# ----------- Lx ------------ Lx
# Bobbie: np
#
#
[10/24/00 12:07 PM]
> Game theoretical semantics
Hintika: the principles of mathmatics revisited
We are given a first-order language L and a model M of L.
Define a two-person game G(S; M)
1. Two players:
- myself: the initial verifier
- nature: the initial falsifier
2. At each stage of the game, the verifier is trying to show S is
true in M, and the falsifier that it's false.
3. Everything gets named
A sentence is true if the verifier has a winning strategy.
A sentence is false if the falsifier has a winning strategy.
Theorem: for any 1st-order sentene, tarski-type truth and GTS truth
coincide.
A sigma(1,1) sentence is a second order existential sentence.
e.g., (\exists f1, f2)(\forall x)[[f2(x)=0\land R(\ldots)]]
In \forall x\exists yRxy, choice of y depends on x.
Introduce: (\exists y/\forall x) means the choice of y is independant of x.
Consider: some representative from every village met some relative of
every townsman.
>> Partiality
Assign expressions one of 3 values: 0, 1, and ?. Use positive and
negative extensions of predicates:
1. P(A) = 1 if a \in P+
2. P(A) = 0 if a \in P-
3. P(A) = ? if (a \notin P+) and (a \notin P-)
Strong Kleene: (1\lor? = 1)
Bochvar: (1\lor? = ?)
it's important to prove that we'll never get a sentence that's both
true and false..
>> Consequences
IF logic is not compositional in the ordinary sense! When we get down
to (\exists x/\forall y)S[x], we need to know about y\ldots We can't just use
substitution..
>> Epistemic Logic
Define Ka as an operator, intuitively interpreted as "a knows that
\ldots".
Each world M_0 \in W and each person b existing in M_0 is associated
with a set of worlds, the epistemic b-alternatives to M_0.
Let \Omega be a model structure and M_0\in\Omega.. Then Ka(S) in M_0 iff for
each epistemic a-alternative M_1 to M_0 in \Omega, S is true\ldots
(R.K) The game G(Ka(S); M_0) begins with a choice by the falsifier of
an epistemic a-alternative M_1 to M_0. Continue as G(S; M_1)
>> Natural Language
Assert that there are no overt quantifier-variable pairings.. Modify
game rules so names for individuals are substituted for entire
generalized quantifiers (= Det N).
Treat interpretation of sentences as subgames. Individuals used for a
subgame G(S;M) ust be selected from a choice set Is..
[11/07/00 12:11 PM]
> Sequent Calculus
Treat proof rules as arrays: record the entailment relations as you go
along. Each node records a set of premises and a conclusion.
You can treat \Gamma as a finite conjunction of formulas.
>> Semantic Tableaux
"branches close" \to inconsistant
# \Gamma \models \varphi
Either show that a branch closes (inconsistancy) or no branch closes.
Use rules to keep rewriting the set, until we get to the end.
Contradiction:
# \Gamma \models \bot
Consistant:
# \Gamma \models something
# \Gamma \lnot\models \bot
Rules:
# \Gamma, \phi \land \psi consistant
# ---------------------
# \Gamma, \phi \land \psi, \phi, \psi consistant
# \Gamma, \lnot(\phi \land \psi) consistant
# ---------------------
# \Gamma, \lnot(\phi \land \psi), \lnot \psi consistant OR \Gamma, \lnot(\phi \land \psi), \lnot\phi, consistant
At any point, we're keeping track of a set of possible consistant
assertions.
Simplify by eliminating repeating conjunctions:
# \Gamma, \phi \land \psi consistant
# ---------------------
# \Gamma, \phi, \psi consistant
Turn it up side down and invert consistant:
# \Gamma, \phi \land \psi, \phi, \psi \models\bot
# ---------------------
# \Gamma, \phi \land \psi \models\bot
We can write \models\bot as \Rightarrow with nothing on the right
>> Rules
Closing:
#
# ----------- (basic segment)
# \Gamma, \phi, \lnot\phi \Rightarrow
# \Gamma, \phi, \psi \Rightarrow
# --------------
# \Gamma, \phi\land\psi \Rightarrow
# \Gamma, \phi, \psi \Rightarrow
# --------------
# \Gamma, \phi\land\psi \Rightarrow
# \Gamma,\phi \Rightarrow \Gamma,\psi \Rightarrow
# ----------------
# \Gamma, \phi\lor\psi \Rightarrow
# \Gamma,\lnot\phi \Rightarrow \Gamma,\psi \Rightarrow
# -----------------
# \Gamma, \phi\to\psi \Rightarrow
# \Gamma, \phi, \lnot\psi
# --------------
# \Gamma, \lnot(\phi\to\psi) \Rightarrow
# \Gamma, \phi \Rightarrow
# ---------
# \Gamma, \lnot \lnot \phi \Rightarrow
For Tableaux:
# \Gamma, \forall x\phi \Rightarrow
# ------------------
# \Gamma, \forall x\phi, \phi(x/x) \Rightarrow
The following are equivlanat:
# \Gamma \Rightarrow \phi
# ---------
# \Gamma, \lnot\phi \Rightarrow
Use that to simplify to things like:
# \Gamma \Rightarrow \phi \Gamma \Rightarrow \psi
# -------------------
# \Gamma \Rightarrow \phi\land\psi
In a linguistics domain, rules will be things like:
# NP VP \Rightarrow S
Which means that basically we have a CFG here (it's equivalant)..
>> Gentzen Sequents
Allow sequents to have any finite number of formulas on both the left
AND the right side:
# \Gamma \Rightarrow \Delta
Means that if all formulas in \Gamma are true, then at least one formula
in \Delta is true.
see slides p. 12
Now, sequents are no longer equivalant to rewrite rules, since there
can be more than one thing on the right..