Simplify the syntax and representation of the separation logic empty heap constraint...
authorAndrew Reynolds <andrew.j.reynolds@gmail.com>
Thu, 30 Sep 2021 15:38:44 +0000 (10:38 -0500)
committerGitHub <noreply@github.com>
Thu, 30 Sep 2021 15:38:44 +0000 (15:38 +0000)
commit46ad5bddc9bc0e03ea702f29c56c22e917aeb06b
treef5401a4a35643d25b6e3c43403018cf57ec5c0b4
parent0a15133a7de2289fdfb10ccf65e9b753f5064ba7
Simplify the syntax and representation of the separation logic empty heap constraint (#7268)

Since ~1 year ago, we insist that the location and data types of the separation logic heap are set upfront, analogous to the set-logic command. This means that the separation logic empty heap constraint does not need to be annotated with its types.

This makes SEP_EMP a nullary Boolean operator instead of binary predicate (taking dummy arguments whose types specify the heap type). It changes the smt2 extended syntax from (_ emp T1 T2) to sep.emp.
25 files changed:
src/api/cpp/cvc5.cpp
src/api/cpp/cvc5_kind.h
src/parser/smt2/Smt2.g
src/parser/smt2/smt2.cpp
src/preprocessing/passes/sep_skolem_emp.cpp
src/theory/sep/kinds
src/theory/sep/theory_sep.cpp
src/theory/sep/theory_sep.h
test/regress/regress0/sep/dispose-1.smt2
test/regress/regress0/sep/dup-nemp.smt2
test/regress/regress0/sep/issue3720-check-model.smt2
test/regress/regress0/sep/nemp.smt2
test/regress/regress0/sep/sep-simp-unsat-emp.smt2
test/regress/regress0/sep/skolem_emp.smt2
test/regress/regress0/sep/trees-1.smt2
test/regress/regress0/sep/wand-crash.smt2
test/regress/regress1/sep/emp2-quant-unsat.smt2
test/regress/regress1/sep/finite-witness-sat.smt2
test/regress/regress1/sep/fmf-nemp-2.smt2
test/regress/regress1/sep/quant_wand.smt2
test/regress/regress1/sep/split-find-unsat-w-emp.smt2
test/regress/regress1/sep/wand-0526-sat.smt2
test/regress/regress1/sep/wand-nterm-simp.smt2
test/regress/regress1/sep/wand-nterm-simp2.smt2
test/regress/regress1/sep/wand-simp-unsat.smt2