In the CVC printer, function definitions without arguments are printed
like constants but when actually using that function we were printing in
the form of `x()`.
For example:
```
(set-logic QF_BV)
(define-fun x1480 () Bool true)
(define-fun x2859 () Bool true)
(define-fun x2387 () Bool x2859)
(check-sat)
```
Was dumped as:
```
OPTION "incremental" false;
OPTION "logic" "QF_BV";
x1480 : BOOLEAN = TRUE;
x2859 : BOOLEAN = TRUE;
x2387 : BOOLEAN = x2859();
```
This commit removes these parentheses when prefix functions with zero arguments
are printed, so the example above becomes:
```
OPTION "incremental" false;
OPTION "logic" "QF_BV";
x1480 : BOOLEAN = TRUE;
x2859 : BOOLEAN = TRUE;
x2387 : BOOLEAN = x2859();
```
switch (opType) {
case PREFIX:
- out << op.str() << '(';
+ out << op.str();
+ if (n.getNumChildren() > 0)
+ {
+ out << '(';
+ }
break;
case INFIX:
if (bracket) {
switch (opType) {
case PREFIX:
- out << ')';
+ if (n.getNumChildren() > 0)
+ {
+ out << ')';
+ }
break;
case INFIX:
if (bracket) {