Block Products for Algebras over Countable words and Applications to - - PowerPoint PPT Presentation

block products for algebras over countable words and
SMART_READER_LITE
LIVE PREVIEW

Block Products for Algebras over Countable words and Applications to - - PowerPoint PPT Presentation

Block Products for Algebras over Countable words and Applications to Logic Saptarshi Sarkar, IIT Bombay Joint work with: Bharat Adsul, IIT Bombay & A.V. Sreejith, IIT Goa LICS 2019 This talk is in the setting of Countable Linear Orderings


slide-1
SLIDE 1

Block Products for Algebras over Countable words and Applications to Logic

Saptarshi Sarkar, IIT Bombay Joint work with: Bharat Adsul, IIT Bombay & A.V. Sreejith, IIT Goa

LICS 2019

slide-2
SLIDE 2

∙ in the setting of Countable Linear Orderings ∙ about finding small objects

This talk is

that combine to recognize FO or LTL languages

slide-3
SLIDE 3

Background

slide-4
SLIDE 4

The Model

Words over countable linear orderings

slide-5
SLIDE 5

Countable Linear Ordering

Countable Linear Ordering - ( , ) Z Covntable set total osdes

  • o Z

<

slide-6
SLIDE 6

Countable Linear Ordering

Countable Linear Ordering - ( , ) Z Covntable set total osdes

  • o Z

Example 1 ({1, 2, 3, 4, 5}, < ) <

slide-7
SLIDE 7

Countable Linear Ordering

Countable Linear Ordering - ( , ) Z Covntable set total osdes

  • o Z

Example 1 ({1, 2, 3, 4, 5}, < ) Example 2 ω : (ℕ, < ) <

slide-8
SLIDE 8

Countable Linear Ordering

Countable Linear Ordering - ( , ) Z Covntable set total osdes

  • o Z

Example 1 ({1, 2, 3, 4, 5}, < ) Example 2 ω : (ℕ, < ) Example 3 ω* : (ℕ−, < ) <

slide-9
SLIDE 9

Countable Linear Ordering

Countable Linear Ordering - ( , ) Z Covntable set total osdes

  • o Z

Example 1 ({1, 2, 3, 4, 5}, < ) Example 2 ω : (ℕ, < ) Example 3 ω* : (ℕ−, < ) Example 4 α : ω + ω* < …

slide-10
SLIDE 10

Countable Linear Ordering

Countable Linear Ordering - ( , ) Z Covntable set total osdes

  • o Z

Example 1 ({1, 2, 3, 4, 5}, < ) Example 2 ω : (ℕ, < ) Example 3 ω* : (ℕ−, < ) Example 4 α : ω + ω* Example 5 η = (ℚ, < ) < …

slide-11
SLIDE 11

Countable Words

countable word u : α → Σ covntable lineas

  • sdesing

finite alphabet

slide-12
SLIDE 12

Countable Words

countable word u : α → Σ covntable lineas

  • sdesing

finite alphabet Examples

slide-13
SLIDE 13

Countable Words

countable word u : α → Σ covntable lineas

  • sdesing

finite alphabet Examples

  • 1. (abc)ω

a b c a b…

slide-14
SLIDE 14

Countable Words

countable word u : α → Σ covntable lineas

  • sdesing

finite alphabet Examples

  • 1. (abc)ω

a b c a b…

  • 2. {a, b, c}η

a

slide-15
SLIDE 15

Countable Words

countable word u : α → Σ covntable lineas

  • sdesing

finite alphabet Examples set of all countable words − Σ⊛

  • 1. (abc)ω

a b c a b…

  • 2. {a, b, c}η

a

slide-16
SLIDE 16

Algebra in Formal Language

ω words Finite Words Finite Monoids Schutzenberger Wilke Algebras Thomas Wilke Countable Finite ⋄ −Monoid Carton Countable Words Finite ⊛ −Monoid Colcombet McNaughton Bes Bedon et . al . Carton Puppis Scattered Words Bruyere 1960 1993 2007 2011 Finite ⊛ −Algebra

slide-17
SLIDE 17

