Dumping internal define-funs with no arguments (#5077)
authoryoni206 <yoni206@users.noreply.github.com>
Thu, 17 Sep 2020 03:34:40 +0000 (20:34 -0700)
committerGitHub <noreply@github.com>
Thu, 17 Sep 2020 03:34:40 +0000 (22:34 -0500)
commit14041ad14583f670bc03d5eef6535544d86fc9fc
treef81b8503c7e0eae4431535241de2acd37f2f0fa6
parent70bfc4f67bcad32fa1b9b581b71b3a2d70e14d7e
Dumping internal define-funs with no arguments (#5077)

Currently, --dump=assertions:... fails if a define-fun command is executed internally (an example for this can be found here.

The failure occurs because the printer expects a range type whenever a define-fun command is executed. However, when this command is used for 0-ary functions (variables), the getter for the range fails.

This PR fixes this by asking for a range only if the type is indeed a function. Otherwise, the original type is printed.

A test that currently fails but passes with this PR is included.
src/smt/node_command.cpp
test/regress/CMakeLists.txt
test/regress/regress0/print_define_fun_internal.smt2 [new file with mode: 0644]