+ All Categories
Home > Documents > Constructible sheaves and their cohomology for...

Constructible sheaves and their cohomology for...

Date post: 25-Jul-2020
Category:
Upload: others
View: 5 times
Download: 0 times
Share this document with a friend
62
Constructible sheaves and their cohomology for asynchronous logic and computation 14 January 2010 Michael Robinson
Transcript
Page 1: Constructible sheaves and their cohomology for ...people.math.aau.dk/.../SLIDES/RobinsonGETCO.pdf · Sheaves over categories of interacting objects Bacławski, Goguen (1970s) Concurrency

Constructible sheaves and their cohomology for

asynchronouslogic and computation

14 January 2010

Michael Robinson

Page 2: Constructible sheaves and their cohomology for ...people.math.aau.dk/.../SLIDES/RobinsonGETCO.pdf · Sheaves over categories of interacting objects Bacławski, Goguen (1970s) Concurrency

Acknowledgements This is a preliminary report on progress in a larger 

project on applied sheaf theory More substantial results are to come!

It's joint work with  Robert Ghrist (Penn) Yasu Hiraoka (Hiroshima)

The focus is on logic here, but is part of  AFOSR MURI on Information Dynamics in Networks PI: Rob Calderbank (Princeton)

Page 3: Constructible sheaves and their cohomology for ...people.math.aau.dk/.../SLIDES/RobinsonGETCO.pdf · Sheaves over categories of interacting objects Bacławski, Goguen (1970s) Concurrency

    3

Logic gates

AND OR

NAND NOR

NOT

“bubble” indicates negation

1 0

Page 4: Constructible sheaves and their cohomology for ...people.math.aau.dk/.../SLIDES/RobinsonGETCO.pdf · Sheaves over categories of interacting objects Bacławski, Goguen (1970s) Concurrency

    4

Logic gates

AND OR

NAND NOR

0

NOT

A change occurs...

0

Page 5: Constructible sheaves and their cohomology for ...people.math.aau.dk/.../SLIDES/RobinsonGETCO.pdf · Sheaves over categories of interacting objects Bacławski, Goguen (1970s) Concurrency

    5

Logic gates

0 1

NOT

... eventually changes the output

Propagation delay varies from device to device

Page 6: Constructible sheaves and their cohomology for ...people.math.aau.dk/.../SLIDES/RobinsonGETCO.pdf · Sheaves over categories of interacting objects Bacławski, Goguen (1970s) Concurrency

    6

Problem: time-bound logic

Propagation delays along connections and within gates!

Feedback – can hold state Race conditions:

Hazards Glitches Oscillations Lock­ups

Page 7: Constructible sheaves and their cohomology for ...people.math.aau.dk/.../SLIDES/RobinsonGETCO.pdf · Sheaves over categories of interacting objects Bacławski, Goguen (1970s) Concurrency

    7

Example of timebound logic

Enable

Data Output

0

0 1

1

0

1

This is an E flip­flop circuit, a basic memory element.  It's initially storing the value 0

Page 8: Constructible sheaves and their cohomology for ...people.math.aau.dk/.../SLIDES/RobinsonGETCO.pdf · Sheaves over categories of interacting objects Bacławski, Goguen (1970s) Concurrency

    8

Example of timebound logic

Enable

Data Output

0

1 1

1

0

1

If we change the Data input to 1, nothing exciting happens...

Page 9: Constructible sheaves and their cohomology for ...people.math.aau.dk/.../SLIDES/RobinsonGETCO.pdf · Sheaves over categories of interacting objects Bacławski, Goguen (1970s) Concurrency

    9

Example of timebound logic

Enable

Data Output

1

1 1

1

0

1

Pulsing the Enable input to 1 causes the Data input to be “read” and “stored”...

Page 10: Constructible sheaves and their cohomology for ...people.math.aau.dk/.../SLIDES/RobinsonGETCO.pdf · Sheaves over categories of interacting objects Bacławski, Goguen (1970s) Concurrency

    10

