aboutsummaryrefslogtreecommitdiffhomepage
path: root/plugins
Commit message (Collapse)AuthorAge
* [tactics] Remove anonymous fix/cofix form.Gravatar Emilio Jesus Gallego Arias2018-05-24
| | | | | | | | | | We remove the `fix N / cofix N` forms from the tactic language. This way, these tactics don't depend anymore on the proof context, in particular on the proof name, which seems like a fragile practice. Apart from the concerns wrt maintenability of proof scripts, this also helps making the "proof state" functional; as we don't have to propagate the proof name to the tactic layer.
* Merge PR #7177: Unifying names of "smart" combinators + adding combinators ↵Gravatar Pierre-Marie Pédrot2018-05-24
|\ | | | | | | in CArray
| * Moving Option.smart_map to Option.Smart.map.Gravatar Hugo Herbelin2018-05-23
| |
| * Collecting List.smart_* functions into a module List.Smart.Gravatar Hugo Herbelin2018-05-23
| |
| * Collecting Array.smart_* functions into a module Array.Smart.Gravatar Hugo Herbelin2018-05-23
| |
* | [api] Move `opacity_flag` to `Proof_global`.Gravatar Emilio Jesus Gallego Arias2018-05-23
|/ | | | | | | `Proof_global` is the main consumer of the flag, which doesn't seem to belong to the AST as plugins show. This will allow the vernac AST to be placed in `vernac` indeed.
* Split off Universes functions dealing with generating new universes.Gravatar Gaëtan Gilbert2018-05-17
|
* Merge PR #7359: Reduce usage of evar_map referencesGravatar Pierre-Marie Pédrot2018-05-17
|\
* \ Merge PR #7213: Do not compute constr matching context if not used.Gravatar Matthieu Sozeau2018-05-15
|\ \
| | * Deprecate Typing.e_* functionsGravatar Gaëtan Gilbert2018-05-14
| | |
| | * Deprecate Refiner [evar_map ref] exported functions.Gravatar Gaëtan Gilbert2018-05-14
| | | | | | | | | | | | Uses internal to Refiner remain.
| | * Deprecate Evarconv.e_conv,e_cumulGravatar Gaëtan Gilbert2018-05-11
| | |
| | * Convert clear_hyps_in_evi to state passing style.Gravatar Gaëtan Gilbert2018-05-11
| | |
| | * Deprecate most evarutil evdref functionsGravatar Gaëtan Gilbert2018-05-11
| |/ |/| | | | | clear_hyps remain with no alternative
* | [api] Rename `global_reference` to `GlobRef.t` to follow kernel style.Gravatar Emilio Jesus Gallego Arias2018-05-04
| | | | | | | | | | | | | | | | | | | | | | | | | | In #6092, `global_reference` was moved to `kernel`. It makes sense to go further and use the current kernel style for names. This has a good effect on the dependency graph, as some core modules don't depend on library anymore. A question about providing equality for the GloRef module remains, as there are two different notions of equality for constants. In that sense, `KerPair` seems suspicious and at some point it should be looked at.
* | Merge PR #7338: [api] Move `hint_info_expr` to `Typeclasses`.Gravatar Pierre-Marie Pédrot2018-05-04
|\ \
* | | [api] Move bullets and goals selectors to `proofs/`Gravatar Emilio Jesus Gallego Arias2018-05-01
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | `Vernacexpr` lives conceptually higher than `proof`, however, datatypes for bullets and goal selectors are in `Vernacexpr`. In particular, we move: - `proof_bullet`: to `Proof_bullet` - `goal_selector`: to a new file `Goal_select`
* | | Merge PR #6935: Separate universe minimization and evar normalization functionsGravatar Pierre-Marie Pédrot2018-04-30
|\ \ \
* | | | Strict focusing using Default Goal Selector.Gravatar Gaëtan Gilbert2018-04-29
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | We add a [SelectAlreadyFocused] constructor to [goal_selector] (read "!") which causes a failure when there's not exactly 1 goal and otherwise is a noop. Then [Set Default Goal Selector "!".] puts us in "strict focusing" mode where we can only run tactics if we have only one goal or use a selector. Closes #6689.
| | * | [api] Move `hint_info_expr` to `Typeclasses`.Gravatar Emilio Jesus Gallego Arias2018-04-26
| |/ / |/| | | | | | | | | | | | | | `hint_info_expr`, `hint_info_gen` do conceptually belong to the typeclasses modules and should be able to be used without a dependency on the concrete vernacular syntax.
* | | Merge PR #7244: Making tactic-in-term aware of "Set Ltac Debug"Gravatar Pierre-Marie Pédrot2018-04-23
|\ \ \
| | * | Deprecate mixing univ minimization and evm normalization functions.Gravatar Gaëtan Gilbert2018-04-17
| |/ / |/| | | | | | | | Normalization sounds like it should be semantically noop.
* | | Merge PR #7125: Adding ML headers in setoid_ringGravatar Maxime Dénès2018-04-16
|\ \ \
* \ \ \ Merge PR #7237: [ssr] fix delayed clears (fix #7045)Gravatar Maxime Dénès2018-04-16
|\ \ \ \
| | | * | Making tactic-in-term aware of "Set Ltac Debug".Gravatar Hugo Herbelin2018-04-13
| | | | |
* | | | | Evar maps contain econstrs.Gravatar Gaëtan Gilbert2018-04-13
| |_|/ / |/| | | | | | | | | | | | | | | | | | | We bootstrap the circular evar_map <-> econstr dependency by moving the internal EConstr.API module to Evd.MiniEConstr. Then we make the Evd functions use econstr.
* | | | Merge PR #6454: [econstr] Flag to make `to_constr` fail if its output ↵Gravatar Pierre-Marie Pédrot2018-04-13
|\ \ \ \ | | | | | | | | | | | | | | | contains evars
| | * | | [ssr] fix delayed clears (fix #7045)Gravatar Enrico Tassi2018-04-13
| |/ / / |/| | | | | | | | | | | | | | | We take into account all future ipats, not just the ones in the current branch
* | | | Merge PR #7202: Correction of ugly message described in #4667Gravatar Pierre Courtieu2018-04-12
|\ \ \ \
* \ \ \ \ Merge PR #7087: Congruence tactic engine updateGravatar Pierre-Marie Pédrot2018-04-12
|\ \ \ \ \
* \ \ \ \ \ Merge PR #7107: Fixes #7100: lost of main file location in case of Ltac ↵Gravatar Pierre-Marie Pédrot2018-04-12
|\ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | failure in other file
| | | * | | | Correction of ugly message described in #4667Gravatar Julien Forest2018-04-11
| |_|/ / / / |/| | | | |
| | | | | * Do not compute constr matching context if not used.Gravatar Pierre-Marie Pédrot2018-04-10
| | | | | | | | | | | | | | | | | | | | | | | | This mitigates bug #6860.
* | | | | | change error message in #5147Gravatar Julien Forest2018-04-09
| | | | | |
* | | | | | removing uggly error message of #5147Gravatar Julien Forest2018-04-09
| |_|_|_|/ |/| | | |
* | | | | Merge PR #7165: [ssr] check cleared hyps do exist (fix #7050)Gravatar Maxime Dénès2018-04-09
|\ \ \ \ \
* \ \ \ \ \ Merge PR #6960: [api] Move some types to their proper module.Gravatar Pierre-Marie Pédrot2018-04-06
|\ \ \ \ \ \
* \ \ \ \ \ \ Merge PR #7016: Make parsing independent of the cumulativity flag.Gravatar Enrico Tassi2018-04-05
|\ \ \ \ \ \ \
| | | | * | | | Fixing #7100 (lost of main file location in case of Ltac failure in other file).Gravatar Hugo Herbelin2018-04-04
| | | | | | | |
| | | * | | | | ssr: check cleared hyps do exist (fix #7050)Gravatar Enrico Tassi2018-04-04
| | | | | | | |
* | | | | | | | Fix #6404 - Print tactics called by ML tacticsGravatar Jason Gross2018-04-02
| |_|/ / / / / |/| | | | | |
| | * | | | | [api] Move some types to their proper module.Gravatar Emilio Jesus Gallego Arias2018-04-02
| |/ / / / / |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | We solve some modularity and type duplication problems by moving types to a better place. In particular: - We move tactics types from `Misctypes` to `Tactics` as this is their proper module an single user [with LTAC]. - We deprecate aliases in `Tacexpr` to such tactic types. cc: #6512
| | | | * | [econstr] Forbid calling `to_constr` in open terms.Gravatar Emilio Jesus Gallego Arias2018-03-31
| |_|_|/ / |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | We forbid calling `EConstr.to_constr` on terms that are not evar-free, as to progress towards enforcing the invariant that `Constr.t` is evar-free. [c.f. #6308] Due to compatibility constraints we provide an optional parameter to `to_constr`, `abort` which can be used to overcome this restriction until we fix all parts of the code. Now, grepping for `~abort:false` should return the questionable parts of the system. Not a lot of places had to be fixed, some comments: - problems with the interface due to `Evd/Constr` [`Evd.define` being the prime example] do seem real! - inductives also look bad with regards to `Constr/EConstr`. - code in plugins needs work. A notable user of this "feature" is `Obligations/Program` that seem to like to generate kernel-level entries with free evars, then to scan them and workaround this problem by generating constants.
| | | | * Adding some headers, by consistency of style.Gravatar Hugo Herbelin2018-03-30
| |_|_|/ |/| | | | | | | | | | | [skip ci]
| | | * Congruence: Fixing a bug with native projections.Gravatar Hugo Herbelin2018-03-27
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | There is a code to turn constants denoting projections into proper primitive projections, but it did not drop parameters. The code seems anyway redundant with an "expand_projections" which is already present in Cctac.decompose_term. After removal of this code, the two calls to congruence added to cc.v work.
| | | * Congruence: typography in a comment.Gravatar Hugo Herbelin2018-03-27
| | | |
| | | * Congruence: getting rid of a detour by the compatibility layer of proof engine.Gravatar Hugo Herbelin2018-03-27
| | |/ | | | | | | | | | | | | | | | | | | The V82 compatibility layer of the proof engine was used by cc (congruence closure) for the sole purpose of maintaining an environment and a sigma. We inline the corresponding env and sigma in the state of cc algorithm to get rid of the compatibility layer.
* | / Deprecate undocumented "intros until 0" in favor of "intros *".Gravatar Hugo Herbelin2018-03-23
| |/ |/| | | | | | | | | - The case 0 makes the code of intros until (and in particular of Detyping.lookup_quantified_hypothesis_as_displayed more complicated). - The introduction pattern "*" is compositional while "until 0" is not.
* | Merge PR #7028: Fix #7026: ssr: applying an overloaded lemma as a view takes ↵Gravatar Enrico Tassi2018-03-23
|\ \ | | | | | | | | | too long.
| | * Make parsing independent of the cumulativity flag.Gravatar Gaëtan Gilbert2018-03-21
| | |