You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
When printing an Alethe proof, cvc5 will sometimes name partially applied terms using the (! ... :named ...) construct, which (as I understand) is not allowed in Alethe. An example of this is the following problem:
(set-logic UF)
(declare-sort I 0)
(declare-fun m (I I) Bool)
(declare-fun s (I) I)
(assert (forall ((smt__b I) (smt__f I)) (! (or (m smt__f (s smt__b)) (not (= smt__b (s smt__f)))) :pattern ((s smt__f)))))
(assert (forall ((smt__f I)) (= smt__f (s smt__f))))
(declare-fun sm () I)
(assert (not (m sm (s sm))))
(check-sat)
(get-proof)
Running cvc5 on this problem with the options --produce-proofs --proof-format-mode=alethe --proof-granularity=dsl-rewrite, we get an Alethe proof that contains the term ((! (m smt__f) :named @p_21) @p_28), which uses :named on the partially applied term (m smt__f).
When printing an Alethe proof, cvc5 will sometimes name partially applied terms using the
(! ... :named ...)
construct, which (as I understand) is not allowed in Alethe. An example of this is the following problem:Running cvc5 on this problem with the options
--produce-proofs --proof-format-mode=alethe --proof-granularity=dsl-rewrite
, we get an Alethe proof that contains the term((! (m smt__f) :named @p_21) @p_28)
, which uses:named
on the partially applied term(m smt__f)
.This was tested on commit ab64642.
The text was updated successfully, but these errors were encountered: