the hardest linear conjunctive language

7
Information Processing Letters 86 (2003) 247–253 www.elsevier.com/locate/ipl The hardest linear conjunctive language Alexander Okhotin School of Computing, Queen’s University, Kingston, ON, Canada K7L3N6 Received 20 September 2002; received in revised form 17 December 2002 Communicated by L. Boasson Abstract This paper demonstrates that the P-complete language of yes-instances of Circuit Value Problem under a suitable encoding can be generated by a linear conjunctive grammar, or, equivalently, accepted by a triangular trellisautomaton. This result has several implications on the properties of the languages generated by conjunctive grammars of the general form and on the relationship between the abstract models of parallel computation. 2002 Elsevier Science B.V. All rights reserved. Keywords: Computational complexity; Formal languages; Conjunctive grammars; Trellis automata 1. Introduction Conjunctive grammars [2] are context-free gram- mars augmented with an explicit intersection opera- tion, having all rules of the form A α 1 & ··· &α n , which basically say that every terminal string that can be generated by every α i individually can be generated by the nonterminal A as well. Linear conjunctive grammars [2,4] are a subclass of conjunctive grammars, in which the rules are re- stricted to be of the form A u 1 B 1 v 1 & ··· &u n B n v n or A w, where A,B i are nonterminal symbols and u i ,v i ,w are terminal strings. It has recently been proved [5] that linear conjunctive grammars are com- putationally equivalent to triangular trellis automata (TTA) [1], also known as one-way real-time cellu- lar automata, which we will define as a quintuple M = (Σ,Q,I,δ,F), where Σ is the input alpha- E-mail address: [email protected] (A. Okhotin). bet, Q is the set of states, I : Σ Q converts each symbol of the input string to a state, thus obtaining the initial ID of the automaton, δ : Q × Q Q con- verts a pair of states into a single state, and is used to transform an ID (q 1 ,q 2 ,q 3 ,...,q n1 ,q n ) to the ID (δ(q 1 ,q 2 ),δ(q 2 ,q 3 ),...,δ(q n1 ,q n )); this is be- ing done until the string shrinks to one state, when the membership of this single state in F determines whether the input string is accepted. In this paper we show that a certain P-complete lan- guage can in fact be generated by a linear conjunctive grammar. This is being done by presenting an encod- ing of Circuit Value Problem (CVP), the basic P-com- plete problem, under which it can be solved by the combined force of linear conjunctive grammars, TTA and the known results on these generative devices [4, 5]. Since the general membership problem for linear conjunctive grammars (as well as that for conjunctive grammars of the general form) is also known to be P-complete [3], this language can be said to be compu- 0020-0190/02/$ – see front matter 2002 Elsevier Science B.V. All rights reserved. doi:10.1016/S0020-0190(02)00511-2

Upload: alexander-okhotin

Post on 02-Jul-2016

215 views

Category:

Documents


2 download

TRANSCRIPT

Page 1: The hardest linear conjunctive language

l

encodingresult hasnd on the

Information Processing Letters 86 (2003) 247–253

www.elsevier.com/locate/ip

The hardest linear conjunctive language

Alexander Okhotin

School of Computing, Queen’s University, Kingston, ON, Canada K7L3N6

Received 20 September 2002; received in revised form 17 December 2002

Communicated by L. Boasson

Abstract

This paper demonstrates that the P-complete language of yes-instances of Circuit Value Problem under a suitablecan be generated by a linear conjunctive grammar, or, equivalently, accepted by a triangular trellis automaton. Thisseveral implications on the properties of the languages generated by conjunctive grammars of the general form arelationship between the abstract models of parallel computation. 2002 Elsevier Science B.V. All rights reserved.

Keywords: Computational complexity; Formal languages; Conjunctive grammars; Trellis automata

1. Introduction bet,Q is the set of states,I :Σ → Q converts each

m-ra-

and

assre-

senm-

e

symbol of the input string to a state, thus obtaining

sed

en

an-