⊛ − Monoid

slide-18
SLIDE 18

⊛ − Monoid

Monoid (S, ⋅ ) ⋅ : S* → S Associativity

slide-19
SLIDE 19

⊛ − Monoid

Monoid (S, ⋅ ) ⋅ : S* → S Associativity ⊛ − Monoid (S, π) π : S⊛ → S Generalized Associativity

slide-20
SLIDE 20

⊛ − Monoid

Monoid (S, ⋅ ) ⋅ : S* → S Associativity ⊛ − Monoid (S, π) π : S⊛ → S Generalized Associativity u π(u)

slide-21
SLIDE 21

⊛ − Monoid

Monoid (S, ⋅ ) ⋅ : S* → S Associativity ⊛ − Monoid (S, π) π : S⊛ → S Generalized Associativity u ui = Πi∈αui π(u)

slide-22
SLIDE 22

⊛ − Monoid

Monoid (S, ⋅ ) ⋅ : S* → S Associativity ⊛ − Monoid (S, π) π : S⊛ → S Generalized Associativity u ui π(Πi∈αui) = Πi∈αui

slide-23
SLIDE 23

⊛ − Monoid

Monoid (S, ⋅ ) ⋅ : S* → S Associativity ⊛ − Monoid (S, π) π : S⊛ → S Generalized Associativity u ui π(ui) π(Πi∈αui) = Πi∈αui

slide-24
SLIDE 24

⊛ − Monoid

Monoid (S, ⋅ ) ⋅ : S* → S Associativity ⊛ − Monoid (S, π) π : S⊛ → S Generalized Associativity u ui Πi∈απ(ui) π(ui) π(Πi∈αui) = Πi∈αui

slide-25
SLIDE 25

⊛ − Monoid

Monoid (S, ⋅ ) ⋅ : S* → S Associativity ⊛ − Monoid (S, π) π : S⊛ → S Generalized Associativity u ui Πi∈απ(ui) π(ui) π(Πi∈αui) π(Πi∈απ(ui)) = Πi∈αui

slide-26
SLIDE 26

⊛ − Monoid

Monoid (S, ⋅ ) ⋅ : S* → S Associativity ⊛ − Monoid (S, π) π : S⊛ → S Generalized Associativity u ui Πi∈απ(ui) π(ui) π(Πi∈αui) = π(Πi∈απ(ui)) = Πi∈αui

slide-27
SLIDE 27

⊛ − Monoid

Monoid (S, ⋅ ) ⋅ : S* → S Associativity ⊛ − Monoid (S, π) π : S⊛ → S Generalized Associativity u ui Πi∈απ(ui) π(ui) π(Πi∈αui) = π(Πi∈απ(ui)) = Πi∈αui

slide-28
SLIDE 28

⊛ − Monoid examples

slide-29
SLIDE 29

⊛ − Monoid examples

Example 1 (Σ⊛, Π) stsing coocatenatioo

slide-30
SLIDE 30

⊛ − Monoid examples

Example 1 ({0, 1}, π) U1 = 1 if u has no 0 if u has at least one 0 π(u) = Example 2 (Σ⊛, Π) stsing coocatenatioo

slide-31
SLIDE 31

⊛ − Monoid examples

Example 1 ({0, 1}, π) U1 = 1 if u has no 0 if u has at least one 0 π(u) = Example 2 (Σ⊛, Π) stsing coocatenatioo Example 3 Sing = ({1, s, 0}, π) π(u) = 1 if u has no s or 0 if u has at least one 0

  • r more than one s

s if u has exactly one s and no 0

slide-32
SLIDE 32

Morphism

slide-33
SLIDE 33

Morphism

h : (S, π) → (T, π′) S⊛ S T⊛ T h(π(u)) = π′(¯ h(u)) where u ∈ S⊛

π h ¯ h π′

slide-34
SLIDE 34

Morphism

h : (S, π) → (T, π′) S⊛ S T⊛ T h(π(u)) = π′(¯ h(u)) where u ∈ S⊛

π h ¯ h π′

