SlideShare uma empresa Scribd logo
1 de 34
Baixar para ler offline
Symbolic Solving of
Extended Regular Expression Inequalities
Matthias Keil, Peter Thiemann
University of Freiburg,
Freiburg, Germany
December 15, 2014, IARCS Annual Conference on Foundations of
Software Technology and Theoretical Computer Science
Extended Regular Expressions
Definition
r, s, t := | A | r+s | r·s | r∗
| r&s | !r
Σ is a potentially infinite set of symbols
A, B, C ⊆ Σ range over sets of symbols
r ⊆ Σ∗ is the language of a regular expression r,
where A = A
Matthias Keil, Peter Thiemann Regular Expression Inequalities December 15, 2014 2 / 21
Language Inclusion
Definition
Given two regular expressions r and s,
r s ⇔ r ⊆ s
r ⊆ s iff r ∩ s = ∅
Decidable using standard techniques:
Construct DFA for r&!s and check for emptiness
Drawback is the expensive construction of the automaton
PSPACE-complete
Matthias Keil, Peter Thiemann Regular Expression Inequalities December 15, 2014 3 / 21
Antimirov’s Algorithm
Deciding containment for basic regular expressions
Based on derivatives and expression rewriting
Avoid the construction of an automaton
∂a(r) computes a regular expression for a−1 r (Brzozowski)
with u ∈ r iff ∈ ∂u(r)
Lemma
For regular expressions r and s,
r s ⇔ (∀u ∈ Σ∗
) ∂u(r) ∂u(s).
Matthias Keil, Peter Thiemann Regular Expression Inequalities December 15, 2014 4 / 21
Antimirov’s Algorithm (cont’d)
Lemma
r s ⇔ (ν(r) ⇒ ν(s)) ∧ (∀a ∈ Σ) ∂a(r) ∂a(s)
CC-Disprove
ν(r) ∧ ¬ν(s)
r ˙ s CC false
CC-Unfold
ν(r) ⇒ ν(s)
r ˙ s CC {∂a(r) ˙ ∂a(s) | a ∈ Σ}
Choice of next step’s inequality is nondeterministic
An infinite alphabet requires to compute for infinitely many
a ∈ Σ
Matthias Keil, Peter Thiemann Regular Expression Inequalities December 15, 2014 5 / 21
First Symbols
Lemma
r s ⇔ (ν(r) ⇒ ν(s)) ∧ (∀a ∈ first(r)) ∂a(r) ∂a(s)
Let first(r) := {a | aw ∈ r } be the set of first symbols
Restrict symbols to first symbols of the left hand side
CC-Unfold does not have to consider the entire alphabet
For extended regular expressions, first(r) may still be an
infinite set of symbols
Matthias Keil, Peter Thiemann Regular Expression Inequalities December 15, 2014 6 / 21
Problems
Antimirov’s algorithm only works with basic regular
expressions or requires a finite alphabet
Extension of partial derivatives (Caron et al.) that computes
an NFA from an extended regular expression
Works on sets of sets of expressions
Computing derivatives becomes more expensive
Matthias Keil, Peter Thiemann Regular Expression Inequalities December 15, 2014 7 / 21
Goal
Algorithm for deciding r ⊆ s quickly
Handle extended regular expressions
Deal effectively with very large (or infinite) alphabets
(e.g. Unicode character set)
Solution
Require finitely many atoms, even if the alphabet is infinite
Compute derivatives with respect to literals
Matthias Keil, Peter Thiemann Regular Expression Inequalities December 15, 2014 8 / 21
Representing Sets of Symbols
A literal is a set of symbols A ⊆ Σ
Definition
A is an element of an effective boolean algebra (U, , , ·, ⊥, )
where U ⊆ ℘(Σ) is closed under the boolean operations.
For finite (small) alphabets:
U = ℘(Σ), A ⊆ Σ
For infinite (or just too large) alphabets:
U = {A ∈ ℘(Σ) | A finite ∨ A finite}
Second-level regular expressions:
Σ ⊆ ℘(Γ∗) with U = {A ⊆ ℘(Γ∗) | A is regular}
Formulas drawn from a first-order theory over alphabets
For example, [a-z] represented by x ≥ ’a’ ∧ x ≤ ’z’
Matthias Keil, Peter Thiemann Regular Expression Inequalities December 15, 2014 9 / 21
Derivatives with respect to Literals
Definition for ∂A(r)?
∂a(r) computes a regular expression for a−1 r (Brzozowski)
Desired property
∂A(r)
?
= A−1
r =
a∈A
a−1
r =
a∈A
∂a(r)
Matthias Keil, Peter Thiemann Regular Expression Inequalities December 15, 2014 10 / 21
Positive Derivatives on Literals
Definition
δ+
A (B) :=
, B A = ⊥
∅, otherwise
Problem
With A = {a, b} and r = (a · c)&(b · c),
δ+
A (r) = δ+
A (a · c)&δ+
A (b · c)
= c&c
∅
Matthias Keil, Peter Thiemann Regular Expression Inequalities December 15, 2014 11 / 21
Negative Derivatives on Literals
Definition
δ−
A (B) :=
, B A = ⊥
∅, otherwise
Problem
With A = {a, b} and r = (a · c)+(b · c),
δ−
A (r) = δ−
A (a · c)+δ−
A (b · c)
= ∅+∅
c
Matthias Keil, Peter Thiemann Regular Expression Inequalities December 15, 2014 12 / 21
Positive and Negative Derivatives
Extends Brzozowski’s derivative operator to sets of symbols.
Defined by induction and flip on the complement operator
Definition
From ∂a(!s) = !∂a(s), define:
δ+
A (!r) := !δ−
A (r) δ−
A (!r) := !δ+
A (r)
Lemma
For any regular expression r and literal A,
δ+
A (r) ⊇
a∈A
∂a(r) δ−
A (r) ⊆
a∈A
∂a(r)
Matthias Keil, Peter Thiemann Regular Expression Inequalities December 15, 2014 13 / 21
Literals of an Inequality
Lemma
r s ⇔ (ν(r) ⇒ ν(s)) ∧ (∀a ∈ first(r)) ∂a(r) ∂a(s)
first(r) may still be an infinite set of symbols
Use first literals as representatives of the first symbols
Example
1 Let r = {a, b, c, d} · d∗, then {a, b, c, d} is a first literal
2 Let s = {a, b, c} · c∗ + {b, c, d} · d∗, then {a, b, c} and
{b, c, d} are first literals
Matthias Keil, Peter Thiemann Regular Expression Inequalities December 15, 2014 14 / 21
Literals of an Inequality (cont’d)
Problem
Let r = {a, b, c, d}·d∗, s = {a, b, c}·c∗+{b, c, d}·d∗, and
A = {a, b, c, d}, then
δ+
A (r) ˙ δ+
A (s) (1)
δ+
A ({a, b, c, d}·d∗
) ˙ δ+
A ({a, b, c}·c∗
)+δ+
A ({b, c, d}·d∗
) (2)
d∗ ˙ c∗
+d∗
(3)
Positive (negative) derivatives yield an upper (lower)
approximation
To obtain the precise information, we need to restrict these
literals suitably to next literals, e.g. {{a},{b,c},{d}}
Matthias Keil, Peter Thiemann Regular Expression Inequalities December 15, 2014 15 / 21
Next Literals
next( ) = {∅}
next(A) = {A}
next(r+s) = next(r) next(s)
next(r·s) =
next(r) next(s), ν(r)
next(r), ¬ν(r)
next(r∗) = next(r)
next(r&s) = next(r) next(s)
next(!r) = next(r) ∪ { {A | A ∈ next(r)}}
Definition
Let L1 and L2 be two sets of disjoint literals.
L1 L2 :=
{(A1 A2), (A1 L2), ( L1 A2) | A1 ∈ L1, A2 ∈ L2}
Matthias Keil, Peter Thiemann Regular Expression Inequalities December 15, 2014 16 / 21
Next Literals (cont’d)
Example
Let s = {a, b, c} · c∗ + {b, c, d} · d∗, then
next(s) = next({a, b, c} · c∗
) next({b, c, d} · d∗
)
= {{a, b, c}} {{b, c, d}}
= {{a}, {b, c}, {d}}
Lemma
For all r,
next(r) ⊇ first(r)
|next(r)| is finite
(∀A, B ∈ next(r)) A B = ∅
Matthias Keil, Peter Thiemann Regular Expression Inequalities December 15, 2014 17 / 21
Coverage
Lemma
Let L = next(r) and A ∈ next(r)  {∅}.
1 (∀a, b ∈ A) ∂a(r) = ∂b(r) ∧ δ+
A (r) = δ−
A (r) = ∂a(r)
2 (∀a /∈ L) ∂a(r) = ∅
Definition
Let A ∈ next(r). For each ∅ = A ⊆ A define ∂A(r) := ∂a(r),
where a ∈ A.
Matthias Keil, Peter Thiemann Regular Expression Inequalities December 15, 2014 18 / 21
Next Literals of an Inequality
Next literal of next(r ˙ s)
Sound to join literals of both sides next(r) next(s)
Contains also symbols from s
First symbols of r are sufficient to prove containment
Definition
Let L1 and L2 be two sets of disjoint literals.
L1 L2 := {(A1 A2), (A1 L2) | A1 ∈ L1, A2 ∈ L2}
Left-based join corresponds to next(r&(!s)).
Definition
Let r ˙ s be an inequality, define: next(r ˙ s) := next(r) next(s)
Matthias Keil, Peter Thiemann Regular Expression Inequalities December 15, 2014 19 / 21
Solving Inequalities
Lemma
r s ⇔ (ν(r) ⇒ ν(s)) ∧ (∀a ∈ first(r)) ∂a(r) ∂a(s)
To determine a finite set of representatives
select one symbol a from each equivalence class A ∈ next(r)
calculate with δ+
A (r) or δ−
A (r) with A ∈ next(r)
Theorem (Containment)
r s ⇔ (ν(r) ⇒ ν(s)) ∧ (∀A ∈ next(r ˙ s)) ∂A(r) ∂A(s)
Matthias Keil, Peter Thiemann Regular Expression Inequalities December 15, 2014 20 / 21
Conclusion
Generalize Brzozowski’s derivative operator
Extend Antimirov’s algorithm for proving containment
Provides a symbolic decision procedure that works with
extended regular expressions on infinite alphabets
Literals drawn from an effective boolean algebra
Main contribution is to identify a finite set that covers all
possibilities
Matthias Keil, Peter Thiemann Regular Expression Inequalities December 15, 2014 21 / 21
Regular Languages
The language r ⊆ Σ∗ of a regular expression r is defined
inductively by:
= { }
A = {a | a ∈ A}
r+s = r ∪ s
r·s = r · s
r∗ = r · r∗
r&s = r ∩ s
!r = r
Matthias Keil, Peter Thiemann Regular Expression Inequalities December 15, 2014 1 / 13
Nullable
The nullable predicate ν(r) indicates whether r contains the
empty word, that is, ν(r) iff ∈ r .
ν( ) = true
ν(A) = false
ν(r+s) = ν(r) ∨ ν(s)
ν(r·s) = ν(r) ∧ ν(s)
ν(r∗) = true
ν(r&s) = ν(r) ∧ ν(s)
ν(!r) = ¬ν(r)
Matthias Keil, Peter Thiemann Regular Expression Inequalities December 15, 2014 2 / 13
Brzozowski Derivatives
∂a(r) computes a regular expression for the left quotient a−1 r .
∂a( ) = ∅
∂a(A) =
, a ∈ A
∅, a /∈ A
∂a(r+s) = ∂a(r)+∂a(s)
∂a(r·s) =
∂a(r)·s+∂a(s), ν(r)
∂a(r)·s, ¬ν(r)
∂a(r∗) = ∂a(r)·r∗
∂a(r&s) = ∂a(r)&∂a(s)
∂a(!r) = !∂a(r)
Matthias Keil, Peter Thiemann Regular Expression Inequalities December 15, 2014 3 / 13
First Symbols
Let first(r) := {a | aw ∈ r } be the set of first symbols derivable
from regular expression r.
first( ) = ∅
first(A) = A
first(r+s) = first(r) ∪ first(s)
first(r·s) =
first(r) ∪ first(s), ν(r)
first(r), ¬ν(r)
first(r∗) = first(r)
first(r&s) = first(r) ∩ first(s)
first(!r) = Σ  {a ∈ first(r) | ∂a(r) = Σ∗}
Matthias Keil, Peter Thiemann Regular Expression Inequalities December 15, 2014 4 / 13
First Literals
Let first(r) := {a | aw ∈ r } be the set of first symbols derivable
from regular expression r.
literal( ) = ∅
literal(A) = {A}
literal(r+s) = literal(r) ∪ literal(s)
literal(r·s) =
literal(r) ∪ literal(s), ν(r)
literal(r), ¬ν(r)
literal(r∗) = literal(r)
literal(r&s) = literal(r) ∩ literal(s)
literal(!r) = Σ {A ∈ literal(r) | ∂A(r) = Σ∗}
Matthias Keil, Peter Thiemann Regular Expression Inequalities December 15, 2014 5 / 13
Coverage
Lemma (Coverage)
For all a, u, and r it holds that:
u ∈ ∂a(r) ⇔ ∃A ∈ next(r) : a ∈ A ∧ u ∈ δ+
A (r) ∧ u ∈ δ−
A (r)
Matthias Keil, Peter Thiemann Regular Expression Inequalities December 15, 2014 6 / 13
Termination
Theorem (Finiteness)
Let R be a finite set of regular inequalities. Define
F(R) = R ∪ {∂A(r ˙ s) | r ˙ s ∈ R, A ∈ next(r ˙ s)}
For each r and s, the set i∈N F(i)({r s}) is finite.
Matthias Keil, Peter Thiemann Regular Expression Inequalities December 15, 2014 7 / 13
Decision Procedure for Containment
(Disprove)
ν(r) ¬ν(s)
Γ r ˙ s : false
(Cycle)
r ˙ s ∈ Γ
Γ r ˙ s : true
(Unfold-True)
r ˙ s ∈ Γ ν(r) ⇒ ν(s)
∀A ∈ next(r ˙ s) : Γ ∪ {r ˙ s} ∂A(r) ˙ ∂A(s) : true
Γ r ˙ s : true
(Unfold-False)
r ˙ s ∈ Γ ν(r) ⇒ ν(s)
∃A ∈ next(r ˙ s) : Γ ∪ {r ˙ s} ∂A(r) ˙ ∂A(s) : false
Γ r ˙ s : false
Matthias Keil, Peter Thiemann Regular Expression Inequalities December 15, 2014 8 / 13
Prove and Disprove Axioms
(Prove-Identity)
Γ r r : true
(Prove-Empty)
Γ ∅ s : true
(Prove-Nullable)
ν(s)
Γ s : true
(Disprove-Empty)
∃A ∈ next(r) : A = ∅
Γ r ∅ : false
Matthias Keil, Peter Thiemann Regular Expression Inequalities December 15, 2014 9 / 13
Soundness
Theorem (Soundness)
For all regular expression r and s:
∅ r ˙ s : ⇔ r s
Matthias Keil, Peter Thiemann Regular Expression Inequalities December 15, 2014 10 / 13
Negative Derivatives
Counterexample
Let r = {a, b, c, d}·d∗, s = {a, b, c}·d∗+{b, c, d}·d∗, and
A = {a, b, c, d}, then
δ−
A (r) ˙ δ+
A (s) (4)
δ−
A ({a, b, c, d}·d∗
) ˙ δ−
A ({a, b, c}·d∗
)+δ−
A ({b, c, d}·d∗
)(5)
d∗ ˙ ∅+∅ (6)
Matthias Keil, Peter Thiemann Regular Expression Inequalities December 15, 2014 11 / 13
Next Literals of an Inequality
Example
Let r = {a, b, c, d}·d∗, s = {a, b, c}·c∗+{b, c, d}·d∗ then
next(r ˙ s) = next({a, b, c, d}·d∗
) next({a, b, c}·d∗
+{b, c, d}·d∗
)
= {{a}, {b, c}, {d}}
Matthias Keil, Peter Thiemann Regular Expression Inequalities December 15, 2014 12 / 13
Incomplete Containment
Conjecture
r s ⇐ (ν(r) ⇒ ν(s)) ∧ (∀A ∈ literal(r)) δ+
A (r) δ−
A (s)
Matthias Keil, Peter Thiemann Regular Expression Inequalities December 15, 2014 13 / 13