od-m-theTAs [4,earivebepu-

ll rig

Conjunctive grammars [2] are context-free gramars augmented with an explicit intersection opetion, having all rules of the formA → α1& · · ·&αn,which basically say that every terminal string that cbe generated by everyαi individually can be generateby the nonterminalA as well.

Linear conjunctive grammars [2,4] are a subclof conjunctive grammars, in which the rules arestricted to be of the formA → u1B1v1& · · ·&unBnvnor A → w, where A,Bi are nonterminal symbolandui, vi ,w are terminal strings. It has recently beproved [5] that linear conjunctive grammars are coputationally equivalent totriangular trellis automata(TTA) [1], also known asone-way real-time cellu-lar automata, which we will define as a quintuplM = (Σ,Q, I, δ,F ), whereΣ is the input alpha-

E-mail address: [email protected] (A. Okhotin).

0020-0190/02/$ – see front matter 2002 Elsevier Science B.V. Adoi:10.1016/S0020-0190(02)00511-2

the initial ID of the automaton,δ :Q × Q → Q con-verts a pair of states into a single state, and is uto transform an ID(q1, q2, q3, . . . , qn−1, qn) to theID (δ(q1, q2), δ(q2, q3), . . . , δ(qn−1, qn)); this is be-ing done until the string shrinks to one state, whthe membership of this single state inF determineswhether the input string is accepted.

In this paper we show that a certain P-complete lguage can in fact begenerated by a linear conjunctivegrammar. This is being done by presenting an encing of Circuit Value Problem (CVP), the basic P-coplete problem, under which it can be solved bycombined force of linear conjunctive grammars, Tand the known results on these generative device5]. Since the general membership problem for linconjunctive grammars (as well as that for conjunctgrammars of the general form) is also known toP-complete [3], this language can be said to be com

hts reserved.

Page 2: The hardest linear conjunctive language

248 A. Okhotin / Information Processing Letters 86 (2003) 247–253

tationally as hard as the whole family, which justifiesthe title of the hardest linear conjunctive language.

pli-this

s:

euit

theaire

in-fine

tes

in

on,

.f

).

as-ole

Example 1. Consider the circuitC = (C1 = x1,C2 =x2,C3 = C1 ∧C2,C4 = ¬C2,C5 = C3 ∨C4) depend-

d

-

tes

isofersd byonstop,

micncesm-

eittheial

uaget itder

).1),

This result also has some immediate theoretical imcations, which are discussed in the last section ofpaper.

2. The problem and its encoding

Let (C1, . . . ,Cn) (n � 1) be a circuit with inputvariablesx1, . . . , xm (m � 1), where each gateCk isone of the following: (i) an inputxi (1 � i � m);(ii) negation of a preceding gate:¬Ci (i < k); (iii),(iv) conjunction or disjunction of two preceding gateCi ∧ Cj or Ci ∨ Cj (i < j < k). The gateCn iscalled the output of the circuit. The Circuit ValuProblem (CVP) is stated as follows: given a circand a Boolean vector of input values(σ1, . . . , σm)

assigned to the variables, determine, whethercircuit evaluates to true on this vector. The p(circuit, vector of input values) is called an instancof CVP.

Let us develop one particular encoding forstances of CVP as strings over a finite alphabet. Dethe alphabetΣ = {a, b, cr, c∧, c∨, cw, cw¬, cw0, cw1},in whicha is used to specify the total number of gain the circuit in unary notation,b is used to refer tothe gates of the circuit by writing their numbersunary notation,cr is a read command,c∧ andc∨ arecommands for computing conjunction and disjunctirespectively, andcw, cw¬, cw0 and cw1 (collectivelyreferred to aswrite commands) mean “write”, “writenegation”, “write zero” and “write one”, respectively

Let ((C1, . . .Cn), (σ1, . . . , σm)) be an instance oCircuit Value Problem. For each gateCk , defineits literal representationω(Ck): ω(Ck = xi) equalsbk−1cw0 if σi = 0 and bk−1cw1 if σi = 1; ω(Ck =¬Ci) is defined asbi−1crb

k−i−1cw¬; ω(Ck = Ci ∧Cj ) is bi−1crb

j−i−1c∧bk−j−1cw ; similarly, ω(Ck =Ci ∨ Cj ) = bi−1crb