∙ Any morphism h : Σ⊛ → S is completely determined by h restricted to Σ (Σ⊛, Π) is a free ⊛ − monoid ∙ Conversely, any function h : Σ → S uniquely extends to a morphism

slide-35
SLIDE 35

Language Recognition

slide-36
SLIDE 36

Language Recognition

h : Σ⊛ → S L = h−1(X) mosphism language recognized by subset

  • f

h S

slide-37
SLIDE 37

Language Recognition

h : Σ⊛ → S L = h−1(X) Example h : {a, b}⊛ → U1 a ↦ 0 b ↦ 1 h−1(0) = {u|u contains letter a} mosphism language recognized by subset

  • f

h S

1 if u has no 0 if u has at least one 0 π(u) = U1 = ({0,1}, π)

slide-38
SLIDE 38

Language Recognition

h : Σ⊛ → S L = h−1(X) Example h : {a, b}⊛ → Sing a ↦ s b ↦ 1 h−1(s) = {u|u contains exactly one position labelled a} mosphism language recognized by subset

  • f

h S

1 if u has no 0 or s if u has a 0 or multiple s π(u) = s

  • therwise

Sing = ({1, s, 0}, π)

slide-39
SLIDE 39

MSO Logic Definability

ϕ = a(x) | x < y | ¬ϕ | ϕ ∨ ϕ | ∃x ϕ | ∃X ϕ The following two statements are equivalent [CCP2011]: 1) A language of countable words is MSO logic definable 2) A language of countable words is recognized by some morphism to a finite ⊛ −Monoid

slide-40
SLIDE 40

MSO Logic Definability

ϕ = a(x) | x < y | ¬ϕ | ϕ ∨ ϕ | ∃x ϕ | ∃X ϕ The following two statements are equivalent [CCP2011]: 1) A language of countable words is MSO logic definable 2) A language of countable words is recognized by some morphism to a finite ⊛ −Monoid MSO logic definability is decidable?

slide-41
SLIDE 41

⊛ − Algebra

slide-42
SLIDE 42

⊛ − Algebra

(S, π) no finite presentatioo

slide-43
SLIDE 43

⊛ − Algebra

(S, π) (S, ⋅ , τ, τ*, κ) no finite presentatioo

slide-44
SLIDE 44

⊛ − Algebra

(S, π) (S, ⋅ , τ, τ*, κ) ⋅ : S × S → S τ : S → S τ* : S → S κ : 𝒬(S)∖∅ → S a ⋅ b = π(ab) aτ = π(aω) aτ* = π(aω*) {a, b, c}κ = π({a, b, c}η) no finite presentatioo

slide-45
SLIDE 45

⊛ − Algebra

(S, π) ≡ (S, ⋅ , τ, τ*, κ) ⋅ : S × S → S τ : S → S τ* : S → S κ : 𝒬(S)∖∅ → S a ⋅ b = π(ab) aτ = π(aω) aτ* = π(aω*) {a, b, c}κ = π({a, b, c}η) no finite presentatioo finite S

slide-46
SLIDE 46

⊛ − Algebra examples

slide-47
SLIDE 47

⊛ − Algebra examples

Example 1 Sing = ({1, s, 0}, π) π(u) = 1 if u has no s or 0 s if u has exactly one s and no 0

  • therwise
slide-48
SLIDE 48

⊛ − Algebra examples