Mais conteúdo relacionado

Mais procurados

Argumentation in Artificial Intelligence
Argumentation in Artificial IntelligenceArgumentation in Artificial Intelligence
Argumentation in Artificial IntelligenceFederico Cerutti
 
A Unifying Four-State Labelling Semantics for Bridging Abstract Argumentation...
A Unifying Four-State Labelling Semantics for Bridging Abstract Argumentation...A Unifying Four-State Labelling Semantics for Bridging Abstract Argumentation...
A Unifying Four-State Labelling Semantics for Bridging Abstract Argumentation...Carlo Taticchi
 
Relations digraphs
Relations  digraphsRelations  digraphs
Relations digraphsIIUM
 
A Matrix Based Approach for Weighted Argumentation Frameworks
A Matrix Based Approach for Weighted Argumentation FrameworksA Matrix Based Approach for Weighted Argumentation Frameworks
A Matrix Based Approach for Weighted Argumentation FrameworksCarlo Taticchi
 
Handout: Argumentation in Artificial Intelligence: From Theory to Practice
Handout: Argumentation in Artificial Intelligence: From Theory to PracticeHandout: Argumentation in Artificial Intelligence: From Theory to Practice
Handout: Argumentation in Artificial Intelligence: From Theory to PracticeFederico Cerutti
 