Example of timebound logic

Enable

Data Output

1

1 0

1

0

1

... but it takes time... t=1

Page 11: Constructible sheaves and their cohomology for ...people.math.aau.dk/.../SLIDES/RobinsonGETCO.pdf · Sheaves over categories of interacting objects Bacławski, Goguen (1970s) Concurrency

    11

0

Example of timebound logic

Enable

Data Output

1 0

1

1

1

... but it takes time... t=2

Can de­enable at this time

Page 12: Constructible sheaves and their cohomology for ...people.math.aau.dk/.../SLIDES/RobinsonGETCO.pdf · Sheaves over categories of interacting objects Bacławski, Goguen (1970s) Concurrency

    12

Example of timebound logic

Enable

Data Output

0

1 1

1

1

0

... but it takes time... t=3

Page 13: Constructible sheaves and their cohomology for ...people.math.aau.dk/.../SLIDES/RobinsonGETCO.pdf · Sheaves over categories of interacting objects Bacławski, Goguen (1970s) Concurrency

    13

0

Example of timebound logic

Enable

Data Output

0

1

1

1

0

... and will hold the new value!

Data is now ignored

Page 14: Constructible sheaves and their cohomology for ...people.math.aau.dk/.../SLIDES/RobinsonGETCO.pdf · Sheaves over categories of interacting objects Bacławski, Goguen (1970s) Concurrency

    14

Synchronous design Can avoid race conditions by polling after transients 

are finished Unavoidable limitation: limited by the slowest circuit

Synchronous solution: circuits poll their inputs only at specific points in time – a global clock

But... Biggest single drain of power in modern CPUs is the 

clock Clock distribution and skew a major problem Correcting clock skew requires additional circuitry and 

power usage

Page 15: Constructible sheaves and their cohomology for ...people.math.aau.dk/.../SLIDES/RobinsonGETCO.pdf · Sheaves over categories of interacting objects Bacławski, Goguen (1970s) Concurrency

    15

Example logic timeline (synchronous)

A B A+BBUS

Read from memory Write

Time

Var 1 A

Var 2 B

Output A+B

Memory

Output

Var 2

Var 1Computation

BUS

A

Clock

Page 16: Constructible sheaves and their cohomology for ...people.math.aau.dk/.../SLIDES/RobinsonGETCO.pdf · Sheaves over categories of interacting objects Bacławski, Goguen (1970s) Concurrency

    16

Example logic timeline (synchronous)

A B A+BBUS

Read from memory Write

Time

Var 1

Var 2 B

Output A+B

Memory

Output

Var 2

Var 1Computation

BUS

A

Clock

A

Page 17: Constructible sheaves and their cohomology for ...people.math.aau.dk/.../SLIDES/RobinsonGETCO.pdf · Sheaves over categories of interacting objects Bacławski, Goguen (1970s) Concurrency

    17

Example logic timeline (synchronous)

A B A+BBUS

Read from memory Write

Time

Var 1

Var 2 B

Output A+B

Memory

Output

Var 2

Var 1Computation

BUS

B

Clock

A

Page 18: Constructible sheaves and their cohomology for ...people.math.aau.dk/.../SLIDES/RobinsonGETCO.pdf · Sheaves over categories of interacting objects Bacławski, Goguen (1970s) Concurrency

    18

Example logic timeline (synchronous)

A B A+BBUS

Read from memory Write

Time

Var 1

Var 2 B

Output A+B

Memory

Output

Var 2

Var 1Computation

BUS

B

Clock

A

Page 19: Constructible sheaves and their cohomology for ...people.math.aau.dk/.../SLIDES/RobinsonGETCO.pdf · Sheaves over categories of interacting objects Bacławski, Goguen (1970s) Concurrency

    19

Example logic timeline (synchronous)

A B A+BBUS

Read from memory Write

Time

Var 1

Var 2 B

Output A+B

