automated complexity analysis of rewrite systems
play

Automated Complexity Analysis of Rewrite Systems Florian Frohn RWTH - PowerPoint PPT Presentation

Automated Complexity Analysis of Rewrite Systems Florian Frohn RWTH Aachen University, Germany December 11, 2018 Automated Complexity Analysis of Rewrite Systems 1 Automated Complexity Analysis of Rewrite Systems Florian Frohn RWTH Aachen


  1. What is Rewriting? Rule-Based Representation of Programs input: x, y ∈ N Example (Integer Transition System (ITS)) z = 0 while x > 0 do 1 init ( x, y ) − → while ( x, y, 0) [ x ≥ 0 ∧ y ≥ 0] x = x − 1 5 while ( x, y, z ) → − while ( x − 1 , y, z + y ) [ x > 0] z = z + y 1 while ( x, y, z ) → − return ( z ) [ x = 0] end return z Example (Term Rewrite System (TRS)) 0 � 0 1 s ( 0 ) � length ( cons ( x, x ′ )) − → s ( length ( x ′ )) 2 s ( s ( 0 )) � length ( nil ) − → 0 Automated Complexity Analysis of Rewrite Systems 4

  2. What is Rewriting? Rule-Based Representation of Programs input: x, y ∈ N Example (Integer Transition System (ITS)) z = 0 while x > 0 do 1 init ( x, y ) − → while ( x, y, 0) [ x ≥ 0 ∧ y ≥ 0] x = x − 1 5 while ( x, y, z ) → − while ( x − 1 , y, z + y ) [ x > 0] z = z + y 1 while ( x, y, z ) → − return ( z ) [ x = 0] end return z Example (Term Rewrite System (TRS)) 0 � 0 1 s ( 0 ) � length ( cons ( x, x ′ )) − → s ( length ( x ′ )) 2 s ( s ( 0 )) � length ( nil ) − → 0 . . . Automated Complexity Analysis of Rewrite Systems 4

  3. Upper, Lower, Worst Case, Best Case, ... runtime input size Automated Complexity Analysis of Rewrite Systems 5

  4. Upper, Lower, Worst Case, Best Case, ... runtime input size Automated Complexity Analysis of Rewrite Systems 5

  5. Upper, Lower, Worst Case, Best Case, ... runtime input size Automated Complexity Analysis of Rewrite Systems 5

  6. Upper, Lower, Worst Case, Best Case, ... runtime input size Automated Complexity Analysis of Rewrite Systems 5

  7. Upper, Lower, Worst Case, Best Case, ... runtime input size Automated Complexity Analysis of Rewrite Systems 5

  8. Outline 1 Introduction 2 Lower Bounds for ITSs 3 Lower Bounds for TRSs 4 Constant Upper Bounds for TRSs Automated Complexity Analysis of Rewrite Systems 6

  9. Evaluating ITSs Example (ITS) 5 while ( x, y, z ) − → while ( x − 1 , y, z + y ) [ x > 0] 1 while ( x, y, z ) − → return ( z ) [ x = 0] Automated Complexity Analysis of Rewrite Systems 7

  10. Evaluating ITSs Example (ITS) 5 while ( x, y, z ) − → while ( x − 1 , y, z + y ) [ x > 0] 1 while ( x, y, z ) − → return ( z ) [ x = 0] Example (Evaluation) while (2 , 2 , 0) Automated Complexity Analysis of Rewrite Systems 7

  11. Evaluating ITSs Example (ITS) 5 while ( x, y, z ) − → while ( x − 1 , y, z + y ) [ x > 0] 1 while ( x, y, z ) − → return ( z ) [ x = 0] Example (Evaluation) while (2 , 2 , 0) [ x/ 2 , y/ 2 , z/ 0] Automated Complexity Analysis of Rewrite Systems 7

  12. Evaluating ITSs Example (ITS) 5 while ( x, y, z ) − → while ( x − 1 , y, z + y ) [ x > 0] 1 while ( x, y, z ) − → return ( z ) [ x = 0] Example (Evaluation) while (2 , 2 , 0) [ x/ 2 , y/ 2 , z/ 0] | = x > 0 Automated Complexity Analysis of Rewrite Systems 7

  13. Evaluating ITSs Example (ITS) 5 while ( x, y, z ) − → while ( x − 1 , y, z + y ) [ x > 0] 1 while ( x, y, z ) − → return ( z ) [ x = 0] Example (Evaluation) while (2 , 2 , 0) [ x/ 2 , y/ 2 , z/ 0] | = x > 0 5 − → while (1 , 2 , 2) Automated Complexity Analysis of Rewrite Systems 7

  14. Evaluating ITSs Example (ITS) 5 while ( x, y, z ) − → while ( x − 1 , y, z + y ) [ x > 0] 1 while ( x, y, z ) − → return ( z ) [ x = 0] Example (Evaluation) while (2 , 2 , 0) [ x/ 2 , y/ 2 , z/ 0] | = x > 0 5 − → while (1 , 2 , 2) [ x/ 1 , y/ 2 , z/ 2] Automated Complexity Analysis of Rewrite Systems 7

  15. Evaluating ITSs Example (ITS) 5 while ( x, y, z ) − → while ( x − 1 , y, z + y ) [ x > 0] 1 while ( x, y, z ) − → return ( z ) [ x = 0] Example (Evaluation) while (2 , 2 , 0) [ x/ 2 , y/ 2 , z/ 0] | = x > 0 5 − → while (1 , 2 , 2) [ x/ 1 , y/ 2 , z/ 2] | = x > 0 Automated Complexity Analysis of Rewrite Systems 7

  16. Evaluating ITSs Example (ITS) 5 while ( x, y, z ) − → while ( x − 1 , y, z + y ) [ x > 0] 1 while ( x, y, z ) − → return ( z ) [ x = 0] Example (Evaluation) while (2 , 2 , 0) [ x/ 2 , y/ 2 , z/ 0] | = x > 0 5 − → while (1 , 2 , 2) [ x/ 1 , y/ 2 , z/ 2] | = x > 0 5 − → while (0 , 2 , 4) Automated Complexity Analysis of Rewrite Systems 7

  17. Evaluating ITSs Example (ITS) 5 while ( x, y, z ) − → while ( x − 1 , y, z + y ) [ x > 0] 1 while ( x, y, z ) − → return ( z ) [ x = 0] Example (Evaluation) while (2 , 2 , 0) [ x/ 2 , y/ 2 , z/ 0] | = x > 0 5 − → while (1 , 2 , 2) [ x/ 1 , y/ 2 , z/ 2] | = x > 0 5 − → while (0 , 2 , 4) [ x/ 0 , y/ 2 , z/ 4] Automated Complexity Analysis of Rewrite Systems 7

  18. Evaluating ITSs Example (ITS) 5 while ( x, y, z ) − → while ( x − 1 , y, z + y ) [ x > 0] 1 while ( x, y, z ) − → return ( z ) [ x = 0] Example (Evaluation) while (2 , 2 , 0) [ x/ 2 , y/ 2 , z/ 0] | = x > 0 5 − → while (1 , 2 , 2) [ x/ 1 , y/ 2 , z/ 2] | = x > 0 5 − → while (0 , 2 , 4) [ x/ 0 , y/ 2 , z/ 4] �| = x > 0 Automated Complexity Analysis of Rewrite Systems 7

  19. Evaluating ITSs Example (ITS) 5 while ( x, y, z ) − → while ( x − 1 , y, z + y ) [ x > 0] 1 while ( x, y, z ) − → return ( z ) [ x = 0] Example (Evaluation) while (2 , 2 , 0) [ x/ 2 , y/ 2 , z/ 0] | = x > 0 5 − → while (1 , 2 , 2) [ x/ 1 , y/ 2 , z/ 2] | = x > 0 5 − → while (0 , 2 , 4) [ x/ 0 , y/ 2 , z/ 4] | = x = 0 Automated Complexity Analysis of Rewrite Systems 7

  20. Evaluating ITSs Example (ITS) 5 while ( x, y, z ) − → while ( x − 1 , y, z + y ) [ x > 0] 1 while ( x, y, z ) − → return ( z ) [ x = 0] Example (Evaluation) while (2 , 2 , 0) [ x/ 2 , y/ 2 , z/ 0] | = x > 0 5 − → while (1 , 2 , 2) [ x/ 1 , y/ 2 , z/ 2] | = x > 0 5 − → while (0 , 2 , 4) [ x/ 0 , y/ 2 , z/ 4] | = x = 0 1 − → return (4) Automated Complexity Analysis of Rewrite Systems 7

  21. Loop Acceleration Example (Loop Acceleration) 5 while ( x, y, z ) − → while ( x − 1 , y, z + y ) [ x > 0] Automated Complexity Analysis of Rewrite Systems 8

  22. Loop Acceleration Example (Loop Acceleration) 5 while ( x, y, z ) − → while ( x − 1 , y, z + y ) [ x > 0] 5 · n � while ( x, y, z ) − − → while ( x − n, y, z + y · n ) [ x > 0 ∧ 0 < n ≤ x ] Automated Complexity Analysis of Rewrite Systems 8

  23. Loop Acceleration Example (Loop Acceleration) 5 while ( x, y, z ) − → while ( x − 1 , y, z + y ) [ x > 0] 5 · n � while ( x, y, z ) − − → while ( x − n, y, z + y · n ) [ x > 0 ∧ 0 < n ≤ x ] 5 · n : cost of n iterations Automated Complexity Analysis of Rewrite Systems 8

  24. Loop Acceleration Example (Loop Acceleration) 5 while ( x, y, z ) − → while ( x − 1 , y, z + y ) [ x > 0] 5 · n � while ( x, y, z ) − − → while ( x − n, y, z + y · n ) [ x > 0 ∧ 0 < n ≤ x ] 5 · n : cost of n iterations x − n : value of x after n iterations Automated Complexity Analysis of Rewrite Systems 8

  25. Loop Acceleration Example (Loop Acceleration) 5 while ( x, y, z ) − → while ( x − 1 , y, z + y ) [ x > 0] 5 · n � while ( x, y, z ) − − → while ( x − n, y, z + y · n ) [ x > 0 ∧ 0 < n ≤ x ] 5 · n : cost of n iterations x − n : value of x after n iterations z + y · n : value of z after n iterations Automated Complexity Analysis of Rewrite Systems 8

  26. Loop Acceleration Example (Loop Acceleration) 5 while ( x, y, z ) − → while ( x − 1 , y, z + y ) [ x > 0] 5 · n � while ( x, y, z ) − − → while ( x − n, y, z + y · n ) [ x > 0 ∧ 0 < n ≤ x ] 5 · n : cost of n iterations x − n : value of x after n iterations z + y · n : value of z after n iterations Example (Recurrence Equations) x ( n − 1) − 1 x ( n ) = y ( n ) y ( n − 1) = z ( n − 1) + y ( n − 1) z ( n ) = Automated Complexity Analysis of Rewrite Systems 8

  27. Loop Acceleration Example (Loop Acceleration) 5 while ( x, y, z ) − → while ( x − 1 , y, z + y ) [ x > 0] 5 · n � while ( x, y, z ) − − → while ( x − n, y, z + y · n ) [ x > 0 ∧ 0 < n ≤ x ] 5 · n : cost of n iterations x − n : value of x after n iterations z + y · n : value of z after n iterations Example (Recurrence Equations) x ( n − 1) − 1 x ( n ) = y ( n ) y ( n − 1) = z ( n − 1) + y ( n − 1) z ( n ) = Automated Complexity Analysis of Rewrite Systems 8

  28. Loop Acceleration Example (Loop Acceleration) 5 while ( x, y, z ) − → while ( x − 1 , y, z + y ) [ x > 0] 5 · n � while ( x, y, z ) − − → while ( x − n, y, z + y · n ) [ x > 0 ∧ 0 < n ≤ x ] 5 · n : cost of n iterations x : maximal number of loop iterations x − n : value of x after n iterations z + y · n : value of z after n iterations Example (Recurrence Equations) x ( n − 1) − 1 x ( n ) = y ( n ) y ( n − 1) = z ( n − 1) + y ( n − 1) z ( n ) = Automated Complexity Analysis of Rewrite Systems 8

  29. Loop Acceleration Example (Loop Acceleration) 5 while ( x, y, z ) − → while ( x − 1 , y, z + y ) [ x > 0] 5 · n � while ( x, y, z ) − − → while ( x − n, y, z + y · n ) [ x > 0 ∧ 0 < n ≤ x ] 5 · n : cost of n iterations x : maximal number of loop iterations 2 , x − 1 , . . . would be fine, too x x − n : value of x after n iterations z + y · n : value of z after n iterations Example (Recurrence Equations) x ( n − 1) − 1 x ( n ) = y ( n ) y ( n − 1) = z ( n − 1) + y ( n − 1) z ( n ) = Automated Complexity Analysis of Rewrite Systems 8

  30. Loop Acceleration Example (Loop Acceleration) 5 while ( x, y, z ) − → while ( x − 1 , y, z + y ) [ x > 0] 5 · n � while ( x, y, z ) − − → while ( x − n, y, z + y · n ) [ x > 0 ∧ 0 < n ≤ x ] 5 · n : cost of n iterations x : maximal number of loop iterations 2 , x − 1 , . . . would be fine, too x x − n : value of x after n iterations search for metering function z + y · n : value of z after n iterations Example (Recurrence Equations) x ( n − 1) − 1 x ( n ) = y ( n ) y ( n − 1) = z ( n − 1) + y ( n − 1) z ( n ) = Automated Complexity Analysis of Rewrite Systems 8

  31. Loop Acceleration Example (Loop Acceleration) 5 while ( x, y, z ) − → while ( x − 1 , y, z + y ) [ x > 0] 5 · n � while ( x, y, z ) − − → while ( x − n, y, z + y · n ) [ x > 0 ∧ 0 < n ≤ x ] 5 · n : cost of n iterations x : maximal number of loop iterations 2 , x − 1 , . . . would be fine, too x x − n : value of x after n iterations search for metering function z + y · n : value of z after n iterations Example (Recurrence Equations) x ( n − 1) − 1 x ( n ) = y ( n ) y ( n − 1) = z ( n − 1) + y ( n − 1) z ( n ) = Automated Complexity Analysis of Rewrite Systems 8

  32. Chaining Example 1 init ( x, y ) − → while ( x, y, 0) [ x ≥ 0 ∧ y ≥ 0] 5 · n while ( x, y, z ) − − → while ( x − n, y, z + y · n ) [ x > 0 ∧ 0 < n ≤ x ] 1 while ( x, y, z ) − → return ( z ) [ x = 0] Automated Complexity Analysis of Rewrite Systems 9

  33. Chaining Example 1 init ( x, y ) − → while ( x, y, 0) [ x ≥ 0 ∧ y ≥ 0] 5 · n while ( x, y, z ) − − → while ( x − n, y, z + y · n ) [ x > 0 ∧ 0 < n ≤ x ] 1 while ( x, y, z ) − → return ( z ) [ x = 0] Automated Complexity Analysis of Rewrite Systems 9

  34. Chaining Example 1 init ( x, y ) − → while ( x, y, 0) [ x ≥ 0 ∧ y ≥ 0] 5 · n while ( x, y, 0) − − → while ( x − n, y, 0 + y · n ) [ x > 0 ∧ 0 < n ≤ x ] 1 while ( x, y, z ) − → return ( z ) [ x = 0] Automated Complexity Analysis of Rewrite Systems 9

  35. Chaining Example 1 init ( x, y ) − → while ( x, y, 0) [ x ≥ 0 ∧ y ≥ 0] 5 · n while ( x, y, 0) − − → while ( x − n, y, y · n ) [ x > 0 ∧ 0 < n ≤ x ] 1 while ( x, y, z ) − → return ( z ) [ x = 0] Automated Complexity Analysis of Rewrite Systems 9

  36. Chaining Example 1 init ( x, y ) − → while ( x, y, 0) [ x ≥ 0 ∧ y ≥ 0] 5 · n while ( x, y, 0) − − → while ( x − n, y, y · n ) [ x > 0 ∧ 0 < n ≤ x ] 1 while ( x, y, z ) − → return ( z ) [ x = 0] Automated Complexity Analysis of Rewrite Systems 9

  37. Chaining Example 1 init ( x, y ) − → while ( x, y, 0) [ x ≥ 0 ∧ y ≥ 0] 5 · x while ( x, y, 0) − − → while ( x − x, y, y · x ) [ x > 0 ∧ 0 < x ≤ x ] 1 while ( x, y, z ) − → return ( z ) [ x = 0] Automated Complexity Analysis of Rewrite Systems 9

  38. Chaining Example 1 init ( x, y ) − → while ( x, y, 0) [ x ≥ 0 ∧ y ≥ 0] 5 · x while ( x, y, 0) − − → while (0 , y, y · x ) [ x > 0] 1 while ( x, y, z ) − → return ( z ) [ x = 0] Automated Complexity Analysis of Rewrite Systems 9

  39. Chaining Example 1 init ( x, y ) − → while ( x, y, 0) [ x ≥ 0 ∧ y ≥ 0] 5 · x while ( x, y, 0) − − → while (0 , y, y · x ) [ x > 0] 1 while ( x, y, z ) − → return ( z ) [ x = 0] 5 · x +2 init ( x, y ) − − − → return ( y · x ) [ x > 0 ∧ y ≥ 0] � Automated Complexity Analysis of Rewrite Systems 9

  40. Chaining Example 1 init ( x, y ) − → while ( x, y, 0) [ x ≥ 0 ∧ y ≥ 0] 5 · x while ( x, y, 0) − − → while (0 , y, y · x ) [ x > 0] 1 while ( x, y, z ) − → return ( z ) [ x = 0] 5 · x +2 init ( x, y ) − − − → return ( y · x ) [ x > 0 ∧ y ≥ 0] � Automated Complexity Analysis of Rewrite Systems 9

  41. Chaining Example 1 init ( x, y ) − → while ( x, y, 0) [ x ≥ 0 ∧ y ≥ 0] 5 · x while ( x, y, 0) − − → while (0 , y, y · x ) [ x > 0] 1 while ( x, y, z ) → − return ( z ) [ x = 0] 5 · x +2 init ( x, y ) − − − → return ( y · x ) [ x > 0 ∧ y ≥ 0] � � whole program compressed into a single rule Automated Complexity Analysis of Rewrite Systems 9

  42. Chaining Example 1 init ( x, y ) − → while ( x, y, 0) [ x ≥ 0 ∧ y ≥ 0] 5 · x while ( x, y, 0) − − → while (0 , y, y · x ) [ x > 0] 1 while ( x, y, z ) − → return ( z ) [ x = 0] 5 · x +2 init ( x, y ) − − − → return ( y · x ) [ x > 0 ∧ y ≥ 0] � � whole program compressed into a single rule � lower bound 5 · x + 2 for all x > 0 , y ≥ 0 Automated Complexity Analysis of Rewrite Systems 9

  43. Chaining Example 1 init ( x, y ) − → while ( x, y, 0) [ x ≥ 0 ∧ y ≥ 0] 5 · x while ( x, y, 0) − − → while (0 , y, y · x ) [ x > 0] 1 while ( x, y, z ) − → return ( z ) [ x = 0] 5 · x +2 init ( x, y ) − − − → return ( y · x ) [ x > 0 ∧ y ≥ 0] � � whole program compressed into a single rule � lower bound 5 · x + 2 for all x > 0 , y ≥ 0 Works for arbitrary programs! Automated Complexity Analysis of Rewrite Systems 9

  44. Lower Bounds for ITSs – Wrap-Up first technique to infer worst case lower bounds for ITSs Automated Complexity Analysis of Rewrite Systems 10

  45. Lower Bounds for ITSs – Wrap-Up first technique to infer worst case lower bounds for ITSs key idea: loop acceleration Automated Complexity Analysis of Rewrite Systems 10

  46. Lower Bounds for ITSs – Wrap-Up first technique to infer worst case lower bounds for ITSs key idea: loop acceleration many other features, e.g.: Automated Complexity Analysis of Rewrite Systems 10

  47. Lower Bounds for ITSs – Wrap-Up first technique to infer worst case lower bounds for ITSs key idea: loop acceleration many other features, e.g.: non-determinism Automated Complexity Analysis of Rewrite Systems 10

  48. Lower Bounds for ITSs – Wrap-Up first technique to infer worst case lower bounds for ITSs key idea: loop acceleration many other features, e.g.: non-determinism asymptotic bounds Automated Complexity Analysis of Rewrite Systems 10

  49. Lower Bounds for ITSs – Wrap-Up first technique to infer worst case lower bounds for ITSs key idea: loop acceleration many other features, e.g.: non-determinism asymptotic bounds recursive void functions SMT encodings . . . Automated Complexity Analysis of Rewrite Systems 10

  50. Lower Bounds for ITSs – Wrap-Up first technique to infer worst case lower bounds for ITSs key idea: loop acceleration many other features, e.g.: LoAT Ω( n 2 ) Ω( n 3 ) Ω( n 4 ) non-determinism rc ( n ) Ω(1) Ω( n ) EXP ∞ Best Upper Bound O (1) (132) – – – – – – asymptotic bounds O ( n ) 37 126 – – – – – recursive void functions O ( n 2 ) 8 14 35 – – – – SMT encodings O ( n 3 ) 2 – 2 1 – – – O ( n 4 ) 1 – – – 2 – – . . . EXP – – – – – 5 – ∞ 53 31 1 – – – 176 Automated Complexity Analysis of Rewrite Systems 10

  51. Outline 1 Introduction 2 Lower Bounds for ITSs 3 Lower Bounds for TRSs 4 Constant Upper Bounds for TRSs Automated Complexity Analysis of Rewrite Systems 11

  52. Evaluating TRSs Example (TRS) inf ( y ) − → cons ( y, inf ( s ( y ))) Automated Complexity Analysis of Rewrite Systems 12

  53. Evaluating TRSs Example (TRS) inf ( y ) − → cons ( y, inf ( s ( y ))) Example (Evaluation) inf ( 0 ) Automated Complexity Analysis of Rewrite Systems 12

  54. Evaluating TRSs Example (TRS) inf ( y ) − → cons ( y, inf ( s ( y ))) Example (Evaluation) inf ( 0 ) [ y/ 0 ] Automated Complexity Analysis of Rewrite Systems 12

  55. Evaluating TRSs Example (TRS) inf ( y ) − → cons ( y, inf ( s ( y ))) Example (Evaluation) inf ( 0 ) [ y/ 0 ] − → cons ( 0 , inf ( s ( 0 ))) Automated Complexity Analysis of Rewrite Systems 12

  56. Evaluating TRSs Example (TRS) inf ( y ) − → cons ( y, inf ( s ( y ))) Example (Evaluation) inf ( 0 ) [ y/ 0 ] − → cons ( 0 , inf ( s ( 0 ))) [ y/ s ( 0 )] Automated Complexity Analysis of Rewrite Systems 12

  57. Evaluating TRSs Example (TRS) inf ( y ) − → cons ( y, inf ( s ( y ))) Example (Evaluation) inf ( 0 ) [ y/ 0 ] − → cons ( 0 , inf ( s ( 0 ))) [ y/ s ( 0 )] − → cons ( 0 , cons ( s ( 0 ) , inf ( s ( s ( 0 ))))) Automated Complexity Analysis of Rewrite Systems 12

  58. Evaluating TRSs Example (TRS) inf ( y ) − → cons ( y, inf ( s ( y ))) Example (Evaluation) inf ( 0 ) [ y/ 0 ] − → cons ( 0 , inf ( s ( 0 ))) [ y/ s ( 0 )] − → cons ( 0 , cons ( s ( 0 ) , inf ( s ( s ( 0 ))))) [ y/ s ( s ( 0 ))] Automated Complexity Analysis of Rewrite Systems 12

  59. Evaluating TRSs Example (TRS) inf ( y ) − → cons ( y, inf ( s ( y ))) Example (Evaluation) inf ( 0 ) [ y/ 0 ] − → cons ( 0 , inf ( s ( 0 ))) [ y/ s ( 0 )] − → cons ( 0 , cons ( s ( 0 ) , inf ( s ( s ( 0 ))))) [ y/ s ( s ( 0 ))] − → . . . Automated Complexity Analysis of Rewrite Systems 12

  60. Evaluating TRSs Example (TRS) inf ( y ) − → cons ( y, inf ( s ( y ))) Loop Automated Complexity Analysis of Rewrite Systems 12

  61. Evaluating TRSs Example (TRS) inf ( y ) − → cons ( y, inf ( s ( y ))) Loop = ⇒ Non-Termination Automated Complexity Analysis of Rewrite Systems 12

  62. Evaluating TRSs Example (TRS) inf ( y ) − → cons ( y, inf ( s ( 0 ))) Loop = ⇒ Non-Termination Automated Complexity Analysis of Rewrite Systems 12

  63. Decreasing Loops Example length ( cons ( x, x ′ )) − → s ( length ( x ′ )) Automated Complexity Analysis of Rewrite Systems 13

  64. Decreasing Loops Example length ( cons ( x, x ′ )) − → s ( length ( x ′ )) Loop Automated Complexity Analysis of Rewrite Systems 13

  65. Decreasing Loops Example length ( cons ( x, x ′ )) − → s ( length ( x ′ )) Decreasing Loop Loop Automated Complexity Analysis of Rewrite Systems 13

  66. Decreasing Loops Example length ( cons ( x, x ′ )) − → s ( length ( x ′ )) Decreasing Loop = ⇒ Linear Lower Bound Loop Automated Complexity Analysis of Rewrite Systems 13

  67. � Decreasing Loops Example length ( cons ( x, x ′ )) − → s ( length ( nil )) Decreasing Loop = ⇒ Linear Lower Bound Loop Automated Complexity Analysis of Rewrite Systems 13

  68. Decreasing Loops Example length ( cons ( x, x ′ )) − → s ( length ( x ′ )) Decreasing Loop = ⇒ Linear Lower Bound Loop Automated Complexity Analysis of Rewrite Systems 13

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