Theorem: Finpartition.nonUniforms_bot
File: Mathlib/Combinatorics/SimpleGraph/Regularity/Uniform.lean

Proof steps:
state_before: α : Type u_1
𝕜 : Type u_2
inst✝² : LinearOrderedField 𝕜
inst✝¹ : DecidableEq α
A : Finset α
P : Finpartition A
G : SimpleGraph α
inst✝ : DecidableRel G.Adj
ε δ : 𝕜
u v : Finset α
hε : 0 < ε
⊢ ⊥.nonUniforms G ε = ∅
state_after: α : Type u_1
𝕜 : Type u_2
inst✝² : LinearOrderedField 𝕜
inst✝¹ : DecidableEq α
A : Finset α
P : Finpartition A
G : SimpleGraph α
inst✝ : DecidableRel G.Adj
ε δ : 𝕜
u v : Finset α
hε : 0 < ε
⊢ ∀ (x : Finset α × Finset α), x ∉ ⊥.nonUniforms G ε
tactic: rw [eq_empty_iff_forall_not_mem]
state_before: α : Type u_1
𝕜 : Type u_2
inst✝² : LinearOrderedField 𝕜
inst✝¹ : DecidableEq α
A : Finset α
P : Finpartition A
G : SimpleGraph α
inst✝ : DecidableRel G.Adj
ε δ : 𝕜
u v : Finset α
hε : 0 < ε
⊢ ∀ (x : Finset α × Finset α), x ∉ ⊥.nonUniforms G ε
state_after: case mk
α : Type u_1
𝕜 : Type u_2
inst✝² : LinearOrderedField 𝕜
inst✝¹ : DecidableEq α
A : Finset α
P : Finpartition A
G : SimpleGraph α
inst✝ : DecidableRel G.Adj
ε δ : 𝕜
u✝ v✝ : Finset α
hε : 0 < ε
u v : Finset α
⊢ (u, v) ∉ ⊥.nonUniforms G ε
tactic: rintro ⟨u, v⟩
state_before: case mk
α : Type u_1
𝕜 : Type u_2
inst✝² : LinearOrderedField 𝕜
inst✝¹ : DecidableEq α
A : Finset α
P : Finpartition A
G : SimpleGraph α
inst✝ : DecidableRel G.Adj
ε δ : 𝕜
u✝ v✝ : Finset α
hε : 0 < ε
u v : Finset α
⊢ (u, v) ∉ ⊥.nonUniforms G ε
state_after: case mk
α : Type u_1
𝕜 : Type u_2
inst✝² : LinearOrderedField 𝕜
inst✝¹ : DecidableEq α
A : Finset α
P : Finpartition A
G : SimpleGraph α
inst✝ : DecidableRel G.Adj
ε δ : 𝕜
u✝ v✝ : Finset α
hε : 0 < ε
u v : Finset α
⊢ ∀ (x : α),
    x ∈ A ∧ { toFun := singleton, inj' := ⋯ } x = u →
      ∀ (x : α), x ∈ A ∧ { toFun := singleton, inj' := ⋯ } x = v → u ≠ v → G.IsUniform ε u v
tactic: simp only [mk_mem_nonUniforms, parts_bot, mem_map, not_and,
    Classical.not_not, exists_imp]
state_before: case mk
α : Type u_1
𝕜 : Type u_2
inst✝² : LinearOrderedField 𝕜
inst✝¹ : DecidableEq α
A : Finset α
P : Finpartition A
G : SimpleGraph α
inst✝ : DecidableRel G.Adj
ε δ : 𝕜
u✝ v✝ : Finset α
hε : 0 < ε
u v : Finset α
⊢ ∀ (x : α),
    x ∈ A ∧ { toFun := singleton, inj' := ⋯ } x = u →
      ∀ (x : α), x ∈ A ∧ { toFun := singleton, inj' := ⋯ } x = v → u ≠ v → G.IsUniform ε u v
state_after: case mk
α : Type u_1
𝕜 : Type u_2
inst✝² : LinearOrderedField 𝕜
inst✝¹ : DecidableEq α
A : Finset α
P : Finpartition A
G : SimpleGraph α
inst✝ : DecidableRel G.Adj
ε δ : 𝕜
u✝ v✝ : Finset α
hε : 0 < ε
u v : Finset α
⊢ ∀ (x : α), x ∈ A ∧ {x} = u → ∀ (x : α), x ∈ A ∧ {x} = v → ¬u = v → G.IsUniform ε u v
tactic: dsimp
state_before: case mk
α : Type u_1
𝕜 : Type u_2
inst✝² : LinearOrderedField 𝕜
inst✝¹ : DecidableEq α
A : Finset α
P : Finpartition A
G : SimpleGraph α
inst✝ : DecidableRel G.Adj
ε δ : 𝕜
u✝ v✝ : Finset α
hε : 0 < ε
u v : Finset α
⊢ ∀ (x : α), x ∈ A ∧ {x} = u → ∀ (x : α), x ∈ A ∧ {x} = v → ¬u = v → G.IsUniform ε u v
state_after: case mk.intro.intro
α : Type u_1
𝕜 : Type u_2
inst✝² : LinearOrderedField 𝕜
inst✝¹ : DecidableEq α
A : Finset α
P : Finpartition A
G : SimpleGraph α
inst✝ : DecidableRel G.Adj
ε δ : 𝕜
u v : Finset α
hε : 0 < ε
x : α
left✝¹ : x ∈ A
y : α
left✝ : y ∈ A
a✝ : ¬{x} = {y}
⊢ G.IsUniform ε {x} {y}
tactic: rintro x ⟨_, rfl⟩ y ⟨_,rfl⟩ _
state_before: case mk.intro.intro
α : Type u_1
𝕜 : Type u_2
inst✝² : LinearOrderedField 𝕜
inst✝¹ : DecidableEq α
A : Finset α
P : Finpartition A
G : SimpleGraph α
inst✝ : DecidableRel G.Adj
ε δ : 𝕜
u v : Finset α
hε : 0 < ε
x : α
left✝¹ : x ∈ A
y : α
left✝ : y ∈ A
a✝ : ¬{x} = {y}
⊢ G.IsUniform ε {x} {y}
state_after: no goals
tactic: rwa [SimpleGraph.isUniform_singleton]