j−i−1c∨bk−j−1cw (note that|ω(Ck)| = k for everykth gate regardless of its typeWhile a gate can be viewed as anassignment state-ment, its literal representation is amicroprogram ina very low level language, which implements thesignment. Finally, define the encoding of the whinstance of the problem as

an · ω(C1) · · · · ·ω(Cn) ∈Σ∗. (1)

ing on the variablesx1, x2. It can easily be checkethat the circuit implements implicationf (x1, x2) =x2 → x1. Let x1 = 1 andx2 = 0, and consider the instance of CVP(C, (1,0)).

The literal representations of the circuit’s gaareω(C1 = x1) = cw1, ω(C2 = x2) = bcw0, ω(C3 =C1 ∧ C2) = crc∧cw, ω(C4 = ¬C2) = bcrbcw¬ andω(C5 = C3 ∨ C4) = bbcrc∨cw; consequently, thewhole instance of CVP is encoded as

aaaaa cw1 bcw0 crc∧cw bcrbcw¬ bbcrc∨cw. (2)

The encoding of CVP presented in this sectiondifferent from the traditional encoding in its useunary notation for numbers. However, the numbthus notated refer to gates, and thus are boundethe size of the input; consequently, the descriptiof circuits using binary notation can be convertedunary notation with no more than quadratic blowuand this conversion can be easily done in logarithspace, which proves that the language of yes-instaof CVP under the given encoding remains a P-coplete language.

3. Solution for the problem

The first thing to do is to check whether thgiven string is syntactically correct—i.e., whetherrepresents an instance of CVP encoded usingmethod of Section 2. This task is already less trivthan could be expected, because even this langis non-context-free (indeed, if we suppose thais context-free, then its homomorphic image unh(every symbol) = a, which equals{an(n+3)/2 | n �1}, is also context-free, which is known to be untrue

We have to check that the string is of the form (or, equivalently, of the formanu1u2 . . .un, whereeveryuk is a string of exactlyk symbols of the form

b∗cw0, b∗cw1, b∗crb∗cw¬, b∗crb∗c∧b∗cw,or b∗crb∗c∨b∗cw. (3)

The last (and only the last) symbol of eachuk is one of{cw, cw¬, cw0, cw1} and is calledthe write command ofthe gate.

Page 3: The hardest linear conjunctive language

A. Okhotin / Information Processing Letters 86 (2003) 247–253 249

Fig. 1. Checking the syntax by a linear conjunctive grammar.

The set of valid literal representations of circuits∗

can be defined inductively: a stringw ∈ Σ is a syn-

ly

-

ton-:

as

ber

last

on

inal

isthe

:t is

1.etan

hni-a-nd

tionting

teom-helue.

tactically correct description of a circuit if and onif (Basis) w ∈ {acw0, acw1}, or (Induction step) thestringw can be factorized asw = anuv, wheren� 2,u,v ∈ (Σ \ {a})+, |v| = n, u ends with a write command,v is of the form (3) andan−1u ∈Σ∗ is a syntac-tically correct description of a circuit. It is not hardconstruct a linear conjunctive grammar that will geerate the set of strings conforming to this definition

S→ a Count swrite & a Check

(swrite ∈ {cw0, cw1, cw¬, cw}) (4a)

S→ a sw digit

(sw digit ∈ {cw0, cw1}) (4b)

Count→ a Count sinside

(sinside∈ {b, c∨, cw∧, cr }) (4c)

Count→ Skip swrite

(swrite ∈ {cw0, cw1, cw¬, cw}) (4d)

Skip→ Skip snot-a

(snot-a ∈ {b, c∨, cw∧, cr , cw0, cw1, cw¬, cw}) (4e)

Skip→ ε (4f)

Check→ Check1 cw0 | Check1 cw1 |Check2 cw¬ | Check3 cw (4g)

Check1 → Check1 b | S (4h)

Check2 → Check2 b | Check1 cr (4i)

Check3 → Check3 b | Check2 c∨ | Check2 c∧(4j)

The rules (4b) define one-gate circuitsacw0 andacw1,while the rules (4a) implement the induction stepstated above, with the nonterminalCount comparingthe number of symbols in the last gate to the numof prefix a’s, and with the nonterminalCheck simu-lating a finite automaton to determine whether the

Fig. 2. Overview of the computation on a circuit descriptianω(C1) . . . ω(Cn).

gate is of the form (3), and then using the nontermS to ensure that the lastn − 1 a’s and the firstn − 1gates form a correct description of a circuit. Thisillustrated in Fig. 1, where the grey cells denotewrite commands from the set{cw, cw¬, cw0, cw1}.

Now it suffices to solve the following problemgiven a description of a circuit and assuming that isyntactically valid, determine whether it evaluates toIt turns out that this task can be solved by a TTA. Lus explain the main idea of the construction of suchautomaton; the interested reader can find the teccal details in [6]. The information flow in the automton’s computation is outlined in Fig. 2: the grey baformed byn diagonals starting from the prefixan ofthe whole input string of length O(n2) is used to storethe computed values of the gates, and the descripof every gate is used as a microprogram implemena single assignment statement. The value ofith gate ofa circuitw = an · ω(C1) · · · · · ω(Cn) is stored in thediagonal corresponding to the(n− i + 1)th symbola;initially it is set to “?”, and once the value of the gais computed, the diagonal keeps reproducing this cputed value (0 or 1) till the end of the computation; tsubsequent gates have read-only access to this va

Page 4: The hardest linear conjunctive language

250 A. Okhotin / Information Processing Letters 86 (2003) 247–253

rk,

t ofdss

thelues

dthe

ofitsr-g

ofg

e

of

The first component of every pair,the digit, can be0 or 1 only in the diagonals forming the grey band

ingells

ar-

helts

git-tionrdofn-om-m-unc-d.rekg itgo-

he

e—cethe

ript:

l beript:

a

Fig. 3. Operation of an individual conjunction gateCk = Ci ∧Cj .

Let us consider how the individual gates wousing a conjunction gateCk = Ci ∧ Cj (i < j < k)as an example. Fig. 3 shows some middle pointhe grey band of circuit values, which corresponto the gateCk . At this point the values of the gateC1, . . . ,Ck−1 have already been computed, andarea shown in the figure is expected to use these vato compute the value ofCk .

The literal representation of the gateCk ,bi−1crb

j−i−1c∧bk−j−1cw, could be, as mentioneabove, viewed as a microprogram implementingassignment statementCk = Ci ∧ Cj . The substringbi−1cr , i symbols long, is used to find the valuethe gateCi in the grey band and to remembervalue. The substringbj−i−1c∧ seeks the diagonal coresponding to the gateCj , at the same time carryinthe value of the gateCi ; its last symbolc∧ instructsthe automaton to read the value of the gateCj and tocompute its conjunction with the remembered valuethe gateCi . This value is carried on by the substrinbk−j−1cw, which finds the gateCk , and replaces thquestion mark there with the computed valueCi ∧Cj .

Let us now construct a TTA to perform this kindcomputation. DefineM = (Σ,Q, I, δ,F ), where theset of statesQ is

{?,0,1}︸ ︷︷ ︸Digit

×({−, r,∨,∧,w0,w1,w¬,w}︸ ︷︷ ︸Commands

{↖,↖0,↖1,↗,↗0,↗1}︸ ︷︷ ︸Arrows

∪{ }). (5)

in Figs. 2 and 3, once the value of the correspondgates is computed (shown in dark grey); all other chave ? here.

The second component can be a command, anrow or a space. The eight possiblecommands origi-nate from the input symbolsb, cr , c∨, c∧, cw0, cw1,cw¬ andcw, respectively; they are propagated in tleft direction until executed, where execution resuin conversion to an arrow or in alteration of the diin a diagonal. Thearrows organize the data flow necessary to execute commands: their intended direcis upward, but since TTA do not support direct upwacommunication, it is being implemented by a paira left-up and a right-up arrow. An arrow can optioally carry some value, obtained by an earlier read cmand, a conjunction command or a disjunction comand, and intended to be used by some later conjtion, disjunction, write or write negation commanThe states with aspace as a second component acalled theunmarked states and do not have any tasto perform besides holding the digit and propagatinto the right; these states can only appear in the dianals corresponding to the values of the gates.

We shall use the following compact notation for tstates fromQ: the states of the form(?,command)will be denoted by the name of the command aloni.e., w¬ means(?,w¬). The states that have spaas the second component will be denoted byfirst component alone: ?, 0 and 1 mean(?, ), (0, )

and (1, ), respectively. The states of the form(0,command) and (1,command) will be denoted as thenumber with the name of the command as a subsc0∧ means(0,∧) and 1w0 means(1,w0). The statesthat have an arrow as the second component wildenoted with their second component as a supersc0↗ and 1↖0 mean(0,↗) and(1,↖0), respectively.

A state is calledan activator if one of the followingholds:

(i) it is an unmarked state,(ii) it is marked with a right arrow, or(iii) it holds the digit 0 or 1, and it is marked with

write command (w0,w1,w orw¬).

The full list of activators is{?, 0, 1, 0w0, 1w0, 0w1, 1w1,0w, 1w, 0w¬, 1w¬, ?↗, 0↗, 1↗, ?↗0, 0↗0, 1↗0, ?↗1,

Page 5: The hardest linear conjunctive language

A. Okhotin / Information Processing Letters 86 (2003) 247–253 251

0↗1, 1↗1}. Whenever an activatorq ′ and a commandq ′′ meet—i.e., wheneverδ(q ′, q ′′) is computed for an

e

ing

it;,

thenδ(q ′, q ′′) is marked with a left arrow carryingnothing.

ow

it

nee

g

the

isate.

e

.

activatorq ′ and a stateq ′′ marked with a command—the command isexecuted:

• If q ′′ is marked with a write command (w0, w1,w orw¬), then it can be proved that the digit inq ′must be ?. Additionally, it can be proved that ifq ′′is marked withw or w¬, thenq ′ is marked witha right arrow carrying a digit. The stateδ(q ′, q ′′)is then defined as (0,), if q ′′ is marked withw0;as (1, ), if q ′′ is marked withw1; as (the digit onthe arrow inq ′, ), if q ′′ is marked withw; and as(negation of the digit on the arrow inq ′, ), if q ′′is marked withw¬. Note that this is the only caswhen the digit inδ(q ′, q ′′) differs from the digitin q ′.

• If q ′′ is marked with a read commandr, thenδ(q ′, q ′′) retains the digit fromq ′ and is markedwith a left arrow carrying the same digit fromq ′—i.e.,δ(q ′, q ′′) can be 0↖0 or 1↖1 depending onq ′.

• If q ′′ is marked with a dash command (mean“proceed to the next row”), thenδ(q ′, q ′′) retainsthe digit from q ′ and, if q ′ is marked with aright arrow carrying some digit, thenδ(q ′, q ′′) ismarked with a left arrow carrying the same digotherwise, ifq ′ is marked with something else

• If q ′′ is marked with a∧ or ∨ command, thenq ′can be proved to be marked with a right arrcarrying a digit.δ(q ′, q ′′) retains the digit fromq ′and is marked with a left arrow carrying the digcomputed by the command: ifq ′′ is marked with∧ command, then the arrow inδ(q ′, q ′′) is markedwith the conjunction of the first component ofq ′and the digit carried by the arrow inq ′; if q ′′is marked with∨ command, then the arrow iδ(q ′, q ′′) is marked with the disjunction of thfirst component ofq ′ and the digit carried by tharrow inq ′.

Another case is the so-calledturning of the arrow: ifq ′′ is marked with a left arrow (optionally carryinsome digit), then the second component ofδ(q ′, q ′′)is a right arrow loaded with the same cargo asleft arrow of q ′′; the digit in δ(q ′, q ′′) is inheritedfrom q ′. In all other cases the transitionδ(q ′, q ′′)is made by reduplicating the digit fromq ′ and, ifq ′′ is marked with a command, by reduplicating thcommand, otherwise by producing an unmarked st

The initial functionI :Σ → Q mapsa to “?”, b to“−” and every commandc... to the state with the samname as the subscript ofc (e.g.,I (cw0) = w0). Thesole accepting state is(1, ), or 1 in the short notation

Fig. 4. Sample computation of the automaton for CVP.

Page 6: The hardest linear conjunctive language

252 A. Okhotin / Information Processing Letters 86 (2003) 247–253

Consider the circuit from Example 1 in Section 2,shown in the top right corner of Fig. 4, and the

atong

soar

aresengbe

tioniveeariree

am-d in

oleiveind

hend

icalrs-heRex-

outlelwe

see that the existence of such a generalization wouldimply that some P-complete problem can be solved in

seded

ls

,

ofallelofof

delstheAin

veditstwoin

uch

d

es

input values(σ1, σ2)= (1,0). This instance of CVP isencoded as (2), and the computation of the automon this string is given in Fig. 4; it is an acceptincomputation, because 1 is an accepting state.

Let us now put together the results obtainedfar using the following known properties of lineconjunctive languages:

Proposition 1 [5]. A language L ⊆ Σ+ is generatedby a linear conjunctive grammar if and only if it isaccepted by a TTA.

Proposition 2 [4]. The class of linear conjunctivelanguages is closed under all set-theoretic operations.

Having constructed a linear conjunctive grammfor checking syntax and a TTA for computing thvalue of a properly described circuit, we can uProposition 1 to find out that both languages beloto the class of linear conjunctive languages. It canobserved that the language of CVP is the intersecof these two languages, which is linear conjunctby Proposition 2. Therefore, there exist both a linconjunctive grammar and a TTA solving the entcircuit value problem. Full technical details of thconstruction are provided in [6].

4. Theoretical implications

We have demonstrated that linear conjunctive grmars can generate a language, which is, as arguethe Introduction, computationally as hard as the whfamily; although the same holds for context-sensitgrammars, this seems to be the first result of this kfor practically useful families of grammars.

Besides partially satisfying one’s curiosity on tgenerative power of linear conjunctive grammars aTTA, the result of this paper has several theoretimplications. One concerns the complexity of paing for conjunctive grammars. Although most of tcontext-free parsing algorithms (LL, generalized Land several tabular algorithms) have already beentended for the case of conjunctive grammars withincreasing their complexity, logarithmic-time paralparsing algorithms [8] defied generalization. Now

NC [7,9] (NLOGSPACE⊆ NC ⊆ P), and conjecturethat no such parsing algorithm exists:

Proposition 3. If NC �= P, then logarithmic-timeparallel parsing algorithms for context-free grammarscannot be generalized for conjunctive grammars.

Second, we can now return to the question (raiin [2]) on whether conjunctive languages are closunderε-free homomorphism. Define

Γ = (Σ \ {cw0, cw1}

) ∪ {cin}and consider the homomorphismh :Σ+ → Γ + thatmaps bothcw0 andcw1 to cin, and maps other symbofrom Σ to themselves. Clearly,h turns the circuitvalue problem into the circuit satisfiability problemwhich implies the following:

Theorem 1. The language h(LCVP) is an NP-completelanguage.

Corollary 1. If P �= NP, then the family of conjunc-tive languages is not closed under letter-to-letter ho-momorphism and under ε-free homomorphism.

One more theoretical implication of the resultthis paper concerns the abstract models of parcomputation. Both TTA (also under the nameone-way real-time cellular automata) and circuitspolylogarithmic depth are sometimes used as moof parallel computation, and the latter definescomplexity class NC. As we have just proved, TTare powerful enough to solve complete problemsthe class P, which are, on the other hand, belienot to be solvable by polylogarithmic-depth circu(the NC�= P assumption). This suggests that thesemodels of parallel computation are very differentpower, and triangular trellis automata can solve mharder problems.

References

[1] C. Choffrut, K. Culik II, On real-time cellular automata antrellis automata, Acta Inform. 21 (1984) 393–407.

[2] A. Okhotin, Conjunctive grammars, J. Automat. LanguagCombin. 6 (4) (2001) 519–535.

Page 7: The hardest linear conjunctive language

A. Okhotin / Information Processing Letters 86 (2003) 247–253 253

[3] A. Okhotin, A recognition and parsing algorithm for arbitraryconjunctive grammars, Theoret. Comput. Sci., to appear. doi:

ve

veDLTger,

een’s

[7] Ch.H. Papadimitriou, Computational Complexity, Addison-Wesley, Reading, MA, 1994.

in:in:

85,

10.1016/S0304-3975(02)00853-8.[4] A. Okhotin, On the closure properties of linear conjuncti

languages, Theoret. Comput. Sci. 299 (2003) 663–685.[5] A. Okhotin, Automaton representation of linear conjuncti

languages, in: Developments in Language Theory, Proc.2002, Kyoto, Japan, Lecture Notes in Comput. Sci., SprinBerlin, to appear.

[6] A. Okhotin, A linear conjunctive grammar for the circuit valuproblem, Tech. Rept. 2002-460, School of Computing, QueUniversity, Kingston, ON, 2002.

[8] W. Rytter, On the recognition of context-free languages,5th Symposium on Fundamentals of Computation Theory,Lecture Notes in Comput. Sci., Vol. 208, Springer, Berlin, 19pp. 315–322.

[9] H. Vollmer, Introduction to Circuit Complexity: A UniformApproach, Springer, Berlin, 1999.