Open main menu
Home
Random
Recent changes
Special pages
Community portal
Preferences
About Wikipedia
Disclaimers
Incubator escapee wiki
Search
User menu
Talk
Dark mode
Contributions
Create account
Log in
Editing
Three-valued logic
(section)
Warning:
You are not logged in. Your IP address will be publicly visible if you make any edits. If you
log in
or
create an account
, your edits will be attributed to your username, along with other benefits.
Anti-spam check. Do
not
fill this in!
=== Kleene and Priest logics<!--Linked from 'Semantic theory of truth'--> === {{See also|Kleene algebra (with involution)}} Below is a set of [[truth table]]s showing the logic operations for [[Stephen Cole Kleene]]'s "strong logic of indeterminacy" and [[Graham Priest]]'s "logic of paradox". {| style="border-spacing: 10px 0;" align="center" | colspan="4" style="text-align:center;" | (F, false; U, unknown; T, true) |- valign="bottom" | {| class="wikitable" style="text-align:center;" |+ NOT(A) ! width="25" | A ! width="25" | Β¬A |- ! scope="row" {{no|F}} | {{yes|T}} |- ! scope="row" | U | U |- ! scope="row" {{yes|T}} | {{no|F}} |} | {| class="wikitable" style="text-align:center;" |+ AND(A, B) ! rowspan="2" colspan="2" | A β§ B ! colspan="3" | B |- ! width="25" {{no|F}} ! width="25" | U ! width="25" {{yes|T}} |- ! scope="row" rowspan="3" width="25" | A ! scope="row" width="25" {{no|F}} | {{no|F}} | {{no|F}} | {{no|F}} |- ! scope="row" | U | {{no|F}} | U | U |- ! scope="row" {{yes|T}} | {{no|F}} | U | {{yes|T}} |} | {| class="wikitable" style="text-align:center;" |+ OR(A, B) ! rowspan="2" colspan="2" | A β¨ B ! colspan="3" | B |- ! width="25" {{no|F}} ! width="25" | U ! width="25" {{yes|T}} |- ! scope="row" rowspan="3" width="25" | A ! scope="row" width="25" {{no|F}} | {{no|F}} | U | {{yes|T}} |- ! scope="row" | U | U | U | {{yes|T}} |- ! scope="row" {{yes|T}} | {{yes|T}} | {{yes|T}} | {{yes|T}} |} | {| class="wikitable" style="text-align:center;" |+ XOR(A, B) ! rowspan="2" colspan="2" | A β B ! colspan="3" | B |- ! width="25" {{no|F}} ! width="25" | U ! width="25" {{yes|T}} |- ! scope="row" rowspan="3" width="25" | A ! scope="row" width="25" {{no|F}} | {{no|F}} | U | {{yes|T}} |- ! scope="row" | U | U | U | U |- ! scope="row" {{yes|T}} | {{yes|T}} | U | {{no|F}} |} |} {| style="border-spacing: 10px 0;" align="center" | colspan="4" style="text-align:center;" | (β1, false; 0, unknown; +1, true) |- valign="bottom" | {| class="wikitable" style="text-align:center;" |+ NEG(A) ! width="25" | A ! width="25" | Β¬A |- ! scope="row" | β1 | +1 |- ! scope="row" | 0 | 0 |- ! scope="row" | +1 | β1 |} | {| class="wikitable" style="text-align:center;" |+ MIN(A, B) ! rowspan="2" colspan="2" | A β§ B ! colspan="3" | B |- ! width="25" | β1 ! width="25" | 0 ! width="25" | +1 |- ! scope="row" rowspan="3" width="25" | A ! scope="row" width="25" | β1 | β1 | β1 | β1 |- ! scope="row" | 0 | β1 | 0 | 0 |- ! scope="row" | +1 | β1 | 0 | +1 |} | {| class="wikitable" style="text-align:center;" |+ MAX(A, B) ! rowspan="2" colspan="2" | A β¨ B ! colspan="3" | B |- ! width="25" | β1 ! width="25" | 0 ! width="25" | +1 |- ! scope="row" rowspan="3" width="25" | A ! scope="row" width="25" | β1 | β1 | 0 | +1 |- ! scope="row" | 0 | 0 | 0 | +1 |- ! scope="row" | +1 | +1 | +1 | +1 |} | {| class="wikitable" style="text-align:center;" |+ MIN(MAX(A, B), NEG(MIN(A, B))) ! rowspan="2" colspan="2" | A β B ! colspan="3" | B |- ! width="25" | β1 ! width="25" | 0 ! width="25" | +1 |- ! scope="row" rowspan="3" width="25" | A ! scope="row" width="25" | β1 | β1 | 0 | +1 |- ! scope="row" | 0 | 0 | 0 | 0 |- ! scope="row" | +1 | +1 | 0 | β1 |} |} If the truth values 1, 0, and β1 are interpreted as integers, these operations may be expressed with the ordinary operations of arithmetic (where ''x'' + ''y'' uses addition, ''xy'' uses multiplication, and ''x<sup>2</sup>'' uses exponentiation), or by the minimum/maximum functions: :<math> \begin{align} x \wedge y & = \frac{1}{2} (x+y-x^2-y^2+xy+x^2y^2) = \min(x,y)\\ x \vee y & = \frac{1}{2} (x+y+x^2+y^2-xy-x^2y^2) = \max(x,y)\\ \neg x & = -x \end{align} </math> In these truth tables, the ''unknown'' state can be thought of as neither true nor false in Kleene logic, or thought of as both true and false in Priest logic. The difference lies in the definition of tautologies. Where Kleene logic's only designated truth value is T, Priest logic's designated truth values are both T and U. In Kleene logic, the knowledge of whether any particular ''unknown'' state secretly represents ''true'' or ''false'' at any moment in time is not available. However, certain logical operations can yield an unambiguous result, even if they involve an ''unknown'' operand. For example, because ''true'' OR ''true'' equals ''true'', and ''true'' OR ''false'' also equals ''true'', then ''true'' OR ''unknown'' equals ''true'' as well. In this example, because either bivalent state could be underlying the ''unknown'' state, and either state also yields the same result, ''true'' results in all three cases. If numeric values, e.g. [[balanced ternary]] values, are assigned to ''false'', ''unknown'' and ''true'' such that ''false'' is less than ''unknown'' and ''unknown'' is less than ''true'', then A AND B AND C... = MIN(A, B, C ...) and A OR B OR C ... = MAX(A, B, C...). Material implication for Kleene logic can be defined as: <math> A \rightarrow B \ \overset{\underset{\mathrm{def}}{}}{=} \ \mbox{OR} ( \ \mbox{NOT}(A), \ B ) </math>, and its truth table is {| style="border-spacing: 10px 0;" align="center" |- valign="bottom" | {| class="wikitable" style="text-align:center;" |+ IMP{{sub|K}}(A, B), OR(Β¬A, B) ! rowspan="2" colspan="2" | A β B ! colspan="3" |B |- ! width="25" {{no|F}} ! width="25" | U ! width="25" {{yes|T}} |- ! rowspan="3" |A ! scope="row" {{no|F}} | {{yes|T}} | {{yes|T}} | {{yes|T}} |- ! scope="row" | U | U | U | {{yes|T}} |- ! scope="row" width="25" {{yes|T}} | {{no|F}} | U | {{yes|T}} |} | {| class="wikitable" style="text-align:center;" |+ IMP{{sub|K}}(A, B), MAX(βA, B) ! rowspan="2" colspan="2" | A β B ! colspan="3" |B |- ! width="25" | β1 ! width="25" | 0 ! width="25" | +1 |- ! rowspan="3" |A ! scope="row" | β1 | +1 | +1 | +1 |- ! scope="row" | 0 | 0 | 0 | +1 |- ! scope="row" width="25" | +1 | β1 | 0 | +1 |} |} which differs from that for Εukasiewicz logic (described below). Kleene logic has no tautologies (valid formulas) because whenever all of the atomic components of a well-formed formula are assigned the value Unknown, the formula itself must also have the value Unknown. (And the only ''designated'' truth value for Kleene logic is True.) However, the lack of valid formulas does not mean that it lacks valid arguments and/or inference rules. An argument is semantically valid in Kleene logic if, whenever (for any interpretation/model) all of its premises are True, the conclusion must also be True. (The [[paraconsistent logic|Logic of Paradox]] (LP) has the same truth tables as Kleene logic, but it has two ''designated'' truth values instead of one; these are: True and Both (the analogue of Unknown), so that LP does have tautologies but it has fewer valid inference rules).<ref>[http://www.uky.edu/~look/Phi520-Lecture7.pdf "Beyond Propositional Logic"]</ref>
Edit summary
(Briefly describe your changes)
By publishing changes, you agree to the
Terms of Use
, and you irrevocably agree to release your contribution under the
CC BY-SA 4.0 License
and the
GFDL
. You agree that a hyperlink or URL is sufficient attribution under the Creative Commons license.
Cancel
Editing help
(opens in new window)