a tree logic
play

A Tree Logic... ... and an Application for the Analysis of Cascading - PowerPoint PPT Presentation

A Tree Logic... ... and an Application for the Analysis of Cascading Style Sheets Pierre Genevs CNRS Tyrex team pierre.geneves@inria.fr Toccata seminar, LRI Feb. 22 nd , 2013 1 / 27 Outline 1 Insights on the L Tree Logic 2


  1. A Tree Logic... ... and an Application for the Analysis of Cascading Style Sheets Pierre Genevès CNRS – Tyrex team pierre.geneves@inria.fr Toccata seminar, LRI – Feb. 22 nd , 2013 1 / 27

  2. Outline 1 Insights on the L µ Tree Logic 2 Overview of Perspectives and Applications 3 Zoom on the Analysis of CSS 2 / 27

  3. Data Model for the Logic Trees: the logic was originally designed for XML trees Specifically: finite binary labeled trees They model finite ordered unranked labeled trees wlog Bijective encoding of unranked trees as binary trees: 0 1 0 2 1 3 2 3 3 / 27

  4. Formulas of the L µ Logic 1 2 Programs α ∈ { 1 , 2 , 1 , 2 } for navigating binary trees ( α = α ) L µ ∋ ϕ, ψ ::= formula ⊤ true | p | ¬ p atomic prop (negated) | n | ¬ n nominal (negated) | ϕ ∨ ψ | ϕ ∧ ψ disjunction (conjunction) | � α � ϕ | ¬ � α � ⊤ existential (negated) | µ X .ϕ unary fixpoint (finite recursion) | µ X i .ϕ i in ψ n -ary fixpoint 4 / 27

  5. Sample Formula and Satisfying Tree a a 5 / 27

  6. Sample Formula and Satisfying Tree a ∧ � 2 � b a b 5 / 27

  7. Sample Formula and Satisfying Tree ? c ? � � a ∧ � 2 � b ∧ µ X . � 2 � c ∨ 1 X a b 5 / 27

  8. Sample Formula and Satisfying Tree ? c ? � � a ∧ � 2 � b ∧ µ X . � 2 � c ∨ 1 X a b Semantics: models of ϕ are finite trees for which ϕ holds at some node � Interesting balance between succinctness and expressive power: XPath, CSS selectors, and XML types can be translated into the logic, linearly 5 / 27

  9. Example: Translation of an XPath Expression into L µ Formula holds at selected nodes χ µ Z .ϕ : finite recursion Converse programs are crucial a ϕ ∧ ψ More generally, we have a compiler: c d t xpath ( e , χ ) : L XPath × L µ → L µ χ is the latest navigation step � � � � a ϕ b initially, χ = ¬ 1 ⊤ ∧ ¬ 2 ⊤ for absolute expressions child:: a [ child:: b ] Translated query: � � � � ∧ � 1 � µ Y . b ∨ � 2 � Y a ∧ ( µ Z . 1 χ ∨ 2 Z ) � �� � � �� � ψ ϕ 6 / 27

  10. L µ Closure under Negation Cycle-freeness: A key property If both a program and its converse occur Infinite structures Finite trees between a µ X . binder and X , formula has a ϕ ¬ ϕ cycle, e.g.: µ X . � α � X ∨ � α � X Otherwise the formula is cycle-free in practice, most (all?) formulas are cycle-free (e.g. XPath translations are always cycle-free) Cycle-freeness of L µ implies closure under negation The negation of finite recursion is finite recursion (see paper) ¬ ϕ is easily (linearly) expressible in L µ for all ϕ ∈ L µ Crucial for BC: implication (subtyping, containment tests...) Crucial for implementation 7 / 27

  11. Deciding L µ Satisfiability Is a formula ψ ∈ L µ satisfiable? Given ψ , determine whether there exists a finite tree that satisfies ψ Validity: test ¬ ψ Principles: Automatic Theorem Proving Search for a proof tree Build the proof bottom up: “ if ψ holds then it is necessarily somewhere up ” 8 / 27

  12. Search Space Optimization Idea: Truth Status is Inductive The truth status of ψ can be expressed as a function of its subformulas For boolean connectives, it can be deduced (truth tables) Only base subformulas really matter: Lean ( ψ ) Lean ( ψ ) : � � � � a � 1 � ⊤ � 2 � ⊤ 1 ⊤ 2 ⊤ b σ � 1 � ϕ � 2 � ϕ � �� � � �� � � �� � atomic propositions in ψ topological propositions existential subformulas A Tree Node: Truth Assignment of Lean ( ψ ) Formulas With some additional constraints, e.g. � � � � ¬ 1 ⊤ ∨ ¬ 2 ⊤ 9 / 27

  13. Satisfiability-Testing Algorithm: Principles Bottom-up construction of proof tree A set of nodes is repeatedly updated (fixpoint computation) 10 / 27

  14. Satisfiability-Testing Algorithm: Principles Bottom-up construction of proof tree Step 1: all possible leaves are added 10 / 27

  15. Satisfiability-Testing Algorithm: Principles Bottom-up construction of proof tree Step i > 1: all possible parents of previous nodes are added 10 / 27

  16. Satisfiability-Testing Algorithm: Principles ϕ � 1 � ϕ � � ϕ 2 ϕ Compatibility relation between nodes Nodes from previous step are proof support: � α � ϕ is added if ϕ holds in some node added at previous step 10 / 27

  17. Satisfiability-Testing Algorithm: Principles η � � ¬ b ∧ µ X . b ∨ 2 X � �� � η Compatibility relation between nodes Nodes from previous step are proof support: � α � ϕ is added if ϕ holds in some node added at previous step 10 / 27

  18. Satisfiability-Testing Algorithm: Principles Progressive bottom-up reasoning (partial satisfiability) � α � ϕ are left unproved until a parent is connected 10 / 27

  19. Satisfiability-Testing Algorithm: Principles � α � ϕ ψ Termination If ψ is present in some root node, then ψ is satisfiable Otherwise, the algorithm terminates when no more nodes can be added 10 / 27

  20. Satisfiability-Testing Algorithm: Principles ψ Implementation techniques Crucial optimization: symbolic representation 10 / 27

  21. Correctness & Complexity Theorem The satisfiability problem for a formula ψ ∈ L µ is decidable in time 2 O ( n ) where n = | Lean ( ψ ) | . System fully implemented decision procedure compilers (XPath, DTD, XML Schema, CSS selectors, ...) 11 / 27

  22. Overview of Some Experiments DTD Symbols Binary type variables SMIL 1.0 19 11 XHTML 1.0 Strict 77 325 Table: Types used in experiments. XPath decision problem XML type Time (ms) e 1 ⊆ e 2 and e 2 �⊆ e 1 none 353 e 4 ⊆ e 3 and e 4 ⊆ e 3 none 45 e 6 ⊆ e 5 and e 5 �⊆ e 6 none 41 e 7 is satisfiable SMIL 1.0 157 e 8 is satisfiable XHTML 1.0 2630 e 9 ⊆ ( e 10 ∪ e 11 ∪ e 12 ) XHTML 1.0 2872 Table: Some decision problems and corresponding results. For the last test, size of the Lean is 550. The search space is 2 550 ≈ 10 165 ... more than the square number of atoms in the universe 10 80 12 / 27

  23. Tree Logics: an Overview On the theoretical side : L µ offers an interesting expressivity, succinctness, optimal complexity bound 1968 1977 1981 1983 2006-2013 L µ PDL ( tree ) WS2S CTL µ -calculus forward + backward (for finite trees) Expr.: MSO ? (<MSO) FO MSO MSO 2 O ( n ) Sat.: Non-elementary EXPTIME EXPTIME EXPTIME L µ Solver Impl.: MONA ? ? ? On the practical side: except (hyperexponential) MONA, this is the only one implementation of a satisfiability solver for such an expressive logic It can be useful for graphs too: the sublogic without backward modalities enjoys the finite tree model property 13 / 27

  24. Going Further: Challenges Several directions Growing logical expressive power? (currently MSO) Decreasing combined complexity? (impossible without dropping features: containment for regular tree grammars is hard for EXPTIME) Augmenting succinctness of the logic → good potential Succinctness is crucial A blow-up in the logical translations affects the combined complexity Augmenting succinctness is a way to address more problems in EXPTIME 14 / 27

  25. Further Perspectives in Gaining Succinctness Nominals A nominal p is an atomic proposition whose interpretation is a singleton, card(p)=1 Captured! Idea of the translation into logic: “p and nowhereElse(p)” ancestor self parent child preceding-sibling following-sibling f o g l l n o i w d e n i c e g p r descendant p ∧ ¬ descendant ( p ) ∧ ¬ descendant-or-self ( following-sibling ( ancestor-or-self ( p ))) a formula with constant-size footprint in the Lean ... Now, what about card(phi)=n ? 15 / 27

  26. Further Perspectives: card(phi)=n card(phi)=n Even if this remains regular, this is not a priori succinct For instance, L 2 a 2 b : set of strings over Σ = { a , b , c } containing at least 2 occurrences of a and at least two occurrences of b 16 / 27

  27. Further Perspectives: card(phi)=n card(phi)=n Even if this remains regular, this is not a priori succinct For instance, L 2 a 2 b : set of strings over Σ = { a , b , c } containing at least 2 occurrences of a and at least two occurrences of b ( a | b | c ) ⋆ a ( a | b | c ) ⋆ a ( a | b | c ) ⋆ b ( a | b | c ) ⋆ b ( a | b | c ) ⋆ | ( a | b | c ) ⋆ a ( a | b | c ) ⋆ b ( a | b | c ) ⋆ a ( a | b | c ) ⋆ b ( a | b | c ) ⋆ | ( a | b | c ) ⋆ a ( a | b | c ) ⋆ b ( a | b | c ) ⋆ b ( a | b | c ) ⋆ a ( a | b | c ) ⋆ | ( a | b | c ) ⋆ b ( a | b | c ) ⋆ b ( a | b | c ) ⋆ a ( a | b | c ) ⋆ a ( a | b | c ) ⋆ | ( a | b | c ) ⋆ b ( a | b | c ) ⋆ a ( a | b | c ) ⋆ b ( a | b | c ) ⋆ a ( a | b | c ) ⋆ | ( a | b | c ) ⋆ b ( a | b | c ) ⋆ a ( a | b | c ) ⋆ a ( a | b | c ) ⋆ b ( a | b | c ) ⋆ 16 / 27

  28. Further Perspectives: card(phi)=n If we add ∩ to the regular expression operators: (( a | b | c ) ⋆ a ( a | b | c ) ⋆ a ( a | b | c ) ⋆ ) ∩ (( a | b | c ) ⋆ b ( a | b | c ) ⋆ b ( a | b | c ) ⋆ ) In logical terms, conjunction offers a dramatic reduction in expression size If we now consider the ability to describe numerical constraints on the frequency of occurrences, we get another exponential reduction in size: (( a | b | c ) ⋆ a ( a | b | c ) ⋆ ) 2 ∩ (( a | b | c ) ⋆ b ( a | b | c ) ⋆ ) 2 Crucial when the complexity of the decision procedure depends on the formula size 17 / 27

Download Presentation
Download Policy: The content available on the website is offered to you 'AS IS' for your personal information and use only. It cannot be commercialized, licensed, or distributed on other websites without prior consent from the author. To download a presentation, simply click this link. If you encounter any difficulties during the download process, it's possible that the publisher has removed the file from their server.

Recommend


More recommend