coq-club AT inria.fr
Subject: The Coq mailing list
List archive
- From: Adam Chlipala <adamc AT csail.mit.edu>
- To: Coq Club <coq-club AT inria.fr>
- Subject: [Coq-Club] Proving large conjunctions?
- Date: Wed, 18 Jul 2012 15:48:20 -0400
I'm running into some trouble with efficient proving of large conjunctions being produced by Gallina functions. (My concrete context is a verification condition generator, in the Hoare Logic style, implemented in Gallina).
The basic problem is how to reduce a large conjunction into a subgoal per conjunct, without taking an excessive amount of time. I run into the same basic issue with such alternatives as [List.Forall] with long list arguments.
Here's an example with a contrived very large conjunction. The single [split] invocation near the end takes 5 seconds, and just "peeling away" the outer tier of conjunctions would require about 100 further [split] calls, each taking only a little less time than the previous one. This quickly comes to be a dominating factor in the time to run proof scripts.
So, my question/challenge regarding this example is: how could I prove the goal in substantially less time? Of course, I'm really interested in a strategy that would apply to large conjunctions in general. Thanks!
(**)
Fixpoint truue (n : nat) : Prop :=
match n with
| O => True
| S n' => True /\ truue n'
end.
Fixpoint truuue (n : nat) : Prop :=
match n with
| O => True
| S n' => truue 1000 /\ truuue n'
end.
Goal truuue 100.
compute.
Time split. (* 5 secs *)
(**)
- [Coq-Club] Proving large conjunctions?, Adam Chlipala, 07/18/2012
- Re: [Coq-Club] Proving large conjunctions?, Laurent Théry, 07/18/2012
- Re: [Coq-Club] Proving large conjunctions?, Adam Chlipala, 07/18/2012
- Re: [Coq-Club] Proving large conjunctions?, Jean Goubault-Larrecq, 07/19/2012
- Re: [Coq-Club] Proving large conjunctions?, Adam Chlipala, 07/19/2012
- Re: [Coq-Club] Proving large conjunctions?, Jason Gross, 07/19/2012
- Re: [Coq-Club] Proving large conjunctions?, Adam Chlipala, 07/19/2012
- Re: [Coq-Club] Proving large conjunctions?, Thomas Braibant, 07/19/2012
- Re: [Coq-Club] Proving large conjunctions?, Jason Gross, 07/19/2012
- Re: [Coq-Club] Proving large conjunctions?, Frédéric Besson, 07/19/2012
- Re: [Coq-Club] Proving large conjunctions?, Adam Chlipala, 07/19/2012
- Re: [Coq-Club] Proving large conjunctions?, Adam Chlipala, 07/19/2012
- Re: [Coq-Club] Proving large conjunctions?, Adam Chlipala, 07/19/2012
- Re: [Coq-Club] Proving large conjunctions?, Adam Chlipala, 07/19/2012
- Re: [Coq-Club] Proving large conjunctions?, Jean Goubault-Larrecq, 07/19/2012
- Re: [Coq-Club] Proving large conjunctions?, Adam Chlipala, 07/18/2012
- Re: [Coq-Club] Proving large conjunctions?, Laurent Théry, 07/18/2012
Archive powered by MHonArc 2.6.18.