| Age | Commit message (Collapse) | Author |
|
Reviewed-by: herbelin
|
|
notations in patterns
Reviewed-by: ejgallego
Ack-by: ppedrot
Ack-by: LasseBlaauwbroek
|
|
(By closing unfinished proofs.)
|
|
From
[|x; y; z | def : ty |]
to
[| x; y; z | def : ty |]
|
|
Fix #13178
|
|
Reviewed-by: SkySkimmer
Ack-by: herbelin
Ack-by: Zimmi48
|
|
Reviewed-by: SkySkimmer
|
|
on the inner calls
Reviewed-by: ppedrot
|
|
|
|
|
|
Ideally, if equations t <= ?x were preserving subtyping that could be
simpler. Currently we need however to put a rigid universe as
constraint on the return predicate so that one branch does not force
the return sort to be lower by unification than what another branch
would have needed.
|
|
If the result is in SProp, Prop or (impredicative) Set, we preserve
this information since the elimination sort might be restricted by the
sort of the destructed type.
If the result is in Type, we use a fresh sort upper bound so that we
are sure not having residual algebraic universes which would raise
problems in a type constraint (e.g. in define_evar_as_product).
This fixes the part of #13278 posted on discourse.
|
|
|
|
Ltac variables were not yet supported.
|
|
Adopting the same format means printing "Ltac foo := ..." and not the
fully qualified name of foo.
|
|
inner calls).
This continues #12223, #12773, #12992, #12774, #12999.
|
|
Reviewed-by: gares
Reviewed-by: herbelin
Ack-by: ppedrot
|
|
|
|
pattern-matching clause with unused named variable
Reviewed-by: jfehrle
Reviewed-by: vbgl
Ack-by: gares
|
|
|
|
|
|
|
|
lambda
Reviewed-by: ppedrot
|
|
Reviewed-by: ppedrot
|
|
Reviewed-by: ppedrot
|
|
Reviewed-by: maximedenes
|
|
Update doc/sphinx/addendum/micromega.rst
Co-authored-by: Jason Gross <jasongross9@gmail.com>
Update theories/micromega/ZifyInt63.v
Co-authored-by: Jason Gross <jasongross9@gmail.com>
|
|
record types not taken into account
Reviewed-by: SkySkimmer
|
|
documentation
Reviewed-by: Zimmi48
|
|
We don't give sense to pattern/binders in leftmost position.
|
|
We prevent notations involving binders (i.e. names or patterns) to be
used for printing in "match" patterns. The computation is done in
"has_no_binders_type", controlling uninterpretation.
|
|
Reviewed-by: gares
|
|
|
|
Fixes implicit arguments from the body of a defined field not taken into account.
Get (a bit) more information for detection of SProp relevance in
implicitly-typed defined field. (It should be done at the very end of
the inference phase, though, because some evars may not yet be
instantiated.)
|
|
Reviewed-by: herbelin
Ack-by: SkySkimmer
|
|
Similar to `dependent induction`, report an error message for `dependent
destruction` saying that importing `Coq.Program.Equality` is required,
rather than failing at parsing time.
This is a small extension of #605 to cover dependent destruction as
well. Here I also put in some tests.
|
|
Reviewed-by: ppedrot
|
|
Reviewed-by: ejgallego
Reviewed-by: Zimmi48
|
|
Reviewed-by: ejgallego
Ack-by: SkySkimmer
|
|
We fix a clear coding mistake in
79bcf1c0a22e736c4e2cae3460c35b3d9fca9aa0 that forgot to update the
type of the parameter entry when saving mutual definitions without a
body.
We follow the solution suggested by Hugo Herbelin and drop the
type used in `start_proof`. Note the duplication here indeed.
Fixes #12895
Co-authored-by: Hugo Herbelin <Hugo.Herbelin@inria.fr>
|
|
Fix #12970
We can't recover the expected type of the post bidi argument by
retyping because the hole may be filled by something in which case
retyping can produce algebraic universes.
|
|
Fix #13162
|
|
Reviewed-by: silene
|
|
Reviewed-by: herbelin
Ack-by: gares
Ack-by: ejgallego
|
|
Fixes probably many strange issues such as the example in #13171
|
|
Fix #13171
|
|
Reviewed-by: mattam82
Ack-by: Janno
Ack-by: gares
|
|
We simply use evars instance in the right order while reading back VM values.
|
|
|
|
The (old) original model for notations was to associated both a
parsing and a printing rule to a notation.
Progressively, it become more and more common to have only parsing
notations or even multiple expressions printed with the same notation.
The new model is to attach to a given scope, string and entry at most
one either only-parsing or mixed-parsing-printing rules + an
arbitrarily many unrelated only-printing rules.
Additionally, we anticipate the ability to selectively
activate/deactivate each of those.
This allows to fix in particular #9682 but also to have
more-to-the-point warnings in case a notation overrides or partially
overrides another one.
Rules for importing are not changed (see forthcoming #12984 though).
We also improve the output of "Print Scopes" so that it adds when a
notation is only-parsing, only-printing, or deactivated, or a
combination of those.
Fixes #4738
Fixes #9682
Fixes part 2 of #12908
Fixes #13112
|