Home Metamath Proof ExplorerTheorem List (p. 16 of 452) < Previous  Next > Bad symbols? Try the GIF version. Mirrors  >  Metamath Home Page  >  MPE Home Page  >  Theorem List Contents  >  Recent Proofs       This page: Page List

 Color key: Metamath Proof Explorer (1-28699) Hilbert Space Explorer (28700-30222) Users' Mathboxes (30223-45187)

Theorem List for Metamath Proof Explorer - 1501-1600   *Has distinct variable group(s)
TypeLabelDescription
Statement

Theoremnanass 1501 A characterization of when an expression involving alternative denials associates. Remark: alternative denial is commutative, see nancom 1487. (Contributed by Richard Penner, 29-Feb-2020.) (Proof shortened by Wolf Lammen, 23-Oct-2022.)
((𝜑𝜒) ↔ (((𝜑𝜓) ⊼ 𝜒) ↔ (𝜑 ⊼ (𝜓𝜒))))

1.2.13  Logical "xor"

Syntaxwxo 1502 Extend wff definition to include exclusive disjunction ("xor").
wff (𝜑𝜓)

Definitiondf-xor 1503 Define exclusive disjunction (logical "xor"). Return true if either the left or right, but not both, are true. After we define the constant true (df-tru 1541) and the constant false (df-fal 1551), we will be able to prove these truth table values: ((⊤ ⊻ ⊤) ↔ ⊥) (truxortru 1583), ((⊤ ⊻ ⊥) ↔ ⊤) (truxorfal 1584), ((⊥ ⊻ ⊤) ↔ ⊤) (falxortru 1585), and ((⊥ ⊻ ⊥) ↔ ⊥) (falxorfal 1586). Contrast with (df-an 400), (df-or 845), (wi 4), and (df-nan 1483). (Contributed by FL, 22-Nov-2010.)
((𝜑𝜓) ↔ ¬ (𝜑𝜓))

Theoremxnor 1504 Two ways to write XNOR (exclusive not-or). (Contributed by Mario Carneiro, 4-Sep-2016.)
((𝜑𝜓) ↔ ¬ (𝜑𝜓))

Theoremxorcom 1505 The connector is commutative. (Contributed by Mario Carneiro, 4-Sep-2016.) (Proof shortened by Wolf Lammen, 21-Apr-2024.)
((𝜑𝜓) ↔ (𝜓𝜑))

TheoremxorcomOLD 1506 Obsolete version of xorcom 1505 as of 21-Apr-2024. (Contributed by Mario Carneiro, 4-Sep-2016.) (Proof modification is discouraged.) (New usage is discouraged.)
((𝜑𝜓) ↔ (𝜓𝜑))

Theoremxorass 1507 The connector is associative. (Contributed by FL, 22-Nov-2010.) (Proof shortened by Andrew Salmon, 8-Jun-2011.) (Proof shortened by Wolf Lammen, 20-Jun-2020.)
(((𝜑𝜓) ⊻ 𝜒) ↔ (𝜑 ⊻ (𝜓𝜒)))

Theoremexcxor 1508 This tautology shows that xor is really exclusive. (Contributed by FL, 22-Nov-2010.)
((𝜑𝜓) ↔ ((𝜑 ∧ ¬ 𝜓) ∨ (¬ 𝜑𝜓)))

Theoremxor2 1509 Two ways to express "exclusive or". (Contributed by Mario Carneiro, 4-Sep-2016.)
((𝜑𝜓) ↔ ((𝜑𝜓) ∧ ¬ (𝜑𝜓)))

Theoremxoror 1510 Exclusive disjunction implies disjunction ("XOR implies OR"). (Contributed by BJ, 19-Apr-2019.)
((𝜑𝜓) → (𝜑𝜓))

Theoremxornan 1511 Exclusive disjunction implies alternative denial ("XOR implies NAND"). (Contributed by BJ, 19-Apr-2019.)
((𝜑𝜓) → ¬ (𝜑𝜓))

Theoremxornan2 1512 XOR implies NAND (written with the connector). (Contributed by BJ, 19-Apr-2019.)
((𝜑𝜓) → (𝜑𝜓))

