topology.algebra.order.extr_closureMathlib.Topology.Algebra.Order.ExtrClosure

This file has been ported!

Changes since the initial port

The following section lists changes to this file in mathlib3 and mathlib4 that occured after the initial port. Most recent changes are shown first. Hovering over a commit will show all commits associated with the same mathlib3 commit.

Changes in mathlib3

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(last sync)

Changes in mathlib3port

mathlib3
mathlib3port
Diff
@@ -3,7 +3,7 @@ Copyright (c) 2022 Yury G. Kudryashov. All rights reserved.
 Released under Apache 2.0 license as described in the file LICENSE.
 Authors: Yury G. Kudryashov
 -/
-import Topology.LocalExtr
+import Topology.Order.LocalExtr
 import Topology.Order.Basic
 
 #align_import topology.algebra.order.extr_closure from "leanprover-community/mathlib"@"50832daea47b195a48b5b33b1c8b2162c48c3afc"
Diff
@@ -3,8 +3,8 @@ Copyright (c) 2022 Yury G. Kudryashov. All rights reserved.
 Released under Apache 2.0 license as described in the file LICENSE.
 Authors: Yury G. Kudryashov
 -/
-import Mathbin.Topology.LocalExtr
-import Mathbin.Topology.Order.Basic
+import Topology.LocalExtr
+import Topology.Order.Basic
 
 #align_import topology.algebra.order.extr_closure from "leanprover-community/mathlib"@"50832daea47b195a48b5b33b1c8b2162c48c3afc"
 
Diff
@@ -2,15 +2,12 @@
 Copyright (c) 2022 Yury G. Kudryashov. All rights reserved.
 Released under Apache 2.0 license as described in the file LICENSE.
 Authors: Yury G. Kudryashov
-
-! This file was ported from Lean 3 source module topology.algebra.order.extr_closure
-! leanprover-community/mathlib commit 50832daea47b195a48b5b33b1c8b2162c48c3afc
-! Please do not edit these lines, except to modify the commit id
-! if you have ported upstream changes.
 -/
 import Mathbin.Topology.LocalExtr
 import Mathbin.Topology.Order.Basic
 
+#align_import topology.algebra.order.extr_closure from "leanprover-community/mathlib"@"50832daea47b195a48b5b33b1c8b2162c48c3afc"
+
 /-!
 # Maximum/minimum on the closure of a set
 
Diff
@@ -30,21 +30,28 @@ open scoped Topology
 variable {X Y : Type _} [TopologicalSpace X] [TopologicalSpace Y] [Preorder Y]
   [OrderClosedTopology Y] {f g : X → Y} {s : Set X} {a : X}
 
+#print IsMaxOn.closure /-
 protected theorem IsMaxOn.closure (h : IsMaxOn f s a) (hc : ContinuousOn f (closure s)) :
     IsMaxOn f (closure s) a := fun x hx =>
   ContinuousWithinAt.closure_le hx ((hc x hx).mono subset_closure) continuousWithinAt_const h
 #align is_max_on.closure IsMaxOn.closure
+-/
 
+#print IsMinOn.closure /-
 protected theorem IsMinOn.closure (h : IsMinOn f s a) (hc : ContinuousOn f (closure s)) :
     IsMinOn f (closure s) a :=
   h.dual.closure hc
 #align is_min_on.closure IsMinOn.closure
+-/
 
+#print IsExtrOn.closure /-
 protected theorem IsExtrOn.closure (h : IsExtrOn f s a) (hc : ContinuousOn f (closure s)) :
     IsExtrOn f (closure s) a :=
   h.elim (fun h => Or.inl <| h.closure hc) fun h => Or.inr <| h.closure hc
 #align is_extr_on.closure IsExtrOn.closure
+-/
 
+#print IsLocalMaxOn.closure /-
 protected theorem IsLocalMaxOn.closure (h : IsLocalMaxOn f s a) (hc : ContinuousOn f (closure s)) :
     IsLocalMaxOn f (closure s) a :=
   by
