aboutsummaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2016-06-17remote counter: avoid thread race on sockets (fix #4823)Enrico Tassi
With par: the scenario is this one: coqide --- master ---- proof worker 1 (has no par: steps) ---- proof worker 2 (has a par: step) ---- tac worker 2.1 ---- tac worker 2.2 ---- tac worker 2.3 Actor 2 installs a remote counter for universe levels, that are requested to master. Multiple threads dealing with actors 2.x may need to get values from that counter at the same time. Long story short, in this complex scenario a mutex was missing and the control threads for 2.x were accessing the counter (hence reading/writing to the single socket connecting 2 with master at the same time, "corrupting" the data flow). A better solution would be to have a way to generate unique fresh universe levels locally to a worker.
2016-06-17Mentioning goal selectors in CHANGESEnrico Tassi
2016-06-16Merge branch 'nzgcd' into trunkMatthieu Sozeau
2016-06-16Remove unneded hints in NZGcdMatthieu Sozeau
They were already commented out, Pierre confirms they're spurious.
2016-06-16proof mode: print unification constraintsMatthieu Sozeau
along with goals, with nice formatting.
2016-06-16Tentative fix of test-suite file to avoid loopMatthieu Sozeau
Looping on jenkins only, couldn't reproduce locally. To be investigated further.
2016-06-16Typeclasses:rename solve_instantiation* & use HookMatthieu Sozeau
2016-06-16Fix resolve_one_typeclass to use the new engineMatthieu Sozeau
2016-06-16Bind resolve_one_typeclass to 8.5 or 8.6 resolutionMatthieu Sozeau
2016-06-16Fix wrong tabulation in CHANGESMatthieu Sozeau
2016-06-16Put autoapply back, lost during rebaseMatthieu Sozeau
2016-06-16Cleanup and refactoringMatthieu Sozeau
2016-06-16Document new Hint Mode option.Matthieu Sozeau
2016-06-16Extend Hint Mode to handle the no-head-evar caseMatthieu Sozeau
Suggested by R. Krebbers and C. Cohen, this makes modes more applicable, by allowing to trigger resolution on partially instantiated indices. This is a rough but fast approximation of the pattern on which one would like instances to apply.
2016-06-16Revise syntax of Hint CutMatthieu Sozeau
As noticed by C. Cohen it was confusingly different from standard notation.
2016-06-16Example given at DeepSpec workshopMatthieu Sozeau
2016-06-16Purely refactoring and code/API cleanup.Matthieu Sozeau
Fix test-suite files
2016-06-16eauto: fix test-suite fileMatthieu Sozeau
Now that typeclasses eauto uses the new eauto.
2016-06-16bteauto: a Proofview.tactic for multiple goalsMatthieu Sozeau
Add an option to force backtracking at toplevel, which is used by default when calling typeclasses eauto on a set of goals. They might be depended on by other subgoals, so the tactic should be backtracking by default, a once can make it not backtrack.
2016-06-16Typeclasses: allow shelved subgoalsMatthieu Sozeau
Be more lenient, allowing non-class subgoals to remain after resolution, this seems necessary when launching resolution in goals containing evars. Also put a tclONCE when hints don't need to backtrack.
2016-06-16Minor cleanupMatthieu Sozeau
2016-06-16Typeclasses: refine the eauto tacticMatthieu Sozeau
- Treat shelved dependent subgoals that might not be resolved after some proof search correctly by restarting their resolution as soon as possible (if they are typeclasses in only_classes mode). - Treat dependencies between goals better, avoiding backtracking more often when dependencies allow.
2016-06-16Typeclasses: verbosity and Limit Intros optionsMatthieu Sozeau
To deactivate the limitation of introductions (which was added to avoid eta expansions in proof terms). This can cause huge blowups due to dumb backtracking. The arrow introduction rule is reversible, so better do it eagerly!
2016-06-16Proofview: extensions for backtracking eautoMatthieu Sozeau
unshelve_goals is used to correctly register dependent subgoals that have to be solved. Resolution may fail to do so using hints, so we have to put them back as goals in that case. The shelf is a good interface for doing that. unifiable can be used outside proofview to detect dependencies between goals. This might be better in another module.
2016-06-16typeclass resolution: add two compatibility optionsMatthieu Sozeau
Set Typeclasses Compatibility "8.5". uses the old resolution tactic (off by default, but useful for debugging incompatibilities) Set Typeclasses Unification Compatibility "8.5". uses the old clenv unification tactic in resolution even with the new proof engine (on by default for now). Also fix the 8.5-compatible unification with the new engine resolution function, by using with_shelf and unshelve.
2016-06-16setoid_rewrite: fix the Params resolution tacticMatthieu Sozeau
Add a substitution of a local variable by its body to ensure proper unification without having to make all local variables unfoldable.
2016-06-16Fix incorrect caching of local hints w.r.t sectionsMatthieu Sozeau
2016-06-16Compat with ocaml 4.01Matthieu Sozeau
2016-06-16Fix iterative deepening strategy failing too earlyMatthieu Sozeau
Report limit exceeded on _any_ branch so that we pursue search if it was reached at least once. Add example by N. Tabareau in test-suite.
2016-06-16Implement limited proof search and iterative deepening.Matthieu Sozeau
Fix typo in proofview
2016-06-16Typeclasses eauto based on new proof engine,Matthieu Sozeau
with full backtracking across multiple goals.
2016-06-16Typeclasses: stdlib fixes for new search algorithmMatthieu Sozeau
2016-06-16Refine 9cc95f5, unification of Let-In's, bug #3929Matthieu Sozeau
We unify types of let-ins in FO heuristic before their bodies, using cumulativity in either direction. This maintains the invariant that we are comparing terms in related types throughout unification. Also adapt test-suite file for bug #3929.
2016-06-16Small factorization in the typing flags of the kernel.Pierre-Marie Pédrot
2016-06-16Factorizing the uses of Declareops.safe_flags.Pierre-Marie Pédrot
This allows a smooth addition of various unsafe flags without wreaking havoc in the ML codebase.
2016-06-16Adding a default safe set of kernel typing flags to Declareops.Pierre-Marie Pédrot
2016-06-16Fixing a mispelling coma -> comma.Hugo Herbelin
2016-06-16Typo in comment.Hugo Herbelin
2016-06-16Fixing space in an error message.Hugo Herbelin
2016-06-16Fixing printing of Register retroknowledge.Hugo Herbelin
2016-06-16Fixing Add Parametric Relation by adding printer for binders.Hugo Herbelin
2016-06-16Adding printers for ring and field commands.Hugo Herbelin
2016-06-16Fixing printing of Function.Hugo Herbelin
2016-06-16Isolating and exporting a function for printing body of a recursive definition.Hugo Herbelin
2016-06-16Simplification in ppvernac.ml.Hugo Herbelin
2016-06-16Removing unused generalization of pr_vernac over pr_constr and pr_lconstr.Hugo Herbelin
No other changes (long only because of a change of indentation).
2016-06-16Fixing extra space in printing bullets.Hugo Herbelin
2016-06-16Fixing space in printing <+ and <: + fixing missing Inline keyword.Hugo Herbelin
Fixing : in Declare Module.
2016-06-16Fixing printing of Instance.Hugo Herbelin
2016-06-16Fixing extra space in printing abbreviations (SyntaxDefinition).Hugo Herbelin