ESSLLI 2007 19h Europen Summer School in Logic, Lnguge nd Inormion Augus 6-17, 2007 hp://www.cs.cd.ie/esslli2007 Triniy College Dulin Irelnd COURSE READER ESSLLI is he Annul Summer School o FoLLI, The Associion or Logic, Lnguge nd Inormion hp://www.olli.org
Ouline Auom nd Logic on Trees 1 Inroducion Wim Mrens 1 Sijn Vnsummeren 2 2 Rnked Tree Auom 1 Universiy o Dormund, Germny 2 Hssel Universiy, Belgium 3 Properies nd Algorihms Ouline Wh m I doing here? 1 Inroducion 2 Rnked Tree Auom You know somehing ou inie uom on srings You wn o know more ou inie uom on rees 3 Properies nd Algorihms D on he we is in ree-srucured XML <muppe creor="henson"> <nme> Kermi </nme> <niml> Frog </niml> </muppe> creor Henson muppe nme Kermi niml Frog They re he sis or XML schem lnguges nd vlidion Form oundion or XML query lnguges Aid in sic veriicion
A sis or XML schem lnguges Consrin: Every muppe node mus hve creor nd nme, nd my hve n opionl niml. Exmples: muppe muppe A sis or XML schem lnguges Consrin: Every muppe node mus hve creor nd nme, nd my hve n opionl niml. Mny schem lnguges: DTD, XML Schem, Relx NG,... creor nme niml creor nme All nurlly modeled nd execued y ree uom Henson Kermi Frog Henson Miss Piggy As oundion or XML query lnguges Query: Rerieve ll muppe nmes. Exmples: As oundion or XML query lnguges Query: Rerieve ll muppe nmes. creor muppe nme niml muppe creor nme Lnguges sed on Tree Auom: Mondic dlog, Query uom Henson Kermi Frog Henson Miss Piggy In summry... Tree uom provide he underlying guiding principles or d on he We Aid in Sic Veriicion. Given: Progrm P, inpu schem I, oupu schem O. Quesion: Is P() O, or every I? Like he relionl clculus (i.e., irs-order logic) nd he relionl lger provide he underlying principles or relionl d. Sic Type-checking: XDuce, CDuce, XQuery, XLST,...
Who re you guys nywy? Course Overview Dy 1: Bsics on Rnked Tree Auom Dy 2: Algorihms on Rnked Tree Auom Dy 3: Connecion wih Mondic Second-Order Logic Dy 4: Bsics nd Algorihms on Unrnked Tree Auom Dy 5: XML-reled pplicions Wim Mrens Sijn Vnsummeren Ouline Wrmup: Auom on Srings srings wih n even numer o s 1 Inroducion 2 Rnked Tree Auom sr q 0 q 1 3 Properies nd Algorihms Trnsiion Rules q 0 q1 q 0 q0 ec... From Srings o Trees: Binry Trees From Srings o Trees: Binry Trees inry rees wih n even numer o s even even odd even odd even even # # # # # # # # How do we pu his ino rnsiion rules? inry rees wih n even numer o s even even odd even odd even even # # # # # # # # Trnsiion rules (even,odd) even (le -rnsiion) (even,even) odd (righ -rnsiion) ec...
Rnked Trees Rnked Alphe Wh re rnked rees? A rnked lphe symol is ormlizion o uncion cll A rnked symol...... is symol ogeher wih n ineger rnk() A uncion cll (,) is rnked ree rnk() ell us he numer o children is llowed o hve A uncion cll (g(,,c),h(i)) is rnked ree g h c i Noion (k) : symol wih rnk() = k Rnked Alphe: Exmple Rnked Tree Auom Exmple Alphe: { (2), (2),c (3),# (0) } Allowed Tree: # # # # c # # # # # # A rnked ree uomon A consiss o Alphe(A): inie se o lphe symols Ses(A): inie se o ses where Rules(A): inie se o rnsiion rules Finl(A): inie se o inl ses Rules(A) re o he orm (q 1,...,q k ) (k) q (I k = 0, we wrie ε (0) q) Rnked Tree Auom Terminology How do hey work? Exmple rue ε ε (,) (, )... (, ) lse rue lse rue rue lse rue I roo is leled y q Finl(A): ACCEPT Terminology Lnguge(A): se o rees cceped y A Regulr ree lnguge: Se o rees S such h S = Lnguge(A) or some rnked ree uomon A
Exmple Deerminisic Rnked Tree Auomon Tree uomon A over { (2), (2),c (3),# (0) } or rees wih even numer o s Alphe(A): {,,c,#} Ses(A): {even,odd} Finl(A): {even} Rules(A): (even,even) odd (even,even) even (even,even,even) c even (even,odd) even (even,odd) odd (even,even,odd) c odd (odd,even) even (odd,even) odd (even,odd,even) c odd (odd,odd) odd (odd,odd) even (even,odd,odd) c even ε # even... Deerminisic: No wo rules o he orm or dieren ses q nd q (q 1,...,q k ) (k) q (q 1,...,q k ) (k) q Deerminisic Rnked Tree Auomon: Exmple Ouline Exmple (even,even) odd (even,even) even (even,even,even) c even (even,odd) even (even,odd) odd (even,even,odd) c odd (odd,even) even (odd,even) odd (even,odd,even) c odd (odd,odd) odd (odd,odd) even (even,odd,odd) c even ε # even... 1 Inroducion 2 Rnked Tree Auom 3 Properies nd Algorihms Some immedie nurl quesions Generl quesions: Are non-deerminisic nd deerminisic rnked ree uom equivlen? Are regulr ree lnguges closed under Boolen operions? Does i mer wheher we red rees op-down or oom-up? Do we hve pumping lemm? Cn ree uom e minimized? Complexiy quesions: Wh is he complexiy o deciding wheher... uomon A cceps ree? uomon A cceps ree ll? uomon A cceps ll rees o uomon B? se o uom ccep common ree? Cn Rnked Tree Auom e Deerminized? Tke his non-deerminisic Tree Auomon: Exmple Auomon wih Finl(A) = q nd rules ε c q q q q q q q (q,q) q
Cn Rnked Tree Auom e Deerminized? Rnked Auom cn e Deerminized Exmple Auomon wih Finl(A) = q nd rules ε c q q q q q q q (q,q) q Deerminizion Ses(A de ) = {{q},{q,q },{q,q,q }} nd rules ε c {q} {q} {q,q } {q,q } {q,q,q } {q,q,q } {q,q,q } (S 1,S 2 ) {q} or ll S 1,S 2 Ses(A) Theorem From ech non-deerminisic ree uomon, n equivlen deerminisic ree uomon cn e consruced in exponenil ime Corollry Non-deerminisic nd deerminisic ree uom recognize he sme lnguges Rnked Auom cn e Deerminized Theorem Rnked Auom cn e deerminized in exponenil ime Is his opiml? n ( + ). ( + ) ( + ). ( + ) # Nurl Quesions Generl quesions: Are non-deerminisic nd deerminisic rnked ree uom equivlen? Yes. Are regulr ree lnguges closed under Boolen operions? Does i mer wheher we red rees op-down or oom-up? Do we hve pumping lemm? Cn ree uom e minimized? Complexiy quesions: Wh is he complexiy o deciding wheher... uomon A cceps ree? uomon A cceps ree ll? uomon A cceps ll rees o uomon B? se o uom ccep common ree? Closure under Union nd Inersecion: Produc Consrucion Exmple Auomon A: even numer o s (even,even) odd Auomon B: even numer o s (even,even) even Closure under Union nd Inersecion Produc Consrucion: Given A, B, consruc A B Alphe(A B) = Alphe(A) Alphe(B) Ses(A B) = Ses(A) Ses(B) Finl(A B) = {(s A,s B ) s A Finl(A) s B Finl(B)} Rules(A B) = { even even odd even even even ( (s 1 A,s 1 B ),...,(sk A,sk B )) (k) (s A,s B ) (sa 1,...,sk A ) (k) s A Rules(A) ( (even,even),(even,even) ) (odd,even) (sb 1,...,sk B ) (k) s B Rules(B)}
Closure under Union nd Inersecion: Union Closure under Union nd Inersecion: Inersecion Given A, B, consruc A B Alphe(A B) = Alphe(A) Alphe(B) Ses(A B) = Ses(A) Ses(B) Rules(A B) = { ( (s 1 A,s 1 B ),...,(sk A,sk B )) (k) (s A,s B ) (sa 1,...,sk A ) (k) s A Rules(A) (sb 1,...,sk B ) (k) s B Rules(B)} Given A, B, consruc A B Alphe(A B) = Alphe(A) Alphe(B) Ses(A B) = Ses(A) Ses(B) Rules(A B) = { ( (s 1 A,s 1 B ),...,(sk A,sk B )) (k) (s A,s B ) (sa 1,...,sk A ) (k) s A Rules(A) (sb 1,...,sk B ) (k) s B Rules(B)} Finl(A B) = {(s A,s B ) s A Finl(A) s B Finl(B)} Finl(A B) = {(s A,s B ) s A Finl(A) s B Finl(B)} Produc Consrucion: Blow-up Closure under Complemen: Compleion Produc Consrucion: Blow-up Ses(A B) = Ses(A) Ses(B) Rules(A B) Rules(A) Rules(B) Blow-up: Qudric Deiniion (Complee ree uomon) For ech (k) Alphe(A) nd q 1,...,q k Ses(A), here is rule (q 1,...,q k ) q or some q. Exmple (Incomplee (deerminisic) Tree Auomon) Tree uomon A or {(,)}: ε q (q,q ) q wih Finl(A) = q Closure under Complemen: Compleion Closure under Complemen Exmple (Incomplee (deerminisic) Tree Auomon) Tree uomon A or {(,)}: ε q (q,q ) q wih Finl(A) = q Exmple (Complemening A) Add sink se q s : ε q ε q s (q,q ) q (q,q ) q s (q,q ) q s (q,q ) q s (q,q ) q s (q,q ) q s (q,q ) q s (q,q ) q s (q s,q), q s or ll q {q,q,q s } (q,q s ), q s or ll q {q,q,q s } wih Finl(A) = {q,q s } Complemening A (1) Deerminize A (2) Complee he resul (3) Swich inl non-inl ses Complemen consrucion: Blow-up Deerminizing A: exponenil low-up (ses: 2 Ses(A) ) Compleing he resul: low-up in rules: Alphe (2 Ses(A) ) k, where k is mximl rnk Alphe(A) Swiching inl non-inl ses: liner Overll: Exponenil low-up
Nurl Quesions Generl quesions: Are non-deerminisic nd deerminisic rnked ree uom equivlen? Yes. Are regulr ree lnguges closed under Bool. operions? Yes. Does i mer wheher we red rees op-down or oom-up? Do we hve pumping lemm? Cn ree uom e minimized? Complexiy quesions: Wh is he complexiy o deciding wheher... uomon A cceps ree? uomon A cceps ree ll? uomon A cceps ll rees o uomon B? se o uom ccep common ree? Top-Down Tree Auom: Connecion o Srings Exmple (Srings re Unry Trees) cd = ((c(d))) = c d Reding srings le-o-righ = Reding rees op-down Top-Down Tree Auom Top-Down Tree Auom Exmple Exmple rue rue rue rue rue lse lse rue rue lse lse rue ε ε (,) (, ) (,) (, ) rue lse (,) (, ) (,) (, ) Ini(A) = (,) (, ) (,) (, ) rue ε lse (,) (,) (,) (,) ε We need dieren rules Top-Down Tree Auom Cn Top-Down Tree Auom Be Deerminized? A op-down ree uomon A consiss o Alphe(A): inie se o lphe symols Ses(A): inie se o ses Rules(A): inie se o rnsiion rules Ini(A): inie se o iniil ses where Top-Down Deerminisic Tree Auomon For every q Ses(A) nd Alphe(A) here s mos one rule q (k) (q 1,...,q k ) Rules(A) re o he orm q (k) (q 1,...,q k ) Top-down ree uom lso recognize ll regulr ree lnguges
Cn Top-Down Tree Auom Be Deerminized? Top-Down TA do no recognize ll regulr lnguges! Exmple c c Ini(A) = q 0 q 0 (q,q) q ε q c ε lso recognizes... c c Nurl Quesions Generl quesions: Are non-deerminisic nd deerminisic rnked ree uom equivlen? Yes. Are regulr ree lnguges closed under Bool. operions? Yes. Does i mer wheher we red rees op-down or oom-up? Yes. Do we hve pumping lemm? Cn ree uom e minimized? Complexiy quesions: Wh is he complexiy o deciding wheher... uomon A cceps ree? uomon A cceps ree ll? uomon A cceps ll rees o uomon B? se o uom ccep common ree? Pumping Lemm Pumping Lemm Deiniion (Conex) A conex is ree wih hole Deiniion (Conex Applicion) Given he conex C nd ree, C[] is oined y plugging ino C. x x One cn lso pply conex o conex: C 1 [C 2 ] The resul is new conex The Pumping Lemm Wh s he use? Lemm (Pumping Lemm) I L is regulr, here is consn k such h, or every ree L wih deph les k here is conex C 1, (non-empy) conex C 2, nd smll ree such h = C 1 [C 2 [ ]] nd or every n N, C 1 [C n 2 [ ]] is in L. Show h lnguges re no regulr. Exmple (The Usul Suspec) n. #. # n
Nurl Quesions Generl quesions: Are non-deerminisic nd deerminisic rnked ree uom equivlen? Yes. Are regulr ree lnguges closed under Bool. operions? Yes. Does i mer wheher we red rees op-down or oom-up? Yes. Do we hve pumping lemm? Yes. Cn ree uom e minimized? Complexiy quesions: Wh is he complexiy o deciding wheher... uomon A cceps ree? uomon A cceps ree ll? uomon A cceps ll rees o uomon B? se o uom ccep common ree? Minimizion: Myhill-Nerode Theorem Deiniion (Congruence) A congruence is n equivlence relion on rees closed under conex I hen : Minimizion: Myhill-Nerode Theorem Minimizion: Myhill-Nerode Theorem Deiniion (Congruence o Lnguge) I L is ree lnguge hen we deine 1 L 2 i, or ll conexs C: C[ 1 ] L C[ 2 ] L Theorem (Myhill-Nerode or Trees) The ollowing re equivlen: () L is regulr ree lnguge () L is he union o some equivlence clsses o inie index (c) he relion L is congruence o inie index Miniml uomon A or L ollows rom his clssiicion: size o A = numer o equivlence clsses o L Nurl Quesions Generl quesions: Are non-deerminisic nd deerminisic rnked ree uom equivlen? Yes. Are regulr ree lnguges closed under Bool. operions? Yes. Does i mer wheher we red rees op-down or oom-up? Yes. Do we hve pumping lemm? Yes. Cn ree uom e minimized? Yes. Complexiy quesions: Wh is he complexiy o deciding wheher... uomon A cceps ree? uomon A cceps ree ll? uomon A cceps ll rees o uomon B? se o uom ccep common ree?