Example 1 Sing = ({1, s, 0}, π) Sing = ({1, s, 0}, ⋅ , τ, τ*, κ) s ⋅ s = 0 sτ = sτ* = 0 Pκ = { 1 if P = {1}

  • therwise

π(u) = 1 if u has no s or 0 s if u has exactly one s and no 0

  • therwise
slide-49
SLIDE 49

⊛ − Algebra examples

Example 1 Sing = ({1, s, 0}, π) Sing = ({1, s, 0}, ⋅ , τ, τ*, κ) s ⋅ s = 0 sτ = sτ* = 0 Pκ = { 1 if P = {1}

  • therwise

Example 2 Ul

2 = ({1, [, (}, π)

π(u) = 1 if u has no s or 0 s if u has exactly one s and no 0

  • therwise

π(u) = 1 if u has no [ or ( [ if u has min position labelled [ (

  • therwise
slide-50
SLIDE 50

⊛ − Algebra examples

Example 1 Sing = ({1, s, 0}, π) Sing = ({1, s, 0}, ⋅ , τ, τ*, κ) s ⋅ s = 0 sτ = sτ* = 0 Pκ = { 1 if P = {1}

  • therwise

Example 2 Ul

2 = ({1, [, (}, π)

Ul

2 = ({1, [, (}, ⋅ , τ, τ*, κ)

[τ* = (τ* = ( Pκ = { 1 if P = {1} (

  • therwise

π(u) = 1 if u has no s or 0 s if u has exactly one s and no 0

  • therwise

π(u) = 1 if u has no [ or ( [ if u has min position labelled [ (

  • therwise
slide-51
SLIDE 51

Block Product

slide-52
SLIDE 52

Block Product (operational view)

slide-53
SLIDE 53

Block Product (operational view)

(M, ⋅ ) (N, + ) M □ N

slide-54
SLIDE 54

Block Product (operational view)

(M, ⋅ ) (N, + ) M □ N h : Σ → M □ N

a

u

… …

slide-55
SLIDE 55

Block Product (operational view)

(M, ⋅ ) (N, + ) M □ N h : Σ → M □ N

a a

u h1 : Σ → M u

… … … …

slide-56
SLIDE 56

Block Product (operational view)

(M, ⋅ ) (N, + ) M □ N h : Σ → M □ N

a a h1(u<x) , a , h1(u>x)

u h1 : Σ → M σ : Σ* → (M × Σ × M)* u u′ = σ(u) h1 h1

… … … … … …

slide-57
SLIDE 57

Block Product (operational view)

(M, ⋅ ) (N, + ) M □ N h : Σ → M □ N

a a h1(u<x) , a , h1(u>x)

u h1 : Σ → M σ : Σ* → (M × Σ × M)* u h2 : M × Σ × M → N u′ = σ(u) h1 h1

… … … … … …

slide-58
SLIDE 58

Block Product (operational view)

(M, ⋅ ) (N, + ) M □ N h : Σ → M □ N

a a h1(u<x) , a , h1(u>x)

u h1 : Σ → M σ : Σ* → (M × Σ × M)* u h2 : M × Σ × M → N u′ = σ(u) h1 h1

… … … … … …

h(u) is completely determined by h1(u) and h2(u′)

slide-59
SLIDE 59

Block Product example

slide-60
SLIDE 60

Block Product example

U1 = ({1,0}, ⋅ )

slide-61
SLIDE 61

Block Product example

Σ = {a, b} L = {u | u contains exactly one a} U1 = ({1,0}, ⋅ )

slide-62
SLIDE 62

Block Product example

U1 □ U1 Σ = {a, b} L = {u | u contains exactly one a} U1 = ({1,0}, ⋅ )

slide-63
SLIDE 63

Block Product example

U1 □ U1

a

h1 : u

… …

Σ = {a, b} L = {u | u contains exactly one a} a ↦ 0 b ↦ 1 U1 = ({1,0}, ⋅ )

slide-64
SLIDE 64

Block Product example

U1 □ U1

a 1 , a , 1

h1 : σ : Σ* → (U1 × Σ × U1)* u u′ = σ(u) h1 h1

… … … …

Σ = {a, b} L = {u | u contains exactly one a} a ↦ 0 b ↦ 1 U1 = ({1,0}, ⋅ )

slide-65
SLIDE 65

Block Product example

U1 □ U1

a 1 , a , 1

h1 : σ : Σ* → (U1 × Σ × U1)* u h2 : u′ = σ(u) h1 h1

… … … …

Σ = {a, b} L = {u | u contains exactly one a} a ↦ 0 b ↦ 1 1, a, 1 ↦ 0 … ↦ 1 U1 = ({1,0}, ⋅ )

slide-66
SLIDE 66

Block Product example

U1 □ U1

a 1 , a , 1

h1 : σ : Σ* → (U1 × Σ × U1)* u h2 : u′ = σ(u) h1 h1

… … … …

Σ = {a, b} L = {u | u contains exactly one a} a ↦ 0 b ↦ 1 1, a, 1 ↦ 0 … ↦ 1 u ∈ L iff h1(u) = 0 & h2(u′) = 0 U1 = ({1,0}, ⋅ )

slide-67
SLIDE 67

Block Product Principle

(M, ⋅ ) (N, + ) (M □ N, ˜ ⋅ ) & Any language recognized by M □ N is a boolean combination of 1) Languages recognized by M 2) σ−1 of languages recognized by N σ is transducer induced by h1 Given h : Σ → M □ N , let h1 : Σ → M be the projection of h on M

slide-68
SLIDE 68

Block Product for -Monoid ⊛

slide-69
SLIDE 69

Block Product for -Monoid ⊛

(M, π) (N, ̂ π) (M □ N , ˜ π)

slide-70
SLIDE 70

Block Product for -Monoid ⊛

(M, π) (N, ̂ π) (M □ N , ˜ π) Satisfies Generalized Associativity

slide-71
SLIDE 71

Block Product for -Algebra ⊛

slide-72
SLIDE 72

Block Product for -Algebra ⊛

(M, π) (N, ̂ π) (M □ N , ˜ π) &

slide-73
SLIDE 73

Block Product for -Algebra ⊛

(M, ⋅ ,τ, τ*, κ) (N, + , ̂ τ, ̂ τ*, ̂ κ) (M □ N , ˜ ⋅ , ˜ τ, ˜ τ*, ˜ κ) (M, π) (N, ̂ π) (M □ N , ˜ π) & &

slide-74
SLIDE 74

Block Product for -Algebra ⊛

(M, ⋅ ,τ, τ*, κ) (N, + , ̂ τ, ̂ τ*, ̂ κ) (M □ N , ˜ ⋅ , ˜ τ, ˜ τ*, ˜ κ) (M, π) (N, ̂ π) (M □ N , ˜ π) & & Effective

slide-75
SLIDE 75

Block Product (operational view)

slide-76
SLIDE 76

Block Product (operational view)

h : Σ → M □ N

a

u

… …

(M, ⋅ , τ, τ*, κ) (N, + , ̂ τ, ̂ τ*, ̂ κ) (M □ N, ˜ ⋅ , ˜ τ, ˜ τ*, ˜ κ)

slide-77
SLIDE 77

Block Product (operational view)

h : Σ → M □ N

a a h1(u<x) , a , h1(u>x)

u h1 : Σ → M σ : Σ⊕ → (M × Σ × M)⊕ u u′ = σ(u) h1 h1

… … … … … …

(M, ⋅ , τ, τ*, κ) (N, + , ̂ τ, ̂ τ*, ̂ κ) (M □ N, ˜ ⋅ , ˜ τ, ˜ τ*, ˜ κ)

slide-78
SLIDE 78

Block Product (operational view)

h : Σ → M □ N

a a h1(u<x) , a , h1(u>x)

u h1 : Σ → M σ : Σ⊕ → (M × Σ × M)⊕ u h2 : M × Σ × M → N u′ = σ(u) h1 h1

… … … … … …

h(u) is completely determined by h1(u) and h2(u′) (M, ⋅ , τ, τ*, κ) (N, + , ̂ τ, ̂ τ*, ̂ κ) (M □ N, ˜ ⋅ , ˜ τ, ˜ τ*, ˜ κ)

slide-79
SLIDE 79

Block Product Principle

(M, ⋅ , τ, τ*, κ) (N, + , ̂ τ, ̂ τ*, ̂ κ) (M □ N, ˜ ⋅ , ˜ τ, ˜ τ*, ˜ κ) & Given h : Σ → M □ N , let h1 : Σ → M be the projection of h on M Any countable language recognized by M □ N is a boolean combination of 1) Countable languages recognized by M 2) σ−1 of countable languages recognized by N σ is transducer induced by h1

slide-80
SLIDE 80

Applications to Logic

slide-81
SLIDE 81

Block Product Closure

((U1 □ U1) □ U1) □ U1… …U1 □ (U1 □ (U1 □ U1)) Iterated Block product Weakly Iterated Block product □* U1 = set of all iterated block products of U1 □*

w U1 = set of all weakly iterated block products of U1 1 if u has no 0 if u has at least one 0 π(u) = U1 = ({0,1}, π)

slide-82
SLIDE 82

Block Product & Logic (finite words)

ℒ(□*U1) = FO definable languages [Krohn, Rhodes] = LTL definable languages [Kamp] ℒ(□*

wU1) = FO2 definable languages

[Straubing, Therien]

1 if u has no 0 if u has at least one 0 π(u) = U1 = ({0,1}, π)

slide-83
SLIDE 83

First Order Logic (CLO)

ℒ(□*U1) = FO definable countable languages ℒ(□*

wU1) = FO2 definable countable languages

1 if u has no 0 if u has at least one 0 π(u) = U1 = ({0,1}, π)

slide-84
SLIDE 84

First Order Logic (CLO)

slide-85
SLIDE 85

First Order Logic (CLO)

ℒ(□*U1) ⊇ FO definable countable languages

slide-86
SLIDE 86

First Order Logic (CLO)

ℒ(□*U1) ⊇ FO definable countable languages ∃x a(x) ϕ = ∃x ψ(x) ψ(x)

slide-87
SLIDE 87

First Order Logic (CLO)

ℒ(□*U1) ⊇ FO definable countable languages

(

a 1)

u

… …

∃x a(x) ϕ = ∃x ψ(x) ψ(x)

slide-88
SLIDE 88

First Order Logic (CLO)

ℒ(□*U1) ⊇ FO definable countable languages

(

a 1)

u

… …

∙ ( a 1) exists ∙ exactly one ( * 1 ) ∃x a(x) ϕ = ∃x ψ(x) ψ(x)

slide-89
SLIDE 89

First Order Logic (CLO)

ℒ(□*U1) ⊇ FO definable countable languages

(

a 1)

u

… …

∙ ( a 1) exists ∙ exactly one ( * 1 ) U1 ∃x a(x) ϕ = ∃x ψ(x) ψ(x)

slide-90
SLIDE 90

First Order Logic (CLO)

ℒ(□*U1) ⊇ FO definable countable languages

(

a 1)

u

… …

∙ ( a 1) exists ∙ exactly one ( * 1 ) U1 (U1 □ U1) ∃x a(x) ϕ = ∃x ψ(x) ψ(x)

slide-91
SLIDE 91

First Order Logic (CLO)

ℒ(□*U1) ⊇ FO definable countable languages

(

a 1)

u

… …

∙ ( a 1) exists ∙ exactly one ( * 1 ) U1 (U1 □ U1) × ∃x a(x) ϕ = ∃x ψ(x) ψ(x)

slide-92
SLIDE 92

First Order Logic (CLO)

slide-93
SLIDE 93

First Order Logic (CLO)

ℒ(□*U1) ⊇ FO definable languages ∃x a(x) ϕ = ∃x ψ(x) ψ(x)

slide-94
SLIDE 94

First Order Logic (CLO)

ℒ(□*U1) ⊇ FO definable languages ∃x a(x)

(

a 1)

u ∈ L(ψ)

… …

ϕ = ∃x ψ(x) ψ(x) M

slide-95
SLIDE 95

First Order Logic (CLO)

ℒ(□*U1) ⊇ FO definable languages ∃x a(x)

(

a 1)

u ∈ L(ψ)

… …

ϕ = ∃x ψ(x) ψ(x)

a

v = proj(u, Σ)

… …

M

slide-96
SLIDE 96

First Order Logic (CLO)

ℒ(□*U1) ⊇ FO definable languages ∃x a(x)

(

a 1)

u ∈ L(ψ)

… …

ϕ = ∃x ψ(x) ψ(x)

a

v = proj(u, Σ)

… …

M □ U1

slide-97
SLIDE 97

Marked Star Free Expression

slide-98
SLIDE 98

Marked Star Free Expression

s = ∅ | a | s1 + s2 | s1 ∩ s2 | ¬s | s1 . a . s2 a ∈ Σ

slide-99
SLIDE 99

Marked Star Free Expression

s = ∅ | a | s1 + s2 | s1 ∩ s2 | ¬s | s1 . a . s2 a ∈ Σ

Marked Star Free Expressions ≡ FO ≡ □* U1

1 if u has no 0 if u has at least one 0 π(u) = U1 = ({0,1}, π)

slide-100
SLIDE 100

Linear Temporal Logic [S, U]

slide-101
SLIDE 101

Linear Temporal Logic [S, U]

ϕ = p ∈ P | ¬ϕ | ϕ1 ∨ ϕ2 | ϕ1 S ϕ2 | ϕ1 U ϕ2

slide-102
SLIDE 102

Linear Temporal Logic [S, U]

ϕ = p ∈ P | ¬ϕ | ϕ1 ∨ ϕ2 | ϕ1 S ϕ2 | ϕ1 U ϕ2

p U q q p

slide-103
SLIDE 103

Linear Temporal Logic [S, U]

ϕ = p ∈ P | ¬ϕ | ϕ1 ∨ ϕ2 | ϕ1 S ϕ2 | ϕ1 U ϕ2

p U q q p

ℒ(ϕ) = {w ∈ ΣΣ⊛ | w,0 ⊧ ϕ}

slide-104
SLIDE 104

Linear Temporal Logic [S, U]

ℒ( □*

w {Mr, Ml}) = LTL[S, U] definable languages

slide-105
SLIDE 105

(finite words) p U q

slide-106
SLIDE 106

(finite words)

p U q q

p U q

?

{p} {p} {}

q ≡ {q} or {p, q} u

slide-107
SLIDE 107

(finite words)

p U q q

p U q

?

{p} {p} {}

q ≡ {q} or {p, q}

1 1

u

slide-108
SLIDE 108

(finite words)

p U q q

p U q

?

{}

q ≡ {q} or {p, q} u

slide-109
SLIDE 109

(finite words)

p U q q

p U q

?

{}

q ≡ {q} or {p, q}

[ (

u 1 [ ( Ul

2

( ⋅ ⋆ = ( [ ⋅ ⋆ = [

slide-110
SLIDE 110

(finite words)

p U q q

p U q

?

{p} {p} {}

q ≡ {q} or {p, q}

1 [ ( 1

u

h1(u>0) = [ h1(u>0) = (

  • r

?

1 [ ( Ul

2

( ⋅ ⋆ = ( [ ⋅ ⋆ = [

slide-111
SLIDE 111

(finite words)

p U q q

p U q

?

{p} {p} {}

q ≡ {q} or {p, q}

1 [ ( 1

u σ(u)

h1(u>0) = [ h1(u>0) = (

  • r

?

1 [ ( Ul

2

( ⋅ ⋆ = ( [ ⋅ ⋆ = [

slide-112
SLIDE 112

(countable words) p U q

slide-113
SLIDE 113

(countable words) p U q

1 [ ( Ul

2

h1 : {q}, {p, q} ↦ [ {p} ↦ 1 {} ↦ (

slide-114
SLIDE 114

(countable words)

p U q q

p U q

?

{p, q} {p, q} {}

u 1 [ ( Ul

2 …

h1 : {q}, {p, q} ↦ [ {p} ↦ 1 {} ↦ (

{} {p, q} p U q

?

{p, q} {p, q} … {p, q}

slide-115
SLIDE 115

(countable words)

p U q q

p U q

?

{p, q} {p, q} {}

u

h1(u>0) = ( h1(u>0) = (

1 [ ( Ul

2 …

h1 : {q}, {p, q} ↦ [ {p} ↦ 1 {} ↦ (

{} {p, q} p U q

?

{p, q} {p, q} … {p, q}

slide-116
SLIDE 116

(countable words) p U q

slide-117
SLIDE 117

(countable words) p U q

1 ab (ab)κ Ml a

slide-118
SLIDE 118

(countable words) p U q

1 ab (ab)κ Ml a

a a a 1 … …

slide-119
SLIDE 119

(countable words) p U q

1 ab (ab)κ Ml a

a a a 1 … … a 1 … … a ab or (ab)κ

∙ contains ab or (ab)κ ∙ prefix of a

slide-120
SLIDE 120

(countable words) p U q

1 ab (ab)κ Ml a

a a a 1 … … a 1 … … a ab or (ab)κ

∙ contains ab or (ab)κ ∙ prefix of a a . (ab)κ = ab

slide-121
SLIDE 121

(countable words) p U q

slide-122
SLIDE 122

(countable words)

p U q q

p U q

?

{p, q} {p, q} {}

1 ab (ab)κ Ml

… {} {p, q} p U q

?

{p, q} {p, q} … {p, q}

a

slide-123
SLIDE 123

(countable words)

p U q q

p U q

?

{p, q} {p, q} {}

1 ab (ab)κ Ml

h1 : {p, q} ↦ a {p} ↦ 1 {} ↦ (ab)κ

{} {p, q} p U q

?

{p, q} {p, q} … {p, q}

a {q} ↦ ab

slide-124
SLIDE 124

(countable words)

p U q q

p U q

?

{p, q} {p, q} {} h1(u>0) = a or ab h1(u>0) = (ab)κ

1 ab (ab)κ Ml

h1 : {p, q} ↦ a {p} ↦ 1 {} ↦ (ab)κ

{} {p, q} p U q

?

{p, q} {p, q} … {p, q}

a {q} ↦ ab

slide-125
SLIDE 125

(countable words)

p U q q

p U q

?

{p, q} {p, q} {} h1(u>0) = a or ab h1(u>0) = (ab)κ

1 ab (ab)κ Ml

h1 : {p, q} ↦ a {p} ↦ 1 {} ↦ (ab)κ

{} {p, q} p U q

?

{p, q} {p, q} … {p, q}

a {q} ↦ ab u,0 ⊧ p U q iff h1(u>0) = a or ab

slide-126
SLIDE 126

(countable words) LTL[S, U]

slide-127
SLIDE 127

(countable words) LTL[S, U]

U p ϕ = ϕ1 S ϕ2 S q

slide-128
SLIDE 128

(countable words) LTL[S, U]

U p ϕ = ϕ1 S ϕ2 S q

a h1(u<x) , a , h1(u>x)

u u′ = σ(u) h1 h1

… … … …

h1 : Σ → Ml

slide-129
SLIDE 129

(countable words) LTL[S, U]

U p ϕ = ϕ1 S ϕ2 S q

a h1(u<x) , a , h1(u>x)

u u′ = σ(u) h1 h1

… … … …

h1 : Σ → Ml

… … p U q?

slide-130
SLIDE 130

(countable words) LTL[S, U]

slide-131
SLIDE 131

(countable words) LTL[S, U]

S ϕ = ϕ1 S ϕ2 p′ ϕ′

slide-132
SLIDE 132

(countable words) LTL[S, U]

S ϕ = ϕ1 S ϕ2 p′

… … p′ or ¬p′

ϕ′

slide-133
SLIDE 133

(countable words) LTL[S, U]

S ϕ = ϕ1 S ϕ2 p′

… … p′ or ¬p′

ϕ′ Ml □ N

slide-134
SLIDE 134

Summary

∙ ℒ(□*U1) = FO definable countable languages ∙ ℒ(□*

wU1) = FO2 definable languages

∙ ℒ( □*

w {Mr, Ml}) = LTL[S, U] definable languages

= countable languages of marked star free expressions ∙ Block product operation for ⊛ −Algebra

slide-135
SLIDE 135

Future Work

1) Extend to more expressive logic e . g . FO[cut] ∃X ϕ(X) 2) Get finer characterization of LTL or FO 3) Get equational characterization of LTL[S, U]

slide-136
SLIDE 136

Future Work

1) Extend to more expressive logic e . g . FO[cut] … ∃X ϕ(X) 2) Get finer characterization of LTL or FO 3) Get equational characterization of LTL[S, U]