coq-club AT inria.fr
Subject: The Coq mailing list
List archive
- From: Mariana Bernagozzi <mariana.bernagozzi AT gmail.com>
- To: Ruben Monjaraz <ruben.monjaraz AT gmail.com>
- Cc: coq-club AT inria.fr
- Subject: Re: [Coq-Club] Factorial proof using Krakatoa
- Date: Fri, 26 Oct 2012 19:00:12 -0300
Thanks, Ruben!
On Fri, Oct 26, 2012 at 6:13 PM, Ruben Monjaraz <ruben.monjaraz AT gmail.com> wrote:
Trywhile (a != x) {instead of
while (a < x) {
Ruben
On Fri, Oct 26, 2012 at 4:47 PM, Mariana Bernagozzi <mariana.bernagozzi AT gmail.com> wrote:
Hi,
I'm trying to prove the following program using Krakatoa and Coq:
/*@ inductive isfact(integer x, integer r) {
@ case isfact0: isfact(0,1);
@ case isfact1: isfact(1,1);
@ case isfactn:
@ \forall integer n r;
@ n >= 2 && isfact(n-1,r) ==> isfact(n,n*r);
@ }
@*/
public class Factorial {
/*@ requires x >= 0;
@ ensures isfact(x, y);
@*/
public void fact(int x, int y) {
int a = 1;
y = 1;
//@ loop_invariant 1 <=a && isfact(a,y);
while (a < x) {
a = a + 1;
y = y * a;
}
}
}
I've manage to prove all the subgoals but the last one. I think I have to use the induction tactic, but I'm not sure how.
Also, since I'm new using Coq, other comments or suggestions are more than welcome!
Thanks,
Mariana.
- [Coq-Club] Factorial proof using Krakatoa, Mariana Bernagozzi, 10/26/2012
- Re: [Coq-Club] Factorial proof using Krakatoa, Ruben Monjaraz, 10/26/2012
- Re: [Coq-Club] Factorial proof using Krakatoa, Mariana Bernagozzi, 10/27/2012
- Re: [Coq-Club] Factorial proof using Krakatoa, Claude Marche, 10/28/2012
- Re: [Coq-Club] Factorial proof using Krakatoa, Mariana Bernagozzi, 10/27/2012
- Re: [Coq-Club] Factorial proof using Krakatoa, Ruben Monjaraz, 10/26/2012
Archive powered by MHonArc 2.6.18.