Weak monadic second-order theory of one successor (WS1S) Presentation for Seminar on Decision Procedures Susanne van den Elsen Universit¨ at des Saarlandes January 25th, 2013 Susanne van den Elsen (UdS) WS1S January 25th, 2013 1 / 52
Introduction Expressiveness and decidability expressiveness decidability/complexity Susanne van den Elsen (UdS) WS1S January 25th, 2013 2 / 52
Introduction Expressiveness and decidability expressiveness Boolean Logic NP- complete decidability/complexity Susanne van den Elsen (UdS) WS1S January 25th, 2013 2 / 52
Introduction Expressiveness and decidability expressiveness Quantified Boolean Logic Boolean Logic NP- PSPACE- complete complete decidability/complexity Susanne van den Elsen (UdS) WS1S January 25th, 2013 2 / 52
Introduction Expressiveness and decidability expressiveness Second Order Logic ∃ R . ∀ x . R ( x , x ) First Order Logic ∀ x . P ( x ) Quantified Boolean Logic Boolean Logic undecidable! NP- PSPACE- complete complete decidability/complexity Susanne van den Elsen (UdS) WS1S January 25th, 2013 2 / 52
Introduction Expressiveness and decidability expressiveness Second Order Logic ∃ R . ∀ x . R ( x , x ) First Order Logic ∀ x . P ( x ) First-order theories Quantified Boolean Logic Boolean Logic undecidable! NP- PSPACE- complete complete decidability/complexity Susanne van den Elsen (UdS) WS1S January 25th, 2013 2 / 52
Introduction Monadic second-order logic (MSO) - Monadic second-order logic (MSO): fragment of second-order logic only quantification over sets - Weak monadic second-order logic (WMSO): fragment of MSO only quantification over finite sets - WS1S: WMSO of one successor Susanne van den Elsen (UdS) WS1S January 25th, 2013 3 / 52
Introduction Monadic second-order logic (MSO) - Monadic second-order logic (MSO): fragment of second-order logic only quantification over sets - Weak monadic second-order logic (WMSO): fragment of MSO only quantification over finite sets - WS1S: WMSO of one successor Susanne van den Elsen (UdS) WS1S January 25th, 2013 3 / 52
Introduction Monadic second-order logic (MSO) - Monadic second-order logic (MSO): fragment of second-order logic only quantification over sets - Weak monadic second-order logic (WMSO): fragment of MSO only quantification over finite sets - WS1S: WMSO of one successor Susanne van den Elsen (UdS) WS1S January 25th, 2013 3 / 52
Introduction Expressiveness and decidability expressiveness Second Order Logic ∃ R . ∀ x . R ( x , x ) First Order Logic ∀ x . P ( x ) REG WS1S Quantified Boolean Logic Boolean Logic non-elementary NP- PSPACE- undecidable! 2 2 . . . 2 n � complete complete O ( n ) decidability/complexity Susanne van den Elsen (UdS) WS1S January 25th, 2013 4 / 52
Introduction Application of WS1S - WS1S implemented (e.g. in MONA, MOSEL, . . . ) - Express properties of programs manipulating linked datastructures (e.g. lists) node1 node2 .next .next .next .next .next .next root - Express that node2 is reachable from node1 : � node1 , node2 � ∈ {� x , y � | y = x . next } ∗ Reachable ( node1 , node2 ) := Closed ( S , next ) := ∀ x ∀ y ( x ∈ S ∧ y = x . next → y ∈ S ) � node1 , node2 � ∈ next ∗ := ∀ S . ( node1 ∈ S ∧ Closed ( S , next ) → node2 ∈ S ) Susanne van den Elsen (UdS) WS1S January 25th, 2013 5 / 52
Introduction Application of WS1S - WS1S implemented (e.g. in MONA, MOSEL, . . . ) - Express properties of programs manipulating linked datastructures (e.g. lists) node1 node2 .next .next .next .next .next .next root - Express that node2 is reachable from node1 : � node1 , node2 � ∈ {� x , y � | y = x . next } ∗ Reachable ( node1 , node2 ) := Closed ( S , next ) := ∀ x ∀ y ( x ∈ S ∧ y = x . next → y ∈ S ) � node1 , node2 � ∈ next ∗ := ∀ S . ( node1 ∈ S ∧ Closed ( S , next ) → node2 ∈ S ) Susanne van den Elsen (UdS) WS1S January 25th, 2013 5 / 52
Introduction Application of WS1S - WS1S implemented (e.g. in MONA, MOSEL, . . . ) - Express properties of programs manipulating linked datastructures (e.g. lists) node1 node2 .next .next .next .next .next .next root - Express that node2 is reachable from node1 : � node1 , node2 � ∈ {� x , y � | y = x . next } ∗ Reachable ( node1 , node2 ) := Closed ( S , next ) := ∀ x ∀ y ( x ∈ S ∧ y = x . next → y ∈ S ) � node1 , node2 � ∈ next ∗ := ∀ S . ( node1 ∈ S ∧ Closed ( S , next ) → node2 ∈ S ) Susanne van den Elsen (UdS) WS1S January 25th, 2013 5 / 52
Introduction Application of WS1S y y x x x (a) x and y (b) x is acyclic (c) no garbage are separate Figure: Properties that can be expressed in terms of reachability. Susanne van den Elsen (UdS) WS1S January 25th, 2013 6 / 52
Introduction Overview of this presentation WS1S Susanne van den Elsen (UdS) WS1S January 25th, 2013 7 / 52
Introduction Overview of this presentation WS1S Syntax Semantics Susanne van den Elsen (UdS) WS1S January 25th, 2013 7 / 52
Introduction Overview of this presentation Regular languages WS1S Syntax Semantics Susanne van den Elsen (UdS) WS1S January 25th, 2013 7 / 52
Introduction Overview of this presentation Regular languages WS1S Finite automata Syntax Semantics Susanne van den Elsen (UdS) WS1S January 25th, 2013 7 / 52
Introduction Overview of this presentation Regular languages WS1S Finite automata Syntax Semantics WS1S on words Susanne van den Elsen (UdS) WS1S January 25th, 2013 7 / 52
Introduction Overview of this presentation Regular languages WS1S Finite automata Syntax Decision procedure Semantics WS1S on words Susanne van den Elsen (UdS) WS1S January 25th, 2013 7 / 52
Introduction Overview of this presentation Regular languages WS1S Finite automata Syntax Decision procedure Semantics Complexity WS1S on words 2 2 . . . 2 n � O ( n ) Susanne van den Elsen (UdS) WS1S January 25th, 2013 7 / 52
Weak monadic second-order theory of one successor Section 2 Weak monadic second-order theory of one successor Susanne van den Elsen (UdS) WS1S January 25th, 2013 8 / 52
Weak monadic second-order theory of one successor Syntax Syntax Syntax (S1S) First order variable set V 1 = { x 1 , x 2 , . . . } Second-order variable set V 2 = { X 1 , X 2 , . . . } Terms t: t ::= 0 | x , for x ∈ V 1 Formulas φ : φ ::= S ( t , t ) | t ∈ X | ¬ φ | φ 1 ∧ φ 2 | ∃ x .φ | ∃ X .φ, for x ∈ V 1 and X ∈ V 2 Syntax (WS1S) Same as S1S, but only quantification over finite sets. Susanne van den Elsen (UdS) WS1S January 25th, 2013 9 / 52
Weak monadic second-order theory of one successor Semantics Semantics On structure � ω, S , < � Interpretation σ = � σ 1 , σ 2 � , where σ 1 : V 1 → N and σ 2 : V 2 → N ∈ 2 N , with N is finite. Susanne van den Elsen (UdS) WS1S January 25th, 2013 10 / 52
Weak monadic second-order theory of one successor Semantics Semantics Semantics Semantics of terms: [0] σ 1 = 0 ; [ x ] σ 1 = σ 1 ( x ) ; Satisfiability: σ | = t ∈ X ⇐ ⇒ σ ( t ) ∈ σ ( X ) ; = S ( t , t ′ ) ⇐ ⇒ σ ( t ) + 1 = σ ( t ′ ) ; σ | σ | = ¬ φ ⇐ ⇒ σ �| = φ ; σ | = φ 1 ∧ φ 2 ⇐ ⇒ σ | = φ 1 and σ | = φ 2 ; σ | = ∃ x .φ ⇐ ⇒ σ [ n / x ] | = φ for some n ∈ N ; σ | = ∃ X .φ ⇐ ⇒ σ [ N / X ] | = φ for some finite N ∈ 2 N . Validity: | = φ ⇐ ⇒ σ | = φ , for all interpretations σ Susanne van den Elsen (UdS) WS1S January 25th, 2013 11 / 52
Weak monadic second-order theory of one successor Semantics Syntactic sugar Example ∀ x ∀ y ( x ∈ Z ∧ R ( x , y ) → y ∈ Z ) Closed ( Z , R ) := � z 1 , z 2 � ∈ R ∗ := ∀ Z . ( z 1 ∈ Z ∧ Closed ( Z , R ) → z 2 ∈ Z ) x ≤ y := x < y := first ( x ) := last ( x ) := X ⊆ Y := X = Y := X = ∅ := Sing ( X ) := Succ ( X , Y ) := ; Susanne van den Elsen (UdS) WS1S January 25th, 2013 12 / 52
Weak monadic second-order theory of one successor Semantics Syntactic sugar Example ∀ x ∀ y ( x ∈ Z ∧ R ( x , y ) → y ∈ Z ) Closed ( Z , R ) := � z 1 , z 2 � ∈ R ∗ := ∀ Z . ( z 1 ∈ Z ∧ Closed ( Z , R ) → z 2 ∈ Z ) ∀ X . ( y ∈ X ∧ ∀ z . ∀ z ′ ( z ∈ X ∧ S ( z ′ , z ) → z ′ ∈ X ) → X ( x )) x ≤ y := � x , y � ∈ S ∗ i.e. x < y := first ( x ) := last ( x ) := X ⊆ Y := X = Y := X = ∅ := Sing ( X ) := Succ ( X , Y ) := ; Susanne van den Elsen (UdS) WS1S January 25th, 2013 12 / 52
Weak monadic second-order theory of one successor Semantics Syntactic sugar Example ∀ x ∀ y ( x ∈ Z ∧ R ( x , y ) → y ∈ Z ) Closed ( Z , R ) := � z 1 , z 2 � ∈ R ∗ := ∀ Z . ( z 1 ∈ Z ∧ Closed ( Z , R ) → z 2 ∈ Z ) ∀ X . ( y ∈ X ∧ ∀ z . ∀ z ′ ( z ∈ X ∧ S ( z ′ , z ) → z ′ ∈ X ) → X ( x )) x ≤ y := � x , y � ∈ S ∗ i.e. x < y := x ≤ y ∧ ¬ y ≤ x first ( x ) := last ( x ) := X ⊆ Y := X = Y := X = ∅ := Sing ( X ) := Succ ( X , Y ) := ; Susanne van den Elsen (UdS) WS1S January 25th, 2013 12 / 52
Recommend
More recommend