aboutsummaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2014-08-28Simplification of the tclCHECKINTERRUPT tactic.Pierre-Marie Pédrot
2014-08-28Change the way primitive projections are declared to the kernel.Matthieu Sozeau
Now kernel/indtypes builds the corresponding terms (has to be trusted) while translate_constant just binds a constant name to the already entered projection body, avoiding the dubious "check" of user given terms. "case" Pattern-matching on primitive records is now disallowed, and the default scheme is implemented using projections and eta (all elimination tactics now use projections as well). Elaborate "let (x, y) := p in t" using let bindings for the projections of p too.
2014-08-28Fix bugs #3484 and #3546.Matthieu Sozeau
The unification oracle now prefers unfolding the eta-expanded form of a projection over the primitive projection, and allows first-order unification on applications of constructors of primitive records, in case eta-conversion fails (disabled by previous patch on eta).
2014-08-28There are some occurs-check cases that can be handled by imitation (using ↵Matthieu Sozeau
pruning), hence do not entirely prevent solve_simple_eqn in case of apparent occurs-check but backtrack to eqappr on OccurCheck failures (problem found in Ssreflect).
2014-08-28Fixing an unnatural selection of subterms larger than expected in theHugo Herbelin
presence of let-ins.
2014-08-28Cleaning and documenting a bit the Proofview.Refine module.Pierre-Marie Pédrot
2014-08-28Adding test-suite for bug #3212.Pierre-Marie Pédrot
2014-08-28Fixing bug #3541.Pierre-Marie Pédrot
All superscript numbers are now symbols instead of parts of identifiers. This disallows some identifiers, but hopefully not a lot of people were using superscripts as part of identifiers, weren't they?
2014-08-27Protect against "it's unifiable, if you solve some unsolvable constraints" ↵Matthieu Sozeau
behavior of evar_conv_x, getting more common after patch on evars and eta. The main problem is that ?X = C[?X] problems get postponed now, when they failed earlier before (rendering the algorithm incomplete, e.g. on ?X = \y. ?X y). A notion of "rigid/strongly rigid" occurrences would give a better fix.
2014-08-27Removing spurious tclWITHHOLES.Pierre-Marie Pédrot
Indeed [tclWITHHOLES false tac sigma x] is equivalent to [tclEVARS sigma <*> tac x] and we should try to reduce the use of this tactical, because it is mostly a legacy tactic.
2014-08-27Fixing bug #3493.Pierre-Marie Pédrot
Coq now accepts the [Universes u1 ... un] syntax.
2014-08-26Add a regression test for 3427Jason Gross
2014-08-26Prove forall extensionalityJason Gross
2014-08-26Add t-jagro to .mailmapJason Gross
2014-08-26Distributed binaries under MacOS are signed.Pierre Boutillier
2014-08-26Configure.ml creates metadata to annotate MacOS binariesPierre Boutillier
2014-08-26Debug RAKAMPierre Boutillier
2014-08-26sed s'/_one_var/_on/g'Jason Gross
For consistency with ChoiceFacts
2014-08-26Generalize EqdepFactsJason Gross
The generalized versions are names *_one_var. We preserve backwards compatibility by defining the old versions in terms of the generalized ones. This closes the rest of Bug 3019, and closes pull request #6.
2014-08-26Do not pass "-batch" or "-load-vernac-source" to slaves, avoiding errors inMatthieu Sozeau
stm test-suite files.
2014-08-26Make evarconv and unification able to handle eta for records in presenceMatthieu Sozeau
of metas/evars
2014-08-26Fix compilation error due to commented code in previous commit by Hugo.Matthieu Sozeau
2014-08-25Fixing bug #3377 by giving env and sigma to constrMathching. Now it's possibleMatthieu Sozeau
to match on a primitive projection application c.(p) using "?f _", binding f to (fun x => x.(p)) with the correct typing.
2014-08-25Fix computation of dangling constraints at the end of a proof (bug #3531).Matthieu Sozeau
2014-08-25Fixing the essence of naming bug #3204: use same strategy for namingHugo Herbelin
cases pattern variables than for naming forall/fun binders (but still avoiding constructor names). Note in passing: such as it is implemented, the general strategy is in O(n²) in the number of nested binders, because, when computing the name for each 'fun x => c" (or forall, or a pattern name), the names from the outside c and visibly occurring in c are computed.
2014-08-25Add an is_cofix tacticJason Gross
Should we also add is_* tactics for other things? is_rel, is_meta, is_sort, is_cast, is_prod, is_lambda, is_letin, is_app, is_const, is_ind, is_constructor, is_case, is_proj?
2014-08-25Prerequisite to fix stm test-suite when not in -localPierre Boutillier
2014-08-25"allows to", like "allowing to", is improperJason Gross
It's possible that I should have removed more "allows", as many instances of "foo allows to bar" could have been replaced by "foo bars" (e.g., "[Qed] allows to check and save a complete proof term" could be "[Qed] checks and saves a complete proof term"), but not always (e.g., "the optional argument allows to ignore universe polymorphism" should not be "the optional argument ignores universe polymorphism" but "the optional argument allows the caller to instruct Coq to ignore universe polymorphism" or something similar).
2014-08-25instanciation is French, instantiation is EnglishJason Gross
2014-08-25Clean up a comment in plugins/romega/ReflOmegaCoreJason Gross
Based on suggestion by @gasche.
2014-08-25Grammar: "avoiding to" isn't proper, eitherJason Gross
2014-08-25Grammar: "allowing to" is not proper EnglishJason Gross
I'm not quite sure why, but I'm pretty sure it's not. Rather, in "allowing for foo" and "allowing to foo", "foo" modifies the sense in which someting is allowed, rather than it being "foo" that's allowed. "Allowing fooing" generally works, though it can sound a bit awkward. "Allowing one to foo" (or "Allowing {him,her,it,Coq} to foo") is always acceptable, in-as-much as it's ok to use "one". I haven't touched the older instances of it in the CHANGES file.
2014-08-25Correct a spelling mistakeJason Gross
2014-08-25factored out require_modifiers + bug fix.Gregory Malecha
Conflicts: tools/coqdep_lexer.mll
2014-08-25coqdep comments counter is in the stackPierre Boutillier
2014-08-25a comment about the new state.Gregory Malecha
2014-08-25Support for Timeout n and From ..Gregory Malecha
- The state machine gets kind of complex maybe it should become a parser at some point?
2014-08-25Make coqdep find Require commands prefixed by TimeGregory Malecha
2014-08-25Fixing previous commit.Pierre-Marie Pédrot
2014-08-25Fixing a bug introduced in the extension of 'apply in' + simplifying code.Hugo Herbelin
2014-08-24Removing a unused legacy parsing rule.Pierre-Marie Pédrot
2014-08-24Fixing bug #3404.Pierre-Marie Pédrot
2014-08-24Enabling drag & drop on the source view widgets.Pierre-Marie Pédrot
Sort of fixes bug #2765, but the file loading is broken and puts coqtop in an inconsistent state, so that even the previous half-working patch was actually not functionning at all. This should be fixed eventually.
2014-08-23Tactics.is_quantified_hypothesis does not reduce anymore to decide whetherPierre-Marie Pédrot
a variable is quantified in the goal. This is only used by induction, and it should be a bad practice to depend on an invisible binder.
2014-08-23Fix test-suite file.Matthieu Sozeau
2014-08-23Fixing ml-dot & mli-dot targets.Pierre-Marie Pédrot
2014-08-23Fixing bug #3533.Pierre-Marie Pédrot
Now error printing tries to set universe printing when two terms are not desambiguated.
2014-08-23Tactics.unify in the new monad.Pierre-Marie Pédrot
2014-08-22Move UnsatisfiableConstraints to a pretype error.Matthieu Sozeau
2014-08-21Removing unused parts of the Goal.sensitive monad.Pierre-Marie Pédrot
Some legacy code remains to keep the newish refine tactic working, but ultimately it should be removed. I did not manage to do it properly though, i.e. without breaking the test-suite furthermore.