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

tactic: intro H H' h
state_before: ι : Sort u_1
V : Type u
W : Type v
G : SimpleGraph V
G₁ G₂ : G.Subgraph
a b : V
G' : SimpleGraph W
f : G →g G'
⊢ Monotone (Subgraph.map f)
state_after: ι : Sort u_1
V : Type u
W : Type v
G : SimpleGraph V
G₁ G₂ : G.Subgraph
a b : V
G' : SimpleGraph W
f : G →g G'
H H' : G.Subgraph
h : H ≤ H'
⊢ Subgraph.map f H ≤ Subgraph.map f H'

tactic: constructor
state_before: ι : Sort u_1
V : Type u
W : Type v
G : SimpleGraph V
G₁ G₂ : G.Subgraph
a b : V
G' : SimpleGraph W
f : G →g G'
H H' : G.Subgraph
h : H ≤ H'
⊢ Subgraph.map f H ≤ Subgraph.map f H'
state_after: case left
ι : Sort u_1
V : Type u
W : Type v
G : SimpleGraph V
G₁ G₂ : G.Subgraph
a b : V
G' : SimpleGraph W
f : G →g G'
H H' : G.Subgraph
h : H ≤ H'
⊢ (Subgraph.map f H).verts ⊆ (Subgraph.map f H').verts

case right
ι : Sort u_1
V : Type u
W : Type v
G : SimpleGraph V
G₁ G₂ : G.Subgraph
a b : V
G' : SimpleGraph W
f : G →g G'
H H' : G.Subgraph
h : H ≤ H'
⊢ ∀ ⦃v w : W⦄, (Subgraph.map f H).Adj v w → (Subgraph.map f H').Adj v w

tactic: intro
state_before: case left
ι : Sort u_1
V : Type u
W : Type v
G : SimpleGraph V
G₁ G₂ : G.Subgraph
a b : V
G' : SimpleGraph W
f : G →g G'
H H' : G.Subgraph
h : H ≤ H'
⊢ (Subgraph.map f H).verts ⊆ (Subgraph.map f H').verts
state_after: case left
ι : Sort u_1
V : Type u
W : Type v
G : SimpleGraph V
G₁ G₂ : G.Subgraph
a b : V
G' : SimpleGraph W
f : G →g G'
H H' : G.Subgraph
h : H ≤ H'
a✝ : W
⊢ a✝ ∈ (Subgraph.map f H).verts → a✝ ∈ (Subgraph.map f H').verts

tactic: simp only [map_verts, Set.mem_image, forall_exists_index, and_imp]
state_before: case left
ι : Sort u_1
V : Type u
W : Type v
G : SimpleGraph V
G₁ G₂ : G.Subgraph
a b : V
G' : SimpleGraph W
f : G →g G'
H H' : G.Subgraph
h : H ≤ H'
a✝ : W
⊢ a✝ ∈ (Subgraph.map f H).verts → a✝ ∈ (Subgraph.map f H').verts
state_after: case left
ι : Sort u_1
V : Type u
W : Type v
G : SimpleGraph V
G₁ G₂ : G.Subgraph
a b : V
G' : SimpleGraph W
f : G →g G'
H H' : G.Subgraph
h : H ≤ H'
a✝ : W
⊢ ∀ x ∈ H.verts, f x = a✝ → ∃ x ∈ H'.verts, f x = a✝

tactic: rintro v hv rfl
state_before: case left
ι : Sort u_1
V : Type u
W : Type v
G : SimpleGraph V
G₁ G₂ : G.Subgraph
a b : V
G' : SimpleGraph W
f : G →g G'
H H' : G.Subgraph
h : H ≤ H'
a✝ : W
⊢ ∀ x ∈ H.verts, f x = a✝ → ∃ x ∈ H'.verts, f x = a✝
state_after: case left
ι : Sort u_1
V : Type u
W : Type v
G : SimpleGraph V
G₁ G₂ : G.Subgraph
a b : V
G' : SimpleGraph W
f : G →g G'
H H' : G.Subgraph
h : H ≤ H'
v : V
hv : v ∈ H.verts
⊢ ∃ x ∈ H'.verts, f x = f v

tactic: exact ⟨_, h.1 hv, rfl⟩
state_before: case left
ι : Sort u_1
V : Type u
W : Type v
G : SimpleGraph V
G₁ G₂ : G.Subgraph
a b : V
G' : SimpleGraph W
f : G →g G'
H H' : G.Subgraph
h : H ≤ H'
v : V
hv : v ∈ H.verts
⊢ ∃ x ∈ H'.verts, f x = f v
state_after: no goals

tactic: rintro _ _ ⟨u, v, ha, rfl, rfl⟩
state_before: case right
ι : Sort u_1
V : Type u
W : Type v
G : SimpleGraph V
G₁ G₂ : G.Subgraph
a b : V
G' : SimpleGraph W
f : G →g G'
H H' : G.Subgraph
h : H ≤ H'
⊢ ∀ ⦃v w : W⦄, (Subgraph.map f H).Adj v w → (Subgraph.map f H').Adj v w
state_after: case right.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 W
f : G →g G'
H H' : G.Subgraph
h : H ≤ H'
u v : V
ha : H.Adj u v
⊢ (Subgraph.map f H').Adj (f u) (f v)

tactic: exact ⟨_, _, h.2 ha, rfl, rfl⟩
state_before: case right.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 W
f : G →g G'
H H' : G.Subgraph
h : H ≤ H'
u v : V
ha : H.Adj u v
⊢ (Subgraph.map f H').Adj (f u) (f v)
state_after: no goals