Journal of Graph Algorithms and Applications Planar Graphs as Vpg-graphs

A graph is B k-VPG when it has an intersection representation by paths in a rectangular grid with at most k bends (turns). It is known that all planar graphs are B3-VPG and this was conjectured to be tight. We disprove this conjecture by showing that all planar graphs are B2-VPG. We also show that the 4-connected planar graphs constitute a subclass of the intersection graphs of Z-shapes (i.e., a special case of B2-VPG). Additionally, we demonstrate that a B2-VPG representation of a planar graph can be constructed in O(n 3/2) time. We further show that the triangle-free planar graphs are contact graphs of: L-shapes, Γ-shapes, vertical segments, and horizontal segments (i.e., a special case of contact B1-VPG). From this proof we obtain a new proof that bipartite planar graphs are a subclass of 2-DIR.


Introduction
Planar graphs have a long history of being described as geometric intersection (and contact) graphs; i.e., for a planar graph G, each vertex can be mapped to a geometric object O v such that (u, v) is an edge of G iff O v and O u intersect. 1 Two well-known results of this variety are that: every planar graph is an intersection graph of curves in the plane [7] (1978), and every planar graph is a contact graph of discs in the plane [19] (1936).
In this paper we consider representations of planar graphs as the intersection and contact graphs of restricted families of curves in the plane. The most general class of intersection graphs of curves in the plane is the class of string graphs. Formally, a graph G = (V, E) is STRING iff each v ∈ V can be associated with a curve c v in the plane such that for every pair u, v ∈ V , (u, v) ∈ E iff c v and c u intersect. STRING was first considered regarding thin film RC-circuits [23].
Perhaps the most significant result describing planar graphs as intersection graphs of curves is the recent proof of Scheinerman's conjecture that all planar graphs are segment graphs (SEG); i.e., the intersection graphs of line segments in the plane. Scheinerman conjectured this in his Ph.D. thesis (1984) [22], and it was proven in 2009 by Chalopin and Gonçalves [6]. Leading up to this result were several partial results. Bipartite planar graphs were the first subclass shown to be intersection graphs of line segments having two distinct slopes (2-DIR) [10,3]. This was followed by triangle-free planar graphs being shown to be the intersection graphs of line segments having three distinct slopes (3-DIR) [4]. It has also been proven that segment graphs include every planar graph that can be 4-colored so that no separating cycle uses all four colors [9]. Planar graphs were also shown to be representable by curves in the plane where each pair of curves intersect in at most one point (i.e., only "simple" intersections are allowed) [5] -the proof of Scheinerman's conjecture was a strengthening of this result. The early work on this topic led West to conjecture that every planar graph is an intersection graph of line segments in four directions (4-DIR) [27].
Segment graphs have been generalized to k-segment graphs (k-SEG) where each vertex is represented by a piecewise linear curve consisting of at most k segments [21]. Interestingly, a very recent result is that all planar graphs are contact 2-SEG [1]. In this context one may now consider k-SEG where the segments of the piecewise linear curves have a bounded number of slopes. Recently, Asinowski et al. [2] introduced the class of vertex intersection graphs of paths in a rectangular grid (VPG); equivalently, VPG is the set of intersection graphs of axis-aligned rectilinear curves in the plane (or k≥1 k-SEG where each segment is either vertical or horizontal). They prove that VPG and STRING are the same graph class (this was known previously as a folklore result). Also, they focus on the subclasses which are obtained when each path in the representation has at most k bends (turns) and they refer to such a subclass as B k -VPG (i.e., this is (k + 1)-SEG with two slopes). Several relationships between existing graph classes and the B k -VPG classes were observed. For example, every planar graph is B 3 -VPG (this was also conjectured to be tight) and every circle graph is B 1 -VPG. In other words, planar graphs are 4-SEG where the segments only have two distinct slopes. This result follows from the fact that every planar graph has a representation by a T-contact system [11] and each T-shape can be simulated by a rectilinear curve with three bends.
In this paper we present the following results. Our main contribution is that every planar graph is B 2 -VPG (disproving the conjecture of Asinowski et al. [2]). This result consists of the following interesting components. We first demonstrate that every 4connected planar graph is the intersection graph of Z-shapes (i.e., a special case of B 2 -VPG). This result is extended to show that every planar graph is B 2 -VPG (this extension involves the additional use of C-shapes -i.e., it uses the full capability of B 2 -VPG) and that a B 2 -VPG representation of a planar graph can be constructed in O(n 3/2 ) time. The secondary contribution of this paper is that every triangle-free planar graph is a contact graph of: L-shapes, Γ-shapes, vertical segments, and horizontal segments (i.e., it is a specialized contact B 1 -VPG graph). We show how to construct such a contact representation in linear time. Moreover, if the input is bipartite then each path is a horizontal or vertical segment. In particular, we obtain a new proof that planar bipartite graphs are 2-DIR. Interestingly, the class of contact segment graphs has recently been shown to be the same as the class of contact B 1 -VPG graphs [18].