A Cooperative-game Approach to Share Acceptability and Rank Arguments
A Cooperative-game Approach to Share Acceptability and Rank ArgumentsA Cooperative-game Approach to Share Acceptability and Rank Arguments
A Cooperative-game Approach to Share Acceptability and Rank ArgumentsCarlo Taticchi
 
COnflict Free Feedback Vertex Set: A Parameterized Dichotomy
COnflict Free Feedback Vertex Set: A Parameterized DichotomyCOnflict Free Feedback Vertex Set: A Parameterized Dichotomy
COnflict Free Feedback Vertex Set: A Parameterized DichotomyAkankshaAgrawal55
 
Learning with Nets and Meshes
Learning with Nets and MeshesLearning with Nets and Meshes
Learning with Nets and MeshesDon Sheehy
 
Node Unique Label Cover
Node Unique Label CoverNode Unique Label Cover
Node Unique Label Covermsramanujan
 
Handling Dynamic Aspects of Argumentation
Handling Dynamic Aspects of ArgumentationHandling Dynamic Aspects of Argumentation
Handling Dynamic Aspects of ArgumentationCarlo Taticchi
 
Video lecture for mba
Video lecture for mbaVideo lecture for mba
Video lecture for mbaEdhole.com
 
Looking for Invariant Operators in Argumentation
Looking for Invariant Operators in ArgumentationLooking for Invariant Operators in Argumentation
Looking for Invariant Operators in ArgumentationCarlo Taticchi
 
Argumentation in Artificial Intelligence: From Theory to Practice
Argumentation in Artificial Intelligence: From Theory to PracticeArgumentation in Artificial Intelligence: From Theory to Practice
Argumentation in Artificial Intelligence: From Theory to PracticeFederico Cerutti
 

Mais procurados (17)

Argumentation in Artificial Intelligence
Argumentation in Artificial IntelligenceArgumentation in Artificial Intelligence
Argumentation in Artificial Intelligence
 
pres_coconat
pres_coconatpres_coconat
pres_coconat
 
A Unifying Four-State Labelling Semantics for Bridging Abstract Argumentation...
A Unifying Four-State Labelling Semantics for Bridging Abstract Argumentation...A Unifying Four-State Labelling Semantics for Bridging Abstract Argumentation...
A Unifying Four-State Labelling Semantics for Bridging Abstract Argumentation...
 
Hasse Diagram
Hasse DiagramHasse Diagram
Hasse Diagram
 
Relations digraphs
Relations  digraphsRelations  digraphs
Relations digraphs
 
A Matrix Based Approach for Weighted Argumentation Frameworks
A Matrix Based Approach for Weighted Argumentation FrameworksA Matrix Based Approach for Weighted Argumentation Frameworks
A Matrix Based Approach for Weighted Argumentation Frameworks
 
Handout: Argumentation in Artificial Intelligence: From Theory to Practice
Handout: Argumentation in Artificial Intelligence: From Theory to PracticeHandout: Argumentation in Artificial Intelligence: From Theory to Practice
Handout: Argumentation in Artificial Intelligence: From Theory to Practice
 
A Cooperative-game Approach to Share Acceptability and Rank Arguments
A Cooperative-game Approach to Share Acceptability and Rank ArgumentsA Cooperative-game Approach to Share Acceptability and Rank Arguments
A Cooperative-game Approach to Share Acceptability and Rank Arguments
 
COnflict Free Feedback Vertex Set: A Parameterized Dichotomy
COnflict Free Feedback Vertex Set: A Parameterized DichotomyCOnflict Free Feedback Vertex Set: A Parameterized Dichotomy
COnflict Free Feedback Vertex Set: A Parameterized Dichotomy
 
Biconnectivity
BiconnectivityBiconnectivity
Biconnectivity
 
Learning with Nets and Meshes
Learning with Nets and MeshesLearning with Nets and Meshes
Learning with Nets and Meshes
 
Node Unique Label Cover
Node Unique Label CoverNode Unique Label Cover
Node Unique Label Cover
 
Handling Dynamic Aspects of Argumentation
Handling Dynamic Aspects of ArgumentationHandling Dynamic Aspects of Argumentation
Handling Dynamic Aspects of Argumentation
 
Video lecture for mba
Video lecture for mbaVideo lecture for mba
Video lecture for mba
 
Introductions to Relations
Introductions to RelationsIntroductions to Relations
Introductions to Relations
 
Looking for Invariant Operators in Argumentation
Looking for Invariant Operators in ArgumentationLooking for Invariant Operators in Argumentation
Looking for Invariant Operators in Argumentation
 
Argumentation in Artificial Intelligence: From Theory to Practice
Argumentation in Artificial Intelligence: From Theory to PracticeArgumentation in Artificial Intelligence: From Theory to Practice
Argumentation in Artificial Intelligence: From Theory to Practice
 

Destaque

implementasi kurikulum
implementasi kurikulumimplementasi kurikulum
implementasi kurikulumwidytia17
 
