1 00:00:00,720 --> 00:00:03,020 PROFESSOR: So let's get set to state 2 00:00:03,020 --> 00:00:06,460 Hall's theorem in a way that doesn't mention boys and girls. 3 00:00:06,460 --> 00:00:09,290 But let's remember the girl-boy setup to start. 4 00:00:09,290 --> 00:00:12,890 So the general setup is a bipartite graph H. 5 00:00:12,890 --> 00:00:17,030 And a bipartite graph has two sets of vertices-- 6 00:00:17,030 --> 00:00:19,910 the girl vertices and the boy vertices. 7 00:00:19,910 --> 00:00:23,900 Formally, there's a set L of H, called the left vertices of H, 8 00:00:23,900 --> 00:00:26,490 and a set R of H, called the right vertices of H. 9 00:00:26,490 --> 00:00:30,350 The vertices of H altogether are L of H union R of H. 10 00:00:30,350 --> 00:00:32,009 Both of these are non-empty. 11 00:00:32,009 --> 00:00:34,160 And they don't overlap. 12 00:00:34,160 --> 00:00:36,900 Then the edges of H have the property that they only 13 00:00:36,900 --> 00:00:39,570 go between L of H and R of H. That 14 00:00:39,570 --> 00:00:43,410 is the definition of a bipartite graph. 15 00:00:43,410 --> 00:00:46,240 Now, we're interested in a matching in a bipartite graph. 16 00:00:46,240 --> 00:00:47,956 So let's be precise again of what's 17 00:00:47,956 --> 00:00:50,080 a matching without having to mention boys and girls 18 00:00:50,080 --> 00:00:51,620 and like. 19 00:00:51,620 --> 00:00:56,930 A match is a total injective function from the left vertices 20 00:00:56,930 --> 00:00:57,980 to the right vertices. 21 00:00:57,980 --> 00:01:05,370 So that means every L vertex, or girl, has a match m of L 22 00:01:05,370 --> 00:01:08,190 that is on the other side. 23 00:01:08,190 --> 00:01:12,070 And we need this total injective function, match function m, 24 00:01:12,070 --> 00:01:13,300 to follow the edges. 25 00:01:13,300 --> 00:01:15,050 What does follow the edges mean precisely? 26 00:01:15,050 --> 00:01:18,040 It simply means that the edge l m of l 27 00:01:18,040 --> 00:01:21,310 is a legitimate edge of H. Another way 28 00:01:21,310 --> 00:01:25,580 to say that is that the graph of this total injective function 29 00:01:25,580 --> 00:01:28,860 is a subset of the edges of H. 30 00:01:28,860 --> 00:01:31,590 So we can state the no-bottleneck condition, 31 00:01:31,590 --> 00:01:34,380 Hall's condition, as follows. 32 00:01:34,380 --> 00:01:38,390 If the size of S is less than or equal to its image 33 00:01:38,390 --> 00:01:42,280 under the edges, for every set of left vertices 34 00:01:42,280 --> 00:01:46,080 H, that's called Hall's condition, that the size of S 35 00:01:46,080 --> 00:01:50,330 is less than or equal to the image of S for every S, 36 00:01:50,330 --> 00:01:52,110 then there is a match. 37 00:01:52,110 --> 00:01:54,500 So this is a way of precisely stating Hall's theorem. 38 00:01:54,500 --> 00:01:55,910 No boys and girls mentioned. 39 00:01:55,910 --> 00:01:58,480 We'll be comfortable going back to the boy-girl language, 40 00:01:58,480 --> 00:02:01,400 because it's more memorable and easier to talk about. 41 00:02:01,400 --> 00:02:04,930 But just for the record, we have now formally stated, defined 42 00:02:04,930 --> 00:02:07,780 bipartite graphs, matches in bipartite graphs, 43 00:02:07,780 --> 00:02:14,020 and Hall's theorem really that there 44 00:02:14,020 --> 00:02:18,020 is a match when Hall's condition is satisfied without mentioning 45 00:02:18,020 --> 00:02:18,860 boys and girls. 46 00:02:22,090 --> 00:02:25,130 The puzzle is, how do you verify that there are no bottlenecks? 47 00:02:25,130 --> 00:02:26,190 It's pretty hard. 48 00:02:26,190 --> 00:02:28,110 The bottleneck condition involves 49 00:02:28,110 --> 00:02:31,450 checking that every subset S of L of H 50 00:02:31,450 --> 00:02:33,640 satisfies this cardinality condition. 51 00:02:33,640 --> 00:02:37,580 And there are a lot of subsets of L of H 52 00:02:37,580 --> 00:02:40,800 relative to the size of the graph, exponentially many. 53 00:02:40,800 --> 00:02:44,162 So we can ask, how do you verify that there are no bottlenecks? 54 00:02:44,162 --> 00:02:45,870 Well, it turns out in logarithms classes, 55 00:02:45,870 --> 00:02:50,180 you will learn a fairly efficient matching procedure, 56 00:02:50,180 --> 00:02:55,480 runs about quadratically, for finding 57 00:02:55,480 --> 00:02:58,300 perfect matches when they exist. 58 00:02:58,300 --> 00:03:02,210 But there is one particular special case 59 00:03:02,210 --> 00:03:06,490 that ensures no bottlenecks that we'll be making use 60 00:03:06,490 --> 00:03:08,310 of several times in the term. 61 00:03:08,310 --> 00:03:13,220 And that special situation is when it turns out 62 00:03:13,220 --> 00:03:16,830 that every girl likes at least d boys 63 00:03:16,830 --> 00:03:21,320 and every boy likes at most d girls. 64 00:03:21,320 --> 00:03:24,950 This is called a degree-constrained graph. 65 00:03:24,950 --> 00:03:28,570 If a graph is degree constrained, 66 00:03:28,570 --> 00:03:31,100 then there are no bottlenecks. 67 00:03:31,100 --> 00:03:35,980 So this condition that each girl likes at least d boys 68 00:03:35,980 --> 00:03:38,420 and every boy likes at most d girls 69 00:03:38,420 --> 00:03:40,200 could have been rephrased as saying 70 00:03:40,200 --> 00:03:42,450 that the minimum degree of the girls 71 00:03:42,450 --> 00:03:47,960 is greater than or equal to the maximum degree of the boys. 72 00:03:47,960 --> 00:03:51,220 But I think expressing it in terms of d maybe makes 73 00:03:51,220 --> 00:03:52,270 it a little clearer. 74 00:03:55,450 --> 00:03:57,010 Let's prove this. 75 00:03:57,010 --> 00:03:59,995 I'm going to prove that, if you have 76 00:03:59,995 --> 00:04:03,020 a degree-constrained bipartite graph, 77 00:04:03,020 --> 00:04:05,810 then it, in fact, satisfies Hall's condition. 78 00:04:05,810 --> 00:04:07,930 There are no bottlenecks. 79 00:04:07,930 --> 00:04:09,980 So we have that, if every girl likes 80 00:04:09,980 --> 00:04:13,470 at least d boys and every boy likes to most d girls, 81 00:04:13,470 --> 00:04:14,620 there are no bottlenecks. 82 00:04:14,620 --> 00:04:16,290 The proof goes as follows. 83 00:04:16,290 --> 00:04:19,870 Let's look at some arbitrary set S of girls. 84 00:04:19,870 --> 00:04:22,620 And suppose that the total number 85 00:04:22,620 --> 00:04:28,955 of edges that are incident to S has cardinality e. 86 00:04:28,955 --> 00:04:35,010 There are e edges that touch vertices in S. Well, that 87 00:04:35,010 --> 00:04:38,370 tells us that since every vertex in S 88 00:04:38,370 --> 00:04:43,300 has at least d edges out-- maybe more-- d times the size of S 89 00:04:43,300 --> 00:04:46,150 has to be less than or equal to the total number of edges 90 00:04:46,150 --> 00:04:48,330 coming out of S. 91 00:04:48,330 --> 00:04:52,320 Likewise, all of the edges that come out of S 92 00:04:52,320 --> 00:04:57,600 go, by definition, into E of S. And each vertex in E of S 93 00:04:57,600 --> 00:05:01,400 can only absorb d edges, d girls. 94 00:05:01,400 --> 00:05:05,860 So that means that the total number of edges 95 00:05:05,860 --> 00:05:10,570 absorbed by E of S-- that is, at most d times E of S-- 96 00:05:10,570 --> 00:05:12,290 had better be bigger than the number 97 00:05:12,290 --> 00:05:14,730 of edges that have to be absorbed e. 98 00:05:14,730 --> 00:05:17,537 So we get that d times the size of S 99 00:05:17,537 --> 00:05:19,995 is less than or equal to the total number of edges incident 100 00:05:19,995 --> 00:05:22,890 to S, which is less than or equal to d 101 00:05:22,890 --> 00:05:27,360 times the total number vertices in E of S. 102 00:05:27,360 --> 00:05:28,970 Well, I'll cancel the d's. 103 00:05:28,970 --> 00:05:30,940 And we have that the size of S is 104 00:05:30,940 --> 00:05:33,360 less than or equal to the size of its image. 105 00:05:33,360 --> 00:05:36,670 That's the definition of a bottleneck-- The violation 106 00:05:36,670 --> 00:05:37,920 of that would be a bottleneck. 107 00:05:37,920 --> 00:05:39,800 This says, there's no bottlenecks. 108 00:05:39,800 --> 00:05:43,340 And we have proved the degree-constrained condition 109 00:05:43,340 --> 00:05:47,450 is sufficient to verify Hall's condition. 110 00:05:47,450 --> 00:05:50,660 And by Hall's theorem, it's sufficient to guarantee 111 00:05:50,660 --> 00:05:52,700 that there is a match. 112 00:05:52,700 --> 00:05:54,960 Now, there's a lot of graphs with matches 113 00:05:54,960 --> 00:05:56,750 that are not degree-constrained. 114 00:05:56,750 --> 00:05:58,690 This is not an if and only if theorem. 115 00:05:58,690 --> 00:06:01,390 It's just a sufficient condition that comes up often enough 116 00:06:01,390 --> 00:06:03,050 that it's worth mentioning. 117 00:06:03,050 --> 00:06:06,300 Degree-constrained implies Hall's condition is satisfied, 118 00:06:06,300 --> 00:06:09,710 which implies that there's a perfect match. 119 00:06:09,710 --> 00:06:13,100 So let's turn now to the general case of Hall's theorem. 120 00:06:13,100 --> 00:06:15,540 And let's talk about proving Hall's theorem. 121 00:06:15,540 --> 00:06:19,990 Hall's theorem says that if there's no bottleneck, 122 00:06:19,990 --> 00:06:23,090 then there is a match. 123 00:06:23,090 --> 00:06:25,910 So let's begin by setting up a lemma that 124 00:06:25,910 --> 00:06:27,030 will play a crucial role. 125 00:06:27,030 --> 00:06:31,130 The strategy for proving it is basically 126 00:06:31,130 --> 00:06:34,270 going to be to try to break the problem of finding 127 00:06:34,270 --> 00:06:36,450 a match for a large set of vertices 128 00:06:36,450 --> 00:06:39,990 into sub problems of finding matches 129 00:06:39,990 --> 00:06:42,320 for smaller sets of vertices. 130 00:06:42,320 --> 00:06:45,770 And by strong induction, Hall's condition 131 00:06:45,770 --> 00:06:48,160 will apply to the subsets and will win. 132 00:06:48,160 --> 00:06:49,780 Let's look at that more carefully. 133 00:06:49,780 --> 00:06:51,630 So let's begin by supposing that there 134 00:06:51,630 --> 00:06:55,840 are no bottlenecks in some bipartite graph H. Well, 135 00:06:55,840 --> 00:06:58,450 in particular, if there's no bottlenecks anywhere, 136 00:06:58,450 --> 00:07:02,560 then if you restrict yourself to some set S of girls, 137 00:07:02,560 --> 00:07:06,790 no subset of that set S is going to have a bottleneck, 138 00:07:06,790 --> 00:07:08,990 obviously, because a bottleneck within S 139 00:07:08,990 --> 00:07:11,600 would be a bottleneck within the whole graph. 140 00:07:11,600 --> 00:07:13,170 So that part's trivial. 141 00:07:13,170 --> 00:07:16,290 What's not trivial and takes a little bit of arguing 142 00:07:16,290 --> 00:07:21,180 is that suppose you have a set of girls with the property 143 00:07:21,180 --> 00:07:25,500 that the number of boys that are compatible with that set 144 00:07:25,500 --> 00:07:28,760 of girls is exactly the same as the number of girls. 145 00:07:28,760 --> 00:07:35,330 So technically, the size of S is equal to the size of E of S. 146 00:07:35,330 --> 00:07:40,800 In that case, we can argue that there aren't any bottlenecks 147 00:07:40,800 --> 00:07:45,325 within the complement of S and the complement of E of S 148 00:07:45,325 --> 00:07:45,825 either. 149 00:07:45,825 --> 00:07:49,150 Well, let's look at a picture to illustrate what's going on. 150 00:07:49,150 --> 00:07:52,260 So here we have a bipartite graph. 151 00:07:52,260 --> 00:07:58,920 And there's S and its image on the right E of S. 152 00:07:58,920 --> 00:08:01,600 And we know that a bottleneck here 153 00:08:01,600 --> 00:08:03,680 would imply a bottleneck in the whole graph. 154 00:08:03,680 --> 00:08:06,550 What we want to argue is that a bottleneck in the complement 155 00:08:06,550 --> 00:08:10,970 of S would imply a bottleneck in the complement of E of S. 156 00:08:10,970 --> 00:08:12,740 So there's the complement of E of S. 157 00:08:12,740 --> 00:08:15,150 And there's the complement of S. 158 00:08:15,150 --> 00:08:18,500 Now, notice that some edges that come out of the complement of S 159 00:08:18,500 --> 00:08:20,810 may very well go into the E of S. That is, 160 00:08:20,810 --> 00:08:23,410 this would be a point that's both in E of S 161 00:08:23,410 --> 00:08:24,880 and in E of S complement. 162 00:08:24,880 --> 00:08:26,670 But we're not allowed to use that point, 163 00:08:26,670 --> 00:08:29,540 because we're trying to find a match only 164 00:08:29,540 --> 00:08:32,049 within S bar and E of S bar. 165 00:08:32,049 --> 00:08:34,409 And what we're really trying to argue 166 00:08:34,409 --> 00:08:38,250 is that a bottleneck here would imply a bottleneck 167 00:08:38,250 --> 00:08:39,929 in the whole graph. 168 00:08:39,929 --> 00:08:42,120 So let's see if we can argue this. 169 00:08:42,120 --> 00:08:45,575 We want to claim that there's no bottleneck between S 170 00:08:45,575 --> 00:08:50,350 bar any E of S bar given that there's no bottleneck anywhere 171 00:08:50,350 --> 00:08:55,210 and when S and E of S are the same size. 172 00:08:55,210 --> 00:08:58,580 So let's suppose that we had a set T over here that 173 00:08:58,580 --> 00:09:00,750 was a subset of S bar. 174 00:09:00,750 --> 00:09:04,400 And let's look at its image over here in orange. 175 00:09:04,400 --> 00:09:09,450 So we've got that the image of this set T, when we restrict it 176 00:09:09,450 --> 00:09:11,780 just to the part that's in the complement of S-- 177 00:09:11,780 --> 00:09:13,480 notice I'm leaving out this point here. 178 00:09:13,480 --> 00:09:15,480 I'm not taking the image of T. I'm 179 00:09:15,480 --> 00:09:19,470 taking the image of T restricted to the points that are not 180 00:09:19,470 --> 00:09:22,240 in the image of S. And what I want to know 181 00:09:22,240 --> 00:09:24,160 is, could that cause a bottleneck? 182 00:09:24,160 --> 00:09:26,080 After all, I've left out some points that 183 00:09:26,080 --> 00:09:33,210 used to be included in the image of T. And so the image of T 184 00:09:33,210 --> 00:09:35,700 might have been bigger than T because of those extra points 185 00:09:35,700 --> 00:09:37,350 that I'm leaving out, I have to be sure 186 00:09:37,350 --> 00:09:38,770 that that doesn't happen. 187 00:09:38,770 --> 00:09:40,530 Could there be a bottleneck that has 188 00:09:40,530 --> 00:09:42,810 been created by these points that I've left out? 189 00:09:42,810 --> 00:09:47,010 Could there be a bottleneck in E of T intersection, 190 00:09:47,010 --> 00:09:49,570 a complement to E of S. Could that orange guy 191 00:09:49,570 --> 00:09:51,010 be a bottleneck? 192 00:09:51,010 --> 00:09:53,830 Well, if it was a bottleneck, then 193 00:09:53,830 --> 00:09:55,900 I'd have a bottleneck in the whole graph. 194 00:09:55,900 --> 00:09:59,280 And that's because S and E of S are the same size, because all 195 00:09:59,280 --> 00:10:02,650 I do is, if I had a bottleneck there, 196 00:10:02,650 --> 00:10:09,390 I would take this set T along with S and this set orange 197 00:10:09,390 --> 00:10:13,460 along with E of S, and that would be a bottleneck. 198 00:10:13,460 --> 00:10:17,960 Because now, if you look at the size of T, 199 00:10:17,960 --> 00:10:20,710 I've added the same amount to the size of T 200 00:10:20,710 --> 00:10:24,330 as I've added to that orange set, because E of S and S 201 00:10:24,330 --> 00:10:25,690 are the same size. 202 00:10:25,690 --> 00:10:29,070 So if this orange part was smaller than T, 203 00:10:29,070 --> 00:10:33,850 then orange part along with E of S is smaller than T union S. 204 00:10:33,850 --> 00:10:38,040 And that defines a bottleneck in the whole graph. 205 00:10:38,040 --> 00:10:39,920 So again, if there was a bottleneck 206 00:10:39,920 --> 00:10:42,850 in here caused by restricting images 207 00:10:42,850 --> 00:10:44,550 to the complement of E of S, it means 208 00:10:44,550 --> 00:10:46,330 there was a bottleneck in the whole graph. 209 00:10:46,330 --> 00:10:48,860 If there's no bottleneck at all, then indeed, 210 00:10:48,860 --> 00:10:51,950 there's no bottleneck in this other part 211 00:10:51,950 --> 00:10:55,800 of the complement of S and the complement of E of S. 212 00:10:55,800 --> 00:10:58,930 And this gives me a hook on proving Hall's theorem, 213 00:10:58,930 --> 00:11:00,940 because that's basically the way I'm 214 00:11:00,940 --> 00:11:05,030 going to split the problem into two separate matching parts. 215 00:11:05,030 --> 00:11:07,830 So let's now proceed to prove that if there 216 00:11:07,830 --> 00:11:11,140 are no bottlenecks in a graph, then there's a perfect match. 217 00:11:11,140 --> 00:11:12,930 And it's going to be by strong induction 218 00:11:12,930 --> 00:11:14,180 on the number of girls. 219 00:11:14,180 --> 00:11:17,070 So case one is the case that we just examined, 220 00:11:17,070 --> 00:11:20,440 that there's a non-empty subset of girls-- a proper subset, 221 00:11:20,440 --> 00:11:23,397 not all the girls-- some subset of girls 222 00:11:23,397 --> 00:11:25,730 who-- another way to say it is there's a subset of girls 223 00:11:25,730 --> 00:11:28,470 that's not empty and its complement is not empty either. 224 00:11:28,470 --> 00:11:32,380 And the size of S is the same as the size of E of S. 225 00:11:32,380 --> 00:11:34,720 That is, the number of boys that are 226 00:11:34,720 --> 00:11:36,130 compatible with this set of girls 227 00:11:36,130 --> 00:11:39,389 is exactly the same size as this set of girls. 228 00:11:39,389 --> 00:11:40,930 Well, if there's going to be a match, 229 00:11:40,930 --> 00:11:43,030 there has to be one in that subset. 230 00:11:43,030 --> 00:11:48,270 And by the lemmas, if there's no bottlenecks anywhere, 231 00:11:48,270 --> 00:11:50,540 there's no bottlenecks when I restrict myself to 232 00:11:50,540 --> 00:11:55,420 just S and E of S. And also by the previous Lemma, 233 00:11:55,420 --> 00:12:00,670 there's no bottleneck in the complement of S restricted 234 00:12:00,670 --> 00:12:04,750 to the vertices in E of S. 235 00:12:04,750 --> 00:12:06,690 So this is a new bipartite graph, 236 00:12:06,690 --> 00:12:09,640 where I'm using S for the left vertices and E of S 237 00:12:09,640 --> 00:12:11,030 for the right vertices. 238 00:12:11,030 --> 00:12:12,470 And here, I'm using the complement 239 00:12:12,470 --> 00:12:15,840 of S for the left vertices and the complement of E of S 240 00:12:15,840 --> 00:12:18,094 for the right vertices. 241 00:12:18,094 --> 00:12:20,510 And the previous lemma says that if there's no bottlenecks 242 00:12:20,510 --> 00:12:23,140 overall, there's no bottlenecks in either 243 00:12:23,140 --> 00:12:26,570 of these two restricted graphs. 244 00:12:26,570 --> 00:12:29,210 So what I can do now is, by induction, since there's 245 00:12:29,210 --> 00:12:32,280 no bottlenecks in S, E of S, I can find a match there. 246 00:12:32,280 --> 00:12:35,140 So I can match up all of the girls in S 247 00:12:35,140 --> 00:12:39,400 with compatible boys in E of S. And I can match up 248 00:12:39,400 --> 00:12:41,477 all of the girls that are not in S, 249 00:12:41,477 --> 00:12:43,710 in the complement of S, with boys 250 00:12:43,710 --> 00:12:45,760 that I haven't used already. 251 00:12:45,760 --> 00:12:47,760 And there will be a perfect match there. 252 00:12:47,760 --> 00:12:51,260 And then these two separately will 253 00:12:51,260 --> 00:12:56,170 provide a match for the entire set of left vertices-- 254 00:12:56,170 --> 00:13:00,070 S union the complement of S will be all of the vertices. 255 00:13:00,070 --> 00:13:01,770 And these two matchings don't overlap. 256 00:13:01,770 --> 00:13:05,850 So combining them gives a complete matching. 257 00:13:05,850 --> 00:13:07,640 That knocks off this case. 258 00:13:07,640 --> 00:13:11,930 That's the nice case, where I can find some subset 259 00:13:11,930 --> 00:13:13,670 with the number of boys is exactly 260 00:13:13,670 --> 00:13:16,810 equal to the number of girls, which means that that 261 00:13:16,810 --> 00:13:18,950 has to work by itself. 262 00:13:18,950 --> 00:13:22,680 And I worked that one by itself and what's left over by itself. 263 00:13:22,680 --> 00:13:27,770 And that's how I can find an overall match. 264 00:13:27,770 --> 00:13:30,720 The second case is that there isn't 265 00:13:30,720 --> 00:13:36,050 any set of girls, which are compatible with exactly 266 00:13:36,050 --> 00:13:37,180 the same number of boys. 267 00:13:37,180 --> 00:13:38,710 Well, since Hall's condition holds, 268 00:13:38,710 --> 00:13:40,690 that means that every set of girls 269 00:13:40,690 --> 00:13:44,069 actually has to be compatible with a larger set of boys 270 00:13:44,069 --> 00:13:45,110 than the number of girls. 271 00:13:45,110 --> 00:13:48,770 That is, for every set S, the size of S 272 00:13:48,770 --> 00:13:51,670 is strictly less than the size of E 273 00:13:51,670 --> 00:13:56,410 of S for every non-empty and proper subset S. 274 00:13:56,410 --> 00:13:58,520 Well in that case, actually finding a match 275 00:13:58,520 --> 00:14:00,890 is easy, because now I've got slack. 276 00:14:00,890 --> 00:14:05,080 What I can do is just pick an arbitrary girl-- call her g-- 277 00:14:05,080 --> 00:14:09,350 and she's got to be compatible with at least one boy, 278 00:14:09,350 --> 00:14:10,680 because there's no bottlenecks. 279 00:14:10,680 --> 00:14:11,840 In fact, in this case, she'll actually 280 00:14:11,840 --> 00:14:13,320 be compatible with these two boys. 281 00:14:13,320 --> 00:14:14,820 But all we need is one boy. 282 00:14:14,820 --> 00:14:16,790 Since there's no bottlenecks, if I pick a girl, 283 00:14:16,790 --> 00:14:18,880 she's got to be compatible with some boy. 284 00:14:18,880 --> 00:14:20,770 And I'm just going to arbitrarily match her 285 00:14:20,770 --> 00:14:23,640 with that boy-- match g with b. 286 00:14:23,640 --> 00:14:26,270 Now, the consequence of that is that, if I now 287 00:14:26,270 --> 00:14:30,490 remove g and b from the graph, I am 288 00:14:30,490 --> 00:14:34,690 left with a graph in which at worst I've 289 00:14:34,690 --> 00:14:39,630 shrunk the set E of S by that girl 290 00:14:39,630 --> 00:14:43,750 that I've matched with B, which means that E of S, which 291 00:14:43,750 --> 00:14:47,300 used to be strictly greater than S has gone down by at most one. 292 00:14:47,300 --> 00:14:50,140 It's still greater than or equal to E of S. 293 00:14:50,140 --> 00:14:53,210 So I'm left that in the graph after I've 294 00:14:53,210 --> 00:14:56,040 removed this g paired with an arbitrary b 295 00:14:56,040 --> 00:14:58,440 that she's compatible with, I'm left 296 00:14:58,440 --> 00:15:01,540 with a graph that satisfies Hall's condition 297 00:15:01,540 --> 00:15:05,940 that has one fewer girl vertex. 298 00:15:05,940 --> 00:15:08,470 And so it has no bottlenecks. 299 00:15:08,470 --> 00:15:12,990 And therefore, it has a match. 300 00:15:12,990 --> 00:15:16,350 And that match in the sub graph, where 301 00:15:16,350 --> 00:15:19,100 I've taken out g and b, when I put back the match, when 302 00:15:19,100 --> 00:15:21,350 I add the part of g matching with b, 303 00:15:21,350 --> 00:15:23,180 it's a match for the whole graph. 304 00:15:23,180 --> 00:15:24,710 And that's how I get it. 305 00:15:24,710 --> 00:15:29,180 That completes the proof of Hall's theorem.