@@ -57,14 +64,19 @@ protected theorem IsLocalMaxOn.closure (h : IsLocalMaxOn f s a) (hc : Continuous
     exact nhdsWithin_le_nhds (Uo.mem_nhds hxU)
   · exact (hc _ hxs).mono ((inter_subset_right _ _).trans subset_closure)
 #align is_local_max_on.closure IsLocalMaxOn.closure
+-/
 
+#print IsLocalMinOn.closure /-
 protected theorem IsLocalMinOn.closure (h : IsLocalMinOn f s a) (hc : ContinuousOn f (closure s)) :
     IsLocalMinOn f (closure s) a :=
   IsLocalMaxOn.closure h.dual hc
 #align is_local_min_on.closure IsLocalMinOn.closure
+-/
 
+#print IsLocalExtrOn.closure /-
 protected theorem IsLocalExtrOn.closure (h : IsLocalExtrOn f s a)
     (hc : ContinuousOn f (closure s)) : IsLocalExtrOn f (closure s) a :=
   h.elim (fun h => Or.inl <| h.closure hc) fun h => Or.inr <| h.closure hc
 #align is_local_extr_on.closure IsLocalExtrOn.closure
+-/
 
Diff
@@ -25,7 +25,7 @@ not) maximum (or minimum) on a set `s` at a point `a` and is continuous on the c
 
 open Filter Set
 
-open Topology
+open scoped Topology
 
 variable {X Y : Type _} [TopologicalSpace X] [TopologicalSpace Y] [Preorder Y]
   [OrderClosedTopology Y] {f g : X → Y} {s : Set X} {a : X}
Diff
@@ -30,45 +30,21 @@ open Topology
 variable {X Y : Type _} [TopologicalSpace X] [TopologicalSpace Y] [Preorder Y]
   [OrderClosedTopology Y] {f g : X → Y} {s : Set X} {a : X}
 
-/- warning: is_max_on.closure -> IsMaxOn.closure is a dubious translation:
-lean 3 declaration is
-  forall {X : Type.{u1}} {Y : Type.{u2}} [_inst_1 : TopologicalSpace.{u1} X] [_inst_2 : TopologicalSpace.{u2} Y] [_inst_3 : Preorder.{u2} Y] [_inst_4 : OrderClosedTopology.{u2} Y _inst_2 _inst_3] {f : X -> Y} {s : Set.{u1} X} {a : X}, (IsMaxOn.{u1, u2} X Y _inst_3 f s a) -> (ContinuousOn.{u1, u2} X Y _inst_1 _inst_2 f (closure.{u1} X _inst_1 s)) -> (IsMaxOn.{u1, u2} X Y _inst_3 f (closure.{u1} X _inst_1 s) a)
-but is expected to have type
-  forall {X : Type.{u2}} {Y : Type.{u1}} [_inst_1 : TopologicalSpace.{u2} X] [_inst_2 : TopologicalSpace.{u1} Y] [_inst_3 : Preorder.{u1} Y] [_inst_4 : OrderClosedTopology.{u1} Y _inst_2 _inst_3] {f : X -> Y} {s : Set.{u2} X} {a : X}, (IsMaxOn.{u2, u1} X Y _inst_3 f s a) -> (ContinuousOn.{u2, u1} X Y _inst_1 _inst_2 f (closure.{u2} X _inst_1 s)) -> (IsMaxOn.{u2, u1} X Y _inst_3 f (closure.{u2} X _inst_1 s) a)
-Case conversion may be inaccurate. Consider using '#align is_max_on.closure IsMaxOn.closureₓ'. -/
 protected theorem IsMaxOn.closure (h : IsMaxOn f s a) (hc : ContinuousOn f (closure s)) :
     IsMaxOn f (closure s) a := fun x hx =>
   ContinuousWithinAt.closure_le hx ((hc x hx).mono subset_closure) continuousWithinAt_const h
 #align is_max_on.closure IsMaxOn.closure
 
-/- warning: is_min_on.closure -> IsMinOn.closure is a dubious translation:
-lean 3 declaration is
-  forall {X : Type.{u1}} {Y : Type.{u2}} [_inst_1 : TopologicalSpace.{u1} X] [_inst_2 : TopologicalSpace.{u2} Y] [_inst_3 : Preorder.{u2} Y] [_inst_4 : OrderClosedTopology.{u2} Y _inst_2 _inst_3] {f : X -> Y} {s : Set.{u1} X} {a : X}, (IsMinOn.{u1, u2} X Y _inst_3 f s a) -> (ContinuousOn.{u1, u2} X Y _inst_1 _inst_2 f (closure.{u1} X _inst_1 s)) -> (IsMinOn.{u1, u2} X Y _inst_3 f (closure.{u1} X _inst_1 s) a)
-but is expected to have type
-  forall {X : Type.{u2}} {Y : Type.{u1}} [_inst_1 : TopologicalSpace.{u2} X] [_inst_2 : TopologicalSpace.{u1} Y] [_inst_3 : Preorder.{u1} Y] [_inst_4 : OrderClosedTopology.{u1} Y _inst_2 _inst_3] {f : X -> Y} {s : Set.{u2} X} {a : X}, (IsMinOn.{u2, u1} X Y _inst_3 f s a) -> (ContinuousOn.{u2, u1} X Y _inst_1 _inst_2 f (closure.{u2} X _inst_1 s)) -> (IsMinOn.{u2, u1} X Y _inst_3 f (closure.{u2} X _inst_1 s) a)
-Case conversion may be inaccurate. Consider using '#align is_min_on.closure IsMinOn.closureₓ'. -/
 protected theorem IsMinOn.closure (h : IsMinOn f s a) (hc : ContinuousOn f (closure s)) :
     IsMinOn f (closure s) a :=
   h.dual.closure hc
 #align is_min_on.closure IsMinOn.closure
 
