two-way automata in coq filetwo-way automata in coq christiandoczkalandgertsmolka interactive...

38
Two-Way Automata in Coq Christian Doczkal and Gert Smolka Interactive Theorem Proving, Nancy, France, August 24, 2016 computer science saarland university

Upload: others

Post on 20-Oct-2019

0 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Two-Way Automata in Coq fileTwo-Way Automata in Coq ChristianDoczkalandGertSmolka Interactive Theorem Proving, Nancy, France, August 24, 2016 computer sci ence saarl and univer sity

Two-Way Automata in Coq

Christian Doczkal and Gert Smolka

Interactive Theorem Proving, Nancy, France, August 24, 2016

computer science

saarlanduniversity

Page 2: Two-Way Automata in Coq fileTwo-Way Automata in Coq ChristianDoczkalandGertSmolka Interactive Theorem Proving, Nancy, France, August 24, 2016 computer sci ence saarl and univer sity

computer science

saarlanduniversityMotivation

Myhill-Nerode in Isabelle/HOL based on regular expressions(Wu, Zhang, Urban ’11)Various automata formalizations in dependent type theory:

I Myhill-Nerode based on automata in Nuprl (Constable ’00)I Coq tactic for deciding RE equivalence (Coquand Siles ’11)I Coq tactic for deciding Kleene algebras (Braibant Pous ’12)

Student Project: Elegant formalization of automata/Myhill-Nerodebased on Ssreflect’s finite types.Equivalence of DFAs, NFAs, and REs and constructive variant ofMyhill-Nerode in Coq (Doczkal Kaiser Smolka ’13)Today: Reduction from Two-Way automata to DFAs based onconstructive Myhill-Nerode theorem formalized constructively in Coq.

Christian Doczkal & Gert Smolka Two-Way Automata in Coq ITP 2016 2 / 22

Page 3: Two-Way Automata in Coq fileTwo-Way Automata in Coq ChristianDoczkalandGertSmolka Interactive Theorem Proving, Nancy, France, August 24, 2016 computer sci ence saarl and univer sity

computer science

saarlanduniversityTwo-Way Automata

Another representation of regular languagesEssentially: “Read-only Turing machines without memory”Introduced together with one-way automata (Rabin Scott ’59)Reductions to DFAs in (Rabin Scott ’59) and (Shepherdson ’59)Reduction from 2NFAs to NFAs for complement language (Vardi ’89)Recent Survey Paper by (Pighizzini ’13):“Two-Way Auotmata: Old and Recent Results”

Christian Doczkal & Gert Smolka Two-Way Automata in Coq ITP 2016 3 / 22

Page 4: Two-Way Automata in Coq fileTwo-Way Automata in Coq ChristianDoczkalandGertSmolka Interactive Theorem Proving, Nancy, France, August 24, 2016 computer sci ence saarl and univer sity

computer science

saarlanduniversityTwo-Way Automata

2NFA M = (Q, s,F , δ) whereQ is a finite type of statess : Q is the starting stateF : 2Q is the set of final statesδ : Q → Σ ] {B,C} → 2Q×{L,R} is the transition function.

B b b a a a b C

s

δ

Christian Doczkal & Gert Smolka Two-Way Automata in Coq ITP 2016 4 / 22

Page 5: Two-Way Automata in Coq fileTwo-Way Automata in Coq ChristianDoczkalandGertSmolka Interactive Theorem Proving, Nancy, France, August 24, 2016 computer sci ence saarl and univer sity

computer science

saarlanduniversityTwo-Way Automata

2NFA M = (Q, s,F , δ) whereQ is a finite type of statess : Q is the starting stateF : 2Q is the set of final statesδ : Q → Σ ] {B,C} → 2Q×{L,R} is the transition function.

B b b a a a b C

p

δ

Christian Doczkal & Gert Smolka Two-Way Automata in Coq ITP 2016 4 / 22

Page 6: Two-Way Automata in Coq fileTwo-Way Automata in Coq ChristianDoczkalandGertSmolka Interactive Theorem Proving, Nancy, France, August 24, 2016 computer sci ence saarl and univer sity

computer science

saarlanduniversityTwo-Way Automata

2NFA M = (Q, s,F , δ) whereQ is a finite type of statess : Q is the starting stateF : 2Q is the set of final statesδ : Q → Σ ] {B,C} → 2Q×{L,R} is the transition function.

B b b a a a b C