Theoremxorneg2 1513 The connector is negated under negation of one argument. (Contributed by Mario Carneiro, 4-Sep-2016.) (Proof shortened by Wolf Lammen, 27-Jun-2020.)
((𝜑 ⊻ ¬ 𝜓) ↔ ¬ (𝜑𝜓))

Theoremxorneg1 1514 The connector is negated under negation of one argument. (Contributed by Mario Carneiro, 4-Sep-2016.) (Proof shortened by Wolf Lammen, 27-Jun-2020.)
((¬ 𝜑𝜓) ↔ ¬ (𝜑𝜓))

Theoremxorneg 1515 The connector is unchanged under negation of both arguments. (Contributed by Mario Carneiro, 4-Sep-2016.)
((¬ 𝜑 ⊻ ¬ 𝜓) ↔ (𝜑𝜓))

Theoremxorbi12i 1516 Equality property for exclusive disjunction. (Contributed by Mario Carneiro, 4-Sep-2016.) (Proof shortened by Wolf Lammen, 21-Apr-2024.)
(𝜑𝜓)    &   (𝜒𝜃)       ((𝜑𝜒) ↔ (𝜓𝜃))

Theoremxorbi12iOLD 1517 Obsolete version of xorbi12i 1516 as of 21-Apr-2024. (Contributed by Mario Carneiro, 4-Sep-2016.) (Proof modification is discouraged.) (New usage is discouraged.)
(𝜑𝜓)    &   (𝜒𝜃)       ((𝜑𝜒) ↔ (𝜓𝜃))

Theoremxorbi12d 1518 Equality property for exclusive disjunction. (Contributed by Mario Carneiro, 4-Sep-2016.)
(𝜑 → (𝜓𝜒))    &   (𝜑 → (𝜃𝜏))       (𝜑 → ((𝜓𝜃) ↔ (𝜒𝜏)))

Theoremanxordi 1519 Conjunction distributes over exclusive-or. In intuitionistic logic this assertion is also true, even though xordi 1014 does not necessarily hold, in part because the usual definition of xor is subtly different in intuitionistic logic. (Contributed by David A. Wheeler, 7-Oct-2018.)
((𝜑 ∧ (𝜓𝜒)) ↔ ((𝜑𝜓) ⊻ (𝜑𝜒)))

Theoremxorexmid 1520 Exclusive-or variant of the law of the excluded middle (exmid 892). This statement is ancient, going back to at least Stoic logic. This statement does not necessarily hold in intuitionistic logic. (Contributed by David A. Wheeler, 23-Feb-2019.)
(𝜑 ⊻ ¬ 𝜑)

1.2.14  Logical "nor"

Syntaxwnor 1521 Extend wff definition to include joint denial ("nor").
wff (𝜑 𝜓)

Definitiondf-nor 1522 Define joint denial ("not-or" or "nor"). After we define the constant true (df-tru 1541) and the constant false (df-fal 1551), we will be able to prove these truth table values: ((⊤ ⊤) ↔ ⊥) (trunortru 1587), ((⊤ ⊥) ↔ ⊥) (trunorfal 1589), ((⊥ ⊤) ↔ ⊥) (falnortru 1591), and ((⊥ ⊥) ↔ ⊤) (falnorfal 1592). Contrast with (df-an 400), (df-or 845), (wi 4), (df-nan 1483), and (df-xor 1503). (Contributed by Remi, 25-Oct-2023.)
((𝜑 𝜓) ↔ ¬ (𝜑𝜓))

Theoremnorcom 1523 The connector is commutative. (Contributed by Remi, 25-Oct-2023.) (Proof shortened by Wolf Lammen, 23-Apr-2024.)
((𝜑 𝜓) ↔ (𝜓 𝜑))

TheoremnorcomOLD 1524 Obsolete version of norcom 1523 as of 23-Apr-2024. (Contributed by Remi, 25-Oct-2023.) (Proof modification is discouraged.) (New usage is discouraged.)
((𝜑 𝜓) ↔ (𝜓 𝜑))

