### Combinatorial Species of Phylogenetic Trees

I would like to study the combinatorial class ${\cal H}$ of labelled phylogenetic trees, defined as rooted trees, whose internal nodes are unlabelled
and are constrained to have outdegree $\geq 2$, while their leaves have labels attached to them.

According to Flajolet, Sedgewick:
*Analytic Combinatorics*, p. 128, they satisfy the recursive specification
$${\cal H}={\cal Z}+\mbox{Set}_{\geq 2}({\cal H})$$
I defined their species $H$ by the code

```
Z=species.SingletonSpecies()
E2=species.SetSpecies(min=2)
G=CombinatorialSpecies()
H=CombinatorialSpecies()
G.define(E2(Z+G))
H=Z+G
```

The number of labelled structures is given by the integer sequence.

In particular I tried to calculate (for a small cardinal number)

- a list of such structures.
- a generating series of this structures.
- the number of such structures.
- isomorphism-types of such structures.
- a generating series of the isomorphism-types of such structures.
- a random such structure.
- automorphism-groups of of such structures.

using the following code:

`1. `~~H.structures([1,2,3]).list().
~~H.structures([1,2,3]).list()
2. g = ~~H.generating_series().
~~H.generating_series()
3. ~~g.counts(3).
~~g.counts(3)
4. ~~H.isotypes([1,2,3]).
~~H.isotypes([1,2,3])
5. ~~g=H.isotype_generating_series().
~~g=H.isotype_generating_series()
6. ~~r=H.structures([1,2,3]).random_element().
~~r=H.structures([1,2,3]).random_element()
7. ~~r.automorphism_group().
~~r.automorphism_group()

Only 2. seems to work.

If my code ist correct, I wonder if some of these (i.e. composition species)
are not implemented and when (whether) they will be.