| Commit message (Collapse) | Author | Age |
|
|
|
| |
This reverts commit abad0a15ac44cb5b53b87382bb4d587d9800a0f6.
|
| |
|
| |
|
| |
|
| |
|
|
|
|
|
|
| |
converting
the stacks. Take care of this by recalling unification.
|
|
|
|
| |
from MathClasses).
|
|
|
|
| |
MathClasses).
|
|
|
|
| |
results.
|
|
|
|
| |
kernel in library/universes.ml.
|
|
|
|
|
| |
generated by a mutual inductive definition (bug found in CFGV). Actually this
code can move out of the kernel.
|
| |
|
|
|
|
|
|
| |
cleanly when called
on partially applied constructors. Also protect evar_conv from that case.
|
| |
|
| |
|
| |
|
| |
|
|
|
|
|
|
| |
of the universe context in the obligations, it gets gradually fixed
globally by each one of them.
Fixes bug found in Misc/Overloading.
|
| |
|
|
|
|
|
|
|
| |
only.
Do not mix it with resolution of user-introduced subgoals of typeclass type (bug found
in ATBR).
|
|
|
|
| |
invariant that the evar arguments to that function always have to be undefined.
|
| |
|
| |
|
| |
|
| |
|
| |
|
|
|
|
|
| |
message. Otherwise, a heading space was missing when calling tclFAIL
from ML tactics.
|
| |
|
| |
|
| |
|
| |
|
| |
|
|
|
|
| |
coqide --help.
|
|
|
|
|
|
| |
elimination scheme in induction/destruct also for those names which
correspond to neither the induction hypotheses nor the recursive
arguments.
|
| |
|
| |
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
-I is (only) the ml one
-I -as is fixed
-Q is understood
-R is not a recursive ml include anymore
$COQENV, user_contrib, ... are not recursively included
coqlib/theories and coqlib/plugins are still recursively included (for now). (This
may deserves an option)
Closes Bug 2910: If there is a "Require a." in a b.v and a a.vo in path but no a.v,
coqdep does not complains about a missing a.v.
|
| |
|
|
|
|
|
|
|
| |
variable
as algebraic so it can disappear from the proof (it always gets substituted away from
the term). This means less spurious universes remaining in proof terms.
|
|
|
|
|
|
|
| |
reductions in
case the constant was hiding a direct match for example. Also avoid two lookups
of ReductionBehavior per constant application in simpl.
|
|
|
|
|
| |
its universe doesn't get constrained unnecessarily (bug found in MathClasse).
Also avoid using rewrite itself in a proof in Morphisms.
|
| |
|
|
|
|
|
|
| |
or-and intropatterns bind a limited number of patterns: if * or ** are
used, the bound has to be used (since there is no heavy compatibility
to respect for * and **). This fixes test-suite/success/intros.v.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
a global reference that the current (goal) env contains all the
section variables that the global reference expects to be present.
Note that the test for inclusion might be costly: everytime a
conversion happens in a section variable copied in a goal, this
conversion has to be redone when referring to a constant dependent on
this section variable.
It is unclear to me whether we should not instead give global names to
section variables so that they exist even if they are not listed in
the context of the current goal.
Here are two examples which are still problematic:
Section A.
Let B := True : Type.
Definition C := eq_refl : B = True.
Theorem D : Type.
clearbody B.
set (x := C).
unfold C in x.
(* inconsistent context *)
or
Section A.
Let B : Type.
exact True.
Qed.
Definition C := eq_refl : B = True. (* Note that this violated the Qed. *)
Theorem D : Type.
set (x := C).
unfold C in x.
(* inconsistent context *)
|
|
|
|
|
|
|
| |
into a specific new cleaned file find_subterm.ml.
This makes things clearer but also solves some dependencies problem
between Evd, Termops and Pretype_errors.
|
|
|
|
|
| |
not a variable, in the future objective to factorize code between
"generalize dependent" and "set", "destruct", etc.
|
|
|
|
| |
proof engine. Moved it to unification.ml.
|
| |
|
| |
|