Presentació1
Presentació1Presentació1
Presentació1daviidv96
 
Faxi future roadmap 05.11.14
Faxi future  roadmap 05.11.14Faxi future  roadmap 05.11.14
Faxi future roadmap 05.11.14Lewis Kite
 
Chữa Khô Khớp Xương
Chữa Khô Khớp XươngChữa Khô Khớp Xương
Chữa Khô Khớp Xươngmilo447
 
EMMA-ROWE-PACSUN2015
EMMA-ROWE-PACSUN2015EMMA-ROWE-PACSUN2015
EMMA-ROWE-PACSUN2015Emma Rowe
 
Top 8 head mechanic resume samples
Top 8 head mechanic resume samplesTop 8 head mechanic resume samples
Top 8 head mechanic resume samplesparrijom
 
Thoai Hóa Khớp Gối
Thoai Hóa Khớp GốiThoai Hóa Khớp Gối
Thoai Hóa Khớp Gốiangelyn508
 
On Contracts and Sandboxes for JavaScript
On Contracts and Sandboxes for JavaScriptOn Contracts and Sandboxes for JavaScript
On Contracts and Sandboxes for JavaScriptMatthias Keil
 
TRABAJO COMO REQUISITO PARA EL ÁREA
TRABAJO COMO REQUISITO PARA EL ÁREATRABAJO COMO REQUISITO PARA EL ÁREA
TRABAJO COMO REQUISITO PARA EL ÁREAsandra Rincon
 
Notes how to work with variables, constants and do calculations
Notes how to work with variables, constants and do calculationsNotes how to work with variables, constants and do calculations
Notes how to work with variables, constants and do calculationsWilliam Olivier
 
Deafness Hearing Loss Info
Deafness Hearing Loss InfoDeafness Hearing Loss Info
Deafness Hearing Loss InfoMary E. Wambach
 
Consumer making buying decison
Consumer making buying decisonConsumer making buying decison
Consumer making buying decisonSameer Agarwal
 
Thuoc Tri Sung Khop
Thuoc Tri Sung KhopThuoc Tri Sung Khop
Thuoc Tri Sung Khopadriene308
 
Maakwerkvanvrijetijd11-2006_tcm53-126941
Maakwerkvanvrijetijd11-2006_tcm53-126941Maakwerkvanvrijetijd11-2006_tcm53-126941
Maakwerkvanvrijetijd11-2006_tcm53-126941Roeland Tameling
 
Explotació laboral
Explotació laboralExplotació laboral
Explotació laboralmireiaridao9
 

Destaque (20)

implementasi kurikulum
implementasi kurikulumimplementasi kurikulum
implementasi kurikulum
 
Presentació1
Presentació1Presentació1
Presentació1
 
Faxi future roadmap 05.11.14
Faxi future  roadmap 05.11.14Faxi future  roadmap 05.11.14
Faxi future roadmap 05.11.14
 
Chữa Khô Khớp Xương
Chữa Khô Khớp XươngChữa Khô Khớp Xương
Chữa Khô Khớp Xương
 
EMMA-ROWE-PACSUN2015
EMMA-ROWE-PACSUN2015EMMA-ROWE-PACSUN2015
EMMA-ROWE-PACSUN2015
 
Top 8 head mechanic resume samples
Top 8 head mechanic resume samplesTop 8 head mechanic resume samples
Top 8 head mechanic resume samples
 
dipankar cdc-old
dipankar cdc-olddipankar cdc-old
dipankar cdc-old
 
Thoai Hóa Khớp Gối
Thoai Hóa Khớp GốiThoai Hóa Khớp Gối
Thoai Hóa Khớp Gối
 
Untitled Presentation
Untitled PresentationUntitled Presentation
Untitled Presentation
 
On Contracts and Sandboxes for JavaScript
On Contracts and Sandboxes for JavaScriptOn Contracts and Sandboxes for JavaScript
On Contracts and Sandboxes for JavaScript
 
word2007 intro
word2007 introword2007 intro
word2007 intro
 
TRABAJO COMO REQUISITO PARA EL ÁREA
TRABAJO COMO REQUISITO PARA EL ÁREATRABAJO COMO REQUISITO PARA EL ÁREA
TRABAJO COMO REQUISITO PARA EL ÁREA
 
Notes how to work with variables, constants and do calculations
Notes how to work with variables, constants and do calculationsNotes how to work with variables, constants and do calculations
Notes how to work with variables, constants and do calculations
 
Yourprezias
YourpreziasYourprezias
Yourprezias
 
Deafness Hearing Loss Info
Deafness Hearing Loss InfoDeafness Hearing Loss Info
Deafness Hearing Loss Info
 
Consumer making buying decison
Consumer making buying decisonConsumer making buying decison
Consumer making buying decison
 
Charles Dickens
Charles DickensCharles Dickens
Charles Dickens
 
Thuoc Tri Sung Khop
Thuoc Tri Sung KhopThuoc Tri Sung Khop
Thuoc Tri Sung Khop
 
Maakwerkvanvrijetijd11-2006_tcm53-126941
Maakwerkvanvrijetijd11-2006_tcm53-126941Maakwerkvanvrijetijd11-2006_tcm53-126941
Maakwerkvanvrijetijd11-2006_tcm53-126941
 
Explotació laboral
Explotació laboralExplotació laboral
Explotació laboral
 

Semelhante a Symbolic Solving of Extended Regular Expression Inequalities

Arithmetic Sequences and Series-Boger.ppt
Arithmetic Sequences and Series-Boger.pptArithmetic Sequences and Series-Boger.ppt
Arithmetic Sequences and Series-Boger.pptGIDEONPAUL13
 
Arithmetic Sequences and Series-Boger.ppt
Arithmetic Sequences and Series-Boger.pptArithmetic Sequences and Series-Boger.ppt
Arithmetic Sequences and Series-Boger.pptreboy_arroyo
 
Arithmetic Sequences and Series-Boger.ppt
Arithmetic Sequences and Series-Boger.pptArithmetic Sequences and Series-Boger.ppt
Arithmetic Sequences and Series-Boger.pptAngelle Pantig
 
Applied Math 40S June 2 AM, 2008
Applied Math 40S June 2 AM, 2008Applied Math 40S June 2 AM, 2008
Applied Math 40S June 2 AM, 2008Darren Kuropatwa
 
Csr2011 june17 11_30_vyalyi
Csr2011 june17 11_30_vyalyiCsr2011 june17 11_30_vyalyi
Csr2011 june17 11_30_vyalyiCSR2011
 
Csr2011 june17 11_30_vyalyi
Csr2011 june17 11_30_vyalyiCsr2011 june17 11_30_vyalyi
Csr2011 june17 11_30_vyalyiCSR2011
 
Arithmetic progression
Arithmetic progression Arithmetic progression
Arithmetic progression SANJAY GANGAN
 
Advanced algebra
Advanced algebraAdvanced algebra
Advanced algebraspark21
 
Winter 10 Undecidability.pptx
Winter 10 Undecidability.pptxWinter 10 Undecidability.pptx
Winter 10 Undecidability.pptxHarisPrince
 
Ramsey number lower bounds
Ramsey number lower  boundsRamsey number lower  bounds
Ramsey number lower boundsSmit Raj
 
Typing quantum superpositions and measurement
Typing quantum superpositions and measurementTyping quantum superpositions and measurement
Typing quantum superpositions and measurementAlejandro Díaz-Caro
 
Multinomial Model Simulations
Multinomial Model SimulationsMultinomial Model Simulations
Multinomial Model Simulationstim_hare
 
