Does there exist an algorithmic way to multiply two elements of the Thompson Group F together? Specifically when looking at it from the perspective of pairs of binary trees. To multiply two elements together you need to add carets on the ends of the trees in order to compose them, but is there an algorithm to decide exactly how to add to the trees? If not, is anyone aware of a way to easily go from a pair of binary trees to a word in the generators of the group? Thank you for the help!



Multiplication in Thompson's Group F
If you want to multiply a pair of trees $(T,T')$ and $(G,G')$, put $T'$ on top of $G$, that is, identify their roots and then if there is a vertex with two carets 
$a\to (b,c), a\to (x,y)$, identify the edges $(a,b), (a,x)$ and $(a,c), (a,y)$. That is if two pairs of children have the same parent, identify the pairs of children. After all these foldings are done, you get a finite binary tree $T''$, containing $T'$ and $G$ as rooted subtrees. Therefore $T''$ differs from $T'$ by a bunch of carets. Add the corresponding carets to $T$, get a tree $T'''$. The pair $(T''',T'')$ represents the same element as $(T, T')$. Similarly modify $G'$ and $G$ to obtain an equivalent pair of trees $(T'', G'')$. Then the product is $(T''', G'')$. An easy procedure to get from a pair of trees (i.e. a "diagram") to a word in generators is desribed in chapter 5 of my book "Combinatorial algebra: syntax and semantics". 