q

δ

Christian Doczkal & Gert Smolka Two-Way Automata in Coq ITP 2016 4 / 22

Page 7: Two-Way Automata in Coq fileTwo-Way Automata in Coq ChristianDoczkalandGertSmolka Interactive Theorem Proving, Nancy, France, August 24, 2016 computer sci ence saarl and univer sity

computer science

saarlanduniversityLanguage of a Two-Way Automaton

Configurations on word x : Cx := Q × {0, . . . , |x |+ 1}.Step relation on x : (p, i) −→x (q, j) : Cx → Cx → B.

L(M) := { x ∈ Σ∗ | ∃q ∈ F . (s, 1) −→x∗ (q, |x |+ 1) }

B b b a a a b C

q

δ

1 Language membership is (obviously) decidable2 Main Result: 2DFAs and 2NFAs accept exactly the regular languages

(M is a deterministic (a 2DFA) if −→x is functional for all x .)

Christian Doczkal & Gert Smolka Two-Way Automata in Coq ITP 2016 5 / 22

Page 8: Two-Way Automata in Coq fileTwo-Way Automata in Coq ChristianDoczkalandGertSmolka Interactive Theorem Proving, Nancy, France, August 24, 2016 computer sci ence saarl and univer sity

computer science

saarlanduniversityTwo-Way vs. One-Way

In := (a + b)∗a(a + b)n−1

automata model size of minimal automatonDFA O(2n)NFA O(n)2DFA O(n)

Cost (in the number of states) of simulating 2DFAs with DFAsis at least exponential.Conjecture (Sakoda & Sipser ’78): The cost of simulating NFAs using2DFAs is exponential.

Christian Doczkal & Gert Smolka Two-Way Automata in Coq ITP 2016 6 / 22

Page 9: Two-Way Automata in Coq fileTwo-Way Automata in Coq ChristianDoczkalandGertSmolka Interactive Theorem Proving, Nancy, France, August 24, 2016 computer sci ence saarl and univer sity

computer science

saarlanduniversityMain Results

1 Vardi ’89:n-state 2NFA for L NFA for L with at most 22n states

2 Shepherdson ’59:n-state 2DFA for L DFA for L with at most (n + 1)(n+1) states

3 Shepherdson ’59 ∪ folklore ∪ Vardi ’89:n-state 2NFA for L DFA for L with at most 2n

2+n states

Christian Doczkal & Gert Smolka Two-Way Automata in Coq ITP 2016 7 / 22

Page 10: Two-Way Automata in Coq fileTwo-Way Automata in Coq ChristianDoczkalandGertSmolka Interactive Theorem Proving, Nancy, France, August 24, 2016 computer sci ence saarl and univer sity

computer science

saarlanduniversityMain Results

1 Vardi ’89:n-state 2NFA for L NFA for L with at most 22n states

2 Shepherdson ’59:n-state 2DFA for L DFA for L with at most (n + 1)(n+1) states

3 Shepherdson ’59 ∪ folklore ∪ Vardi ’89:n-state 2NFA for L DFA for L with at most 2n

2+n states

Christian Doczkal & Gert Smolka Two-Way Automata in Coq ITP 2016 7 / 22

Page 11: Two-Way Automata in Coq fileTwo-Way Automata in Coq ChristianDoczkalandGertSmolka Interactive Theorem Proving, Nancy, France, August 24, 2016 computer sci ence saarl and univer sity

computer science

saarlanduniversityVardi Construction

Input: 2NFA M = (Q, s,F , δ)Output: NFA accepting L(M)

B b b a a a b C (extended) word in L(M)

C0 C1 C2 C3 C4 C5 C6 C7 negative certificate

Definition (Negative Certificate for x)

1 s ∈ C1

2 If p ∈ Ci and (p, i) −→x (q, j), then q ∈ Cj

3 F ∩ C|x |+1 = ∅.

Construct NFA N that accepts words that have negative certificates

Christian Doczkal & Gert Smolka Two-Way Automata in Coq ITP 2016 8 / 22

Page 12: Two-Way Automata in Coq fileTwo-Way Automata in Coq ChristianDoczkalandGertSmolka Interactive Theorem Proving, Nancy, France, August 24, 2016 computer sci ence saarl and univer sity

computer science

saarlanduniversityVardi Construction

C0 C1

C1 C2

C2 C3

C3 C4

b

b

a

C D

D ′ Ea