Certified bit coded regular expression parsing
Certified bit coded regular expression parsingCertified bit coded regular expression parsing
Certified bit coded regular expression parsingrodrigogribeiro
 
Numerical Evidence for Darmon Points
Numerical Evidence for Darmon PointsNumerical Evidence for Darmon Points
Numerical Evidence for Darmon Pointsmmasdeu
 

Semelhante a Symbolic Solving of Extended Regular Expression Inequalities (20)

Arithmetic Sequences and Series-Boger.ppt
Arithmetic Sequences and Series-Boger.pptArithmetic Sequences and Series-Boger.ppt
Arithmetic Sequences and Series-Boger.ppt
 
Arithmetic Sequences and Series-Boger.ppt
Arithmetic Sequences and Series-Boger.pptArithmetic Sequences and Series-Boger.ppt
Arithmetic Sequences and Series-Boger.ppt
 
Arithmetic Sequences and Series-Boger.ppt
Arithmetic Sequences and Series-Boger.pptArithmetic Sequences and Series-Boger.ppt
Arithmetic Sequences and Series-Boger.ppt
 
Applied Math 40S June 2 AM, 2008
Applied Math 40S June 2 AM, 2008Applied Math 40S June 2 AM, 2008
Applied Math 40S June 2 AM, 2008
 
Csr2011 june17 11_30_vyalyi
Csr2011 june17 11_30_vyalyiCsr2011 june17 11_30_vyalyi
Csr2011 june17 11_30_vyalyi
 
Csr2011 june17 11_30_vyalyi
Csr2011 june17 11_30_vyalyiCsr2011 june17 11_30_vyalyi
Csr2011 june17 11_30_vyalyi
 
Arithmetic progression
Arithmetic progression Arithmetic progression
Arithmetic progression
 
Advanced algebra
Advanced algebraAdvanced algebra
Advanced algebra
 
Relations
RelationsRelations
Relations
 
Per5 relasi
Per5 relasiPer5 relasi
Per5 relasi
 
Pertemuan 5_Relation Matriks_01 (17)
Pertemuan 5_Relation Matriks_01 (17)Pertemuan 5_Relation Matriks_01 (17)
Pertemuan 5_Relation Matriks_01 (17)
 
Ch2
Ch2Ch2
Ch2
 
Winter 10 Undecidability.pptx
Winter 10 Undecidability.pptxWinter 10 Undecidability.pptx
Winter 10 Undecidability.pptx
 
Ramsey number lower bounds
Ramsey number lower  boundsRamsey number lower  bounds
Ramsey number lower bounds
 
Typing quantum superpositions and measurement
Typing quantum superpositions and measurementTyping quantum superpositions and measurement
Typing quantum superpositions and measurement
 
Multinomial Model Simulations
Multinomial Model SimulationsMultinomial Model Simulations
Multinomial Model Simulations
 
Pre-Cal 40S June 3, 2009
Pre-Cal 40S June 3, 2009Pre-Cal 40S June 3, 2009
Pre-Cal 40S June 3, 2009
 
Certified bit coded regular expression parsing
Certified bit coded regular expression parsingCertified bit coded regular expression parsing
Certified bit coded regular expression parsing
 
Relations
RelationsRelations
Relations
 
Numerical Evidence for Darmon Points
Numerical Evidence for Darmon PointsNumerical Evidence for Darmon Points
Numerical Evidence for Darmon Points
 

Mais de Matthias Keil

Transparent Object Proxies for JavaScript
Transparent Object Proxies for JavaScriptTransparent Object Proxies for JavaScript
Transparent Object Proxies for JavaScriptMatthias Keil
 
On Contracts, Sandboxes, and Proxies for JavaScript
On Contracts, Sandboxes, and Proxies for JavaScriptOn Contracts, Sandboxes, and Proxies for JavaScript
On Contracts, Sandboxes, and Proxies for JavaScriptMatthias Keil
 
Blame Assignment for Higher-Order Contracts with Intersection and Union
Blame Assignment for Higher-Order Contracts with Intersection and UnionBlame Assignment for Higher-Order Contracts with Intersection and Union
Blame Assignment for Higher-Order Contracts with Intersection and UnionMatthias Keil
 
TreatJS: Higher-Order Contracts for JavaScripts
TreatJS: Higher-Order Contracts for JavaScriptsTreatJS: Higher-Order Contracts for JavaScripts
TreatJS: Higher-Order Contracts for JavaScriptsMatthias Keil
 
TreatJS: Higher-Order Contracts for JavaScript
TreatJS: Higher-Order Contracts for JavaScriptTreatJS: Higher-Order Contracts for JavaScript
TreatJS: Higher-Order Contracts for JavaScriptMatthias Keil
 
Efficient Dynamic Access Analysis Using JavaScript Proxies
Efficient Dynamic Access Analysis Using JavaScript ProxiesEfficient Dynamic Access Analysis Using JavaScript Proxies
Efficient Dynamic Access Analysis Using JavaScript ProxiesMatthias Keil
 
Type-based Dependency Analysis for JavaScript
Type-based Dependency Analysis for JavaScriptType-based Dependency Analysis for JavaScript
Type-based Dependency Analysis for JavaScriptMatthias Keil
 
Type-based Dependency Analysis
Type-based Dependency AnalysisType-based Dependency Analysis
Type-based Dependency AnalysisMatthias Keil
 

Mais de Matthias Keil (8)

Transparent Object Proxies for JavaScript
Transparent Object Proxies for JavaScriptTransparent Object Proxies for JavaScript
Transparent Object Proxies for JavaScript
 
On Contracts, Sandboxes, and Proxies for JavaScript
On Contracts, Sandboxes, and Proxies for JavaScriptOn Contracts, Sandboxes, and Proxies for JavaScript
On Contracts, Sandboxes, and Proxies for JavaScript
 
Blame Assignment for Higher-Order Contracts with Intersection and Union
Blame Assignment for Higher-Order Contracts with Intersection and UnionBlame Assignment for Higher-Order Contracts with Intersection and Union
Blame Assignment for Higher-Order Contracts with Intersection and Union
 
TreatJS: Higher-Order Contracts for JavaScripts
TreatJS: Higher-Order Contracts for JavaScriptsTreatJS: Higher-Order Contracts for JavaScripts
TreatJS: Higher-Order Contracts for JavaScripts
 
TreatJS: Higher-Order Contracts for JavaScript
TreatJS: Higher-Order Contracts for JavaScriptTreatJS: Higher-Order Contracts for JavaScript
TreatJS: Higher-Order Contracts for JavaScript
 
Efficient Dynamic Access Analysis Using JavaScript Proxies
Efficient Dynamic Access Analysis Using JavaScript ProxiesEfficient Dynamic Access Analysis Using JavaScript Proxies
Efficient Dynamic Access Analysis Using JavaScript Proxies
 
Type-based Dependency Analysis for JavaScript
Type-based Dependency Analysis for JavaScriptType-based Dependency Analysis for JavaScript
Type-based Dependency Analysis for JavaScript
 
Type-based Dependency Analysis
Type-based Dependency AnalysisType-based Dependency Analysis
Type-based Dependency Analysis
 

Último

Why device, WIFI, and ISP insights are crucial to supporting remote Microsoft...
Why device, WIFI, and ISP insights are crucial to supporting remote Microsoft...Why device, WIFI, and ISP insights are crucial to supporting remote Microsoft...
Why device, WIFI, and ISP insights are crucial to supporting remote Microsoft...panagenda
 
Emixa Mendix Meetup 11 April 2024 about Mendix Native development
Emixa Mendix Meetup 11 April 2024 about Mendix Native developmentEmixa Mendix Meetup 11 April 2024 about Mendix Native development
Emixa Mendix Meetup 11 April 2024 about Mendix Native developmentPim van der Noll
 
