Theorem: Set.union_idem (GMLInit/Data/Set/Basic.lean)

State before:
α : Sort u_1
β : ?m.17810
γ : ?m.17813
s : Set α
⊢ s.union s = s
Tactic:
apply Set.ext
State after:
case a
α : Sort u_1
β : ?m.17810
γ : ?m.17813
s : Set α
⊢ ∀ (x : α), x ∈ s.union s ↔ x ∈ s

State before:
case a
α : Sort u_1
β : ?m.17810
γ : ?m.17813
s : Set α
⊢ ∀ (x : α), x ∈ s.union s ↔ x ∈ s
Tactic:
intro x
State after:
case a
α : Sort u_1
β : ?m.17810
γ : ?m.17813
s : Set α
x : α
⊢ x ∈ s.union s ↔ x ∈ s

State before:
case a
α : Sort u_1
β : ?m.17810
γ : ?m.17813
s : Set α
x : α
⊢ x ∈ s.union s ↔ x ∈ s
Tactic:
constructor
State after:
case a.mp
α : Sort u_1
β : ?m.17810
γ : ?m.17813
s : Set α
x : α
⊢ x ∈ s.union s → x ∈ s

case a.mpr
α : Sort u_1
β : ?m.17810
γ : ?m.17813
s : Set α
x : α
⊢ x ∈ s → x ∈ s.union s

State before:
case a.mp
α : Sort u_1
β : ?m.17810
γ : ?m.17813
s : Set α
x : α
⊢ x ∈ s.union s → x ∈ s
Tactic:
open Or in intro
| inl hs => exact hs
| inr hs => exact hs
State after:
no goals

State before:
case a.mp
α : Sort u_1
β : ?m.17810
γ : ?m.17813
s : Set α
x : α
⊢ x ∈ s.union s → x ∈ s
Tactic:
intro
| inl hs => exact hs
| inr hs => exact hs
State after:
no goals

State before:
α : Sort u_1
β : ?m.17810
γ : ?m.17813
s : Set α
x : α
x✝ : x ∈ s.union s
hs : x ∈ s
⊢ x ∈ s
Tactic:
exact hs
State after:
no goals

State before:
case a.mpr
α : Sort u_1
β : ?m.17810
γ : ?m.17813
s : Set α
x : α
⊢ x ∈ s → x ∈ s.union s
Tactic:
intro hs
State after:
case a.mpr
α : Sort u_1
β : ?m.17810
γ : ?m.17813
s : Set α
x : α
hs : x ∈ s
⊢ x ∈ s.union s

State before:
case a.mpr
α : Sort u_1
β : ?m.17810
γ : ?m.17813
s : Set α
x : α
hs : x ∈ s
⊢ x ∈ s.union s
Tactic:
left
State after:
case a.mpr.h
α : Sort u_1
β : ?m.17810
γ : ?m.17813
s : Set α
x : α
hs : x ∈ s
⊢ x ∈ s

State before:
case a.mpr.h
α : Sort u_1
β : ?m.17810
γ : ?m.17813
s : Set α
x : α
hs : x ∈ s
⊢ x ∈ s
Tactic:
exact hs
State after:
no goals