Theoremnornot 1525 ¬ is expressible via . (Contributed by Remi, 25-Oct-2023.) (Proof shortened by Wolf Lammen, 8-Dec-2023.)
𝜑 ↔ (𝜑 𝜑))

TheoremnornotOLD 1526 Obsolete version of nornot 1525 as of 8-Dec-2023. (Contributed by Remi, 25-Oct-2023.) (Proof modification is discouraged.) (New usage is discouraged.)
𝜑 ↔ (𝜑 𝜑))

Theoremnoran 1527 is expressible via . (Contributed by Remi, 26-Oct-2023.) (Proof shortened by Wolf Lammen, 8-Dec-2023.)
((𝜑𝜓) ↔ ((𝜑 𝜑) (𝜓 𝜓)))

TheoremnoranOLD 1528 Obsolete version of noran 1527 as of 8-Dec-2023. (Contributed by Remi, 26-Oct-2023.) (Proof modification is discouraged.) (New usage is discouraged.)
((𝜑𝜓) ↔ ((𝜑 𝜑) (𝜓 𝜓)))

Theoremnoror 1529 is expressible via . (Contributed by Remi, 26-Oct-2023.) (Proof shortened by Wolf Lammen, 8-Dec-2023.)
((𝜑𝜓) ↔ ((𝜑 𝜓) (𝜑 𝜓)))

TheoremnororOLD 1530 Obsolete version of noror 1529 as of 8-Dec-2023. (Contributed by Remi, 26-Oct-2023.) (Proof modification is discouraged.) (New usage is discouraged.)
((𝜑𝜓) ↔ ((𝜑 𝜓) (𝜑 𝜓)))

Theoremnorasslem1 1531 This lemma shows the equivalence of two expressions, used in norass 1534. (Contributed by Wolf Lammen, 18-Dec-2023.)
(((𝜑𝜓) → 𝜒) ↔ ((𝜑 𝜓) ∨ 𝜒))

Theoremnorasslem2 1532 This lemma specializes biimt 364 suitably for the proof of norass 1534. (Contributed by Wolf Lammen, 18-Dec-2023.)
(𝜑 → (𝜓 ↔ ((𝜑𝜒) → 𝜓)))

Theoremnorasslem3 1533 This lemma specializes biorf 934 suitably for the proof of norass 1534. (Contributed by Wolf Lammen, 18-Dec-2023.)
𝜑 → ((𝜓𝜒) ↔ ((𝜑𝜓) → 𝜒)))

Theoremnorass 1534 A characterization of when an expression involving joint denials associates. This is identical to the case when alternative denial is associative, see nanass 1501. Remark: Like alternative denial, joint denial is also commutative, see norcom 1523. (Contributed by RP, 29-Oct-2023.) (Proof shortened by Wolf Lammen, 17-Dec-2023.)
((𝜑𝜒) ↔ (((𝜑 𝜓) 𝜒) ↔ (𝜑 (𝜓 𝜒))))

TheoremnorassOLD 1535 Obsolete version of norass 1534 as of 17-Dec-2023. (Contributed by RP, 29-Oct-2023.) (Proof modification is discouraged.) (New usage is discouraged.)
((𝜑𝜒) ↔ (((𝜑 𝜓) 𝜒) ↔ (𝜑 (𝜓 𝜒))))

1.2.15  True and false constants

1.2.15.1  Universal quantifier for use by df-tru

Even though it isn't ordinarily part of propositional calculus, the universal quantifier is introduced here so that the soundness of definition df-tru 1541 can be checked by the same algorithm that is used for predicate calculus. Its first real use is in definition df-ex 1782 in the predicate calculus section below. For those who want propositional calculus to be self-contained i.e. to use wff variables only, the alternate definition dftru2 1543 may be adopted and this subsection moved down to the start of the subsection with wex 1781 below. However, the use of dftru2 1543 as a definition requires a more elaborate definition checking algorithm that we prefer to avoid.

