<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://michaelnielsen.org/polymath/index.php?action=history&amp;feed=atom&amp;title=Triangle_removal_lemma</id>
	<title>Triangle removal lemma - Revision history</title>
	<link rel="self" type="application/atom+xml" href="https://michaelnielsen.org/polymath/index.php?action=history&amp;feed=atom&amp;title=Triangle_removal_lemma"/>
	<link rel="alternate" type="text/html" href="https://michaelnielsen.org/polymath/index.php?title=Triangle_removal_lemma&amp;action=history"/>
	<updated>2026-07-29T16:38:46Z</updated>
	<subtitle>Revision history for this page on the wiki</subtitle>
	<generator>MediaWiki 1.42.3</generator>
	<entry>
		<id>https://michaelnielsen.org/polymath/index.php?title=Triangle_removal_lemma&amp;diff=155&amp;oldid=prev</id>
		<title>Gowers at 23:46, 14 February 2009</title>
		<link rel="alternate" type="text/html" href="https://michaelnielsen.org/polymath/index.php?title=Triangle_removal_lemma&amp;diff=155&amp;oldid=prev"/>
		<updated>2009-02-14T23:46:14Z</updated>

		<summary type="html">&lt;p&gt;&lt;/p&gt;
&lt;table style=&quot;background-color: #fff; color: #202122;&quot; data-mw=&quot;interface&quot;&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;en&quot;&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;← Older revision&lt;/td&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;Revision as of 16:46, 14 February 2009&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l1&quot;&gt;Line 1:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 1:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&#039;&#039;&#039;Triangle removal lemma&#039;&#039;&#039;: If a graph on n vertices contains &amp;lt;math&amp;gt;o(n^3)&amp;lt;/math&amp;gt; triangles, then all triangles can be deleted by removing at most &amp;lt;math&amp;gt;o(n^2)&amp;lt;/math&amp;gt; edges.&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&#039;&#039;&#039;Triangle removal lemma&#039;&#039;&#039;: If a graph on &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;&amp;lt;math&amp;gt;&lt;/ins&gt;n&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;&amp;lt;/math&amp;gt; &lt;/ins&gt;vertices contains &amp;lt;math&amp;gt;o(n^3)&amp;lt;/math&amp;gt; triangles, then all triangles can be deleted by removing at most &amp;lt;math&amp;gt;o(n^2)&amp;lt;/math&amp;gt; edges&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;. That is, for every &amp;lt;math&amp;gt;a&amp;gt;0&amp;lt;/math&amp;gt; there exists &amp;lt;math&amp;gt;c&amp;gt;0&amp;lt;/math&amp;gt; such that if &amp;lt;math&amp;gt;G&amp;lt;/math&amp;gt; is any graph with &amp;lt;math&amp;gt;n&amp;lt;/math&amp;gt; vertices and at most &amp;lt;math&amp;gt;cn^3&amp;lt;/math&amp;gt; triangles, then it is possible to remove at most &amp;lt;math&amp;gt;an^2&amp;lt;/math&amp;gt; edges and end up with a graph that is triangle free&lt;/ins&gt;.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;This lemma was first proven by Ruzsa and Szemerédi, who observed that it implies [[Roth&amp;#039;s theorem]].  Solymosi later observed that it also implies the [[corners theorem]].&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;This lemma was first proven by Ruzsa and Szemerédi, who observed that it implies [[Roth&amp;#039;s theorem]].  Solymosi later observed that it also implies the [[corners theorem]].&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;[&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;Discussion about how &lt;/del&gt;one &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;might hope to use &lt;/del&gt;the triangle removal lemma &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;for &lt;/del&gt;DHJ &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;needed here&lt;/del&gt;.]&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;===Deducing the corners theorem===&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt; &lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;Let &amp;lt;math&amp;gt;A&amp;lt;/math&amp;gt; be a subset of &amp;lt;math&amp;gt;[n]^2&amp;lt;/math&amp;gt; of density &amp;lt;math&amp;gt;\delta&amp;lt;/math&amp;gt;. Define a tripartite graph &amp;lt;math&amp;gt;G&amp;lt;/math&amp;gt; by taking its vertex sets to be &amp;lt;math&amp;gt;X=Y=[n]&amp;lt;/math&amp;gt; and &amp;lt;math&amp;gt;Z=[2n]&amp;lt;/math&amp;gt;. Join &amp;lt;math&amp;gt;x\in X&amp;lt;/math&amp;gt; to &amp;lt;math&amp;gt;y\in Y&amp;lt;/math&amp;gt; if and only if &amp;lt;math&amp;gt;(x,y)\in A&amp;lt;/math&amp;gt;. Join &amp;lt;math&amp;gt;x\in X&amp;lt;/math&amp;gt; to &amp;lt;math&amp;gt;z\in Z&amp;lt;/math&amp;gt; if and only if &amp;lt;math&amp;gt;(x,z-x)\in A&amp;lt;/math&amp;gt;. Join &amp;lt;math&amp;gt;y\in Y&amp;lt;/math&amp;gt; to &amp;lt;math&amp;gt;z\in Z&amp;lt;/math&amp;gt; if and only if &amp;lt;math&amp;gt;(z-y,y)\in A&amp;lt;/math&amp;gt;. (One thinks of &amp;lt;math&amp;gt;X&amp;lt;/math&amp;gt; as the set of vertical lines through &amp;lt;math&amp;gt;&lt;/ins&gt;[&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;n]^2&amp;lt;/math&amp;gt;, &amp;lt;math&amp;gt;Y&amp;lt;/math&amp;gt; as the set of horizontal lines, and &amp;lt;math&amp;gt;Z&amp;lt;/math&amp;gt; as the set of lines of gradient &amp;lt;math&amp;gt;-1&amp;lt;/math&amp;gt;. Two vertices are joined if the corresponding lines intersect at a point in &amp;lt;math&amp;gt;A&amp;lt;/math&amp;gt;.) &lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt; &lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;Now suppose that we have a triangle &amp;lt;math&amp;gt;xyz&amp;lt;/math&amp;gt; in the graph &amp;lt;math&amp;gt;G&amp;lt;/math&amp;gt;. Then &amp;lt;math&amp;gt;(x,y), (x,y+d)&amp;lt;/math&amp;gt; and &amp;lt;math&amp;gt;(x+d,y)&amp;lt;/math&amp;gt; belong to &amp;lt;math&amp;gt;A&amp;lt;/math&amp;gt;, where &amp;lt;math&amp;gt;d=z-x-y&amp;lt;/math&amp;gt;. This gives us a corner unless &amp;lt;math&amp;gt;x+y=z&amp;lt;/math&amp;gt;. If &amp;lt;math&amp;gt;x+y=z&amp;lt;/math&amp;gt; then the three lines corresponding to &amp;lt;math&amp;gt;x, y&amp;lt;/math&amp;gt; and &amp;lt;math&amp;gt;z&amp;lt;/math&amp;gt; all go through the same point. Let us call this a &#039;&#039;degenerate&#039;&#039; triangle in &amp;lt;math&amp;gt;G&amp;lt;/math&amp;gt;.&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt; &lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;It is easy to check that the degenerate triangles are edge disjoint. Moreover, for each point of &amp;lt;math&amp;gt;A&amp;lt;/math&amp;gt; there is a degenerate triangle. Therefore, &lt;/ins&gt;one &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;cannot remove fewer than &amp;lt;math&amp;gt;\delta n^2&amp;lt;/math&amp;gt; edges and end up with no triangles. By the triangle removal lemma, it follows that there are at least &amp;lt;math&amp;gt;c(\delta)n^3&amp;lt;/math&amp;gt; triangles in &lt;/ins&gt;the &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;graph &amp;lt;math&amp;gt;G&amp;lt;/math&amp;gt;. If &amp;lt;math&amp;gt;n&amp;lt;/math&amp;gt; is sufficiently large, this implies that there is at least one non-degenerate &lt;/ins&gt;triangle &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;in &amp;lt;math&amp;gt;G&amp;lt;/math&amp;gt;, and hence a corner in &amp;lt;math&amp;gt;A&amp;lt;/math&amp;gt;.&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt; &lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;===A triangle-&lt;/ins&gt;removal lemma &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;that would imply &lt;/ins&gt;DHJ&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;===&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt; &lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;Let &amp;lt;math&amp;gt;A&amp;lt;/math&amp;gt; be a subset of &amp;lt;math&amp;gt;[3]^n&amp;lt;/math&amp;gt;. Then we can define a tripartite graph as follows&lt;/ins&gt;. &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;Its three vertex sets &amp;lt;math&amp;gt;X, Y&amp;lt;/math&amp;gt; and &amp;lt;math&amp;gt;Z&amp;lt;/math&amp;gt; are all copies of the power set of &amp;lt;math&amp;gt;[n&lt;/ins&gt;]&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;&amp;lt;/math&amp;gt;. We join &amp;lt;math&amp;gt;U\in X&amp;lt;/math&amp;gt; to &amp;lt;math&amp;gt;V\in Y&amp;lt;/math&amp;gt; if &amp;lt;math&amp;gt;U&amp;lt;/math&amp;gt; and &amp;lt;math&amp;gt;V&amp;lt;/math&amp;gt; are disjoint and the sequence that is 1 in &amp;lt;math&amp;gt;U&amp;lt;/math&amp;gt;, 2 in &amp;lt;math&amp;gt;V&amp;lt;/math&amp;gt; and 3 in &amp;lt;math&amp;gt;[n]\setminus(U\cup V)&amp;lt;/math&amp;gt; belongs to &amp;lt;math&amp;gt;A&amp;lt;/math&amp;gt;. We join &amp;lt;math&amp;gt;V\in Y&amp;lt;/math&amp;gt; to &amp;lt;math&amp;gt;W\in Z&amp;lt;/math&amp;gt; if the sequence that is 2 on &amp;lt;math&amp;gt;V&amp;lt;/math&amp;gt; and 3 on &amp;lt;math&amp;gt;W&amp;lt;/math&amp;gt; and 1 elsewhere belongs to &amp;lt;math&amp;gt;A&amp;lt;/math&amp;gt;. And we join &amp;lt;math&amp;gt;U\in X&amp;lt;/math&amp;gt; to &amp;lt;math&amp;gt;W\in Z&amp;lt;/math&amp;gt; if the sequence that is 1 on &amp;lt;math&amp;gt;U&amp;lt;/math&amp;gt; and 3 on &amp;lt;math&amp;gt;W&amp;lt;/math&amp;gt; and 2 elsewhere belongs to &amp;lt;math&amp;gt;A&amp;lt;/math&amp;gt;.&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt; &lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;Suppose now that we have a triangle &amp;lt;math&amp;gt;U,V,W&amp;lt;/math&amp;gt; in this graph and let &amp;lt;math&amp;gt;D&amp;lt;/math&amp;gt; be the complement of &amp;lt;math&amp;gt;U\cup V\cup W&amp;lt;/math&amp;gt;. Then the three sequences with 1-set, 2-set and 3-set equal to &amp;lt;math&amp;gt;(U,V,W\cup D), (U\cup D,V,W)&amp;lt;/math&amp;gt; and &amp;lt;math&amp;gt;(U,V\cup D,W)&amp;lt;/math&amp;gt; all belong to &amp;lt;math&amp;gt;A&amp;lt;/math&amp;gt;. This gives us a combinatorial line unless &amp;lt;math&amp;gt;D=\emptyset&amp;lt;/math&amp;gt;. Let us call such triangles &#039;&#039;degenerate&#039;&#039;.&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt; &lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;This argument shows that if DHJ is false then there is a tripartite graph with degenerate triangles only, and its three parts are all dense subgraphs of the graph where you join two sets if they are disjoint. We cannot remove all degenerate triangles without removing &amp;lt;math&amp;gt;|A|&amp;lt;/math&amp;gt; edges. If this is a contradiction, then DHJ is proved.&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</summary>
		<author><name>Gowers</name></author>
	</entry>
	<entry>
		<id>https://michaelnielsen.org/polymath/index.php?title=Triangle_removal_lemma&amp;diff=110&amp;oldid=prev</id>
		<title>Teorth: New page: &#039;&#039;&#039;Triangle removal lemma&#039;&#039;&#039;: If a graph on n vertices contains &lt;math&gt;o(n^3)&lt;/math&gt; triangles, then all triangles can be deleted by removing at most &lt;math&gt;o(n^2)&lt;/math&gt; edges.  This lemma ...</title>
		<link rel="alternate" type="text/html" href="https://michaelnielsen.org/polymath/index.php?title=Triangle_removal_lemma&amp;diff=110&amp;oldid=prev"/>
		<updated>2009-02-14T16:49:31Z</updated>

		<summary type="html">&lt;p&gt;New page: &amp;#039;&amp;#039;&amp;#039;Triangle removal lemma&amp;#039;&amp;#039;&amp;#039;: If a graph on n vertices contains &amp;lt;math&amp;gt;o(n^3)&amp;lt;/math&amp;gt; triangles, then all triangles can be deleted by removing at most &amp;lt;math&amp;gt;o(n^2)&amp;lt;/math&amp;gt; edges.  This lemma ...&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;&amp;#039;&amp;#039;&amp;#039;Triangle removal lemma&amp;#039;&amp;#039;&amp;#039;: If a graph on n vertices contains &amp;lt;math&amp;gt;o(n^3)&amp;lt;/math&amp;gt; triangles, then all triangles can be deleted by removing at most &amp;lt;math&amp;gt;o(n^2)&amp;lt;/math&amp;gt; edges.&lt;br /&gt;
&lt;br /&gt;
This lemma was first proven by Ruzsa and Szemerédi, who observed that it implies [[Roth&amp;#039;s theorem]].  Solymosi later observed that it also implies the [[corners theorem]].&lt;br /&gt;
&lt;br /&gt;
[Discussion about how one might hope to use the triangle removal lemma for DHJ needed here.]&lt;/div&gt;</summary>
		<author><name>Teorth</name></author>
	</entry>
</feed>