1 D = D ′

2 If p ∈ D and (q, L) ∈ δ p a, then q ∈ C

3 If p ∈ D and (q,R) ∈ δ p a, then q ∈ E

N := (Q ′,S ′,F ′, δ′) where

Q ′ := 2Q × 2Q

S ′ := { (C0,C1) | s ∈ C1,∀pq. p ∈ C0 ∧ (q,R) ∈ δ pB→ q ∈ C1 }F ′ := { (C ,D) | F ∩ D = ∅,∀pq. p ∈ D ∧ (q, L) ∈ δ pC→ q ∈ C }

Christian Doczkal & Gert Smolka Two-Way Automata in Coq ITP 2016 9 / 22

Page 13: Two-Way Automata in Coq fileTwo-Way Automata in Coq ChristianDoczkalandGertSmolka Interactive Theorem Proving, Nancy, France, August 24, 2016 computer sci ence saarl and univer sity

computer science

saarlanduniversityVardi Construction

Input: 2NFA M = (Q, s,F , δ)Output: NFA accepting L(M)

B b b a a a b C (extended) word in L(M)

C0 C1 C2 C3 C4 C5 C6 C7 negative certificate

Definition (Negative Certificate for x)

1 s ∈ C1

2 If p ∈ Ci and (p, i) −→x (q, j), then q ∈ Cj

3 F ∩ C|x |+1 = ∅.

Construct NFA N that accepts words that have negative certificates

Christian Doczkal & Gert Smolka Two-Way Automata in Coq ITP 2016 10 / 22

Page 14: Two-Way Automata in Coq fileTwo-Way Automata in Coq ChristianDoczkalandGertSmolka Interactive Theorem Proving, Nancy, France, August 24, 2016 computer sci ence saarl and univer sity

computer science

saarlanduniversityVardi Construction

C0 C1

C1 C2

C2 C3

C3 C4

b

b

a

C D

D ′ Ea

1 D = D ′

2 If p ∈ D and (q, L) ∈ δ p a, then q ∈ C

3 If p ∈ D and (q,R) ∈ δ p a, then q ∈ E

N := (Q ′,S ′,F ′, δ′) where

Q ′ := 2Q × 2Q

S ′ := { (C0,C1) | s ∈ C1,∀pq. p ∈ C0 ∧ (q,R) ∈ δ pB→ q ∈ C1 }F ′ := { (C ,D) | F ∩ D = ∅, ∀pq. p ∈ D ∧ (q, L) ∈ δ pC→ q ∈ C }

Christian Doczkal & Gert Smolka Two-Way Automata in Coq ITP 2016 11 / 22

Page 15: Two-Way Automata in Coq fileTwo-Way Automata in Coq ChristianDoczkalandGertSmolka Interactive Theorem Proving, Nancy, France, August 24, 2016 computer sci ence saarl and univer sity

computer science

saarlanduniversityThe Need for Runs

Lemmax ∈ L(N) iff there exists a negative certificate for x .

Usually: generalize to arbitrary states of N and use induction on x

direct inductive proof would require a nontrivial generalization

B x C

C0 C Cn

B a x C

? ? ? ?

Formalized proof employs an explicit notion of run (≈ 1/3 of proof)Straightforward but tedious calculation

Christian Doczkal & Gert Smolka Two-Way Automata in Coq ITP 2016 12 / 22

Page 16: Two-Way Automata in Coq fileTwo-Way Automata in Coq ChristianDoczkalandGertSmolka Interactive Theorem Proving, Nancy, France, August 24, 2016 computer sci ence saarl and univer sity

computer science

saarlanduniversityVardi Result

TheoremFor every n-state 2NFA M one can construct an NFA accepting L(M)that has at most 22n states.

(recall: Q ′ := 2Q × 2Q and |2Q | = 2|Q| due to extensional representation)

Corollary

For every n-state 2NFA M there exists a DFA accepting L(M)that has at most 222n

states.

Christian Doczkal & Gert Smolka Two-Way Automata in Coq ITP 2016 13 / 22

Page 17: Two-Way Automata in Coq fileTwo-Way Automata in Coq ChristianDoczkalandGertSmolka Interactive Theorem Proving, Nancy, France, August 24, 2016 computer sci ence saarl and univer sity

computer science

saarlanduniversityShepherdson Construction

Input: 2NFA M = (Q, s,F , δ)Output: DFA accepting L(M) having at most 2|Q|