Preliminaries
A grid path (a path in the plane square grid) consists of horizontal and vertical segments that appear alternatingly along the path. Every horizontal segment has a left endpoint and a right endpoint, and every vertical segment an upper and lower endpoint in the obvious meaning. A path is a k-bend path if it has k bends, i.e., k points that are the endpoint of a horizontal and a vertical segment. Equivalently, k-bend paths are those with precisely k + 1 segments.
A B k -VPG representation of a graph G is a set of grid paths (one for each vertex) with at most k bends such that two paths intersect if and only if the corresponding vertices are adjacent in G. For every vertex v we denote the corresponding grid path in a given B k -VPG representation by v. Consequently a B k -VPG representation of a graph G is denoted by G. A graph is called a B k -VPG graph if it has a B k -VPG representation.

Planar Graphs Are B 2 -VPG Graphs
In this section we show that every planar graph G has a B 2 -VPG representation. We fix any plane embedding of G and assume w.l.o.g. that G is a maximally planar graph, i.e., all faces are triangular. To achieve this we may put a dummy vertex into each face of G and triangulate it. In a B 2 -VPG representation of this graph the paths corresponding to dummy vertices may be removed to obtain a B 2 -VPG representation of G.
Our construction of the B 2 -VPG representation of the maximally planar graph G relies on two well-known concepts. Using the separation tree T G of G, we show in Section 3.1 how to divide G into its 4-connected maximally planar subgraphs. Each such subgraph, if we remove one outer edge, has a rectangular dual, i.e., a contact representation with axis-aligned rectangles. In Section 3.2 we show how to construct a B 2 -VPG representation from a rectangular dual. In particular we will convert each rectangle to a Z-shaped path by choosing "part" of the top of it, the complementary "part" of the bottom of it and connecting them via a vertical segment. In Section 3.3 we put the obtained representations of all 4-connected maximally planar subgraphs of G together to obtain a B 2 -VPG representation of our graph. The same method has been used to prove that every planar graph is a B 4 -EPG graph, where EPG stands for edgeintersecting paths in the grid [16].

Separation Tree
A triangle Δ in a graph is a triple of pairwise adjacent vertices. We say that a triangle is separating when its removal disconnects the graph. Also, in a maximally planar graph G a triangle Δ is said to be non-empty when at least one vertex of G lies inside the bounded region inscribed by Δ. Notice that every separating triangle is non-empty. In fact, each non-empty triangle is either the outer triangle or separating.
We say that a triangle Δ 1 is contained in a triangle Δ 2 , denoted by Δ 1 Δ 2 , if the bounded region enclosed by Δ 1 is strictly contained in the one enclosed by Δ 2 . For example, the outer triangle contains every triangle in the graph (except itself), and no triangle in G is contained in an inner facial triangle.

Definition 1 ([24]
). The separation tree of G is the rooted tree T G whose vertices are the non-empty triangles in G, with Δ being a descendant of Δ if and only if Δ is contained in Δ .
The separation tree has been introduced by Sun and Sarrafzadeh [24]. The root of T G is the outer triangle. For every non-empty triangle Δ we define H Δ to be the unique 4-connected maximally planar subgraph of G that contains Δ and at least one vertex of G that lies inside Δ. Equivalently, H Δ is the union of Δ and all triangles contained in Δ but not contained in any triangle that itself is contained in Δ; i.e., H Δ = Δ ∪ Δ Δ and Δ :Δ Δ Δ Δ .

Rectangular Duals
Throughout this section let H be a triangulation of the 4-gon, i.e., H is a plane graph with quadrangular outer face and solely triangular inner faces. Such graphs are also known as irreducible triangulations of the 4-gon. We denote the outer vertices by T, R, B, L in this clockwise order around the outer face.

