aboutsummaryrefslogtreecommitdiffhomepage
path: root/proofs
Commit message (Collapse)AuthorAge
...
| * The unshelve tactical now takes future goals into account.Gravatar Pierre-Marie Pédrot2015-12-09
| |
| * Adding an unshelve tactical.Gravatar Pierre-Marie Pédrot2015-12-09
| | | | | | | | | | This tactical is inspired by discussions on the Coq-club list. For now it is still undocumented, and there is room left for design issues.
* | Moving extended_rel_vect/extended_rel_list to the kernel.Gravatar Hugo Herbelin2015-12-05
| | | | | | | | | | | | | | | | It will later be used to fix a bug and improve some code. Interestingly, there were a redundant semantic equivalent to extended_rel_list in the kernel called local_rels, and another private copy of extended_rel_list in exactly the same file.
* | Merge branch 'v8.5'Gravatar Pierre-Marie Pédrot2015-11-29
|\|
| * Univs: correctly register universe binders for lemmas.Gravatar Matthieu Sozeau2015-11-28
| |
* | Merge branch 'v8.5'Gravatar Pierre-Marie Pédrot2015-11-20
|\|
* | Inlining the only use of Clenv.connect_clenv.Gravatar Pierre-Marie Pédrot2015-11-18
| |
| * Performance fix for destruct.Gravatar Pierre-Marie Pédrot2015-11-17
| | | | | | | | | | | | The clenv_fchain function was needlessly merging universes coming from two evarmaps even though one was an extension of the other. A flag was added so that the tactic just retrieves the newer universes.
* | Merge branch 'v8.5'Gravatar Pierre-Marie Pédrot2015-11-15
|\|
| * Fix bug #4412: [rewrite] (setoid_rewrite?) creates ill-typed terms.Gravatar Pierre-Marie Pédrot2015-11-12
| | | | | | | | | | We retypecheck the hypotheses introduced by the refine primitive instead of blindly trusting them when the unsafe flag is set to false.
* | Implementing assert and cut with LetIn rather than using a beta-redex.Gravatar Hugo Herbelin2015-11-07
| | | | | | | | | | Hopefully, it will provide with nicer proof terms, in combination with the commit printing the type of LetIn when the defined term is a proof.
* | Merge branch 'v8.5'Gravatar Pierre-Marie Pédrot2015-11-05
|\|
| * Fix bug in proofs/logic.ml type_of_global_reference_knowing_conclusionGravatar Matthieu Sozeau2015-11-04
| | | | | | | | is buggy in general.
| * Made that the syntax [id]:tac also applies to the shelve, which is after all ↵Gravatar Hugo Herbelin2015-11-02
| | | | | | | | its main interest!
* | Merge branch 'v8.5'Gravatar Pierre-Marie Pédrot2015-10-30
|\|
| * Handle side-effects of Vernacular commands inside proofs better, so thatGravatar Matthieu Sozeau2015-10-29
| | | | | | | | universes are declared correctly in the enclosing proofs evar_map's.
* | Removing the evar_map argument from s_enter.Gravatar Pierre-Marie Pédrot2015-10-29
| |
* | Merge branch 'v8.5'Gravatar Pierre-Marie Pédrot2015-10-29
|\|
| * Avoid type checking private_constants (side_eff) again during Qed (#4357).Gravatar Enrico Tassi2015-10-28
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Side effects are now an opaque data type, called private_constant, you can only obtain from safe_typing. When add_constant is called on a definition_entry that contains private constants, they are either - inlined in the main proof term but not re-checked - declared globally without re-checking them As a safety measure, the opaque data type contains a pointer to the revstruct (an internal field of safe_env that changes every time a new constant is added), and such pointer is compared with the current value store in safe_env when the private_constant is inlined. Only when the comparison is successful the private_constant is not re-checked. Otherwise else it is. In short, we accept into the kernel private constant only when they arrive in the very same order and on top of the very same env they arrived when we fist checked them. Note: private_constants produced by workers never pass the safety measure (the revstruct pointer is an Ephemeron). Sending back the entire revstruct is possible but: 1. we lack a way to quickly compare two revstructs, 2. it can be large.
* | Merge branch 'v8.5'Gravatar Pierre-Marie Pédrot2015-10-26
|\|
| * Fixed (and changed) infoH.Gravatar Pierre Courtieu2015-10-21
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The detection of new hypothesis was bugged. Now infoH behaves like "Show Intros": it performs tac, grab information on hypothesis names but let the state unchanged. FTR: infoH is fundamentally unable to be correct in presence of tactics that delete hypothesis and reuse there names. Like destruct or induction. Fortunately destruct and induction now come with a variant asking that the hypothesis is not deleted. To guess for the right as-close for [induction H], do [infoH induction !H]. This will not create the same names as induction would have by itself but at least there will be the right number of hypothesis.
* | Proofview.Goal.sigma returns an indexed evarmap.Gravatar Pierre-Marie Pédrot2015-10-20
| |
* | Indexing Proofview.goals with a stage.Gravatar Pierre-Marie Pédrot2015-10-20
| | | | | | | | | | | | This is not perfect though, some primitives are unsound, and some higher-order API should use polymorphic functions so as not to depend on a given level.
* | Boxing the Goal.enter primitive into a record type.Gravatar Pierre-Marie Pédrot2015-10-20
| |
* | Renaming Goal.enter field into s_enter.Gravatar Pierre-Marie Pédrot2015-10-20
| |
* | Merge branch 'v8.5'Gravatar Pierre-Marie Pédrot2015-10-19
|\|
| * Categorizing debug messages as such + NonLogical uses loggers.Gravatar Pierre Courtieu2015-10-19
| |
* | Adding a monotonic variant of Goal.enter and Goal.nf_enter.Gravatar Pierre-Marie Pédrot2015-10-19
| |
* | Making Evarutil.new_evar monotonous.Gravatar Pierre-Marie Pédrot2015-10-18
| |
* | Constraining refine to monotonic functions.Gravatar Pierre-Marie Pédrot2015-10-18
| |
| * Miscellaneous typos, spacing, US spelling in comments or variable names.Gravatar Hugo Herbelin2015-10-18
| |
* | Clarifying and documenting the UState API.Gravatar Pierre-Marie Pédrot2015-10-17
| |
* | Merge branch 'v8.5' into trunkGravatar Maxime Dénès2015-10-16
|\|
| * Fix #4346 1/2: native casts were not inferring universe constraints.Gravatar Maxime Dénès2015-10-15
| |
* | Merge branch 'v8.5'Gravatar Pierre-Marie Pédrot2015-10-15
|\|
| * Fix LemmaOverloadingGravatar Matthieu Sozeau2015-10-14
| | | | | | | | | | | | Do not normalize the type of a proof according to the final universes when keep_body_ucst_separate is true, otherwise the type might not be retypable in the initial context...
* | Merge branch 'v8.5'Gravatar Pierre-Marie Pédrot2015-10-09
|\|
| * Remove misleading warning (Close #4365)Gravatar Enrico Tassi2015-10-09
| |
| * Proof using: let-in policy, optional auto-clear, forward closure*Gravatar Enrico Tassi2015-10-08
| | | | | | | | | | | | | | | | | | | | | | | | | | - "Proof using p*" means: use p and any section var about p. - Simplify the grammar/parser for proof using <expression>. - Section variables with a body (let-in) are pulled in automatically since they are safe to be used (add no extra quantification) - automatic clear of "unused" section variables made optional: Set Proof Using Clear Unused. since clearing section hypotheses does not "always work" (e.g. hint databases are not really cleaned) - term_typing: trigger a "suggest proof using" message also for Let theorems.
* | Merge branch 'v8.5'Gravatar Pierre-Marie Pédrot2015-10-06
|\|
| * Fixing emacs output in debugging mode.Gravatar Pierre Courtieu2015-10-06
| | | | | | | | | | | | | | Goal displaying during Debugging ltac is a notice message now. Other messages are debug messages. This does not change anything in coqide or coqtop, but allows proofgeneral to dispatch them in the right buffers (pg had to be fixed too).
* | Merge branch 'v8.5'Gravatar Pierre-Marie Pédrot2015-10-02
|\|
* | Merge branch 'v8.5'Gravatar Pierre-Marie Pédrot2015-10-02
|\ \
| | * Univs: fix handling of evd's universes and side effects in build_by_tacticGravatar Matthieu Sozeau2015-10-02
| | |
| | * Univs: fix handling of side effects/delayed proofsGravatar Matthieu Sozeau2015-10-02
| |/ | | | | | | | | | | | | | | | | - When there are side effects which might enrich the initial universes of a proof, keep the initial and refined universe contexts apart like for delayed proofs, ensuring universes are declared before they are used in the right order. - Fix undefined levels in proof statements so that they can't be lowered to Set by a subsequent, delayed proof.
| * Changed status of Info messages from notice to info.Gravatar Pierre Courtieu2015-10-02
| | | | | | | | | | | | This fixes a bug in proofgeneral. PG will now diplay this message eagerly. Otherwise since they appear before the goal, they are considered outdated and not displayed.
* | Removing meta_with_name from Evd.Gravatar Pierre-Marie Pédrot2015-09-27
| |
* | Removing uselessly duplicated function in Evd.Gravatar Pierre-Marie Pédrot2015-09-27
| |
* | Merge branch 'v8.5'Gravatar Pierre-Marie Pédrot2015-09-25
|\|
| * Removing the generalization of the body of inductive schemes fromGravatar Hugo Herbelin2015-09-23
| | | | | | | | | | | | Auto_ind_decl over the internal lemmas. The schemes are built in the main process and the internal lemmas are actually already also in the environment.