Differenze tra le versioni di "Logica fuzzy"
(→Syntax) |
(→Decidability) |
||
(44 versioni intermedie di 2 utenti non mostrate) | |||
Riga 3: | Riga 3: | ||
==A.A. passati == | ==A.A. passati == | ||
{{Annipassati|2007-2008|(Marra, Aguzzoli)|}} | {{Annipassati|2007-2008|(Marra, Aguzzoli)|}} | ||
− | == | + | ==Informations == |
[http://logicafuzzy.di.unimi.it/ Course's website]<br> | [http://logicafuzzy.di.unimi.it/ Course's website]<br> | ||
Times and classrooms:<br> | Times and classrooms:<br> | ||
Riga 12: | Riga 12: | ||
''This notes are written in english to help foreign students to follow this course.'' | ''This notes are written in english to help foreign students to follow this course.'' | ||
===Classical Propositional Logic=== | ===Classical Propositional Logic=== | ||
− | We are going to describe the classical propositional logic ( | + | We are going to describe the classical propositional logic (CPL) language. |
====Syntax==== | ====Syntax==== | ||
''The syntax of a language is the set of rules that specify '''how''' the elements of the language are formed regardless their meaning''. | ''The syntax of a language is the set of rules that specify '''how''' the elements of the language are formed regardless their meaning''. | ||
Let <math>\mathbb{N} = \{1, 2, ... \} </math> be the set of the natural numbers and <math>\mathbb{A} = \{ (, ), X, |, $, \rightarrow, \and, \or, \neg, \top, \bot \}</math> an alphabet of symbols.<br> | Let <math>\mathbb{N} = \{1, 2, ... \} </math> be the set of the natural numbers and <math>\mathbb{A} = \{ (, ), X, |, $, \rightarrow, \and, \or, \neg, \top, \bot \}</math> an alphabet of symbols.<br> | ||
+ | The symbols <math>\bot, \top</math> are called respectively "falsum", "verum".<br> | ||
<math>\mathbb{A}^\star</math> is the set of strings on this alphabet. For example <math>''(\top \and \bot)'' , ''(\neg \and'' , ''X(('' \in \mathbb{A}^\star</math>.<br> | <math>\mathbb{A}^\star</math> is the set of strings on this alphabet. For example <math>''(\top \and \bot)'' , ''(\neg \and'' , ''X(('' \in \mathbb{A}^\star</math>.<br> | ||
We have now to define the set of the "well formed formula" <math>FORM</math>, that is the set of the elements of the L.P.C.<br> | We have now to define the set of the "well formed formula" <math>FORM</math>, that is the set of the elements of the L.P.C.<br> | ||
Riga 46: | Riga 47: | ||
#Exist unique <math>\beta, \gamma \in FORM</math> such that <math>\alpha = (\beta \rightarrow \gamma)</math>. | #Exist unique <math>\beta, \gamma \in FORM</math> such that <math>\alpha = (\beta \rightarrow \gamma)</math>. | ||
Let's, infact, consider the parser of the algorithm we talked above: | Let's, infact, consider the parser of the algorithm we talked above: | ||
− | When it | + | When it finds, for example, <math>\neg(\alpha \and \beta)</math>, to decide if the string belongs to FORM, it have to decide (for the unique readability of well formed formulas) if <math>\alpha \and \beta \in FORM</math>. But how can it do this? Deciding if <math>\alpha \in FORM</math> and <math>\beta \in FORM</math>. |
This is what the above theorem tell us. Try to draw the parser tree. It is unique thanks to, again, that theorem. | This is what the above theorem tell us. Try to draw the parser tree. It is unique thanks to, again, that theorem. | ||
Riga 105: | Riga 106: | ||
Exercise. Prove that the following formulas are tautologies for all <math>\alpha, \beta \in FORM</math><br> | Exercise. Prove that the following formulas are tautologies for all <math>\alpha, \beta \in FORM</math><br> | ||
''Hint: use the truth table''<br> | ''Hint: use the truth table''<br> | ||
− | #<math>\alpha \or \neg\alpha</math> | + | #<math>\alpha \or \neg\alpha</math> (Excluded middle) |
− | #<math>\neg(\alpha \and \neg\alpha)</math> | + | #<math>\neg(\alpha \and \neg\alpha)</math> (Not contradiction) |
− | #<math>\neg\neg\alpha \leftrightarrow \alpha</math> | + | #<math>\neg\neg\alpha \leftrightarrow \alpha</math> (Law of double negation) |
#<math>\neg(\alpha \and \beta) \leftrightarrow \neg\alpha \or \neg\beta</math> (De Morgan rule I) | #<math>\neg(\alpha \and \beta) \leftrightarrow \neg\alpha \or \neg\beta</math> (De Morgan rule I) | ||
#<math>\neg(\alpha \or \beta) \leftrightarrow \neg\alpha \and \neg\beta</math> (De Morgan rule II) | #<math>\neg(\alpha \or \beta) \leftrightarrow \neg\alpha \and \neg\beta</math> (De Morgan rule II) | ||
− | #<math>\alpha \and \neg \alpha \to \beta</math> | + | #<math>\alpha \and \neg \alpha \to \beta</math> (Ex falso quodlibet) |
− | #<math>(\alpha \to \beta) \or (\beta \to \alpha)</math><br> | + | #<math>(\alpha \to \beta) \or (\beta \to \alpha)</math> (Prelinearity)<br> |
Exercise. Prove that exist <math>\alpha, \beta \in FORM</math> for those the following formulas aren't tautologies. Which of these are contradiction?<br>Hint: to prove that a formula isn't a tautology is sufficient an counter-example but to prove that it is a contradiction it isn't sufficient. You can use the truth table again. | Exercise. Prove that exist <math>\alpha, \beta \in FORM</math> for those the following formulas aren't tautologies. Which of these are contradiction?<br>Hint: to prove that a formula isn't a tautology is sufficient an counter-example but to prove that it is a contradiction it isn't sufficient. You can use the truth table again. | ||
Riga 121: | Riga 122: | ||
====Relationship between syntax and semantic==== | ====Relationship between syntax and semantic==== | ||
− | Definition (Axioms of | + | Definition (Axioms of CPL (Classical propositional logic)). For all <math>\alpha, \beta, \gamma \in FORM</math>, let's consider the following formulas. |
#<math>\alpha \to (\beta \to \alpha)</math> | #<math>\alpha \to (\beta \to \alpha)</math> | ||
#<math>(\alpha \to \beta) \to ((\alpha \to (\beta \to \gamma)) \to (\alpha \to \gamma))</math> | #<math>(\alpha \to \beta) \to ((\alpha \to (\beta \to \gamma)) \to (\alpha \to \gamma))</math> | ||
Riga 133: | Riga 134: | ||
#<math>\alpha \to (\neg \alpha \to \beta)</math> | #<math>\alpha \to (\neg \alpha \to \beta)</math> | ||
#<math>\neg\neg\alpha \to \alpha</math> | #<math>\neg\neg\alpha \to \alpha</math> | ||
+ | #<math>\alpha \to \neg\neg \alpha</math> | ||
− | The formulas between 1 and | + | The formulas between 1 and 12 <math>\in AXIOM \subset FORM</math>.<br><math>AXIOM</math> is called '''set of the axioms of the classical propositional logic'''.<br> |
+ | Why these formulas are axioms and not others? Because they are needed to prove the theorem of completeness that is very important for logic. We will talk about this theorem later.. | ||
The cardinality of <math>AXIOM</math> is <math>\infty</math> because <math>\alpha, \beta, \gamma</math> can be other formulas. For example:<br> | The cardinality of <math>AXIOM</math> is <math>\infty</math> because <math>\alpha, \beta, \gamma</math> can be other formulas. For example:<br> | ||
Let <math>\alpha := \beta \and \gamma</math> and substitute in the first axiom; it becomes<br> | Let <math>\alpha := \beta \and \gamma</math> and substitute in the first axiom; it becomes<br> | ||
Riga 146: | Riga 149: | ||
A sequence of formulas like that is a formal demonstration of <math>\alpha</math>.<br> | A sequence of formulas like that is a formal demonstration of <math>\alpha</math>.<br> | ||
'''Definition''' (modus ponens). Let <math>\alpha, \beta \in FORM</math>. We say that <math>\gamma \in FORM</math> is deducible, through modus ponens, if <math>\alpha = (\beta \to \gamma)</math>. | '''Definition''' (modus ponens). Let <math>\alpha, \beta \in FORM</math>. We say that <math>\gamma \in FORM</math> is deducible, through modus ponens, if <math>\alpha = (\beta \to \gamma)</math>. | ||
− | For example:<br><math>\alpha := </math>"If it rains then I will stay home" <math>\beta := </math>"It rains" <math>\gamma := </math>"I | + | For example:<br><math>\alpha := </math>"If it rains then I will stay home" <math>\beta := </math>"It rains" <math>\gamma := </math>"I will stay home". |
We know that <math>\alpha, \beta</math> are true, hence we can say that <math>\gamma</math> is true. | We know that <math>\alpha, \beta</math> are true, hence we can say that <math>\gamma</math> is true. | ||
<br><br>The elements of <math>THM</math> are found in this way through modus ponens starting from elements of <math>AXIOM</math>. | <br><br>The elements of <math>THM</math> are found in this way through modus ponens starting from elements of <math>AXIOM</math>. | ||
Riga 198: | Riga 201: | ||
##or <math>\alpha_i</math> is proved by modus ponens. | ##or <math>\alpha_i</math> is proved by modus ponens. | ||
So, thanks to preservation of tautologicy of MP, we have that <math>\alpha \in TAUT</math> | So, thanks to preservation of tautologicy of MP, we have that <math>\alpha \in TAUT</math> | ||
+ | |||
+ | ====Decidability==== | ||
When a logic is decidable? | When a logic is decidable? | ||
Riga 215: | Riga 220: | ||
#<math>\mu(\alpha) = 0 </math> we say that <math>\alpha</math> is false, or absolutely false; | #<math>\mu(\alpha) = 0 </math> we say that <math>\alpha</math> is false, or absolutely false; | ||
#<math>\mu(\alpha) = 1 </math> we say that <math>\alpha</math> is true, or absolutely true; | #<math>\mu(\alpha) = 1 </math> we say that <math>\alpha</math> is true, or absolutely true; | ||
− | #<math>\mu(\alpha) \in (0,1) </math> we cannot say that <math>\alpha</math> is true neither false. | + | #<math>\mu(\alpha) \in (0,1) </math> we cannot say that <math>\alpha</math> is true neither false. Although these values represent difference degrees of truth. |
+ | For example:<br> | ||
+ | <math>\mu(\alpha)=0.7\qquad \mu(\beta)=0.3</math> we can say that <math>\alpha</math> '''is truer''' then <math>\beta</math>. <br> | ||
+ | Infact let <math>\alpha=</math>"Matt is young" and <math>\beta=</math>"Matt is old". <br> | ||
+ | I'm 23 so I can say that I'm not absolutely young and not absolutely old so we can assign a value 0.7 to <math>\alpha</math> and 0.3 <math>\beta</math> because I'm more young than old. | ||
Definition(Assignment). An atomic assignment is any function <br> | Definition(Assignment). An atomic assignment is any function <br> | ||
− | <math>\mu_0: Var \rightarrow | + | <math>\mu_0: Var \rightarrow [0, 1]</math>.<br> |
An assignment (or interpretation) is a function<br> | An assignment (or interpretation) is a function<br> | ||
− | <math>\mu: FORM \rightarrow | + | <math>\mu: FORM \rightarrow [0, 1]</math><br> |
that extends <math>\mu_0</math> and respects the following rules for every <math>\alpha, \beta \in FORM</math>.<br> | that extends <math>\mu_0</math> and respects the following rules for every <math>\alpha, \beta \in FORM</math>.<br> | ||
#<math>\mu(\bot)= 0</math> and <math>\mu(\top) = 1</math> | #<math>\mu(\bot)= 0</math> and <math>\mu(\top) = 1</math> | ||
Riga 227: | Riga 236: | ||
#<math>\mu((\alpha \or \beta)) = max(\mu(\alpha), \mu(\beta))</math> | #<math>\mu((\alpha \or \beta)) = max(\mu(\alpha), \mu(\beta))</math> | ||
#<math>\mu((\alpha \rightarrow \beta)) = \begin{cases}1 & if \quad \mu(\alpha) \le \mu(\beta)\\\mu(\beta) & else \end{cases}</math> | #<math>\mu((\alpha \rightarrow \beta)) = \begin{cases}1 & if \quad \mu(\alpha) \le \mu(\beta)\\\mu(\beta) & else \end{cases}</math> | ||
+ | |||
+ | This is the sematic of Goedel logic but it is not the only fuzzy logic. There are many fuzzy logic with different semantic. So the question is "why those functions and not others?" | ||
+ | The answer is because the semantic of every fuzzy logic must behave, for assignment in <math>{0,1}</math> as classical propositional logic.<br> | ||
+ | |||
+ | Even Godel logic satisfy the '''principle of truth-functionality''' so the value of <math>\mu(\alpha(X_1, ... , X_n))</math> depends only from the values assigned to <math>X_1, ..., X_n</math>. | ||
+ | |||
+ | '''Exercise'''. Let <math>\mu: FORM \to \{0,1\}</math>. Prove that the semantic of Goedel logic coincide with semantic of classical propositional logic for the formulas <math>\bot, \top, \neg \alpha, \alpha \and \beta, \alpha \or \beta, \alpha \to \beta</math>. | ||
+ | |||
+ | '''Exercise'''. let <math>\alpha, \beta \in FORM</math>. Prove that | ||
+ | #<math>\mu(\neg\alpha)) = \mu(\alpha \to \bot) \forall \mu: FORM \to [0, 1]</math> <br>The negation is semantically definable from implication and "falsum" (<math>\bot</math>). | ||
+ | #<math>\mu(\alpha \leftrightarrow \beta) = 1</math> if and only if <math>\mu(\alpha) = \mu(\beta)</math><br> | ||
+ | '''Exercise'''. Make a plot of every function of Goedel logic. (Some are in 3D).<br> | ||
+ | Here's the graph of <math>\mu(\alpha \and \beta)</math> [http://www.livephysics.com/tools/mathematical-tools/online-3-d-function-grapher/?xmin=0&xmax=1&ymin=0&ymax=1&zmin=0&zmax=1&f=min%28x%2Cy%29 graph] | ||
+ | |||
+ | It is important to said that evary fuzzy logic assign <math>\mu(\alpha \to \beta) = 1</math> when <math>\mu(\alpha) \le \mu(\beta)</math> infact, without this, MP wouldn't preserve tautology in fuzzy logic and it would be impossible to prove the theorem of completeness in that fuzzy logic. | ||
+ | |||
+ | '''Definition''' (truth, not truth, falsehood). Let <math>\alpha \in FORM</math> and <math>\mu : FORM \to [0,1]</math>. When we have <math>\mu(\alpha) = 1 </math> we say that <math>\alpha</math> is true in the interpretation of <math>\mu</math>, or <math>\mu</math> is a model of <math>\alpha</math>. Instead, when we have <math>\mu(\alpha) < 1</math> we say that <math>\alpha</math> is not true in the interpretation of <math>\mu</math>.<br>In particular we say that <math>\alpha</math> is false in the interpretation of <math>\mu</math> when we have <math>\mu(\alpha) = 0</math>. | ||
+ | In symbols:<br> | ||
+ | <math>\mu \models_g \alpha</math> when <math>\mu(\alpha)=1</math><br> | ||
+ | <math>\mu \not\models_g \alpha</math> when <math>\mu(\alpha)<1</math>.<br> | ||
+ | When <math>\alpha</math> is true for every <math>\mu</math> we say that <math>\alpha</math> is a tautology. Instead when we have <math>\alpha</math> false for every assignment <math>\mu</math> we say that <math>\alpha</math> is a contradiction. | ||
+ | When exists a <math>\mu</math> such as <math>\mu(\alpha) = 1</math> we say that <math>\alpha</math> is satisfiable; instead when exists a <math>\mu</math> such as <math>\mu(\alpha) < 1</math> we say that <math>\alpha</math> is refutable.<br> | ||
+ | In symbols:<br> | ||
+ | <math>\models_g \alpha</math> tautology<br> | ||
+ | <math>\not\models_g \alpha</math> refutable<br><br> | ||
+ | Exercise. Establish which of the following formulas are tautology in Godel Logic and which not. Hint: use truth table for <math>\mu(\alpha) = \{0, 0.5, 1\}</math><br> | ||
+ | #<math>\alpha \or \neg\alpha</math> (Excluded middle) | ||
+ | #<math>\neg(\alpha \and \neg\alpha)</math> (Not contradiction) | ||
+ | #<math>\neg\neg\alpha \leftrightarrow \alpha</math> (Law of double negation) | ||
+ | #<math>\neg(\alpha \and \beta) \leftrightarrow \neg\alpha \or \neg\beta</math> (De Morgan rule I) | ||
+ | #<math>\neg(\alpha \or \beta) \leftrightarrow \neg\alpha \and \neg\beta</math> (De Morgan rule II) | ||
+ | #<math>\alpha \and \neg \alpha \to \beta</math> (Ex falso quodlibet) | ||
+ | #<math>(\alpha \to \beta) \or (\beta \to \alpha)</math> (Prelinearity)<br> | ||
+ | |||
+ | For example: The law of Excluded middle is not a tautology in Godel Logic, infact for <math>\mu(\alpha)=0.5</math> we have that <math>\mu(\alpha \or \neg\alpha)=0.5</math>. | ||
+ | |||
+ | It is clear that the semantic of Godel logic is equal to classical logic only for boolean values of the variables. The exercise above shows that some tautology in classical logic aren't tautology in Godel logic. Summing up:<br> | ||
+ | |||
+ | '''Proposition'''. If <math>\alpha</math> is a tautology is Godel logic then is a tautology <math>\alpha</math> is a tautology in classical logic, but the reverse isn't true.<br> | ||
+ | <math>\models_g \alpha \to \models \alpha</math><br> | ||
+ | <math>TAUT_g \subset TAUT</math><br> | ||
+ | Exercise. Prove the above proposition. | ||
+ | Here's my proof:<br> | ||
+ | <math>\alpha \in TAUT_g \leftrightarrow \forall \mu_g \quad \mu(\alpha) = 1 </math> where <math>\mu_g : FORM \to [0,1]</math><br> | ||
+ | <math>\alpha \in TAUT \leftrightarrow \forall \mu \quad \mu(\alpha) = 1 </math> where <math>\mu : FORM \to \{0,1\}</math><br> | ||
+ | Well, as we said above, Godel logic, under classical assignment <math>\{0, 1\}</math>, behaves the same way of the classical one; so, when we say that <math>\alpha</math> is a tautology in Godel Logic, we mean that <math>\forall \mu_g \quad \mu_g(\alpha)=1</math> but in these there are the classical ones! Therefore <math>\alpha \in TAUT</math> also.<br> | ||
+ | |||
+ | ====Relationship between syntax and semantic==== | ||
+ | |||
+ | Definition (Axioms of GL (Godel logic)). For all <math>\alpha, \beta, \gamma \in FORM</math>, let's consider the following formulas. | ||
+ | #<math>\alpha \to (\beta \to \alpha)</math> | ||
+ | #<math>(\alpha \to \beta) \to ((\alpha \to (\beta \to \gamma)) \to (\alpha \to \gamma))</math> | ||
+ | #<math>\alpha \to (\beta \to (\alpha \and \beta))</math> | ||
+ | #<math>(\alpha \and \beta) \to \alpha</math> | ||
+ | #<math>(\alpha \and \beta) \to \beta</math> | ||
+ | #<math>(\alpha \to (\alpha \and \beta))</math> | ||
+ | #<math>(\alpha \to (\alpha \and \beta))</math> | ||
+ | #<math>(\alpha \to \gamma) \to ((\beta \to \gamma) \to ((\alpha \or \beta) \to \gamma))</math> | ||
+ | #<math>(\alpha \to \beta) \to ((\alpha \to \neg \beta) \to \neg \alpha)</math> | ||
+ | #<math>\alpha \to (\neg \alpha \to \beta)</math> | ||
+ | # | ||
+ | #<math>\alpha \to \neg\neg \alpha</math> | ||
+ | |||
+ | The formulas between 1 and 10, 12 <math>\in AXIOM_g \subset FORM</math>.<br><math>AXIOM_g</math> is called '''set of the axioms of Godel logic'''.<br> | ||
+ | <math>AXIOM_g \subset AXIOM</math>. | ||
+ | |||
+ | Exercise. Choose some formulas <math>\in AXIOM_g</math> and prove that they are tautology. Note: to prove that a formula isn't a tautology we used a counter-example but now we have to prove that a formula is a tautology. The cardinality of <math>[0,1]</math> is <math>\infty</math> so we can't try every assignment...The solution is to choose <math>\mu</math> that represents a class of <math>\mu</math>. For example, we want to prove that <math>\alpha \to \neg\neg \alpha</math> is a tautology. So we have three cases: | ||
+ | #<math>\mu(\alpha) = 0</math> | ||
+ | #<math>\mu(\alpha) = 1</math> | ||
+ | #<math>\mu(\alpha) = 0.5</math> that represents all the <math>0 < \mu(\alpha) < 1</math> | ||
+ | We have to evaluate the whole formula in these three cases. The evaluation is always true. | ||
+ | Hint: the number of cases depends on the number of variables; infact, to prove A1, we have to consider 3 x 3 assignment. | ||
+ | This will be clearer when we will face Decidibility of Godel Logic. | ||
+ | |||
+ | '''Theorem of validity and completeness'''. For all <math>\alpha \in FORM</math> we have <br> | ||
+ | <math>\vdash_g \alpha \leftrightarrow \models_g \alpha</math> | ||
+ | |||
+ | The demonstrable formulas coincide with tautologies also in Godel Logic. | ||
+ | We can split the theorem in two part: | ||
+ | *Theorem of validity: <math>\vdash_g \alpha \rightarrow \models_g \alpha</math> | ||
+ | *Theorem of completeness: <math>\vdash_g \alpha \leftarrow \models_g \alpha</math> | ||
+ | Even here we prove only the former because the latter is too much harder. | ||
+ | |||
+ | '''Theorem of validity proof (in GD)''' | ||
+ | We had to prove two propositions in order to prove the theorem: | ||
+ | #<math>AXIOM_G \subseteq TAUT_G</math><br> It was the exercise above. | ||
+ | #MP (Modus ponens) preserves tautology in GD also. <br>To prove this proposition we have to prove that if <math>\mu(\alpha) = 1 \quad \mu(\alpha \rightarrow \beta) = 1</math> then <math>\mu(\beta) = 1</math>. Thanks to the semantic definition of implication in GD, it is clear that <math>\mu(\beta)</math> can be only <math>= 1</math> with that conditions. | ||
+ | |||
+ | '''Proposition'''. Every formula proved in GL is proved also in CPL. | ||
+ | |||
+ | ====Decidability==== | ||
+ | |||
+ | Godel logic is decidable if exists a program such that: | ||
+ | Input: <math>\alpha \in FORM</math> | ||
+ | Output: Yes if <math>\alpha \in THM_g</math>, No else. | ||
+ | |||
+ | In the Classical Logic this program exists, as we said above; infact we just have to write the truth table of the formula and check if every entry result is 1. More formally, for every possible assignment <math>\mu(X_1, X_2, .. , X_n) \to \{0,1\}</math> we check if <math>\mu(\alpha) = 1</math>; if at least one <math>\mu(\alpha) \not= 1</math> we can conclude that <math>\alpha \not\in THM</math>. | ||
+ | This method doesn't work for Godel Logic because of the number of <math>\mu_g(X_1, X_2, .. , X_n) \to [0,1]</math> that is infinity. In other words, the truth table of every formula cannot be computed. | ||
+ | |||
+ | Nevertheless Godel Logic is decidable. The reason is because it is possible to reduce, as we will see later, the infinity number of assignment <math>\mu_g \to [0,1]</math> to a finite number of cases. | ||
+ | |||
+ | Take a look at all the possible plots of <math>\mu(\alpha(X_1)), \alpha \in FORM_1</math> [[file:Plot.pdf]]. | ||
+ | |||
+ | Note that, everytime we have <math>\mu(X_1)=a</math> where <math>0 < a < 1</math> and <math>\mu(\alpha) = 1</math> we have also <math>\mu(\alpha)=1</math> for every assignment <math>0 < \mu(X_1) < 1</math>. This consideration is defined in the two following theorems. | ||
+ | |||
+ | '''Definition'''(Equivalent assignments). Let <math>\mu, \nu : FORM \to [0,1]</math> be two assignments. We can say the <math>\mu, \nu</math> are equivalent (on the first n variables) if exists a permutation <math>\sigma : \{1, ... , n\} \to \{1, ... , n\}</math> and a function <math> s : {0,1, ... , n} \to \{<,=\}</math> such that <br><br> | ||
+ | <math>0s(0)\mu(X_{\sigma(1)})s(1)\mu(X_{\sigma(1)})...s(n-1)\mu(X_{\sigma(n)})s(n)1</math><br><br> | ||
+ | <math>0s(0)\nu(X_{\sigma(1)})s(1)\nu(X_{\sigma(1)})...s(n-1)\nu(X_{\sigma(n)})s(n)1</math><br><br> | ||
+ | In this case we can write like this:<br> | ||
+ | <math>\mu \equiv_n \nu</math><br> | ||
+ | To understand the definition above, here's an example.<br> | ||
+ | Example. We fix the number of variables <math>n = 1</math>. Let's consider the assignment <math>\mu(X_1) = \frac{1}{2}\ \nu(X_1) = \frac{2}{3}</math> | ||
+ | Then <math> \mu \equiv_1 \nu </math><br> | ||
+ | Infact, seen that <math>n = 1</math>, there is no choice for the permutation <math>\sigma : {1} \to {1}</math>. The only one is the identity function <math>\sigma(1) ) = 1</math>. For the function <math>s : {0,1} \to {<,=}</math> we choose <math>s(0) = < \ s(1) = <</math>. <br> | ||
+ | Then <math> 0 < \frac{1}{2} < 1</math> and <math> 0 < \frac{2}{3} < 1</math> as the definition request. | ||
+ | Instead, if we had <math>\nu(X_1) = 0 </math> we would have <math>\mu \not\equiv_1 \nu</math><br> | ||
+ | because <math>0 < \frac{1}{2} < 1</math> but <math> 0 < 0 < 1 </math> isn't true. | ||
+ | We can conclude that two assignment <math>\mu, \nu</math> are equivalent on the first variable if one of the following sentences is true: | ||
+ | #<math>\mu(X_1) = \nu(X_1) = 0</math> | ||
+ | #<math>\mu(X_1) = \nu(X_1) = 1</math> | ||
+ | #<math>\mu(X_1), \nu(X_1) \in (0,1)</math> | ||
+ | |||
+ | '''Proposition'''. The relation <math>\equiv_n</math> on the set of all possible assignments is an equivalent relation, infact it is reflexive, symmetric, transitive. | ||
+ | |||
+ | Because of it is a equivalent relation, it partitions the set of all assignments, so we can define the equivalent classes like this: | ||
+ | |||
+ | <math>[a]_R = \{b \in A | aRb\}</math> where <math>A</math> is the set of all possible assignments. | ||
+ | |||
+ | We can write | ||
+ | |||
+ | <math>\mathcal{F}_n = \{[\mu]_{\equiv n} | \mu: FORM \to [0,1]\}</math> | ||
+ | |||
+ | to refer to the quotient set of the relation <math>\equiv_n</math> on the set of all possible assignment. | ||
+ | We can call it also ''family of all equivalence classes''. | ||
+ | |||
+ | '''Proposition'''. <math>\mathcal{F}_n</math> is a finite set. | ||
+ | |||
+ | Example: for <math>n = 1\ |\mathcal{F}_n| = 3</math> infact we have | ||
+ | #<math>[\mu]_{\equiv 1} = \{\eta : FORM \to [0,1]\ |\ \eta(X_1) = 0 \}</math> | ||
+ | #<math>[\nu]_{\equiv 1} = \{\eta : FORM \to [0,1]\ |\ \eta(X_1) = 1 \}</math> | ||
+ | #<math>[\theta]_{\equiv 1} = \{\eta : FORM \to [0,1]\ |\ 0 < \eta(X_1) < 1 \}</math> | ||
+ | |||
+ | |||
+ | '''Lemma''' (possible worlds reduction). Let be <math>\mu, \nu : FORM \to [0,1]</math> two assignments. If | ||
+ | |||
+ | <math>\mu\equiv_n\nu</math> | ||
+ | |||
+ | then for every formula <math>\alpha(X_1,...,X_n) \in FORM</math> | ||
+ | |||
+ | <math>\mu \models_g \alpha(X_1, ... , X_n)</math> if and only if <math>\nu \models_g \alpha(X_1, ... , X_n)</math>. | ||
+ | |||
+ | on the other hand, if <math>\mu \not\equiv_n \nu</math> then | ||
+ | |||
+ | exists a formula <math>\alpha(X_1, ... , X_n) \in FORM</math> such that it true that either | ||
+ | |||
+ | <math>\mu \models_g \alpha(X_1, ... , X_n)</math> but <math>\nu \not\models_g \alpha(X_1, ... , X_n)</math> | ||
+ | |||
+ | or | ||
+ | |||
+ | <math>\mu \not\models_g \alpha(X_1, ... , X_n)</math> but <math>\nu \models_g \alpha(X_1, ... , X_n)</math> | ||
+ | |||
+ | |||
+ | It was a very strong theorem because, to prove that <math>\alpha \in TAUT</math> where <math> \alpha \in FORM</math> is now possible: | ||
+ | infact we cannot compute <math>\mu(\alpha)</math> for every possible <math>\mu</math>, because the set <math>A = \{\mu : FORM \to [0,1]\}</math> it is an infinitive set '''but we can''' compute <math>\mu(\alpha), \mu \in \mathcal{F}_n</math> because it is a finite set and, thanks the lemma above, we know that it is the same thing. | ||
+ | |||
+ | Now we can write the algorithm we talked at the beginning of the paragraph: | ||
+ | |||
+ | Input: <math>\alpha \in FORM_n</math> | ||
+ | |||
+ | #Enumerate of the possible permutations <math>\sigma : \{1, ... , n\} \to \{1, ... , n\}</math> | ||
+ | #Enumerate of the possible <math>s : \{0, ... , n\} \to \{=, <\}</math> | ||
+ | #For every couple <math>(\sigma, s)</math> find, if exists, an assignment <math>\mu : FORM \to [0,1]</math> such that it is true <br><math>0s(0)\mu(X_{\sigma(1)})s(1)\mu(X_{\sigma(1)})...s(n-1)\mu(X_{\sigma(n)})s(n)1</math><br> | ||
+ | #Compute <math>\mu(\alpha)</math> | ||
+ | #if <math>\mu(\alpha) < 1</math> exit with output NO else go on cycling | ||
+ | #Exit with output YES | ||
+ | |||
+ | Note that: | ||
+ | #finding <math>\mu</math> such that it is true that <math>0s(0)\mu(X_{\sigma(1)})s(1)\mu(X_{\sigma(1)})...s(n-1)\mu(X_{\sigma(n)})s(n)1</math> is equals to finding an representative <math>\mu</math> for its own equivalence class. | ||
+ | #We can arrive to step 6 if only, for every representative <math>\mu</math>, we have <math>\mu(\alpha) = 1</math> | ||
+ | #<math>|\sigma| = n!, |s| = 2^{n+1}</math> | ||
+ | |||
+ | <math>|\mathcal{F}_n| \le n!2^{n+1}</math> because there are repetitions or untrue sentences. For example: | ||
+ | |||
+ | it cannot exist a <math>\mu</math> such that <math>0=\mu(X_1)=1</math>. | ||
+ | |||
+ | ====Last concepts (Devo ancora decidire che titolo dargli)==== | ||
+ | |||
+ | The last concepts' notes (of the first part of the course) are written directly in latex because are full of plots and Hasse diagrams. | ||
+ | [[file:Posets Hesse.pdf]] |
Versione attuale delle 15:47, 4 gen 2013
Questa è una pagina di introduzione al corso: contiene i turni, le modalità d'insegnamento, alcune informazioni generali ed eventuali giudizi sul corso in questione. Se sei giunto qui passando da un link, puoi tornare indietro e correggerlo in modo che punti direttamente alla voce appropriata. |
A.A. passati
Informations
Course's website
Times and classrooms:
Monday 15:30 - 17:30 - Room 5 (Ground floor - via comelico 39)
Friday 10:30 - 12:30 - Room 5
Lessons' notes
This notes are written in english to help foreign students to follow this course.
Classical Propositional Logic
We are going to describe the classical propositional logic (CPL) language.
Syntax
The syntax of a language is the set of rules that specify how the elements of the language are formed regardless their meaning.
Let be the set of the natural numbers and an alphabet of symbols.
The symbols are called respectively "falsum", "verum".
is the set of strings on this alphabet. For example .
We have now to define the set of the "well formed formula" , that is the set of the elements of the L.P.C.
Definition (well formed formulas). is defined with some conditions:
, where | is taken n times. For example:- if , then .
- if , then .
- if , then .
- if , then .
Well formed formulas is often abbreviated with f.b.f.
The strings in condition (2) are called "propositional variables" or "atomic formulas" or "propositional letters" or simply "variables". They are abbreviated with this notation:
(In other books p, q, r, .., are used to refer to variables).
The set of variables is .
Example of well formed formulas:
Instead
In this notes we omit (, ) where it is clear the precedence of the connectives. (Connectives are )
Why don't we use directly or ?
Because it is important that the alphabet is a finited set. Although, in this notes, we use notation.
It is essential, even, that the L.P.C. language is decidable, that is it must exist an algorithm that tell us if a string is or not.
For this reason it is crucial the
Unique readability of well formed formulas. For all one (and only one) of the following sentences must be true:
- or but not both.
- Exists an unique such that .
- Exists an unique such that .
- Exist unique such that .
- Exist unique such that .
- Exist unique such that .
Let's, infact, consider the parser of the algorithm we talked above: When it finds, for example, , to decide if the string belongs to FORM, it have to decide (for the unique readability of well formed formulas) if . But how can it do this? Deciding if and . This is what the above theorem tell us. Try to draw the parser tree. It is unique thanks to, again, that theorem.
Formally, a string is a finite sequence of elements:
A substring of is a string in the form , where and .
A subformula is a substring .
For example:
are both substring of but only is a subformula.
With we indicate the set of variables that are subformulas of .
With we denote a formula whose variables are a subset of .
Semantic
The semantic of a language is the relation between the elements of that language and their meaning.
The set {0,1} is called truth values set. 0 means false and 1 means true.
Definition(Assignment). An atomic assignment is any function
.
An assignment (or interpretation) is a function
that extends and respects the following rules for every .
- and
Informally we can say that the variables represent propositions with one verb and one or more complement. For example:
"It rains";
"I go to school".
"I don't go to school"
"It rains and I go to school"
"it rains or I go to school"
"If it rains then I will go to school"
I can choose such as and
Consequently we have
Proposition (Unique extendibility of atomic assignment): Every atomic assignment admits exactly one extension to an assignment
More informally, as you can see in the example above, when we choose the values of the variables we determinate the values of the formulas within those variables.
Definition (truth and falsehood). Let . When we have we say that is true in the interpretation of , or is a model of . Instead, when we have we say that is false in the interpretation of , or is an anti-model of .
In symbols:
when
when .
When is true for every we say that is a tautology. Instead when we have false for every assignment we say that is a contradiction.
When exists a such as we say that is satisfiable; instead when exists a such as we say that is refutable.
In symbols:
tautology
refutable
In these notes we abbreviate
with
and it can be read as "if and only if".
Exercise. Prove that the following formulas are tautologies for all
Hint: use the truth table
- (Excluded middle)
- (Not contradiction)
- (Law of double negation)
- (De Morgan rule I)
- (De Morgan rule II)
- (Ex falso quodlibet)
- (Prelinearity)
Exercise. Prove that exist for those the following formulas aren't tautologies. Which of these are contradiction?
Hint: to prove that a formula isn't a tautology is sufficient an counter-example but to prove that it is a contradiction it isn't sufficient. You can use the truth table again.
Relationship between syntax and semantic
Definition (Axioms of CPL (Classical propositional logic)). For all , let's consider the following formulas.
The formulas between 1 and 12 .
is called set of the axioms of the classical propositional logic.
Why these formulas are axioms and not others? Because they are needed to prove the theorem of completeness that is very important for logic. We will talk about this theorem later..
The cardinality of is because can be other formulas. For example:
Let and substitute in the first axiom; it becomes
It is important to understand that the axioms are defined only through syntax, because we don't speak about values of formulas. Axioms, for definition, are demostrable without demonstration.
Think about syntax and semantic as two different worlds. In "syntax world" there are but even , the set of theorems. So we have
The elements of are the demonstrable formulas.
Definition. We say that a formula is demonstrable (or syntactic consequence), if exist a finite sequence of formulas such that one of the following conditions is true.
- Exist indexes such that is deducible from and through modus ponens.
A sequence of formulas like that is a formal demonstration of .
Definition (modus ponens). Let . We say that is deducible, through modus ponens, if .
For example:
"If it rains then I will stay home" "It rains" "I will stay home".
We know that are true, hence we can say that is true.
The elements of are found in this way through modus ponens starting from elements of .
Modus ponens is one of the inference rules.
Example of demonstration:
We want to prove that .
We start from axioms 1, 4.
1A
4A
(substitution of in A1 (first axiom)
(substitution in A4)
Now we have hence we can conclude that
It is really hard to find theorems in this way: in this course we don't have to learn this, just have to know how a formal syntactic demonstration are made. Thanks to completeness and validity theorem we can prove theorem through an easier way; infact it says that the set of theorems and the set of tautologies coincide. Hence, proving that a formula is a tautology is equals to prove that a formula is a theorem. This is the bridge between Syntax and Semantic.
Theorem of validity and completeness. For all we have
The demonstrable formulas coincide with tautologies.
Example: If I prove that (using truth table or by reduction to absurd or any other way that use the values of the formulas (semantic)) then, it must exist a syntactical demonstration (starting from axioms and going on through modus ponens) to prove that formula.
We can divide the theorem in two part:
- Theorem of validity:
- Theorem of completeness:
It is very difficult to prove the theorem of completeness (in this course it isn't requested), but it is simple to prove the theorem of validity.
Theorem of validity proof: Before prove this theorem we have to prove that modus ponens (MP) preserves tautology:
if are tautologies then is a tautology.
Proof by absurdity:
Let's suppose
We have a contraddiction because
So MP preserves tautologicity.
Now we can face theorem of validity proof:
infact the hypothesis means:
- such that
-
- or (then is a tautology for definition)
- or is proved by modus ponens.
So, thanks to preservation of tautologicy of MP, we have that
Decidability
When a logic is decidable?
When exists a program that:
Input:
Output: YES, if, else NO.
The classical propositional logic is decidable because, for the theorem of completeness (and validity), we have , so the program can make the truth table of the formula and then check if all the evaluation are 1. Infact, if a formula's truth table have all the entry 1, we can say that and so .
Godel logic
Syntax
The syntax of Godel logic is the same of the syntax of the classical propositional logic, so we have that .
So we can write .
Semantic
The semantic in the Godel logic is polyvalent infact assumes values in .
When:
- we say that is false, or absolutely false;
- we say that is true, or absolutely true;
- we cannot say that is true neither false. Although these values represent difference degrees of truth.
For example:
we can say that is truer then .
Infact let "Matt is young" and "Matt is old".
I'm 23 so I can say that I'm not absolutely young and not absolutely old so we can assign a value 0.7 to and 0.3 because I'm more young than old.
Definition(Assignment). An atomic assignment is any function
.
An assignment (or interpretation) is a function
that extends and respects the following rules for every .
- and
This is the sematic of Goedel logic but it is not the only fuzzy logic. There are many fuzzy logic with different semantic. So the question is "why those functions and not others?"
The answer is because the semantic of every fuzzy logic must behave, for assignment in as classical propositional logic.
Even Godel logic satisfy the principle of truth-functionality so the value of depends only from the values assigned to .
Exercise. Let . Prove that the semantic of Goedel logic coincide with semantic of classical propositional logic for the formulas .
Exercise. let . Prove that
-
The negation is semantically definable from implication and "falsum" (). - if and only if
Exercise. Make a plot of every function of Goedel logic. (Some are in 3D).
Here's the graph of graph
It is important to said that evary fuzzy logic assign when infact, without this, MP wouldn't preserve tautology in fuzzy logic and it would be impossible to prove the theorem of completeness in that fuzzy logic.
Definition (truth, not truth, falsehood). Let and . When we have we say that is true in the interpretation of , or is a model of . Instead, when we have we say that is not true in the interpretation of .
In particular we say that is false in the interpretation of when we have .
In symbols:
when
when .
When is true for every we say that is a tautology. Instead when we have false for every assignment we say that is a contradiction.
When exists a such as we say that is satisfiable; instead when exists a such as we say that is refutable.
In symbols:
tautology
refutable
Exercise. Establish which of the following formulas are tautology in Godel Logic and which not. Hint: use truth table for
- (Excluded middle)
- (Not contradiction)
- (Law of double negation)
- (De Morgan rule I)
- (De Morgan rule II)
- (Ex falso quodlibet)
- (Prelinearity)
For example: The law of Excluded middle is not a tautology in Godel Logic, infact for we have that .
It is clear that the semantic of Godel logic is equal to classical logic only for boolean values of the variables. The exercise above shows that some tautology in classical logic aren't tautology in Godel logic. Summing up:
Proposition. If is a tautology is Godel logic then is a tautology is a tautology in classical logic, but the reverse isn't true.
Exercise. Prove the above proposition.
Here's my proof:
where
where
Well, as we said above, Godel logic, under classical assignment , behaves the same way of the classical one; so, when we say that is a tautology in Godel Logic, we mean that but in these there are the classical ones! Therefore also.
Relationship between syntax and semantic
Definition (Axioms of GL (Godel logic)). For all , let's consider the following formulas.
The formulas between 1 and 10, 12 .
is called set of the axioms of Godel logic.
.
Exercise. Choose some formulas and prove that they are tautology. Note: to prove that a formula isn't a tautology we used a counter-example but now we have to prove that a formula is a tautology. The cardinality of is so we can't try every assignment...The solution is to choose that represents a class of . For example, we want to prove that is a tautology. So we have three cases:
- that represents all the
We have to evaluate the whole formula in these three cases. The evaluation is always true. Hint: the number of cases depends on the number of variables; infact, to prove A1, we have to consider 3 x 3 assignment. This will be clearer when we will face Decidibility of Godel Logic.
Theorem of validity and completeness. For all we have
The demonstrable formulas coincide with tautologies also in Godel Logic. We can split the theorem in two part:
- Theorem of validity:
- Theorem of completeness:
Even here we prove only the former because the latter is too much harder.
Theorem of validity proof (in GD) We had to prove two propositions in order to prove the theorem:
It was the exercise above.- MP (Modus ponens) preserves tautology in GD also.
To prove this proposition we have to prove that if then . Thanks to the semantic definition of implication in GD, it is clear that can be only with that conditions.
Proposition. Every formula proved in GL is proved also in CPL.
Decidability
Godel logic is decidable if exists a program such that: Input: Output: Yes if , No else.
In the Classical Logic this program exists, as we said above; infact we just have to write the truth table of the formula and check if every entry result is 1. More formally, for every possible assignment we check if ; if at least one we can conclude that . This method doesn't work for Godel Logic because of the number of that is infinity. In other words, the truth table of every formula cannot be computed.
Nevertheless Godel Logic is decidable. The reason is because it is possible to reduce, as we will see later, the infinity number of assignment to a finite number of cases.
Take a look at all the possible plots of File:Plot.pdf.
Note that, everytime we have where and we have also for every assignment . This consideration is defined in the two following theorems.
Definition(Equivalent assignments). Let be two assignments. We can say the are equivalent (on the first n variables) if exists a permutation and a function such that
In this case we can write like this:
To understand the definition above, here's an example.
Example. We fix the number of variables . Let's consider the assignment
Then
Infact, seen that , there is no choice for the permutation . The only one is the identity function . For the function we choose .
Then and as the definition request.
Instead, if we had we would have
because but isn't true.
We can conclude that two assignment are equivalent on the first variable if one of the following sentences is true:
Proposition. The relation on the set of all possible assignments is an equivalent relation, infact it is reflexive, symmetric, transitive.
Because of it is a equivalent relation, it partitions the set of all assignments, so we can define the equivalent classes like this:
where is the set of all possible assignments.
We can write
to refer to the quotient set of the relation on the set of all possible assignment. We can call it also family of all equivalence classes.
Proposition. is a finite set.
Example: for infact we have
Lemma (possible worlds reduction). Let be two assignments. If
then for every formula
if and only if .
on the other hand, if then
exists a formula such that it true that either
but
or
but
It was a very strong theorem because, to prove that where is now possible:
infact we cannot compute for every possible , because the set it is an infinitive set but we can compute because it is a finite set and, thanks the lemma above, we know that it is the same thing.
Now we can write the algorithm we talked at the beginning of the paragraph:
Input:
- Enumerate of the possible permutations
- Enumerate of the possible
- For every couple find, if exists, an assignment such that it is true
- Compute
- if exit with output NO else go on cycling
- Exit with output YES
Note that:
- finding such that it is true that is equals to finding an representative for its own equivalence class.
- We can arrive to step 6 if only, for every representative , we have
because there are repetitions or untrue sentences. For example:
it cannot exist a such that .
Last concepts (Devo ancora decidire che titolo dargli)
The last concepts' notes (of the first part of the course) are written directly in latex because are full of plots and Hasse diagrams. File:Posets Hesse.pdf