Syntaxwal 1536 Extend wff definition to include the universal quantifier ("for all"). 𝑥𝜑 is read "𝜑 (phi) is true for all 𝑥". Typically, in its final application 𝜑 would be replaced with a wff containing a (free) occurrence of the variable 𝑥, for example 𝑥 = 𝑦. In a universe with a finite number of objects, "for all" is equivalent to a big conjunction (AND) with one wff for each possible case of 𝑥. When the universe is infinite (as with set theory), such a propositional-calculus equivalent is not possible because an infinitely long formula has no meaning, but conceptually the idea is the same.
wff 𝑥𝜑

1.2.15.2  Equality predicate for use by df-tru

Even though it isn't ordinarily part of propositional calculus, the equality predicate = is introduced here so that the soundness of definition df-tru 1541 can be checked by the same algorithm as is used for predicate calculus. Its first real use is in theorem weq 1965 in the predicate calculus section below. For those who want propositional calculus to be self-contained i.e. to use wff variables only, the alternate definition dftru2 1543 may be adopted and this subsection moved down to just above weq 1965 below. However, the use of dftru2 1543 as a definition requires a more elaborate definition checking algorithm that we prefer to avoid.

Syntaxcv 1537 This syntax construction states that a variable 𝑥, which has been declared to be a setvar variable by \$f statement vx, is also a class expression. This can be justified informally as follows. We know that the class builder {𝑦𝑦𝑥} is a class by cab 2802. Since (when 𝑦 is distinct from 𝑥) we have 𝑥 = {𝑦𝑦𝑥} by cvjust 2819, we can argue that the syntax "class 𝑥 " can be viewed as an abbreviation for "class {𝑦𝑦𝑥}". See the discussion under the definition of class in [Jech] p. 4 showing that "Every set can be considered to be a class".

While it is tempting and perhaps occasionally useful to view cv 1537 as a "type conversion" from a setvar variable to a class variable, keep in mind that cv 1537 is intrinsically no different from any other class-building syntax such as cab 2802, cun 3917, or c0 4276.

For a general discussion of the theory of classes and the role of cv 1537, see mmset.html#class 1537.

(The description above applies to set theory, not predicate calculus. The purpose of introducing class 𝑥 here, and not in set theory where it belongs, is to allow us to express, i.e., "prove", the weq 1965 of predicate calculus from the wceq 1538 of set theory, so that we do not overload the = connective with two syntax definitions. This is done to prevent ambiguity that would complicate some Metamath parsers.)

class 𝑥

Syntaxwceq 1538 Extend wff definition to include class equality.

For a general discussion of the theory of classes, see mmset.html#class.

(The purpose of introducing wff 𝐴 = 𝐵 here, and not in set theory where it belongs, is to allow us to express, i.e., "prove", the weq 1965 of predicate calculus in terms of the wceq 1538 of set theory, so that we do not "overload" the = connective with two syntax definitions. This is done to prevent ambiguity that would complicate some Metamath parsers. For example, some parsers - although not the Metamath program - stumble on the fact that the = in 𝑥 = 𝑦 could be the = of either weq 1965 or wceq 1538, although mathematically it makes no difference. The class variables 𝐴 and 𝐵 are introduced temporarily for the purpose of this definition but otherwise not used in predicate calculus. See df-cleq 2817 for more information on the set theory usage of wceq 1538.)

wff 𝐴 = 𝐵

1.2.15.3  The true constant

Syntaxwtru 1539 The constant is a wff.
wff

Theoremtrujust 1540 Soundness justification theorem for df-tru 1541. Instance of monothetic 269. (Contributed by Mario Carneiro, 17-Nov-2013.) (Revised by NM, 11-Jul-2019.)
((∀𝑥 𝑥 = 𝑥 → ∀𝑥 𝑥 = 𝑥) ↔ (∀𝑦 𝑦 = 𝑦 → ∀𝑦 𝑦 = 𝑦))

Definitiondf-tru 1541 Definition of the truth value "true", or "verum", denoted by . In this definition, an instance of id 22 is used as the definiens, although any tautology, such as an axiom, can be used in its place. This particular instance of id 22 was chosen so this definition can be checked by the same algorithm that is used for predicate calculus. This definition should be referenced directly only by tru 1542, and other proofs should use tru 1542 instead of this definition, since there are many alternate ways to define . (Contributed by Anthony Hart, 13-Oct-2010.) (Revised by NM, 11-Jul-2019.) Use tru 1542 instead. (New usage is discouraged.)
(⊤ ↔ (∀𝑥 𝑥 = 𝑥 → ∀𝑥 𝑥 = 𝑥))