Memory

Output

Var 2

Var 1Computation

Clock

A

BUS

Page 20: Constructible sheaves and their cohomology for ...people.math.aau.dk/.../SLIDES/RobinsonGETCO.pdf · Sheaves over categories of interacting objects Bacławski, Goguen (1970s) Concurrency

    20

Example logic timeline (synchronous)

A B A+BBUS

Read from memory Write

Time

Var 1

Var 2 B

Output A+B

Memory

Output

Var 2

Var 1Computation

BUS

Clock

A

Page 21: Constructible sheaves and their cohomology for ...people.math.aau.dk/.../SLIDES/RobinsonGETCO.pdf · Sheaves over categories of interacting objects Bacławski, Goguen (1970s) Concurrency

    21

Example logic timeline (synchronous)

A B A+BBUS

Read from memory Write

Time

Var 1

Var 2 B

Output A+B

Memory

Output

Var 2

Var 1Computation

Clock

A

A+B

BUS

Page 22: Constructible sheaves and their cohomology for ...people.math.aau.dk/.../SLIDES/RobinsonGETCO.pdf · Sheaves over categories of interacting objects Bacławski, Goguen (1970s) Concurrency

    22

Example logic timeline (asynchronous)

A B A+BBUS

Read from memory Write

Time

Var 1

Var 2 B

Output A+B

Memory

Output

Var 2

Var 1Computation

BUS

A

A

Mem TX

CPU Ack

CPU TX

Done

Page 23: Constructible sheaves and their cohomology for ...people.math.aau.dk/.../SLIDES/RobinsonGETCO.pdf · Sheaves over categories of interacting objects Bacławski, Goguen (1970s) Concurrency

    23

Example logic timeline (asynchronous)

A B A+BBUS

Read from memory Write

Time

Var 1

Var 2 B

Output A+B

Memory

Output

Var 2

Var 1Computation

BUS

A

A

Mem TX

CPU Ack

CPU TX

Done

Page 24: Constructible sheaves and their cohomology for ...people.math.aau.dk/.../SLIDES/RobinsonGETCO.pdf · Sheaves over categories of interacting objects Bacławski, Goguen (1970s) Concurrency

    24

Example logic timeline (asynchronous)

A B A+BBUS

Read from memory Write

Time

Var 1

Var 2 B

Output A+B

Memory

Output

Var 2

Var 1Computation

BUS

A

A

Mem TX

CPU Ack

CPU TX

Done

Page 25: Constructible sheaves and their cohomology for ...people.math.aau.dk/.../SLIDES/RobinsonGETCO.pdf · Sheaves over categories of interacting objects Bacławski, Goguen (1970s) Concurrency

    25

Example logic timeline (asynchronous)

A B A+BBUS

Read from memory Write

Time

Var 1

Var 2 B

Output A+B

Memory

Output

Var 2

Var 1Computation

BUS

B

A

Mem TX

CPU Ack

CPU TX

Done

Page 26: Constructible sheaves and their cohomology for ...people.math.aau.dk/.../SLIDES/RobinsonGETCO.pdf · Sheaves over categories of interacting objects Bacławski, Goguen (1970s) Concurrency

    26

Example logic timeline (asynchronous)

A B A+BBUS

Read from memory Write

Time

Var 1

Var 2 B

Output A+B

Memory

Output

Var 2

Var 1Computation

BUS

B

A

Mem TX

CPU Ack

CPU TX

Done

Page 27: Constructible sheaves and their cohomology for ...people.math.aau.dk/.../SLIDES/RobinsonGETCO.pdf · Sheaves over categories of interacting objects Bacławski, Goguen (1970s) Concurrency

    27

Example logic timeline (asynchronous)

A B A+BBUS

Read from memory Write

Time

Var 1

Var 2 B

Output A+B

Memory

Output

Var 2

Var 1Computation

BUS

A

Mem TX

CPU Ack

CPU TX

Done

