mathlib
fed7cf07 - fix(tactic/induction): fix multiple cases'/induction' bugs (#7717)

Commit
4 years ago
fix(tactic/induction): fix multiple cases'/induction' bugs (#7717) * Fix generalisation in the presence of frozen local instances. Any time we revert a potentially frozen hypothesis, we now unfreeze local hypotheses during the operation. This makes sure that generalisation works uniformly whether or not any local instances are frozen. * Treat local defs as fixed during auto-generalisation induction' gets confused if we generalise over local definitions since they turn into lets when reverted. Ideally, we would handle local defs transparently, but that would require a lot of new code. So instead, we at least stop auto-generalisation from generalising them (and their dependencies). * Handle infinitely branching types induction' and cases' previously did not acknowledge the existence of infinitely branching types at all, leading to various internal errors. New test cases for all these bugs, due to Patrick Massot, were added to the test suite.
Author
Parents
Loading