Theoremtru 1542 The truth value is provable. (Contributed by Anthony Hart, 13-Oct-2010.)

Theoremdftru2 1543 An alternate definition of "true" (see comment of df-tru 1541). The associated justification theorem is monothetic 269. (Contributed by Anthony Hart, 13-Oct-2010.) (Revised by BJ, 12-Jul-2019.) Use tru 1542 instead. (New usage is discouraged.)
(⊤ ↔ (𝜑𝜑))

Theoremtrut 1544 A proposition is equivalent to it being implied by . Closed form of mptru 1545. Dual of dfnot 1557. It is to tbtru 1546 what a1bi 366 is to tbt 373. (Contributed by BJ, 26-Oct-2019.)
(𝜑 ↔ (⊤ → 𝜑))

Theoremmptru 1545 Eliminate as an antecedent. A proposition implied by is true. This is modus ponens ax-mp 5 when the minor hypothesis is (which holds by tru 1542). (Contributed by Mario Carneiro, 13-Mar-2014.)
(⊤ → 𝜑)       𝜑

Theoremtbtru 1546 A proposition is equivalent to itself being equivalent to . (Contributed by Anthony Hart, 14-Aug-2011.)
(𝜑 ↔ (𝜑 ↔ ⊤))

Theorembitru 1547 A theorem is equivalent to truth. (Contributed by Mario Carneiro, 9-May-2015.)
𝜑       (𝜑 ↔ ⊤)

Theoremtrud 1548 Anything implies . Dual statement of falim 1555. Deduction form of tru 1542. Note on naming: in 2022, the theorem now known as mptru 1545 was renamed from trud so if you are reading documentation written before that time, references to trud refer to what is now mptru 1545. (Contributed by FL, 20-Mar-2011.) (Proof shortened by Anthony Hart, 1-Aug-2011.)
(𝜑 → ⊤)

Theoremtruan 1549 True can be removed from a conjunction. (Contributed by FL, 20-Mar-2011.) (Proof shortened by Wolf Lammen, 21-Jul-2019.)
((⊤ ∧ 𝜑) ↔ 𝜑)

1.2.15.4  The false constant

Syntaxwfal 1550 The constant is a wff.
wff

Definitiondf-fal 1551 Definition of the truth value "false", or "falsum", denoted by . See also df-tru 1541. (Contributed by Anthony Hart, 22-Oct-2010.)
(⊥ ↔ ¬ ⊤)

Theoremfal 1552 The truth value is refutable. (Contributed by Anthony Hart, 22-Oct-2010.) (Proof shortened by Mel L. O'Cat, 11-Mar-2012.)
¬ ⊥

Theoremnbfal 1553 The negation of a proposition is equivalent to itself being equivalent to . (Contributed by Anthony Hart, 14-Aug-2011.)
𝜑 ↔ (𝜑 ↔ ⊥))

Theorembifal 1554 A contradiction is equivalent to falsehood. (Contributed by Mario Carneiro, 9-May-2015.)
¬ 𝜑       (𝜑 ↔ ⊥)

Theoremfalim 1555 The truth value implies anything. Also called the "principle of explosion", or "ex falso [sequitur]] quodlibet" (Latin for "from falsehood, anything [follows]]"). Dual statement of trud 1548. (Contributed by FL, 20-Mar-2011.) (Proof shortened by Anthony Hart, 1-Aug-2011.)
(⊥ → 𝜑)

Theoremfalimd 1556 The truth value implies anything. (Contributed by Mario Carneiro, 9-Feb-2017.)
((𝜑 ∧ ⊥) → 𝜓)

Theoremdfnot 1557 Given falsum , we can define the negation of a wff 𝜑 as the statement that follows from assuming 𝜑. (Contributed by Mario Carneiro, 9-Feb-2017.) (Proof shortened by Wolf Lammen, 21-Jul-2019.)
𝜑 ↔ (𝜑 → ⊥))

