Determinism,Electricity, and Intuitionism Gérard Berry Collège de France Algorithms, Machines,...

Post on 29-Dec-2015

213 views 0 download

transcript

Determinism,Electricity,and Intuitionism

Gérard Berryhttp://www-sop.inria.fr/members/Gerard.Berry/

Collège

de France

Algorithms,

Machines, and

Languages

Chair

Martin-Honoris Abadi-

Causa, June 26t

h, 2015

G. Berry, Colloque Abadi

Recognizing Automata

25/06/2015

e1

e2

e3

e0

a

b

b

ab

s0

s1

s2

s3

a

b

b

a

b

Deterministic Non-deterministic

(w.r.t. s0 and b)

2

G. Berry, Colloque Abadi 25/06/2015

Derivatives of Regular Languages

b-1(L)

a-1(L) ba, abba, bba, abbabba, bbbbababbbbba,...

ba, abba, bba, abbabba, bbbbababbbbba,...

ba, abba, bba, abbabba, bbbbababbbbba,...L

u-1(L) { v | u v L } ua-1(L) a-1(u-1(L))what remains to be written after writing u

3

G. Berry, Colloque Abadi 25/06/2015

Derivatives of Regular Expressions

• a-1(0) 0• a-1(1) 0• a-1(b) 0 if b a• a-1(a) 1• a-1(e e’) a-1(e) a-1(e’)

• a-1(e · e’) a-1(e) · e’ (e) · a-1(e’)

• a-1(e* ) a-1(e) · e*

a-1(e) regular expression generating a-1(L(e))

4

• e e0 (ab b)* ba

• a-1(e0) b (ab b)* ba e1

• b-1(e0) (ab b)* ba a e2

25/06/2015

Convergent Iterative Process

• a-1(e1) 0

• b-1(e1) (ab b)* ba e0

• a-1(e2) b (ab b)* ba 1 e3

• b-1(e2) (ab b)* ba a e2

• a-1(e3) 0

• b-1(e3) (ab b)* ba e0

G. Berry, Colloque Abadi 5

6

• a-1(e0) e1

• b-1(e0) e2

25/06/2015

Constructing the Deterministic Automaton

• a-1(e1) 0

• b-1(e1) e0

• a-1(e2) e3

• b-1(e2) e2

• a-1(e3) 0

• b-1(e3) e0

• (e3) 1

e1

e2

e3

e0

a

b

b

ab

b

deterministic automaton(Brzozoswki)

G. Berry, Colloque Abadi

G. Berry, Colloque Abadi

• an expression is linear if it contains each letter at most once

• linearize expressions by uniquely indexing letters

25/06/2015

Linear Expression

s0 (a0b1 b2)* b3a4

a0-1(s0) b1(a0b1 b2)* b3a4 s1

b2-1(s0) (a0b1 b2)* b3a4 s0

b3-1(s0) a4 s2

b1-1(s1) s0

a4-1(s0) s3

s1

s2

s3

s0

a0

b1

b3

a4

b2

7

G. Berry, Colloque Abadi 25/06/2015

Non-Deterministic Automaton

s0

s1

s2

s3

a0

b1

b3

a4

b2

s0

s1

s2

s3

a

b

b

a

berase

indices

Non-deterministic automatonrecognizing L(e0)

8

G. Berry, Colloque Abadi 25/06/2015

Implementation by Boolean Circuits

a

a

1

ok

9

G. Berry, Colloque Abadi

The Deterministic Case : 1-hot encoding

25/06/2015

(ab+b)*ba

e1

e2

e3

e0

a

b

b

ab

b

r0 r2

r1

r3

a

b

bb

a

b

ok

1-hot encoding(only one ri to 1)

size explosion!fanout explosion !

10

G. Berry, Colloque Abadi

The Non-Deterministic Case

25/06/2015

s0

s1

s2

s3

a

b

b

a

b

(ab+b)*ba no size explosionÞ much better!

bb

b

aa

ok

11

G. Berry, Colloque Abadi

On-The-Fly Subset Construction

25/06/2015

s0

s1

s2

s3

a

b

b

a

b

(ab+b)*ba

bb

b

aa

ok

a

12

G. Berry, Colloque Abadi

