get_args t decomposes the parser level term t into a spine (h,args), when h is the term at the head of the application and args is the list of all its arguments. The arguments are stored together with the position of the corresponding application node in the source code. Note that h is guaranteed not to be a P_Appl node. Term constructors with no equivalent in the dk syntax (like binary symbol applications) are not handled.

add_args t args builds the application of the term t to the arguments args. When args is empty, the returned value is exactly t. Note that this function is the inverse of get_args (in some sense).

Representation of a reduction rule, with its context.

val to_p_rule : p_dk_rule -> Syntax.p_rule

to_p_rule r transforms the dk representation of a rule into the lp representation.