aboutsummaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2014-05-06Keep track of universes on coercion applications even if they're not ↵Matthieu Sozeau
polymorphic (fixes bug #3043).
2014-05-06Comment in Funind.v test-suite fileMatthieu Sozeau
2014-05-06Proper calculation of constructor levels, forgetting the level of lets.Matthieu Sozeau
2014-05-06Refresh some universes in cases.ml as they might appear in the term.Matthieu Sozeau
2014-05-06Correct universe handling in program coercions (bug #2378).Matthieu Sozeau
2014-05-06Fix set_leq_sort refusing max(u,Set) <= Set when u is flexible.Matthieu Sozeau
2014-05-06Retype application of fix_proto to get the right universes in ProgramMatthieu Sozeau
2014-05-06- Fix arity handling in retyping (de Bruijn bug!)Matthieu Sozeau
- Enforce that no u <= Prop/Set can be added for u introduced by the user in Evd.process_constraints. (Needs to be enforced in the kernel as well, but that's the main entry point). - Fix a test-suite script and remove a regression comment, it's just as before now.
2014-05-06Fix restrict_universe_context removing some universes that do appear in the ↵Matthieu Sozeau
term.
2014-05-06Fix declarations of monomorphic assumptionsMatthieu Sozeau
2014-05-06Allow records whose sort is defined by a constant.Matthieu Sozeau
2014-05-06- Fix RecTutorial, and mutual induction schemes getting the wrong names.Matthieu Sozeau
Now the universe inconsistency appears at [exact t] instead of the Defined :)
2014-05-06Fix program Fixpoint not taking care of universes.Matthieu Sozeau
2014-05-06- Fixes for canonical structure resolution (check that the initial term ↵Matthieu Sozeau
indeed unifies with the projected term, keeping track of universes). - Fix the [unify] tactic to fail properly. - Fix unification to disallow lowering a global Type(i) universe to Prop or Set.
2014-05-06Fix restrict_universe_context to not remove useful constraints.Matthieu Sozeau
2014-05-06- Fix eq_constr_universes restricted to Sorts.equalMatthieu Sozeau
- Fix passing of universe contexts through definitions/proofs, abstract is ok now, even in presence of polymorphism - Correctly mark unresolvable the evars made by the Simple abstraction.
2014-05-06Remove postponed constraints (unused)Matthieu Sozeau
2014-05-06Fixes after rebase. The use of pf_constr_of_global is problematic in ↵Matthieu Sozeau
presence of side-effects...
2014-05-06- Fix bug preventing apply from unfolding Fixpoints.Matthieu Sozeau
- Remove Universe Polymorphism flags everywhere. - Properly infer, discharge template arities and fix substitution inside them (kernel code to check for correctness). - Fix tactics that were supposing universe polymorphic constants/inductives to be parametric on that status. Required to make interp_constr* return the whole evar universe context now. - Fix the univ/level/instance hashconsing to respect the fact that marshalling doesn't preserve sharing, sadly losing most of its benefits. Short-term solution is to add hashes to these for faster comparison, longer term requires rewriting all serialization code. Conflicts: kernel/univ.ml tactics/tactics.ml theories/Logic/EqdepFacts.v
2014-05-06Adapt universe polymorphic branch to new handling of futures for delayed proofs.Matthieu Sozeau
2014-05-06Fix issue #88: restrict_universe_context was wrongly forgetting about ↵Matthieu Sozeau
constraints, and keeping spurious equalities. simplify_universe_context is correct, although it might keep unused universes around (it's the responsibility of the tactics to not produce unused universes then). Add printer for future universe contexts for debugging.
2014-05-06Honor the Opaque flag for projections in simpl.Matthieu Sozeau
2014-05-06In case two constants/vars/rels are _not_ defined, force unification of ↵Matthieu Sozeau
universes (better semantics for axioms, opaque constants). Conflicts: pretyping/evarconv.ml
2014-05-06Fix context forgetting universes (temporary, the fix is not exactly right).Matthieu Sozeau
2014-05-06Adapt Y. Bertot's path on private inductives (now the keyword is "Private").Yves Bertot
A quick and dirty approach to private inductive types Types for which computable functions are provided, but pattern-matching is disallowed. This kind of type can be used to simulate simple forms of higher inductive types, with convertibility for applications of the inductive principle to 0-constructors Conflicts: intf/vernacexpr.mli kernel/declarations.ml kernel/declarations.mli kernel/entries.mli kernel/indtypes.ml library/declare.ml parsing/g_vernac.ml4 plugins/funind/glob_term_to_relation.ml pretyping/indrec.ml pretyping/tacred.mli printing/ppvernac.ml toplevel/vernacentries.ml Conflicts: kernel/declarations.mli kernel/declareops.ml kernel/indtypes.ml kernel/modops.ml
2014-05-06- Fix abstract forgetting about new constraints.Matthieu Sozeau
2014-05-06- Fix handling of polymorphic inductive elimination schemes.Matthieu Sozeau
- Avoid generation of dummy universes for unsafe_global* - Handle side effects better for polymorphic definitions. Conflicts: kernel/term_typing.ml tactics/tactics.ml
2014-05-06Cleanup in constr, correct classification of polymorphic defs.Matthieu Sozeau
2014-05-06- Fix index-list to show computational relations for rewriting files.Matthieu Sozeau
- Fix hasheq which didn't have a case for Proj making hashconsing exponentially slower. Conflicts: kernel/constr.ml kernel/univ.ml proofs/proof_global.ml
2014-05-06Fix printing of projections with implicits.Matthieu Sozeau
2014-05-06Fix inversion of notations for projections.Matthieu Sozeau
2014-05-06Various fixes of universe polymorphism and projections when they're set.Matthieu Sozeau
- Fix substitution of universes! - Properly refresh universes in typeclasses exact hints. Conflicts: kernel/term_typing.ml toplevel/obligations.ml
2014-05-06- Fix Check to use the constraints inferred during type inference.Matthieu Sozeau
- Fix declaration of projections to work again with Primitive Projections on. Conflicts: kernel/term_typing.ml
2014-05-06Improve universe/level comparison using hashes.Matthieu Sozeau
2014-05-06In kernel/univ.ml, better allocation behavior, better eq_univs functionMatthieu Sozeau
avoiding doing work twice, better leq not duplicating a Universe.equal test. Conflicts: kernel/univ.ml
2014-05-06Compat with ocaml 3.12Matthieu Sozeau
Conflicts: kernel/univ.ml
2014-05-06- Fix comparison of universes.Matthieu Sozeau
- Shortcut for Set <= x checks, assuming that this is always true except when x (or rather its canonical representative) is Prop. Invariant to check. - Uncomment the profiling code and make it depend on a (statically known) boolean.
2014-05-06Better hashconsing of levels and universes, working with modules.Matthieu Sozeau
Huge slowdown to be tracked in some files, even if no polymorphism is involved. Conflicts: kernel/univ.ml
2014-05-06Be defensive in univ/eq_instances, raise an anomaly on incompatible instances.Matthieu Sozeau
2014-05-06Reinstate hashconsing of instances, faster globally.Matthieu Sozeau
2014-05-06Restore reasonable performance by not allocating during universe checks,Matthieu Sozeau
using a fast_compare_neq.
2014-05-06- Rename eq to equal in Univ, document new modules, set interfaces.Matthieu Sozeau
A try at hashconsing all universes instances seems to incur a big cost. - Do hashconsing of universe instances in constr. - Little fix in obligations w.r.t. non-polymorphic constants. Conflicts: kernel/constr.ml kernel/declareops.ml kernel/inductive.ml kernel/univ.mli
2014-05-06'Pretty' printer for wf_pathsPierre
2014-05-06md5 for MacOSPierre
md5sum check remains not portable.
2014-05-06Lemmas: export standard proof terminatorEnrico Tassi
2014-05-06Rewriting the proof monad mechanism. Now it uses pure OCaml code, withoutppedrot
going through a Coq extraction phase. We use second order quantification through OCaml records, which allows for a very precise use of low-level application. This results in quite a remarkable speedup but there is still room for improvement. This code was written by translating straightforwardly the Coq generated code in a human-readable dialect. git-svn-id: svn+ssh://scm.gforge.inria.fr/svn/coq/trunk@17068 85f007b7-540e-0410-9357-904b9bb8a0f7
2014-05-06Fix interface for template polymorphism, cleaning up code in all typing ↵Matthieu Sozeau
algorithms.
2014-05-06Properly reinstate old-style polymorphism in the kernel and pretyping/retyping.Matthieu Sozeau
TODO fix interface on knowing_parameters to avoid useless array allocations.
2014-05-06Initial work on reintroducing old-style polymorphism for compatibility (the ↵Matthieu Sozeau
stdlib does not compile entirely).
2014-05-06Correct rebase on STM code. Thanks to E. Tassi for help on dealing withMatthieu Sozeau
latent universes. Now the universes in the type of a definition/lemma are eagerly added to the environment so that later proofs can be checked independently of the original (delegated) proof body. - Fixed firstorder, ring to work correctly with universe polymorphism. - Changed constr_of_global to raise an anomaly if side effects would be lost by turning a polymorphic constant into a constr. - Fix a non-termination issue in solve_evar_evar. -