Here we prove a general result, given by Proposition 2.3.4 and Equation (2.3.7) of Corollary 2.3.5, that provides an expression for the set of gap lengths of an attractor in a directed graph IFS in terms of cosets of finitely generated semigroups. The proof we give is constructive and is illustrated by examples in Sections 2.4 and 2.5. First we provide some preliminary lemmas that will be used in the proof of Proposition 2.3.4.
Lemma 2.3.1. Let g ∈ E∗ be any path in a directed graph and let c ∈ E∗ be any simple cycle. Suppose c is attached to g, then we can always order the constituent edges of g and c to create a single new path f ∈ E∗ which has the contracting similarity ratio
rf =rgrc,
where i(f) =i(g) and t(f) =t(g).
Proof. Starting at the initial vertex i(g) we travel along the edges of g until we meet the first common vertexv which lies on both g and c. We then travel all the way round the edges of c until we return to v. Finally we continue along all the remaining edges of g until we finish at the terminal vertex t(g). Travelling along the edges ofgand cin this order creates the required pathf ∈E∗ with the required similarity ratio rf =rgrc and clearly i(f) = i(g) and t(f) =t(g).
2.3 An expression for the set of gap lengths of an attractor 47
Lemma 2.3.2. Let f ∈ E∗ be any path in a directed graph which is not a simple path, then the constituent edges of f can always be re-ordered to create a new path
g∈E∗ and a simple cycle c∈E∗, which is attached to g, such that
rf =rgrc,
where i(f) =i(g) and t(f) =t(g).
Proof. Since f is not a simple path, as we travel along it we must eventually visit at least one vertex twice, so there is a vertex w that is the first to appear twice in the vertex list of the path. For example if xyzyx is the vertex list of a path then we regardy as the first vertex to appear twice and notx. Let c∈Eww∗ be the path traversed between the first two visits to w, then c is a simple cycle. We now let
g ∈ E∗ be the path formed by taking f and removing the edges of c. It follows that c is a simple cycle attached to g at the vertex w with rf = rgrc and clearly i(f) = i(g) and t(f) =t(g).
We recall (see Subsection 2.1.1, the second paragraph after Figure 2.1.2) that a sequence of distinct simple cycles c1· · ·ck is attached if each cycle in the sequence
is attached to its immediate predecessor and successor. A cycle in an attached finite sequence of (distinct) cycles may well be attached to other cycles in the sequence as well as its immediate predecessor and successor. A chain is therefore an attached sequence of distinct cycles but the converse is not true in general. This explains the significance of the next lemma.
Lemma 2.3.3. Let k ∈ N, k > 2, and suppose c1c2· · ·ck−1ck is an attached se-
quence of distinct simple cycles in a directed graph, then there exists a subsequence
{1, n1, n2, . . . , nj, k : 1< n1 < n2 < . . . < nj < k} ⊂ {1,2, . . . , k}
such that c1cn1cn2· · ·cnjck is a chain.
Proof. We use the principle of strong mathematical induction. Letk ∈N, k >2, and let P(k) be the following statement.
An attached sequence of distinct simple cyclesc1c2· · ·ck−1ck in a directed graph,
contains a subsequence
{1, n1, n2, . . . , nj, k : 1< n1 < n2 < . . . < nj < k} ⊂ {1,2, . . . , k}
such that c1cn1cn2· · ·cnjck is a chain.
Induction base.
P(2) is true. Two attached distinct simple cycles,c1c2, always form a chain.
Induction hypothesis.
Letk ∈N, k >2, we assume P(n) is true, for alln ∈N, 26n6k.
Induction step.
Consider an attached sequence of distinct simple cycles c1c2· · ·ckck+1. If this sequence of cycles is a chain then P(k + 1) holds for this particular sequence, so we assume it is not a chain. This means there exists a least m, 3 6 m 6 k+ 1,
such that c1c2· · ·cm−1cm is not a chain but where c1c2· · ·cm−1 is a chain. It now follows from the definition of a chain thatcm is attached to at least one cycleci with
16i6m−2. The sequencec1c2· · ·cicm is an attached sequence of distinct simple
cycles of length at mostm−1, and the attached sequence of distinct simple cycles
c1c2· · ·cicmcm+1· · ·ck+1 is now of length at most k. By the Induction Hypothesis
P(k+ 1) is true.
By the principle of strong mathematical induction P(k) is true for all k ∈ N, 26k.
Proposition 2.3.4.Let V, E∗, i, t, r,((R,| |))v∈V,(Se)e∈E1be a directed graph IFS
which satisfies the CSSC, then the gap lengths of any attractor of such a system can always be represented as a finite union of cosets of finitely generated semigroups with identity. These semigroups are subsemigroups of (R+,×), and their generators are contracting similarity ratios of simple cycles in the graph.
Proof. The simple cycles in the graph can be identified and labelled as
T ={ci :i∈I}
for some indexing setI ={1,2, . . . , m}. In what followsT is as defined in Equation (2.1.2), derived from the finite setT ={ci :i∈I}, with the binary operation } as
given in Equation (2.1.3), so that (T,}) is a finite semigroup. The map ψ is as defined in Equation (2.1.1), and maps strings in T∗ =hε,ci :i∈Ii to positive real
numbers, where the similarity ratio function r : T → R+ is used in place of g. We consider a vertex u∈V as fixed.
(a) The definition of A, S
A and ψ(S
A), where (A,})6(T,}).
• The set of chains of length 1 (simple cycles), attached to the vertex u, are identified and labelled as
{ci1 :i1 ∈I1} for some indexing set I1 ⊂I.
The chains of length 1 generate the semigroup of strings
A1 =hε,cα :α∈I1i,
here we remind the reader that ε is the empty string.
• The set of chains of length 2, attached to the vertex u, are identified and labelled as
{ci1ci2 : (i1, i2)∈I2} for some indexing set of ordered pairs I2 ⊂I1×I.
This set of chains of length 2 generates the cosets of semigroups of strings
At =ci1hε,cα,cβ :α∈I1,(i1, β)∈I2i
for t= 2, . . . , t2+ 1 where t2 = #{i1 : (i1, i2)∈I2} that ist2 is the number of
2.3 An expression for the set of gap lengths of an attractor 49
• The set of chains of length 3, attached to the vertex u, are identified and labelled as
{ci1ci2ci3 : (i1, i2, i3)∈I3}
for some indexing set of ordered triples I3 ⊂I2×I ⊂I1×I×I.
This set of chains of length 3 generates the cosets of semigroups of strings
At=ci1ci2hε,cα,cβ,cγ :α ∈I1,(i1, β)∈I2, (i1, i2, γ)∈I3i
for t =t2+ 2, . . . , t3+t2+ 1 where t3 = #{(i1, i2) : (i1, i2, i3)∈I3}.
..
. ... ...
• The set of chains of length n, attached to the vertex u, are identified and labelled as
{ci1ci2· · ·cin : (i1, i2, . . . , in)∈In}
for some indexing set of ordered n-tuplesIn⊂In−1×I ⊂ · · · ⊂I1×I× · · · ×I. This set of chains of length n generates the cosets of semigroups of strings
At=ci1ci2· · ·cin−1hε,cα,cβ,cγ, . . . ,cω :α ∈I1, (i1, β)∈I2, (i1, i2, γ)∈I3, . . . , (i1, i2, . . . , in−1, ω)∈Ini for t = 2 +Pn−1 r=2tr, . . . ,1 + Pn r=2tr, where tn = #{(i1, i2, . . . , in−1) : (i1, i2, . . . , in−1, in)∈In}.
This listing process must terminate asn, n6m, is simply the length of the longest chain(s) in the graph attached to the vertex u. Let N = 1 +Pn
r=2tr denote the
number of elements in the list. Each of the cosets Ai is a collection of strings on the symbols T = {ci :i∈I} that is Ai ⊂ T∗ for i, 1 6 i 6 N. T is as defined
in Equation (2.1.2) so Ai ∈ T for i, 1 6 i 6 N. With the binary operation }
as defined in Equation (2.1.3) it follows that (A,}) 6 (T,}), where the finitely generated semigroup A, is defined as
A=hAi : 16i6Ni.
It follows from the definition of the binary operation}in Equation (2.1.3), that the finite semigroupA, can also be expressed as
A=
Aj1 }Aj2 }· · ·}Ajk :j1j2· · ·jk ∈ {1,2, . . . , N} M ,
where we remind the reader that {1,2, . . . , N}M, defined in Subsection 2.1.1, is the set of all finite sequences of distinct elements from{1,2, . . . , N}with no repetitions.
LetS A be defined as [ A= [ j1j2···jk∈{1,2,...,N}M Aj1}Aj2 }· · ·}Ajk,
then S
A ⊂ T∗. The contracting similarity ratio of each simple cycle in the graph provides us with a function r : T → (0,1), so taking ψ to be the function defined in Equation (2.1.1), using the similarity ratio function r in place of g, (also see Equation (2.1.4)), we now may defineψ(S
A) as ψ[A= [ j1j2···jk∈{1,2,...,N}M ψ(Aj1 }Aj2 }· · ·}Ajk), whereψ(S A)⊂T∗ =h1, Ci :i∈Ii ⊂R+.
We prove, in parts (b) and (c) that follow, that
ψ[A={1, re:e∈Euu∗ }. (2.3.1)
(b) ψ(S
A)⊂ {1, re:e∈Euu∗ }.
The empty string ε ∈ A1, so ε ∈ SA and ψ(ε) = 1 ∈ {1, re :e∈Euu∗ }. Now
consider any non-empty string of simple cycles ci1ci2· · ·cil ∈ S
A then
ci1ci2· · ·cil ∈Aj1 }Aj2 }· · ·}Ajk
for some stringj1j2· · ·jk∈ {1,2, . . . , N}M. From the construction of eachAiand the
definition of the binary operation}it is clear that each cyclecij is either attached to the vertexuor to a cycle that appears on its left in the stringci1ci2· · ·cil. Applying Lemma 2.3.1 with g = ci1 ∈ E
∗
uu and c =ci2 we obtain f ∈E ∗
uu with rf = Ci1Ci2. Now puttingg =f and c=ci3, applying Lemma 2.3.1 again produces a new cycle
f ∈Euu∗ with rf =Ci1Ci2Ci3. Applying Lemma 2.3.1 repeatedly in this way we can produce a cyclef ∈Euu∗ such that
rf =Ci1Ci2· · ·Cil =ψ(ci1ci2· · ·cil). Hence ψ(SA )⊂ {1, re :e ∈Euu∗ }. (c) {1, re:e∈Euu∗ } ⊂ψ( SA ).
An example illustrating the main ideas behind this proof is given in Figure 2.5.2 and the text that follows it.
We pointed out in part (b) that 1 ∈ ψ(SA
) so we only need to consider the (non-empty) paths e ∈ Euu∗ . If e is a simple cycle then it is a chain of length 1 attached to u, and so e ∈ A1 and re ∈ ψ(
S
A). So we assume e is not a simple cycle. Puttingf =e∈ Euu∗ in Lemma 2.3.2 we obtain a path g ∈Euu∗ , attached to
u, and a simple cycle in the graphci1, i1 ∈I, which is attached togwithre =rgCi1. Eitherg is a simple cycle, or it is not. If it is a simple cycle we stop, if not, we put
f = g and apply Lemma 2.3.2 again to give a new path g and a new simple cycle in the graph ci2, i2 ∈ I, attached to g, such that re = rgCi2Ci1. It is important to note here that the simple cycle ci1 is attached to at least one of g or ci2 and that ci2 is attached to g. This iterative process must eventually terminate when
g∈Euu∗ becomes a simple cycle in the graph, which is attached to the vertexu. On termination,re will be expressed in the form
2.3 An expression for the set of gap lengths of an attractor 51
where simple cycles may be repeated in the string cikcik−1· · ·ci2ci1 ∈T
∗, wherec
ik is attached to u, and where every other cycle in this string is either attached to the vertex u, or it is attached to at least one cycle appearing on its left. Applying the functionϕ, defined by Equation (2.1.5), we obtain
ϕ(cikcik−1· · ·ci2ci1) = c k1 j1c k2 j2 · · ·c kl jl, (2.3.2)
where for convenience we have relabelled the indices, with j1 = ik. The function ϕ operates by collecting up identical occurrences of a symbol into powers whilst preserving the order of the first appearance of the different symbols in the original string as we go from left to right, see Equation (2.1.5), so it follows that the simple cycle cj1 is attached to the vertex u and every other simple cycle in the string on the right-hand side of this equation is either attached to u, or it is attached to at least one simple cycle occuring to its left. In terms of similarity ratios
re=ψ(cikcik−1· · ·ci2ci1) =ψ(c k1 j1c k2 j2 · · ·c kl jl) =C k1 j1C k2 j2 · · ·C kl jl, (2.3.3) Now consider cjl, if cjl is attached to u then cjl ∈ A1 and we put Aql = A1. If
cjl is not attached tou, then it is attached tocja1 for some a1 ∈ {1,2,· · · , l−1}. If
cja1 is not attached tou then it is attached tocja2 for somea2 ∈ {1,2,· · · , a1−1}. We continue in this way until we arrive at the first cycle,cjas which is attached to
u, at which point we stop. This process produces an attached sequence of distinct cycles,cjascjas−1· · ·cja1cjl, wherecjas is attached to u. By Lemma 2.3.3 there exists another subsequence, containing at least two terms,
{as, bt, bt−1, . . . , b1, l:as < bt< bt−1 < . . . < b1 < l}
⊂ {as, as−1, . . . , a1, l :as< as−1 <· · ·< a1 < l} ⊂ {1,2,· · · , l−1, l}
such thatcjascjbtcjbt−1 · · ·cjb1cjl is a chain attached to the vertex u. LetAql be the coset corresponding to this chain as given in the algorithm of part (a). So
Aql =cjascjbtcjbt−1 · · ·cjb1hε, . . . ,cjl, . . .i,
where each simple cycle in the multiplier occurs on the right-hand side of Equation (2.3.2), and cjl is a generator of the semigroup. For each i, 1 < i 6 l, we apply this process. It is clear from the definition of the operation}, (see Equation (2.1.3) above), thatAq1 }Aq2 }· · ·}Aql will be of the form
Aq1 }Aq2 }· · ·}Aql =cjd1cjd2 · · ·cjdkhε, . . . ,cj1,cj2, . . . ,cjl−1,cjl, . . .i. for some, possibly empty, subsequence (d1, d2, . . . , dk) of (1,2, . . . , l−1), so each
simple cycle in the multiplier occurs on the right-hand side of Equation (2.3.2). (If the subsequence (d1, d2, . . . , dk) is empty, then Aql }· · ·}Aq2 }Aq1 = A1). Every simple cycle that occurs on the right-hand side of Equation (2.3.2) is also a generator of this semigroup. Now
ψ(Aq1 }Aq2 }· · ·}Aql) = Cjd1Cjd2· · ·Cjdkh1, . . . , Cj1, Cj2, . . . , Cjl−1, Cjl, . . .i, and so from Equation (2.3.3)
re =Cjk11C
k2
j2 · · ·C
kl
Therefore{1, re:e∈Euu∗ } ⊂ψ(
S
A) as was required to be shown.
(d) The definition of Bp, SBp and ψ(SBp), for each simple path p ∈ D∗
uv, v ∈V, v 6=u, where (Bp,})6(T,}).
Let v ∈ V, v 6= u be fixed, and p ∈ Duv∗ ⊂ Euv∗ be any simple path from the vertex u to v which we also consider as fixed. Replacing the phrase, attached to the vertex u, by the phrase, attached to the simple path p, in the algorithm for generating the cosets Ai, 16 i6 N in part (a), we obtain the following algorithm
for generating a list of cosets of finitely generated string semigroupsBjp, 16j 6M.
• The set of chains of length 1, attached to the simple pathp, are identified and labelled as
{ci1 :i1 ∈I
p
1} for some indexing set I1p⊂I.
These chains of length 1 generate the semigroup of strings
B1p=hε, Cα :α ∈I1pi.
• The set of chains of length 2, attached to the simple pathp, are identified and labelled as
{ci1ci2 : (i1, i2)∈I
p
2} for some indexing set of ordered pairs I2p ⊂I1p×I.
This set of chains of length 2 generates the cosets of semigroups
Btp =ci1hε,cα,cβ :α∈I
p
1, (i1, β)∈I2pi
for t= 2, . . . , t2+ 1 where t2 = #{i1 : (i1, i2)∈I2p}that is t2 is the number of
distinct elements in the set {i1 : (i1, i2)∈I2p}.
• The set of chains of length 3, attached to the simple pathp, are identified and labelled as
{ci1ci2ci3 : (i1, i2, i3)∈I
p
3}
for some indexing set of ordered triples I3p ⊂I2p×I ⊂I1p×I ×I. This set of chains of length 3 generates the cosets of semigroups
Btp =ci1ci2hε,cα,cβ,cγ :α∈I p 1, (i1, β)∈I2p,(i1, i2, γ)∈I3pi for t =t2+ 2, . . . , t3+t2+ 1 where t3 = #{(i1, i2) : (i1, i2, i3)∈I3p}. .. . ... ...
• The set of chains of length n, attached to the simple pathp, are identified and labelled as