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=ham autolearn_force=no version=3.4.4 X-Google-Thread: 103376,f60ad9b53d897d45,start X-Google-NewGroupId: yes X-Google-Attributes: gida07f3367d7,domainid0,public,usenet X-Google-Language: ENGLISH,ASCII-7-bit Path: g2news2.google.com!news2.google.com!Xl.tags.giganews.com!border1.nntp.dca.giganews.com!nntp.giganews.com!local2.nntp.dca.giganews.com!news.giganews.com.POSTED!not-for-mail NNTP-Posting-Date: Sat, 15 Jan 2011 11:39:32 -0600 Date: Sat, 15 Jan 2011 12:39:15 -0500 From: "Peter C. Chapin" Organization: Vermont Technical College User-Agent: Mozilla/5.0 (Windows; U; Windows NT 6.1; en-US; rv:1.9.2.13) Gecko/20101207 Lightning/1.0b2 Thunderbird/3.1.7 MIME-Version: 1.0 Newsgroups: comp.lang.ada Subject: Question about round__ proof function in SPARK proofs. Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: 7bit Message-ID: X-Usenet-Provider: http://www.giganews.com X-Trace: sv3-FccdHenUhiSI+JfjZS3BPdWafpRzEO1rtdPvdnCP8HSL9sy8Qr4eDa8wIuHzUdu50KwL4ADiBTK3sdp!8uG+td/KsP63hnQxD50/otYpEaeDZYPjRozgqNxtKjs4E+dzYcz4Nv5aazM30Mw= X-Complaints-To: abuse@giganews.com X-DMCA-Notifications: http://www.giganews.com/info/dmca.html X-Abuse-and-DMCA-Info: Please be sure to forward a copy of ALL headers X-Abuse-and-DMCA-Info: Otherwise we will be unable to process your complaint properly X-Postfilter: 1.3.40 X-Original-Bytes: 1922 Xref: g2news2.google.com comp.lang.ada:17408 Date: 2011-01-15T12:39:15-05:00 List-Id: I'm trying to discharge a VC in a SPARK proof. After simplification I have just: H1: julian_date >= 4830771 / 2 . H2: julian_date <= 2489665 . The conclusions are: C1: round__(julian_date + 1 / 2) >= - 2147483648 . C2: round__(julian_date + 1 / 2) <= 2147483647 . This VC is the result of a type conversion from a floating point type to an integer type. It seems evident that the conclusions are true for any reasonable definition of round__. I assume the simplifier is not proving this VC because it doesn't have any built-in knowledge of the proof function round__, even though it was inserted automatically be the examiner. So I think maybe I'm supposed to specify the properties of round__ somewhere. Am I on track here? Thanks in advance for any insights you might have. Peter