Definition 2. A rectangular dual of H is a set of |V (H)| non-overlapping axis-aligned rectangles in the plane (one for each vertex) such that every edge of H corresponds to a non-trivial overlap of the boundaries of the corresponding rectangles.
The rectangle corresponding to a vertex v is denoted by R(v). In every rectangular dual the rectangles R(T ), R(B), R(L) and R(R) that correspond to the outer vertices of H inscribe a rectangular hole that contains all the remaining rectangles. We assume w.l.o.g. that R(T ), R(B), R(L) and R(R) are laid out as in Fig. 1 a), i.e., the bottom side of R(T ) forms the top side of the hole, the left side of R(R) forms the right side of the hole, and so on.
Rectangular duals have been considered several times independently in the literature [26,20,25]. In particular, the following theorem is well-known.

Theorem 2. A triangulation of a 4-gon admits a rectangular dual if and only if it is 4-connected, i.e., contains no non-empty triangle.
We define here transversal structures as introduced by Fusy [12], which were independently considered by He [15] under the name regular edge labelings. For a nice overview about regular edge labelings and their relations to geometric structures we refer to the introductory article by D. Eppstein [8].

Definition 3. A transversal structure of a triangulation H with outer vertices T, L, B, R is a coloring and orientation of the inner edges of H with colors red and blue such that:
(i) All edges at T are incoming and blue, all edges at B are outgoing and blue, all edges at R are incoming and red, all edges at L are outgoing and red. (ii) Around each inner vertex v the edges appear in the following clockwise cyclic order: One or more incoming red edges, one or more outgoing blue edges, one or more outgoing red edges, one or more incoming blue edges.
We denote a transversal structure by (E r , E b ), where E r and E b is the set of red and blue edges, respectively.
We obtain a transversal structure from any rectangular dual of H as follows. If the right side of a rectangle R(u) has a non-trivial overlap with the left side of some rectangle R(v), then we color the edge {u, v} in H red and orient it from u to v. Similarly, if the topside of R(u) overlaps with the bottom side of R(v) then {u, v} is colored blue and oriented from u to v. Fig. 1 a) depicts the transversal structure obtained from the rectangular dual). It is known that every transversal structure of H arises from a rectangular dual of H in this way.

Theorem 3 ([17]). Every transversal structure maps to a rectangular dual.
If we identify combinatorially equivalent rectangular duals, i.e., those in which any two rectangles touch with the same sides in both duals, then Theorem 3 actually states that rectangular duals and transversal structures are in bijection. Transversal structures (and hence combinatorially equivalent rectangular duals) can be endowed with a distributive lattice structure [13]. For our purposes, we describe the minimal transversal structure of H; i.e., the minimum element in the distributive lattice of all transversal structures of H.

Lemma 1 ([13]). Consider four vertices
Moreover, the minimal transversal structure can be computed in linear time.
Fig. 1 d) shows the two configurations described in Lemma 1 that do not appear in the minimal transversal structure. The rectangular dual that corresponds to the minimal transversal structure is also called the minimal rectangular dual. Fig. 1 depicts a rectangular dual and the corresponding minimal rectangular dual. We remark that if, besides these two, a third certain configuration is forbidden in the transversal structure, then this already characterizes the minimal transversal structure [13]. Let us call a rectangular dual non-degenerate if the top sides of two rectangles lie on the same horizontal line only if there is a rectangle whose bottom side overlaps with both of them. It is not difficult to see that there always exists a non-degenerate minimal rectangular dual.
Given a rectangular dual and any inner vertex v we consider the rightmost rectangle overlapping the top side of R(v). We denote the corresponding vertex of H by v • . In other words, (v, v • ) is the outgoing blue edge at v whose clockwise next edge is red (and outgoing). Similarly, R(v • ) is the bottommost rectangle overlapping the right side of R(v), i.e., (v, v • ) is the outgoing red edge at v whose clockwise next edge is blue (and incoming). Moreover, , v)) is the incoming blue (red) edge at v whose clockwise next edge is red (blue). Note that if the transversal structure is minimal then every inner edge of H can be written as From H and its fixed transversal structure (E r , E b ) we define a new graph H * , called the split graph, and its transversal structure (E * r , E * b ) as follows. • There is a red edge See Fig. 1 b) for an example of a split graph and its rectangular dual. Note that defining R(v) := R(v 1 )∪R(v 2 ) for every vertex v we obtain the transversal structure we started with. . 1. a) A rectangular dual with its transversal structure overlaid on it; b) the split minimal rectangular dual of (a); c) the Z-shapes arising from the split graph; and d) two configurations that do not appear in the minimal transversal structure.