Page 28: Constructible sheaves and their cohomology for ...people.math.aau.dk/.../SLIDES/RobinsonGETCO.pdf · Sheaves over categories of interacting objects Bacławski, Goguen (1970s) Concurrency

    28

Example logic timeline (asynchronous)

A B A+BBUS

Read from memory Write

Time

Var 1

Var 2 B

Output A+B

Memory

Output

Var 2

Var 1Computation

BUS

A

Mem TX

CPU Ack

CPU TX

Done

Page 29: Constructible sheaves and their cohomology for ...people.math.aau.dk/.../SLIDES/RobinsonGETCO.pdf · Sheaves over categories of interacting objects Bacławski, Goguen (1970s) Concurrency

    29

Example logic timeline (asynchronous)

A B A+BBUS

Read from memory Write

Time

Var 1

Var 2 B

Output A+B

Memory

Output

Var 2

Var 1Computation

BUS

A+B

A

Mem TX

CPU Ack

CPU TX

Done

Page 30: Constructible sheaves and their cohomology for ...people.math.aau.dk/.../SLIDES/RobinsonGETCO.pdf · Sheaves over categories of interacting objects Bacławski, Goguen (1970s) Concurrency

    30

Example logic timeline (asynchronous)

A B A+BBUS

Read from memory Write

Time

Var 1

Var 2 B

Output A+B

Memory

Output

Var 2

Var 1Computation

BUS

A+B

A

Mem TX

CPU Ack

CPU TX

Done

Page 31: Constructible sheaves and their cohomology for ...people.math.aau.dk/.../SLIDES/RobinsonGETCO.pdf · Sheaves over categories of interacting objects Bacławski, Goguen (1970s) Concurrency

    31

Asynchronous design

Typical of older bus architectures and of networks Potential for significant power savings, space­on­

die, and speed in certain areas Potential for better distribution of computation Design elegance: fewer transistors needed, less to 

break Network communication becomes more natural

Especially when latency is highly variable

Page 32: Constructible sheaves and their cohomology for ...people.math.aau.dk/.../SLIDES/RobinsonGETCO.pdf · Sheaves over categories of interacting objects Bacławski, Goguen (1970s) Concurrency

    32

Problems!

Asynchronous circuits are hard to design! If you mistake a transient for the “final answer” of a 

circuit, you're faced with Hazards (uncertainties in output value) Glitches (very short pulses, which might confuse the 

underlying electronic technology) Lock­ups (finite state machines getting stuck in a state 

where they cannot exit)

Generally, all are the result of race conditions

Page 33: Constructible sheaves and their cohomology for ...people.math.aau.dk/.../SLIDES/RobinsonGETCO.pdf · Sheaves over categories of interacting objects Bacławski, Goguen (1970s) Concurrency

    33

Example of a glitch

AC

B

A

B

CGlitch is one propagation delay wide

Race condition between A and B causes glitch!

Input signal

Output signal

Page 34: Constructible sheaves and their cohomology for ...people.math.aau.dk/.../SLIDES/RobinsonGETCO.pdf · Sheaves over categories of interacting objects Bacławski, Goguen (1970s) Concurrency

    34

Limitations in current methods

Traditional asynchronous design requires either Very careful and exhaustive reasoning (time­dependent 

theorem­provers, concurrency theory), or  Detailed high­fidelity simulation (at sampling rate 

determined by the “GCD” of the propagation speeds) 

Bookkeeping is  difficult, but essential Difficult to test in stages, especially in testing response 

of circuitry to glitches Exhaustive simulation is essentially impossible for large 

designs (e.g. CPUs)

Page 35: Constructible sheaves and their cohomology for ...people.math.aau.dk/.../SLIDES/RobinsonGETCO.pdf · Sheaves over categories of interacting objects Bacławski, Goguen (1970s) Concurrency

    35

Sheaf theory in logic circuits

Provides some computational and conceptual tools It's primarily a bookkeeping mechanism

