Temporal Logics on Strings with Prefix Relation St´ ephane Demri CNRS – Marie Curie Fellow Joint work with Morgan Deters (NYU) Corunna, February 2015
In Memoriam: Morgan Deters 2
LTL over Concrete Domains 3 LTL over Concrete Domains
Logics with Concrete Domains • Temporal propositional logic L , • Concrete domain D = � D , ( R i ) i ∈ I � , = ⇒ L ( D ) • replacing propositional variables by domain-specific constraints, • variables interpreted by elements of D . 4 LTL over Concrete Domains
Concrete Domains • Concrete domain: D = � D , ( R i ) i ∈ I � . • Interpretation domains for program variables. • Atomic constraint: R ( x 1 , . . . , x t ) . • A D -valuation v : VAR → D . • Examples: �{ 0 , 1 } ∗ , � p � � N , ≤� � N , = , + 1 � � Q , <, = � 5 LTL over Concrete Domains
LTL over Concrete Domains • Atomic term constraint R ( X n 1 x 1 , . . . , X n t x t ) . • X i x interpreted as the value of x in the i th next state. • φ ::= R ( X n 1 x 1 , . . . , X n t x t ) | X φ | φ U φ | ¬ φ | . . . • Linear models: σ : N → ( VAR → D ) . = R ( X n 1 x 1 , . . . , X n t x t ) σ, j | iff value of x 1 in the ( j + n 1 ) th state � �� � ( σ ( j + n 1 )( x 1 ) , . . . , σ ( j + n t )( x t )) ∈ R i.e. values at different states can be compared. 6 LTL over Concrete Domains
A LTL ( Q , <, =) -model 3 1 x 1 0 3 . . . 8 9 1 3 x 2 0 2 . . . 2 4 = F ( x 2 < X 2 x 3 ) | 1 1 1 x 3 1 . . . 4 4 4 x 4 1 2 3 4 . . . Satisfiability of φ : is there σ such that σ, 0 | = φ ? 7 LTL over Concrete Domains
Spatio-Temporal Logics • D is a spatial domain in spatio-temporal logics, see e.g. [Balbiani & Condotta, FROCOS’02; Wolter & Zakharyaschev, 2002] • D is rather a class of domains. • Example: RCC-8 [Randel & Cui & Cohn92, KR’92] Variables interpreted as regions Predicates: being “disconnected”, “equal”, “partial overlap”, ... 8 LTL over Concrete Domains
LTL with Presburger Constraints • Constraints on counters: Xx = x + 1, x < XXy. • Satisfiability for LTL( N , = , + 1) is undecidable. 9 LTL over Concrete Domains
LTL with Presburger Constraints • Constraints on counters: Xx = x + 1, x < XXy. • Satisfiability for LTL( N , = , + 1) is undecidable. • LTL( Z , = , < ) is PS PACE -complete. [Demri & D’Souza, IC 07] See also [Segoufin & Toru´ nczyk, STACS’11] 9 LTL over Concrete Domains
LTL with Presburger Constraints • Constraints on counters: Xx = x + 1, x < XXy. • Satisfiability for LTL( N , = , + 1) is undecidable. • LTL( Z , = , < ) is PS PACE -complete. [Demri & D’Souza, IC 07] See also [Segoufin & Toru´ nczyk, STACS’11] • Variants of LTL with Presburger constraints in: [Bouajjani et al., LICS 95] , [Comon & Cortier, CSL ’00] , • [Dang & Ibarra & San Pietro, FST&TCS’01] . • 9 LTL over Concrete Domains
What is the problem with LTL ( D ) ? • Local satisfiability is constrained. – p 1 , . . . , p n can hold independently of each other. – x 0 < x 1 , . . . , x n − 1 < x n are not independent. • Global satisfiability is constrained. – G p is satisfiable in LTL. – G ( Xx < x ) is not satisfiable in LTL( N , < ). • How formulae define ω -regular classes of models ? 10 LTL over Concrete Domains
Temporal Logics on Strings 11 Temporal Logics on Strings
Reasoning about Strings • Need for string reasoning: program verification, analysis of web applications, etc. • Theory solvers for strings. [Liang et al. – Abdulla et al., CAV’14; Hutagalung & Lange, CSR’14] • Solving word equations. [Makanin, Math. 77; Plandowski, JACM 04] • What about reasoning on sequences of strings ? 12 Temporal Logics on Strings
LTL on Strings: LTL (Σ ∗ , � p ) • String variables SVAR = { x 1 , x 2 , . . . } . (x ∈ SVAR , w ∈ Σ ∗ ) • Terms: t ::= w | x | Xx • Formulae: t � p t ′ | ¬ φ | φ ∧ φ | X φ | φ U φ ::= φ • Example: GF (( 001 � p x ) ∨ ( x � p 1001 )) ∧ G ( ¬ ( x � p Xx )) 13 Temporal Logics on Strings
A Model with Σ = { 0 , 1 } x 1 000 011110 ε 1111 . . . x 2 101 010001 010001 00 . . . | = F ( x 2 � p Xx 3 ) x 3 00 111 010001101 ε . . . 14 Temporal Logics on Strings
The Case Σ = { 0 } def = LTL (Σ ∗ , � p ) with Σ = { 0 } . • LTL ( N , ≤ ) • Satisfiability problem for LTL ( N , ≤ ) is PS PACE -complete. [Demri & D’Souza, IC 07; Demri & Gascon, TCS 08] See also [Segoufin & Torunczyk, STACS’11] • The PS PACE upper bound is preserved with several LTL extensions or with richer numerical constraints. (but no successor relation). 15 Temporal Logics on Strings
A Richer and Auxiliary Logic LTL (Σ ∗ , clen ) • clen ( w , w ′ ) : length of the longest common prefix between w and w ′ in Σ ∗ . = clen ( t 0 , t ′ 0 ) ≤ clen ( t 1 , t ′ σ, i | 1 ) def ⇔ clen ([ t 0 ] i , [ t ′ 0 ] i ) ≤ clen ([ t 1 ] i , [ t ′ 1 ] i ) • Reduction from LTL (Σ ∗ , � p ) to LTL (Σ ∗ , clen ) . t � p t ′ �→ clen ( t , t ) ≤ clen ( t , t ′ ) . • In the sequel either Σ = [ 0 , k − 1 ] for some k ≥ 1 or Σ = N . 16 Temporal Logics on Strings
Symbolic Models for LTL ( N , ≤ ) . . . x 1 • • • • • = < < < = = < = < = < . . . x 2 • • • • • = = = = = = x 3 . . . • • • • • | = symb XX ( x 1 < Xx 2 ) = = < < = = = = . . . • • • • • 1 < < < < < = = = = . . . • • • • • 0 + Local consistency between two consecutive positions. 17 Symbolic Models
Rephrasing the Satisfiability Property φ is LTL ( N , ≤ ) satisfiable iff there is a symbolic model σ such that σ | = symb φ and σ has a concrete interpretation in N 18 Symbolic Models
Characterisation for LTL ( N , ≤ ) • Usual notion of path π between two nodes. • Strict length of the path π : slen ( π ) = number of edges labelled by < . • Strict length between � x , i � and � x ′ , i ′ � : slen ( � x , i � , � x ′ , i ′ � ) = sup { slen ( π ) : path π from � x , i � to � x ′ , i ′ �} def 19 Symbolic Models
Characterisation for LTL ( N , ≤ ) • Usual notion of path π between two nodes. • Strict length of the path π : slen ( π ) = number of edges labelled by < . • Strict length between � x , i � and � x ′ , i ′ � : slen ( � x , i � , � x ′ , i ′ � ) = sup { slen ( π ) : path π from � x , i � to � x ′ , i ′ �} def • Symbolic model σ has a concrete interpretation iff any pair of nodes has a finite strict length. [Cerans, ICALP’94; Demri & D’Souza, IC 07] [Gascon, PhD thesis 07;Carapelle & Kartzow & Lohrey, CONCUR’13] 19 Symbolic Models
When WMSO+U Enters Into the Play def • σ | = U X φ ⇔ for every b ∈ N , there is a finite Y with card ( Y ) ≥ b such that σ | = φ ( Y ) . def = ¬ U X φ . B X φ [Boja´ nczyk, CSL ’04; Boja´ nczyk & Colcombet, LICS’06] • Symbolic models for LTL ( N , ≤ ) having a concrete interpretation can be characterized by a formula in Bool(MSO,WMSO+U). • This leads to decidability of CTL ⋆ ( N , ≤ ) . [Carapelle & Kartzow & Lohrey, CONCUR’13] (based on [Boja´ nczyk, STACS’12] ) nczyk & Toru´ See also decidable fragments in [Bozzelli & Gascon, LPAR’06] 20 Symbolic Models
Back to Strings Simple but Essential Properties for clen ( · ) 0 0 0 1 0 2 w 1 w 2 0 0 0 0 − → clen ( w 1 , w 2 ) ≤ len ( w 1 ) 21 Symbolic Models
Back to Strings Simple but Essential Properties for clen ( · ) 0 0 0 1 0 2 w 1 w 2 0 0 0 0 − → clen ( w 1 , w 2 ) ≤ len ( w 1 ) 0 0 0 1 0 2 w 0 w 1 0 0 0 0 1 3 5 6 0 0 0 2 1 4 w 2 . . . 0 0 0 3 1 3 w k − → ∃ i , j ∈ [ 1 , k ] such that clen ( w 0 , w 1 ) < clen ( w i , w j ) (Pigeonhole Principle – card (Σ) = k ≥ 2) 21 Symbolic Models
Back to Strings Simple but Essential Properties for clen ( · ) 0 0 0 1 0 2 w 1 w 2 0 0 0 0 − → clen ( w 1 , w 2 ) ≤ len ( w 1 ) 0 0 0 1 0 2 w 0 w 1 0 0 0 0 1 3 5 6 0 0 0 2 1 4 w 2 . . . 0 0 0 3 1 3 w k − → ∃ i , j ∈ [ 1 , k ] such that clen ( w 0 , w 1 ) < clen ( w i , w j ) (Pigeonhole Principle – card (Σ) = k ≥ 2) 0 0 0 1 0 2 0 0 0 0 1 3 5 w 0 0 0 0 0 1 3 5 and w 1 0 0 0 0 1 4 w 1 w 2 − → clen ( w 0 , w 1 ) = clen ( w 0 , w 2 ) 21 Symbolic Models
String Compatible Counter Valuations • Counter valuation c : { clen ( t , t ′ ) : t , t ′ ∈ T } → N . • String-compatibility: � ( clen ( t , t ) ≥ clen ( t , t ′ )) t , t ′ ∈ T � � (( ( clen ( t 0 , t 1 ) < clen ( t i , t i ))) ∧ clen ( t 0 , t 1 ) = · · · = clen ( t 0 , t k )) t 0 ,..., t k ∈ T i ∈ [ 0 , k ] � ⇒ ( ( clen ( t 0 , t 1 ) < clen ( t i , t j ))) i � = j ∈ [ 1 , k ] � ( clen ( t , t ′ ) < clen ( t ′ , t ′′ )) ⇒ ( clen ( t , t ′ ) = clen ( t , t ′′ )) t , t ′ , t ′′ ∈ T • Size in O (( q + r ) k + 2 ) with card ( T ) = q + r . 22 String Compatible Counter Valuations
Recommend
More recommend