On-The-Fly Subset Construction

25/06/2015

s0

s1

s2

s3

a

b

b

a

b

(ab+b)*ba

bb

b

aa

ok

a

tick!

13

G. Berry, Colloque Abadi

On-The-Fly Subset Construction

25/06/2015

s0

s1

s2

s3

a

b

b

a

b

(ab+b)*ba

bb

b

aa

ok

ab

14

G. Berry, Colloque Abadi

On-The-Fly Subset Construction

25/06/2015

s0

s1

s2

s3

a

b

b

a

b

(ab+b)*ba

bb

b

aa

ok

ab

tick!

15

G. Berry, Colloque Abadi

On-The-Fly Subset Construction

25/06/2015

s0

s1

s2

s3

a

b

b

a

b

(ab+b)*ba

abbbb

b

aa

ok

16

G. Berry, Colloque Abadi

On-The-Fly Subset Construction

25/06/2015

s0

s1

s2

s3

a

b

b

a

b

(ab+b)*ba

abbbb

b

aa

ok

tick!

17

G. Berry, Colloque Abadi

On-The-Fly Subset Construction

25/06/2015

s0

s1

s2

s3

a

b

b

a

b

(ab+b)*ba

abbabb

b

aa

ok

18

G. Berry, Colloque Abadi

On-The-Fly Subset Construction

25/06/2015

s0

s1

s2

s3

a

b

b

a

b

(ab+b)*ba

abbabb

b

aa

ok

tick!

19

G. Berry, Colloque Abadi

Fundamental Practical Result

25/06/2015

Any regular expression of size n is recognized

by a circuit with n+1 registers and at most n2 gates

• Scales up in size, is always superfast

• Almost always better than determinization

• The circuit can be cleverly optimized and formally verified (using BDDs or SAT)

20

G. Berry, Colloque Abadi

When coding the DFA in HW, why one register per state? Number states in binary log(n) regs !

25/06/2015

Alternative: Dense Encoding ?

Not Quite ! State transition logic can be

exponential in the number of registers.

Furthermore, n! numberings to try,

and no heuristics for that!

Expensive commercial systems cannot

handle really useful DFAs with 12 states

21

G. Berry, Colloque Abadi

Saving One More Exponential : ABRO

25/06/2015

Emit O as soon as A and B have arrivedReset behavior each time R is received

Memory writeR : RequestA : AddressB : DataO : Write

A / B /

A / OB / O

A B / O

R /

R /

R /

R /

G. Berry, Colloque Abadi

SyncCharts (C. André)

A / B /

R /

/ O

Hierarchical synchronousconcurrent automata

(Synchronous Statecharts)

loop abort { await A || await B }; emit O ; halt when Rend loop

G. Berry, Colloque Abadi 25/06/2015

ABCRO : from exponential to linear

flat automaton Hierarchical automatonlinear

24

G. Berry, Colloque Abadi 25/06/2015

The Hierarchical ABRO Circuit

loop abort { await A || await B }; emit O ; halt when Rend loop

25

G. Berry, Colloque Abadi

• Should we still beleive in DFAs?

• NFAs are deterministic if use in the proper way ! … and they save an exponential

• Synchronous languages a la Esterel / SyncCharts save at least another exponential (see D. Harel) !

• They can be efficiently implemented in HW and SW always better than human designs !

• Analysis and verification can be performed by symbolic techniques (BDDs, SAT, SMT)

…which might be exponential but do work quite well in practice

25/06/2015

Conclusion 1

26

23/04/2014 27G. Berry, IHP

Resource Sharing Combinational Cycles

O if C then F(G(I)) else G(F(I))

F

G

C

C

I O

C10

10

10

Sharad Malik, Analysis of Cyclic Combinational CircuitsIEEE Transactions on Computer-Aided Design of Integrated

Circuits and Systems, vol. 13, no. 7, July 1994

23/04/2014 28G. Berry, IHP

Resource Sharing Combinational Cycles

O if C then F(G(I)) else G(F(I))

cycle F

G

C

C

I O

C10

10

10

23/04/2014 29G. Berry, IHP

Resource Sharing Combinational Cycles

F

G

1

O

110

10

10

1

I

C 1 O if C then F(G(I)) else G(F(I))

