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

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

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

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

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

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

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

case Adj.h.h.a.mpr
ι : Sort u_1
V : Type u
W : Type v
G✝ : SimpleGraph V
G₁ G₂ : G✝.Subgraph
a b : V
G : SimpleGraph V
G' : SimpleGraph W
f : G →g G'
H H' : G.Subgraph
x✝¹ x✝ : W
⊢ ((∃ a b, H.Adj a b ∧ f a = x✝¹ ∧ f b = x✝) ∨ ∃ a b, H'.Adj a b ∧ f a = x✝¹ ∧ f b = x✝) →
    ∃ a b, (H.Adj a b ∨ H'.Adj 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_1
V : Type u
W : Type v
G✝ : SimpleGraph V
G₁ G₂ : G✝.Subgraph
a b : V
G : SimpleGraph V
G' : SimpleGraph W
f : G →g G'
H H' : G.Subgraph
x✝¹ x✝ : W
⊢ (∃ a b, (H.Adj a b ∨ H'.Adj a b) ∧ f a = x✝¹ ∧ f b = x✝) →
    (∃ a b, H.Adj a b ∧ f a = x✝¹ ∧ f b = x✝) ∨ ∃ a b, H'.Adj a b ∧ f a = x✝¹ ∧ f b = x✝
state_after: case Adj.h.h.a.mp.intro.intro.intro.inl.intro
ι : Sort u_1
V : Type u
W : Type v
G✝ : SimpleGraph V
G₁ G₂ : G✝.Subgraph
a✝ b✝ : V
G : SimpleGraph V
G' : SimpleGraph W
f : G →g G'
H H' : G.Subgraph
a b : V
h : H.Adj a b
⊢ (∃ a_1 b_1, H.Adj a_1 b_1 ∧ f a_1 = f a ∧ f b_1 = f b) ∨ ∃ a_1 b_1, H'.Adj a_1 b_1 ∧ f a_1 = f a ∧ f b_1 = f b

case Adj.h.h.a.mp.intro.intro.intro.inr.intro
ι : Sort u_1
V : Type u
W : Type v
G✝ : SimpleGraph V
G₁ G₂ : G✝.Subgraph
a✝ b✝ : V
G : SimpleGraph V
G' : SimpleGraph W
f : G →g G'
H H' : G.Subgraph
a b : V
h : H'.Adj a b
⊢ (∃ a_1 b_1, H.Adj a_1 b_1 ∧ f a_1 = f a ∧ f b_1 = f b) ∨ ∃ a_1 b_1, H'.Adj a_1 b_1 ∧ f a_1 = f a ∧ f b_1 = f b

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

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

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

case Adj.h.h.a.mpr.inr.intro.intro.intro.intro
ι : Sort u_1
V : Type u
W : Type v
G✝ : SimpleGraph V
G₁ G₂ : G✝.Subgraph
a✝ b✝ : V
G : SimpleGraph V
G' : SimpleGraph W
f : G →g G'
H H' : G.Subgraph
a b : V
h : H'.Adj a b
⊢ ∃ a_1 b_1, (H.Adj a_1 b_1 ∨ H'.Adj a_1 b_1) ∧ f a_1 = f a ∧ f b_1 = f b

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

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