aboutsummaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2014-06-05Removing dead code from Univ.Pierre-Marie Pédrot
2014-06-04Make standard library independent of the names generated byHugo Herbelin
induction/elim over a dependent elimination principle for Prop arguments.
2014-06-04Make standard library independent of the names generated byHugo Herbelin
induction/elim over a dependent elimination principle for Prop arguments.
2014-06-04Collecting in Namegen those conventional default names that are used in ↵Hugo Herbelin
different places
2014-06-04Small lemma about Relations.Hugo Herbelin
2014-06-04Remove spurious Show in script.Matthieu Sozeau
2014-06-04- Better parsing and printing of named universes: Type{ident} and ↵Matthieu Sozeau
foo@{(ident|Prop|Set|Type|' ')*} (user given names are still write only). - Add test-suite file for named universes.
2014-06-04Fix canonical structure resolution (makes test-suite files go through again).Matthieu Sozeau
2014-06-04- Allow parsing of @const@{instance} for specifying universe instances of ↵Matthieu Sozeau
polymorphic constants.
2014-06-04- Force every universe level to be >= Prop, so one cannot "go under" it anymore.Matthieu Sozeau
- Finish the change to level-to-level substitutions, in the checker.
2014-06-04- Fix hashing of levels to get the "right" order in universe contexts etc...Matthieu Sozeau
- Add a tentative syntax for specifying universes: Type{"i"} and foo@{Type{"i"},Type{"j"}}. These are always rigid. - Use level-to-level substitutions where the more general level-to-universe substitutions were previously used.
2014-06-04Fix handling of anonymous Type in template universe polymorphic inductivesMatthieu Sozeau
to not interfere with already declared universes.
2014-06-04- Keep all <= constraints during refinement, otherwise we might miss ↵Matthieu Sozeau
collapsed universes. - Fix normalization with universe substitutions during refinement being inconsistent with the one in the kernel.
2014-06-04cbn understand ! Arguments directivePierre Boutillier
Of course, this is an under approximation of the expected behavior : unfolding a constant iff a leaf of its underlying split-tree is reached.
2014-06-03A bug has been closed (HoTT/coq #105)Jason Gross
2014-06-03The tactic interpreter now uses a new type of tactics, throughPierre-Marie Pédrot
the GTac module. A ['a Gtac.t] is a special case of tactic that may depend on the current goals, or not. Internally, it construct a list of results, one for each focussed goal, if the tactic is actually dependent. This allows for an interpretation of whole-goal tactic that does work, which was not the case for the previous implementation, which did to many Proofview.Goal.enter.
2014-06-02Fixing incorrect printf format.Pierre-Marie Pédrot
2014-06-02Removing symmetry from the atomic tactics.Pierre-Marie Pédrot
2014-06-01A little bit of documentation about V5.10 and V6.3 and V7.Hugo Herbelin
2014-06-01Use of "H"-based names for propositional hypotheses obtained byHugo Herbelin
destruction of schemes in Type such as sumbool. Added an option "Set Standard Proposition Elimination Names" for governing this strategy (activated by default). This provides names supposingly more uniform than before for those who like to have names automatically generated, at least in the first phase of the development process of proofs. Examples: *** Non dependent case *** Goal {True}+{False}-> True. intros [|]. Before: t : True ============================ True and f : False ============================ True After: H : True ============================ True H : False ============================ True *** Dependent case *** Goal forall x:{True}+{False}, x=x. intros [|]. Before: t : True ============================ left t = left t f : False ============================ right f = right f After: HTrue : True ============================ left HTrue = left HTrue HFalse : False ============================ right HFalse = right HFalse
2014-06-01Making those proofs which depend on names generated for the argumentsHugo Herbelin
in Prop of constructors of inductive types independent of these names. Incidentally upgraded/simplified a couple of proofs, mainly in Reals. This prepares to the next commit about using names based on H for such hypotheses in Prop.
2014-05-31More on injection over a projectable "existT". - Fixing syntax "injection ↵Hugo Herbelin
... as ..." which was not working. - Now applying the simplification on any "existT" generated by "injection" (possible source of incompatibilities).
2014-05-31Fixing introduction patterns * and ** when used in a branch so that they do ↵Hugo Herbelin
not introduce beyond what is under control of the branch. See test-suite intros.v for an example.
2014-05-31Upgrade Matthieu's new_revert as the "revert" (a "unit tactic").Hugo Herbelin
2014-05-31Basic lemmas about the algebraic structure of equality.Hugo Herbelin
2014-05-31Dead code + typo.Hugo Herbelin
2014-05-30Adding test-suite for bug #3355.Pierre-Marie Pédrot
2014-05-28- Fix for commit 15999903f875f4b5dbb3d5240d2ca39acc3cd777 which disallowed someMatthieu Sozeau
cases of Type (* Prop *) <= Set. - Do check types of metavariables at the end of apply's unification, if it failed at the beginning (otherwise universe constraints can be incomplete).
2014-05-27Removing a tclSENSITIVE from rewrite.Pierre-Marie Pédrot
2014-05-26Cbn reduces Pos.compare p~1 q~1 to Pos.compare p qPierre Boutillier
(refolding of cbn is smarter)
2014-05-26Reduction.Stack.Fix/Case stores Cst_stack.tPierre Boutillier
2014-05-26Cst_stack before stack (abstraction leak in whd_gen)Pierre Boutillier
2014-05-26cbn: args list instead of arg numberPierre Boutillier
2014-05-26Reductionops.Stack.map & Reduction.iterate_whd_genPierre
2014-05-26- Fix in kernel conversion not folding the universe constraintsMatthieu Sozeau
correctly when comparing stacks. - Disallow Type i <= Prop/Set constraints, that would otherwise allow constraints that make a universe lower than Prop. - Fix stm/lemmas that was pushing constraints to the global context, it is done depending on the constant/variable polymorphic status now. - Adapt generalized rewriting in Type code to these fixes.
2014-05-26Update infer_conv to record trivial Prop <= Type i constraints that are ↵Matthieu Sozeau
needed during unification.
2014-05-26make coqdep canonicalize paths from the command lineGregory Malecha
- logical paths given to -R and -I should be split on periods. - it also seems like giving an empty string should result in the empty path rather than the singleton path with an empty string as an identifier.
2014-05-26Fixing commit 9cef834. The parsing rules were generating an empty list,Pierre-Marie Pédrot
conflicting with the previous behaviour of 'eexists'.
2014-05-24Revert "Chasing the goal entering backward while interpreting tactics. This ↵Pierre-Marie Pédrot
required" I tested the commit on the wrong branch... This reverts commit b0364eff4ec8ad5676060d8ca9cdbbb1d9c34d04.
2014-05-24Chasing the goal entering backward while interpreting tactics. This requiredPierre-Marie Pédrot
writing a new primitive recovering the first goal under focus. It sounds a bit hackish, but it does actually work.
2014-05-24Fixing TACTIC EXTEND for arguments-free tactics that may modify the wholePierre-Marie Pédrot
proof. Indeed, computing an empty list of arguments triggered a Proofview.Goal.enter, which broke tactics like [shelve_unifiable]. This does not fix this particular tactic though, because the Ltac interpreter still enters the goal when calling a Ltac reference.
2014-05-24Complying with reference manual for the syntax of exists/eexists, i.e.Hugo Herbelin
removing the strange kind of syntax "exists ,t,". which was equivalent to "split; exists t; split", as in e.g.: Goal (exists x, x=0) /\ (exists x, x=0). exists ,0,. Qed. This answers bug request #3340.
2014-05-22Moving the "specialize" tactic out of the AST. Also removed an obsoletePierre-Marie Pédrot
variant of it, accepting an additional integer.
2014-05-22Fix native_compute for systems with a limited size for the command line.Guillaume Melquiond
The call to the native compiler can fail due to the sheer amounts of -I options passed to it. Indeed, it is easy to get the command line to exceed 512KB, thus causing various operating systems to reject it. This commit avoids the issue by only passing the -I options that matter for the currently compiled code. Note that, in the worst case, this commit is still not sufficient on Windows (32KB max), but this worst case should be rather uncommon and thus can be ignored for now. For the record, the command-line size mandated by Posix is 4KB.
2014-05-22Ignore generated file.Guillaume Melquiond
2014-05-22Removing useless use of metaids in tactic AST.Pierre-Marie Pédrot
2014-05-21Removing decompose record / sum from the tactic AST.Pierre-Marie Pédrot
2014-05-21Allowing Ltac definitions that may be unusable because of a built-inPierre-Marie Pédrot
parsing rule.
2014-05-21Moving left & right tactics out of the AST.Pierre-Marie Pédrot
2014-05-20Moving (e)transitivity out of the AST.Pierre-Marie Pédrot