aboutsummaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2019-01-24Revert "Add subst to the end of nia in the test-suite"Jason Gross
This reverts commit b49f4e966443a76ac70d37c4cde68f94de164c01. It turns out the 4x was due to .nia.cache (because I didn't clean sufficiently in testing), not due to `subst`.
2019-01-24Add subst to the end of nia in the test-suiteJason Gross
This speeds up the file from 2m32s to ``` real 0m41.851s user 0m41.512s sys 0m0.376s ``` Also note the `subst` trick in the doc.
2019-01-24Move cleanup from the test-suite to Z.div_mod_to_quot_rem_cleanupJason Gross
Also fold it into `Z.div_mod_to_quot_rem` Note that the test-suite file is a bit slow. On my machine, it is ``` real 2m32.983s user 2m32.544s sys 0m0.492s ```
2019-01-24Remove remainder of `Abort`s in test-suite Nia.vJason Gross
Note that we define a `cleanup` tactic which is essential for speed of reasoning. Perhaps this tactic should make it into the code for `Z.div_mod_to_quot_rem` somewhere? ```coq Ltac cleanup := repeat match goal with | [ H : ?T -> _, H' : ?T |- _ ] => specialize (H H') | [ H : ?T -> _, H' : ~?T |- _ ] => clear H | [ H : ~?T -> _, H' : ?T |- _ ] => clear H | [ H : 0 < ?x -> _, H' : ?x < 0 |- _ ] => clear H | [ H : ?x < 0 -> _, H' : 0 < ?x |- _ ] => clear H | _ => progress subst end. ```
2019-01-24Don't bundle Z.div_mod_quot_rem into zifyJason Gross
Alas, I have not had time to work on imrpoving the performance of nia, and there has been a request to include this tactic (which is useful on its own) without bundling it into `zify`. So that is what we do here. I leave the definition of it in `PreOmega` in case we want to eventually include it in `zify`/`nia`.
2019-01-24Don't pose any disjunctions in div_mod_to_quot_remJason Gross
Disjunctions seem to have a negative performance impact, so let's try implications instead.
2019-01-24Add Z.div_mod_to_quot_rem tactic, put it in zifyJason Gross
The various (micr)omega tactics now support `Z.div` and `Z.modulo`. I briefly looked into supporting `Nat.div` and `Nat.modulo`, but the conversions between `Z.div` and `Nat.div` are defined in `ZArith.Zdiv`, which depends on `Omega`, which depends on `PreOmega`, which is where `zify` is defined.
2019-01-24Merge PR #9384: Improve the note in the beginning of the Ltac chapter.Clément Pit-Claudel
Reviewed-by: cpitclaudel
2019-01-24Merge PR #9269: Move and rewrite intro pattern sectionThéo Zimmermann
Ack-by: Zimmi48 Ack-by: anton-trunov Ack-by: jfehrle
2019-01-24Merge PR #9392: Fix small errors in cic.rst.Théo Zimmermann
Reviewed-by: Zimmi48
2019-01-24Merge PR #9394: [nix-ci] MaintenanceThéo Zimmermann
Reviewed-by: SkySkimmer Ack-by: Zimmi48 Reviewed-by: ejgallego Reviewed-by: maximedenes
2019-01-24[nix-CI] Split the build inputsVincent Laporte
Coq and the Coq libraries can now be excluded (by setting the NOCOQ environment variable).
2019-01-24[Nix-ci] Add QuickChickVincent Laporte
2019-01-24[Nix-ci] Fix UnicoqVincent Laporte
2019-01-24[Nix-ci] Add formal-topologyVincent Laporte
2019-01-24Merge PR #9377: [CS] recognize applied primitive projections as keys (fix #9375)Matthieu Sozeau
Ack-by: SkySkimmer Ack-by: gares Reviewed-by: mattam82 Ack-by: ppedrot
2019-01-24Merge PR #9372: [thread] protect threads against sigalrmEmilio Jesus Gallego Arias
Reviewed-by: ejgallego
2019-01-24add commentEnrico Tassi
2019-01-24use \nO, \nS, etc. fix \kw{n}.Tanaka Akira
\nO, \nS, \evenO, \evenS, \oddS, \length, \Nil and \cons are used. don't use \kw in \kw{n} in Fixpoint typing rule section.
2019-01-24Fix small errors in cic.rst.Tanaka Akira
Fix small errors in cic.rst: * 3.4.1 Free variables: use :math: for "∀ x:T,~U". :g: doesn't show "∀" in PDF. "λx:T.~U" is also changed to :math: to use consistent font. * 3.4.3 Zeta: ":U" added in "let x:=u:U in t" to be valid let-in expression. * 3.4.3 convertibility: add :math: for u_2' to apply math formatting. * 3.4.4.6: fix index. "n" should be "k" because they corresponds k-th constructor. * 3.4.5 Type constructor: I changed the section title "Type constructor" to "Type of constructor". "Type constructor" means a feature to construct new type. But this section describes about a type of constructor. * 3.4.5 Example nattree: The reason of "``nattree`` occurs only strictly positively in ``A``" should be bullet 1 instead of bullet 3. The bullet 3 of strict positivity definition is about product, "∀x ∶ U , V", but "A" is not a product. * 3.4.5 Destructors: use :math: for "∀". :g: doesn't show "∀" in PDF. Also, :math: is used for expressions which has no "∀" character for font consistency. Note that I use \kw{has}\_\kw{length} instead of \kw{has\_length} because the latter is formatted as has\_length in HTML. (the backslash is retained.) * 3.4.5 list example: curly braces added. * 3.4.5 Fixpoint definition: add :math: for Γ_i to apply math formatting. * 3.4.6 2nd rule of First abstracting property: use \subst. This adds a curly brace. Also, spacing and fonts are adjusted as follows. * 3.4.1 let-in term: use :math: for variable x, consistent with other term descriptions. * 3.4.1 let-in term: use \letin command for concrete let-in term. * 3.4.2 Note: insert spaces as ((λ x:T.~u)~t). Since T is more closely reated to x than u, T should be positioned close to x than u. Since it seems most application has a space, I inserted a space here for consistency. * 3.4.3 beta-reduction: insert spaces as 3.4.2. * 3.4.3 eta-expansion: insert spaces as 3.4.2. * 3.4.5 Example: use sans-serif fonts for constructor "O" and "S". * 3.4.5 Fixpoint definition: insert spaces around "with". * 3.4.5 Fixpoint typing rule: fix fonts for "O" and "S" as 3.4.5 and insert spaces as 3.4.2. * 3.4.5 Fixpoint reduction rule: insert a space between {F} and a_1 for consistency. * 3.4.6 First abstracting property: insert spaces as 3.4.2.
2019-01-23Move and rewrite documentation for intro patterns that was underJim Fehrle
the intros tactic to its own subsection. Add grammar and examples.
2019-01-23Merge PR #9357: Fix recursive loadpath of ML filesEmilio Jesus Gallego Arias
Reviewed-by: ejgallego
2019-01-23Merge PR #9043: [windows] Cleanup cruft from `dev/build/windows`Michael Soegtrop
Reviewed-by: MSoegtropIMC
2019-01-23Merge PR #9270: Turn `Refine instance Mode` off by defaultPierre-Marie Pédrot
Ack-by: SkySkimmer Ack-by: maximedenes Reviewed-by: ppedrot
2019-01-23Merge PR #9374: Documentation: ring and field simplify can take no argumentsThéo Zimmermann
Reviewed-by: Zimmi48
2019-01-23Fix the information of the level of ; vs ; [ ]Théo Zimmermann
2019-01-23Merge PR #9347: At Qed, if shelved goals remain, emit a warning instead of ↵Pierre-Marie Pédrot
an error Ack-by: maximedenes Reviewed-by: ppedrot
2019-01-23Merge PR #9337: Fixing #9329: registering empty levels in the order they are ↵Emilio Jesus Gallego Arias
computed Reviewed-by: ejgallego
2019-01-23Merge PR #9339: Move plugin tutorial to team ownershipEmilio Jesus Gallego Arias
Reviewed-by: ejgallego Reviewed-by: gares
2019-01-23Improve the note in the beginning of the Ltac chapter.Théo Zimmermann
In particular, add an example to illustrate the associativity of ;
2019-01-23Merge PR #9361: Make prvect tail recursive (fix #9355)Emilio Jesus Gallego Arias
Ack-by: SkySkimmer Reviewed-by: ejgallego
2019-01-23Merge PR #9382: Transfer maintenance of appveyor infrastructure to the CI teamThéo Zimmermann
Reviewed-by: SkySkimmer Reviewed-by: Zimmi48
2019-01-23Merge PR #9239: [ci] [appveyor] Pass -j2 to Appveyor's build and build test ↵Maxime Dénès
suite again
2019-01-22Remove unneeded | in productionlistsJim Fehrle
2019-01-22Transfer maintenance of appveyor infrastructure to the CI teamMaxime Dénès
2019-01-22Merge PR #9225: Fix issue: Windows CI: cygwin install cache is not reused #9212Maxime Dénès
Reviewed-by: maximedenes
2019-01-22[configure] print Sys.os_type since Architecture alone is ambigousEnrico Tassi
2019-01-22[thread] protect threads against sigalrmEnrico Tassi
This makes the implementation of Timeout on unix more reliable since only the main thread will receive the signal for timeout.
2019-01-22Fixing #9329 (registering empty levels in the order they are recomputed).Hugo Herbelin
Was raising an anomaly 'Failure("Grammar.extend")' otherwise.
2019-01-22Merge PR #9308: Remove outdated gitignore coqprojectfile.mlEmilio Jesus Gallego Arias
Reviewed-by: ejgallego
2019-01-22Merge PR #9332: Add OSX job to azureEmilio Jesus Gallego Arias
Ack-by: SkySkimmer Reviewed-by: ejgallego
2019-01-22Make prvect tail recursive (fix #9355)Gaëtan Gilbert
Using a unit test as it's way faster than messing with universes. You can test with universes by ~~~coq Set Universe Polymorphism. Definition x1@{i} := True. Definition x2 := x1 -> x1. Definition x3 := x2 -> x2. Definition x4 := x3 -> x3. Definition x5 := x4 -> x4. Definition x6 := x5 -> x5. Definition x7 := x6 -> x6. Definition x8 := x7 -> x7. Definition x9 := x8 -> x8. Definition x10 := x9 -> x9. Definition x11 := x10 -> x10. Definition x12 := x11 -> x11. Definition x13 := x12 -> x12. Definition x14 := x13 -> x13. Definition x15 := x14 -> x14. Definition x16 := x15 -> x15. Definition x17 := x16 -> x16. Definition x18 := x17 -> x17. Definition x19 := x18 -> x18. About x19. (* 262144 universes *) ~~~ Note on my machine `About x18.` did not overflow even before this commit.
2019-01-22Turn `Refine Instance Mode` off by defaultMaxime Dénès
2019-01-22Make `Add Morphism` not rely on Refine InstanceMaxime Dénès
2019-01-22Remove useless freshness check in new_instanceMaxime Dénès
2019-01-22Distinguish ASTs for Instance and Declare InstanceMaxime Dénès
This makes code paths clearer (we still factorize a lot of the treatment), and we seize the opportunity to forbid anonymous `Declare Instance` which is not a documented construction, and seems to make little sense in practice.
2019-01-22Simplify parsing of instance bindersMaxime Dénès
2019-01-22VernacDeclareClass -> VernacExistingClassMaxime Dénès
2019-01-22VernacDeclareInstances -> VernacExistingInstanceMaxime Dénès
2019-01-22[CS] recognize applied primitive projections as keys (fix #9375)Enrico Tassi