2+|Q| states.

How to collect all the information M can gatherabout its input in a single sweep?

Christian Doczkal & Gert Smolka Two-Way Automata in Coq ITP 2016 14 / 22

Page 18: Two-Way Automata in Coq fileTwo-Way Automata in Coq ChristianDoczkalandGertSmolka Interactive Theorem Proving, Nancy, France, August 24, 2016 computer sci ence saarl and univer sity

computer science

saarlanduniversityTables

B x z C

p

q

q′

B y z C

p

q

q′

T : Σ∗ → 2Q × 2Q×Q

possible stateswhen first entering z

enter/return relationwhen crossing from right

finite type

“T x abstracts away the first part of the composite word xy .”

If T x = T y , then xz ∈ L(M) iff yz ∈ L(M)

Christian Doczkal & Gert Smolka Two-Way Automata in Coq ITP 2016 15 / 22

Page 19: Two-Way Automata in Coq fileTwo-Way Automata in Coq ChristianDoczkalandGertSmolka Interactive Theorem Proving, Nancy, France, August 24, 2016 computer sci ence saarl and univer sity

computer science

saarlanduniversityTables

B x z C

p

q

q′

B y z C

p

q

q′

T : Σ∗ → 2Q × 2Q×Q

possible stateswhen first entering z

enter/return relationwhen crossing from right

finite type

“T x abstracts away the first part of the composite word xy .”

If T x = T y , then xz ∈ L(M) iff yz ∈ L(M)

Christian Doczkal & Gert Smolka Two-Way Automata in Coq ITP 2016 15 / 22

Page 20: Two-Way Automata in Coq fileTwo-Way Automata in Coq ChristianDoczkalandGertSmolka Interactive Theorem Proving, Nancy, France, August 24, 2016 computer sci ence saarl and univer sity

computer science

saarlanduniversityOne-Way Sweep

T : Σ∗ → 2Q × 2Q×Q

B a b b a a b a C

T ε

T abbaaba

Q ′ := 2Q × 2Q×Q

s ′ := Tε

δ′ (Tx) a := T (xa)

surjectivity? right congruence?

F ′ := {Tx | x ∈ L(M) }

Christian Doczkal & Gert Smolka Two-Way Automata in Coq ITP 2016 16 / 22

Page 21: Two-Way Automata in Coq fileTwo-Way Automata in Coq ChristianDoczkalandGertSmolka Interactive Theorem Proving, Nancy, France, August 24, 2016 computer sci ence saarl and univer sity

computer science

saarlanduniversityOne-Way Sweep

T : Σ∗ → 2Q × 2Q×Q

B a b b a a b a C

T a

T abbaaba

Q ′ := 2Q × 2Q×Q

s ′ := Tε

δ′ (Tx) a := T (xa)

surjectivity? right congruence?

F ′ := {Tx | x ∈ L(M) }

Christian Doczkal & Gert Smolka Two-Way Automata in Coq ITP 2016 16 / 22

Page 22: Two-Way Automata in Coq fileTwo-Way Automata in Coq ChristianDoczkalandGertSmolka Interactive Theorem Proving, Nancy, France, August 24, 2016 computer sci ence saarl and univer sity

computer science

saarlanduniversityOne-Way Sweep

T : Σ∗ → 2Q × 2Q×Q

B a b b a a b a C

T ab

T abbaaba

Q ′ := 2Q × 2Q×Q

s ′ := Tε

δ′ (Tx) a := T (xa)

surjectivity? right congruence?

F ′ := {Tx | x ∈ L(M) }

Christian Doczkal & Gert Smolka Two-Way Automata in Coq ITP 2016 16 / 22

Page 23: Two-Way Automata in Coq fileTwo-Way Automata in Coq ChristianDoczkalandGertSmolka Interactive Theorem Proving, Nancy, France, August 24, 2016 computer sci ence saarl and univer sity

computer science

saarlanduniversityOne-Way Sweep

T : Σ∗ → 2Q × 2Q×Q

B a b b a a b a C

T abbaaba

Q ′ := 2Q × 2Q×Q

s ′ := Tε

δ′ (Tx) a := T (xa)

surjectivity? right congruence?

F ′ := {Tx | x ∈ L(M) }

Christian Doczkal & Gert Smolka Two-Way Automata in Coq ITP 2016 16 / 22

