Approches formelles en syntaxe et sémantique Alain Lecomte UMR 7023 Structures Formelles de la Langue
programme minimaliste Deux opérations générales: –merge –move
definition A minimalist grammar is a 4-tuple (V, Cat, Lex, F) where: –V = P I –Cat = (base select licensee licensor), –Lex = cf. above –F = {merge, move} ex: P = {/marie/, /pierre/, /le/,/quechua/,…} I = {(marie), (pierre), (quechua), (le),…} base = {c, t, v, d, n, …} select = { =x ; x base} licensee = { -k, -wh, …} licensor = {+k, +K, +wh, +WH, …}
merge A pair of trees, belongs to the domain of merge iff has the feature =x and has the feature x for some x base. merge(, ) = [ <, ] if has only one node merge(, ) = [ >, ] if has more than one node : - {=x} and : - {x} « has the feature f » : the first element of the sequence which labels s head is f
projections, heads… When two constituants are merged, one of them « projects over » the other, we write: x < y for « x projects over y » x is head of y if: –y leaf and x = y –or : x is head of some z which projects over all its sisters
move belongs to the domain of move iff has the feature +y and has exactly one maximal subtree 0 which has the feature –y move( ) = [ > 0, ] where 0 is 0 – {-y} and is - {+y} and 0 is replaced by a featureless node if y is strong and with only the phonetic features if it is weak. maximal : his root is the maximal projection of some head
Example (Stabler 97) Lexicon: d –k maria =n d –k some n student =d +k =d v speaks =v +K t =t c d –k quechua =n d –k every n language =c +k =d v believes =t c -k
=n d –k every n language Merge
d –k every language <
d –k every language < =d +k =d v speaks
–k every language < +k =d v speaks <
–k every language < +k =d v speaks < Move
–k every language < +k =d v speaks < Move –k every language <
every language < =d v speaks < Move >
(every) (language) < =d v speaks < > /every//language/ LF : (some linguist)(every language)(speaks) PF: /some linguist speaks every language/
merge {Peter} {smoke} (sans tenir compte du temps) n /peter/=n v /smoke/
merge {Peter} {smoke} /peter/ v /smoke/
merge {Peter} {smoke} Type driven interpretation /peter/ e v /smoke/ e t t
merge {Peter} {smoke}(without tense) Type driven interpretation /peter/ e v /smoke/ e t x. smoke(x) t smoke(p*) p*
Merge principle Two expressions can merge only if their semantical types allow it : –If and are expressions, if has the type of a function the domain of which contains, then they can merge and the resulting expression is such that: [[ ]] = [[ ]]([[ ]]) (with the resulting type)
move personne que Pierre admire N NCP C IPC Pierre admire t personne que
move personne que Pierre admire : – x. [personne(x) admire(pierre, x)] Hypothesis (Heim & Kratzer): –every trace translates into an e-type variable (if an NP is moved) Pierre admire t : –admire(pierre, x n )
move personne que Pierre admire N NCP P. x. [P(x) admire(pierre, x)] C IPC Pierre admire t personne que admire(pierre, x)
move personne que Pierre admire N NCP P. x. [P(x) admire(pierre, x)] C IPC Pierre admire t personne que admire(pierre, x) U. P. x. [P(x) U(x)]
move personne que Pierre admire N NCP P. x. [P(x) admire(pierre, x)] C IPC Pierre admire t personne que admire(pierre, x) U. P. x. [P(x) U(x)] ?
types N NCP P. x. [P(x) admire(pierre, x)] C IPC Pierre admire t personne que admire(pierre, x) U. P. x. [P(x) U(x)] t,, >>
types N NCP P. x. [P(x) admire(pierre, x)] C IPC Pierre admire t personne que admire(pierre, x) U. P. x. [P(x) U(x)] t,, >> mismatch
types C IPC Pierre admire t admire(pierre, x) t N NCP P. x. [P(x) admire(pierre, x)] personne que U. P. x. [P(x) U(x)],, >> Abstraction step
types C IPC Pierre admire t admire(pierre, x) t N NCP P. x. [P(x) admire(pierre, x)] personne que U. P. x. [P(x) U(x)],, >> x. admire(pierre, x)
Move principle Let [+f] a tree which has the feature +f, and which contains only one maximal subtree [-f]*, therefore of semantics [[ (x )]], where x is a variable representing. Let the tree obtained by moving out of, then: [[ ]] = [[ ]]( x. [[ (x )]][x /x]), if there is no further expected move of. If there are expected moves of (other licensees –f in it), [[ ]] = ( x. [[ (x )]][x /x])(y) where y is a fresh variable
example Quel bus tu prends? Lexicon: –bus : n /bus/ x.bus(x) –quel : =n d –wh /quel/ P. Q.[quel x P(x) Q(x)] –tu : d /tu/ tu –prends : =d =d v /prends/ x. y.monte-dans(y, x) –=v t –=t +WH c
=n d –wh /quel/ P. Q.[quel x P(x) Q(x)] n /bus/ x.bus(x)
d –wh /quel/ P. Q.[quel x P(x) Q(x)] /bus/ x.bus(x) merge <
d –wh /quel/ /bus/ merge < Q.[quel x bus(x) Q(x)]
=d =d v /prends/ x. y.monte-dans(y, x) d -wh /quel//bus/ x bus, merge
=d v /prends/ -wh /quel//bus/ merge < y.monte-dans(y, x bus )
=d v /prends/ -wh /quel//bus/ merge < y.monte-dans(y, x bus ) > d /tu/ tu
v /prends/ -wh /quel//bus/ merge < > /tu/ monte-dans(tu, xbus )
v /prends/ -wh /quel//bus/ merge < > /tu/ monte-dans(tu, xbus ) < =v t
/prends/ -wh /quel//bus/ merge < > /tu/ monte-dans(tu, xbus ) < t
/prends/ -wh /quel//bus/ merge < > /tu/ monte-dans(tu, xbus ) < t < =t +WH c
/prends/ -wh /quel//bus/ merge < > /tu/ monte-dans(tu, xbus ) < < +WH c
/prends/ -wh /quel//bus/ move < > /tu/ monte-dans(tu, xbus ) < < +WH c >
/prends/ /quel//bus/ move < > /tu/ monte-dans(tu, xbus ) < < c >
/prends/ move < > /tu/ < < c /quel//bus/ > u. monte-dans(tu, u ) Q.[quel x bus(x) Q(x)]
/prends/ move < > /tu/ < < c /quel//bus/ > [quel x bus(x) monte-dans(tu, x )]
conclusion Syntax and semantic cooperate : –merge and move drive semantical operations (application and abstraction) –semantical typing selects the correct derivations (« objects » go to accusatives, « subjects » to nominatives) Similarities with type-logical grammars : –resource consumption logic –Curry-Howard homomorphism
Passive voice seen :: =d v x. seen(x) was :: =v +NOM infl Paul :: d –k (, t> e) Mary :: d -k by :: =d +obl V= v, >> z. u. y.agent(u(y), z)
=d v d –k e /seen/ seen :: =d v x. seen(x) was :: =v +NOM infl Paul :: d –k (, t> e) Mary :: d -k by :: =d +obl V= V, >> z. u. y.agent(u(y), z)
v –k e seen(x) /seen/ seen :: =d v x. seen(x) was :: =v +NOM infl Paul :: d –k (, t> t) Mary :: d -k by :: =d +obl V= V, >> z. u. y.agent(u(y), z)
v –k e seen(x) =v +NOM infl /seen/ /was/ seen :: =d v x. seen(x) was :: =v +NOM infl Paul :: d –k (, t> t) Mary :: d -k by :: =d +obl V= V, >> z. u. y.agent(u(y), z)
–k e seen(x) +NOM infl /seen/ /was/ seen(x) seen :: =d v x. seen(x) was :: =v +NOM infl Paul :: d –k (, t> t) Mary :: d -k by :: =d +obl V= V, >> z. u. y.agent(u(y), z)
seen(x) +NOM infl /seen/ /was/ seen(x) -k /Paul/ seen :: =d v x. seen(x) was :: =v +NOM infl Paul :: d –k (, t> t) Mary :: d -k by :: =d +obl V= V, >> z. u. y.agent(u(y), z)
seen(x) infl /seen/ /was/ seen(x) /Paul/ seen :: =d v x. seen(x) was :: =v +NOM infl Paul :: d –k (, t> t) Mary :: d -k by :: =d +obl V= V, >> z. u. y.agent(u(y), z)
e seen(x) infl /seen/ /was/ seen(x) /Paul/ x.seen(x) P. P(paul) seen :: =d v x. seen(x) was :: =v +NOM infl Paul :: d –k (, t> t) Mary :: d -k by :: =d +obl V= V, >> z. u. y.agent(u(y), z)
e seen(x) infl /seen/ /was/ seen(x) /Paul/ x.seen(x) P. P(paul) seen(Paul) seen :: =d v x. seen(x) was :: =v +NOM infl Paul :: d –k (, t> t) Mary :: d -k by :: =d +obl V= V, >> z. u. y.agent(u(y), z)
=d +obl V= v d –k /by/ /Mary/ seen :: =d v x. seen(x) was :: =v +NOM infl Paul :: d –k (, t> t) Mary :: d -k by :: =d +obl V= V, >> z. u. y.agent(u(y), z)
+obl V= v –k /by/ /Mary/ seen :: =d v x. seen(x) was :: =v +NOM infl Paul :: d –k (, t> t) Mary :: d -k by :: =d +obl V= V, >> z. u. y.agent(u(y), z)
+obl V= v /by/ -k /Mary/ (Mary) seen :: =d v x. seen(x) was :: =v +NOM infl Paul :: d –k (, t> t) Mary :: d -k by :: =d +obl V= V, >> z. u. y.agent(u(y), z)
V= v /by/ /Mary/ (Mary) seen :: =d v x. seen(x) was :: =v +NOM infl Paul :: d –k (, t> t) Mary :: d -k by :: =d +obl V= V, >> z. u. y.agent(u(y), z)
V= v /by/ /Mary/ v –k e /seen/ (Mary) seen :: =d v x. seen(x) was :: =v +NOM infl Paul :: d –k (, t> t) Mary :: d -k by :: =d +obl V= V, >> z. u. y.agent(u(y), z)
v /by/ /Mary/ –k e /seen/ (Mary) seen :: =d v x. seen(x) was :: =v +NOM infl Paul :: d –k (, t> t) Mary :: d -k by :: =d +obl V= V, >> z. u. y.agent(u(y), z)
v /by/ /Mary/ –k e /seen/ (Mary) u. y.agent(u(y), mary) x. seen(x) seen :: =d v x. seen(x) was :: =v +NOM infl Paul :: d –k (, t> t) Mary :: d -k by :: =d +obl V= V, >> z. u. y.agent(u(y), z)
v /by/ /Mary/ –k x e /seen/ (Mary) u. y.agent(u(y), mary) x. seen(x) y.agent(seen(y), mary) agent(seen(x), mary) seen :: =d v x. seen(x) was :: =v +NOM infl Paul :: d –k (, t> t) Mary :: d -k by :: =d +obl V= V, >> z. u. y.agent(u(y), z)
v /by/ /Mary/ –k x e /seen/ (Mary) u. y.agent(u(y), mary) x. seen(x) y.agent(seen(y), mary) =v +NOM infl /was/ agent(seen(x), mary) seen :: =d v x. seen(x) was :: =v +NOM infl Paul :: d –k (, t> t) Mary :: d -k by :: =d +obl V= V, >> z. u. y.agent(u(y), z)
/by/ /Mary/ –k x e /seen/ (Mary) u. y.agent(u(y), mary) x. seen(x) y.agent(seen(y), mary) +NOM infl /was/ agent(seen(x), mary) seen :: =d v x. seen(x) was :: =v +NOM infl Paul :: d –k (, t> t) Mary :: d -k by :: =d +obl V= V, >> z. u. y.agent(u(y), z)
/by/ /Mary/ /seen/ (Mary) u. y.agent(u(y), mary) x. seen(x) y.agent(seen(y), mary) +NOM infl /was/ agent(seen(x), mary) -k /Paul/ x seen :: =d v x. seen(x) was :: =v +NOM infl Paul :: d –k (, t> t) Mary :: d -k by :: =d +obl V= V, >> z. u. y.agent(u(y), z)
/by/ /Mary/ /seen/ (Mary) u. y.agent(u(y), mary) x. seen(x) y.agent(seen(y), mary) infl /was/ agent(seen(x), mary) /Paul/ x. agent(seen(x), mary) x seen :: =d v x. seen(x) was :: =v +NOM infl Paul :: d –k (, t> t) Mary :: d -k by :: =d +obl V= V, >> z. u. y.agent(u(y), z)
/by/ /Mary/ /seen/ (Mary) u. y.agent(u(y), mary) x. seen(x) y.agent(seen(y), mary) infl /was/ agent(seen(x), mary) /Paul/ x. agent(seen(x), mary) P. P(paul) x seen :: =d v x. seen(x) was :: =v +NOM infl Paul :: d –k (, t> t) Mary :: d -k by :: =d +obl V= V, >> z. u. y.agent(u(y), z)
/by/ /Mary/ /seen/ (Mary) u. y.agent(u(y), mary) x. seen(x) y.agent(seen(y), mary) infl /was/ agent(seen(x), mary) /Paul/ x. agent(seen(x), mary) P. P(paul) agent(seen(paul), mary) x seen :: =d v x. seen(x) was :: =v +NOM infl Paul :: d –k (, t> t) Mary :: d -k by :: =d +obl V= V, >> z. u. y.agent(u(y), z)