Theoreminegd 1558 Negation introduction rule from natural deduction. (Contributed by Mario Carneiro, 9-Feb-2017.)
((𝜑𝜓) → ⊥)       (𝜑 → ¬ 𝜓)

Theoremefald 1559 Deduction based on reductio ad absurdum. (Contributed by Mario Carneiro, 9-Feb-2017.)
((𝜑 ∧ ¬ 𝜓) → ⊥)       (𝜑𝜓)

Theorempm2.21fal 1560 If a wff and its negation are provable, then falsum is provable. (Contributed by Mario Carneiro, 9-Feb-2017.)
(𝜑𝜓)    &   (𝜑 → ¬ 𝜓)       (𝜑 → ⊥)

1.2.16  Truth tables

Some sources define logical connectives by their truth tables. These are tables that give the truth value of the composed expression for all possible combinations of the truth values of their arguments. In this section, we show that our definitions and axioms produce equivalent results for all the logical connectives we have introduced (either axiomatically or by a definition): implication wi 4, negation wn 3, biconditional df-bi 210, conjunction df-an 400, disjunction df-or 845, alternative denial df-nan 1483, exclusive disjunction df-xor 1503.

1.2.16.1  Implication

Theoremtruimtru 1561 A identity. (Contributed by Anthony Hart, 22-Oct-2010.) An alternate proof is possible using trud 1548 instead of id 22 but the principle of identity id 22 is more basic, and the present proof indicates that the result still holds in relevance logic. (Proof modification is discouraged.)
((⊤ → ⊤) ↔ ⊤)

Theoremtruimfal 1562 A identity. (Contributed by Anthony Hart, 22-Oct-2010.) (Proof shortened by Andrew Salmon, 13-May-2011.)
((⊤ → ⊥) ↔ ⊥)

Theoremfalimtru 1563 A identity. (Contributed by Anthony Hart, 22-Oct-2010.) An alternate proof is possible using falim 1555 instead of trud 1548 but the present proof using trud 1548 emphasizes that the result does not require the principle of explosion. (Proof modification is discouraged.)
((⊥ → ⊤) ↔ ⊤)

Theoremfalimfal 1564 A identity. (Contributed by Anthony Hart, 22-Oct-2010.) An alternate proof is possible using falim 1555 instead of id 22 but the present proof using id 22 emphasizes that the result does not require the principle of explosion. (Proof modification is discouraged.)
((⊥ → ⊥) ↔ ⊤)

1.2.16.2  Negation

Theoremnottru 1565 A ¬ identity. (Contributed by Anthony Hart, 22-Oct-2010.)
(¬ ⊤ ↔ ⊥)

Theoremnotfal 1566 A ¬ identity. (Contributed by Anthony Hart, 22-Oct-2010.) (Proof shortened by Andrew Salmon, 13-May-2011.)
(¬ ⊥ ↔ ⊤)

1.2.16.3  Equivalence

Theoremtrubitru 1567 A identity. (Contributed by Anthony Hart, 22-Oct-2010.) (Proof shortened by Andrew Salmon, 13-May-2011.)
((⊤ ↔ ⊤) ↔ ⊤)

Theoremfalbitru 1568 A identity. (Contributed by Anthony Hart, 22-Oct-2010.) (Proof shortened by Andrew Salmon, 13-May-2011.) (Proof shortened by Wolf Lammen, 10-Jul-2020.)
((⊥ ↔ ⊤) ↔ ⊥)

Theoremtrubifal 1569 A identity. (Contributed by Anthony Hart, 22-Oct-2010.) (Proof shortened by Andrew Salmon, 13-May-2011.) (Proof shortened by Wolf Lammen, 10-Jul-2020.)
((⊤ ↔ ⊥) ↔ ⊥)

Theoremfalbifal 1570 A identity. (Contributed by Anthony Hart, 22-Oct-2010.) (Proof shortened by Andrew Salmon, 13-May-2011.)
((⊥ ↔ ⊥) ↔ ⊤)

1.2.16.4  Conjunction

