@@ -10,7 +10,7 @@ public import Mathlib.Combinatorics.SimpleGraph.Bipartite
1010public import Mathlib.Combinatorics.SimpleGraph.Extremal.Basic
1111public import Mathlib.Combinatorics.SimpleGraph.Maps
1212
13- import Mathlib.Data.Real .Archimedean
13+ import Mathlib.Algebra.Order .Archimedean.Real.Basic
1414import Mathlib.Logic.Equiv.Fin.Basic
1515import 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
9599variable {R : Type *} [Semiring R] [LinearOrder R] [FloorSemiring R]
96100
0 commit comments