Skip to Content.
Sympa Menu

ssreflect - [ssreflect] Coq 8.6 / Coq 8.7 Ssreflect regression

Subject: Ssreflect Users Discussion List

List archive

[ssreflect] Coq 8.6 / Coq 8.7 Ssreflect regression


Chronological Thread 
  • From: Florent Hivert <>
  • To: "" <>,
  • Subject: [ssreflect] Coq 8.6 / Coq 8.7 Ssreflect regression
  • Date: Thu, 14 Dec 2017 22:42:32 +0100
  • Authentication-results: mail3-smtp-sop.national.inria.fr; spf=None ; spf=None ; spf=None
  • Ironport-phdr: 9a23:XwL0kBxP8+copy3XCy+O+j09IxM/srCxBDY+r6Qd1O0UIJqq85mqBkHD//Il1AaPAd2Craocw8Pt8InYEVQa5piAtH1QOLdtbDQizfssogo7HcSeAlf6JvO5JwYzHcBFSUM3tyrjaRsdF8nxfUDdrWOv5jAOBBr/KRB1JuPoEYLOksi7ze+/94HObwlSmDaxfa55IQmrownWqsQYm5ZpJLwryhvOrHtIeuBWyn1tKFmOgRvy5dq+8YB6/ShItP0v68BPUaPhf6QlVrNYFygpM3o05MLwqxbOSxaE62YGXWUXlhpIBBXF7A3/U5zsvCb2qvZx1S+HNsDwULs6Wymt771zRRHmiCkJKSM3/mLYhcNska1UrgmspwBjz4LIfI2ZKOBzcr3bcNgHRWRBRMFRVylZD428a4sPCPABMvher4nhulAArxq+BReyC+P11j9Dm3j7060+0+QmCwHJwgogH84UvHrWrdX1KrkdUfqpzKTTyTXDdfJW1S3z6IjSax0sp+yHU7x3ccrU00YvFgXFg02fqYzkIzOV1vkNvHOB4+V8UuKvjmgqoBxyrDi33sogl5fFi4YPxlzZ9yh0wJw5KcC4RUJhbtOpFoZbuTuAOItsWMwiRnlluCYkxb0Cvp62ZDYFyZs7xxLFb/yHaYmI7gjtVOaLOTt4hXRld6yjhxuq7ESs1OnxWtOp3FtIridJiMTAu3AX2xHc8sSHT+Fy/kal2TaBzQDT7eRELFg0m6rfLJ4h2KA/lpwPsUjZHCH2mVv2g7GMdkU44eWo7/7nYrT8qp+SLY94khv+Pbg2msyjHeQ4NRADX3OA+eSmyrLj80n5T6tWgf0qiaTZq5DbJcEDpqGjGQNV04Aj6wy+Dzi8ytgYk2MHfxp5f0fNlJPzNl/KLfvkJfKkmRGtli1qzrbHOKfgC9PDNDKLxKz6Z7tz70NX1CI21soa5pROC7hHIfTpW0a3usaOSlc+KySuxPvtAZN7259Nd3iIB/q3NKTIvFmUrsIuPeSWeMdBljL6MfUj+7jOjGE0g0M1ebOom5UNPiPrVs96KlmUNCK/yuwKFn0H61Iz

Dear all,

I've just hit a problem when upgrading Coq from 8.6 to 8.7.0. My code works
perfectly with 8.5 and 8.6, but when switching with 8.7.0, the symptom is that
when compiling in batch coqc run forever during the first make. Interrupting
with ctrl+c and relauching make gives:

File "./theories/LRrule/implem.v", line 127, characters 0-532:
Error: Stack overflow.

Deleting implem.glob and implem.v.d restores the run for ever behavior. Also
whether I delete those two files or not, if I run the script in
Emacs/ProofGeneral I also got the Stack overflow message. The Fixpoint
definition which generate the stack overflow it at the end of this message.

Unfortunately, this happens in the last file of my relatively important
development and I've no idea on how to reduce the bug to something which is
not a dozens of Coq files in a bunch of directory. Moreover, I've no
experience debugging Coq / Ocaml. So I'd like to have some suggestions,
advises or help on how to attack the problem.

Unfortunately, I've no idea if it's a plain Coq problem or if it comes from
SSReflect plugin and no idea on how to investigate this.

Some informations: I'm using

- Coq 8.7.0 installed from Opam using my distrib (OpenSuSE LEAP 42.3) OCaml
compiler which is 4.03.0.
- coq-mathcomp-ssreflect.1.6.4
- coq-mathcomp-fingroup 1.6.4
- coq-mathcomp-algebra 1.6.4
- coq-mathcomp-field 1.6.4
- coq-mathcomp-character 1.6.4
- coq-mathcomp-solvable 1.6.4

- coq-mathcomp-multinomials 1.0

All of those where installed with Opam too.

If you want to try to reproduce the problem:

* clone the repository https://github.com/hivert/Coq-Combi
* and just type make.

The compilation should hang on theories/LRrule/implem.v

Thanks for any help !

Florent Hivert

Fixpoint LRyamtab_list_rec innev inner outer sh0 row0 :=
if outer is out0 :: out then
let inn0 := head 0 inner in let inn := behead inner in
let rowres := yamtab_row innev (take (out0 - sh0) row0) in
let rows :=
flatten [seq yamtab_shift res.2 (head (size innev) res.1)
((minn sh0 out0) - inn0) res.1
| res <- rowres ] in
flatten [seq [seq row.1 :: tab |
tab <- LRyamtab_list_rec row.2 inn out inn0 row.1] |
row <- rows]
else [:: [::]].



Archive powered by MHonArc 2.6.18.

Top of Page