The Atelier Focal  
Home
Login
Bug tracking
The Atelier Focal

Project:

Show Task #
Task #181    Preuve Zenon non explicable
Opened by Philippe Ayrault (phil) - 15 Nov 2008
Last edited by François Pessaux (francois) - 10 Jun 2009
Task Type Bug Report
Category Zenon
Status Assigned
Assigned To Damien Doligez (doligez)
Operating System All
Severity Medium
Reported Version Current
Due in Version Undecided
Percent Complete 70% complete

Details J'ai un soucis, il me semble que j'arrive à prouver une propriété avec Zenon alors que je n'ai pas fourni de preuve. Je joins un programme avec 2 variantes et les 2 traces de compilation.
Philippe

Compilation de la premiere version:
focalize -I /home/phil/Tools/FoCal/focal/focalize/stdlib -I /home/phil/Tools/FoCal/focal/focalize/extlib/algebra -I /home/phil/Lip6/These/FoCal/Utils_focalize pb.foc
zvtov -new -zenon /home/phil/Tools/FoCal/focal/zenon/zenon -zz -max-time -zz 3m pb.zv
File "pb.foc", line 16, characters 0-38:
Warning: defined symbol basics.syntactic_equal is used with wrong arity
### proof failed
File "pb.foc", line 12, characters 0-12:
### proof failed
File "pb.foc", line 20, characters 0-13:
### proof failed

Il y a un warning que je ne comprends pas.
et les 3 propriétés ne sont pas prouvées.

Compilation de la seconde version (inversion des lignes en commentaire)
focalize -I /home/phil/Tools/FoCal/focal/focalize/stdlib -I /home/phil/Tools/FoCal/focal/focalize/extlib/algebra -I /home/phil/Lip6/These/FoCal/Utils_focalize pb.foc
zvtov -new -zenon /home/phil/Tools/FoCal/focal/zenon/zenon -zz -max-time -zz 3m pb.zv
File "pb.foc", line 16, characters 0-38:
### proof failed
File "pb.foc", line 12, characters 0-12:
### proof failed

Le message d'erreur a disparu, et la troisième proprité a été prouvé alors que je n'ai fourni aucune preuve mais 2 fois la même preuve précédemment fausse de la même propriété (diff_green_blue) !!

Question subsidiaire ; comment faire ses preuves en Zenon ?

Le programme :
use "basics";;

open "basics";;


species Requests inherits Basic_object =
signature blue : Self;
signature red : Self;
signature green : Self;

property diff_blue_red :
~ blue = red
;

property diff_green_blue :
~ basics#syntactic_equal( green, blue)
;

property diff_green_red :
~ green = red
;

end;;


species Imp_request inherits Requests =
rep = int;

let blue = 1;
let red = 2;
let green = 3;

proof of diff_blue_red =
by definition of basics#syntactic_equal
;

proof of diff_green_blue =
by definition of basics#syntactic_equal
;

(* Ligne à inverser
proof of diff_green_blue =
*)
proof of diff_green_red =
by
;

end;;


Comments (3)
Attachments (0)
Related Tasks (0)
Notifications (0)
Comment by François Pessaux - Friday, 21 Nov 2008, 10:19am
Bon,en fait il y a beaucoup de choses à dire dans tout ça:

1) "et la troisième proprité a été prouvé alors que je n'ai fourni aucune preuve mais 2 fois la même preuve précédemment fausse de la même propriété"

Non, la 3ème propriété n'a PAS été prouvée puisque tu l'as supprimée ! Ta preuve de 'diff_green_red' n'existe PLUS. Donc elle n'est pas résolue par Zenon.

2) Le seul bug que l'on peu reprocher au compilo c'est qu'il ne t'ai pas râlé dessus car tu as donné dans la même espèce 2 preuves d'une même propriété.

3) L'histoire de "Warning: defined symbol basics.syntactic_equal...", là par contre, je pense que c'est Damien qui serait le mieux placer pour en parler.

Comment by François Pessaux - Friday, 21 Nov 2008, 11:39am
Donc, un message d'erreur est désormais rajouté lorsque l'on trouve plusieurs "proof of" d'une même propriété dans une espèce (dans sno corps, pas par héritage bien sûr).

Comment by Damien Doligez - Tuesday, 23 Dec 2008, 2:39pm
Le warning a disparu, j'ai du le corriger a un moment donne.

Pour la question subsidiaire, il faut attendre que Zenon fasse l'arithmetique, et c'est pas gagne...




MoSpray is Powered by Flyspray  Handled for MAMBO by CaneBlu.com


SPI © 2004-2008
Contact Webmaster
powered by Joomla designed by CM, with help of the TiTi Dev Team

UPMC INRIA CNAM CNRS
LIP6 CEDRIC