Commit 2020-07-27 10:07 8c8d6a22
View on Github →feat(topology/tactic): continuity faster and more powerful (#3545) Following up on the recent introduction of Reid's continuity tactic in #2879, I've made some tweaks that make it both faster and more capable.
- we use
apply_rules {md:=semireducible}, taking advantage of #3538. This makes examples likeexample : continuous (λ x : ℝ, exp ((max x (-x)) + sin (cos x))^2) := by continuityviable. - in
apply_rules, if we pull in lemmas using an attribute, we reverse the list of lemmas (on the heuristic that older lemmas are more frequently applicable than newer lemmas) - in
continuity, I removed theapply_assumptionstep in thetidyloop, sinceapply_rulesis already callingassumption - also in the
tidyloop, I movedintro1aboveapply_rules. The example in the test file
example {κ ι : Type}
(K : κ → Type) [∀ k, topological_space (K k)] (I : ι → Type) [∀ i, topological_space (I i)]
(e : κ ≃ ι) (F : Π k, homeomorph (K k) (I (e k))) :
continuous (λ (f : Π k, K k) (i : ι), F (e.symm i) (f (e.symm i))) :=
by show_term { continuity }
which previously timed out now runs happily even with -T50000.