aboutsummaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2017-05-23coqdep: set FOR_PACK variable for files that need to be packedEnrico Tassi
This enables one to have just one rule to compile .ml -> .cmx. By using $(FOR_PACK) in such rule one passes to ocamlopt -for-pack ModName only when necessary. Before this coq_makefile had to generate 2 different rules, depending if the module was mentioned in an .mlpack.
2017-05-23print_config: print COQ_SRC_SUBDIRSEnrico Tassi
This way a makefile can just iterate on this list, intead of having a bunch of -I hardcoded in there by coq_makefile
2017-05-23Document --print-version in UsageEnrico Tassi
2017-05-23Put the list of Coq sources subdirectories in one placeEnrico Tassi
and avoid duplication
2017-05-23Usage.print_config moved to EnvarsEnrico Tassi
2017-05-23CoqProject_file: document in API deprecated featuresEnrico Tassi
2017-05-23CoqProject_file: API and code cleanup (tuples -> records)Enrico Tassi
2017-05-23ide/project_file.ml4 -> lib/coqProject_file.ml4 + .mliEnrico Tassi
The .mli only acknowledges the current API. I'm not guilty your honor!
2017-05-23ide/project_fie.ml4: include standard banner with copyrightEnrico Tassi
2017-05-23test suite for coq_makefileEnrico Tassi
2017-05-23configure: -local set coqdoc destination dir to ./doc rather than ""Enrico Tassi
2017-05-23Postponing of universe constraints unification in term equality.Pierre-Marie Pédrot
Instead of calling the universe unification at each term node, we accumulate them and try to perform unification at the very end. This seems to be experimentally faster.
2017-05-23Bigint.euclid: clarify which sign convention is usedPierre Letouzey
2017-05-23Fix bindings handling of setoid_rewrite.Cyprien Mangin
This fixes the discrepancy between "rewrite H with (1 := x)" and "setoid_rewrite H with (1 := x)".
2017-05-23Merge PR#661: Added a test for #4765 (an example of printing abbreviation ↵Maxime Dénès
with binders)
2017-05-23Merge PR#659: Mention ./configure in INSTALL.docMaxime Dénès
2017-05-23Merge PR#657: [test-suite] Add tests for goal printing.Maxime Dénès
2017-05-23Merge PR#646: Revised behavior on ill-formed identifiersMaxime Dénès
2017-05-23Merge PR#660: Change wrong bullet message.Maxime Dénès
2017-05-23Merge PR#518: Faster universe unificationMaxime Dénès
2017-05-23[vernac] Remove `Save thm id.` command.Emilio Jesus Gallego Arias
We'd like to cleanup the `proof_end` type so we can have a smaller path in proof save. Note that the construction: ``` Goal Type. ⋮ Save id. ``` has to be handled by the STM in the same path as Defined (but with an opaque flag), as `Save id` will alter the environment and cannot be processed in parallel. We thus try to simply such paths a bit, as complexity of `lemmas.ml` seems like an issue these days. The form `Save Theorem id` doesn't really seem used, and moreover we should really add a type of "Goal", and unify syntax. It is often the case that beginners try `Goal addnC n : n + 0 = n." etc...
2017-05-23[vernac] Remove `Save.` command.Emilio Jesus Gallego Arias
It has been deprecated for a while in favor of `Qed`.
2017-05-22refl_omega: some code refactoringPierre Letouzey
2017-05-22refl_omega.v: explicitely identify atom indexes and omega varsPierre Letouzey
2017-05-22ReflOmegaCore: misc cleanup, <? instead of bgt, etcPierre Letouzey
2017-05-22ROmega : O_STATE turned into a O_SUMPierre Letouzey
We benefit from the fact that we normalize now *all* hypotheses even the one defining the "stated" variable: it is produced as ...def of v... = v and normalized as -v + ...def of v... = 0 which is precisely what we should add to the initial equation during a O_STATE.
2017-05-22ROmega: less contructors in the final omega tracePierre Letouzey
Now that O_SUM is properly optimized (cf. the [fusion] function), we could use it to encode CONTRADICTION and NEGATE_CONTRADICT(_INV). This way, the trace has almost the same size, but ReflOmegaCore.v is shorter and easier to maintain.
2017-05-22ROmega : merge O_CONSTANT* into a single O_BAD_CONSTANTPierre Letouzey
2017-05-22ReflOmegaCore: reverse some integer mult (coefs k1,k2 will often be simple)Pierre Letouzey
2017-05-22ReflOmegaCore: comment, reorganize, permut some constructors, etcPierre Letouzey
2017-05-22romega: add a tactic named unsafe_romega (for debugging, or bold users)Pierre Letouzey
In this variant, the proof term produced by romega isn't verified at the tactic run-time (no vm_compute). In theory, [unsafe_romega] should behave exactly as [romega], but faster. Now, if there's a bug in romega, we'll be notified only at the following Qed. This could be interesting for debugging purpose : you could inspect the produced buggish term via a Show Proof.
2017-05-22romega: no more normalization trace, replaced by some Coq-side computationPierre Letouzey
This is a major change : - Generated proofs are quite shorter, since only the resolution trace remains. - No time penalty mesured (it even tends to be slightly faster this way). - Less infrastructure in ReflOmegaCore and refl_omega. - Warning: the normalization functions in ML and in Coq should be kept in sync, as well as the variable order. - Btw: get rid of ML constructor Oufo
2017-05-22romega/const_omega : a few improvements (less try with, no gen equality)Pierre Letouzey
2017-05-22romega: use N instead of nat for TvarPierre Letouzey
In a coming commit, we'll normalize terms by a Coq function that will compare Tvar's instead of blindly applying a trace, so let's speed-up these comparisons.
2017-05-22romega: shorter trace (no more term lengths)Pierre Letouzey
2017-05-22refl_omega: refactoring of normalize_equationPierre Letouzey
2017-05-22ReflOmegaCore: lots of dead code + a few refactored proofsPierre Letouzey
2017-05-22romega: if it bugs again, at least do it with a short and quick errorPierre Letouzey
2017-05-22refl_omega: comment the lack of lifts when dealing with arrowsPierre Letouzey
2017-05-22romega: discard constructor D_mono (shorter trace + fix a bug)Pierre Letouzey
For the bug, see new test test_romega10 in test-suite/success/ROmega0.v.
2017-05-22refl_omega: more refactoring (e.g. IntSets instead of sorted lists)Pierre Letouzey
2017-05-22refl_omega: refactoring (e.g. useless args in destructurate_pos_hyp)Pierre Letouzey
2017-05-22ReflOmegaCore: discard useless cosntructor P_NOPPierre Letouzey
2017-05-22ReflOmegaCore: revised proofs (mostly bullets instead of ;[|||])Pierre Letouzey
2017-05-22Compatibility fix while waiting for integration of Pierre Courtieu's PR #449.Hugo Herbelin
2017-05-22Using type classes in the interpretation of "specialize" and "contradiction".Hugo Herbelin
We do that by using constr_with_bindings rather than open_constr_with_bindings (+ extra call to typeclasses in "specialize"). If my understanding is right, the only effect would be to succeed more in cases where it was failing (in inh_conv_coerce_to_gen). In particular, "specialize" and "contradiction" already have a WITHHOLES test for rejecting pending holes. Incidentally, this answers enhancement #5153.
2017-05-22Clarifying the interpretation path for the "constr_with_binding" argument.Hugo Herbelin
This fixes an inconsistency introduced in 554a6c806 (svn r12603) where both interp_constr_with_bindings and interp_open_constr_with_bindings were going through interp_open_constr (no type classes so as to not to commit too early on irreversible choices, accepting unresolved holes). We fix this by having interp_constr_with_bindings going to interp_constr (using type classes and failing on unresolved evars). The external impact is that any TACTIC EXTEND which refers to constr_with_binding has now to decide whether it intends it to use what the name suggest (using type classes and to fail if evars remain unresolved), thus keeping constr_with_binding, or the actual behavior which requires to use open_constr_with_bindings for strict compatibility.
2017-05-20Added a test for #4765 (an example of printing abbreviation with binders).Hugo Herbelin
2017-05-20Deprecate -nodoc.Théo Zimmermann
2017-05-20[coqdoc] Add keywords in bug 2884.Emilio Jesus Gallego Arias