From mboxrd@z Thu Jan 1 00:00:00 1970 X-Spam-Checker-Version: SpamAssassin 3.4.4 (2020-01-24) on polar.synack.me X-Spam-Level: X-Spam-Status: No, score=-1.9 required=5.0 tests=BAYES_00 autolearn=unavailable autolearn_force=no version=3.4.4 Path: eternal-september.org!reader01.eternal-september.org!reader02.eternal-september.org!news.eternal-september.org!news.eternal-september.org!feeder.eternal-september.org!news.szaf.org!news.enyo.de!.POSTED!not-for-mail From: Florian Weimer Newsgroups: comp.lang.ada Subject: Re: SPARK and integer arithmetic Date: Sun, 18 Sep 2016 21:49:09 +0200 Message-ID: <877fa9ugy2.fsf@mid.deneb.enyo.de> References: <87poo1a57p.fsf@mid.deneb.enyo.de> <87twddw0i4.fsf@mid.deneb.enyo.de> <87poo1atpb.fsf@jester.gateway.pace.com> Mime-Version: 1.0 Content-Type: text/plain X-Trace: news.enyo.de 1474228149 18694 192.168.18.20 (18 Sep 2016 19:49:09 GMT) X-Complaints-To: news@enyo.de Cancel-Lock: sha1:imUBlhQ4JG3OnhBXXnqhW9v3Jec= Xref: news.eternal-september.org comp.lang.ada:31809 Date: 2016-09-18T21:49:09+02:00 List-Id: * Paul Rubin: > Florian Weimer writes: >> The intent is that I can write unbounded integer arithmetic in >> predicates and post-conditions. >> Not too surprisingly, gnatprove can't deal with this (I've already >> been told it's beyond alt-ergo, and Z3 can only brute-force it). But >> perhaps there is a way to express the unbounded arithmetic so that >> there is less work left for the prover? > > I think there is some way for Spark to use Coq, which can deal with > things like that easily. The Wikipedia article on Presburger arithmetic > also cites http://ieeexplore.ieee.org/document/6987606/?arnumber=6987606 > about using (adapting?) the CVC4 SMT solver on quantifier-free > arithmetic expressions. The actual formula in the program uses modular arithmetic, so I don't think this can be represented efficiently in Presburger arithmetic. Or am I missing something?