Theoremtruantru 1571 A identity. (Contributed by Anthony Hart, 22-Oct-2010.)
((⊤ ∧ ⊤) ↔ ⊤)

Theoremtruanfal 1572 A identity. (Contributed by Anthony Hart, 22-Oct-2010.)
((⊤ ∧ ⊥) ↔ ⊥)

Theoremfalantru 1573 A identity. (Contributed by Anthony Hart, 22-Oct-2010.)
((⊥ ∧ ⊤) ↔ ⊥)

Theoremfalanfal 1574 A identity. (Contributed by Anthony Hart, 22-Oct-2010.)
((⊥ ∧ ⊥) ↔ ⊥)

1.2.16.5  Disjunction

Theoremtruortru 1575 A identity. (Contributed by Anthony Hart, 22-Oct-2010.) (Proof shortened by Andrew Salmon, 13-May-2011.)
((⊤ ∨ ⊤) ↔ ⊤)

Theoremtruorfal 1576 A identity. (Contributed by Anthony Hart, 22-Oct-2010.)
((⊤ ∨ ⊥) ↔ ⊤)

Theoremfalortru 1577 A identity. (Contributed by Anthony Hart, 22-Oct-2010.)
((⊥ ∨ ⊤) ↔ ⊤)

Theoremfalorfal 1578 A identity. (Contributed by Anthony Hart, 22-Oct-2010.) (Proof shortened by Andrew Salmon, 13-May-2011.)
((⊥ ∨ ⊥) ↔ ⊥)

1.2.16.6  Alternative denial

Theoremtrunantru 1579 A identity. (Contributed by Anthony Hart, 22-Oct-2010.) (Proof shortened by Andrew Salmon, 13-May-2011.)
((⊤ ⊼ ⊤) ↔ ⊥)

Theoremtrunanfal 1580 A identity. (Contributed by Anthony Hart, 23-Oct-2010.) (Proof shortened by Andrew Salmon, 13-May-2011.) (Proof shortened by Wolf Lammen, 10-Jul-2020.)
((⊤ ⊼ ⊥) ↔ ⊤)

Theoremfalnantru 1581 A identity. (Contributed by Anthony Hart, 23-Oct-2010.) (Proof shortened by Andrew Salmon, 13-May-2011.)
((⊥ ⊼ ⊤) ↔ ⊤)

Theoremfalnanfal 1582 A identity. (Contributed by Anthony Hart, 22-Oct-2010.) (Proof shortened by Andrew Salmon, 13-May-2011.)
((⊥ ⊼ ⊥) ↔ ⊤)

1.2.16.7  Exclusive disjunction

Theoremtruxortru 1583 A identity. (Contributed by David A. Wheeler, 8-May-2015.)
((⊤ ⊻ ⊤) ↔ ⊥)

Theoremtruxorfal 1584 A identity. (Contributed by David A. Wheeler, 8-May-2015.)
((⊤ ⊻ ⊥) ↔ ⊤)

Theoremfalxortru 1585 A identity. (Contributed by David A. Wheeler, 9-May-2015.) (Proof shortened by Wolf Lammen, 10-Jul-2020.)
((⊥ ⊻ ⊤) ↔ ⊤)

Theoremfalxorfal 1586 A identity. (Contributed by David A. Wheeler, 9-May-2015.)
((⊥ ⊻ ⊥) ↔ ⊥)

1.2.16.8  Joint denial

Theoremtrunortru 1587 A identity. (Contributed by Remi, 25-Oct-2023.) (Proof shortened by Wolf Lammen, 7-Dec-2023.)
((⊤ ⊤) ↔ ⊥)

TheoremtrunortruOLD 1588 Obsolete version of trunortru 1587 as of 7-Dec-2023. (Contributed by Remi, 25-Oct-2023.) (Proof modification is discouraged.) (New usage is discouraged.)
((⊤ ⊤) ↔ ⊥)

Theoremtrunorfal 1589 A identity. (Contributed by Remi, 25-Oct-2023.) (Proof shortened by Wolf Lammen, 17-Dec-2023.)
((⊤ ⊥) ↔ ⊥)