Page 24: Two-Way Automata in Coq fileTwo-Way Automata in Coq ChristianDoczkalandGertSmolka Interactive Theorem Proving, Nancy, France, August 24, 2016 computer sci ence saarl and univer sity

computer science

saarlanduniversityOne-Way Sweep

T : Σ∗ → 2Q × 2Q×Q

B a b b a a b a C

T abbaaba

Q ′ := 2Q × 2Q×Q

s ′ := Tε

δ′ (Tx) a := T (xa) surjectivity? right congruence?F ′ := {Tx | x ∈ L(M) }

Christian Doczkal & Gert Smolka Two-Way Automata in Coq ITP 2016 16 / 22

Page 25: Two-Way Automata in Coq fileTwo-Way Automata in Coq ChristianDoczkalandGertSmolka Interactive Theorem Proving, Nancy, France, August 24, 2016 computer sci ence saarl and univer sity

computer science

saarlanduniversityReduction to Myhill-Nerode

Theorem (Myhill-Nerode)

Let L be a decidable language, X a finite type, and T : Σ∗ → X such that1 T x = T y → T (xa) = T (ya) (T right congruent)2 T x = T y → (x ∈ L↔ y ∈ L) (T refines L)

Then one can construct a DFA accepting L that has at most |X | states.

Proof: construct DFA A = (Q ′, s ′,F ′, δ′) where

Q ′ := X

s ′ := Tε

δ′ (Tx) a := T (xa)

F ′ := {Tx | x ∈ L }

where T : Q ′ → Σ∗ satisfies T (Tq) = q

Christian Doczkal & Gert Smolka Two-Way Automata in Coq ITP 2016 17 / 22

Page 26: Two-Way Automata in Coq fileTwo-Way Automata in Coq ChristianDoczkalandGertSmolka Interactive Theorem Proving, Nancy, France, August 24, 2016 computer sci ence saarl and univer sity

computer science

saarlanduniversityReduction to Myhill-Nerode

Theorem (Myhill-Nerode)

Let L be a decidable language, X a finite type, and T : Σ∗ → X such that1 T x = T y → T (xa) = T (ya) (T right congruent)2 T x = T y → (x ∈ L↔ y ∈ L) (T refines L)

Then one can construct a DFA accepting L that has at most |X | states.

Proof: construct DFA A = (Q ′, s ′,F ′, δ′) where

Q ′ := T (Σ∗)

s ′ := Tε

δ′ (Tx) a := T (xa)

F ′ := {Tx | x ∈ L }

where T : Q ′ → Σ∗ satisfies T (Tq) = q

Christian Doczkal & Gert Smolka Two-Way Automata in Coq ITP 2016 17 / 22

Page 27: Two-Way Automata in Coq fileTwo-Way Automata in Coq ChristianDoczkalandGertSmolka Interactive Theorem Proving, Nancy, France, August 24, 2016 computer sci ence saarl and univer sity

computer science

saarlanduniversityReduction to Myhill-Nerode

Theorem (Myhill-Nerode)

Let L be a decidable language, X a finite type, and T : Σ∗ → X such that1 T x = T y → T (xa) = T (ya) (T right congruent)2 T x = T y → (x ∈ L↔ y ∈ L) (T refines L)

Then one can construct a DFA accepting L that has at most |X | states.

Proof: construct DFA A = (Q ′, s ′,F ′, δ′) where

Q ′ := T (Σ∗)

s ′ := Tε

δ′ q a := T ((Tq)a))

F ′ := {Tx | x ∈ L }

where T : Q ′ → Σ∗ satisfies T (Tq) = q

Christian Doczkal & Gert Smolka Two-Way Automata in Coq ITP 2016 17 / 22

Page 28: Two-Way Automata in Coq fileTwo-Way Automata in Coq ChristianDoczkalandGertSmolka Interactive Theorem Proving, Nancy, France, August 24, 2016 computer sci ence saarl and univer sity

computer science

saarlanduniversityReduction to Myhill-Nerode

Theorem (Myhill-Nerode)

Let L be a decidable language, X a finite type, and T : Σ∗ → X such that1 T x = T y → T (xa) = T (ya) (T right congruent)2 T x = T y → (x ∈ L↔ y ∈ L) (T refines L)

Then one can construct a DFA accepting L that has at most |X | states.

Proof: construct DFA A = (Q ′, s ′,F ′, δ′) where

Q ′ := T (Σ∗)

s ′ := Tε

