For convenience, support biconditionals with more than one argument. An n-ary “if and only if” statement F_1 <-> F_2 <-> ... <-> F_n is to be interpreted as F_1 <-> F_2 and F2 <-> F3 and ... and F_(n - 1) <-> F_n
As right-to-left implications are common in answer set programming, this adds support for using implications in both directions.
For clarity, this moves the formatting functionality related to formulas and terms into two separate files.