Building­up local models (gates and wires) into global ones (computational units) The primary tool for this local­to­global transition is 

called cohomology Sheaf cohomology organizes the computations 

effectively, and extracts lots of information! Hierarchical design can be examined by local sheaf 

cohomology and sheaf direct image functors

Page 36: Constructible sheaves and their cohomology for ...people.math.aau.dk/.../SLIDES/RobinsonGETCO.pdf · Sheaves over categories of interacting objects Bacławski, Goguen (1970s) Concurrency

    36

Past workA decidedly non­exhaustive list of some highlights: Sheaves over categories of interacting objects

Bacławski, Goguen (1970s)

Concurrency & sheaf theory (not cohomological) Lillius (1993), Van Glabbeek (2006)

Constructible sheaves Rota, Shapira, MacPherson (1960s)

Quantum graphs (original motivating example) Gutkin, Smilanski (2001), Kuchment (2003)

Our focus is more strongly on cohomology

Page 37: Constructible sheaves and their cohomology for ...people.math.aau.dk/.../SLIDES/RobinsonGETCO.pdf · Sheaves over categories of interacting objects Bacławski, Goguen (1970s) Concurrency

    37

Sheaves: definition

A sheaf on a topological space X consists of 

A contravariant functor F from Open(X) to some subcategory of Set; this is a “sheaf of sets”  F(U) for open U is called the space of sections over U The inclusion map UV is sent to a restriction map 

F(V)F(U).  Usually it is the restriction of functions.

Given a point p∈X, the direct limit of F(U), for all U

satisfying p∈U is called the stalk at p.  It's a 

generalization of the germ of a smooth function

And a gluing rule...

Page 38: Constructible sheaves and their cohomology for ...people.math.aau.dk/.../SLIDES/RobinsonGETCO.pdf · Sheaves over categories of interacting objects Bacławski, Goguen (1970s) Concurrency

    38

Sheaves: gluing

The gluing rule: if U and V are open sets, then two sections defined on U and V that agree on U∩V come from a unique section defined on U∪V

Page 39: Constructible sheaves and their cohomology for ...people.math.aau.dk/.../SLIDES/RobinsonGETCO.pdf · Sheaves over categories of interacting objects Bacławski, Goguen (1970s) Concurrency

    39

Sheaves: gluing

The gluing rule: if U and V are open sets, then two sections defined on U and V that agree on U∩V come from a unique section defined on U∪V

Base topological space X

Page 40: Constructible sheaves and their cohomology for ...people.math.aau.dk/.../SLIDES/RobinsonGETCO.pdf · Sheaves over categories of interacting objects Bacławski, Goguen (1970s) Concurrency

    40

Sheaves: gluing

The gluing rule: if U and V are open sets, then two sections defined on U and V that agree on U∩V come from a unique section defined on U∪V

Base topological space X

U

F

F(U)

Page 41: Constructible sheaves and their cohomology for ...people.math.aau.dk/.../SLIDES/RobinsonGETCO.pdf · Sheaves over categories of interacting objects Bacławski, Goguen (1970s) Concurrency

    41

Sheaves: gluing

The gluing rule: if U and V are open sets, then two sections defined on U and V that agree on U∩V come from a unique section defined on U∪V

Base topological space X

U

F

V

F

F(U) F(V)

Page 42: Constructible sheaves and their cohomology for ...people.math.aau.dk/.../SLIDES/RobinsonGETCO.pdf · Sheaves over categories of interacting objects Bacławski, Goguen (1970s) Concurrency

    42

Sheaves: gluing

The gluing rule: if U and V are open sets, then two sections defined on U and V that agree on U∩V come from a unique section defined on U∪V

Base topological space X

U∪V

F

F(U∪V)

Page 43: Constructible sheaves and their cohomology for ...people.math.aau.dk/.../SLIDES/RobinsonGETCO.pdf · Sheaves over categories of interacting objects Bacławski, Goguen (1970s) Concurrency

    43

