aboutsummaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2019-02-01[toplevel] Split interactive toplevel and compiler binaries.Emilio Jesus Gallego Arias
We make `coqc` a truly standalone binary, whereas `coqtop` is restricted to interactive use. Thus, `coqtop -compile` will emit a warning and call `coqc`. We have also refactored `Coqargs` into a common `Coqargs` module and a compilation-specific module `Coqcargs`. This solves problems related to `coqc` having its own argument parsing, and reduces the number of strange argument combinations a lot.
2019-02-01Merge PR #9415: Simplify the GitHub issue templateMaxime Dénès
Ack-by: JasonGross Reviewed-by: Zimmi48 Reviewed-by: ejgallego Reviewed-by: gares Ack-by: tchajed
2019-02-01Merge PR #9095: [toplevel] Deprecate `-compile` flag in favor of `coqc`Maxime Dénès
Ack-by: SkySkimmer Reviewed-by: Zimmi48 Ack-by: ejgallego Ack-by: gares Reviewed-by: maximedenes
2019-02-01Correct W-Ind.Tanaka Akira
Remove the 2nd premise "(E[Γ_P ] ⊢ A_j : s_j)_(j=1...k)". Also, "Γ" in "c_i ∉ Γ ∪ E" is changed to "Γ_I". "E[Γ_P ] ⊢ A_j : s_j" contradicts with a side condition "A_j is an arity of sort s_j". The latter means that A_j is ∀ x1:T1, ... ∀ xm:Tm, s_j. So, "(∀ x1:T1, ..., s_j) : s_j)" is required. Using Prod-{Prop,Set,Type}, it needs "s_j : s_j" which cannot be proved. This problem is introduced at 2018-07-22: https://github.com/coq/coq/commit/f25c1d252ad61b4dc4321e3a11f33b1e6d4e3dff Before that, the premise describes "A_j : s'_j". And "s'_j" is not explained anywhere. I think "A_j : s'_j" describes that A_j is a type (a value of a sort). Thus, "A_j is an arity of sort s_j" imply "A_j : s'_j". So, I removed the 2nd premise. Also, a side condition describes "c_i ∉ Γ ∪ E" but "Γ" is not explained. I think that Γ should be Γ_I. Γ should include Γ_I because a constructor, c_i, and inductive types are both defined in global environment and it cannot accept duplicate name. Actually, such definition fails: ``` Fail Inductive X := X : X. (* The following names are used both as type names and constructor names: X.*) ``` Γ doesn't include Γ_P because parameters are not defined in global environment. Actually, a parameter can be same name as a constructor name: ``` Inductive I (X : nat) := X : I X. Check X. (* X : forall X : nat, I X *) ```
2019-02-01The lowest universe level is 1.Tanaka Akira
Cic description doesn't describe the lowest universe level clearly. - "Type(i) for any integer i" seems Type(-1) is possible - "S = {Prop,Set,Type(i)| i ∈ ℕ }" depends on the definition of "ℕ" which is not described. It is well known that there are two definitions that ℕ includes 0 or not. In Coq, it is natural that ℕ includes 0 because the inductive type nat includes 0. - "Prop:Type(1), Set:Type(1)" suggests the lowest level is 1. - AX-Prop and AX-Set describes Prop:Type(1) and Set:Type(1). So, Prop and Set are not belongs to Type(0). Also, CPDT describes that "The type of Set is Type(0)". http://adam.chlipala.net/cpdt/html/Universes.html I think the lowest universe level is 1 because AX-Prop and AX-Set. I'm not certain to fix this problem but my idea to fix this problem is changing "Type(i) for any integer i" to "Type(i) for any integer i ≥ 1".
2019-01-31Fix off-by-one error in nat syntax warningsJason Gross
Fixes #9453
2019-01-31add testEnrico Tassi
2019-01-31[proof] optimize proof always works on incomplete proofsEnrico Tassi
2019-01-31Merge PR #9449: Fix small errors in cic.rst (2nd).Théo Zimmermann
Reviewed-by: Zimmi48
2019-01-31Merge PR #9448: [ci] [ocaml] Fix OCaml trunk builds.Gaëtan Gilbert
Reviewed-by: SkySkimmer
2019-01-31Use λ instead of \lb.Tanaka Akira
The former is more succinct and intuitive.
2019-01-31The subst Γ{c}{(c c')} should be Γ{c'}{(c' c)}.Tanaka Akira
c can be non-function since c:U. So, c c' is not typeable.
2019-01-31[ci] [ocaml] Fix OCaml trunk builds.Emilio Jesus Gallego Arias
2019-01-31Use "U" instead of "u" for a type.Tanaka Akira
2019-01-31Fix an index. The number of constructors is "l".Tanaka Akira
2019-01-31Merge PR #9442: Update pinned nixpkgs.Vincent Laporte
Ack-by: Zimmi48 Reviewed-by: vbgl
2019-01-31Use \Match for match construct.Tanaka Akira
2019-01-31Insert a space before \kwend.Tanaka Akira
2019-01-31Use \length for the function name of length.Tanaka Akira
2019-01-31Adjust spaces.Tanaka Akira
This commit basically ajusts spaces as - ∀x:T,t to ∀x:T,~t - λx:T.t to λx:T.~t - E;c:T to E;~c:T x and T are more related than T and t. So, T and t should not positioned closely than x and T. Unfortunately, they are formatted that T and t are positioned closely without "~". (Similary, c and T are more related than E and c.)
2019-01-31Use "∀" and "λ" instead of \forall and \lambda.Tanaka Akira
The former is more succinct and consistent with most of other parts in cic.rst.
2019-01-31Use math more.Tanaka Akira
Add :math:`...` for mathematical expressions.
2019-01-31Make parenthesis correctly matched.Tanaka Akira
2019-01-31\Sort is not a term.Tanaka Akira
"∀Γ_P ,∀Γ_{\mathit{Arr}(t)}, \Sort" is changed to "∀Γ_P ,∀Γ_{\mathit{Arr}(t)}, S" because \Sort is not a term. "S" is choosen to be consistent with the description of Inductive Definitions.
2019-01-31Use semicolon for separator of local contexts.Tanaka Akira
2019-01-31Don't line break at hyphen of compound words.Tanaka Akira
2019-01-31Move out a period and comma from :math:.Tanaka Akira
2019-01-31Nest :math: and parenthesis properly.Tanaka Akira
Exchange a closing parenthesis and a :math: closing backquote.
2019-01-31Fix syntax of two lambda-abstractions.Tanaka Akira
In the note about η-reduction, two lambda-abstraction used "," instead of ".".
2019-01-31Change {\Sort} to \Sort.Tanaka Akira
After #9435 (Use \mathcal instead of \cal), \Sort doesn't have font changing effect. So, {\Sort} is same as \Sort now and the former is changed to latter in cic.rst.
2019-01-31Use \Prop, \Set and \Type defined in refman-preamble.sty.Tanaka Akira
2019-01-31Make "1" and "2" in "f1" and "f2" suffixes.Tanaka Akira
2019-01-31Make "1" and "n" in "u1" and "un" suffixes.Tanaka Akira
2019-01-31Remove "End TreeExample." line.Tanaka Akira
This corresponds to "Module TreeExample." removed at 2018-04-24 bcf5352cc7a26a672e719f7dad4021c69d723833.
2019-01-31Merge PR #8720: [Numeral notations] Use Coqlib registered constantsEmilio Jesus Gallego Arias
Reviewed-by: JasonGross Ack-by: SkySkimmer Reviewed-by: Zimmi48 Reviewed-by: ejgallego Ack-by: ppedrot Ack-by: vbgl
2019-01-30Update Cachix signing key.Théo Zimmermann
2019-01-30Updated pinned nixpkgs.Théo Zimmermann
Use default OCaml version (4.06.1).
2019-01-30Merge PR #9440: Create deployment environment for Cachix.Emilio Jesus Gallego Arias
Reviewed-by: SkySkimmer Reviewed-by: ejgallego
2019-01-30Create deployment environment for Cachix.Théo Zimmermann
2019-01-30[toplevel] Deprecate the `-compile` flag in favor of `coqc`.Emilio Jesus Gallego Arias
This PR deprecates the use of `coqtop` as a compiler. There is no point on having two binaries with the same purpose; after the experiment in #8690, IMHO we have a lot to gain in terms of code organization by splitting the compiler and the interactive binary. We adapt the documentation and adapt the test-suite. Note that we don't make `coqc` a true binary yet, but here we take care only of the user-facing part. The conversion of the binary will take place in #8690 and will bring code simplification, including a unified handling of arguments.
2019-01-30Cleanup universe length for inductives in vconvGaëtan Gilbert
2019-01-30Restrict universes in records.Gaëtan Gilbert
Fix #8076.
2019-01-30Comment universe operations in Classes.contextGaëtan Gilbert
2019-01-30Merge pull request coq/ltac2#100 from JasonGross/fix-lazy-match-goalPierre-Marie Pédrot
Make lazy_match! goal actually lazy
2019-01-29Merge PR #9417: Update update-compat.py scriptThéo Zimmermann
Reviewed-by: Zimmi48
2019-01-29Merge PR #9435: Use \mathcal instead of \calThéo Zimmermann
Reviewed-by: Zimmi48
2019-01-29Update update-compat.py scriptJason Gross
It now removes the outdated `CompatOldOldFlag.v` file on `--release`, and it now correctly updates `bug_9166.v` which seems to specifically be about the compat flag behavior. Additionally, it inserts an "autogenerated" notice at top of the two bug files, and makes them read-only.
2019-01-29Merge PR #9274: Make `Instance` without a body always open a proofEnrico Tassi
Reviewed-by: gares Reviewed-by: mattam82 Reviewed-by: ppedrot
2019-01-29[test-suite] Display full paths on CHECK.Emilio Jesus Gallego Arias
This makes the display consistent wrt `TEST`: ``` TEST failure/Case7.v CHECK Case7 ``` vs ``` TEST failure/Case7.v CHECK failure/Case7.v ```
2019-01-29Use \mathcal instead of \calGaëtan Gilbert
Apparently it's deprecated / doesn't always work, see https://tex.stackexchange.com/questions/84041/why-does-calm-n-give-m See #9429 (we also need to fix the distributed file on the server).