Added - `ProofTree.generate_objects_of_length()` implements an algorithm for generating the objects of a given length by utilising the structure implied by a proof tree. - `ProofTreeNode.is_atom()` and `ProofTreeNode.is_epsilon()` methods for checking if a node represents an atom or epsilon. Changed - Use polynomial algorithm for generating terms in random sampling code.
0.2.2
Added - `ProofTree.count_objects_of_length()` implements the recurrence relation implied by the proof tree as long as the strategies used are only disjoint unions, decompositions, verification or recursion.
Removed - Remove the dependency on `permuta`.
0.2.1
Fixed - Update sympy version to 1.4
0.2.0
Fixed - Update the readme and test it - Added missing equation for "F_root" case