Create a tree automaton according to a file
- Example: create a tree automaton "A0" by reading the definition in a texte file "A0.txt":
tree_automaton A0("A0.txt");
Create a union tree automaton of 2 tree automata
- Example: create a union tree automaton "A0UA1" of 2 automata "A0" and "A1":
tree_automaton A0UA1 = A0.U(A1);
Create an intersection tree automaton of 2 tree automata
- Example: create an intersection tree automaton "A0IA1" of 2 automata "A0" and "A1":
tree_automaton A0IA1 = A0.I(A1);
Check if the language of a tree automaton is included in the language of another tree automaton
- Example: check if the language of tree automaton "A0" is included in the language of tree automaton "A1":
if(A0.is_included_in(A1)) cout << "Included" << endl; else cout << "Not included" << endl;
Check if the language of a tree automaton is included in the language of another tree automaton with restriction of maximum tree dimension
- Example: check if the language of tree automaton "A0" is included in the language of tree automaton "A1" with restriction of maximum 5 tree dimension:
if(A0.is_included_in(A1, 5)) cout << "Included" << endl; else cout << "Not included" << endl;
Calculate the maximum dimension of a tree automaton
- Example: calculate the maximum dimension of a tree automaton "A0":
cout << A0.upper_bound_dimension() << endl;