coq-club AT inria.fr
Subject: The Coq mailing list
List archive
- From: Hugo Herbelin <herbelin AT pauillac.inria.fr>
- To: thery AT ns.di.univaq.it (Thery Laurent)
- Cc: coq-club AT pauillac.inria.fr
- Subject: Re: [Coq-Club] Slow Typing
- Date: Wed, 13 Jul 2005 13:00:19 +0200 (MET DST)
- List-archive: <http://pauillac.inria.fr/pipermail/coq-club/>
Hi Laurent,
You'll solve the complexity problem and will typecheck your example
in a few seconds if you replace in your file the expressions of the
form
let r1 := make_PExpr_aux p1 e n in
let r2 := make_PExpr_aux p2 e (snd r1) in
(mkPEadd (fst r1) (fst r2), (snd r2))
by
let (r11,r12) := make_PExpr_aux p1 e n in
let (r21,r22) := make_PExpr_aux p2 e r12 in
(mkPEadd r11 r21, r22)
that avoids exponential duplication of the expressions "make_PExpr_aux
x y z" when normalizing "test_in e e1".
On the type-checking strategy question, Coq has to reduce in general
the argument of a match/if as it can potentially give informations on
the structural decreasing of the fixpoint definition. In the case of
"if", the branches does not extract information from the matched term,
so an optimization could have been done to avoid the reduction of
"test_in e e1".
Hugo
- [Coq-Club] rpm coq v8 & ML modules, anoun
- [Coq-Club] Slow Typing,
Thery Laurent
- Re: [Coq-Club] Slow Typing, Hugo Herbelin
- [Coq-Club] Slow Typing,
Thery Laurent
Archive powered by MhonArc 2.6.16.