TE
科技回声
首页24小时热榜最新最佳问答展示工作
GitHubTwitter
首页

科技回声

基于 Next.js 构建的科技新闻平台,提供全球科技新闻和讨论内容。

GitHubTwitter

首页

首页最新最佳问答展示工作

资源链接

HackerNews API原版 HackerNewsNext.js

© 2025 科技回声. 版权所有。

Reproduce Gonthier Four Colour Theorem proof challenge (make no proof patches)

1 点作者 danbst超过 4 年前
1. Source code is packaged and distributed as a MSI executable (sic!). Luckily, it can be unarchived using Wine:<p># theoremDistrib url = https:&#x2F;&#x2F;download.microsoft.com&#x2F;download&#x2F;D&#x2F;1&#x2F;D&#x2F;D1D6FCF9-4D04-49FE-9952-0D295B180CF4&#x2F;4ct.msi<p>HOME=$TMPDIR wine msiexec &#x2F;qn &#x2F;i ${theoremDistrib} TARGETDIR=$out<p>2. 4CT is proved originally in Coq v7.3.1, however the distributed source code is adapted for Coq v8 (exact version not specified).<p>All Coq version are available at https:&#x2F;&#x2F;coq.inria.fr&#x2F;distrib&#x2F;<p>3. Building Coq v8.1 is easy, according to documentation. The only thing is, it requires Ocaml v.3.07 or later<p><pre><code> - Objective Caml version 3.07 or later (available at http:&#x2F;&#x2F;caml.inria.fr&#x2F;) </code></pre> And we know what does it mean &quot;... or later&quot;. Go grab 3.07 otherwise it won&#x27;t compile.<p>4. Another problem is ssreflect library. Quoting proof&#x27;s README:<p>&quot;The required extension package, named &quot;ssreflect&quot; (for &quot;small-scale reflection&quot;) is distributed separately. It consists of a single extended ML (.ml4) file, which compiles to a library that must be linked with the Coq system, using either the -load-ml-object command line switch (for bytecode systems, not recommended) or, preferably, the coqmktop utility to produce a new Coq system binary. The definition of the COQC variable in the Makefile should be adjusted to refer to this new system (it defaults to .&#x2F;ssrcoq.exe).<p><pre><code> Note that this directory contains a copy of the vernacular files needed to</code></pre> support the ssreflect extensions (ssreflect.v and ssrbool.v).&quot;<p>So 0) get Ocaml 1) build Coq, 2) build another Coq using coqmktop and those two files 3) compile proof<p>---<p>Overall this results in a pretty long reproducibility chain. Can you capture this chain, without making patches to original proof?

暂无评论

暂无评论