never encode enums and records for Alt-Ergo
[why3.git] / drivers / cvc5_strings.drv
blob3e181e7b5b0ea0f01637307ecfb0ca5eda07f5db
1 (** Why3 driver for CVC5 1.0.0 with string support *)
3 prelude ";; produced by cvc5_strings.drv ;;"
5 import "cvc5.drv"
7 import "smtlib-strings.gen"
9 theory string.String
11   remove prop lt_empty
12   remove prop lt_not_com
13   remove prop lt_ref
14   remove prop lt_ref
15   remove prop lt_trans
16   remove prop le_empty
17   remove prop le_ref
18   remove prop lt_le
19   remove prop lt_le_eq
20   remove prop le_trans
21   remove prop replaceall_empty1
22   remove prop not_contains_replaceall
24 end
26 theory string.RegExpr
28   syntax type re             "RegLan"
30   syntax function to_re      "(str.to_re %1)"
31   syntax predicate in_re     "(str.in_re %1 %2)"
33   syntax function concat     "(re.++ %1 %2)"
34   syntax function union      "(re.union %1 %2)"
35   syntax function inter      "(re.inter %1 %2)"
36   syntax function star       "(re.* %1)"
37   syntax function plus       "(re.+ %1)"
39   syntax function none       "re.none"
40   syntax function allchar    "re.allchar"
42   syntax function opt        "(re.opt %1)"
43   syntax function range      "(re.range %1 %2)"
44   syntax function power      "((_ re.^ %1) %2)"
45   syntax function loop       "((_ re.loop %1 %2) %3)"
47 end