-/- warning: is_extr_on.closure -> IsExtrOn.closure is a dubious translation:
-lean 3 declaration is
-  forall {X : Type.{u1}} {Y : Type.{u2}} [_inst_1 : TopologicalSpace.{u1} X] [_inst_2 : TopologicalSpace.{u2} Y] [_inst_3 : Preorder.{u2} Y] [_inst_4 : OrderClosedTopology.{u2} Y _inst_2 _inst_3] {f : X -> Y} {s : Set.{u1} X} {a : X}, (IsExtrOn.{u1, u2} X Y _inst_3 f s a) -> (ContinuousOn.{u1, u2} X Y _inst_1 _inst_2 f (closure.{u1} X _inst_1 s)) -> (IsExtrOn.{u1, u2} X Y _inst_3 f (closure.{u1} X _inst_1 s) a)
-but is expected to have type
-  forall {X : Type.{u2}} {Y : Type.{u1}} [_inst_1 : TopologicalSpace.{u2} X] [_inst_2 : TopologicalSpace.{u1} Y] [_inst_3 : Preorder.{u1} Y] [_inst_4 : OrderClosedTopology.{u1} Y _inst_2 _inst_3] {f : X -> Y} {s : Set.{u2} X} {a : X}, (IsExtrOn.{u2, u1} X Y _inst_3 f s a) -> (ContinuousOn.{u2, u1} X Y _inst_1 _inst_2 f (closure.{u2} X _inst_1 s)) -> (IsExtrOn.{u2, u1} X Y _inst_3 f (closure.{u2} X _inst_1 s) a)
-Case conversion may be inaccurate. Consider using '#align is_extr_on.closure IsExtrOn.closureₓ'. -/
 protected theorem IsExtrOn.closure (h : IsExtrOn f s a) (hc : ContinuousOn f (closure s)) :
     IsExtrOn f (closure s) a :=
   h.elim (fun h => Or.inl <| h.closure hc) fun h => Or.inr <| h.closure hc
 #align is_extr_on.closure IsExtrOn.closure
 
-/- warning: is_local_max_on.closure -> IsLocalMaxOn.closure is a dubious translation:
-lean 3 declaration is
-  forall {X : Type.{u1}} {Y : Type.{u2}} [_inst_1 : TopologicalSpace.{u1} X] [_inst_2 : TopologicalSpace.{u2} Y] [_inst_3 : Preorder.{u2} Y] [_inst_4 : OrderClosedTopology.{u2} Y _inst_2 _inst_3] {f : X -> Y} {s : Set.{u1} X} {a : X}, (IsLocalMaxOn.{u1, u2} X Y _inst_1 _inst_3 f s a) -> (ContinuousOn.{u1, u2} X Y _inst_1 _inst_2 f (closure.{u1} X _inst_1 s)) -> (IsLocalMaxOn.{u1, u2} X Y _inst_1 _inst_3 f (closure.{u1} X _inst_1 s) a)
-but is expected to have type
-  forall {X : Type.{u2}} {Y : Type.{u1}} [_inst_1 : TopologicalSpace.{u2} X] [_inst_2 : TopologicalSpace.{u1} Y] [_inst_3 : Preorder.{u1} Y] [_inst_4 : OrderClosedTopology.{u1} Y _inst_2 _inst_3] {f : X -> Y} {s : Set.{u2} X} {a : X}, (IsLocalMaxOn.{u2, u1} X Y _inst_1 _inst_3 f s a) -> (ContinuousOn.{u2, u1} X Y _inst_1 _inst_2 f (closure.{u2} X _inst_1 s)) -> (IsLocalMaxOn.{u2, u1} X Y _inst_1 _inst_3 f (closure.{u2} X _inst_1 s) a)
-Case conversion may be inaccurate. Consider using '#align is_local_max_on.closure IsLocalMaxOn.closureₓ'. -/
 protected theorem IsLocalMaxOn.closure (h : IsLocalMaxOn f s a) (hc : ContinuousOn f (closure s)) :
     IsLocalMaxOn f (closure s) a :=
   by
