24 Commits

Author SHA1 Message Date
Andrew Reynolds
ad76979329 Disable support for experimental theories when safe-options is set (#11162)
This adds options that guard the usage of "experimental" theories or
extensions thereof when `--safe-options` is enabled.

This includes bags, finite fields, separation logic, higher-order logic,
and extensions of arithmetic (including transcendentals, iand and pow2).

The options `--sets-exp` (renamed from `--sets-ext` in this PR) and
`--fp-exp` continue to be disabled by default, thus do not need to
change.

Similar to other expert options, these theories can still be used with
`safe-options` if they are enabled prior to setting `safe-options`, e.g.
`--ho-exp --safe-options ...` allows HOL to be used. The options
configuration will only override the setting of `*-exp` options if not
set by user.

This does not impact the behavior of cvc5 when `--safe-options` is not
set.

FYI @alex-ozdemir @mudathirmahgoub @yoni206 .
2024-09-27 15:07:07 +00:00
Aina Niemetz
91ea1eca40 c api: Add bitvectors_and_arrays example. (#10950) 2024-06-30 01:14:50 +00:00
Aina Niemetz
e3b012c442 examples: Refactor and expand FP examples. (#10686) 2024-06-21 21:32:07 +00:00
yoni206
a640d391ae Adding UF examples (#10824)
We don't have simple UF examples. This PR adds such an example in
smt-lib and all the APIs.
2024-06-06 11:37:44 -03:00
Andrew Reynolds
eef3cf35c1 Add docs for parser examples (#10227) 2023-12-15 18:48:15 +00:00
Andrew Reynolds
f4e0068461 Fix quickstart example (#10120)
Addresses #10119.
2023-10-24 14:33:34 -03:00
Andrew Reynolds
79ae0eeaec Remove support for synth-inv and fix command execution (#9882)
This removes synth-inv and corrects several issues in the parser concerning when commands should be executed.
2023-07-14 12:43:25 -05:00
Abdalrhman Mohamed
cde90cdf97 Minor improvements to Sygus rcons procedure. (#9781)
This PR adds minor improvements to the SyGuS solver:

Changes the weight of identity rules in the grammar, giving them higher priority during enumeration.
Replaces n-ary operators with their binary version before matching in rcons.
Splits the pattern enumerator for rcons into two enumerators: pattern enumerator and term enumerator.
Adds an option to control geometric distribution parameter used to interleave the 2 enumerators.
Additionally, this PR moves the implementation of the grammar API to an internal class with the Grammar class now a wrapper for the internal class.
2023-06-06 19:24:23 +00:00
Alex Ozdemir
e21e7fe8d0 doc: ff examples (#9358) 2023-01-09 20:04:01 +00:00
Aina Niemetz
9c176f263b docs: Do not use explicit line numbers in literalinclude. (#8690) 2022-05-02 20:13:00 +00:00
mudathirmahgoub
12293a35d5 Add Relation and Table types to SMTLib parser (#8605) 2022-04-13 13:54:27 -05:00
mudathirmahgoub
2cbeb0d7b0 Add bags.rst (#8432) 2022-03-29 17:32:37 +00:00
mudathirmahgoub
437c346559 Add relations.cpp, relations.py examples (#7801) 2021-12-17 19:23:16 +00:00
Aina Niemetz
68d6329d38 sets: Rename set.intersection to set.inter. (#7622)
This further renames kind SET_INTERSECTION to SET_INTER.
2021-11-10 00:36:33 +00:00
Aina Niemetz
15aa8ebd3a sets: Update theory reference and smt2 examples. (#7602) 2021-11-09 18:07:11 +00:00
Gereon Kremer
e5e727c868 Add a binary / SMT-LIB quickstart (#7315)
This PR adds a binary/SMT-LIBv2 quickstart example, based on the cpp quickstart example.
2021-10-07 18:26:31 +00:00
Gereon Kremer
ae7084ba7a Add sygus examples to documentation (#7303)
For some reason, we didn't have any SMT-LIB (or rather SyGuS) example files for the SyGuS examples yet.
This PR adds these missing examples.
2021-10-04 16:46:49 -07:00
Abdalrhman Mohamed
bed236463f Remove support for extended (check-sat <term>) command. (#7270)
This commit removes support for the extended `(check-sat <term>)` command which overlaps in functionality with the standard `(check-sat-assuming (<prop_literal>*))` command.
2021-09-29 21:32:31 +00:00
Andrew Reynolds
e86726da4c Update the syntax for tuples in smt2 (#7265)
This changes mkTuple -> tuple and tupSel -> tuple_select.

This is in line with the most recent syntax for tuples in preparation for the theory of tables in smt2.
2021-09-29 13:40:08 -05:00
Haniel Barbosa
c05fe825c6 Porting C++ API examples to SMT-LIB examples (#6789)
SyGuS examples will come later.
2021-07-06 16:29:25 +00:00
Gereon Kremer
898f11d094 Add doc page about transcendentals (#6755)
This PR adds a theory reference page for the transcendental extension.
2021-07-05 21:13:47 -05:00
Aina Niemetz
78a3406dbd docs: Add quickstart guide. (#6782) 2021-06-23 19:08:21 +00:00
Aina Niemetz
226244a0bd docs: Migrate sets and relations theory reference. (#6698)
This migrates page https://cvc4.github.io/sets-and-relations.
It further adds the SMT2 version of examples/api/cpp/sets.cpp and adds
test/regress/regress0/rels/relations-ops.smt2 as smtlib example for
relations.
2021-06-09 20:44:13 +00:00
Gereon Kremer
7440f0568b Add more examples to the documentation (#6569)
This PR adds (most of) the existing examples to the documentation, and does some other minor updates on the documentation. Some details:
- for consistency, all cpp examples are moved from examples/api to examples/api/cpp
- add capabilities for SMT-LIB examples, and two simple smt2 examples
- more docs/examples/*.rst files
- two new documentation categories: installation (how to obtain, compile and install cvc5) and binary (about the cvc5 binary)
2021-05-26 06:30:45 +00:00