Expressive Logical Combinators for Free

Expressive Logical Combinators for Free

Expressive Logical Combinators for Free Pierre Genevès (CNRS) Joint work with Alan Schmitt (Inria) IJCAI, July 30th 2015, Buenos Aires Query Analysis Constructs and Languages query q XPath, JAQL, SPARQL database d XML, JSON, RDF schema S DTD, OWL Problems and Applications Query containment q(d) ⊆ q0(d) for all d the view update problem Query equivalence q(d) = q0(d) for all d optimization of programs Query satisfiability q(d) 6= ; for some d dead code analysis Static type-checking q(d) ` S 0 for all d ` S proving program correctness Pierre Genevès (CNRS) Expressive Logical Combinators for Free IJCAI’15, Buenos Aires 2 / 7 The Logical Approach for Query Analysis Reducing e.g. Query Containment to Logical Satisfiability: Query q Satisfiable: q 6⊆ q0 'q ^ :'q0 1) Compilation 2) Satisfiability test 0 Query q Logical formula Unsatisfiable: q ⊆ q0 Complexity Complexity of satisfiability test depends on |formula| Blow-ups in the logical translation increase combined complexity Succinctness of the logic is crucial! ! Improving it: addressing more problems while reducing combined complexity Pierre Genevès (CNRS) Expressive Logical Combinators for Free IJCAI’15, Buenos Aires 3 / 7 Example Set of strings over Σ = fa; b; cg containing at least 2 occurrences of “a” and at least 2 occurrences of “b”: Pierre Genevès (CNRS) Expressive Logical Combinators for Free IJCAI’15, Buenos Aires 4 / 7 Example Set of strings over Σ = fa; b; cg containing at least 2 occurrences of “a” and at least 2 occurrences of “b”: ? ? ? ? ? L2a2b=( ajbjc) a(ajbjc) a(ajbjc) b(ajbjc) b(ajbjc) j (ajbjc)?a(ajbjc)?b(ajbjc)?a(ajbjc)?b(ajbjc)? j (ajbjc)?a(ajbjc)?b(ajbjc)?b(ajbjc)?a(ajbjc)? j (ajbjc)?b(ajbjc)?b(ajbjc)?a(ajbjc)?a(ajbjc)? j (ajbjc)?b(ajbjc)?a(ajbjc)?b(ajbjc)?a(ajbjc)? j (ajbjc)?b(ajbjc)?a(ajbjc)?a(ajbjc)?b(ajbjc)? Pierre Genevès (CNRS) Expressive Logical Combinators for Free IJCAI’15, Buenos Aires 4 / 7 Example Set of strings over Σ = fa; b; cg containing at least 2 occurrences of “a” and at least 2 occurrences of “b”: ? ? ? ? ? L2a2b=( ajbjc) a(ajbjc) a(ajbjc) b(ajbjc) b(ajbjc) j (ajbjc)?a(ajbjc)?b(ajbjc)?a(ajbjc)?b(ajbjc)? j (ajbjc)?a(ajbjc)?b(ajbjc)?b(ajbjc)?a(ajbjc)? j (ajbjc)?b(ajbjc)?b(ajbjc)?a(ajbjc)?a(ajbjc)? j (ajbjc)?b(ajbjc)?a(ajbjc)?b(ajbjc)?a(ajbjc)? j (ajbjc)?b(ajbjc)?a(ajbjc)?a(ajbjc)?b(ajbjc)? If we add \ to the regular expression operators: ? ? ? ? ? ? L2a2b = ((ajbjc) a(ajbjc) a(ajbjc) ) \ ((ajbjc) b(ajbjc) b(ajbjc) ) \ offers a dramatic reduction in expression size! Crucial when complexity of the decision procedure depends on |formula| More generally, how can we increase succinctness? Pierre Genevès (CNRS) Expressive Logical Combinators for Free IJCAI’15, Buenos Aires 4 / 7 Logical Combinators A Combinator is a Predicate that: takes logical formulas as input (and outputs a logical formula) might arbitrarily duplicate input formulas in its definition Examples (using branching logic from [Genevès-PLDI’07]) 1 2 split(') = h1i ' ^ h2i ' ' ' Order relations between tree nodes (e.g. depth-first tree traversal) next(') = h1i µz:' _ h1i z _ h2i z _ ::: ::: | {z } |{z} descendant(') following(') Regular queries with counting e.g. “at least 3 occurrences of '”: threeOrMore(') = next(' ^ next(' ^ next('))) Pierre Genevès (CNRS) Expressive Logical Combinators for Free IJCAI’15, Buenos Aires 5 / 7 Results on Combinators Combinators form an expressive and succinct logical language (regular tree and path languages, counting...) Proof: combinators do not increase the complexity of decision procedures à la [Genevès-TOCL15] which stays in 2O(j'j) (MSO-complete logic) Concrete Problem j'j Time Simple RE intersection & equivalence 30 15 ms Query containment q ⊆ q0 (XPath) 50 50 ms Query satisfiability with constraints (e.g. SMIL 1.0) 90 350 ms Subtyping with rich types 60 70 ms Schema evolution (moderate: e.g. XHTML-Basic) 170 2.5 s Schema evolution (large: e.g. MathML) 290 8 s Analysis of CSS style sheets (IJCAI’15) 60 40 ms Precise static type-checking for XQuery (ICFP’15) 70 35 ms Table: Experimental Results. Pierre Genevès (CNRS) Expressive Logical Combinators for Free IJCAI’15, Buenos Aires 6 / 7 Try Combinators∗: http://tyrex.inria.fr/websolver * and build your own predicate language for addressing your problem! Pierre Genevès (CNRS) Expressive Logical Combinators for Free IJCAI’15, Buenos Aires 7 / 7.

View Full Text

Details

  • File Type
    pdf
  • Upload Time
    -
  • Content Languages
    English
  • Upload User
    Anonymous/Not logged-in
  • File Pages
    9 Page
  • File Size
    -

Download

Channel Download Status
Express Download Enable

Copyright

We respect the copyrights and intellectual property rights of all users. All uploaded documents are either original works of the uploader or authorized works of the rightful owners.

  • Not to be reproduced or distributed without explicit permission.
  • Not used for commercial purposes outside of approved use cases.
  • Not used to infringe on the rights of the original creators.
  • If you believe any content infringes your copyright, please contact us immediately.

Support

For help with questions, suggestions, or problems, please contact us