VPG-Representation
We want to construct a B 2 -VPG representation for every maximally planar graph G.
To this end we split G into its 4-connected maximally planar subgraphs. The outer face Δ of such a subgraph H Δ is either the outer face of G or an inner face of H Δ , where Δ is the father of Δ in the separation tree. We start by representing the outer face of G as depicted in Fig. 2. The highlighted area in the figure is called the frame for H Δ . Formally, the frame for H Δ is a rectangular area such that either: the paths corresponding to two vertices of Δ pass through it vertically and the path for the third vertex passes through it horizontally, or the paths corresponding to two vertices of Δ pass through it horizontally and third passes through it vertically. When defining the B 2 -VPG representation of any H Δ we assume that we have already constructed the paths for the vertices in Δ and that there is a frame for H Δ . We now describe how to obtain a B 2 -VPG representation of a 4-connected maximally planar graph H Δ given a frame F for it. Our construction is based on a nondegenerate minimal rectangular dual and its split graph. Let u and w be the two vertices of Δ whose paths do not intersect inside F and denote the third vertex in Δ by v. Then we consider the graph H obtained from H Δ by removing the edge {u, w}. Notice that H is a 4-connected triangulation of a 4-gon and we assume w.l.o.g. that u = L, Fig. 2. a) The VPG representation of the outer face of G and its frame. b) Placing a rectangular dual inside a frame and constructing the path B. v = T , and w = R. Consider the minimal transversal structure, a corresponding nondegenerate minimal rectangular dual of H, and its split graph H * together with the transversal structure (E * r , E * b ). By rotating and stretching it appropriately we place the non-degenerate rectangular dual of H * inside the frame F , such that the right side of L, the bottom side of T and the left side of R is contained in u, v and w, respectively.
We define the 2-bend path B for the vertex B to be a C-shape path that is contained in F and whose upper horizontal segment contains the top side of R(B). See Fig. 2 for an illustration.
We define a 2-bend path v for every inner vertex v of H as follows. First, let v be the union of the top side and right side of R(v 1 ) and the bottom side of R(v 2 ). Now consider the vertex • v. We extend the left horizontal end of v to the right side of R(( • v) 1 ). In case • v = L we do not extend the left end of v. Similarly we extend the right horizontal end of v horizontally to the right side of R(v •1 ), unless v • = R. See Fig. 3 for an illustration.

Lemma 2. The above construction gives a B 2 -representation of H.
Slightly changing the paths corresponding to outer vertices we can easily transform them into Z-shapes and make L and R intersect. Thus we obtain the following corollary.

Corollary 1. Every 4-connected planar graph has a B 2 -representation where every path has a Z-shape and no two paths cross.
We have shown so far how to define a B 2 -VPG representation of H Δ given a frame for H Δ . It remains to identify a frame for each Δ Δ that is a son of Δ in the separation tree. We modify the representation for this purpose.
Consider a horizontal line that supports horizontal sides of some rectangles different from R(T ). We partition the paths that have a horizontal segment on into two sets: A contains all paths whose vertical segment lies above and B all paths whose vertical segment lies below . Next we extend the vertical segments of all paths in B by some small amount, keeping all lower horizontal segments unchanged. The extension is chosen small enough so that no unwanted intersections are created. See Fig. 3 for an illustration. Since the underlying rectangular dual is minimal, it does not contain the configuration in the left of Fig. 1d. It follows that all vertical segments of paths in A lie to the left of the vertical segments of paths in B. Thus, if v ∈ A and w ∈ B were touching before, then they are crossing after this operation.
Next we identify a frame for every inner face Δ of H. In case Δ is a non-empty triangle of G this will be the frame for H Δ . We give the proof of Lemma 3 in the appendix. The frame for the face {L, B, R} is defined as shown in Fig. 2. For every remaining inner face f = {u, v, w} of H Δ we consider to point p f where R(u), R(v) and R(w) meet. We then define the frame for f near p f as illustrated in Fig. 4. The four cases in the figure correspond to whether p f is contained in the top, bottom, left, or right side of a rectangle, respectively.

