blob: 798aad9618b04661c028c4c196cbe519396ad632 [file] [log] [blame]
<?xml version="1.0" encoding="UTF-8"?>
<org.eclipse.epf.uma:ContentDescription xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:org.eclipse.epf.uma="http://www.eclipse.org/epf/uma/1.0.6/uma.ecore" xmlns:epf="http://www.eclipse.org/epf" epf:version="1.5.1" xmlns:rmc="http://www.ibm.com/rmc" rmc:version="7.5.1" xmi:id="-fZn4nTBQjy1YPY8BQSTvJg" name="new_guideline,_x_5XgH9iEd26h9j0X6pKmw" guid="-fZn4nTBQjy1YPY8BQSTvJg" changeDate="2008-09-10T11:05:45.000-0700" version="7.5.1">
<mainDescription>&lt;p>
Criteria in rule is true or false. So when combining criteria together to build the condition part of a rule we need to
clearly understand the Boolean logic, and its operations.
&lt;/p>
&lt;h5>
AND / Conjunction
&lt;/h5>
&lt;p>
We will use the following notation the dot as operator for AND so A.B is equivalent to A&amp;nbsp;AND B. The conjunction of
two propositions is true when both propositions are true. The truth table is
&lt;/p>&lt;br />
&lt;br />
&lt;table title=&quot;&quot; cellspacing=&quot;0&quot; cellpadding=&quot;2&quot; width=&quot;85%&quot; border=&quot;1&quot;>
&lt;tbody>
&lt;tr>
&lt;td>
&lt;p dir=&quot;ltr&quot; style=&quot;MARGIN-RIGHT: 0px&quot;>
&lt;strong>AND&amp;nbsp;&amp;nbsp;&amp;nbsp; A&lt;/strong>
&lt;/p>
&lt;p dir=&quot;ltr&quot; style=&quot;MARGIN-RIGHT: 0px&quot;>
&lt;strong>B&lt;/strong>
&lt;/p>
&lt;/td>
&lt;td>
&lt;p dir=&quot;ltr&quot; style=&quot;MARGIN-RIGHT: 0px&quot;>
&lt;strong>True&lt;/strong>
&lt;/p>
&lt;/td>
&lt;td>
&lt;p dir=&quot;ltr&quot; style=&quot;MARGIN-RIGHT: 0px&quot;>
&lt;strong>False&lt;/strong>
&lt;/p>
&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>
&lt;p dir=&quot;ltr&quot; style=&quot;MARGIN-RIGHT: 0px&quot;>
&lt;strong>True&lt;/strong>
&lt;/p>
&lt;/td>
&lt;td>
&lt;p dir=&quot;ltr&quot; style=&quot;MARGIN-RIGHT: 0px&quot;>
&lt;em>True&lt;/em>
&lt;/p>
&lt;/td>
&lt;td>
&lt;p dir=&quot;ltr&quot; style=&quot;MARGIN-RIGHT: 0px&quot;>
&lt;em>False&lt;/em>
&lt;/p>
&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>
&lt;p dir=&quot;ltr&quot; style=&quot;MARGIN-RIGHT: 0px&quot;>
&lt;strong>False&lt;/strong>
&lt;/p>
&lt;/td>
&lt;td>
&lt;p dir=&quot;ltr&quot; style=&quot;MARGIN-RIGHT: 0px&quot;>
&lt;em>False&lt;/em>
&lt;/p>
&lt;/td>
&lt;td>
&lt;p dir=&quot;ltr&quot; style=&quot;MARGIN-RIGHT: 0px&quot;>
&lt;em>False&lt;/em>
&lt;/p>
&lt;/td>
&lt;/tr>
&lt;/tbody>
&lt;/table>&amp;nbsp;&lt;br />
&lt;br />
&lt;h5>
OR&amp;nbsp; / Disjunction
&lt;/h5>
&lt;p>
We use the + operator for A OR B like A + B. Disjunction of two propositions is false when both propositions are false.
&lt;/p>
&lt;p>
&lt;br />
&lt;/p>
&lt;table title=&quot;&quot; cellspacing=&quot;0&quot; cellpadding=&quot;2&quot; width=&quot;85%&quot; border=&quot;1&quot;>
&lt;tbody>
&lt;tr>
&lt;td>
&lt;p>
&lt;strong>OR&amp;nbsp;&amp;nbsp; A&lt;/strong>
&lt;/p>
&lt;p>
&lt;strong>B&lt;/strong>
&lt;/p>
&lt;/td>
&lt;td>
&lt;p dir=&quot;ltr&quot; style=&quot;MARGIN-RIGHT: 0px&quot;>
&lt;strong>True&lt;/strong>
&lt;/p>
&lt;/td>
&lt;td>
&lt;p dir=&quot;ltr&quot; style=&quot;MARGIN-RIGHT: 0px&quot;>
&lt;strong>False&lt;/strong>
&lt;/p>
&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>
&lt;p dir=&quot;ltr&quot; style=&quot;MARGIN-RIGHT: 0px&quot;>
&lt;strong>True&lt;/strong>
&lt;/p>
&lt;/td>
&lt;td>
&lt;em>True&lt;/em>
&lt;/td>
&lt;td>
&lt;em>True&lt;/em>
&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>
&lt;p dir=&quot;ltr&quot; style=&quot;MARGIN-RIGHT: 0px&quot;>
&lt;strong>False&lt;/strong>
&lt;/p>
&lt;/td>
&lt;td>
&lt;em>True&lt;/em>
&lt;/td>
&lt;td>
&lt;em>False&lt;/em>
&lt;/td>
&lt;/tr>
&lt;/tbody>
&lt;/table>&lt;br />
&lt;br />
&lt;h5>
NOT / Negation
&lt;/h5>
&lt;table title=&quot;&quot; cellspacing=&quot;0&quot; cellpadding=&quot;2&quot; width=&quot;85%&quot; border=&quot;1&quot;>
&lt;tbody>
&lt;tr>
&lt;td>
&lt;strong>A&lt;/strong>
&lt;/td>
&lt;td>
&lt;strong>NOT A&lt;/strong>
&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>
&lt;strong>True&lt;/strong>
&lt;/td>
&lt;td>
&lt;em>False&lt;/em>
&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>
&lt;strong>False&lt;/strong>
&lt;/td>
&lt;td>
&lt;em>True&lt;/em>
&lt;/td>
&lt;/tr>
&lt;/tbody>
&lt;/table>&lt;br />
&lt;br />
&lt;h5>
Implication
&lt;/h5>
&lt;p>
A-&amp;gt; B, implication is a binary operation which is false when A is true and&amp;nbsp;B is false. A -&amp;gt; B can be
expressed as NOT A OR B.
&lt;/p>
&lt;p>
&lt;br />
&lt;/p>
&lt;table title=&quot;&quot; cellspacing=&quot;0&quot; cellpadding=&quot;2&quot; width=&quot;85%&quot; border=&quot;1&quot;>
&lt;tbody>
&lt;tr>
&lt;td>
&lt;p>
&lt;strong>A -&amp;gt;
B&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;
A&lt;/strong>
&lt;/p>
&lt;p>
&lt;strong>B&lt;/strong>
&lt;/p>
&lt;/td>
&lt;td>
&lt;strong>True&lt;/strong>
&lt;/td>
&lt;td>
&lt;strong>False&lt;/strong>
&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>
&lt;strong>True&lt;/strong>
&lt;/td>
&lt;td>
&lt;em>True&lt;/em>
&lt;/td>
&lt;td>
&lt;em>True&lt;/em>
&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>
&lt;strong>False&lt;/strong>
&lt;/td>
&lt;td>
&lt;em>False&lt;/em>
&lt;/td>
&lt;td>
&lt;em>True&lt;/em>
&lt;/td>
&lt;/tr>
&lt;/tbody>
&lt;/table>&lt;br />
&lt;br />
&lt;h5>
XOR or exclusive OR
&lt;/h5>
&lt;p>
Exclusive-or of two propositions is true just when exactly one of the propositions is true&lt;br />
&lt;br />
&lt;/p>
&lt;table title=&quot;&quot; cellspacing=&quot;0&quot; cellpadding=&quot;2&quot; width=&quot;85%&quot; border=&quot;1&quot;>
&lt;tbody>
&lt;tr>
&lt;td>
&lt;p>
&lt;strong>XOR&amp;nbsp;&amp;nbsp;&amp;nbsp; A&lt;/strong>
&lt;/p>
&lt;p>
&lt;strong>B&lt;/strong>
&lt;/p>
&lt;/td>
&lt;td>
&lt;strong>True&lt;/strong>
&lt;/td>
&lt;td>
&lt;strong>False&lt;/strong>
&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>
&lt;strong>True&lt;/strong>
&lt;/td>
&lt;td>
&lt;em>False&lt;/em>
&lt;/td>
&lt;td>
&lt;em>True&lt;/em>
&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>
&lt;strong>False&lt;/strong>
&lt;/td>
&lt;td>
&lt;em>True&lt;/em>
&lt;/td>
&lt;td>
&lt;em>False&lt;/em>
&lt;/td>
&lt;/tr>
&lt;/tbody>
&lt;/table>
&lt;h5>
De Morgan's Law
&lt;/h5>
&lt;p>
De Morgan's law are rules in formal logic relating pairs of dual logical operators in a systematic manner expressed in
terms of negation:
&lt;/p>
&lt;p>
&amp;nbsp; NOT (A AND B) = NOT A OR NOT B
&lt;/p>
&lt;p>
&amp;nbsp;&amp;nbsp;NOT (A OR B) = NOT A AND NOT B&lt;br />
&lt;br />
It is important to leverage the De Morgan's law to improve rule writing during&amp;nbsp;the rule transformation.&lt;br />
&lt;br />
&amp;nbsp;
&lt;/p>
&lt;p>
&lt;br />
&amp;nbsp;
&lt;/p></mainDescription>
</org.eclipse.epf.uma:ContentDescription>