All Downloads are FREE. Search and download functionalities are using the official Maven repository.

cvc5-cvc5-1.2.0.src.theory.uf.rewrites Maven / Gradle / Ivy

; Equality

(define-rule eq-refl ((t ?)) (= t t) true)
(define-rule eq-symm ((t ?) (s ?)) (= t s) (= s t))

(define-rule distinct-binary-elim ((t ?) (s ?)) (distinct t s) (not (= t s)))

; bv to arith conversions

;(define-cond-rule uf-bv2nat-int2bv ((w Int) (t ?BitVec))
;  (= (bvsize t) w)
;  (int2bv w (bv2nat t))
;  t)
;
;(define-rule uf-int2bv-bv2nat ((w Int) (t Int))
;  (bv2nat (int2bv w t))
;  (mod t (^ 2 w)))


(define-rule uf-bv2nat-geq-elim ((x ?BitVec) (n Int))
  (def (w (@bvsize x)))
  (>= (bv2nat x) n)
  (ite (>= n w) false (ite (< n 0) true (bvuge x (int2bv w n)))))




© 2015 - 2025 Weber Informatics LLC | Privacy Policy