Examples and non-examples

Examples of sheaves: Locally constant functions on a topological space Continuous functions Analytic functions on a manifold

Non­examples (they violate the gluing rule): Constant functions L2 functions on unbounded domains

Page 44: Constructible sheaves and their cohomology for ...people.math.aau.dk/.../SLIDES/RobinsonGETCO.pdf · Sheaves over categories of interacting objects Bacławski, Goguen (1970s) Concurrency

    44

Constructible sheaves

Suppose X has a filtration, X0⊂X

1⊂...⊂X

k in which 

each Xi is “tame”

A sheaf F on X is constructible (with respect to the filtration) if it is locally constant on each stratum:  X

i\X

i­1

Constructible sheaves have constrained structure, especially if the filtration is finite

In the case of topological graphs, we'll use the natural filtration structure induced by the graph

Page 45: Constructible sheaves and their cohomology for ...people.math.aau.dk/.../SLIDES/RobinsonGETCO.pdf · Sheaves over categories of interacting objects Bacławski, Goguen (1970s) Concurrency

    45

Cohomology

The cohomology functor is a tool for extracting global information from a sheaf Provided it's a sheaf of abelian groups It is homotopy invariant

It tells you all of the global sections, and obstructions for extending local sections to global ones For instance H0(X;F)

)

≅F(X) (all global sections)

Page 46: Constructible sheaves and their cohomology for ...people.math.aau.dk/.../SLIDES/RobinsonGETCO.pdf · Sheaves over categories of interacting objects Bacławski, Goguen (1970s) Concurrency

    46

Čech cohomology Select a cover {U

} of X and form the sequence of 

spaces and maps (the Čech cochain complex)

0 ⊕F(U) ⊕F(U

∩U

)⊕F(U

∩U

∩U

)...

The maps are called “coboundaries” and come from the differences between restrictions maps

The homology of this sequence is the Čech cohomology of F with respect to {U

}.  

Theorem: (Leray) If the cover is “good”, then the Čech cohomology is a homotopy invariant, and therefore independent of the choice of cover

Page 47: Constructible sheaves and their cohomology for ...people.math.aau.dk/.../SLIDES/RobinsonGETCO.pdf · Sheaves over categories of interacting objects Bacławski, Goguen (1970s) Concurrency

    47

Problems with logic and sheaves

If we use binary­valued (ℤ2­valued) sheaves in the 

obvious way, we run into a problem: most logical operations don't support the functoriality of any sheaf in a way that's compatible with cohomology Put another way, logical operations aren't all ℤ

2­linear!

A

BC

A B C0 0 10 1 11 0 11 1 0

Not linear!A

B

C

Logic circuit Connection graph

Page 48: Constructible sheaves and their cohomology for ...people.math.aau.dk/.../SLIDES/RobinsonGETCO.pdf · Sheaves over categories of interacting objects Bacławski, Goguen (1970s) Concurrency

    48

A (standard) algebraic trick!

Instead, consider any function between sets f:AB Let R be a ring with unit, and R(A) be the R­module 

generated by A That is, generators of R(A) are elements of A

Then f lifts uniquely to an R­module homomorphism

R(A) R(B)

A Bf

Rf Notice that generally we cannot recover a unique element of B from R(B).  

But we can if we've used Rf °(1×)

(1×) (1×)

Page 49: Constructible sheaves and their cohomology for ...people.math.aau.dk/.../SLIDES/RobinsonGETCO.pdf · Sheaves over categories of interacting objects Bacławski, Goguen (1970s) Concurrency

    49

Lifted logic values Our logical value is represented by an element of ℤ

22 (or R2 where R is a ring with unit):

{(1 0), (0 1), (0 0), (1 1)}

Put another way, a logical value is aq+bQ, where q=(1 0), represents a logic 0 Q=(0 1), represents a logic 1

 a,bℤ2 can be interpreted as a flag of whether Q or its 

