Skip to content

Commit 2647db4

Browse files
Update Zarankiewicz.lean
1 parent f5940b2 commit 2647db4

1 file changed

Lines changed: 11 additions & 7 deletions

File tree

Mathlib/Combinatorics/SimpleGraph/Extremal/Zarankiewicz.lean

Lines changed: 11 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@ public import Mathlib.Combinatorics.SimpleGraph.Bipartite
1010
public import Mathlib.Combinatorics.SimpleGraph.Extremal.Basic
1111
public import Mathlib.Combinatorics.SimpleGraph.Maps
1212

13-
import Mathlib.Data.Real.Archimedean
13+
import Mathlib.Algebra.Order.Archimedean.Real.Basic
1414
import Mathlib.Logic.Equiv.Fin.Basic
1515
import Mathlib.Tactic.Rify
1616

@@ -59,11 +59,15 @@ theorem zarankiewicz_of_fintypeCard_eq
5959
simp_rw [Finset.sup_le_iff, mem_filter, mem_univ, true_and]
6060
intro G ⟨h_le, h_free⟩
6161
simp_rw [Iso.card_edgeFinset_eq (.map e₁.toEquiv G)]
62-
replace h' : G.map e₁.toEquiv.toEmbedding ∈ univ.filter fun G ↦
62+
have h' : G.map e₁.toEquiv.toEmbedding ∈ univ.filter fun G ↦
6363
G ≤ completeBipartiteGraph _ _ ∧ K.Free G := by
64-
rw [mem_filter, map_le_iff_le_comap, ← free_congr e₂ (.map e₁.toEquiv G)]
65-
refine ⟨mem_univ _, fun _ _ hadj ↦ ?_, h_free⟩
66-
simpa only [← Embedding.map_adj_iff e₁.toEmbedding, ← comap_adj] using h_le hadj
64+
rw [mem_filter_univ, map_le_iff_le_comap]
65+
refine ⟨fun _ _ hadj ↦ ?_, ?_⟩
66+
· replace h_le := h_le hadj
67+
rw [← Embedding.map_adj_iff e₁.toEmbedding, ← comap_adj] at h_le
68+
exact h_le
69+
· rw [Function.Embedding.coeFn_mk, ← free_congr e₂ (.map e₁.toEquiv G)]
70+
exact h_free
6771
have h_le_sup := @le_sup _ _ _ _ _ (#·.edgeFinset) (G.map e₁.toEquiv.toEmbedding) h'
6872
simp_rw [← card_coe, mem_edgeFinset] at h_le_sup ⊢
6973
exact h_le_sup
@@ -77,7 +81,7 @@ theorem zarankiewicz_le_iff
7781
(completeBipartiteGraph α β).Free G → #G.edgeFinset ≤ x := by
7882
simp_rw [zarankiewicz_of_fintypeCard_eq hm hn hs ht,
7983
Finset.sup_le_iff, mem_filter, mem_univ, true_and]
80-
exact ⟨fun h _ _ h_le h_free ↦ by convert h _ ⟨h_le, h_free⟩,
84+
exact ⟨fun h _ _ h_le h_free ↦ (h _ ⟨h_le, h_free⟩).trans_eq' <| by convert rfl,
8185
fun h _ ⟨h_le, h_free⟩ ↦ by convert h h_le h_free⟩
8286

8387
/-- `zarankiewicz m n s t` is greater than `x` if and only if there
@@ -90,7 +94,7 @@ theorem lt_zarankiewicz_iff
9094
simp_rw [zarankiewicz_of_fintypeCard_eq hm hn hs ht,
9195
Finset.lt_sup_iff, mem_filter, mem_univ, true_and]
9296
exact ⟨fun ⟨_, ⟨h_le, h_free⟩, h_lt⟩ ↦ ⟨_, _, h_le, h_free, by convert h_lt⟩,
93-
fun ⟨_, _, ⟨h_le, h_free, h_lt⟩⟩ ↦ ⟨_, ⟨h_le, h_free⟩, by convert h_lt⟩⟩
97+
fun ⟨_, _, ⟨h_le, h_free, h_lt⟩⟩ ↦ ⟨_, ⟨h_le, h_free⟩, h_lt.trans_eq <| by convert rfl⟩⟩
9498

9599
variable {R : Type*} [Semiring R] [LinearOrder R] [FloorSemiring R]
96100

0 commit comments

Comments
 (0)