abs package:sbv
Compute the floating point absolute value.
A number divides another exactly when it also divides its absolute
value. While this property seems obvious, I was unable to get z3 to
prove it. Even CVC5 needs a bit of help to guide it through the case
split on 
b.
Proof
>>> runTP dvdAbs
Lemma: dvdAbs_l2r
Step: 1 (2 way case split)
Step: 1.1                           Q.E.D.
Step: 1.2                           Q.E.D.
Step: 1.Completeness                Q.E.D.
Result:                               Q.E.D.
Lemma: dvdAbs_r2l
Step: 1 (2 way case split)
Step: 1.1                           Q.E.D.
Step: 1.2                           Q.E.D.
Step: 1.Completeness                Q.E.D.
Result:                               Q.E.D.
Lemma: dvdAbs                           Q.E.D.
[Proven] dvdAbs :: Ɐa ∷ Integer → Ɐb ∷ Integer → Bool