TheoremtrunorfalOLD 1590 Obsolete version of trunorfal 1589 as of 17-Dec-2023. (Contributed by Remi, 25-Oct-2023.) (Proof modification is discouraged.) (New usage is discouraged.)
((⊤ ⊥) ↔ ⊥)

Theoremfalnortru 1591 A identity. (Contributed by Remi, 25-Oct-2023.)
((⊥ ⊤) ↔ ⊥)

Theoremfalnorfal 1592 A identity. (Contributed by Remi, 25-Oct-2023.) (Proof shortened by Wolf Lammen, 17-Dec-2023.)
((⊥ ⊥) ↔ ⊤)

TheoremfalnorfalOLD 1593 Obsolete version of falnorfal 1592 as of 17-Dec-2023. (Contributed by Remi, 25-Oct-2023.) (Proof modification is discouraged.) (New usage is discouraged.)
((⊥ ⊥) ↔ ⊤)

Propositional calculus deals with truth values, which can be interpreted as bits. Using this, we can define the half adder and the full adder in pure propositional calculus, and show their basic properties.

The half adder adds two 1-bit numbers. Its two outputs are the "sum" S and the "carry" C. The real sum is then given by 2C+S. The sum and carry correspond respectively to the logical exclusive disjunction (df-xor 1503) and the logical conjunction (df-an 400).

The full adder takes into account an "input carry", so it has three inputs and again two outputs, corresponding to the "sum" (df-had 1595) and "updated carry" (df-cad 1609).

Here is a short description. We code the bit 0 by and 1 by . Even though hadd and cadd are invariant under permutation of their arguments, assume for the sake of concreteness that 𝜑 (resp. 𝜓) is the i^th bit of the first (resp. second) number to add (with the convention that the i^th bit is the multiple of 2^i in the base-2 representation), and that 𝜒 is the i^th carry (with the convention that the 0^th carry is 0). Then, hadd(𝜑, 𝜓, 𝜒) gives the i^th bit of the sum, and cadd(𝜑, 𝜓, 𝜒) gives the (i+1)^th carry. Then, addition is performed by iteration from i = 0 to i = 1 + (max of the number of digits of the two summands) by "updating" the carry.

Syntaxwhad 1594 Syntax for the "sum" output of the full adder. (Contributed by Mario Carneiro, 4-Sep-2016.)

Definitiondf-had 1595 Definition of the "sum" output of the full adder (triple exclusive disjunction, or XOR3, or testing whether an odd number of parameters are true). (Contributed by Mario Carneiro, 4-Sep-2016.)
(hadd(𝜑, 𝜓, 𝜒) ↔ ((𝜑𝜓) ⊻ 𝜒))

Theoremhadbi123d 1596 Equality theorem for the adder sum. (Contributed by Mario Carneiro, 4-Sep-2016.)
(𝜑 → (𝜓𝜒))    &   (𝜑 → (𝜃𝜏))    &   (𝜑 → (𝜂𝜁))       (𝜑 → (hadd(𝜓, 𝜃, 𝜂) ↔ hadd(𝜒, 𝜏, 𝜁)))

Theoremhadbi123i 1597 Equality theorem for the adder sum. (Contributed by Mario Carneiro, 4-Sep-2016.)
(𝜑𝜓)    &   (𝜒𝜃)    &   (𝜏𝜂)       (hadd(𝜑, 𝜒, 𝜏) ↔ hadd(𝜓, 𝜃, 𝜂))

Theoremhadass 1598 Associative law for the adder sum. (Contributed by Mario Carneiro, 4-Sep-2016.)
(hadd(𝜑, 𝜓, 𝜒) ↔ (𝜑 ⊻ (𝜓𝜒)))

Theoremhadbi 1599 The adder sum is the same as the triple biconditional. (Contributed by Mario Carneiro, 4-Sep-2016.)
(hadd(𝜑, 𝜓, 𝜒) ↔ ((𝜑𝜓) ↔ 𝜒))

Theoremhadcoma 1600 Commutative law for the adder sum. (Contributed by Mario Carneiro, 4-Sep-2016.) (Proof shortened by Wolf Lammen, 17-Dec-2023.)