All language subtitles for resolution

af Afrikaans
ak Akan
sq Albanian
am Amharic
ar Arabic
hy Armenian
az Azerbaijani
eu Basque
be Belarusian
bem Bemba
bn Bengali
bh Bihari
bs Bosnian
br Breton
bg Bulgarian
km Cambodian
ca Catalan
ceb Cebuano
chr Cherokee
ny Chichewa
zh-CN Chinese (Simplified)
zh-TW Chinese (Traditional)
co Corsican
hr Croatian
cs Czech
da Danish
nl Dutch
en English
eo Esperanto
et Estonian
ee Ewe
fo Faroese
tl Filipino
fi Finnish
fr French
fy Frisian
gaa Ga
gl Galician
ka Georgian
de German Download
el Greek
gn Guarani
gu Gujarati
ht Haitian Creole
ha Hausa
haw Hawaiian
iw Hebrew
hi Hindi
hmn Hmong
hu Hungarian
is Icelandic
ig Igbo
id Indonesian
ia Interlingua
ga Irish
it Italian
ja Japanese
jw Javanese
kn Kannada
kk Kazakh
rw Kinyarwanda
rn Kirundi
kg Kongo
ko Korean
kri Krio (Sierra Leone)
ku Kurdish
ckb Kurdish (Soranî)
ky Kyrgyz
lo Laothian
la Latin
lv Latvian
ln Lingala
lt Lithuanian
loz Lozi
lg Luganda
ach Luo
lb Luxembourgish
mk Macedonian
mg Malagasy
ms Malay
ml Malayalam
mt Maltese
mi Maori
mr Marathi
mfe Mauritian Creole
mo Moldavian
mn Mongolian
my Myanmar (Burmese)
sr-ME Montenegrin
ne Nepali
pcm Nigerian Pidgin
nso Northern Sotho
no Norwegian
nn Norwegian (Nynorsk)
oc Occitan
or Oriya
om Oromo
ps Pashto
fa Persian
pl Polish
pt-BR Portuguese (Brazil)
pt Portuguese (Portugal)
pa Punjabi
qu Quechua
ro Romanian
rm Romansh
nyn Runyakitara
ru Russian
sm Samoan
gd Scots Gaelic
sr Serbian
sh Serbo-Croatian
st Sesotho
tn Setswana
crs Seychellois Creole
sn Shona
sd Sindhi
si Sinhalese
sk Slovak
sl Slovenian
so Somali
es Spanish
es-419 Spanish (Latin American)
su Sundanese
sw Swahili
sv Swedish
tg Tajik
ta Tamil
tt Tatar
te Telugu
th Thai
ti Tigrinya
to Tonga
lua Tshiluba
tum Tumbuka
tr Turkish
tk Turkmen
tw Twi
ug Uighur
uk Ukrainian
ur Urdu
uz Uzbek
vi Vietnamese
cy Welsh
wo Wolof
xh Xhosa
yi Yiddish
yo Yoruba
zu Zulu
Would you like to inspect the original subtitles? These are the user uploaded subtitles that are being translated: 1 00:00:00,400 --> 00:00:05,680 hello everybody welcome to week three of  logic and semantic approach languages so   2 00:00:05,680 --> 00:00:12,480 this week we're going to talk about several  topics related to solving satisfiability   3 00:00:12,480 --> 00:00:16,400 proving that something is unsatisfiable  or proving that something is valid   4 00:00:17,600 --> 00:00:21,760 we're going to see a number of different  techniques in particular we're going to look at   5 00:00:21,760 --> 00:00:27,040 the resolution proof system we're going to build  on top of this to come up with the so-called dpl   6 00:00:27,040 --> 00:00:33,920 algorithm for performing for checking whether or  not a formula is satisfiable this is also as i   7 00:00:33,920 --> 00:00:41,040 mentioned in the first week the building block of  of modern set solvers let's move on with this uh   8 00:00:42,640 --> 00:00:46,400 with the first topic we're going to first  look at the resolution proof system now 9 00:00:55,200 --> 00:01:03,920 and the goal of the resolution proof system  is we want to suppose we want to prove that   10 00:01:03,920 --> 00:01:09,600 a formula is unsatisfiable or that a formula is  valid how do we go about it there are a couple   11 00:01:09,600 --> 00:01:14,880 of things that we've seen now the in fact  the only automatic techniques for doing that   12 00:01:15,920 --> 00:01:22,720 that we've seen is just the truth tables  yeah we've also seen last week a method of   13 00:01:22,720 --> 00:01:29,760 equational reasoning that is using boolean algebra  axioms for performing syntactic manipulations   14 00:01:31,440 --> 00:01:40,160 from your original formula and to further simplify  that formula to eventually get that to either   15 00:01:41,920 --> 00:01:46,080 top or bottom yeah so that's one way  to prove also that a formula is valid   16 00:01:47,040 --> 00:01:56,000 but this is not automatic and unfortunately at  the moment it's not easily automatable as well um   17 00:01:56,880 --> 00:02:02,640 so so far the only automatic method  that we've seen is just semantic based   18 00:02:03,280 --> 00:02:08,800 we've got we're going to look at another  method now it's called resolution so this is uh   19 00:02:10,240 --> 00:02:17,680 it's a pretty simple and widely used proof system  and this can be used for proving that a formula is   20 00:02:18,480 --> 00:02:24,720 well but the setting the basic framework  of resolution is to prove that a formula is   21 00:02:24,720 --> 00:02:32,480 unsatisfiable and we assume that it is in cnf  yeah so and firstly observe that validity and   22 00:02:32,480 --> 00:02:37,360 unsatisfiability are of course dual notions you  remember that a formula is valid if and only if   23 00:02:37,920 --> 00:02:44,480 it's negation is unsatisfiable so you can reduce  validity to unsatisfiability and vice versa so   24 00:02:44,480 --> 00:02:50,560 what about the restriction that the formula here  yeah we assume that a formula is in cnf so we will   25 00:02:50,560 --> 00:02:57,200 see later on that this is not a restriction  so there's a way to convert general formula   26 00:02:57,200 --> 00:03:02,640 into one in cnf so we've seen we've seen a  way to do that before of course last week yeah   27 00:03:03,920 --> 00:03:09,760 but the method is not um yeah i mean in general  it gives a formula that can be quite large   28 00:03:11,040 --> 00:03:18,320 now yeah so we're gonna see another method for  doing that that is more efficient it's called   29 00:03:18,320 --> 00:03:26,400 the sightings transformation and this week later  on this week we also got to look at the um the dpl   30 00:03:26,400 --> 00:03:33,120 algorithm so this is which is the basic building  block for modern set solvers fast modes or solvers   31 00:03:33,120 --> 00:03:39,520 like for example z3 yeah and this dpl itself  is actually also based on resolution per system   32 00:03:41,040 --> 00:03:44,400 so let's take a look at  the um before we go through   33 00:03:45,840 --> 00:03:51,120 the formal definition of resolution and more  technical details like proofs etc we first just   34 00:03:51,120 --> 00:03:57,280 going to look at the intuition of resolution  so the concept of resolution is pretty simple   35 00:03:58,080 --> 00:04:05,360 and i will explain to you by example firstly i  will tell you what it uh uh what is a a single   36 00:04:05,360 --> 00:04:13,280 resolution step after that i'll tell you what it  means by um the yeah what this entire proof system   37 00:04:13,280 --> 00:04:19,040 consists of so let's say you're given already  a formula in cnf yeah so this formula here   38 00:04:20,320 --> 00:04:27,200 um as you can see it's in cnf it has two  clauses okay so a single resolution step   39 00:04:27,200 --> 00:04:38,240 consists of the following firstly you pick um you  identify two literals from the from two clauses   40 00:04:38,800 --> 00:04:46,560 in the formula yeah that are opposite to each  other in this case you can see for example q   41 00:04:47,200 --> 00:04:55,040 and q prime of course these are two opposite  literals yeah so we want opposite literals in two   42 00:04:55,040 --> 00:04:59,440 different clauses they seem really important yeah  so two opposite literals in two different clauses   43 00:05:01,280 --> 00:05:07,680 so from here what you can do is you can derive  a new clause by eliminating these two opposite   44 00:05:07,680 --> 00:05:13,120 literals so you simply eliminate them and then  you union you take the union of the remaining   45 00:05:13,120 --> 00:05:21,040 literals yeah so this p r and t so this is what  you get and then you get you derive a new clause   46 00:05:22,240 --> 00:05:23,840 this new clause here and 47 00:05:25,920 --> 00:05:32,240 uh what you do next is you add this thing  this new clause into the formula yeah   48 00:05:33,040 --> 00:05:39,040 and you get this bigger formula here okay so  you get this one here the first one second   49 00:05:39,040 --> 00:05:44,400 one and this is this is the third one yeah so um  just to make this more a little bit more precise   50 00:05:44,960 --> 00:05:51,840 this new class is actually semantically  entailed from the original formula   51 00:05:52,880 --> 00:06:01,280 and therefore the new formula here is actually  in fact equivalent to the initial formula so um 52 00:06:03,360 --> 00:06:07,680 yeah you can for example try to prove  that in this case for example here   53 00:06:07,680 --> 00:06:14,400 by a little uh semantic argument so why is this  new clause entailed by this initial formula   54 00:06:14,400 --> 00:06:22,560 well so so for example you take a you take  an interpretation that satisfies this formula   55 00:06:23,120 --> 00:06:30,000 then we know that either q or not q that that  is q is assigned to one or assigned to zero yeah   56 00:06:30,000 --> 00:06:37,840 in the case where it's assigned to one where  where q is assigned to one then this p this   57 00:06:37,840 --> 00:06:44,320 either p or r has to be true because i in order  to make this um clause true because uh we assume   58 00:06:44,320 --> 00:06:50,240 that this it satisfies this formula here yeah  so this has to be this thing has to be true so   59 00:06:50,240 --> 00:06:56,080 then it's what either one either one of p or  r has to be true therefore this new clause is   60 00:06:56,080 --> 00:07:03,040 true that is the interpretation of this uh  in uh over this new clause is true and also   61 00:07:03,040 --> 00:07:09,840 yeah when q is assigned to 0 then t has to be  true in order for this initial in order for   62 00:07:10,640 --> 00:07:16,320 this initial formula to be satisfied by the  model and therefore this the model also the   63 00:07:16,320 --> 00:07:21,280 interpretation of satisfies t here yeah  so that's a little semantic argument that   64 00:07:21,280 --> 00:07:25,840 you can apply in order to check that this  actually is entailed by the initial formula   65 00:07:27,760 --> 00:07:36,000 now a resolution proof system is extremely  simple so you it goes as follows you   66 00:07:36,000 --> 00:07:39,840 are given your initial formula in cnf  and you just have to keep applying this 67 00:07:41,920 --> 00:07:44,480 resolution steps of course  different resolution steps   68 00:07:45,360 --> 00:07:50,800 um until no new clauses could be added  yeah so that's that's pretty much it and 69 00:07:53,120 --> 00:07:59,600 yeah and the theorem here is that the initial  formula is unsatisfiable if and only if the   70 00:07:59,600 --> 00:08:07,600 empty clause um the empty clause that is uh  uh this guy here that we write like this yeah   71 00:08:07,600 --> 00:08:12,720 bottom because it's actually unsatisfiable  empty clause is generated by resolution 72 00:08:18,960 --> 00:08:23,120 so we're going to take a look at a little bit  more details now on the resolution proof system 73 00:08:25,200 --> 00:08:29,680 um in order to talk about the resolution   74 00:08:29,680 --> 00:08:35,120 um system it is convenient to assume the  so-called set representation of cnn formulas   75 00:08:36,240 --> 00:08:42,960 so the key idea here is as follows so claus  remember it just a disjunction of literals yeah   76 00:08:43,600 --> 00:08:51,520 and disjunctions of course satisfy commissivity  sensitivity and adam potence we saw last week   77 00:08:52,960 --> 00:09:01,440 so we can then because of this  we can then represent a clause   78 00:09:03,280 --> 00:09:08,560 as this as a set for example if you look at the  example here so the clause here on the left can   79 00:09:08,560 --> 00:09:17,600 be represented as the um as the set on the right  here yeah and of course um the idea here is that   80 00:09:17,600 --> 00:09:22,080 take every literal and just put that in that set  take delete every literal in the class put it in   81 00:09:22,080 --> 00:09:27,120 that set now if you have duplicate literals of  course this will be removed but then that's fine   82 00:09:27,120 --> 00:09:31,280 it doesn't really make any difference just  because of the adam potent properties of um 83 00:09:34,160 --> 00:09:39,440 so likewise a conjunction of formulas can also  be represented using a set i mean just because   84 00:09:39,440 --> 00:09:44,000 of the connectivity and associativity as well of  and this of course also other importance of con   85 00:09:46,000 --> 00:09:54,880 of conjunctions um now uh the idea here  is that every clause will then just be put   86 00:09:54,880 --> 00:10:03,840 in the in the biggest set as opposed to a  literal so you can for example um represent   87 00:10:05,040 --> 00:10:12,400 this formula here okay so you can see a formula  in cnf yeah so this so this has a bunch of clauses   88 00:10:12,400 --> 00:10:17,360 so each clause here will be represented as a set  and after your percentage clause is set to just   89 00:10:17,360 --> 00:10:25,200 put the um you just put the um just make a bigger  set that consists of all these classes yeah so   90 00:10:25,200 --> 00:10:32,160 for example you uh for this example you simply  create this bigger set and each of this guy here   91 00:10:32,160 --> 00:10:42,560 will just be put as the um inside this bigger set  yeah um if you have for example duplicate clauses   92 00:10:42,560 --> 00:10:46,080 then the duplicates of course will be  removed but it doesn't make any difference   93 00:10:46,080 --> 00:10:54,320 it's fine yeah so that's the representation  of cnn formulas using sets of sets of literals 94 00:10:56,640 --> 00:11:03,520 i have a couple of um questions for you  little questions just to check whether   95 00:11:03,520 --> 00:11:12,320 or not you understand uh the um how to do this  conversion and what it really means when you see   96 00:11:13,760 --> 00:11:16,960 a sienna formula in this representation yeah so   97 00:11:18,800 --> 00:11:24,400 which ones of the following formulas are  unsatisfiable so i have five questions   98 00:11:24,400 --> 00:11:30,720 here i encourage you to think about this for  about two minutes before you continue the video 99 00:11:38,720 --> 00:11:44,400 okay so let's go through the  solutions to this uh to this quiz   100 00:11:46,240 --> 00:11:52,800 let's take let's take a look at the formulas one  by one so let's take a look at the first formula   101 00:11:52,800 --> 00:11:59,040 well this is just the same as a formula consisting  of a single clause so this is basically you know   102 00:11:59,040 --> 00:12:05,520 you have this formula here a and of course that's  that's the single clause consisting of a and   103 00:12:07,360 --> 00:12:09,840 so this is of course satisfiable you can assign 104 00:12:12,240 --> 00:12:18,640 one to a then that's going to be a  satisfiable satisfying assignment 105 00:12:20,800 --> 00:12:27,760 take a look at the second one here so  the second one here is you have a and   106 00:12:27,760 --> 00:12:34,480 not a well that's of course not satisfiable  yeah so a and not a as we saw before   107 00:12:34,480 --> 00:12:40,320 this unsatisfiable what about the third  one is it satisfiable or not satisfiable   108 00:12:40,320 --> 00:12:45,360 so let's see what it means so just be a bit  careful here yeah so you see like so the the   109 00:12:45,360 --> 00:12:53,440 braces yeah so you have the the top most uh  so basically you have a set consisting of a   110 00:12:54,240 --> 00:13:02,880 comma not a so the innermost the innermost set  yeah so this is basically just a or not a so you   111 00:13:02,880 --> 00:13:09,680 have um we have a single class consisting of  these two literals a comma not a now of course   112 00:13:09,680 --> 00:13:17,360 if you see this thing then um then you can see  now that this is of course this has to be um   113 00:13:17,360 --> 00:13:23,040 this is equivalent to the equivalent to top this  is basically just the valid it's just a tautology   114 00:13:23,040 --> 00:13:30,880 so it is of course satisfiable now we have these  two little uh i would say like corner cases here   115 00:13:32,160 --> 00:13:39,760 so what are these corner cases well firstly  what do they really mean so this is just you   116 00:13:39,760 --> 00:13:48,080 have basically um empty sets at some level here  for four and five so let's take a look at um four   117 00:13:49,360 --> 00:13:55,760 four here is you have a single clause consisting  of well you have a single empty clause   118 00:13:55,760 --> 00:14:03,760 in the uh you have a single empty clause in  the um in the formula so what does it mean   119 00:14:03,760 --> 00:14:07,600 by an empty clause remember if you have  an empty conjunctions yeah so let's say   120 00:14:08,640 --> 00:14:15,120 one up to um it's a zero you have um that's  a literal so do you remember what this   121 00:14:15,120 --> 00:14:19,840 conventionally uh what this convention means  if you have um if you have an empty disjunction   122 00:14:21,040 --> 00:14:28,080 so this is interpreted as by convention  this is interpreted as bottom okay so   123 00:14:29,360 --> 00:14:35,520 this would mean that the formula here  actually is just equivalent to bottom   124 00:14:35,520 --> 00:14:39,120 okay so of course that would  just be the unsatisfiable formula 125 00:14:41,280 --> 00:14:44,960 so what about this one here so  here you have an empty clause 126 00:14:48,560 --> 00:14:52,080 story not empty clause empty  conjunction so empty conjunction   127 00:14:52,880 --> 00:15:01,520 by definition or by a  convention uh sorry this is uh 128 00:15:07,600 --> 00:15:14,720 so empty conjunction of clauses so if it's empty  it's always interpreted as top yeah and therefore   129 00:15:14,720 --> 00:15:21,280 this is simply just the yeah this is just  the um the tautology so therefore this   130 00:15:21,280 --> 00:15:28,000 this uh this is a satisfiable formula okay yeah  well that's pretty much it for the in-class quiz   131 00:15:29,920 --> 00:15:34,000 um let's try to go through the resolution proof   132 00:15:34,000 --> 00:15:39,840 um the resolution step in more detail in order  to define this resolution step in more detail   133 00:15:40,480 --> 00:15:44,880 we need to we need the notion of a resolvent  so the resolvent here intuitively speaking   134 00:15:44,880 --> 00:15:51,280 is the clause that you generate after you find  this uh two clauses with conflicting literals yeah   135 00:15:51,280 --> 00:15:58,480 so let's um formalize this so you're given two  clauses c and c prime such that you have literal l   136 00:15:59,200 --> 00:16:07,840 in c and you have the opposite literal not l  in c prime okay so this is for some literal l 137 00:16:10,480 --> 00:16:18,320 then the resolvent of cnc prime is defined to be  the following clause it's the clause this is the   138 00:16:18,320 --> 00:16:28,320 clause r and obtained by you take the union  of c minus l yeah so you remove the l from c   139 00:16:29,280 --> 00:16:41,120 and you remove the and then here you all and then  you a union c prime where the where not l here is   140 00:16:41,120 --> 00:16:50,160 removed from c prime okay so that's the uh that's  the notion of resolvent this the new velocity   141 00:16:50,160 --> 00:16:56,240 generate after you apply a single resolution  step here that we you saw um let's do so before   142 00:16:56,880 --> 00:17:07,920 so here's an example so this here this p t and  r is a resolvent for the the two clauses here   143 00:17:07,920 --> 00:17:16,880 so this is the example that you saw um the second  slide and what's going on here so you as you saw   144 00:17:16,880 --> 00:17:27,920 before the what is the l here the l here is simply  this yeah the l here is just oh here's q yeah okay 145 00:17:30,480 --> 00:17:41,040 right so that's uh the notion of resolvent how do  we formalize this uh resolution uh proof system   146 00:17:41,680 --> 00:17:45,600 so this can be formalized in two  different ways so this is the   147 00:17:45,600 --> 00:17:52,160 so the first way is to think of it as some kind of  uh some kind of um fixed point computation so we   148 00:17:53,520 --> 00:18:01,920 the idea here is um given your original set of um  clauses um you want to keep generating resolvence   149 00:18:02,560 --> 00:18:08,640 from your original from your um from your set of  formulas from your set of clauses and then you   150 00:18:08,640 --> 00:18:13,440 keep adding it to your you keep adding it to your  set of clauses yeah and then you keep you keep   151 00:18:13,440 --> 00:18:18,720 applying it until you can't really get any more  resolvence out of it so here can be formalized as   152 00:18:18,720 --> 00:18:26,640 follows you you you derive here uh you define here  the following function press yeah and this takes a   153 00:18:26,640 --> 00:18:32,880 set of clauses and this will return a set of plots  the set of clauses that you return always subsumes   154 00:18:32,880 --> 00:18:42,000 the original set of clauses as you can see here  f is contained in the um in the output of rest of   155 00:18:42,000 --> 00:18:50,560 f okay so um so what is here well if r is a  resolvent of f yeah then you just add that to   156 00:18:50,560 --> 00:18:58,240 your um to you you add that to f okay so this  is a single resolution single resolution step 157 00:19:00,960 --> 00:19:09,840 and then you can define it um and then you can  define res rest n of f yeah so this means applying   158 00:19:10,800 --> 00:19:17,680 this operator n times to f and this can  be formally defined using using induction   159 00:19:17,680 --> 00:19:25,280 as follows here yeah so initially the rest of rest  0 of f it means you don't apply anything so it's   160 00:19:25,280 --> 00:19:35,440 basically just f so rest n plus 1 of f is obtained  by applying res applying res to this rest n of f   161 00:19:35,440 --> 00:19:43,600 yeah so which is we assume already uh is already  defined so this is uh um the formal definition of   162 00:19:43,600 --> 00:19:54,560 uh rus and uh rest n of f and we define the limit  yeah this is star yeah of uh res restart of f   163 00:19:54,560 --> 00:20:02,240 to be yeah simply you just take the union of all  this rest n of f yeah so um so it just means that   164 00:20:02,800 --> 00:20:09,840 so this is uh this this basically the set of  all clauses that we can obtain by applying   165 00:20:10,800 --> 00:20:17,440 zero or more resolution steps to f  right so the second way to define this   166 00:20:18,880 --> 00:20:24,320 is to use the notion of uh to define  the notion of a proof right so   167 00:20:25,840 --> 00:20:30,480 um here's the definition so given a set of  clauses f a sequence of clauses of course   168 00:20:30,480 --> 00:20:37,840 it's just c one of the c n yeah now a proof would  just be a sequence of clauses such that either   169 00:20:37,840 --> 00:20:44,480 the following is true for h clause c i so c i is  either in f that is one of the um pluses that you   170 00:20:44,480 --> 00:20:52,480 started with or that c is a resolvent of two  clauses that appear in this sequence okay so   171 00:20:52,480 --> 00:21:00,240 meaning that they were either already in f or they  were already previously derived using these rules   172 00:21:00,240 --> 00:21:07,120 here so this is what it means by proof also known  as the derivation yeah so and this is a derivation   173 00:21:07,120 --> 00:21:13,840 of the last um the last clause here the derivation  of c n from f in this case we just simply write f   174 00:21:14,640 --> 00:21:21,920 and here you can note you can see here there's  a new symbol a single single turn style yeah   175 00:21:21,920 --> 00:21:30,160 f single turn cell cn so this is another way  to write or to say that f can be used to prove   176 00:21:30,160 --> 00:21:37,680 cn or f proves cn or says cn can be  derived from f using resolution so 177 00:21:40,640 --> 00:21:46,240 okay so here's an example  of a proof using resolution 178 00:21:48,720 --> 00:22:01,520 so and here i of course you saw the notion of a  proof is a sequence of clauses but there's also a   179 00:22:01,520 --> 00:22:06,240 visual representation of this yeah so the visual  representation this is more like a tree-like   180 00:22:07,280 --> 00:22:12,400 representation it's more sometimes more convenient  when you want to write it down when you want to   181 00:22:12,400 --> 00:22:16,880 present the proof to other people so let's  see how do you apply resolution steps here   182 00:22:16,880 --> 00:22:23,200 this there are several ways here that you can  approach this so for example you notice that   183 00:22:24,080 --> 00:22:28,960 there are already a number of places number of uh  there are already several clauses here that have   184 00:22:28,960 --> 00:22:35,200 conflicting literals for example here i have this  q and q uh q and q prime yeah sorry q and not q   185 00:22:35,200 --> 00:22:42,080 and you also have r here i'll just take a  different color r and not r and then also here you   186 00:22:42,080 --> 00:22:50,320 also have p and not p right so you have several  ways to proceed um and you can proceed in any way   187 00:22:50,320 --> 00:22:59,840 you like so let's take a look [Music] so firstly  of course we are going to represent this using   188 00:23:00,880 --> 00:23:09,920 the set representation so this is what you have  so you can for example proceed by by taking the   189 00:23:09,920 --> 00:23:15,360 resolvent of the second and the third  clause yeah so if this is the resolvent here   190 00:23:16,080 --> 00:23:25,680 that yeah would be this q you eliminate the r  and not r and then for example you can then pick   191 00:23:25,680 --> 00:23:36,240 the this one here so you have this q and not  q so you can then eliminate this q a not q   192 00:23:36,240 --> 00:23:43,840 and then you get p right this is the resolvent  of these two clauses and then you can then uh   193 00:23:45,680 --> 00:23:53,360 for example look at this p and then not p  here yeah um so p and not p here so these   194 00:23:53,360 --> 00:23:59,600 are uh two clauses with conflicting literals so  you remove the p and not p and take the union   195 00:23:59,600 --> 00:24:07,920 you just get the empty empty claw okay so so  this is as i mentioned just now this is this   196 00:24:07,920 --> 00:24:13,760 three representation of proofs is also called the  proof tree so it's uh more descriptive sometimes   197 00:24:14,400 --> 00:24:18,000 than the cumbersome proof sequence so you could  for example instead of this you could just write   198 00:24:18,000 --> 00:24:22,800 it down like this yeah so this is like the first  formula so the first clause second clause third   199 00:24:22,800 --> 00:24:27,680 clause and then just keep writing this down  and at the end you just get the bar okay so 200 00:24:31,600 --> 00:24:37,600 so here are some exercises for you so apply  resolutions on the following formulas and   201 00:24:37,600 --> 00:24:45,600 determine satisfiability of these formulas so i  will give you guys about um let's say about 10   202 00:24:45,600 --> 00:24:53,520 minutes to do this examples and afterwards we'll  talk about the uh we'll go through some of them 203 00:24:57,760 --> 00:25:04,800 okay so let's take a look at the solutions to  the exercises let's try the first example first   204 00:25:06,160 --> 00:25:09,840 um in this case what we're gonna do   205 00:25:11,040 --> 00:25:15,920 remember we're gonna have to first translate  it to the set representation so we have 206 00:25:20,240 --> 00:25:31,120 oops let me change color x y not x comma z   207 00:25:33,120 --> 00:25:44,480 not x comma not that and the other  one is x comma not y right so what 208 00:25:47,440 --> 00:25:54,000 what are we gonna do now what are we um  which two clauses are we gonna pick so first   209 00:25:55,360 --> 00:26:02,640 when we see these four classes the best thing just  a little trick here we want to we want to try to   210 00:26:02,640 --> 00:26:10,160 generate so the rule here or rule of thumb yeah  is to try to keep it simple we try to generate a   211 00:26:10,160 --> 00:26:18,720 clause that is as simple as possible yeah so this  is uh um this is always good if we can do that   212 00:26:18,720 --> 00:26:27,120 and in this case we can take a look at these two  clauses here the first one and the fourth one and   213 00:26:27,120 --> 00:26:32,720 these two clauses you see that the only difference  here is just the you have y and not y right   214 00:26:32,720 --> 00:26:41,040 so let's try to take the compute the resolvent  for that so this is a little bit far and if you   215 00:26:41,040 --> 00:26:46,080 want to try to draw it nicely you might need to  kind of shuffle things around a little bit but   216 00:26:47,840 --> 00:26:52,560 that's not a problem because we are doing  it the first uh the first time around yeah   217 00:26:52,560 --> 00:27:00,640 so um you would get if you take the  result of this you would get x right right   218 00:27:02,400 --> 00:27:12,160 and now once we've done that we  can for example consider the second 219 00:27:14,720 --> 00:27:17,680 okay so let me just write five  so we can look at the fifth   220 00:27:19,120 --> 00:27:23,040 clause and the second clause so  from here and here you would get 221 00:27:25,920 --> 00:27:27,200 you would get that 222 00:27:29,600 --> 00:27:39,680 yeah and now we can take for example  the fifth one and the third one 223 00:27:41,840 --> 00:27:48,640 yeah so notice that we might need to use a clause  multiple times and this is you closely use the   224 00:27:48,640 --> 00:27:55,840 clause fifth clause multiple times yeah so let's  take fifth and third in this case you would get 225 00:27:59,760 --> 00:28:02,880 not that okay and then 226 00:28:05,040 --> 00:28:11,360 we can just do the six um computer resolving   227 00:28:12,080 --> 00:28:18,640 of six and seven you would get the empty clause  and yeah that's that's pretty much it here 228 00:28:21,040 --> 00:28:30,320 so by by the soundness theorem that you will  see in a bit this would mean that you would   229 00:28:30,320 --> 00:28:37,360 get a formula that is unsatisfiable so uh the this  formula the original formula is unsatisfiable all   230 00:28:37,360 --> 00:28:42,560 right all right let's take a look at solution to  the second question and in this case we don't yet   231 00:28:42,560 --> 00:28:49,200 have a formula in cnf so firstly the first thing  you need to do is to convert it to cnf and in this   232 00:28:49,200 --> 00:28:58,800 case it's actually not that difficult because it  is almost in cnf so you would get you just have to 233 00:29:04,240 --> 00:29:11,680 simplify this so an application it means that  it's just not p or q or r yeah so that would be   234 00:29:11,680 --> 00:29:22,880 not p q or r yeah so this is pretty much  already cnf actually so it's not q s and not r   235 00:29:24,160 --> 00:29:32,400 s and p not s so we can then write  it down in the set representation   236 00:29:34,240 --> 00:29:40,880 set representation we have  not p q r we have not q s 237 00:29:43,200 --> 00:29:47,760 we have not r s and then we have p 238 00:29:49,920 --> 00:29:56,880 s right so let's take a look what we can do now to 239 00:29:59,360 --> 00:30:01,200 apply the resolution proof system 240 00:30:04,240 --> 00:30:09,120 so the rule of thumb remember we always  try we always prefer the smaller clauses   241 00:30:09,120 --> 00:30:13,440 yeah whenever possible or prefer to use smaller  clauses and prefer to generate smaller clauses   242 00:30:14,000 --> 00:30:18,000 um of course this is not always  possible yeah but this is what we   243 00:30:18,000 --> 00:30:22,240 you know what we're gonna try to do because  it's just simpler as human so let's to do   244 00:30:22,240 --> 00:30:30,640 that let's try to do that the let's take this one  and this one for now yeah you would get q comma r   245 00:30:32,160 --> 00:30:39,200 right so let's uh is there something  else we can do here let's try 246 00:30:41,600 --> 00:30:46,960 um this is s okay let's let's do this one now 247 00:30:49,360 --> 00:30:52,000 yeah third and fifth you get 248 00:30:54,560 --> 00:31:03,840 not r yep so now if you do that here  this one and that you would get q 249 00:31:06,320 --> 00:31:14,240 right so it looks like we have to bring um  into play the second clause how do we do that   250 00:31:15,040 --> 00:31:22,720 so this is s remember yeah so this is not  q comma s so what do we have here okay so   251 00:31:22,720 --> 00:31:31,840 looks like we can do the following here so we can  do the second and the fifth class you would get   252 00:31:33,280 --> 00:31:39,280 not q here okay and therefore  this and that should give you   253 00:31:40,320 --> 00:31:45,840 the empty class right so that's  pretty much the solution to the second   254 00:31:47,120 --> 00:31:52,800 the second exercise and therefore it's  also unsatisfiable formula all right 255 00:31:57,680 --> 00:32:03,520 okay so let me conclude with the following  question so what are the differences between   256 00:32:03,520 --> 00:32:08,240 these two symbols we've seen a bunch of symbols  that look pretty similar and this is one of them   257 00:32:08,240 --> 00:32:13,600 one possible source of one possible source  of confusion yeah so on the one hand here   258 00:32:13,600 --> 00:32:18,160 so we've seen this thing used for for  example for entailment also to mean like um 259 00:32:21,520 --> 00:32:29,200 an interpretation is a satisfying interpretation  for some formula or it's a model for some formula   260 00:32:29,200 --> 00:32:35,280 and this one here so we've  used this to mean um that   261 00:32:36,960 --> 00:32:46,000 a set of form a set of clauses in our case of our  set of clauses can be used to derive a clause yeah   262 00:32:46,640 --> 00:32:51,920 so what are the differences between these two  symbols so i will give you a general guideline   263 00:32:51,920 --> 00:33:01,120 here this is a general answer so in general  this so if you have a single turn style a single   264 00:33:01,120 --> 00:33:07,760 stripe like this here so this is typically used to  indicate some kind of a probability in some proof   265 00:33:07,760 --> 00:33:16,080 system so this typically means it's syntactic  and it's it can be uh this can be implemented uh   266 00:33:16,080 --> 00:33:22,160 in uh as computer program and this doesn't have  direct connection with semantics yet at this point   267 00:33:22,160 --> 00:33:28,960 and this notion of this notation is typically used  to yeah i mean this is typically used to mean um   268 00:33:30,240 --> 00:33:34,000 that it has something to do with  semantics yeah as opposed to the syntax   269 00:33:34,000 --> 00:33:40,880 and uh one thing here that is really important  is that we typically uh so for the for example   270 00:33:40,880 --> 00:33:47,440 for this uh for any of this notion in fact any  of this notation sometimes we take um we put   271 00:33:47,440 --> 00:33:52,720 some kind of a prefix like this for example like  rasia so for example we can have this probability   272 00:33:52,720 --> 00:33:59,520 and then with rest we just specifically to  mean that this is probability in um using   273 00:33:59,520 --> 00:34:05,840 resolution proof system yeah but yeah we don't  need to do that whenever the meaning is clear 274 00:34:08,000 --> 00:34:13,360 okay so we now gonna talk about three  important properties of the resolution   275 00:34:13,360 --> 00:34:22,240 proof system soundness completeness and  termination so the first two statements   276 00:34:22,240 --> 00:34:29,440 relate the syntax and semantics typically yeah so  syntax means the proof system so it is something   277 00:34:29,440 --> 00:34:36,240 that is syntactic something that you can just  carry out algorithmically and semantics is   278 00:34:36,800 --> 00:34:43,760 yeah i mean this is not something that is  immediately automatable now the soundness   279 00:34:43,760 --> 00:34:51,520 theorem or soundness property says that for as  far as the resolution proof system is concerned   280 00:34:53,360 --> 00:35:01,600 if the empty clause can be derived then the  formula is unsatisfiable now the completeness   281 00:35:01,600 --> 00:35:09,040 theorem it says that if a formula is unsatisfiable  then there is the resolution proof system   282 00:35:10,160 --> 00:35:13,280 then you can find a proof in  the resolution proof system yeah   283 00:35:14,400 --> 00:35:25,200 namely that you can derive the empty clause from  the set of given clauses so um yeah both of these   284 00:35:25,840 --> 00:35:30,160 properties soundness and completeness are really  important for proof system we will see this theme   285 00:35:30,800 --> 00:35:38,240 several times in this course now the next question  is that is really important is can we make the   286 00:35:38,240 --> 00:35:45,760 proof system a terminating algorithm so what we've  seen so far is that as far as the resolution proof   287 00:35:45,760 --> 00:35:51,600 system is concerned some of the steps you might  have to guess a little bit i mean it is possible   288 00:35:51,600 --> 00:35:58,160 to automate this in the sense that okay so we just  generate all the possible resolvence but it is not   289 00:36:00,000 --> 00:36:05,040 immediate not uh not directly immediate  that this will actually terminate so this   290 00:36:05,040 --> 00:36:08,800 in fact we can actually make turn  this into a terminating algorithm   291 00:36:09,440 --> 00:36:14,800 and it will not be really difficult later on  because in some sense the set of all possible   292 00:36:14,800 --> 00:36:20,240 resolvence is bounded so we will see all of  this we will cover all these three properties   293 00:36:21,440 --> 00:36:31,920 one by one first we're going to talk about  soundness so as we as we just mentioned   294 00:36:32,960 --> 00:36:40,400 if the empty clause can be derived by  resolutions then the formula isn't satisfiable   295 00:36:42,080 --> 00:36:47,840 so we're going to look at a proof of this in  order to prove dishonest theorem we need the   296 00:36:47,840 --> 00:36:54,960 following lemma resolution lemma which says  that if r is a resolvent of c and c prime   297 00:36:56,080 --> 00:37:02,720 then we can add r into the formula without  while preserving the equivalence yeah so   298 00:37:02,720 --> 00:37:09,600 that is c and c prime is equivalent  to c and c prime and r yeah so this r   299 00:37:09,600 --> 00:37:16,560 doesn't really change the semantics of  the formula so let's try to prove that 300 00:37:19,680 --> 00:37:26,560 so in order to prove this it is sufficient  to just prove that c and c prime   301 00:37:27,520 --> 00:37:30,880 semantically entails r yeah so 302 00:37:35,760 --> 00:37:43,200 why is that the case if c and c prime  semantically entails r then so firstly   303 00:37:43,200 --> 00:37:46,560 this the right hand side entails the  left-hand side obviously and you just   304 00:37:46,560 --> 00:37:50,560 need to show that the left-hand side entails  the right-hand side and in order to show that   305 00:37:50,560 --> 00:37:55,600 the left-hand side in tells the right-hand side  of course you can break it down into two parts   306 00:37:56,240 --> 00:38:01,040 this c and c-prime of course intel c and c-prime  so that's not a problem so you just then need   307 00:38:01,040 --> 00:38:06,720 to show that c-s-prime entails are which  is basically what this statement is about   308 00:38:07,600 --> 00:38:17,840 so um so how do we show this firstly recall that r  here is defined as follows so it's um basically c   309 00:38:18,640 --> 00:38:26,480 union c prime but then you remove l this you  remember that we have two con opposite literals   310 00:38:26,480 --> 00:38:34,800 yeah so l and l prime so ln not l so remove  l from c and then not l from c prime yeah so 311 00:38:37,440 --> 00:38:41,440 so let's say we are so in order to  prove this we assume we are given   312 00:38:41,440 --> 00:38:50,560 an interpretation that satisfies c and c prime  yeah so in order to prove that this i satisfies r 313 00:38:53,040 --> 00:39:02,080 we break it down to two cases the first  case is when the um when l is set to   314 00:39:02,800 --> 00:39:14,800 1 by i yeah so this is the first case here in this  case l prime in this case l prime for some l prime   315 00:39:14,800 --> 00:39:24,560 in um l prime in this c c prime um c prime minus  not l of course yeah because um so this is um this   316 00:39:24,560 --> 00:39:32,640 is gonna be set one by i the reason of course is  that the literal not l is not satisfied by i so it   317 00:39:32,640 --> 00:39:38,080 but this is because if because it's conjunction  you have to satisfy at least one of the literals   318 00:39:38,080 --> 00:39:44,400 in c prime so therefore you have this statement  here so the second condition here of course is um   319 00:39:45,040 --> 00:39:52,000 so this is when um this literal  here that is not l is satisfied by i   320 00:39:52,000 --> 00:39:59,200 so that is you set l to be zero so in this  case this case is just completely symmetric   321 00:40:00,000 --> 00:40:08,000 so um one of the uh literals l  prime in c in this in c minus l here   322 00:40:09,760 --> 00:40:20,400 going to be set to true it's for the same reason  as well so in either case we have i satisfies   323 00:40:20,400 --> 00:40:30,880 the the resolvent yeah because one of this l prime  so the l prime here will be in the resolvent so 324 00:40:35,680 --> 00:40:38,880 okay so that's the resolution  lemma that's the end of the proof 325 00:40:41,600 --> 00:40:46,480 so we're now gonna use the resolution  lemma to prove the sauna's theorem 326 00:40:49,040 --> 00:40:52,960 so the proof goes as follows  so we're going to prove that   327 00:40:54,640 --> 00:41:00,800 we're going to prove something more general that  is if c can be derived from f then c is entailed   328 00:41:00,800 --> 00:41:11,040 by alpha so um of course if we just set c to  be the empty clause then um this would be the   329 00:41:11,040 --> 00:41:16,640 statement of the theorem here that we want to  prove here so let's try to prove this this more   330 00:41:16,640 --> 00:41:24,480 general statement and we're gonna do this by  induction on the length and of the proofs of   331 00:41:26,400 --> 00:41:33,840 oops let me just yeah um of the proofs of  this so we're gonna start with n equals zero   332 00:41:35,280 --> 00:41:42,160 um and in this case the length of the proof um  yeah so if the length of the proof is zero this is   333 00:41:42,160 --> 00:41:48,160 basically the very last clause yeah so this means  that this actually has to be in f itself yeah   334 00:41:48,160 --> 00:41:54,800 this has to be in this has to be one of the um one  of the clauses one of the clauses in f we have not   335 00:41:54,800 --> 00:42:00,320 actually applied any resolution steps at all this  would immediately imply that f intel c because   336 00:42:00,320 --> 00:42:07,120 this is enough so this is very this is really a  vacuum statement so now let's take a look at the   337 00:42:07,680 --> 00:42:13,600 um inductive step so we can assume that n is  greater than zero and we have an induction   338 00:42:13,600 --> 00:42:25,840 hypothesis that if c can be derived from f in in  this case n minus one steps yeah then uh f entails   339 00:42:26,640 --> 00:42:35,280 f intel c so this is basically what is written  here so um say we have the proof c1 up to cn   340 00:42:36,880 --> 00:42:42,080 and in this case the cn here  would be would actually be c now   341 00:42:43,680 --> 00:42:49,760 so induction hypothesis gives us that  f semantically entails ci for each   342 00:42:50,400 --> 00:43:01,600 ion between one up to n minus one yeah so um so  this because the length is shorter now so there   343 00:43:01,600 --> 00:43:06,480 are two cases here the first case is that cn  actually is already in is actually already in   344 00:43:06,480 --> 00:43:12,800 in f yeah but the in in that case is um it's  really the same as this the base case it's vacuous   345 00:43:12,800 --> 00:43:19,440 here so let's assume the more difficult case  where c n is actually a resolvent of c i comma c j   346 00:43:19,440 --> 00:43:29,840 yeah in this case where i s i and j are less than  n so in this case we by resolution theorem we   347 00:43:30,400 --> 00:43:39,920 have this c i comma c j semantically until c n  okay so this resolution theorem and we simply   348 00:43:39,920 --> 00:43:49,600 then have to combine this statement here double  star with a single star here yeah to obtain that   349 00:43:50,240 --> 00:43:57,360 f semantically entails c n this is because of  transitivity of course yeah so we know that f   350 00:43:57,360 --> 00:44:04,480 semantically until c i am semantically  intel's cj now this would imply that   351 00:44:04,480 --> 00:44:11,520 f would also semantically intel and then  because ci and cj in semantically intel cn   352 00:44:12,080 --> 00:44:19,440 then you uh f would semantically entail cn  so this is because of transitivity of of   353 00:44:19,440 --> 00:44:26,400 this um of the semantic end element okay so that's  basically the proof of soundness the sonos theorem 354 00:44:32,560 --> 00:44:38,240 okay so we're gonna now move on to the  proof of completeness theorem for resolution   355 00:44:39,440 --> 00:44:43,360 that is we want to prove that if  the given formula is unsatisfiable   356 00:44:44,720 --> 00:44:49,840 the empty clause can then be derived by resolution   357 00:44:50,800 --> 00:44:56,000 and our proof proceeds by induction on the  total number of variables in the formula f 358 00:44:58,320 --> 00:45:05,600 so what is the base case here it is it is  the case when the formula the given formula   359 00:45:05,600 --> 00:45:13,440 has no variable at all can there be such  a is there such a formula the answer is   360 00:45:13,440 --> 00:45:18,880 yes there are two types of we have two types of  formula with no variables the first one is the   361 00:45:20,000 --> 00:45:23,680 the formula top and the other one is  the formula bottom yeah so both of these   362 00:45:25,120 --> 00:45:30,240 can be represented using conjunction of  clauses the first one of course but the   363 00:45:30,240 --> 00:45:35,600 only one that is unsatisfiable of course is  bottom which is this one as you saw before   364 00:45:37,120 --> 00:45:42,320 and in this case you have  precisely one clause and the 365 00:45:44,640 --> 00:45:48,640 the proof of the empty clause  of course is just consists of uh 366 00:45:51,280 --> 00:45:59,040 of a single of single clause here so it's  a proof of length of like one so this one   367 00:45:59,040 --> 00:46:03,920 is uh the base case is easy so we're now  going to move on to the inductive case   368 00:46:05,040 --> 00:46:11,280 so we want to prove that given a formula  with n variables let's say x one of x n   369 00:46:11,280 --> 00:46:17,760 yeah if the formula is unsatisfiable then the  empty clause can be derived by resolution so   370 00:46:18,640 --> 00:46:25,520 we of course have an assumption the inductive  case yeah basically this statement but for   371 00:46:26,960 --> 00:46:35,520 formulas with up to x sorry up to n minus  one variables so how do we create a formula   372 00:46:35,520 --> 00:46:41,760 with small number of variables from this given  formula with n variables the is that we're going   373 00:46:41,760 --> 00:46:47,760 to do some kind of a substitution particular  we're going to create these two formulas here 374 00:46:51,440 --> 00:46:55,840 from the given formula f yeah so let's  say the formula the given formula is f   375 00:46:57,280 --> 00:47:00,640 so this is obtained as follows we're going  to substitute for the first one we're going   376 00:47:00,640 --> 00:47:10,720 to substitute the value 0 into f sorry  into into the variable x yeah and you do e   377 00:47:10,720 --> 00:47:15,120 of course after that you simplify yeah so this  basically going to be interpreted as bottom   378 00:47:15,120 --> 00:47:20,080 you just apply the standard simplification from  boolean algebras to get rid of the bottom yeah   379 00:47:20,800 --> 00:47:27,600 and after that um you also construct the  formula the second formula here and this   380 00:47:27,600 --> 00:47:34,880 is done by simply substituting one to x and  in the order in the original formula f yeah   381 00:47:34,880 --> 00:47:39,760 so the same thing you after that you also  have to simplify removing the top from the 382 00:47:41,920 --> 00:47:49,520 resulting formula now since the formula  f is assumed to be unsatisfiable   383 00:47:50,080 --> 00:47:56,480 both of these new formulas here must also  be unsatisfiable and this is easy to see   384 00:47:58,240 --> 00:48:06,480 um so what do we what can we then say the  first one is that the first formula because is   385 00:48:06,480 --> 00:48:14,560 unsatisfiable it will have uh it will have uh by  inductive hypothesis by the induction hypothesis   386 00:48:15,360 --> 00:48:21,200 then you have a proof of the empty clause by  resolution let's say the proof is this c1 up   387 00:48:21,200 --> 00:48:30,480 c1 up to ck okay so the ck here is going to be  the empty clause so what we can do now is we can   388 00:48:31,760 --> 00:48:39,920 put the xn back to these clauses and we're gonna  then get uh we get a derivation ending in either   389 00:48:41,200 --> 00:48:49,200 bottom or x n yeah now the same thing we're gonna  do the same thing for the second formula here 390 00:48:52,640 --> 00:48:57,840 so we're gonna get the same a  different possibly different 391 00:48:59,920 --> 00:49:02,480 resolution proof of the empty clause 392 00:49:05,120 --> 00:49:10,240 and we're going to do the same thing we're going  to put x and back to these clauses and then the   393 00:49:10,240 --> 00:49:17,600 derivation that we're going to get after that  will end in either an empty clause or not x n okay 394 00:49:20,640 --> 00:49:26,240 so let's finish off the proof so if any of  these derivations after we substitute xn back 395 00:49:28,800 --> 00:49:34,320 contains the empty class then we are done  because we have a proof of the empty class   396 00:49:36,160 --> 00:49:43,360 otherwise we simply have to combine the these two  derivations that will which will then contain both   397 00:49:43,360 --> 00:49:51,120 xn and not xn so after that we can then just  simply apply one resolution step to this   398 00:49:51,120 --> 00:49:58,880 clauses and derive the empty class so that's  pretty much the proof of the completeness theorem   399 00:50:00,640 --> 00:50:04,480 so here's a little exercise  for you so we know that 400 00:50:07,440 --> 00:50:15,440 we can apply resolution to prove unsatisfiably  but what happens in this case here so we have 401 00:50:18,000 --> 00:50:18,880 these two clauses 402 00:50:21,520 --> 00:50:27,920 we can apply resolution once we let's say  we get that but after that there's nothing   403 00:50:27,920 --> 00:50:34,160 more that you can apply yeah we are we're kind of  stuck so what kind of what kind of things can you   404 00:50:34,160 --> 00:50:45,200 say now by component and completeness and think  about it a little bit before you see the answer   405 00:50:47,200 --> 00:50:56,240 yeah so the answer here is that this means that  the formula is satisfiable so if this satisfiable   406 00:50:56,240 --> 00:51:00,480 you should be able to give a satisfying assignment  and what would be a satisfying assignment for this   407 00:51:02,240 --> 00:51:11,280 so you can think about it the answer is not that  difficult so simply have to set p to zero yeah   408 00:51:11,840 --> 00:51:17,600 and q to zero this will give you a  satisfying assignment for the formula 409 00:51:17,600 --> 00:51:21,840 here 410 00:51:24,160 --> 00:51:24,960 right so 411 00:51:27,360 --> 00:51:36,320 we conclude now with the last property  of resolution which is that it can be   412 00:51:36,320 --> 00:51:42,080 turned into a terminating algorithm how  do we do that well in order to do that   413 00:51:43,280 --> 00:51:52,080 the most important question here is the following  remember the notation here this means that 414 00:51:54,640 --> 00:52:03,760 f together with any resolvence of f that can  be applied that can be obtained by applying   415 00:52:03,760 --> 00:52:09,280 any number of resolution sets so what's the  maximum size of this is this infinite set   416 00:52:11,040 --> 00:52:18,080 the answer is that this is not an infinite set  this is uh always a finite set and in fact you   417 00:52:18,080 --> 00:52:24,160 can come up with an estimate for this yeah since  each variable in f so let's say you have x1 up to   418 00:52:25,520 --> 00:52:32,880 xn yeah so n variables can either  appear positively negatively or not   419 00:52:32,880 --> 00:52:41,040 appear at all in a class then the size  of this set is simply you can obtain by   420 00:52:42,560 --> 00:52:47,200 simple counting but this has to be less than  or equal to 3 to the power of the number of   421 00:52:47,200 --> 00:52:54,880 variables in f yeah so this is finite but  it's exponential it's a large enough number 422 00:52:58,080 --> 00:53:03,120 but in any case this would imply immediately  that the resolution procedure is guaranteed to   423 00:53:03,120 --> 00:53:13,040 terminate that is as soon as you um stop producing  new resolvence you just stop so um we're gonna   424 00:53:13,040 --> 00:53:19,680 know um i'm just gonna leave you now with a couple  of general questions regarding proof systems   425 00:53:20,960 --> 00:53:31,760 that we're gonna revisit in uh uh in two weeks  first question actually in a week or two yeah   426 00:53:32,480 --> 00:53:37,520 so the first question what is a proof system  so we've looked at resolution proof system but   427 00:53:37,520 --> 00:53:43,840 what is the proof system in general what's it  really mean so the second question is what does   428 00:53:43,840 --> 00:53:50,640 using a proof system require one to understand the  semantics of a given formula or this is something   429 00:53:50,640 --> 00:53:57,200 that is easily automatable third question is the  method of checking validity via a truth table   430 00:53:57,200 --> 00:54:02,640 so this is a proof system so yeah so this  is these are the three general questions i   431 00:54:02,640 --> 00:54:09,040 want to leave i want to leave you with the admit  multiple correct answers to these questions but   432 00:54:09,040 --> 00:54:15,440 i want you to think about this a little bit and  to come up with your own answers and of course   433 00:54:15,440 --> 00:54:22,000 also to just to have a justification of your  answer as well right so um that's all i have for   434 00:54:22,880 --> 00:54:34,640 the topic of resolution per system we're going  to next move to the topic of the pll algorithm 54682

Can't find what you're looking for?
Get subtitles in any language from opensubtitles.com, and translate them here.