Digital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptxDigital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptxLoriGlavin3
 
UiPath Community: Communication Mining from Zero to Hero
UiPath Community: Communication Mining from Zero to HeroUiPath Community: Communication Mining from Zero to Hero
UiPath Community: Communication Mining from Zero to HeroUiPathCommunity
 
TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024Lonnie McRorey
 
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptxUse of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptxLoriGlavin3
 
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptxThe Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptxLoriGlavin3
 
A Journey Into the Emotions of Software Developers
A Journey Into the Emotions of Software DevelopersA Journey Into the Emotions of Software Developers
A Journey Into the Emotions of Software DevelopersNicole Novielli
 
The State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptxThe State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptxLoriGlavin3
 
Enhancing User Experience - Exploring the Latest Features of Tallyman Axis Lo...
Enhancing User Experience - Exploring the Latest Features of Tallyman Axis Lo...Enhancing User Experience - Exploring the Latest Features of Tallyman Axis Lo...
Enhancing User Experience - Exploring the Latest Features of Tallyman Axis Lo...Scott Andery
 
Manual 508 Accessibility Compliance Audit
Manual 508 Accessibility Compliance AuditManual 508 Accessibility Compliance Audit
Manual 508 Accessibility Compliance AuditSkynet Technologies
 
[Webinar] SpiraTest - Setting New Standards in Quality Assurance
[Webinar] SpiraTest - Setting New Standards in Quality Assurance[Webinar] SpiraTest - Setting New Standards in Quality Assurance
[Webinar] SpiraTest - Setting New Standards in Quality AssuranceInflectra
 
Generative Artificial Intelligence: How generative AI works.pdf
Generative Artificial Intelligence: How generative AI works.pdfGenerative Artificial Intelligence: How generative AI works.pdf
Generative Artificial Intelligence: How generative AI works.pdfIngrid Airi González
 
Decarbonising Buildings: Making a net-zero built environment a reality
Decarbonising Buildings: Making a net-zero built environment a realityDecarbonising Buildings: Making a net-zero built environment a reality
Decarbonising Buildings: Making a net-zero built environment a realityIES VE
 
DevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsDevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsSergiu Bodiu
 
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptxPasskey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptxLoriGlavin3
 
Scale your database traffic with Read & Write split using MySQL Router
Scale your database traffic with Read & Write split using MySQL RouterScale your database traffic with Read & Write split using MySQL Router
Scale your database traffic with Read & Write split using MySQL RouterMydbops
 
From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .Alan Dix
 
Modern Roaming for Notes and Nomad – Cheaper Faster Better Stronger
Modern Roaming for Notes and Nomad – Cheaper Faster Better StrongerModern Roaming for Notes and Nomad – Cheaper Faster Better Stronger
Modern Roaming for Notes and Nomad – Cheaper Faster Better Strongerpanagenda
 
Testing tools and AI - ideas what to try with some tool examples
Testing tools and AI - ideas what to try with some tool examplesTesting tools and AI - ideas what to try with some tool examples
Testing tools and AI - ideas what to try with some tool examplesKari Kakkonen
 

Último (20)

Why device, WIFI, and ISP insights are crucial to supporting remote Microsoft...
Why device, WIFI, and ISP insights are crucial to supporting remote Microsoft...Why device, WIFI, and ISP insights are crucial to supporting remote Microsoft...
Why device, WIFI, and ISP insights are crucial to supporting remote Microsoft...
 
Emixa Mendix Meetup 11 April 2024 about Mendix Native development
Emixa Mendix Meetup 11 April 2024 about Mendix Native developmentEmixa Mendix Meetup 11 April 2024 about Mendix Native development
Emixa Mendix Meetup 11 April 2024 about Mendix Native development
 
Digital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptxDigital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptx
 
UiPath Community: Communication Mining from Zero to Hero
UiPath Community: Communication Mining from Zero to HeroUiPath Community: Communication Mining from Zero to Hero
UiPath Community: Communication Mining from Zero to Hero
 
TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024
 
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptxUse of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
 
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptxThe Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
 
A Journey Into the Emotions of Software Developers
A Journey Into the Emotions of Software DevelopersA Journey Into the Emotions of Software Developers
A Journey Into the Emotions of Software Developers
 
The State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptxThe State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptx
 
Enhancing User Experience - Exploring the Latest Features of Tallyman Axis Lo...
Enhancing User Experience - Exploring the Latest Features of Tallyman Axis Lo...Enhancing User Experience - Exploring the Latest Features of Tallyman Axis Lo...
Enhancing User Experience - Exploring the Latest Features of Tallyman Axis Lo...
 
Manual 508 Accessibility Compliance Audit
Manual 508 Accessibility Compliance AuditManual 508 Accessibility Compliance Audit
Manual 508 Accessibility Compliance Audit
 
[Webinar] SpiraTest - Setting New Standards in Quality Assurance
[Webinar] SpiraTest - Setting New Standards in Quality Assurance[Webinar] SpiraTest - Setting New Standards in Quality Assurance
[Webinar] SpiraTest - Setting New Standards in Quality Assurance
 
Generative Artificial Intelligence: How generative AI works.pdf
Generative Artificial Intelligence: How generative AI works.pdfGenerative Artificial Intelligence: How generative AI works.pdf
Generative Artificial Intelligence: How generative AI works.pdf
 
Decarbonising Buildings: Making a net-zero built environment a reality
Decarbonising Buildings: Making a net-zero built environment a realityDecarbonising Buildings: Making a net-zero built environment a reality
Decarbonising Buildings: Making a net-zero built environment a reality
 
DevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsDevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platforms
 
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptxPasskey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptx
 
Scale your database traffic with Read & Write split using MySQL Router
Scale your database traffic with Read & Write split using MySQL RouterScale your database traffic with Read & Write split using MySQL Router
Scale your database traffic with Read & Write split using MySQL Router
 
From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .
 
Modern Roaming for Notes and Nomad – Cheaper Faster Better Stronger
Modern Roaming for Notes and Nomad – Cheaper Faster Better StrongerModern Roaming for Notes and Nomad – Cheaper Faster Better Stronger
Modern Roaming for Notes and Nomad – Cheaper Faster Better Stronger
 
Testing tools and AI - ideas what to try with some tool examples
Testing tools and AI - ideas what to try with some tool examplesTesting tools and AI - ideas what to try with some tool examples
Testing tools and AI - ideas what to try with some tool examples
 

