Professional Documents
Culture Documents
Intoducing Dynamics in The Program To Tackle Montague Semantics With Dynamics
Intoducing Dynamics in The Program To Tackle Montague Semantics With Dynamics
Supervised Project
08.06.2010
Agenda
• Objective Caml
• Initial Program
• Dynamic Logic
• Implementing Dynamics
Objective Caml
Initial Program
Demonstration
FARMER := farmer;
DONKEY := donkey;
A := lambda P Q. exists (lambda y. conj (P y) (Q y));
BEATS := lambda O S. S (lambda x. O (lambda y. beat x y));
where
farmer : i -> o;
donkey : i -> o;
beat : i -> (i -> o);
Program Architecture
main.ml
type.ml
normalize.ml parse.ml
print.ml
syntax.ml lex.ml
Dynamic Logic
Montague Semantics
It is based on Church’s simple-type theory providing
a hierarchy of functional types built upon 2 atomic types:
- the type of individuals;
- the type of propositions;
Dynamics and Dynamic Logic (by Prof. Philippe de Groote)
For introducing a notion of context, a third atomic type
is added, which stands for the type of the left context.
Type of the proposition is ( )
LEFT CONTEXT SENTENCE RIGHT CONTEXT
( )
Dynamic Logic
Dynamic Operators
Dynamic conjunction:
e . e ( e. e )
Dynamic existential quantification:
x. Px e . x . Px ( x :: e )
Dynamic negation:
~ e . ( e ( e. )) e
These are one of the key equations used in implementation
of dynamics in the program.
Dynamic Logic
Dynamic implication:
~ ( ~ )
Dynamic disjunction:
~ (~ ~ )
Universal quantification:
x . Px ~ x . ~ ( Px )
Dynamic Logic
R t1 ...t n e . R t1 ...t n e
~
x . x .
These are one of the key equations used in implementation
of dynamics in the program.
Implementing Dynamics
Implemented
Adding dyn function and
dedicating one module dynamic.ml to it.
Implementing Dynamics
type.ml
normalize.ml parse.ml
print.ml dynamics.ml
syntax.ml lex.ml
Implementing Dynamics
Demonstration
Let us consider a donkey sentence:
Every farmer who has a donkey beats it.
[farm er ] farm er
[donkey ] don key
[ow ns] O S . S ( x .O ( y .ow n x y ))
[beats] O S . S ( x .O ( y .beat x y ))
[ w ho ] R Q x .Q x R ( P . P x )
[a ] P Q . x . P x Q x
[every ] P Q . x . P x Q x
[it ] ???
it Pe . P (sel e ) e
Implementing Dynamics
Demonstration
OWNS := lambda O S. S(lambda x. O(lambda y. own x y));
WHO := lambda R Q x. conj (Q x) (R (lambda P. P x));
EVERY := lambda P Q. neg( exists (lambda x. conj (P x) (neg(Q x))));
where
dyn BEATS dynIT ( dyn (EVERY (WHO (OWNS (A DONKEY)) FARMER )));
Implementing Dynamics
Analyzing output
THANK YOU