23/04/2014 30G. Berry, IHP

Resource Sharing Combinational Cycles

F

G

0

I O

010

10

10

0

The cycle is logically soundand electrically sound !

C 0 O if C then F(G(I)) else G(F(I))

• 16-bytes circular buffer, bytes coming in randomly

• Instruction length depending on the first byte and a variable number of other bytes in the instruction text

• Instruction length potentially arbitrary

• Naturally cyclic design, hard to make acyclic23/04/2014 31G. Berry, IHP

ILD Instruction Length Decoder

1

2

3

5

4

6

• Bad : no electrical stabilization, no unique logical solution X X X X

23/04/2014 32G. Berry, IHP

The Three Kinds of Cyclic Circuits

• Good : electrical stabilization, logical consistency previous examples

ToBe

• Weird : unique logical solution, but electrical stabilization depending on wire and gate delays ToBe ToBe ToBe

no electrical stabilization when starting from ToBe 0 with D2 and E5

DE

• Logical gates : zero-delay, grouping possible– polynomial notation : y1 x, s2 s1xs2 s1xs2

• Explicit delay nodes

• At least one delay per cycle

23/04/2014 33G. Berry, IHP

Circuits With Delays

d2

d1

23/04/2014 34G. Berry, IHP

UN-Delay and Stability d

d

d

d

UN-delay : dℝ+

h

h’

t td

ht,ub and td u h’td,ub

• A history h is stable at b after a delay d if hd,∞ b• Otherwise, h is called unstable or oscillating

• Goal : to represent the not gate– x stable to 1 : ht,u ⊨ x– logical opposite : ht,u ⊨ x– but the logical opposite is satisfied by any unstable

signal– we want x stable to 0, i.e. x x, which is different!

23/04/2014 35G. Berry, IHP

Intuitionistic Negation

ht,u ⊨ iff t’,u’⊂t,u. ht’,u’ ⊨ is never satisfied by h on t,u different from is not satisfied by h !

1

0

0 t uneither ht,u) ⊨ x nor ht,u) ⊨ x

23/04/2014 36G. Berry, IHP

Summary of UN-Logic Definition

ht,u ⊨ if ht,u ⊨ and ht,u ⊨

ht,u ⊨ if ht,u ⊨ or ht,u ⊨

ht,u ⊨ R if ∈t,u. h∈R

ht,u ⊨ if t’,u’⊂t,u. ht’,u’ ⊨ ht’,u’ ⊨

ht,u ⊨ if t’,u’⊂t,u. ht’,u’ ⊨

ht,u ⊨ if t’,u’⊂t,u. ht’,u’ ⊨ ht’,u’ ⊨

ht,u ⊨ d if td u if htd,u ⊨

Notation : ⊨ iff h,t,u. ht,u ⊨ ht,u ⊨

23/04/2014 37G. Berry, IHP

Deductive Calculus Formulae : ⊢ vs. ⊨

Timed region : dR

Timed region : kK k for K finite or infinite

kK k?

C,I ⊨ model :

C,I ⊢

• Syntactic sequents

sS s d e)

xI1 0x yI0 0y

Horn clauses ⊢

23/04/2014 38G. Berry, IHP

Computation Deduction (Curry-Howard)

1. C,I ⊢ dR

iff there exists a sequence d0R0, d1R1,..., dnRn dR

such that, for all i, di is in (i.e., an input value)

or derivable from the dj, ji by a deduction rule

2. C,I ⊢ kK k

iff their exists kK such that C,I ⊢ k

23/04/2014 39G. Berry, IHP

Deduction Rules

true d1

booldR d e R⊆S

eS

deS

dR R ⊃eSchain

dS eT

maxd,eS∩Tjoin gate inputs gathering

weakening

+ classical Boolean rules for regions (OK since applied only to stable signals)+ arithmetic operations on delays

for C,I fixed, C,I ⊢ ... implicit everywhere

transition chainingy e x x ⊃ey)x ⊃ ey

23/04/2014 40G. Berry, IHP

d2

d1

max(d1,d2) s1s2

case x0i.e. 0x

C s1 d1 x s2 d2 xs1s2

0x0x

d1s1

chain0xs1s2

