Theorem: SimpleGraph.Subgraph.map_sup
File: Mathlib/Combinatorics/SimpleGraph/Subgraph.lean

tactic: ext1
state_before: ι : Sort ?u.147638
V : Type u
W : Type v
G✝ : SimpleGraph V
G₁ G₂ : Subgraph G✝
a b : V
G : SimpleGraph V
G' : SimpleGraph W
f : G →g G'
H H' : Subgraph G
⊢ Subgraph.map f (H ⊔ H') = Subgraph.map f H ⊔ Subgraph.map f H'

tactic: simp only [Set.image_union, map_verts, verts_sup]
state_before: case verts
ι : Sort ?u.147638
V : Type u
W : Type v
G✝ : SimpleGraph V
G₁ G₂ : Subgraph G✝
a b : V
G : SimpleGraph V
G' : SimpleGraph W
f : G →g G'
H H' : Subgraph G
⊢ (Subgraph.map f (H ⊔ H')).verts = (Subgraph.map f H ⊔ Subgraph.map f H').verts

tactic: ext
state_before: case Adj
ι : Sort ?u.147638
V : Type u
W : Type v
G✝ : SimpleGraph V
G₁ G₂ : Subgraph G✝
a b : V
G : SimpleGraph V
G' : SimpleGraph W
f : G →g G'
H H' : Subgraph G
⊢ (Subgraph.map f (H ⊔ H')).Adj = (Subgraph.map f H ⊔ Subgraph.map f H').Adj

tactic: simp only [Relation.Map, map_Adj, sup_adj]
state_before: case Adj.h.h.a
ι : Sort ?u.147638
V : Type u
W : Type v
G✝ : SimpleGraph V
G₁ G₂ : Subgraph G✝
a b : V
G : SimpleGraph V
G' : SimpleGraph W
f : G →g G'
H H' : Subgraph G
x✝¹ x✝ : W
⊢ Adj (Subgraph.map f (H ⊔ H')) x✝¹ x✝ ↔ Adj (Subgraph.map f H ⊔ Subgraph.map f H') x✝¹ x✝

tactic: constructor
state_before: case Adj.h.h.a
ι : Sort ?u.147638
V : Type u
W : Type v
G✝ : SimpleGraph V
G₁ G₂ : Subgraph G✝
a b : V
G : SimpleGraph V
G' : SimpleGraph W
f : G →g G'
H H' : Subgraph G
x✝¹ x✝ : W
⊢ (∃ a b, (Adj H a b ∨ Adj H' a b) ∧ ↑f a = x✝¹ ∧ ↑f b = x✝) ↔
    (∃ a b, Adj H a b ∧ ↑f a = x✝¹ ∧ ↑f b = x✝) ∨ ∃ a b, Adj H' a b ∧ ↑f a = x✝¹ ∧ ↑f b = x✝

tactic: rintro ⟨a, b, h | h, rfl, rfl⟩
state_before: case Adj.h.h.a.mp
ι : Sort ?u.147638
V : Type u
W : Type v
G✝ : SimpleGraph V
G₁ G₂ : Subgraph G✝
a b : V
G : SimpleGraph V
G' : SimpleGraph W
f : G →g G'
H H' : Subgraph G
x✝¹ x✝ : W
⊢ (∃ a b, (Adj H a b ∨ Adj H' a b) ∧ ↑f a = x✝¹ ∧ ↑f b = x✝) →
    (∃ a b, Adj H a b ∧ ↑f a = x✝¹ ∧ ↑f b = x✝) ∨ ∃ a b, Adj H' a b ∧ ↑f a = x✝¹ ∧ ↑f b = x✝

tactic: exact Or.inl ⟨_, _, h, rfl, rfl⟩
state_before: case Adj.h.h.a.mp.intro.intro.intro.inl.intro
ι : Sort ?u.147638
V : Type u
W : Type v
G✝ : SimpleGraph V
G₁ G₂ : Subgraph G✝
a✝ b✝ : V
G : SimpleGraph V
G' : SimpleGraph W
f : G →g G'
H H' : Subgraph G
a b : V
h : Adj H a b
⊢ (∃ a_1 b_1, Adj H a_1 b_1 ∧ ↑f a_1 = ↑f a ∧ ↑f b_1 = ↑f b) ∨ ∃ a_1 b_1, Adj H' a_1 b_1 ∧ ↑f a_1 = ↑f a ∧ ↑f b_1 = ↑f b

tactic: exact Or.inr ⟨_, _, h, rfl, rfl⟩
state_before: case Adj.h.h.a.mp.intro.intro.intro.inr.intro
ι : Sort ?u.147638
V : Type u
W : Type v
G✝ : SimpleGraph V
G₁ G₂ : Subgraph G✝
a✝ b✝ : V
G : SimpleGraph V
G' : SimpleGraph W
f : G →g G'
H H' : Subgraph G
a b : V
h : Adj H' a b
⊢ (∃ a_1 b_1, Adj H a_1 b_1 ∧ ↑f a_1 = ↑f a ∧ ↑f b_1 = ↑f b) ∨ ∃ a_1 b_1, Adj H' a_1 b_1 ∧ ↑f a_1 = ↑f a ∧ ↑f b_1 = ↑f b

tactic: rintro (⟨a, b, h, rfl, rfl⟩ | ⟨a, b, h, rfl, rfl⟩)
state_before: case Adj.h.h.a.mpr
ι : Sort ?u.147638
V : Type u
W : Type v
G✝ : SimpleGraph V
G₁ G₂ : Subgraph G✝
a b : V
G : SimpleGraph V
G' : SimpleGraph W
f : G →g G'
H H' : Subgraph G
x✝¹ x✝ : W
⊢ ((∃ a b, Adj H a b ∧ ↑f a = x✝¹ ∧ ↑f b = x✝) ∨ ∃ a b, Adj H' a b ∧ ↑f a = x✝¹ ∧ ↑f b = x✝) →
    ∃ a b, (Adj H a b ∨ Adj H' a b) ∧ ↑f a = x✝¹ ∧ ↑f b = x✝

tactic: exact ⟨_, _, Or.inl h, rfl, rfl⟩
state_before: case Adj.h.h.a.mpr.inl.intro.intro.intro.intro
ι : Sort ?u.147638
V : Type u
W : Type v
G✝ : SimpleGraph V
G₁ G₂ : Subgraph G✝
a✝ b✝ : V
G : SimpleGraph V
G' : SimpleGraph W
f : G →g G'
H H' : Subgraph G
a b : V
h : Adj H a b
⊢ ∃ a_1 b_1, (Adj H a_1 b_1 ∨ Adj H' a_1 b_1) ∧ ↑f a_1 = ↑f a ∧ ↑f b_1 = ↑f b

tactic: exact ⟨_, _, Or.inr h, rfl, rfl⟩
state_before: case Adj.h.h.a.mpr.inr.intro.intro.intro.intro
ι : Sort ?u.147638
V : Type u
W : Type v
G✝ : SimpleGraph V
G₁ G₂ : Subgraph G✝
a✝ b✝ : V
G : SimpleGraph V
G' : SimpleGraph W
f : G →g G'
H H' : Subgraph G
a b : V
h : Adj H' a b
⊢ ∃ a_1 b_1, (Adj H a_1 b_1 ∨ Adj H' a_1 b_1) ∧ ↑f a_1 = ↑f a ∧ ↑f b_1 = ↑f b