30 Recognizable Tree Languages and Finite Tree Automata
the operation to these languages. Let us note that the equivalence between
NFTA and DFTA is effective, thus we may choose the representation that suits
us best. Nevertheless, the determinization algorithm may output a DFTA whose
number of states is exponential in the number of states of the given NFTA.
For the different closure properties, we give effective constructions and we give
the properties of the resulting FTA depending on the properties of the given
FTA as input. In this section, we consider the Boolean set operations: union,
intersection, and complementation. Other operations will be studied in the next
sections. Complexity results are given in Section 1.7.
Theorem 1.3.1. The class of recognizable tree languages is closed under union,
under complementation, and under intersection.
Union
Let L
1
and L
2
be two recognizable tree languages. Thus there are tree au-
tomata A
1
= (Q
1
, F, Q
f1
, ∆
1
) and A
2
= (Q
2
, F, Q
f2
, ∆
2
) with L
1
= L(A
1
)
and L
2
= L(A
2
). Since we may rename states of a tree automaton, without
loss of generality, we may suppose that Q
1
∩ Q
2
= ∅. Now, let us consider
the FTA A = (Q, F, Q
f
, ∆) defined by: Q = Q
1
∪ Q
2
, Q
f
= Q
f1
∪ Q
f2
, and
∆ = ∆
1
∪∆
2
. The equality between L(A) and L(A
1
)∪L(A
2
) is straightforward.
Let us note that A is nondeterministic and not complete, even if A
1
and A
2
are
deterministic and complete.
We now give another construction which preserves determinism. The intu-
itive idea is to process in parallel a term by the two automata. For this we
consider a product automaton. Let us suppose that A
1
and A
2
are complete.
And, let us consider the FTA A = (Q, F, Q
f
, ∆) defined by: Q = Q
1
× Q
2
,
Q
f
= Q
f1
× Q
2
∪ Q
1
× Q
f2
, and ∆ = ∆
1
× ∆
2
where
∆
1
× ∆
2
= {f((q
1
, q
′
1
), . . . , (q
n
, q
′
n
)) → (q, q
′
) |
f(q
1
, . . . , q
n
) → q ∈ ∆
1
f(q
′
1
, . . . , q
′
n
) → q
′
∈ ∆
2
}
The proof of the equality between L(A) and L(A
1
) ∪L(A
2
) is left to the reader,
but the reader should note that the hypothesis that the two given tree automata
are complete is crucial in the proof. Indeed, suppose for instance that a ground
term t is accepted by A
1
but not by A
2
. Moreover suppose that A
2
is not
complete and that there is no run of A
2
on t, then the product automaton do es
not accept t because there is no run of the product automaton on t. The reader
should also note that the construction preserves determinism, i.e. if the two given
automata are deterministic, then the product automaton is also deterministic.
Complementation
Let L be a recognizable tree language. Let A = (Q, F, Q
f
, ∆) be a complete
DFTA such that L(A) = L. Now, complement the final state set to recognize
the complement of L. That is, let A
c
= (Q, F, Q
c
f
, ∆) with Q
c
f
= Q \ Q
f
, the
DFTA A
c
recognizes the complement of set L in T (F).
If the input automaton A is a NFTA, then first apply the determinization
algorithm, and second complement the final state set. This could lead to an
exponential blow-up.
TATA — November 18, 2008 —