Fig. 4. Identifying the frame for an inner face of HΔ
We end this section with its main theorem (proof in the appendix). It is not difficult to see that this theorem follows from Theorem 1, and Lemmas 2 and 3.

Triangle-Free Planar Graphs Are B 1 -VPG
In this section we prove that every triangle-free planar graph is B 1 -VPG with a very particular B 1 -VPG representation. Namely, every vertex is represented by either a 0bend path or a 1-bend path whose vertical segment is attached to the left end of its horizontal segment. This means that we use only two out of the four possible shapes of a grid path with exactly one bend. Moreover, whenever two paths intersect, it is at an endpoint of exactly one of these paths; i.e., no two paths cross. We call an 1-bend path an L if the left endpoint of the horizontal segment is the lower endpoint of its vertical segment, and a Γ if the left endpoint of the horizontal segment is the upper endpoint of its vertical segment. A VPG representation in which each path that has a bend is an L or a Γ, and in which no two paths cross, is called a contact-L-Γ representation.
We say that two contact-L-Γ representations of the same graph G are equivalent if the underlying combinatorics is the same. That means that paths corresponding to the same vertex have the same type (either L, Γ, horizontal or vertical segment), the inherited embedding of G is the same, and that the fashion in which two paths touch is the same, e.g., the right endpoint of u is contained in the vertical segment of v in both representations. However, it is convenient in our proofs to deal with actual contact-L-Γ representations instead of equivalence classes of contact-L-Γ representations. Therefore we need the following lemma. G be a plane graph and v be a vertex of G. Let u and w be two paths in G that touch v at the same segment but from different sides. Then there exists a contact-L-Γ representation of G that is equivalent to G in which the touching points of u and w with v come in the reversed order along v.

Lemma 4. Let
The main result of this section is the following.

Theorem 5. Every triangle-free planar graph has a contact-L-Γ representation.
Note that if some graph G admits a contact-L-Γ representation then so does every subgraph H of G it. Indeed every edge (u, v) in E(G) \ E(H) corresponds to a contact point of u and v in the representation G. Moreover, this contact point is an endpoint of one of the two paths. If we shorten this path a little bit (and do this for every edge that is in G but not in H) then we obtain a contact-L-Γ representation of H. Thus we assume for the remainder of the section w.l.o.g. that G is a maximally triangle-free planar graph, i.e., G is 2-connected and every face of G is a quadrangle or a pentagon. Moreover, we can assume by adding one vertex (if necessary) that the outer face of G is a quadrangle.
Consider a contact-L-Γ representation C of a cycle C on four vertices v 1 , v 2 , v 3 , v 4 and assume w.l.o.g. that any two paths in C touch at most once. Then v 1 ∪ v 2 ∪ v 3 ∪ v 4 inscribes a simple rectilinear polygon P . We call the parts of C that do not lie in the interior of P the outside of C. See Fig. 5 for an example. We prove the following stronger version of Theorem 5. Theorem 6. Let G be a maximally triangle-free planar graph with a fixed plane embedding and a quadrangular outer face C out . Let C out be any contact-L-Γ representation of C out . Then there is a contact-L-Γ representation of G with the same underlying embedding in which the outside of the induced representation of C out is the equivalent to that in C out .
The full proof of Theorem 6 is given in the appendix. We sketch the general argument here.

