Theorem: Tutorial.isOpen_univ (GlimpseOfLean/Exercises/Topics/GaloisAdjunctions.lean)

State before:
X : Type
T : Topology X
⊢ T.isOpen Set.univ
Tactic:
have : (Set.univ : Set X) = ⋂ i : Empty, i.rec := by
  rw [Set.iInter_of_empty]
State after:
X : Type
T : Topology X
this : Set.univ = ⋂ i, Empty.rec (fun x => Set X) i
⊢ T.isOpen Set.univ

State before:
X : Type
T : Topology X
this : Set.univ = ⋂ i, Empty.rec (fun x => Set X) i
⊢ T.isOpen Set.univ
Tactic:
rw [this]
State after:
X : Type
T : Topology X
this : Set.univ = ⋂ i, Empty.rec (fun x => Set X) i
⊢ T.isOpen (⋂ i, Empty.rec (fun x => Set X) i)

State before:
X : Type
T : Topology X
this : Set.univ = ⋂ i, Empty.rec (fun x => Set X) i
⊢ T.isOpen (⋂ i, Empty.rec (fun x => Set X) i)
Tactic:
exact T.isOpen_iInter  Empty.rec (Finite.of_fintype Empty)
State after:
no goals

State before:
X : Type
T : Topology X
⊢ Set.univ = ⋂ i, Empty.rec (fun x => Set X) i
Tactic:
rw [Set.iInter_of_empty]
State after:
no goals