inverted copy q is a possible realization of this value

Logic 0 Logic 1 Uncertain truth valueError state

Page 50: Constructible sheaves and their cohomology for ...people.math.aau.dk/.../SLIDES/RobinsonGETCO.pdf · Sheaves over categories of interacting objects Bacławski, Goguen (1970s) Concurrency

    50

Switching sheaves A switching sheaf over a directed 

graph is constructible with respect to stratification by the graph structure and

Stalks over points in an edge are ℤ2

2

A stalk over a vertex is the tensor product of n copies of ℤ

22, where n is 

the incoming degree Restriction maps from an open set 

containing a single vertex to a connected set in the interior of an edge are given by the diagram at right

C AB

Contractionof A, C

The lift into ℤ

28ℤ

22 of 

a logic function

Page 51: Constructible sheaves and their cohomology for ...people.math.aau.dk/.../SLIDES/RobinsonGETCO.pdf · Sheaves over categories of interacting objects Bacławski, Goguen (1970s) Concurrency

    51

Edge collapse

The benefit of the sheaf formalism is that useful sheaf functors are already well­known.  

The direct image functor (pushforward) relates to hierarchical design:

Consider a continuous map XY that collapses an edge with distinct ends.  This takes a constructible sheaf F on X to a constructible sheaf f

*F on Y.

For switching sheaves, this also induces an isomorphism on cohomology (by the Vietoris mapping theorem)

Big win conceptually and computationally!

Page 52: Constructible sheaves and their cohomology for ...people.math.aau.dk/.../SLIDES/RobinsonGETCO.pdf · Sheaves over categories of interacting objects Bacławski, Goguen (1970s) Concurrency

Collapsed graphs We construct a spanning tree T for X, and a 

sequence of trees T1, T

2, ... , T

N = T such that T

i+1 \ T

consists of exactly one edge

We can work with collapsed graphs X/Ti, on which 

the cohomology is easier to compute Vietoris Mappring theorem: isomorphic cohomology

X                    X/T1               X/T

2          X/T

3            X/T

Page 53: Constructible sheaves and their cohomology for ...people.math.aau.dk/.../SLIDES/RobinsonGETCO.pdf · Sheaves over categories of interacting objects Bacławski, Goguen (1970s) Concurrency

    53

Cohomology of switching sheaves

As noted earlier,  H0(X;F)≅F(X), so H0 is generated by all of the allowable states of the logic circuit Switching sheaves don't incorporate time explicitly, but 

one can still extract time­dependent information in H0... Appears to track hazard­related transitions between states

Hk(X;F)=0 for k>1, since dim X = 1 H1(X;F) appears to describe the states related to 

hazards 

Page 54: Constructible sheaves and their cohomology for ...people.math.aau.dk/.../SLIDES/RobinsonGETCO.pdf · Sheaves over categories of interacting objects Bacławski, Goguen (1970s) Concurrency

    54

Example: flip-flop

C AB

T

Q

C A B T Q0 0 0 1 10 0 1 1 10 1 0 1 10 1 1 0 11 0 0 1 01 0 1 1 01 1 0 1 01 1 1 0 1

Hazard!

SetReset

Hold

This is what traditional analysis gives...  5 possible states

Transition out  of the hazard state to the a hold state causes a race condition

Page 55: Constructible sheaves and their cohomology for ...people.math.aau.dk/.../SLIDES/RobinsonGETCO.pdf · Sheaves over categories of interacting objects Bacławski, Goguen (1970s) Concurrency

    55

Conversion to graph

C AB

T

Q

U V

W

W

VU

C AB

Q

Čech cochain complex:0F(U)F(V)F(W)F(UV)F(UW)F(VW)00ℤ

28ℤ

22ℤ

22ℤ

22ℤ

22ℤ

220

Page 56: Constructible sheaves and their cohomology for ...people.math.aau.dk/.../SLIDES/RobinsonGETCO.pdf · Sheaves over categories of interacting objects Bacławski, Goguen (1970s) Concurrency

    56

