Make SEXPR simply typed (#6160)
authorAndrew Reynolds <andrew.j.reynolds@gmail.com>
Tue, 30 Mar 2021 15:52:11 +0000 (10:52 -0500)
committerGitHub <noreply@github.com>
Tue, 30 Mar 2021 15:52:11 +0000 (15:52 +0000)
commitbd96a673410c8c8389ede1a3ebe8bd1e0cea0f43
tree140623f962f76a907d03f1c8813dfdd75d1c4913
parent4948485775b04d95dbf69eee311bf452d0bfac3d
Make SEXPR simply typed (#6160)

Currently, SEXPR applications are given a parametric type SEXPR_TYPE applied to the types of its arguments. This means that SEXPR that are type checked consume roughly double the memory. This issue arises in practice when printing proofs in the internal calculus.

There is no need to have SEXPR_TYPE as a parametric type, this PR makes SEXPR simply typed.

Also moves some implementation of TypeNode methods to type_node.cpp.
src/expr/node_manager.cpp
src/expr/node_manager.h
src/expr/proof_node_to_sexpr.cpp
src/expr/type_node.cpp
src/expr/type_node.h
src/printer/cvc/cvc_printer.cpp
src/theory/builtin/kinds
src/theory/builtin/theory_builtin_type_rules.h