algorithmic aspects of wqo well quasi ordering theory
play

Algorithmic Aspects of WQO (Well-Quasi-Ordering) Theory Part II: - PowerPoint PPT Presentation

Algorithmic Aspects of WQO (Well-Quasi-Ordering) Theory Part II: Algorithmic Applications of WQOs Sylvain Schmitz & Philippe Schnoebelen LSV, CNRS & ENS Cachan ESSLLI 2016, Bozen/Bolzano, Aug 22-26, 2016 Lecture notes & exercises


  1. Algorithmic Aspects of WQO (Well-Quasi-Ordering) Theory Part II: Algorithmic Applications of WQOs Sylvain Schmitz & Philippe Schnoebelen LSV, CNRS & ENS Cachan ESSLLI 2016, Bozen/Bolzano, Aug 22-26, 2016 Lecture notes & exercises available at http://www.lsv.fr/˜schmitz/teach/2016_esslli

  2. I F YOU MISSED P ART I ( X , � ) is a well-quasi-ordering (a wqo) if any infinite sequence x 0 , x 1 , x 2 ... over X contains an increasing pair x i � x j (for some i < j ) Examples. 1. ( N k , � × ) is a wqo (Dickson’s Lemma) where, e.g., ( 3,2,1 ) � × ( 5,2,2 ) but ( 1,2,3 ) � × ( 5,2,2 ) 2. ( Σ ∗ , � ∗ ) is a wqo (Higman’s Lemma) where, e.g., abc � ∗ bacbc but cba � ∗ bacbc Intuition motivating this course: Analyzing the complexity of algorithms based on WQO-theory ≃ Bounding the index j (in the increasing pair above) as a function of some relevant parameters 2/9

  3. I F YOU MISSED P ART I ( X , � ) is a well-quasi-ordering (a wqo) if any infinite sequence x 0 , x 1 , x 2 ... over X contains an increasing pair x i � x j (for some i < j ) Examples. 1. ( N k , � × ) is a wqo (Dickson’s Lemma) where, e.g., ( 3,2,1 ) � × ( 5,2,2 ) but ( 1,2,3 ) � × ( 5,2,2 ) 2. ( Σ ∗ , � ∗ ) is a wqo (Higman’s Lemma) where, e.g., abc � ∗ bacbc but cba � ∗ bacbc Intuition motivating this course: Analyzing the complexity of algorithms based on WQO-theory ≃ Bounding the index j (in the increasing pair above) as a function of some relevant parameters 2/9

  4. O UTLINE FOR P ART II ◮ Well-structured transition systems (WSTS’s) and their decision algorithms ◮ Termination proofs for programs ◮ Relevance logics and their decidability ◮ ... Karp-Miller trees ? All of these are actual examples of algorithms that terminate thanks to wqo-theoretical arguments Question for Part III. terminate in how many steps exactly? 3/9

  5. O UTLINE FOR P ART II ◮ Well-structured transition systems (WSTS’s) and their decision algorithms ◮ Termination proofs for programs ◮ Relevance logics and their decidability ◮ ... Karp-Miller trees ? All of these are actual examples of algorithms that terminate thanks to wqo-theoretical arguments Question for Part III. terminate in how many steps exactly? 3/9

  6. WSTS: W ELL - STRUCTURED TRANSITION SYSTEMS In program verification, wqo’s appear prominently under the guise of WSTS. Def. A WSTS is a system ( S , − → , � ) where 1. ( S , − → ) with − →⊆ S × S is a transition system 2. the set of states ( S , � ) is wqo, and 3. the transition relation is compatible with the ordering (also called → t and s � s ′ imply s ′ − → t ′ for some t ′ � t “monotonic”): s − 4/9

  7. S OME WSTS’ S : M ONOTONIC C OUNTER M ACHINES c 1 0 c 2 >0? c 2 -- c 3 :=0 c 1 ++ ℓ 0 ℓ 1 ℓ 2 ℓ 3 c 2 1 c 1 := c 3 c 1 > = 10 ? c 3 4 A run of M : ( ℓ 0 ,0,1,4 ) − → ( ℓ 1 ,1,1,4 ) − → ( ℓ 2 ,1,0,4 ) − → ( ℓ 3 ,1,0,0 ) Ordering states: ( ℓ 1 ,0,0,0 ) � ( ℓ 1 ,0,1,2 ) but ( ℓ 1 ,0,0,0 ) � ( ℓ 2 ,0,1,2 ) . This is wqo as a product of wqo’s: ( Loc , =) × ( N 3 , � × ) Compatibility: easily checked when guards are upward-closed and assignments are monotonic functions of the variables. NB. Other updates can be considered as long as they are monotonic. Extending guards require using a finer ordering. Question. How does this compare to Minsky (counter) machines? 5/9

  8. S OME WSTS’ S : M ONOTONIC C OUNTER M ACHINES c 1 0 c 2 >0? c 2 -- c 3 :=0 c 1 ++ ℓ 0 ℓ 1 ℓ 2 ℓ 3 c 2 1 c 1 := c 3 c 1 > = 10 ? c 3 4 A run of M : ( ℓ 0 ,0,1,4 ) − → ( ℓ 1 ,1,1,4 ) − → ( ℓ 2 ,1,0,4 ) − → ( ℓ 3 ,1,0,0 ) Ordering states: ( ℓ 1 ,0,0,0 ) � ( ℓ 1 ,0,1,2 ) but ( ℓ 1 ,0,0,0 ) � ( ℓ 2 ,0,1,2 ) . This is wqo as a product of wqo’s: ( Loc , =) × ( N 3 , � × ) Compatibility: easily checked when guards are upward-closed and assignments are monotonic functions of the variables. NB. Other updates can be considered as long as they are monotonic. Extending guards require using a finer ordering. Question. How does this compare to Minsky (counter) machines? 5/9

  9. S OME WSTS’ S : M ONOTONIC C OUNTER M ACHINES c 1 0 c 2 >0? c 2 -- c 3 :=0 c 1 ++ ℓ 0 ℓ 1 ℓ 2 ℓ 3 c 2 1 c 1 := c 3 c 1 > = 10 ? c 3 4 A run of M : ( ℓ 0 ,0,1,4 ) − → ( ℓ 1 ,1,1,4 ) − → ( ℓ 2 ,1,0,4 ) − → ( ℓ 3 ,1,0,0 ) Ordering states: ( ℓ 1 ,0,0,0 ) � ( ℓ 1 ,0,1,2 ) but ( ℓ 1 ,0,0,0 ) � ( ℓ 2 ,0,1,2 ) . This is wqo as a product of wqo’s: ( Loc , =) × ( N 3 , � × ) Compatibility: easily checked when guards are upward-closed and assignments are monotonic functions of the variables. NB. Other updates can be considered as long as they are monotonic. Extending guards require using a finer ordering. Question. How does this compare to Minsky (counter) machines? 5/9

  10. S OME WSTS’ S : M ONOTONIC C OUNTER M ACHINES c 1 0 c 2 >0? c 2 -- c 3 :=0 c 1 ++ ℓ 0 ℓ 1 ℓ 2 ℓ 3 c 2 1 c 1 := c 3 c 1 > = 10 ? c 3 4 A run of M : ( ℓ 0 ,0,1,4 ) − → ( ℓ 1 ,1,1,4 ) − → ( ℓ 2 ,1,0,4 ) − → ( ℓ 3 ,1,0,0 ) Ordering states: ( ℓ 1 ,0,0,0 ) � ( ℓ 1 ,0,1,2 ) but ( ℓ 1 ,0,0,0 ) � ( ℓ 2 ,0,1,2 ) . This is wqo as a product of wqo’s: ( Loc , =) × ( N 3 , � × ) Compatibility: easily checked when guards are upward-closed and assignments are monotonic functions of the variables. NB. Other updates can be considered as long as they are monotonic. Extending guards require using a finer ordering. Question. How does this compare to Minsky (counter) machines? 5/9

  11. S OME WSTS’ S : M ONOTONIC C OUNTER M ACHINES c 1 0 c 2 >0? c 2 -- c 3 :=0 c 1 ++ ℓ 0 ℓ 1 ℓ 2 ℓ 3 c 2 1 c 1 := c 3 c 1 > = 10 ? c 3 4 A run of M : ( ℓ 0 ,0,1,4 ) − → ( ℓ 1 ,1,1,4 ) − → ( ℓ 2 ,1,0,4 ) − → ( ℓ 3 ,1,0,0 ) Ordering states: ( ℓ 1 ,0,0,0 ) � ( ℓ 1 ,0,1,2 ) but ( ℓ 1 ,0,0,0 ) � ( ℓ 2 ,0,1,2 ) . This is wqo as a product of wqo’s: ( Loc , =) × ( N 3 , � × ) Compatibility: easily checked when guards are upward-closed and assignments are monotonic functions of the variables. NB. Other updates can be considered as long as they are monotonic. Extending guards require using a finer ordering. Question. How does this compare to Minsky (counter) machines? 5/9

  12. S OME WSTS’ S : R ELATIONAL AUTOMATA c 1 1 c 2 := ??; c 1 := c 3 c 1 < c 2 ? ℓ 0 ℓ 1 ℓ 2 0 c 2 c 3 :=-1 c 1 = 10 > c 2 = c 3 ? − 4 c 3 Guards: comparisons between counters and constants Updates: assignments with counter values and constants One does not use � × to compare states!! Rather ( a 1 ,..., a k ) � sparse ( b 1 ,..., b k ) def � � � � ⇔ ∀ i , j = 1,..., k : a i � a j iff b i � b j ∧ | a i − a j | � | b i − b j | . Fact. ( Z k , � sparse ) is wqo def ( ℓ , a 1 ,..., a k ) � ( ℓ ′ , b 1 ,..., b k ) Compatibility: We use ⇔ ℓ = ℓ ′ ∧ ( a 1 ,..., a k , − 1,10 ) � sparse ( b 1 ,..., b k , − 1,10 ) . 6/9

  13. S OME WSTS’ S : R ELATIONAL AUTOMATA c 1 1 c 2 := ??; c 1 := c 3 c 1 < c 2 ? ℓ 0 ℓ 1 ℓ 2 0 c 2 c 3 :=-1 c 1 = 10 > c 2 = c 3 ? − 4 c 3 Guards: comparisons between counters and constants Updates: assignments with counter values and constants One does not use � × to compare states!! Rather ( a 1 ,..., a k ) � sparse ( b 1 ,..., b k ) def � � � � ⇔ ∀ i , j = 1,..., k : a i � a j iff b i � b j ∧ | a i − a j | � | b i − b j | . Fact. ( Z k , � sparse ) is wqo def ( ℓ , a 1 ,..., a k ) � ( ℓ ′ , b 1 ,..., b k ) Compatibility: We use ⇔ ℓ = ℓ ′ ∧ ( a 1 ,..., a k , − 1,10 ) � sparse ( b 1 ,..., b k , − 1,10 ) . 6/9

  14. S OME WSTS’ S : R ELATIONAL AUTOMATA c 1 1 c 2 := ??; c 1 := c 3 c 1 < c 2 ? ℓ 0 ℓ 1 ℓ 2 0 c 2 c 3 :=-1 c 1 = 10 > c 2 = c 3 ? − 4 c 3 Guards: comparisons between counters and constants Updates: assignments with counter values and constants One does not use � × to compare states!! Rather ( a 1 ,..., a k ) � sparse ( b 1 ,..., b k ) def � � � � ⇔ ∀ i , j = 1,..., k : a i � a j iff b i � b j ∧ | a i − a j | � | b i − b j | . Fact. ( Z k , � sparse ) is wqo def ( ℓ , a 1 ,..., a k ) � ( ℓ ′ , b 1 ,..., b k ) Compatibility: We use ⇔ ℓ = ℓ ′ ∧ ( a 1 ,..., a k , − 1,10 ) � sparse ( b 1 ,..., b k , − 1,10 ) . 6/9

  15. S OME WSTS’ S : R ELATIONAL AUTOMATA c 1 1 c 2 := ??; c 1 := c 3 c 1 < c 2 ? ℓ 0 ℓ 1 ℓ 2 0 c 2 c 3 :=-1 c 1 = 10 > c 2 = c 3 ? − 4 c 3 Guards: comparisons between counters and constants Updates: assignments with counter values and constants One does not use � × to compare states!! Rather ( a 1 ,..., a k ) � sparse ( b 1 ,..., b k ) def � � � � ⇔ ∀ i , j = 1,..., k : a i � a j iff b i � b j ∧ | a i − a j | � | b i − b j | . Fact. ( Z k , � sparse ) is wqo def ( ℓ , a 1 ,..., a k ) � ( ℓ ′ , b 1 ,..., b k ) Compatibility: We use ⇔ ℓ = ℓ ′ ∧ ( a 1 ,..., a k , − 1,10 ) � sparse ( b 1 ,..., b k , − 1,10 ) . 6/9

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