Symbolic Solving of Extended Regular Expression Inequalities

  • 1. Symbolic Solving of Extended Regular Expression Inequalities Matthias Keil, Peter Thiemann University of Freiburg, Freiburg, Germany December 15, 2014, IARCS Annual Conference on Foundations of Software Technology and Theoretical Computer Science
  • 2. Extended Regular Expressions Definition r, s, t := | A | r+s | r·s | r∗ | r&s | !r Σ is a potentially infinite set of symbols A, B, C ⊆ Σ range over sets of symbols r ⊆ Σ∗ is the language of a regular expression r, where A = A Matthias Keil, Peter Thiemann Regular Expression Inequalities December 15, 2014 2 / 21
  • 3. Language Inclusion Definition Given two regular expressions r and s, r s ⇔ r ⊆ s r ⊆ s iff r ∩ s = ∅ Decidable using standard techniques: Construct DFA for r&!s and check for emptiness Drawback is the expensive construction of the automaton PSPACE-complete Matthias Keil, Peter Thiemann Regular Expression Inequalities December 15, 2014 3 / 21
  • 4. Antimirov’s Algorithm Deciding containment for basic regular expressions Based on derivatives and expression rewriting Avoid the construction of an automaton ∂a(r) computes a regular expression for a−1 r (Brzozowski) with u ∈ r iff ∈ ∂u(r) Lemma For regular expressions r and s, r s ⇔ (∀u ∈ Σ∗ ) ∂u(r) ∂u(s). Matthias Keil, Peter Thiemann Regular Expression Inequalities December 15, 2014 4 / 21
  • 5. Antimirov’s Algorithm (cont’d) Lemma r s ⇔ (ν(r) ⇒ ν(s)) ∧ (∀a ∈ Σ) ∂a(r) ∂a(s) CC-Disprove ν(r) ∧ ¬ν(s) r ˙ s CC false CC-Unfold ν(r) ⇒ ν(s) r ˙ s CC {∂a(r) ˙ ∂a(s) | a ∈ Σ} Choice of next step’s inequality is nondeterministic An infinite alphabet requires to compute for infinitely many a ∈ Σ Matthias Keil, Peter Thiemann Regular Expression Inequalities December 15, 2014 5 / 21
  • 6. First Symbols Lemma r s ⇔ (ν(r) ⇒ ν(s)) ∧ (∀a ∈ first(r)) ∂a(r) ∂a(s) Let first(r) := {a | aw ∈ r } be the set of first symbols Restrict symbols to first symbols of the left hand side CC-Unfold does not have to consider the entire alphabet For extended regular expressions, first(r) may still be an infinite set of symbols Matthias Keil, Peter Thiemann Regular Expression Inequalities December 15, 2014 6 / 21
  • 7. Problems Antimirov’s algorithm only works with basic regular expressions or requires a finite alphabet Extension of partial derivatives (Caron et al.) that computes an NFA from an extended regular expression Works on sets of sets of expressions Computing derivatives becomes more expensive Matthias Keil, Peter Thiemann Regular Expression Inequalities December 15, 2014 7 / 21
  • 8. Goal Algorithm for deciding r ⊆ s quickly Handle extended regular expressions Deal effectively with very large (or infinite) alphabets (e.g. Unicode character set) Solution Require finitely many atoms, even if the alphabet is infinite Compute derivatives with respect to literals Matthias Keil, Peter Thiemann Regular Expression Inequalities December 15, 2014 8 / 21
  • 9. Representing Sets of Symbols A literal is a set of symbols A ⊆ Σ Definition A is an element of an effective boolean algebra (U, , , ·, ⊥, ) where U ⊆ ℘(Σ) is closed under the boolean operations. For finite (small) alphabets: U = ℘(Σ), A ⊆ Σ For infinite (or just too large) alphabets: U = {A ∈ ℘(Σ) | A finite ∨ A finite} Second-level regular expressions: Σ ⊆ ℘(Γ∗) with U = {A ⊆ ℘(Γ∗) | A is regular} Formulas drawn from a first-order theory over alphabets For example, [a-z] represented by x ≥ ’a’ ∧ x ≤ ’z’ Matthias Keil, Peter Thiemann Regular Expression Inequalities December 15, 2014 9 / 21
  • 10. Derivatives with respect to Literals Definition for ∂A(r)? ∂a(r) computes a regular expression for a−1 r (Brzozowski) Desired property ∂A(r) ? = A−1 r = a∈A a−1 r = a∈A ∂a(r) Matthias Keil, Peter Thiemann Regular Expression Inequalities December 15, 2014 10 / 21
  • 11. Positive Derivatives on Literals Definition δ+ A (B) := , B A = ⊥ ∅, otherwise Problem With A = {a, b} and r = (a · c)&(b · c), δ+ A (r) = δ+ A (a · c)&δ+ A (b · c) = c&c ∅ Matthias Keil, Peter Thiemann Regular Expression Inequalities December 15, 2014 11 / 21
  • 12. Negative Derivatives on Literals Definition δ− A (B) := , B A = ⊥ ∅, otherwise Problem With A = {a, b} and r = (a · c)+(b · c), δ− A (r) = δ− A (a · c)+δ− A (b · c) = ∅+∅ c Matthias Keil, Peter Thiemann Regular Expression Inequalities December 15, 2014 12 / 21
  • 13. Positive and Negative Derivatives Extends Brzozowski’s derivative operator to sets of symbols. Defined by induction and flip on the complement operator Definition From ∂a(!s) = !∂a(s), define: δ+ A (!r) := !δ− A (r) δ− A (!r) := !δ+ A (r) Lemma For any regular expression r and literal A, δ+ A (r) ⊇ a∈A ∂a(r) δ− A (r) ⊆ a∈A ∂a(r) Matthias Keil, Peter Thiemann Regular Expression Inequalities December 15, 2014 13 / 21
  • 14. Literals of an Inequality Lemma r s ⇔ (ν(r) ⇒ ν(s)) ∧ (∀a ∈ first(r)) ∂a(r) ∂a(s) first(r) may still be an infinite set of symbols Use first literals as representatives of the first symbols Example 1 Let r = {a, b, c, d} · d∗, then {a, b, c, d} is a first literal 2 Let s = {a, b, c} · c∗ + {b, c, d} · d∗, then {a, b, c} and {b, c, d} are first literals Matthias Keil, Peter Thiemann Regular Expression Inequalities December 15, 2014 14 / 21
  • 15. Literals of an Inequality (cont’d) Problem Let r = {a, b, c, d}·d∗, s = {a, b, c}·c∗+{b, c, d}·d∗, and A = {a, b, c, d}, then δ+ A (r) ˙ δ+ A (s) (1) δ+ A ({a, b, c, d}·d∗ ) ˙ δ+ A ({a, b, c}·c∗ )+δ+ A ({b, c, d}·d∗ ) (2) d∗ ˙ c∗ +d∗ (3) Positive (negative) derivatives yield an upper (lower) approximation To obtain the precise information, we need to restrict these literals suitably to next literals, e.g. {{a},{b,c},{d}} Matthias Keil, Peter Thiemann Regular Expression Inequalities December 15, 2014 15 / 21
  • 16. Next Literals next( ) = {∅} next(A) = {A} next(r+s) = next(r) next(s) next(r·s) = next(r) next(s), ν(r) next(r), ¬ν(r) next(r∗) = next(r) next(r&s) = next(r) next(s) next(!r) = next(r) ∪ { {A | A ∈ next(r)}} Definition Let L1 and L2 be two sets of disjoint literals. L1 L2 := {(A1 A2), (A1 L2), ( L1 A2) | A1 ∈ L1, A2 ∈ L2} Matthias Keil, Peter Thiemann Regular Expression Inequalities December 15, 2014 16 / 21
  • 17. Next Literals (cont’d) Example Let s = {a, b, c} · c∗ + {b, c, d} · d∗, then next(s) = next({a, b, c} · c∗ ) next({b, c, d} · d∗ ) = {{a, b, c}} {{b, c, d}} = {{a}, {b, c}, {d}} Lemma For all r, next(r) ⊇ first(r) |next(r)| is finite (∀A, B ∈ next(r)) A B = ∅ Matthias Keil, Peter Thiemann Regular Expression Inequalities December 15, 2014 17 / 21
  • 18. Coverage Lemma Let L = next(r) and A ∈ next(r) {∅}. 1 (∀a, b ∈ A) ∂a(r) = ∂b(r) ∧ δ+ A (r) = δ− A (r) = ∂a(r) 2 (∀a /∈ L) ∂a(r) = ∅ Definition Let A ∈ next(r). For each ∅ = A ⊆ A define ∂A(r) := ∂a(r), where a ∈ A. Matthias Keil, Peter Thiemann Regular Expression Inequalities December 15, 2014 18 / 21
  • 19. Next Literals of an Inequality Next literal of next(r ˙ s) Sound to join literals of both sides next(r) next(s) Contains also symbols from s First symbols of r are sufficient to prove containment Definition Let L1 and L2 be two sets of disjoint literals. L1 L2 := {(A1 A2), (A1 L2) | A1 ∈ L1, A2 ∈ L2} Left-based join corresponds to next(r&(!s)). Definition Let r ˙ s be an inequality, define: next(r ˙ s) := next(r) next(s) Matthias Keil, Peter Thiemann Regular Expression Inequalities December 15, 2014 19 / 21
  • 20. Solving Inequalities Lemma r s ⇔ (ν(r) ⇒ ν(s)) ∧ (∀a ∈ first(r)) ∂a(r) ∂a(s) To determine a finite set of representatives select one symbol a from each equivalence class A ∈ next(r) calculate with δ+ A (r) or δ− A (r) with A ∈ next(r) Theorem (Containment) r s ⇔ (ν(r) ⇒ ν(s)) ∧ (∀A ∈ next(r ˙ s)) ∂A(r) ∂A(s) Matthias Keil, Peter Thiemann Regular Expression Inequalities December 15, 2014 20 / 21
  • 21. Conclusion Generalize Brzozowski’s derivative operator Extend Antimirov’s algorithm for proving containment Provides a symbolic decision procedure that works with extended regular expressions on infinite alphabets Literals drawn from an effective boolean algebra Main contribution is to identify a finite set that covers all possibilities Matthias Keil, Peter Thiemann Regular Expression Inequalities December 15, 2014 21 / 21
  • 22. Regular Languages The language r ⊆ Σ∗ of a regular expression r is defined inductively by: = { } A = {a | a ∈ A} r+s = r ∪ s r·s = r · s r∗ = r · r∗ r&s = r ∩ s !r = r Matthias Keil, Peter Thiemann Regular Expression Inequalities December 15, 2014 1 / 13
  • 23. Nullable The nullable predicate ν(r) indicates whether r contains the empty word, that is, ν(r) iff ∈ r . ν( ) = true ν(A) = false ν(r+s) = ν(r) ∨ ν(s) ν(r·s) = ν(r) ∧ ν(s) ν(r∗) = true ν(r&s) = ν(r) ∧ ν(s) ν(!r) = ¬ν(r) Matthias Keil, Peter Thiemann Regular Expression Inequalities December 15, 2014 2 / 13
  • 24. Brzozowski Derivatives ∂a(r) computes a regular expression for the left quotient a−1 r . ∂a( ) = ∅ ∂a(A) = , a ∈ A ∅, a /∈ A ∂a(r+s) = ∂a(r)+∂a(s) ∂a(r·s) = ∂a(r)·s+∂a(s), ν(r) ∂a(r)·s, ¬ν(r) ∂a(r∗) = ∂a(r)·r∗ ∂a(r&s) = ∂a(r)&∂a(s) ∂a(!r) = !∂a(r) Matthias Keil, Peter Thiemann Regular Expression Inequalities December 15, 2014 3 / 13
  • 25. First Symbols Let first(r) := {a | aw ∈ r } be the set of first symbols derivable from regular expression r. first( ) = ∅ first(A) = A first(r+s) = first(r) ∪ first(s) first(r·s) = first(r) ∪ first(s), ν(r) first(r), ¬ν(r) first(r∗) = first(r) first(r&s) = first(r) ∩ first(s) first(!r) = Σ {a ∈ first(r) | ∂a(r) = Σ∗} Matthias Keil, Peter Thiemann Regular Expression Inequalities December 15, 2014 4 / 13
  • 26. First Literals Let first(r) := {a | aw ∈ r } be the set of first symbols derivable from regular expression r. literal( ) = ∅ literal(A) = {A} literal(r+s) = literal(r) ∪ literal(s) literal(r·s) = literal(r) ∪ literal(s), ν(r) literal(r), ¬ν(r) literal(r∗) = literal(r) literal(r&s) = literal(r) ∩ literal(s) literal(!r) = Σ {A ∈ literal(r) | ∂A(r) = Σ∗} Matthias Keil, Peter Thiemann Regular Expression Inequalities December 15, 2014 5 / 13
  • 27. Coverage Lemma (Coverage) For all a, u, and r it holds that: u ∈ ∂a(r) ⇔ ∃A ∈ next(r) : a ∈ A ∧ u ∈ δ+ A (r) ∧ u ∈ δ− A (r) Matthias Keil, Peter Thiemann Regular Expression Inequalities December 15, 2014 6 / 13
  • 28. Termination Theorem (Finiteness) Let R be a finite set of regular inequalities. Define F(R) = R ∪ {∂A(r ˙ s) | r ˙ s ∈ R, A ∈ next(r ˙ s)} For each r and s, the set i∈N F(i)({r s}) is finite. Matthias Keil, Peter Thiemann Regular Expression Inequalities December 15, 2014 7 / 13
  • 29. Decision Procedure for Containment (Disprove) ν(r) ¬ν(s) Γ r ˙ s : false (Cycle) r ˙ s ∈ Γ Γ r ˙ s : true (Unfold-True) r ˙ s ∈ Γ ν(r) ⇒ ν(s) ∀A ∈ next(r ˙ s) : Γ ∪ {r ˙ s} ∂A(r) ˙ ∂A(s) : true Γ r ˙ s : true (Unfold-False) r ˙ s ∈ Γ ν(r) ⇒ ν(s) ∃A ∈ next(r ˙ s) : Γ ∪ {r ˙ s} ∂A(r) ˙ ∂A(s) : false Γ r ˙ s : false Matthias Keil, Peter Thiemann Regular Expression Inequalities December 15, 2014 8 / 13
  • 30. Prove and Disprove Axioms (Prove-Identity) Γ r r : true (Prove-Empty) Γ ∅ s : true (Prove-Nullable) ν(s) Γ s : true (Disprove-Empty) ∃A ∈ next(r) : A = ∅ Γ r ∅ : false Matthias Keil, Peter Thiemann Regular Expression Inequalities December 15, 2014 9 / 13
  • 31. Soundness Theorem (Soundness) For all regular expression r and s: ∅ r ˙ s : ⇔ r s Matthias Keil, Peter Thiemann Regular Expression Inequalities December 15, 2014 10 / 13
  • 32. Negative Derivatives Counterexample Let r = {a, b, c, d}·d∗, s = {a, b, c}·d∗+{b, c, d}·d∗, and A = {a, b, c, d}, then δ− A (r) ˙ δ+ A (s) (4) δ− A ({a, b, c, d}·d∗ ) ˙ δ− A ({a, b, c}·d∗ )+δ− A ({b, c, d}·d∗ )(5) d∗ ˙ ∅+∅ (6) Matthias Keil, Peter Thiemann Regular Expression Inequalities December 15, 2014 11 / 13
  • 33. Next Literals of an Inequality Example Let r = {a, b, c, d}·d∗, s = {a, b, c}·c∗+{b, c, d}·d∗ then next(r ˙ s) = next({a, b, c, d}·d∗ ) next({a, b, c}·d∗ +{b, c, d}·d∗ ) = {{a}, {b, c}, {d}} Matthias Keil, Peter Thiemann Regular Expression Inequalities December 15, 2014 12 / 13
  • 34. Incomplete Containment Conjecture r s ⇐ (ν(r) ⇒ ν(s)) ∧ (∀A ∈ literal(r)) δ+ A (r) δ− A (s) Matthias Keil, Peter Thiemann Regular Expression Inequalities December 15, 2014 13 / 13