5.5 Properties and variants
5.5.2 Copyless STTs
When the conflict relation ηis purely reflexive (i.e. {(x,x) | x ∈ X}) we call an STT
copyless. The set of copyless assignments fromYto Xis denoted byA(X,Y,Σ)where
we drop the relationη. We now define the notion of atomic assignment, which will be
fundamental in many proofs.
Definition 5.3. A copyless assignmentρ ∈ A(X,X∪Y,Σ)isatomiciff it has one of the
following forms:
Reset: for some variablex ∈ X, and somea,b∈ Σ, x:= ε,x :=?,x:= ha?bi, orx := a,
and for every variabley∈ X, ify6= x, theny:=y;
Concatenation: for some two distinct variablesx,y ∈ X, x := xyor x := yx,y := εor
y:=?, and for every variablez∈ X, ifz6=xandz6= y, thenz:= z;
Substitution: for some two distinct variablesx,y ∈ X, x := x[y]or x := y[x], y :=? or y:=ε, and for every variablez∈X, ifz 6= xandz6=y, thenz:=z;
Swap: for some two distinct variablesx,y ∈ X,x := y, y := x, and for every variable
z∈ X, ifz6=xandz6= y, thenz:= z.
We then show that every copyless assignment can be broken into a sequence of simpler atomic assignments.
Lemma 5.4. For every copyless assignmentρ ∈ A(X,X,Σ)there exists a set of variables Y disjoint from X, and a sequence of assignments s=ρ1, . . . ,ρnsuch that:
1. for every variable x ∈X, s(x) =ρ(x);
2. the assignmentρ1belongs toA(X∪Y,X,Σ)and it is atomic;
3. for every2≤j≤n, the assignmentρj belongs toA(X∪Y,X∪Y,Σ), and it is atomic.
Proof. We sketch the proof and gloss over the fact the variables can be of both type-0
and type-1. Given an expressione∈ E=E0∪E1we define the size ofe,SIZE(e), as the
size of its parse tree:
• if for somee1different from ?,e =hae1bi, thenSIZE(e) =1+SIZE(e1);
• if for somee1,e2,e =e1e2, ore =e1[e2], thenSIZE(e) =1+SIZE(e1) +SIZE(e2).
Given an assignmentρ∈ A(X1,X2,Σ), we defineSIZE(ρ)∈N×N×Nto be the value
(a,b,c)such that a = maxx∈X1SIZE(ρ(x))is the maximum size of a expression on the
right hand side of a variable,bis the number of variables for which the right-hand side is an expression of sizea, andcis the size of the set{x | ∃y.y6=x∧ρ(x) =y}. We define the total order between two triplets (a,b,c),(a0,b0,c0) ∈ N3 as (a,b,c) < (a0,b0,c0) if
a <a0, ora= a0 andb< b0, ora= a0,b=b0, andc<c0.
Given an assignmentρ that is not atomic, we show thatρ can always be transformed
into a sequence of atomic assignments s = ρ1ρ2, such that SIZE(ρ1) < SIZE(ρ), ρ2 is
atomic, and for every x ∈ X, s(x) = ρ(x). The new assignments can have new vari-
ables. We proceed by case analysis onsize(ρ) = (s1,s2,s3).
• Ifs1=0 the assignment is already atomic.
• Ifs1=1 we have two possibilities.
– Ifρis atomic, then we are done; or
– s3 ≥ 1 and there exist two distinct variables x andy, such thatρ(x) = y.
Replaceρwith the sequenceρ1ρ2, such thatρ1(x) =ρ(y),ρ1(y) =y,ρ2(x) =
y, ρ2(y) = x, and for every z different from x and y, ρ1(z) = ρ(z), and
ρ2(z) =z. The size ofρ1is(s1,s2,s3−1)which concludes this case.
• Ifs1>1 we have three possibilities.
– One variable xhas right-hand sidee = w1w2, and ehas sizes1. Replaceρ
with the sequenceρ1ρ2, such thatρ1,ρ2 ∈ A(X∪ {v},X∪ {v},Σ): ρ1(x) =
w1,ρ1(v) = w2, ρ2(x) = xv,ρ2(v) = ε, and for each ysuch thaty 6= xand
y6=n,ρ1(y) =ρ(y)andρ2(y) =y. We then have thatρ2is atomic, and since
w1andw2both have smaller size thane,size(ρ1)is smaller thansize(ρ).
– One variable xhas right-hand sidee = w1[w2], ande has sizes1. Replaceρ
with the sequenceρ1ρ2 of assignment over X∪ {n}such that: ρ1(x) = w1,
ρ1(n) = w2, ρ2(x) = x[n], ρ2(x) = ε, and for each y such that y 6= x and
y6=n,ρ1(y) =ρ(y)andρ2(y) =y. We then have thatρ2is atomic, and since
w1andw2both have smaller size thane,size(ρ1)is smaller thansize(ρ).
– One variablexhas right-hand sidee = hawbi, ehas sizes1, andw 6=?. Re-
place ρ with the sequence ρ1ρ2 of assignment over X∪ {n} such that: 1)
ρ2(x) = x[n], ρ2(n)ε, and for eachy ∈ X, such thaty 6= x, ρ3(y) = y. The
assignmentρ2is atomic. Sincewhas smaller size thane,size(ρ1)is smaller
thansize(ρ).
It is easy to observe that every atomic assignment overnvariables has size(0,n, 0)or (1,n0,k)withn≤n0andk≤2. We can therefore repeat the procedure we just described until the first assignment is also atomic. This concludes the proof.
Corollary 5.5. For every copyless assignment ρ ∈ A(X,X∪Y,Σ), with X disjoint from
Y, there exists a set of variables Z disjoint from X∪Y and a sequence of assignments s =
ρ1, . . . ,ρnsuch that:
1. for every variable x ∈X, s(x) =ρ(x);
2. the assignmentρ1belongs toA(X∪Y∪Z,X∪Y,Σ)and it is atomic;
3. for every2≤ j≤n, the assignmentρjbelongs toA(X∪Y∪Z,X∪Y∪Z,Σ)and it is
atomic;
4. the assignmentρnbelongs toA(X,X∪Y∪Z,Σ)and it is atomic.
Moreover, if two copyless assignments are composed, the resulting assignment is still copyless.
Lemma 5.6. Given a copyless assignment ρ ∈ A(Y,X,Σ), and a copyless assignment ρ0 ∈ A(Z,Y,Σ), the composed assignmentρ1 = ρ·ρ0 ∈ A(Z,X,Σ)is a copyless assignment in
A(Z,X,Σ).
Proof. Assume this is not the case. Then there exists a variable x ∈ X that appears
twice in the right hand side ofρ1. This means that there exists two variablesy1,y2 ∈Y
appearing in the right hand side of ρ0, such that both ρ(y1) and ρ(y2) contain x. If
y1 6= y2, the assignmentρ cannot be copyless, since it would contain two occurrences
ofx. Ify1= y2,ρ0cannot be copyless, since it would contain two occurrences ofy1.