diff options
author | ajreynol <andrew.j.reynolds@gmail.com> | 2016-06-17 15:55:56 -0500 |
---|---|---|
committer | ajreynol <andrew.j.reynolds@gmail.com> | 2016-06-17 15:57:28 -0500 |
commit | 1a2547995acc5a98c8969e628ac5e1c45b0efe94 (patch) | |
tree | 0d9abd19ba7b3b742da3e745da00c0457237f84b /src/theory/sep/kinds | |
parent | 0348b525a951a8709f9dc4b5757ce0bcb48a9472 (diff) |
Support for separation logic. Enable cbqi by default for pure BV.
Diffstat (limited to 'src/theory/sep/kinds')
-rw-r--r-- | src/theory/sep/kinds | 37 |
1 files changed, 37 insertions, 0 deletions
diff --git a/src/theory/sep/kinds b/src/theory/sep/kinds new file mode 100644 index 000000000..52418aefb --- /dev/null +++ b/src/theory/sep/kinds @@ -0,0 +1,37 @@ +# kinds -*- sh -*- +# +# For documentation on this file format, please refer to +# src/theory/builtin/kinds. +# + +theory THEORY_SEP ::CVC4::theory::sep::TheorySep "theory/sep/theory_sep.h" +typechecker "theory/sep/theory_sep_type_rules.h" + +properties polite stable-infinite parametric +properties check propagate presolve getNextDecisionRequest + +# constants +constant NIL_REF \ + ::CVC4::NilRef \ + ::CVC4::NilRefHashFunction \ + "expr/sepconst.h" \ + "the nil reference constant; payload is an instance of the CVC4::NilRef class" + +rewriter ::CVC4::theory::sep::TheorySepRewriter "theory/sep/theory_sep_rewriter.h" + +operator SEP_NIL 1 "separation nil" +operator EMP_STAR 1 "separation empty heap" +operator SEP_PTO 2 "points to relation" +operator SEP_STAR 2: "separation star" +operator SEP_WAND 2 "separation magic wand" +operator SEP_LABEL 2 "separation label" + +typerule NIL_REF ::CVC4::theory::sep::NilRefTypeRule +typerule SEP_NIL ::CVC4::theory::sep::SepNilTypeRule +typerule EMP_STAR ::CVC4::theory::sep::EmpStarTypeRule +typerule SEP_PTO ::CVC4::theory::sep::SepPtoTypeRule +typerule SEP_STAR ::CVC4::theory::sep::SepStarTypeRule +typerule SEP_WAND ::CVC4::theory::sep::SepWandTypeRule +typerule SEP_LABEL ::CVC4::theory::sep::SepLabelTypeRule + +endtheory |