xref: /llvm-project/clang/docs/DataFlowAnalysisIntroImages/IntegerSetsInfiniteLattice.svg (revision ab31d003e16e483bff298ea2f28fec0f23e8eb79)
1<?xml version="1.0" encoding="UTF-8" standalone="no"?>
2<svg
3   xmlns:dc="http://purl.org/dc/elements/1.1/"
4   xmlns:cc="http://creativecommons.org/ns#"
5   xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
6   xmlns:svg="http://www.w3.org/2000/svg"
7   xmlns="http://www.w3.org/2000/svg"
8   xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
9   xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
10   width="170mm"
11   height="110mm"
12   viewBox="0 0 170 110"
13   version="1.1"
14   id="svg8">
15  <defs
16     id="defs2" />
17  <g
18     inkscape:label="Layer 1"
19     inkscape:groupmode="layer"
20     id="layer1">
21    <text
22       xml:space="preserve"
23       style="font-size:4.93889px;line-height:1.25;font-family:sans-serif;word-spacing:0px;stroke-width:0.264583"
24       x="89.958336"
25       y="105.83334"
26       id="text1921"><tspan
27         sodipodi:role="line"
28         id="tspan1919"
29         x="89.958336"
30         y="105.83334"
31         style="font-size:4.93889px;text-align:center;text-anchor:middle;stroke-width:0.264583">⊥ = {}</tspan></text>
32    <text
33       xml:space="preserve"
34       style="font-size:4.93889px;line-height:1.25;font-family:sans-serif;text-align:center;word-spacing:0px;text-anchor:middle;stroke-width:0.264583"
35       x="4.0951862"
36       y="76.729172"
37       id="text1925"><tspan
38         sodipodi:role="line"
39         id="tspan1923"
40         x="4.0951862"
41         y="76.729172"
42         style="font-size:4.93889px;text-align:center;text-anchor:middle;stroke-width:0.264583">…</tspan></text>
43    <text
44       id="text1925-6"
45       y="76.729172"
46       x="27.907686"
47       style="font-size:4.9389px;line-height:1.25;font-family:sans-serif;text-align:center;word-spacing:0px;text-anchor:middle;stroke-width:0.264583"
48       xml:space="preserve"><tspan
49         style="font-size:4.9389px;text-align:center;text-anchor:middle;stroke-width:0.264583"
50         y="76.729172"
51         x="27.907686"
52         id="tspan1923-9"
53         sodipodi:role="line">…</tspan></text>
54    <text
55       id="text1925-7"
56       y="76.729172"
57       x="16.001438"
58       style="font-size:4.9389px;line-height:1.25;font-family:sans-serif;text-align:center;word-spacing:0px;text-anchor:middle;stroke-width:0.264583"
59       xml:space="preserve"><tspan
60         style="font-size:4.9389px;text-align:center;text-anchor:middle;stroke-width:0.264583"
61         y="76.729172"
62         x="16.001438"
63         id="tspan1923-8"
64         sodipodi:role="line">{−9}</tspan></text>
65    <text
66       xml:space="preserve"
67       style="font-size:4.9389px;line-height:1.25;font-family:sans-serif;text-align:center;word-spacing:0px;text-anchor:middle;stroke-width:0.264583"
68       x="39.813934"
69       y="76.729172"
70       id="text1925-7-7"><tspan
71         sodipodi:role="line"
72         id="tspan1923-8-1"
73         x="39.813934"
74         y="76.729172"
75         style="font-size:4.9389px;text-align:center;text-anchor:middle;stroke-width:0.264583">{−5}</tspan></text>
76    <text
77       xml:space="preserve"
78       style="font-size:4.9389px;line-height:1.25;font-family:sans-serif;text-align:center;word-spacing:0px;text-anchor:middle;stroke-width:0.264583"
79       x="51.720184"
80       y="76.729172"
81       id="text1925-6-4"><tspan
82         sodipodi:role="line"
83         id="tspan1923-9-4"
84         x="51.720184"
85         y="76.729172"
86         style="font-size:4.9389px;text-align:center;text-anchor:middle;stroke-width:0.264583">…</tspan></text>
87    <text
88       id="text1925-7-7-6"
89       y="76.729172"
90       x="63.626438"
91       style="font-size:4.9389px;line-height:1.25;font-family:sans-serif;text-align:center;word-spacing:0px;text-anchor:middle;stroke-width:0.264583"
92       xml:space="preserve"><tspan
93         style="font-size:4.9389px;text-align:center;text-anchor:middle;stroke-width:0.264583"
94         y="76.729172"
95         x="63.626438"
96         id="tspan1923-8-1-9"
97         sodipodi:role="line">{−3}</tspan></text>
98    <text
99       id="text1925-7-7-67"
100       y="76.729172"
101       x="79.501442"
102       style="font-size:4.9389px;line-height:1.25;font-family:sans-serif;text-align:center;word-spacing:0px;text-anchor:middle;stroke-width:0.264583"
103       xml:space="preserve"><tspan
104         style="font-size:4.9389px;text-align:center;text-anchor:middle;stroke-width:0.264583"
105         y="76.729172"
106         x="79.501442"
107         id="tspan1923-8-1-8"
108         sodipodi:role="line">{−2}</tspan></text>
109    <text
110       id="text1925-7-7-9"
111       y="76.729172"
112       x="95.37645"
113       style="font-size:4.9389px;line-height:1.25;font-family:sans-serif;text-align:center;word-spacing:0px;text-anchor:middle;stroke-width:0.264583"
114       xml:space="preserve"><tspan
115         style="font-size:4.9389px;text-align:center;text-anchor:middle;stroke-width:0.264583"
116         y="76.729172"
117         x="95.37645"
118         id="tspan1923-8-1-1"
119         sodipodi:role="line">{−1}</tspan></text>
120    <text
121       id="text1925-7-7-7"
122       y="76.729172"
123       x="109.92851"
124       style="font-size:4.9389px;line-height:1.25;font-family:sans-serif;text-align:center;word-spacing:0px;text-anchor:middle;stroke-width:0.264583"
125       xml:space="preserve"><tspan
126         style="font-size:4.9389px;text-align:center;text-anchor:middle;stroke-width:0.264583"
127         y="76.729172"
128         x="109.92851"
129         id="tspan1923-8-1-0"
130         sodipodi:role="line">{0}</tspan></text>
131    <text
132       id="text1925-7-7-3"
133       y="76.729172"
134       x="123.15768"
135       style="font-size:4.9389px;line-height:1.25;font-family:sans-serif;text-align:center;word-spacing:0px;text-anchor:middle;stroke-width:0.264583"
136       xml:space="preserve"><tspan
137         style="font-size:4.9389px;text-align:center;text-anchor:middle;stroke-width:0.264583"
138         y="76.729172"
139         x="123.15768"
140         id="tspan1923-8-1-6"
141         sodipodi:role="line">{1}</tspan></text>
142    <text
143       xml:space="preserve"
144       style="font-size:4.9389px;line-height:1.25;font-family:sans-serif;text-align:center;word-spacing:0px;text-anchor:middle;stroke-width:0.264583"
145       x="136.38686"
146       y="76.729172"
147       id="text1925-7-7-3-3"><tspan
148         sodipodi:role="line"
149         id="tspan1923-8-1-6-8"
150         x="136.38686"
151         y="76.729172"
152         style="font-size:4.9389px;text-align:center;text-anchor:middle;stroke-width:0.264583">{2}</tspan></text>
153    <text
154       xml:space="preserve"
155       style="font-size:4.9389px;line-height:1.25;font-family:sans-serif;text-align:center;word-spacing:0px;text-anchor:middle;stroke-width:0.264583"
156       x="149.61603"
157       y="76.729172"
158       id="text1925-7-7-3-31"><tspan
159         sodipodi:role="line"
160         id="tspan1923-8-1-6-5"
161         x="149.61603"
162         y="76.729172"
163         style="font-size:4.9389px;text-align:center;text-anchor:middle;stroke-width:0.264583">{3}</tspan></text>
164    <text
165       id="text1925-6-4-0"
166       y="76.729172"
167       x="160.19936"
168       style="font-size:4.9389px;line-height:1.25;font-family:sans-serif;text-align:center;word-spacing:0px;text-anchor:middle;stroke-width:0.264583"
169       xml:space="preserve"><tspan
170         style="font-size:4.9389px;text-align:center;text-anchor:middle;stroke-width:0.264583"
171         y="76.729172"
172         x="160.19936"
173         id="tspan1923-9-4-8"
174         sodipodi:role="line">…</tspan></text>
175    <path
176       style="fill:none;stroke:#000000;stroke-width:0.264583px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
177       d="M 16.001436,78.052083 90.084773,100.54166"
178       id="path2089"
179       sodipodi:nodetypes="cc" />
180    <path
181       style="fill:none;stroke:#000000;stroke-width:0.264583px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
182       d="M 39.813936,78.052083 90.084773,100.54166"
183       id="path2091"
184       sodipodi:nodetypes="cc" />
185    <path
186       style="fill:none;stroke:#000000;stroke-width:0.264583px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
187       d="M 63.626436,78.052083 90.084773,100.54166"
188       id="path2093"
189       sodipodi:nodetypes="cc" />
190    <path
191       style="fill:none;stroke:#000000;stroke-width:0.264583px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
192       d="M 79.501436,78.052083 90.084773,100.54166"
193       id="path2095"
194       sodipodi:nodetypes="cc" />
195    <path
196       style="fill:none;stroke:#000000;stroke-width:0.264583px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
197       d="m 95.376433,78.052083 -5.29166,22.489577"
198       id="path2097"
199       sodipodi:nodetypes="cc" />
200    <path
201       style="fill:none;stroke:#000000;stroke-width:0.264583px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
202       d="M 109.92852,78.052083 90.084773,100.54166"
203       id="path2099"
204       sodipodi:nodetypes="cc" />
205    <path
206       style="fill:none;stroke:#000000;stroke-width:0.264583px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
207       d="M 123.15768,78.052083 90.084773,100.54166"
208       id="path2101"
209       sodipodi:nodetypes="cc" />
210    <path
211       style="fill:none;stroke:#000000;stroke-width:0.264583px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
212       d="M 136.38685,78.052082 90.084773,100.54166"
213       id="path2121" />
214    <path
215       style="fill:none;stroke:#000000;stroke-width:0.264583px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
216       d="M 149.61601,78.052082 90.084773,100.54166"
217       id="path2123" />
218    <text
219       id="text1925-62"
220       y="50.270832"
221       x="9.3868532"
222       style="font-size:4.9389px;line-height:1.25;font-family:sans-serif;text-align:center;word-spacing:0px;text-anchor:middle;stroke-width:0.264583"
223       xml:space="preserve"><tspan
224         style="font-size:4.9389px;text-align:center;text-anchor:middle;stroke-width:0.264583"
225         y="50.270832"
226         x="9.3868532"
227         id="tspan1923-98"
228         sodipodi:role="line">…</tspan></text>
229    <text
230       xml:space="preserve"
231       style="font-size:4.9389px;line-height:1.25;font-family:sans-serif;text-align:center;word-spacing:0px;text-anchor:middle;stroke-width:0.264583"
232       x="53.043102"
233       y="50.270832"
234       id="text1925-6-6"><tspan
235         sodipodi:role="line"
236         id="tspan1923-9-0"
237         x="53.043102"
238         y="50.270832"
239         style="font-size:4.9389px;text-align:center;text-anchor:middle;stroke-width:0.264583">…</tspan></text>
240    <text
241       xml:space="preserve"
242       style="font-size:4.9389px;line-height:1.25;font-family:sans-serif;text-align:center;word-spacing:0px;text-anchor:middle;stroke-width:0.264583"
243       x="29.230604"
244       y="50.270832"
245       id="text1925-7-6"><tspan
246         sodipodi:role="line"
247         id="tspan1923-8-18"
248         x="29.230604"
249         y="50.270832"
250         style="font-size:4.9389px;text-align:center;text-anchor:middle;stroke-width:0.264583">{−9, −5}</tspan></text>
251    <text
252       id="text1925-7-7-31"
253       y="50.270832"
254       x="79.501442"
255       style="font-size:4.9389px;line-height:1.25;font-family:sans-serif;text-align:center;word-spacing:0px;text-anchor:middle;stroke-width:0.264583"
256       xml:space="preserve"><tspan
257         style="font-size:4.9389px;text-align:center;text-anchor:middle;stroke-width:0.264583"
258         y="50.270832"
259         x="79.501442"
260         id="tspan1923-8-1-87"
261         sodipodi:role="line">{−3, −1}</tspan></text>
262    <text
263       id="text1925-6-4-5"
264       y="50.270832"
265       x="108.60561"
266       style="font-size:4.9389px;line-height:1.25;font-family:sans-serif;text-align:center;word-spacing:0px;text-anchor:middle;stroke-width:0.264583"
267       xml:space="preserve"><tspan
268         style="font-size:4.9389px;text-align:center;text-anchor:middle;stroke-width:0.264583"
269         y="50.270832"
270         x="108.60561"
271         id="tspan1923-9-4-85"
272         sodipodi:role="line">…</tspan></text>
273    <text
274       xml:space="preserve"
275       style="font-size:4.9389px;line-height:1.25;font-family:sans-serif;text-align:center;word-spacing:0px;text-anchor:middle;stroke-width:0.264583"
276       x="129.77228"
277       y="50.270832"
278       id="text1925-7-7-6-0"><tspan
279         sodipodi:role="line"
280         id="tspan1923-8-1-9-0"
281         x="129.77228"
282         y="50.270832"
283         style="font-size:4.9389px;text-align:center;text-anchor:middle;stroke-width:0.264583">{1, 2}</tspan></text>
284    <text
285       xml:space="preserve"
286       style="font-size:4.9389px;line-height:1.25;font-family:sans-serif;text-align:center;word-spacing:0px;text-anchor:middle;stroke-width:0.264583"
287       x="149.61603"
288       y="50.270832"
289       id="text1925-6-4-5-3"><tspan
290         sodipodi:role="line"
291         id="tspan1923-9-4-85-4"
292         x="149.61603"
293         y="50.270832"
294         style="font-size:4.9389px;text-align:center;text-anchor:middle;stroke-width:0.264583">…</tspan></text>
295    <path
296       sodipodi:nodetypes="cc"
297       style="fill:none;stroke:#000000;stroke-width:0.264583px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
298       d="M 16.001436,71.437499 29.230603,51.59375"
299       id="path2191" />
300    <path
301       sodipodi:nodetypes="cc"
302       style="fill:none;stroke:#000000;stroke-width:0.264583px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
303       d="M 39.813936,71.437499 29.230603,51.59375"
304       id="path2193" />
305    <path
306       sodipodi:nodetypes="cc"
307       style="fill:none;stroke:#000000;stroke-width:0.264583px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
308       d="M 63.626435,71.437499 79.501436,51.59375"
309       id="path2195" />
310    <path
311       sodipodi:nodetypes="cc"
312       style="fill:none;stroke:#000000;stroke-width:0.264583px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
313       d="M 95.376433,71.437499 79.501436,51.59375"
314       id="path2197" />
315    <path
316       sodipodi:nodetypes="cc"
317       style="fill:none;stroke:#000000;stroke-width:0.264583px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
318       d="M 124.4806,71.437499 129.77227,51.59375"
319       id="path2199" />
320    <path
321       sodipodi:nodetypes="cc"
322       style="fill:none;stroke:#000000;stroke-width:0.264583px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
323       d="M 135.06393,71.437499 129.77227,51.59375"
324       id="path2201" />
325    <path
326       id="path2201-1"
327       d="M 129.77226,44.979165 128.44935,25.135416"
328       style="fill:none;stroke:#000000;stroke-width:0.264583px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
329       sodipodi:nodetypes="cc" />
330    <text
331       id="text1925-7-7-6-0-2"
332       y="23.812502"
333       x="128.44936"
334       style="font-size:4.9389px;line-height:1.25;font-family:sans-serif;text-align:center;word-spacing:0px;text-anchor:middle;stroke-width:0.264583"
335       xml:space="preserve"><tspan
336         style="font-size:4.9389px;text-align:center;text-anchor:middle;stroke-width:0.264583"
337         y="23.812502"
338         x="128.44936"
339         id="tspan1923-8-1-9-0-9"
340         sodipodi:role="line">{1, 2, 3}</tspan></text>
341    <path
342       id="path205"
343       d="M 149.61601,71.437499 128.44935,25.135416"
344       style="fill:none;stroke:#000000;stroke-width:0.264583px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" />
345    <text
346       xml:space="preserve"
347       style="font-size:4.9389px;line-height:1.25;font-family:sans-serif;text-align:center;word-spacing:0px;text-anchor:middle;stroke-width:0.264583"
348       x="112.57436"
349       y="23.812502"
350       id="text1925-6-4-5-0"><tspan
351         sodipodi:role="line"
352         id="tspan1923-9-4-85-5"
353         x="112.57436"
354         y="23.812502"
355         style="font-size:4.9389px;text-align:center;text-anchor:middle;stroke-width:0.264583">…</tspan></text>
356    <text
357       xml:space="preserve"
358       style="font-size:4.9389px;line-height:1.25;font-family:sans-serif;text-align:center;word-spacing:0px;text-anchor:middle;stroke-width:0.264583"
359       x="143.00143"
360       y="23.812502"
361       id="text1925-6-4-5-7"><tspan
362         sodipodi:role="line"
363         id="tspan1923-9-4-85-0"
364         x="143.00143"
365         y="23.812502"
366         style="font-size:4.9389px;text-align:center;text-anchor:middle;stroke-width:0.264583">…</tspan></text>
367    <text
368       xml:space="preserve"
369       style="font-size:4.9389px;line-height:1.25;font-family:sans-serif;text-align:center;word-spacing:0px;text-anchor:middle;stroke-width:0.264583"
370       x="90.084763"
371       y="6.6145835"
372       id="text1925-7-7-6-0-2-0"><tspan
373         sodipodi:role="line"
374         id="tspan1923-8-1-9-0-9-0"
375         x="90.084763"
376         y="6.6145835"
377         style="font-size:4.9389px;text-align:center;text-anchor:middle;stroke-width:0.264583">(goes up infinitely)</tspan></text>
378    <path
379       id="path253"
380       d="M 90.084773,7.9374993 128.44935,18.520833"
381       style="fill:none;stroke:#000000;stroke-width:0.265;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:2.12, 2.12;stroke-dashoffset:0;stroke-opacity:1" />
382    <path
383       sodipodi:nodetypes="cc"
384       style="fill:none;stroke:#000000;stroke-width:0.264999;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:2.12, 2.12;stroke-dashoffset:0;stroke-opacity:1"
385       d="M 90.084773,7.9375003 108.6056,44.979166"
386       id="path253-2" />
387    <path
388       sodipodi:nodetypes="cc"
389       style="fill:none;stroke:#000000;stroke-width:0.264999;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:2.12, 2.12;stroke-dashoffset:0;stroke-opacity:1"
390       d="M 90.084773,7.9375003 79.501436,44.979166"
391       id="path253-8" />
392    <path
393       sodipodi:nodetypes="cc"
394       style="fill:none;stroke:#000000;stroke-width:0.264999;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:2.12, 2.12;stroke-dashoffset:0;stroke-opacity:1"
395       d="M 90.084773,7.9375003 53.043103,44.979166"
396       id="path253-6" />
397    <path
398       sodipodi:nodetypes="cc"
399       style="fill:none;stroke:#000000;stroke-width:0.264999;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:2.12, 2.12;stroke-dashoffset:0;stroke-opacity:1"
400       d="M 90.084773,7.9375003 29.230603,44.979166"
401       id="path253-4" />
402  </g>
403</svg>
404