[Why3-club] problem with why3 + E-prover

2014-01-09 Thread Jean-Jacques Levy
Dear Why3-Folks, Happy New Year! Let 2014 be much fruitful for Why3! I run Why3 version 0.82 and E-prover 1.6. Following assertions are proved by E-prover !! Which looks to me (and Chen Ran) quite abnormal. It is not proved by others provers, Do we miss anything ? (BTW, I asked -- in

Re: [Why3-club] array init

2014-02-03 Thread Jean-Jacques Levy
Jean-Christophe and Why3 Friends, I think that Coq will not bring anything. What looks weird to me is that inductive def of 'permut_sub'. From beginning I'm not pleased with it. The base case 'permut_refl' implies that one can use 'permut_sub' only for in-situ permutations. It looks

[Why3-club] big fonts

2014-02-13 Thread Jean-Jacques Levy
Dear Why3 Friends, recently ‘why3ide’ got new behavior on my Macbook Air. Fonts to the left get very large. And I cannot find way to reduce their size. Maybe it’s X-server which changed. Don’t know that happened. Anyone with same problem ? Furthermore, I cannot remember way to set preferences

Re: [Why3-club] permut fix

2014-03-11 Thread Jean-Jacques Levy
Many thanks. So your advice is to use the development version. -JJ- Le 11 mars 2014 à 15:56, Jean-Christophe Filliâtre jean-christophe.fillia...@lri.fr a écrit : Dear Jean-Jacques, Le 11/03/2014 07:33, Jean-Jacques Levy a écrit : following problem of early February, is there a fix

[Why3-club] constructive Why3 logic ?

2014-05-05 Thread Jean-Jacques Levy
Dear Why3 Friends! from time to time, I met difficulties in making a constructive Coq proof corresponding to a Why3 goal. Has anybody met same problem ? Must of time it comes from translation of Why3 predicates into Prop's, instead of a Coq predicate (with truth values). Then it’s hard to

Re: [Why3-club] constructive Why3 logic ?

2014-05-09 Thread Jean-Jacques Levy
Guillaume, many thanks for your answer. But: Le 9 mai 2014 à 16:22, Guillaume Melquiond guillaume.melqui...@inria.fr a écrit : 2- is it fair to use Classical logic in the Coq stubs translated from Why3 goals/lemmas ? Yes, it is fair, since the logic of Why3 already assumes it. In

[Why3-club] logical check for alias detection

2014-06-14 Thread Jean-Jacques Levy
Dear Why3-Friends, is there a way of calling why3 with alias detector off ? I’d like a adhoc test for alias detection. For instance I have a list of records, detected as potential aliases by Why3, but if I have an invariant stating that list has never 2 equal elements, there would not be any

Re: [Why3-club] logical check for alias detection

2014-06-15 Thread Jean-Jacques Levy
But what’s size of that new array ? It looks your array is the full memory map… + doing manual memory allocation. Claude, you do not believe in garbage collectors ? Cheers, -JJ- Le 15 juin 2014 à 13:39, Claude Marche claude.mar...@inria.fr a écrit : On 06/15/2014 05:51 AM, Jean-Jacques Levy

Re: [Why3-club] inline

2015-02-16 Thread Jean-Jacques Levy
Dear Martin, I will isolate that problem and let you know asap. But I have a second issue: When using the Queue module, I'd like have an invariant on the content of the queue. What is the good way for it ? For instance, let f be a queue, then making predicates on f.elts seems not working. let

Re: [Why3-club] boomy/delete.png

2016-05-26 Thread Jean-Jacques Levy
François, it now does work. Thanks, -JJ- > Le 26 mai 2016 à 14:40, François Bobot <francois.bo...@cea.fr> a écrit : > > On 26/05/2016 14:27, Jean-Jacques Levy wrote: >> Dear Why3-Friends, >> >> running 'why3 0.87.0’ (just installed with opam), I got 2 errors

[Why3-club] boomy/delete.png

2016-05-26 Thread Jean-Jacques Levy
Dear Why3-Friends, running 'why3 0.87.0’ (just installed with opam), I got 2 errors: 1- « /usr/local/lib/why3/plugins/dimacs cant’t be loaded » Opam did not install that plugin at correct location ?! but it worked after linking /usr/local/lib/why3 to ~/.opam/system/lib/why3 !! 2- glib failed

[Why3-club] Gzip.Error

2017-02-01 Thread Jean-Jacques Levy
Hello Friends! I now always get following message: > Why3ide callback raised an exception: > anomaly: Gzip.Error("error during compression ») when saving Why3 session. I reinstalled all (MacPorts) packages and still get that message. I assume it’s when why3ide is producing the

Re: [Why3-club] Gzip.Error

2017-02-01 Thread Jean-Jacques Levy
the stack trace coming from IDE is not informative unfortunately > > Le 01/02/2017 à 14:30, Jean-Jacques Levy a écrit : >> File "scc/../scc.mlw", line 249, characters 23-33: >> warning: this expression may diverge, which is not stated in the >> specification >

Re: [Why3-club] Gzip.Error

2017-02-08 Thread Jean-Jacques Levy
stack trace coming from IDE is not informative unfortunately > > Le 01/02/2017 à 14:30, Jean-Jacques Levy a écrit : >> File "scc/../scc.mlw", line 249, characters 23-33: >> warning: this expression may diverge, which is not stated in the >> specification >

Re: [Why3-club] Gzip.Error

2017-02-03 Thread Jean-Jacques Levy
... I finally succeeded in compiling and installing why3 0.87.3 with macosx 10.12.3 (without the gzip option). Was not so easy to get macports and opam consistent. But with double ocaml systems, it has worked out. (I’m still suspicious with Gzip under that version of macosx) Thanks Claude for

[Why3-club] why3 tactic

2017-02-15 Thread Jean-Jacques Levy
Dear Why3-Friends, I tried to use why3 tactic, and failed. Print LoadPath. —> response: Logical Path: Physical path: <>/Users/levy/.opam/4.02.2/lib/why3/coq-tactic Why3 /Users/levy/.opam/4.02.2/lib/why3/coq Why3.set

Re: [Why3-club] ghost components in results

2016-11-09 Thread Jean-Jacques Levy
But: let f (x: int) (ghost y: int) (ghost dy: ref int) = dy := y; x is no longer applicative programming style.. You have side effect. -JJ- > Le 9 nov. 2016 à 15:18, Andrei Paskevich <andrei.paskev...@lri.fr> a écrit : > > Dear Jean-Jacques, > > On 9 November 2016 a

[Why3-club] ghost components in results

2016-11-09 Thread Jean-Jacques Levy
Dear Why3 Friends, what is best way of having a ghost component in the results of functions ? A record with a ghost field as a return value of a function seems accepted by why3. type rr = { dx: int; ghost dy : int} let f (x: int) (ghost y: int) = {dx = x; dy = y} A tuple with a ghost

[Why3-club] variant's and inlining

2017-07-24 Thread Jean-Jacques Levy
Dear Why3 folks, here is a small termination problem which I cannot solve. Pls help! Thanks -JJ- ——— Termination proved for g’, but not proved for g and g’’ !! module Test use import int.Int use import int.EuclideanDivision let p x = mod x 2 = 0 (* *) let rec f e = requires

Re: [Why3-club] [Frama-c-discuss] Frama-C/WP and CVC4 (version 1.5)

2017-08-06 Thread Jean-Jacques Levy
Dear Jens + Yannick, I have similar problems with ‘why3’ and ‘cvc4 1.5’ weaker than ‘cvc4 1.4’ -JJ- ___ Why3-club mailing list Why3-club@lists.gforge.inria.fr https://lists.gforge.inria.fr/mailman/listinfo/why3-club

Re: [Why3-club] why3 0.88.0 and coq 8.6.1

2017-10-18 Thread Jean-Jacques Levy
Hello Friends! > Le 18 oct. 2017 à 13:15, Jean-Jacques Levy <jean-jacques.l...@inria.fr> a > écrit : > > Hello everybody! > > I installed why3 0.88.0 and coq 8.6.1 with opam. I get following error > message: > > Compiled library Why3.BuiltIn (in file > /

Re: [Why3-club] constant in code

2019-03-25 Thread Jean-Jacques Levy
used ? Best to all, -JJ- > Le 25 mars 2019 à 17:55, Andrei Paskevich a écrit : > > Dear Jean-Jacques, > > "val constant nn : int" should do the trick. > > Best, > Andrei > > On Mon, 25 Mar 2019 at 17:54, Jean-Jacques Levy <mailto:jean-jacques

[Why3-club] fighting with non polymorphic equality

2019-02-26 Thread Jean-Jacques Levy
Dear Friends, in Why3.1.2.0, it looks that functions got an implicit ‘ghost' tag : module DDD use int.Int use list.List use map.Map type vertex = int function infty (): int = 1000 let function myset (f: map vertex int) (x: vertex) (v: int) : map vertex

Re: [Why3-club] how to prove a type is inhabited?

2019-02-21 Thread Jean-Jacques Levy
I use ‘by’.. it’s good for a very local lemma or assertion. -JJ- > Le 21 févr. 2019 à 16:46, Julia Lawall a écrit : > > > > On Thu, 21 Feb 2019, Raphael Rieu-Helft wrote: > >> >> Hello, >> >> Use the keyword `by`: >> >> type t = { x = array int } invariant { length x > 0 /\ x[0] > 0 } by

Re: [Why3-club] inlining functions or explicit predicates

2019-02-19 Thread Jean-Jacques Levy
variant { s } >>> ... >>> >>> The definition is now accepted. >>> >>> You may wonder why function ([<-]) was declared ghost in the first >>> place. This is because polymorphic equality is hidden behind this >>> function. Fun

Re: [Why3-club] inlining functions or explicit predicates

2019-02-19 Thread Jean-Jacques Levy
the functor Set.Make in OCaml. > > Longer answer, of the previous mail too, should come soon... > > - Claude > > Le 19/02/2019 à 15:33, Jean-Jacques Levy a écrit : >> Dear Jean-Christophe + Friends, >> me again (* sorry *) .. a quick view about polymorphic equ

[Why3-club] how to pass arguments to commands in IDE 1.2.0

2019-02-22 Thread Jean-Jacques Levy
Dear Friends, in why3.1.2.0, I cannot succeed in passing an argument to command in line 0/0/0 !! - goal list_simpl_r : forall l1:list 'a, l2:list 'a, l:list 'a. (l1 ++ l) = (l2 ++ l) -> l1 = l2 - Following hypothesis was not found: l1

Re: [Why3-club] how to pass arguments to commands in IDE 1.2.0

2019-02-22 Thread Jean-Jacques Levy
ok.. merci. Mais en mettant l’attribut [@induction] (nouvelle syntaxe), je dois faire induction_ty_lex et destruct l2 !! Why3.1.2.0 serait-il un (autre) nouveau nom pour Coq ? A+, -JJ- > Le 22 févr. 2019 à 14:56, Sylvain Dailler a écrit : > > On 22/02/2019 13:50, Jean-Jacques L

Re: [Why3-club] inlining functions or explicit predicates

2019-02-18 Thread Jean-Jacques Levy
ossible ghost fields that > would be erased at runtime), we have no other choice than forbidding its > use in regular (i.e. non-ghost) code. > > As for your question "where to insert the ghost keyword", you can find > the answer on page 87 in the PDF manual, Fig.

[Why3-club] inlining functions or explicit predicates

2019-02-14 Thread Jean-Jacques Levy
Dear Why3 Friends, is there any doc about the functionality of the "Inline" button in the Why3 IDE ? Same for inline_all, inline_goal, inline_trivial.. My current problem is that the inlined version of a trivial function works with automatic provers, but I cannot find a way of forcing that

Re: [Why3-club] inlining functions or explicit predicates

2019-02-15 Thread Jean-Jacques Levy
ot;unfold foo" where > "foo" is your function symbol. The documentation is also visible > interactively. > > I don't know how to help more without seeing the exact example you have. > > - Claude > > > > Le 14/02/2019 à 16:20, Jean-Jacques

Re: [Why3-club] inlining functions or explicit predicates

2019-02-19 Thread Jean-Jacques Levy
Dear Jean-Christophe + Friends, me again (* sorry *) .. a quick view about polymorphic equality: Equality in logic should be distinct from Equality in regular code, where the ghost attribute is prohibited. So if the problem with the ghost values is only about aggregated data with ghost

Re: [Why3-club] why3 1.2.0

2019-05-28 Thread Jean-Jacques Levy
Dear Andrei, I’m also slow because of travelling to Nice... > Le 28 mai 2019 à 15:27, Andrei Paskevich a écrit : > > Dear Jean-Jacques, > > very late and very partial answer: > > On Wed, 10 Apr 2019 at 17:38, Jean-Jacques Levy <mailto:jean-jacques.l...@inria.fr>

Re: [Why3-club] Set equality

2019-05-10 Thread Jean-Jacques Levy
Guillaume, « trigger » ?? meaning? Is it in Why3 manual? I guess it’s related to attributes such as [@induction], but not sure.. Thanks for info, -JJ- > Le 10 mai 2019 à 08:30, Guillaume Melquiond a > écrit : > > Le 10/05/2019 à 00:19, Евгений Макаров a écrit : > >> Both lemmas are proved

Re: [Why3-club] conditional statements + records

2019-05-16 Thread Jean-Jacques Levy
Dear Guillaume (and Andrei), > Le 16 mai 2019 à 17:04, Guillaume Melquiond a > écrit : > > Le 16/05/2019 à 16:58, Jean-Jacques Levy a écrit : > >> can you insert the attribute when the ‘if-statement’ is not in the logic but >> is in the code ? >> let f (b