Simplify making function types (#6447)
authorAndrew Reynolds <andrew.j.reynolds@gmail.com>
Tue, 27 Apr 2021 20:53:37 +0000 (15:53 -0500)
committerGitHub <noreply@github.com>
Tue, 27 Apr 2021 20:53:37 +0000 (20:53 +0000)
commit187bbe04f54798f84b404dc61d2a9d221130109d
tree7fcb05267fd2920c5b86b315c7be4fff6042b36e
parent642c8b738e6681fe511dfb3610d896d3b67bbd7d
Simplify making function types (#6447)

Previously, we were conditionally checking whether a function was "flat" e.g. did not have a function type as the range type.

The original motivation for this was to catch cases where the user made a declare-fun that had function return type, which is not permitted. All these checks are already done at the API level https://github.com/CVC4/CVC4/blob/master/src/api/cpp/cvc5_checks.h#L441.

However, internally we should have no such restriction. This is required for simplifying the LFSC term processor.
src/expr/node_manager.cpp
src/expr/node_manager.h