Proof Sketch:
We proceed inductively on the number of vertices in G, distinguishing the following three cases.
Case 1: G has a separating 4-cycle C. Let V C be the set of vertices interior to C. We split G into G 1 := G− V C and G 2 := G[C ∪V C ], apply induction to G 1 and afterwards to G 2 w.r.t. the representation C of C induced by G 1 . Putting together G 1 and G 2 we obtain a contact-L-Γ representation G of G that satisfies our requirements.
Case 2: G has a facial 4-cycle C = {v 1 , v 2 , v 3 , v 4 }. We identify two opposite vertices on C, say v 1 and v 3 , and denote byṽ the new vertex in the obtained graphG. We apply induction toG and split the pathṽ into one for v 1 and one for v 3 . To splitṽ we trace around it and consider the respective sub-traces containing all contacts for v 1 and v 3 . We will refer to each such sub-trace as a block. We define v 1 and v 3 to be the subpaths ofṽ covered by the corresponding block and translate v 1 by some small amount. See Fig. 6 for an example. Fig. 6. How to split a face in Case 2 Case 3: There is an edge (u, v) in G with interior vertices u and v. We contract the edge (u, v) and denote byṽ the new vertex in the resulting graphG. By induction we find a contact-L-Γ representationG, in which we want to splitṽ into two paths u and v. As in the previous case we trace the contour ofṽ and see two disjoint blocks B u and B v containing the contacts corresponding to neighbors of u and v, respectively. We distinguish four sub-cases. W.l.o.g.ṽ is not a Γ-shape and we denote its vertical segment (if existent) by s.
In Case 3a either s is completely covered by one block, say B u , orṽ is only a horizontal segment and B u is the block that contains the left endpoint of it. We define u and v to be the sub-paths ofṽ that are covered by B u and B v , respectively. We shift v a little bit up or down and attach a short vertical segment to its left endpoint so as to touch u. An example is given in Fig. 7. In Case 3b the left side of s is completely covered by one block, say B u . We define u to be the sub-path ofṽ that is covered by B u . We define v to be a short horizontal segment touching the right side of s immediately below B v , or immediately above the bend ofṽ in case B v intersects the horizontal segment ofṽ. For each path that corresponds to a neighbor of v and makes the contact withṽ with its left endpoint, we shorten this endpoint a little bit and attach a vertical segment to it that touches v from above. See the left of Fig. 8.
In Case 3c the horizontal segment ofṽ is completely covered by one block, say again B u . By Lemma 4 we can assume that no point of s is covered on the left by B u and on the right by B v . We define u and v to be the sub-paths ofṽ that are covered by and B v , respectively, and shift v a little bit to the left. See the middle of Fig. 8 for an illustration.
In the remaining case, Case 3d, both blocks B u and B v appear on both sides of the vertical and horizontal segment ofṽ. Let B u be the block that contains the upper end ofṽ. We define u and v to be the sub-paths ofṽ that are covered by B u and B v , respectively. We shift the horizontal segment of u up to the upper endpoint of v.
Here an application of Lemma 4 ensures that no contact in B u is lost. This completes Case 3.
Finally, if neither of Case 1, Case 2 and Case 3 applies, then G consists only of the outer cycle C out , for which a Contact-L-Γ representation C out is given by assumption. This concludes the proof.
Theorem 5 can be easily transferred into a linear time algorithm to find a contact-L-Γ representation of a triangle-free planar graph. Note that such an algorithm should first construct the combinatorics of the representation, since slicing operation would have to be done in O (1). The computation of the actual coordinates of each path can be easily carried out afterwards in linear time. Moreover the constructed representation can be placed into the n × n grid, since every path requires only one horizontal and one vertical grid line. Here n denotes the number of vertices in G.

Future Work and Open Problems
We have disproven the conjecture of Asinowski et al. [2] that B 3 -VPG is the simplest B k -VPG graph class containing planar graphs. Specifically, we have demonstrated that every planar graph is B 2 -VPG and that 4-connected planar graphs are the intersection graphs of Z-shapes (i.e., a special subclass of B 2 -VPG). We have also shown that these representations can be produced from a planar graph in O(n 3/2 ) time. We have additionally shown that every triangle-free planar graph is a contact graph of: L-shapes, Γ-shapes, vertical segments, and horizontal segments (i.e., it is a specialized contact B 1 -VPG graph). Furthermore, we demonstrated how to construct such a contact representation in linear time. As an further consequence, we obtain a new proof that planar bipartite graphs are 2-DIR.
Interestingly, there is no known planar graph which does not have an intersection representation of L-shapes; i.e., even this very restricted form of B 1 -VPG is still a good candidate to contain all planar graphs. Further to this, a colleague of ours has observed (via computer search) that all planar graphs on at most ten vertices are intersection graphs of L-shapes [14]. Similarly, all small triangle-free planar graphs seem to be contact graphs of L-shapes. These observations lead to the following two conjectures.

Conjecture 1. Every planar graph is the intersection graph of L-shapes.
Conjecture 2. Every triangle-free planar graph is the contact graph of L-shapes.