Theorem: TopologicalSpace.noetherianSpace_TFAE
File: Mathlib/Topology/NoetherianSpace.lean

tactic: tfae_have 1 ↔ 2
state_before: α : Type u_1
β : Type u_2
inst✝¹ : TopologicalSpace α
inst✝ : TopologicalSpace β
⊢ [NoetherianSpace α, WellFounded fun s t => s < t, ∀ (s : Set α), IsCompact s, ∀ (s : Opens α), IsCompact ↑s].TFAE
state_after: case tfae_1_iff_2
α : Type u_1
β : Type u_2
inst✝¹ : TopologicalSpace α
inst✝ : TopologicalSpace β
⊢ NoetherianSpace α ↔ WellFounded fun s t => s < t

α : Type u_1
β : Type u_2
inst✝¹ : TopologicalSpace α
inst✝ : TopologicalSpace β
tfae_1_iff_2 : NoetherianSpace α ↔ WellFounded fun s t => s < t
⊢ [NoetherianSpace α, WellFounded fun s t => s < t, ∀ (s : Set α), IsCompact s, ∀ (s : Opens α), IsCompact ↑s].TFAE

tactic: tfae_have 1 ↔ 4
state_before: α : Type u_1
β : Type u_2
inst✝¹ : TopologicalSpace α
inst✝ : TopologicalSpace β
tfae_1_iff_2 : NoetherianSpace α ↔ WellFounded fun s t => s < t
⊢ [NoetherianSpace α, WellFounded fun s t => s < t, ∀ (s : Set α), IsCompact s, ∀ (s : Opens α), IsCompact ↑s].TFAE
state_after: case tfae_1_iff_4
α : Type u_1
β : Type u_2
inst✝¹ : TopologicalSpace α
inst✝ : TopologicalSpace β
tfae_1_iff_2 : NoetherianSpace α ↔ WellFounded fun s t => s < t
⊢ NoetherianSpace α ↔ ∀ (s : Opens α), IsCompact ↑s

α : Type u_1
β : Type u_2
inst✝¹ : TopologicalSpace α
inst✝ : TopologicalSpace β
tfae_1_iff_2 : NoetherianSpace α ↔ WellFounded fun s t => s < t
tfae_1_iff_4 : NoetherianSpace α ↔ ∀ (s : Opens α), IsCompact ↑s
⊢ [NoetherianSpace α, WellFounded fun s t => s < t, ∀ (s : Set α), IsCompact s, ∀ (s : Opens α), IsCompact ↑s].TFAE

tactic: tfae_have 1 → 3
state_before: α : Type u_1
β : Type u_2
inst✝¹ : TopologicalSpace α
inst✝ : TopologicalSpace β
tfae_1_iff_2 : NoetherianSpace α ↔ WellFounded fun s t => s < t
tfae_1_iff_4 : NoetherianSpace α ↔ ∀ (s : Opens α), IsCompact ↑s
⊢ [NoetherianSpace α, WellFounded fun s t => s < t, ∀ (s : Set α), IsCompact s, ∀ (s : Opens α), IsCompact ↑s].TFAE
state_after: case tfae_1_to_3
α : Type u_1
β : Type u_2
inst✝¹ : TopologicalSpace α
inst✝ : TopologicalSpace β
tfae_1_iff_2 : NoetherianSpace α ↔ WellFounded fun s t => s < t
tfae_1_iff_4 : NoetherianSpace α ↔ ∀ (s : Opens α), IsCompact ↑s
⊢ NoetherianSpace α → ∀ (s : Set α), IsCompact s

α : Type u_1
β : Type u_2
inst✝¹ : TopologicalSpace α
inst✝ : TopologicalSpace β
tfae_1_iff_2 : NoetherianSpace α ↔ WellFounded fun s t => s < t
tfae_1_iff_4 : NoetherianSpace α ↔ ∀ (s : Opens α), IsCompact ↑s
tfae_1_to_3 : NoetherianSpace α → ∀ (s : Set α), IsCompact s
⊢ [NoetherianSpace α, WellFounded fun s t => s < t, ∀ (s : Set α), IsCompact s, ∀ (s : Opens α), IsCompact ↑s].TFAE

