470 likes | 583 Views
Labelled Linear Grammars. A.LECOMTE U. Grenoble & équipe SIGNES Bordeaux. abstract syntax. At := d (d acc , d nom , d dat )| n | s | … Typ := At | Typ --o Typ | ! n Typ. phonetics. one type : string T := s | T --> T . semantics. At := e | t
E N D
Labelled LinearGrammars A.LECOMTE U. Grenoble & équipe SIGNES Bordeaux
abstract syntax • At := d (dacc, dnom, ddat)| n | s | … • Typ := At | Typ --o Typ | !nTyp phonetics • one type : string • T := s | T --> T semantics • At := e | t • T := At | T --> T
Hypotheses are used • They are discharged in any order just before associated lifted types apply • Plurality of scopes = they may apply in any order • One string = the string result does not depend on the order of rules
s : tout_prof_donne_un_livre_à_ dnom --o s: ._donne_un_livre_à_ (dnom --o s) --o s U.U(tout_prof) s : _donne_un_livre_à_ dacc --o s : ._donne__à_ (dacc --o s) --o s: U.U(un_livre) s : _donne__à_ dnom --o s c.c_donne__à_ [dnom : ] ddat--o (dnom--o s) b.c.c_donne__à_b [ddat : ] dacc--o (ddat--o (dnom--o s)) a.b.c.c_donne_a_à_b [dacc : ] two readings for the same string
s : tout_prof_donne_un_livre_à_ dacc --o s : .tout_prof_donne_ _à_ (dacc --o s) --o s: U.U(un_livre) s : tout_prof_donne_ _à_ dnom --o s: ._donne__à_ (dnom --o s) --o s U.U(tout_prof) s : _donne__à_ dnom --o s c.c_donne__à_ [dnom : ] ddat--o (dnom--o s) b.c.c_donne__à_b [ddat : ] dacc--o (ddat--o (dnom--o s)) a.b.c.c_donne_a_à_b [dacc : ] two readings for the same string
s similarities with covert moves dnom --o s (dnom --o s) --o s s dacc --o s (dacc --o s) --o s s dnom --o s [dnom ] ddat--o (dnom--o s) [ddat ] dacc--o (ddat--o (dnom--o s)) [dacc ]
« in situ » • Every lifted type (d --o s) --o s is labelled by : U. U(<const>) where <const> is a not empty string • The abstraction step abstracts over a string variable inside the current string, creating a hole, • The application step fills in the hole
X.(X) Abstraction step (X) A string containing a string variable X
<every_person occupying the place of X> Application step X.(X) U.U(every_person) Abstraction step (X) A string containing a string variable X
« ex-situ » X.(X) Abstraction step (X) A string containing a string variable X
« ex-situ » < occupying the place of X, which_person concatenated with the result> Application step X.(X) U. which_person_U() Abstraction step (X) A string containing a string variable X
s dacc--o swh (dacc--o swh) --o s swh s s --o swh dnom--o s (dnom--os)--o s s [dnom] dnom--os dacc--o(dnom--os) [dacc]
s dacc--o swh : . do_you_read_ (dacc--o swh) --o s W.which_book_W() swh: do_you_read_ s : you_read_ s --o swh V.do_V dnom--o s : . _read_ (dnom--os)--o s U.you_U() s : _read_ [dnom : ] dnom--os : b.b_read_ dacc--o(dnom--os) a.b.b_read_a [dacc : ]
Comparisons between languages • SOV, SVO, VSO, VOS etc. orders = dependance on the string labelling • Ex: in a SVO language, nominative nominals have the « ex-situ » label, accusative nominals have the « in situ » label • strings are no longer invariant under different rule orderings
s : *Pierre_je_crois_que_est_malade dnom --o s : . je_crois_que__est_malade (dnom --o s) --o s U.Pierre_U() s dnom --o s dnom : je s’ s’--o(dnom --o s) crois s s --o s’ que dnom --o s : est malade [dnom : ]
s : *Pierre_je_crois_que_est_malade dnom --o s : . je_crois_que__est_malade (dnom --o s) --o s U.Pierre_U() s dnom --o s dnom : je s’ s’--o(dnom --o s) crois s s --o s’ que dnom --o s : est malade [dnom : ]
principles • Every nominal is introduced after a hypothesis which is linked to it • Hypotheses of the same type are discharged in their order of introduction (= Shortest Move Condition) • Other types (than s, s’, d…) are motivated by the necessity of « phases »
s : *Pierre_je_crois_que_est_malade dnom --o s : . je_crois_que__est_malade (dnom --o s) --o s U.Pierre_U() s dnom --o s (dnom --o s) --o s U.je_U() s dnom --o s [dnom : ] s’ s’--o(dnom --o s) crois s s --o s’ que dnom --o s : est malade [dnom : ]
s : *je_Pierre_crois_que_est_malade dnom --o s : . Pierre_crois_que_est_malade (dnom --o s) --o s U.je_U() s dnom --o s (dnom --o s) --o s U.Pierre_U() s dnom --o s [dnom : ] s’ s’--o(dnom --o s) crois s s --o s’ que dnom --o s : est malade [dnom : ]
cp : je_crois_que_Pierre_est_malade dnom --o s (dnom --o s) --o cp U.je_U() Idea of « phases » s dnom --o s : ._crois_que_Pierre_est_malade [dnom : ] s’ s’--o(dnom --o s) crois cp cp --o s’ que dnom --o s (dnom --o s) --o cp U.Pierre_U() s dnom --o s : est malade [dnom : ]
cp : tout_prof_donne_un_livre_à_ dnom --o s ._donne_un_livre_à_ (dnom --o s) --o cp U.U(tout_prof) s : _donne_un_livre_à_ dacc --o s : ._donne__à_ (dacc --o s) --o s: U.U(un_livre) s : _donne__à_ dnom --o s c.c_donne__à_ [dnom : ] ddat--o (dnom--o s) b.c.c_donne__à_b [ddat : ] dacc--o (ddat--o (dnom--o s)) a.b.c.c_donne_a_à_b [dacc : ] revisited (nom acc)
cp dacc --o cp (dacc --o cp) --o cp cp dnom --o s (dnom --o s) --o cp s dnom --o s [dnom ] ddat--o (dnom--o s) [ddat ] dacc--o (ddat--o (dnom--o s)) [dacc ] NB : the accusative nominal has type (dacc --o X) --o X where X {s, cp}
Wh-questions cp dacc--o swh (dacc--o swh) --o cp swh cp cp --o swh dnom--o s (dnom--os)--o cp s [dnom] dnom--os dacc--o(dnom--os) [dacc]
Wh-questions cp dacc--o swh : . do_you_read_ (dacc--o swh) --o cp W.which_book_W() swh: do_you_read_ cp : you_read_ cp --o swh V.do_V dnom--o s : . _read_ (dnom--os)--o cp U.you_U() s : _read_ [dnom : ] dnom--os : b.b_read_ dacc--o(dnom--os) a.b.b_read_a [dacc : ]
cp dnom--o swh (dnom--o swh) --o cp W.who_W() swh s s --o swh V.does_V dacc--o s (dacc--os)--o s U.U(this_book) s [dnom] dnom--os dacc--o(dnom--os) a.b.b_read_a [dacc]
For the sake of uniformity, the auxiliary must still be cp --o swh before inserting the wh-phrase, • This necessitates the « closure » of the sentence, like in the case of which book do [cpyou read] • ---> Cyclic move
cyclic move cp (dnom--o swh) --o cp W.who_W() dnom--o swh swh cp --o swh V.does_V cp dnom--o s (dnom--o s)--o cp U._U() s dacc--o s (dacc--os)--o s U.U(this_book) s dnom--os [dnom: ] dacc--o(dnom--os) a.b.b_read_a [dacc] but one and the same hypothesis is discharged twice (non linearity)
cp (!1dnom--o swh) --o cp W.who_W() !1dnom--o swh swh cp --o swh V.does_V cp !1dnom--o s (!1dnom--o s)--o cp U._U() s dacc--o s (dacc--os)--o s U.U(this_book) s dnom--os [!2dnom: ] dacc--o(dnom--os) a.b.b_read_a [dacc] but one and the same hypothesis is discharged twice (non linearity)
Steps of proof |-- acc --o(nom --os) acc |-- acc !2nom |-- nom acc |-- nom --o s !2nom, acc |-- s |-- (acc --o s) --os !2nom|-- acc --o s !2 nom |-- s !1nom, !1nom |-- s |--(!1nom--o s)--ocp !1nom |-- !1nom --o s !1nom |-- cp |-- cp --o swh !1nom |-- swh |--(!1nom--o swh)--o cp |-- !1nom --o swh cp !nA = 1A A2 … An
chains who ::= (!1dnom --o swh) --o cp (!1dnom --o s) --o cp [!2 dnom] which book ::= (!1dacc --o swh) --o cp (!1dacc --o s) --o s [!2 dacc] Phonetics: who ::= W.who_W() U._U() [!2 dnom : ] Cyclic move requires to discharge the same hypothesis several times
more generally (!1dnom --o swh) --o cp (!1dnom --o s) --o cp … (!1dnom --o s) --o cp[!n dnom] Phonetics: W.who_W() U.1_U() … U.n_U() [!n dnom : ]
Because there is no chain such as : (dnom --o cp) --o cp … [dnom] There is only one extracted wh-phrase • Alternative typing for a wh-phrase: • what ::= (dacc--os)--o swh : U.U(what) [dacc] • what ::= (!1dacc --o swh) --o cp (!1dacc --o s) --o s(*) [!2dacc] • who ::= (dnom--o cp) --o swh : U.who_U() [dnom ] • who ::= (!1dnom --o swh) --o cp (!dnom --o swh) --o cp [!2dnom] (*) : not necessary
cp (!1dnom--o swh) --o cp W.who_W() !1dnom--o swh swh cp --o swh V.does_V cp !1dnom--o swh (!1dnom--o swh)--o cp U._U() swh dacc--o s (dacc--os)--o swh U.U(what) s dnom--os [!2dnom: ] dacc--o(dnom--os) a.b.b_read_a [dacc]
Anaphora is contraction cp : Pierre1_croit_qu_il1_est_malade !2dnom --o s (!2dnom --o s) --o cp U.Pierre_U() s : _croit_qu_il_est_malade dnom --o s : . _croit_qu_il_est_malade [!1dnom : ] s’ s’--o(dnom --o s) croit cp cp --o s’ qu !1dnom --o s (!1dnom --o s) --o cp U.il_U() used twice s dnom --o s : est malade [!2dnom : ]
chain (!2dnom --o s) --o cp (!1dnom --o s) --o cp[!1dnom : ][!2dnom : ] U.Pierre_U() U.il_U() phon Anaphora requires to use the same hypothesis several times
more generally (!ndnom --o s) --o cp (!n-1dnom --o s) --o cp … (!1dnom --o s) --o cp [! n-1dnom : 1]…[! n-1dnom : n-1][!ndnom : n]
the hypothesis is used once it is copied one instance is discharged it merges with the previous one both are discharged Steps of proof !2dn: |- dn: |- dn--os !2dn: |- s :_est_malade D !1dn:, !1dn: |- s :_est_malade |- il:(!1dn--o s)--ocp !1dn: |- !1dn--o s : . _est_malade !1dn: |- cp :il_est_malade !1dn: |- dn: !1dn: |- dn--o s : . _croit_qu_il_est_malade the hypothesis is used once again !1dn: , !1dn: |- s : _croit_qu_il_est_malade C !2dn: |- s : _croit_qu_il_est_malade |- pierre:(!2dn--o s)--ocp |- !2dn --o s : . _croit_qu_il_est_malade |- cp : pierre_croit_qu_il_est_malade
n--o((a--os)--os) every n n book n--on (a--os)--o(n--on) that a--os s !1V did !1V--o s s (n--os)--o s you n--os s n--os [n] [!2(a--o(n--os))] [a]
n n book n--on s !2V read !1V--o s (a--os)--o(n--on) that a--os s s (a--os)--os every book that you did a--os !1V did !1V--o s s s (n--os)--o s I n--os (n--os)--o s you n--os s s n--os [n] n--os [n] [!2(a--o(n--os))] [a] [!1(a--o(n--os))] [a]
cp : je_crois_que_Pierre_est_malade dnom --o s (dnom --o s) --o cp U.je_U() s dnom --o s : . _crois_que_Pierre_est_malade [dnom : ] s’ s’--o(dnom --o s) crois cp cp --o s’ que dnom --o s (dnom --o s) --o cp U.Pierre_U() s dnom --o s : est malade [dnom : ]
(dnom s) cp : je_crois_que_Pierre_est_malade U.je_U() s’(dnom s) crois cp s’ que (dnom s) cp U.Pierre_U() dnom s : est malade
cps’ que dnom s est malade (dnom s)cp je s’(dnoms) crois (dnoms)cp Pierre
cp cp cp s’ s’ s s s dnom dnom s dnom dnom Je crois que pierre est malade
cp cp cp s’ s’ s s s !dnom dnom s !dnom dnom Pierre croit qu il est malade !dnom
cp cp cp s’ s’ s s s s !dnom dnom dnom Pierre croit qu il est malade
u(pierre) cp application P.P(pierre) Output u(x) x.u(x) s s abstraction sur x u application Input x dnom dnom x pierre est malade