aboutsummaryrefslogtreecommitdiffhomepage
path: root/theories
Commit message (Collapse)AuthorAge
* Merge PR #6855: Update headers following #6543.Gravatar Maxime Dénès2018-03-05
|\
* | Remove 8.5 compatibility support.Gravatar Théo Zimmermann2018-03-02
| |
* | Remove VOld compatibility flag.Gravatar Théo Zimmermann2018-03-02
| |
* | Turn warning for deprecated notations on.Gravatar Théo Zimmermann2018-03-02
| | | | | | | | Fix new deprecation warnings in the standard library.
* | Remove the deprecation for some 8.2-8.5 compatibility aliases.Gravatar Théo Zimmermann2018-03-02
| | | | | | | | | | | | | | | | | | | | This was decided during the Fall WG (2017). The aliases that are kept as deprecated are the ones where the difference is only a prefix becoming a qualified module name. The intention is to turn the warning for deprecated notations on. We change the compat version to 8.6 to allow the removal of VOld and V8_5.
* | Merge PR #6852: [stdlib] move “Require” out of sectionsGravatar Maxime Dénès2018-02-28
|\ \
* \ \ Merge PR #1026: changed statements of Rpower_lt and Rle_power and added lemmasGravatar Maxime Dénès2018-02-28
|\ \ \
| | | * Update headers following #6543.Gravatar Théo Zimmermann2018-02-27
| |_|/ |/| |
| | * [stdlib] move “Require” out of sectionsGravatar Vincent Laporte2018-02-27
| |/ |/|
* | Merge PR #6599: Decimals in preludeGravatar Maxime Dénès2018-02-24
|\ \
* \ \ Merge PR #6282: proposed fix for issue #3213: extra variable m in Lt.S_predGravatar Maxime Dénès2018-02-21
|\ \ \
| | * | Decimal goodies : conversion to/from Coq stringsGravatar Pierre Letouzey2018-02-20
| | | | | | | | | | | | | | | | Just because it's fun and easy. Not used by the Numeral Notation command.
| | * | Decimal: proofs that conversions from/to nat,N,Z are bijectionsGravatar Pierre Letouzey2018-02-20
| | | |
| | * | Decimal: simple representation of base-10 numbersGravatar Pierre Letouzey2018-02-20
| | | |
* | | | Trying a hack to support {'pat|P} without breaking compatibility.Gravatar Hugo Herbelin2018-02-20
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Concretely, we bypass the following limitation: The notation "{ ' pat | P }" broke the parsing of expressions of the form "{ forall x, P } + { Q }". Indeed the latter works thanks to a tolerance of Camlp5 in parsing "forall x, P" at level 200 while the rule asks to actually parse the interior of "{ ... }" at level 99 (the reason for 99 is to be below the rule for "M : T" which is at level 100, so that "{ x : A | P }" does not see "x : A" as a cast). Adding an extra "'"; pat = pattern in parallel to c = constr LEVEL "99" broke the tolerance for constr at level 200. We fix this by adding an ad hoc rule for "{ binder_constr }" in the native grammar (g_constr.ml4). Actually, this is inconsistent with having a rule for "{ constr at level 99 }" in Notations.v. We should have both rules in Notations.v or both rules hard-wired in the native grammar. But I still don't know what is the best decision to take, so leaving as it at the current time. Advantages of hard-wiring both rules in g_constr.ml4: a bit simpler in metasyntax.ml (no need to ensure that the rule exist). Disadvantages: if one wants a different initial state without the business needing the "{ }" for sumbool, sumor, sig, sigT, one still have the rules there. Advantages of having them in Notations.v: more modular, we can change the initial state. Disadvantages: one would need a new kind of modifier, something like "x at level 99 || binder_constr", with all the difficulty to find a nice, intuitive, name for "binder_constr", and the difficulty of understanding if there is a generality to this "||" disjunction operator, and whether it should be documented or not.
* | | | Adding notations of the form "{'pat|P}", "exists2 'pat, P & Q", etc.Gravatar Hugo Herbelin2018-02-20
| | | |
* | | | More structured printing in unicode notations for binders.Gravatar Hugo Herbelin2018-02-20
| | | |
* | | | User-level support for Gonthier-Ssreflect's "if t then pat then u else v".Gravatar Hugo Herbelin2018-02-20
| |/ / |/| |
* | | Merge PR #6556: Remove dir-locals and ship suggested helper hooks instead.Gravatar Maxime Dénès2018-02-19
|\ \ \
* \ \ \ Merge PR #6139: Make list functions returning sumbools transparentGravatar Maxime Dénès2018-02-12
|\ \ \ \
* | | | | Document between and exists_between types.Gravatar Ismail2018-01-08
| | | | |
| | * | | Remove dir-locals and ship suggested helper hooks instead.Gravatar Gaëtan Gilbert2018-01-06
| |/ / / |/| | | | | | | | | | | | | | | .dir-locals led to issues with unsafe local variable warnings. With this method the user is opting in to running this code so there are no warnings.
* | | | Fix warning about shadowing a global name.Gravatar Gaëtan Gilbert2017-12-19
| | | |
* | | | Add named timers to LtacProfGravatar Jason Gross2017-12-14
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | I'm not sure if they belong in profile_ltac, or in extratactics, or, perhaps, in a separate plugin. But I'd find it very useful to have a version of `time` that works on constr evaluation, which is what this commit provides. I'm not sure that I've picked good naming conventions for the tactics, either.
* | | | Merge PR #6335: Additional rewrite lemmas on Ensembles, in Powerset_factsGravatar Maxime Dénès2017-12-12
|\ \ \ \
* | | | | Axiom-free proof of eta expansion.Gravatar Jasper Hugunin2017-12-11
| | | | |
* | | | | Remove most uses of function extensionality in Program.CombinatorsGravatar Jasper Hugunin2017-12-09
| | | | |
| * | | | Additional rewrite lemmas on Ensembles, in Powerset_factsGravatar Joachim Breitner2017-12-06
|/ / / /
| | * | proposed fix for issue #3213: extra variable m in Lt.S_predGravatar fredokun2017-12-01
| | | |
* | | | Fix (partial) #4878: option to stop autodeclaring axiom as instance.Gravatar Gaëtan Gilbert2017-11-28
| |/ / |/| |
| * | Make list functions returning sumbools transparentGravatar Tej Chajed2017-11-15
|/ / | | | | | | Specifically Exists_dec, Forall_dec, and Forall_Exists_dec.
* | Merge PR #1113: Adding 3 Arith/QArith lemmas that I found usefulGravatar Maxime Dénès2017-10-27
|\ \
| * | Chaining two tactics in a proofGravatar Raphaël Monat2017-10-27
| | |
| * | Moving from `is_true` to `= true`Gravatar Raphaël Monat2017-10-25
| | |
* | | Moving bug numbers to BZ# format in the source code.Gravatar Théo Zimmermann2017-10-19
| | | | | | | | | | | | | | | Compared to the original proposition (01f848d in #960), this commit only changes files containing bug numbers that are also PR numbers.
| * | Added proofs of Qeq_bool_refl, Qeq_bool_sym, Qeq_bool_trans.Gravatar Raphaël Monat2017-10-12
| | |
* | | Merge PR #768: Omega and romega know about context definitions (fix old bug 148)Gravatar Maxime Dénès2017-10-10
|\ \ \
| | * | Changed Qeq_bool_sym into Qeq_bool_comm, used the proof of @letouzey.Gravatar Raphaël Monat2017-10-08
| | | |
| | * | Removed leb_not_le (already existing as Nat.leb_nle)Gravatar Raphaël Monat2017-10-08
| | | |
| * | | Compat/Coq87.v : Unset Omega UseLocalDefs (see PR #768)Gravatar Pierre Letouzey2017-10-07
| | | |
* | | | [ltac] Warning for deprecated `Add Setoid` and `Add Morphism` forms.Gravatar Emilio Jesus Gallego Arias2017-10-05
|/ / / | | | | | | | | | | | | | | | | | | | | | | | | | | | The manual has long stated that these forms are deprecated. We add a warning for them, as indeed `Add Morphism` is an "proof evil" [*] command, and we may want to remove it in the future. We've also fixed the stdlib not to emit the warning. [*] https://ncatlab.org/nlab/show/principle+of+equivalence
| * | Changed the statement of leb_not_le; shortened the proofGravatar Raphaël Monat2017-10-03
| | |
| * | Add Qabs_Qinv: Qabs (/ q) == / (Qabs q).Gravatar Raphaël Monat2017-10-03
| | |
| * | Add Qeq_bool_sym: Qeq_bool x y = Qeq_bool y x.Gravatar Raphaël Monat2017-10-03
| | |
| * | Add leb_not_le: (n <=? m) = false -> n > m.Gravatar Raphaël Monat2017-10-03
|/ /
* | Merge PR #986: Ensuring all .v files end with a newline to make "sed -i" ↵Gravatar Maxime Dénès2017-09-15
|\ \ | | | | | | | | | work better on them
| | * weakens an hypothesis of Rle_RpowerGravatar Yves Bertot2017-09-06
| | |
| | * changed statements of Rpower_lt and Rle_power and addedGravatar Yves Bertot2017-09-06
| | | | | | | | | | | | | | | | | | Rlt_Rpower_l and pow_INR. Unfortunately theorems Rpower_lt and Rle_power are named inconsistently, in spite of their similarity.
* | | Addressing BZ#5713 (classical_left/classical_right artificially restricted).Gravatar Hugo Herbelin2017-09-03
| |/ |/| | | | | | | As explained in BZ#5713 report, the requirement for a non-empty context is not needed, so we remove it.
* | A little reorganization of notations + a fix to #5608.Gravatar Hugo Herbelin2017-08-29
| | | | | | | | | | | | | | | | | | | | | | | | | | | | - Formerly, notations such as "{ A } + { B }" were typically split into "{ _ }" and "_ + _". We keep the split only for parsing, which is where it is really needed, but not anymore for interpretation, nor printing. - As a consequence, one notation string can give rise to several grammar entries, but still only one printing entry. - As another consequence, "{ A } + { B }" and "A + { B }" must be reserved to be used, which is after all the natural expectation, even if the sublevels are constrained. - We also now keep the information "is ident", "is binder" in the "key" characterizing the level of a notation.