Flip-flop cohomology

C AB

T

Q

H1(X;F)ℤ2

H0(X;F)ℤ27

Generated by:aBc              abc+aBCABc              abc+AbcabCAbCABC

(upper case means the generator corresponding to logical 1)

These states describe the possible transitions out of the hazard state – something that takes a bit more trouble to obtain traditionally

States from the traditional approach

Page 57: Constructible sheaves and their cohomology for ...people.math.aau.dk/.../SLIDES/RobinsonGETCO.pdf · Sheaves over categories of interacting objects Bacławski, Goguen (1970s) Concurrency

    57

Example: glitch generator

AF

UW

V

Čech cochain complex:0F(U)F(V)F(W)F(UV)F(UW)F(VW)00ℤ

22ℤ

22ℤ

24ℤ

22ℤ

22ℤ

220

H0(X;F) is generated by

A+C+D⊗ea+c+d⊗E

A+a+C+c+d⊗e+D⊗E

H1(X;F)≅ℤ2

C

E

D

Hazard transition state

Page 58: Constructible sheaves and their cohomology for ...people.math.aau.dk/.../SLIDES/RobinsonGETCO.pdf · Sheaves over categories of interacting objects Bacławski, Goguen (1970s) Concurrency

    58

Computational aspects It's not immediately clear how one might store a 

(representation of a) constructible sheaf in a computer

One needs to specify a vector space for each open set; there are various ways of doing this The most obvious way to do this is to write the sheaf as a 

function, but then how does one store a vector space? Possibly use type­level programming in Haskell?  We 

could instantiate the sheaf as a type of Functor...

Seriously, though, it seems to be an impediment to automating computation in constructible sheaves

Page 59: Constructible sheaves and their cohomology for ...people.math.aau.dk/.../SLIDES/RobinsonGETCO.pdf · Sheaves over categories of interacting objects Bacławski, Goguen (1970s) Concurrency

    59

Category theory to the rescue!

It turns out that there's a different way:  Theorem: (MacPherson) The category of 

constructible sheaves on an abstract simplicial complex K is isomorphic to the category of presheaves over a certain category associated to K By presheaf, we mean a contravariant functor from a 

category to a subcategory of Set The category in question here is the face category: 

objects are simplices, and morphisms describe boundaries (i.e. AB if B is a face of A)

Page 60: Constructible sheaves and their cohomology for ...people.math.aau.dk/.../SLIDES/RobinsonGETCO.pdf · Sheaves over categories of interacting objects Bacławski, Goguen (1970s) Concurrency

    60

Simplicial complexes and the face category

A

B

C

D A B C D

{B,C} {B,D} {C,D}{A,B}

{B,C,D}

Simplicial complex

Face category

Page 61: Constructible sheaves and their cohomology for ...people.math.aau.dk/.../SLIDES/RobinsonGETCO.pdf · Sheaves over categories of interacting objects Bacławski, Goguen (1970s) Concurrency

    61

Presheaves on a face category

If our graph is a cell complex, we therefore only need to know the restriction maps and the stalks over each cell.

This seems like a minimal amount of information Further, the construction is functorial, so we can 

transfer computation of sheaf cohomology to this context

This relates to HDA in concurrency theory!

Page 62: Constructible sheaves and their cohomology for ...people.math.aau.dk/.../SLIDES/RobinsonGETCO.pdf · Sheaves over categories of interacting objects Bacławski, Goguen (1970s) Concurrency

    62

What's next? Theoretical directions

Figure out how exactly glitches and hazards are represented in the cohomology of a switching sheaf

Related: what is the physical meaning of H1(X;F)? Extend edge collapse methodology to other direct 

images; aiming towards a hierarchical approach to sheaf cohomology computation

Computational directions Run some more complicated examples of cohomology 

computations Implement the cohomology computation on a computer


Recommended