1. REVISIÓN BIBLIOGRÁFICA
1.3. SÍNTESIS ORGÁNICA DE COMPUESTOS QUINOLÍNICOS POR MICROONDAS
Definition 5.2. A shapeS:V ÑV˚
is a copyless function over the set of registersV. Given an initial stateqand an input stringwPΣ˚
, letσ“qÑwq1
be the corresponding path through
M. The shape of the pathσis the functionSσ :VÑV˚
such that for all registersvPV,Sσpvq
is the projection ontoVof the register update expression,µpq,w,vq: Sσpvq “πVpµpq,w,vqq. Because the register setVis finite, there are only a finite number of copyless functions,
S:VÑV˚
x y z x y z (a)q1Ñaq1,SK. x y z x y z 1 2 (b)q2Ñbq3. x y z x y z 1 2 3 (c)q2Ñbbq3,SJ. x y z x y z 1 2
(d)Shape of the update x:“yz,y:“x,x:“. x y z x y z 1 2
(e)ShapeS1of the up-
datex :“ x, y :“ yz, z:“. x y z x y z 1 2
(f)ShapeS2of the up-
date x :“ xz, y :“ y, z:“.
Figure 5.3: Visualizing shapes as bipartite graphs. Figures 5.3a–5.3c describe the shapes
of some paths in the SSTM2from figure 3.2. With the orderxăyăz, only the shape in
figure 5.3d is not upward-flowing. We will refer to the shapes in figures 5.3a, 5.3c, 5.3e, and 5.3f later in this chapter. For convenience, we name themSK,SJ,S1, andS2 respectively. The namesSKandSJare motivated by their position in the pre-orderĎdefined in section 5.7.
Example 5.3. It is helpful to visualize shapes as bipartite graphs, as in figure 5.3. When multiple edges lead to the same vertex, such asx Ñ x,y Ñ x, andzÑ xin figure 5.3c,
the numbers on the edges disambiguate the order: soSJpxq “xyz. An edgeuÑvcan be informally read as “The value ofuflows intov”. Because of the copylessness restriction, every node on the left is connected to at most one node on the right. 4 When two paths are concatenated, their shapes are combined. We define the concatenation
S1¨S2 of two shapesS1 andS2 as follows. Given a registervPV, letS2pvq “v1v2¨ ¨ ¨vk. For
eachiP t1, 2, . . . ,ku, definesi“S1pviq. Notice thatsiPV˚is a sequence of register names. Our definition ofpS1¨S2qpvq PV˚
should also be a sequence of register names. We define
pS1¨S2qpvq “s1s2¨ ¨ ¨sk,
i.e. the concatenation of the individual sequencessi. Informally, the concatenation of shapes corresponds to the composition of their bipartite graph visualizations. By definition, therefore:
Proposition 5.4. Letσ “q Ñw q1 andσ1
“q1
Ñw1 q2 be two paths through an SSTM, such that the final stateq1 ofσis the same as the initial state ofσ1. Then, for all registersv,
Sσ¨σ1pvq “ pSσ¨Sσ1qpvq.
Let S be the shape of a path σ “ q Ñw q1
through an SST. Consider a register v so that Spvq “ v1v2¨ ¨ ¨vk. The summary update for register v is therefore of the form µpq,w,vq “s1v1s2v2¨ ¨ ¨vksk`1. We call each positionpv,mq, formP t1, 2, . . . ,|Spvq| `1ua patch in the corresponding shape.
Definition 5.5. An expression vector A for a shapeS is a map from patchespv,mqto consistent DReX expressions,Av,m:Σ˚ ùD, such that all the expressions have the same domain: DompAv,mq “DompAv1,m1qfor all patchespv,mqandpv1,m1q.
Pick a languageLĎΣ˚
, and a stateqPQsuch that all stringswwhen processed starting
fromqhave the same shapeS. An expression vectorAsummarizesLif (a) for each string
wPLeach patchpv,mqofS,
JAv,mKpwq “sv,m,
wheresv,mis the constant appearing at positionminµpq,w,vq, and (b) for each component
expression,Av,m, DompAv,mq “L.
Example 5.6. Consider the loopa˚ at the stateq2ofM2. Consider the concrete stringak. The effect of this string is to updatex:“x¨ak,y:“y, andz:“z¨bk. The shape of this set
of paths is therefore the identity functionS“ txÞÑx,yÞÑy,zÞÑzu. Define the expression
vectorAas follows:
Ax,1“Ay,1 “Ay,2“Az,1“a˚
ÞÑ, Ax,2“iterpaÞÑaq, and
Az,2“iterpaÞÑbq.
ThenAsummarizes the set of pathsa˚ starting from the stateq2. 4 We now restate the desired invariant (informally described in the proof outline in sec- tion 5.1):
Invariant 5.7. In step iof the SST-to-DReX expression translation, the expression vector RpSiqpq,q1q
summarizes all paths inrpiqpq,q1qwith shapeS.