diff options
Diffstat (limited to 'src/theory/builtin/kinds')
-rw-r--r-- | src/theory/builtin/kinds | 16 |
1 files changed, 16 insertions, 0 deletions
diff --git a/src/theory/builtin/kinds b/src/theory/builtin/kinds index f5195e256..d170469e0 100644 --- a/src/theory/builtin/kinds +++ b/src/theory/builtin/kinds @@ -228,6 +228,22 @@ sort BUILTIN_OPERATOR_TYPE \ not-well-founded \ "Built in type for built in operators" +# Justified because we can have an unbounded-but-finite number of +# sorts. Assuming we have |Z| is probably ok for now.. +sort KIND_TYPE \ + Cardinality::INTEGERS \ + not-well-founded \ + "Uninterpreted Sort" + +variable SORT_TAG "sort tag" +parameterized SORT_TYPE SORT_TAG 0: "sort type" +# This is really "unknown" cardinality, but maybe this will be good +# enough (for now) ? Once we support quantifiers, maybe reconsider +# this.. +cardinality SORT_TYPE "Cardinality(Cardinality::INTEGERS)" +well-founded SORT_TYPE false + + # A kind representing "inlined" operators defined with OPERATOR # Conceptually, (EQUAL a b) is actually an (APPLY EQUAL a b), but it's # not stored that way. If you ask for the operator of (EQUAL a b), |