tactic: tfae_have 3 → 4
state_before: α : Type u_1
β : Type u_2
inst✝¹ : TopologicalSpace α
inst✝ : TopologicalSpace β
tfae_1_iff_2 : NoetherianSpace α ↔ WellFounded fun s t => s < t
tfae_1_iff_4 : NoetherianSpace α ↔ ∀ (s : Opens α), IsCompact ↑s
tfae_1_to_3 : NoetherianSpace α → ∀ (s : Set α), IsCompact s
⊢ [NoetherianSpace α, WellFounded fun s t => s < t, ∀ (s : Set α), IsCompact s, ∀ (s : Opens α), IsCompact ↑s].TFAE
state_after: case tfae_3_to_4
α : Type u_1
β : Type u_2
inst✝¹ : TopologicalSpace α
inst✝ : TopologicalSpace β
tfae_1_iff_2 : NoetherianSpace α ↔ WellFounded fun s t => s < t
tfae_1_iff_4 : NoetherianSpace α ↔ ∀ (s : Opens α), IsCompact ↑s
tfae_1_to_3 : NoetherianSpace α → ∀ (s : Set α), IsCompact s
⊢ (∀ (s : Set α), IsCompact s) → ∀ (s : Opens α), IsCompact ↑s

α : Type u_1
β : Type u_2
inst✝¹ : TopologicalSpace α
inst✝ : TopologicalSpace β
tfae_1_iff_2 : NoetherianSpace α ↔ WellFounded fun s t => s < t
tfae_1_iff_4 : NoetherianSpace α ↔ ∀ (s : Opens α), IsCompact ↑s
tfae_1_to_3 : NoetherianSpace α → ∀ (s : Set α), IsCompact s
tfae_3_to_4 : (∀ (s : Set α), IsCompact s) → ∀ (s : Opens α), IsCompact ↑s
⊢ [NoetherianSpace α, WellFounded fun s t => s < t, ∀ (s : Set α), IsCompact s, ∀ (s : Opens α), IsCompact ↑s].TFAE

tactic: tfae_finish
state_before: α : Type u_1
β : Type u_2
inst✝¹ : TopologicalSpace α
inst✝ : TopologicalSpace β
tfae_1_iff_2 : NoetherianSpace α ↔ WellFounded fun s t => s < t
tfae_1_iff_4 : NoetherianSpace α ↔ ∀ (s : Opens α), IsCompact ↑s
tfae_1_to_3 : NoetherianSpace α → ∀ (s : Set α), IsCompact s
tfae_3_to_4 : (∀ (s : Set α), IsCompact s) → ∀ (s : Opens α), IsCompact ↑s
⊢ [NoetherianSpace α, WellFounded fun s t => s < t, ∀ (s : Set α), IsCompact s, ∀ (s : Opens α), IsCompact ↑s].TFAE
state_after: no goals

tactic: refine (noetherianSpace_iff α).trans (Opens.compl_bijective.2.wellFounded_iff ?_)
state_before: case tfae_1_iff_2
α : Type u_1
β : Type u_2
inst✝¹ : TopologicalSpace α
inst✝ : TopologicalSpace β
⊢ NoetherianSpace α ↔ WellFounded fun s t => s < t
state_after: case tfae_1_iff_2
α : Type u_1
β : Type u_2
inst✝¹ : TopologicalSpace α
inst✝ : TopologicalSpace β
⊢ ∀ {a b : Opens α}, a > b ↔ a.compl < b.compl

tactic: exact (@OrderIso.compl (Set α)).lt_iff_lt.symm
state_before: case tfae_1_iff_2
α : Type u_1
β : Type u_2
inst✝¹ : TopologicalSpace α
inst✝ : TopologicalSpace β
⊢ ∀ {a b : Opens α}, a > b ↔ a.compl < b.compl
state_after: no goals

tactic: exact noetherianSpace_iff_opens α
state_before: case tfae_1_iff_4
α : Type u_1
β : Type u_2
inst✝¹ : TopologicalSpace α
inst✝ : TopologicalSpace β
tfae_1_iff_2 : NoetherianSpace α ↔ WellFounded fun s t => s < t
⊢ NoetherianSpace α ↔ ∀ (s : Opens α), IsCompact ↑s
state_after: no goals

tactic: exact @NoetherianSpace.isCompact α _
state_before: case tfae_1_to_3
α : Type u_1
β : Type u_2
inst✝¹ : TopologicalSpace α
inst✝ : TopologicalSpace β
tfae_1_iff_2 : NoetherianSpace α ↔ WellFounded fun s t => s < t
tfae_1_iff_4 : NoetherianSpace α ↔ ∀ (s : Opens α), IsCompact ↑s
⊢ NoetherianSpace α → ∀ (s : Set α), IsCompact s
state_after: no goals

tactic: exact fun h s => h s
state_before: case tfae_3_to_4
α : Type u_1
β : Type u_2
inst✝¹ : TopologicalSpace α
inst✝ : TopologicalSpace β
tfae_1_iff_2 : NoetherianSpace α ↔ WellFounded fun s t => s < t
tfae_1_iff_4 : NoetherianSpace α ↔ ∀ (s : Opens α), IsCompact ↑s
tfae_1_to_3 : NoetherianSpace α → ∀ (s : Set α), IsCompact s
⊢ (∀ (s : Set α), IsCompact s) → ∀ (s : Opens α), IsCompact ↑s
state_after: no goals