@@ -82,23 +58,11 @@ protected theorem IsLocalMaxOn.closure (h : IsLocalMaxOn f s a) (hc : Continuous
   · exact (hc _ hxs).mono ((inter_subset_right _ _).trans subset_closure)
 #align is_local_max_on.closure IsLocalMaxOn.closure
 
-/- warning: is_local_min_on.closure -> IsLocalMinOn.closure is a dubious translation:
-lean 3 declaration is
-  forall {X : Type.{u1}} {Y : Type.{u2}} [_inst_1 : TopologicalSpace.{u1} X] [_inst_2 : TopologicalSpace.{u2} Y] [_inst_3 : Preorder.{u2} Y] [_inst_4 : OrderClosedTopology.{u2} Y _inst_2 _inst_3] {f : X -> Y} {s : Set.{u1} X} {a : X}, (IsLocalMinOn.{u1, u2} X Y _inst_1 _inst_3 f s a) -> (ContinuousOn.{u1, u2} X Y _inst_1 _inst_2 f (closure.{u1} X _inst_1 s)) -> (IsLocalMinOn.{u1, u2} X Y _inst_1 _inst_3 f (closure.{u1} X _inst_1 s) a)
-but is expected to have type
-  forall {X : Type.{u2}} {Y : Type.{u1}} [_inst_1 : TopologicalSpace.{u2} X] [_inst_2 : TopologicalSpace.{u1} Y] [_inst_3 : Preorder.{u1} Y] [_inst_4 : OrderClosedTopology.{u1} Y _inst_2 _inst_3] {f : X -> Y} {s : Set.{u2} X} {a : X}, (IsLocalMinOn.{u2, u1} X Y _inst_1 _inst_3 f s a) -> (ContinuousOn.{u2, u1} X Y _inst_1 _inst_2 f (closure.{u2} X _inst_1 s)) -> (IsLocalMinOn.{u2, u1} X Y _inst_1 _inst_3 f (closure.{u2} X _inst_1 s) a)
-Case conversion may be inaccurate. Consider using '#align is_local_min_on.closure IsLocalMinOn.closureₓ'. -/
 protected theorem IsLocalMinOn.closure (h : IsLocalMinOn f s a) (hc : ContinuousOn f (closure s)) :
     IsLocalMinOn f (closure s) a :=
   IsLocalMaxOn.closure h.dual hc
 #align is_local_min_on.closure IsLocalMinOn.closure
 
-/- warning: is_local_extr_on.closure -> IsLocalExtrOn.closure is a dubious translation:
-lean 3 declaration is
-  forall {X : Type.{u1}} {Y : Type.{u2}} [_inst_1 : TopologicalSpace.{u1} X] [_inst_2 : TopologicalSpace.{u2} Y] [_inst_3 : Preorder.{u2} Y] [_inst_4 : OrderClosedTopology.{u2} Y _inst_2 _inst_3] {f : X -> Y} {s : Set.{u1} X} {a : X}, (IsLocalExtrOn.{u1, u2} X Y _inst_1 _inst_3 f s a) -> (ContinuousOn.{u1, u2} X Y _inst_1 _inst_2 f (closure.{u1} X _inst_1 s)) -> (IsLocalExtrOn.{u1, u2} X Y _inst_1 _inst_3 f (closure.{u1} X _inst_1 s) a)
-but is expected to have type
-  forall {X : Type.{u2}} {Y : Type.{u1}} [_inst_1 : TopologicalSpace.{u2} X] [_inst_2 : TopologicalSpace.{u1} Y] [_inst_3 : Preorder.{u1} Y] [_inst_4 : OrderClosedTopology.{u1} Y _inst_2 _inst_3] {f : X -> Y} {s : Set.{u2} X} {a : X}, (IsLocalExtrOn.{u2, u1} X Y _inst_1 _inst_3 f s a) -> (ContinuousOn.{u2, u1} X Y _inst_1 _inst_2 f (closure.{u2} X _inst_1 s)) -> (IsLocalExtrOn.{u2, u1} X Y _inst_1 _inst_3 f (closure.{u2} X _inst_1 s) a)
-Case conversion may be inaccurate. Consider using '#align is_local_extr_on.closure IsLocalExtrOn.closureₓ'. -/
 protected theorem IsLocalExtrOn.closure (h : IsLocalExtrOn f s a)
     (hc : ContinuousOn f (closure s)) : IsLocalExtrOn f (closure s) a :=
   h.elim (fun h => Or.inl <| h.closure hc) fun h => Or.inr <| h.closure hc

Changes in mathlib4

mathlib3
mathlib4
move(Topology/Order): Move anything that doesn't concern algebra (#11610)

Move files from Topology.Algebra.Order to Topology.Order when they do not contain any algebra. Also move Topology.LocalExtr to Topology.Order.LocalExtr.

According to git, the moves are:

  • Mathlib/Topology/{Algebra => }/Order/ExtendFrom.lean
  • Mathlib/Topology/{Algebra => }/Order/ExtrClosure.lean
  • Mathlib/Topology/{Algebra => }/Order/Filter.lean
  • Mathlib/Topology/{Algebra => }/Order/IntermediateValue.lean
  • Mathlib/Topology/{Algebra => }/Order/LeftRight.lean
  • Mathlib/Topology/{Algebra => }/Order/LeftRightLim.lean
  • Mathlib/Topology/{Algebra => }/Order/MonotoneContinuity.lean
  • Mathlib/Topology/{Algebra => }/Order/MonotoneConvergence.lean
  • Mathlib/Topology/{Algebra => }/Order/ProjIcc.lean
  • Mathlib/Topology/{Algebra => }/Order/T5.lean
  • Mathlib/Topology/{ => Order}/LocalExtr.lean
Diff
@@ -3,8 +3,8 @@ Copyright (c) 2022 Yury G. Kudryashov. All rights reserved.
 Released under Apache 2.0 license as described in the file LICENSE.
 Authors: Yury G. Kudryashov
 -/
-import Mathlib.Topology.LocalExtr
 import Mathlib.Topology.Order.OrderClosed
+import Mathlib.Topology.Order.LocalExtr
 
 #align_import topology.algebra.order.extr_closure from "leanprover-community/mathlib"@"4c19a16e4b705bf135cf9a80ac18fcc99c438514"
 
chore(Topology/Order): move OrderClosedTopology to a new file (#10497)
Diff
@@ -4,7 +4,7 @@ Released under Apache 2.0 license as described in the file LICENSE.
 Authors: Yury G. Kudryashov
 -/
 import Mathlib.Topology.LocalExtr
-import Mathlib.Topology.Order.Basic
+import Mathlib.Topology.Order.OrderClosed
 
 #align_import topology.algebra.order.extr_closure from "leanprover-community/mathlib"@"4c19a16e4b705bf135cf9a80ac18fcc99c438514"
 
chore: banish Type _ and Sort _ (#6499)

We remove all possible occurences of Type _ and Sort _ in favor of Type* and Sort*.

This has nice performance benefits.

Diff
@@ -21,7 +21,7 @@ open Filter Set
 
 open Topology
 
-variable {X Y : Type _} [TopologicalSpace X] [TopologicalSpace Y] [Preorder Y]
+variable {X Y : Type*} [TopologicalSpace X] [TopologicalSpace Y] [Preorder Y]
   [OrderClosedTopology Y] {f g : X → Y} {s : Set X} {a : X}
 
 protected theorem IsMaxOn.closure (h : IsMaxOn f s a) (hc : ContinuousOn f (closure s)) :
chore: script to replace headers with #align_import statements (#5979)

Open in Gitpod

Co-authored-by: Eric Wieser <wieser.eric@gmail.com> Co-authored-by: Scott Morrison <scott.morrison@gmail.com>

Diff
@@ -2,15 +2,12 @@
 Copyright (c) 2022 Yury G. Kudryashov. All rights reserved.
 Released under Apache 2.0 license as described in the file LICENSE.
 Authors: Yury G. Kudryashov
-
-! This file was ported from Lean 3 source module topology.algebra.order.extr_closure
-! leanprover-community/mathlib commit 4c19a16e4b705bf135cf9a80ac18fcc99c438514
-! Please do not edit these lines, except to modify the commit id
-! if you have ported upstream changes.
 -/
 import Mathlib.Topology.LocalExtr
 import Mathlib.Topology.Order.Basic
 
+#align_import topology.algebra.order.extr_closure from "leanprover-community/mathlib"@"4c19a16e4b705bf135cf9a80ac18fcc99c438514"
+
 /-!
 # Maximum/minimum on the closure of a set
 
feat Port/Topology.Algebra.Order.ExtrClosure (#2096)

port of topology.algebra.order.extr_closure

no changes other than one docu fix

Dependencies 8 + 319

320 files ported (97.6%)
140707 lines ported (96.6%)
Show graph

The unported dependencies are