Automorphism cardinality for rooted nonplanar trees #
For a rooted nonplanar tree whose children form the multiset M = {c₁ × k₁, …, cₙ × kₙ}
(distinct subtrees cᵢ with multiplicity kᵢ), the automorphism group has cardinality
∏ᵢ kᵢ! · |Aut(cᵢ)| ^ kᵢ; the same formula applied to the top-level multiset counts the
automorphisms of a forest.
Main definitions #
RootedTree.Nonplanar.autCard: the automorphism count|Aut(t)|of a rooted nonplanar tree.RootedTree.Nonplanar.forestAutCard: the automorphism count of a forest (multiset of rooted nonplanar trees).
Main results #
RootedTree.Nonplanar.autCard_node: the recursionautCard (node a M) = forestAutCard M.RootedTree.Nonplanar.forestAutCard_add: the multinomial split identityforestAutCard (F + G) = (antidiagonal (F + G)).count (F, G) * (forestAutCard F * forestAutCard G), the combinatorial core of the pairing's product-coproduct adjunction.
RoseTree-representative substrate #
treeAutCard computes |Aut(mk t)| on a planar RoseTree representative
t; Perm-invariance (below) lets it descend to Nonplanar.autCard
through the quotient.
Symmetry-factor at one node: ∏_{distinct c ∈ M} (M.count c)!.
Equations
- RootedTree.Nonplanar.multinomialFactor M = ∏ t ∈ M.toFinset, (Multiset.count t M).factorial
Instances For
The automorphism count |Aut(mk t)| of the nonplanar tree represented by a planar
RoseTree t; substrate for Nonplanar.autCard.
Equations
- RootedTree.Nonplanar.treeAutCard (RoseTree.node value cs) = (List.map RootedTree.Nonplanar.treeAutCard cs).prod * RootedTree.Nonplanar.multinomialFactor ↑(List.map RootedTree.Nonplanar.mk cs)
Instances For
treeAutCard is Perm-invariant #
treeAutCard is invariant under RoseTree.Perm.
The child-treeAutCard product and the mk-multiset are PermList-invariant.
Positivity of treeAutCard #
treeAutCard is positive.
Nonplanar automorphism count via lift #
The cardinality |Aut(t)| of the automorphism group of a rooted nonplanar tree:
∏_{distinct c ∈ M} (M.count c)! · autCard c ^ M.count c at node a M
(autCard_node), 1 at a leaf (autCard_leaf).
Equations
Instances For
A leaf has trivial aut group.
The automorphism count |Aut(F)| of a forest of nonplanar trees:
∏_{distinct T ∈ F} (F.count T)! · autCard T ^ F.count T.
Equations
- RootedTree.Nonplanar.forestAutCard F = ∏ t ∈ F.toFinset, (Multiset.count t F).factorial * t.autCard ^ Multiset.count t F
Instances For
The empty forest has trivial aut group.
forestAutCard is positive.
forestAutCard as the autCard-product over all members times the symmetry factor:
the forest analogue of treeAutCard_node's shape.
autCard at a node is forestAutCard of the children: the recursive formula.
Multinomial split identity #
Multiset.count_antidiagonal_eq_count_powerset and Multiset.count_powerset_of_le
compute the split multiplicity; Nat.add_choose_mul_factorial_mul_factorial recombines
it with the factorials per distinct tree. This identity is the combinatorial core of the
pairing's product-coproduct adjunction (GrossmanLarsonPairing.pairing_of'_mul_of').
Multinomial split identity for forestAutCard:
|Aut (F+G)| = count (F,G) (antidiagonal (F+G)) · |Aut F| · |Aut G|.