Tool for Function Refinement Trees (TFRT).
------------------------------------------
This tool is intended for function refinement trees, also called
function decomposition trees.

The most important constraints on trees are that they have a single 
root node and that they do not contain cycles,
 
Tree editors have two modes: Editable graph and View as Tree
mode which can be set with a pair of radio buttons on the left side of
the main window. In the first mode trees are edited just like in any
diagram editor whereas in the other mode trees are drawn in a special
layout and they cannot be edited.
 
More about the constraints on FRTs can be found in chapter 8 of the
user's guide and more about the use of this notation technique can be 
found in appendix A of the user's guide.

Tree editing in general.
---------------------------
Trees that are made by a tree editor are special kind of non-cyclic
graphs consisting of text (nodes) and lines (edges).
 
Trees should satisfy certain constraints. Most constraints
are specific for the particular diagram technique supported by the
editor. In the tree editors there are three kinds of constraints:
 
1. Built-in constraints which are constraints which can never be
violated because there is no command in the user interface to achieve
that.
 
2. Immediately enforced constraints: when you perform a command that
would violate a constraint that is immediately enforced, this command
is rejected immediately by the editor and a pop-up window with an error
message is displayed. For instance "no cycles is an immediately
enforced constraint.
 
3. Soft constraints which are constraints that can be violated.
Soft constraints are checked by the editor when the Check Document
from the Document menu is issued by you. Check Document displays a list
of error messages in a pop-up window. As opposed to the previous two
classes of constraints, you are responsible for correcting the diagram.