δ′ q a := T ((Tq)a))

F ′ := { q | T q ∈ L }

where T : Q ′ → Σ∗ satisfies T (Tq) = q

Christian Doczkal & Gert Smolka Two-Way Automata in Coq ITP 2016 17 / 22

Page 29: Two-Way Automata in Coq fileTwo-Way Automata in Coq ChristianDoczkalandGertSmolka Interactive Theorem Proving, Nancy, France, August 24, 2016 computer sci ence saarl and univer sity

computer science

saarlanduniversitySize Bounds

T : Σ∗ → 2Q × 2Q×Q

LemmaT is right congruent and refines L(M).

Theorem (Vardi ’89)

For every n-state 2NFA M one can construct a DFA accepting L(M)that has at most 2n

2+n states.

If M is deterministic: T T ′ : Σ∗ → (Q + 1)× (Q ⇒fin Q + 1)

Theorem (Shepherdson ’59)

For every n-state 2DFA M one can construct a DFA accepting L(M)that has at most (n + 1)(n+1) states.

Christian Doczkal & Gert Smolka Two-Way Automata in Coq ITP 2016 18 / 22

Page 30: Two-Way Automata in Coq fileTwo-Way Automata in Coq ChristianDoczkalandGertSmolka Interactive Theorem Proving, Nancy, France, August 24, 2016 computer sci ence saarl and univer sity

computer science

saarlanduniversityA Glimpse of Technicalities

(p, i)k−→x (q, j) := (p, i) −→x (q, j) ∧ i 6= k

Tx := ({ q | (s, 1)|x |+1−−−→x

∗ (q, |x |+ 1) }, . . .)

LemmaIf Tx = Ty then every run on xz that starts end ends on z has acorresponding run on yz .

LemmaT is right congruent and refines L(M).

Christian Doczkal & Gert Smolka Two-Way Automata in Coq ITP 2016 19 / 22

Page 31: Two-Way Automata in Coq fileTwo-Way Automata in Coq ChristianDoczkalandGertSmolka Interactive Theorem Proving, Nancy, France, August 24, 2016 computer sci ence saarl and univer sity

computer science

saarlanduniversityA Glimpse of Technicalities

(p, i)k−→x (q, j) := (p, i) −→x (q, j) ∧ i 6= k

Tx := ({ q | (s, 1)|x |+1−−−→x

∗ (q, |x |+ 1) }, . . .)

LemmaIf Tx = Ty , i ≤ |z |+ 1, 1 ≤ j ≤ |z |+ 1, and 1 ≤ k , then

(p, |x |+ i)|x |+k−−−→xz

∗ (q, |x |+ j) iff (p, |y |+ i)|y |+k−−−→xz

∗ (q, |y |+ j).

LemmaT is right congruent and refines L(M).

Christian Doczkal & Gert Smolka Two-Way Automata in Coq ITP 2016 19 / 22

Page 32: Two-Way Automata in Coq fileTwo-Way Automata in Coq ChristianDoczkalandGertSmolka Interactive Theorem Proving, Nancy, France, August 24, 2016 computer sci ence saarl and univer sity

computer science

saarlanduniversityA Glimpse of Technicalities

(p, i)k−→x (q, j) := (p, i) −→x (q, j) ∧ i 6= k

Tx := ({ q | (s, 1)|x |+1−−−→x

∗ (q, |x |+ 1) }, . . .)

LemmaIf Tx = Ty , i ≤ |z |+ 1, 1 ≤ j ≤ |z |+ 1, and 1 ≤ k , then

(p, |x |+ i)|x |+k−−−→xz

∗ (q, |x |+ j) iff (p, |y |+ i)|y |+k−−−→xz

∗ (q, |y |+ j).

LemmaT is right congruent and refines L(M).

Christian Doczkal & Gert Smolka Two-Way Automata in Coq ITP 2016 19 / 22

Page 33: Two-Way Automata in Coq fileTwo-Way Automata in Coq ChristianDoczkalandGertSmolka Interactive Theorem Proving, Nancy, France, August 24, 2016 computer sci ence saarl and univer sity

computer science

saarlanduniversityTaming Dependent Types

Cx := Q × { i : N | i < |x |+ 2 }_ −→_ _ : ∀x .Cx → Cx → B

(p, i) −→x (q, i + 1)

(p, 〈i ,H1〉) −→x (q, 〈i + 1,H2〉) H1 : i < |x |+ 2,H2 : i + 1 < |x |+ 2