bool

d2s2

chain

x0 region s1s2 reached in time max(d1,d2)

join

41G. Berry, IHP 23/04/2014

case x1i.e. 0x

0xchain

d1xs1s2bool

d1d2s2

chain

joind1s1

0xchain

d1s1

max(d1, d1d2) s1s2

d2

d1

C s1 d1 x s2 d2 xs1s2

x1 region s1s2 reached in time d1d2

• Theorem 2 : equivalence of ⊨ and ⊢ for circuits

23/04/2014 42G. Berry, IHP

The Key Theorems

C,I,. C,I ⊨ C,I ⊢

• Theorem 3 : Intuitionism of ⊨

C,I,. C,I ⊨ . C,I ⊨

A disjunction (even infinite) can only by validated by oneof its members (immediate from Theorem 2 and definition of C,I ⊢ )

23/04/2014 43G. Berry, IHP

Corollary : stabilization is deterministicLet s a delay assignment for C and I an input vector. Then the histories h of s in C,I have only two possible behaviors:

1. all the h stabilize to the same value2. there is at least one oscillating valid history h

A circuit is constructive iff its outputs cannot oscillate

Proof : let 1s 1s 2s 2s 3s 3s ...Preuve ::then (infinite) expresses that s stabilizes eventually

case 1 : C,I ⊨ . Then C,I ⊨ k for some k by thm.3

(intuitionism), for instance k ms.

Hence h. h ⊨ C,I h ⊢ ms, any h stabilizes to 1case 2 : C,I ⊨ . Then h. h ⊨ C,I h ⊨ is impossible.

Hence h. h ⊨ C,I h ⊨ , and this h oscillates for s

The Central Result

G. Berry, IHP 23/04/2014 44

Constructive Boolean Circuit Logic

e 1

e e’ 1

e’ 1

e e’ 1 e e’ 0

e 0 e’ 0

e 1

e 0

• Circuit C, input vector : I inputs → {0,1}• formulae : I ⊢ e b, written e b when I constant

x e C e b

x b

e 0

e e’ 0

e’ 0

e e’ 0 e e’ 1

e 1 e’ 1

e 0

e 1I I(I)I input

23/04/2014 45G. Berry, IHP

Proof Transformation Example

max(d1,d2) s1s2

cas x0i.e. 0x

C s1 d1 x s2 d2 xs1s2

0x0x

d1s1

chain0xs1s2

bool

d2s2

chain

join

x0s11

I(x)0 ⊢ x0xs1s2 1s1x C s2 xs1s

s2 1

UN-logic

Constructive Boolean Logic

s11 s21

• For given delays, UN-provability vs. ⊢ is a necessary

and sufficient condition for UN-stabilization vs. ⊨

23/04/2014 46G. Berry, IHP

There We Are !

• But any proof with delays can be transformed into a proof without delays, and conversely

Which means: Provability in Constructive Boolean Logic exactly Which means: reflects electrical constructivity for all delays

Bonus: given the delays, proof-construction based simulationcomputes the maximal reaction time w.r.t. each input

47G. Berry, Colloque Abadi

• Etude complète de la stabilisation des circuits cycliques

dans le modèle de délais UN, en reliant modèle ⊨ et

déduction syntaxique ⊢, et en ignorant transitoires, oscillations, métastabilité etc. (qu’on peut aussi étudier)

25/06/2015

Conclusion

• stabilisation électrique prouvabilité constructive booléenne

(avec délais) des sorties (sans délais)

• A suivre au prochain cours : – constructivité pour toutes entrées– constructivité des circuits séquentiels (avec registres)– algorithmes efficaces de calcul de la constructivité

G. Berry, Colloque Abadi 25/06/2015 48

References

Constructive Boolean Circuits and the Exactness of Timed Ternary Simulation M. Mendler, T. Shiple et G. Berry.  Formal Methods in System Design, Vol.40, No.3, pp. 283-329, Springer (2012).

Constructive Analysis of Cyclic CircuitsT. Shiple, G. Berry et H. Touati. Proc. Int. Design and Testing Conference IDTC'96, Paris, France (1996).

Asynchronous CircuitsJ. Brzozowski et C-J. Seger.Springer-Verlag (1995).