(p, inord i) −→x (q, inord (i + 1)) inord : N→ { i : N | i < |x |+ 2 }

Maintains the separation between stating properties and proving the bounds

Christian Doczkal & Gert Smolka Two-Way Automata in Coq ITP 2016 20 / 22

Page 34: Two-Way Automata in Coq fileTwo-Way Automata in Coq ChristianDoczkalandGertSmolka Interactive Theorem Proving, Nancy, France, August 24, 2016 computer sci ence saarl and univer sity

computer science

saarlanduniversityTaming Dependent Types

Cx := Q × { i : N | i < |x |+ 2 }_ −→_ _ : ∀x .Cx → Cx → B

(p, i) −→x (q, i + 1)

(p, 〈i ,H1〉) −→x (q, 〈i + 1,H2〉) H1 : i < |x |+ 2,H2 : i + 1 < |x |+ 2

(p, inord i) −→x (q, inord (i + 1)) inord : N→ { i : N | i < |x |+ 2 }

Maintains the separation between stating properties and proving the bounds

Christian Doczkal & Gert Smolka Two-Way Automata in Coq ITP 2016 20 / 22

Page 35: Two-Way Automata in Coq fileTwo-Way Automata in Coq ChristianDoczkalandGertSmolka Interactive Theorem Proving, Nancy, France, August 24, 2016 computer sci ence saarl and univer sity

computer science

saarlanduniversityFormalization

Formalization:

Part LoC2FAs and simulation of DFAs 160Vardi construction (incl. runs) 150Shepherdson construction (2NFAs and 2DFAs) 290Total 600

Prerequisites:Coq dependent types, types as first class objects

Ssreflect discrete types, finite types, finite sets, quotients, . . .Theory DFAs, NFAs, (Myhill-Nerode) (Doczkal Kaiser Smolka ’13)

Christian Doczkal & Gert Smolka Two-Way Automata in Coq ITP 2016 21 / 22

Page 36: Two-Way Automata in Coq fileTwo-Way Automata in Coq ChristianDoczkalandGertSmolka Interactive Theorem Proving, Nancy, France, August 24, 2016 computer sci ence saarl and univer sity

computer science

saarlanduniversityFormalization

Formalization:

Part LoC1FAs and Myhill-Nerode 6002FAs and simulation of DFAs 160Vardi construction (incl. runs) 150Shepherdson construction (2NFAs and 2DFAs) 290Total 1200

Prerequisites:Coq dependent types, types as first class objects

Ssreflect discrete types, finite types, finite sets, quotients, . . .Theory DFAs, NFAs, (Myhill-Nerode) (Doczkal Kaiser Smolka ’13)

Christian Doczkal & Gert Smolka Two-Way Automata in Coq ITP 2016 21 / 22

Page 37: Two-Way Automata in Coq fileTwo-Way Automata in Coq ChristianDoczkalandGertSmolka Interactive Theorem Proving, Nancy, France, August 24, 2016 computer sci ence saarl and univer sity

computer science

saarlanduniversityConclusion & Future Work

Conclusion:Translations from 2FAs to 1FAs defined and verified constructivelyTranslation employs constructive variant of Myhill-NerodeCorrectness proofs are relatively short but technical

https://www.ps.uni-saarland.de/extras/itp16-2FA

Future Work:Translation from 2NFAs to NFAs (Kapoutsis ’05)other automata models: infinite words, infinite trees, alternating, . . .

Thank You! Questions?

Christian Doczkal & Gert Smolka Two-Way Automata in Coq ITP 2016 22 / 22

Page 38: Two-Way Automata in Coq fileTwo-Way Automata in Coq ChristianDoczkalandGertSmolka Interactive Theorem Proving, Nancy, France, August 24, 2016 computer sci ence saarl and univer sity

computer science

saarlanduniversityConclusion & Future Work

Conclusion:Translations from 2FAs to 1FAs defined and verified constructivelyTranslation employs constructive variant of Myhill-NerodeCorrectness proofs are relatively short but technical

https://www.ps.uni-saarland.de/extras/itp16-2FA

Future Work:Translation from 2NFAs to NFAs (Kapoutsis ’05)other automata models: infinite words, infinite trees, alternating, . . .

Thank You! Questions?

Christian Doczkal & Gert Smolka Two-Way Automata in Coq ITP 2016 22 / 22