Home | Metamath
Proof Explorer Theorem List (p. 16 of 450) | < 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-28695) |
Hilbert Space Explorer
(28696-30218) |
Users' Mathboxes
(30219-44926) |
Type | Label | Description |
---|---|---|
Statement | ||
Syntax | wxo 1501 | Extend wff definition to include exclusive disjunction ("xor"). |
wff (𝜑 ⊻ 𝜓) | ||
Definition | df-xor 1502 | 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 1540) and the constant false ⊥ (df-fal 1550), we will be able to prove these truth table values: ((⊤ ⊻ ⊤) ↔ ⊥) (truxortru 1582), ((⊤ ⊻ ⊥) ↔ ⊤) (truxorfal 1583), ((⊥ ⊻ ⊤) ↔ ⊤) (falxortru 1584), and ((⊥ ⊻ ⊥) ↔ ⊥) (falxorfal 1585). Contrast with ∧ (df-an 399), ∨ (df-or 844), → (wi 4), and ⊼ (df-nan 1482). (Contributed by FL, 22-Nov-2010.) |
⊢ ((𝜑 ⊻ 𝜓) ↔ ¬ (𝜑 ↔ 𝜓)) | ||
Theorem | xnor 1503 | Two ways to write XNOR. (Contributed by Mario Carneiro, 4-Sep-2016.) |
⊢ ((𝜑 ↔ 𝜓) ↔ ¬ (𝜑 ⊻ 𝜓)) | ||
Theorem | xorcom 1504 | The connector ⊻ is commutative. (Contributed by Mario Carneiro, 4-Sep-2016.) (Proof shortened by Wolf Lammen, 21-Apr-2024.) |
⊢ ((𝜑 ⊻ 𝜓) ↔ (𝜓 ⊻ 𝜑)) | ||
Theorem | xorcomOLD 1505 | Obsolete version of xorcom 1504 as of 21-Apr-2024. (Contributed by Mario Carneiro, 4-Sep-2016.) (Proof modification is discouraged.) (New usage is discouraged.) |
⊢ ((𝜑 ⊻ 𝜓) ↔ (𝜓 ⊻ 𝜑)) | ||
Theorem | xorass 1506 | 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.) |
⊢ (((𝜑 ⊻ 𝜓) ⊻ 𝜒) ↔ (𝜑 ⊻ (𝜓 ⊻ 𝜒))) | ||
Theorem | excxor 1507 | This tautology shows that xor is really exclusive. (Contributed by FL, 22-Nov-2010.) |
⊢ ((𝜑 ⊻ 𝜓) ↔ ((𝜑 ∧ ¬ 𝜓) ∨ (¬ 𝜑 ∧ 𝜓))) | ||
Theorem | xor2 1508 | Two ways to express "exclusive or". (Contributed by Mario Carneiro, 4-Sep-2016.) |
⊢ ((𝜑 ⊻ 𝜓) ↔ ((𝜑 ∨ 𝜓) ∧ ¬ (𝜑 ∧ 𝜓))) | ||
Theorem | xoror 1509 | XOR implies OR. (Contributed by BJ, 19-Apr-2019.) |
⊢ ((𝜑 ⊻ 𝜓) → (𝜑 ∨ 𝜓)) | ||
Theorem | xornan 1510 | XOR implies NAND. (Contributed by BJ, 19-Apr-2019.) |
⊢ ((𝜑 ⊻ 𝜓) → ¬ (𝜑 ∧ 𝜓)) | ||
Theorem | xornan2 1511 | XOR implies NAND (written with the ⊼ connector). (Contributed by BJ, 19-Apr-2019.) |
⊢ ((𝜑 ⊻ 𝜓) → (𝜑 ⊼ 𝜓)) | ||
Theorem | xorneg2 1512 | The connector ⊻ is negated under negation of one argument. (Contributed by Mario Carneiro, 4-Sep-2016.) (Proof shortened by Wolf Lammen, 27-Jun-2020.) |
⊢ ((𝜑 ⊻ ¬ 𝜓) ↔ ¬ (𝜑 ⊻ 𝜓)) | ||
Theorem | xorneg1 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.) |
⊢ ((¬ 𝜑 ⊻ 𝜓) ↔ ¬ (𝜑 ⊻ 𝜓)) | ||
Theorem | xorneg 1514 | The connector ⊻ is unchanged under negation of both arguments. (Contributed by Mario Carneiro, 4-Sep-2016.) |
⊢ ((¬ 𝜑 ⊻ ¬ 𝜓) ↔ (𝜑 ⊻ 𝜓)) | ||
Theorem | xorbi12i 1515 | Equality property for XOR. (Contributed by Mario Carneiro, 4-Sep-2016.) (Proof shortened by Wolf Lammen, 21-Apr-2024.) |
⊢ (𝜑 ↔ 𝜓) & ⊢ (𝜒 ↔ 𝜃) ⇒ ⊢ ((𝜑 ⊻ 𝜒) ↔ (𝜓 ⊻ 𝜃)) | ||
Theorem | xorbi12iOLD 1516 | Obsolete version of xorbi12i 1515 as of 21-Apr-2024. (Contributed by Mario Carneiro, 4-Sep-2016.) (Proof modification is discouraged.) (New usage is discouraged.) |
⊢ (𝜑 ↔ 𝜓) & ⊢ (𝜒 ↔ 𝜃) ⇒ ⊢ ((𝜑 ⊻ 𝜒) ↔ (𝜓 ⊻ 𝜃)) | ||
Theorem | xorbi12d 1517 | Equality property for XOR. (Contributed by Mario Carneiro, 4-Sep-2016.) |
⊢ (𝜑 → (𝜓 ↔ 𝜒)) & ⊢ (𝜑 → (𝜃 ↔ 𝜏)) ⇒ ⊢ (𝜑 → ((𝜓 ⊻ 𝜃) ↔ (𝜒 ⊻ 𝜏))) | ||
Theorem | anxordi 1518 | Conjunction distributes over exclusive-or. In intuitionistic logic this assertion is also true, even though xordi 1013 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.) |
⊢ ((𝜑 ∧ (𝜓 ⊻ 𝜒)) ↔ ((𝜑 ∧ 𝜓) ⊻ (𝜑 ∧ 𝜒))) | ||
Theorem | xorexmid 1519 | Exclusive-or variant of the law of the excluded middle (exmid 891). 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.) |
⊢ (𝜑 ⊻ ¬ 𝜑) | ||
Syntax | wnor 1520 | Extend wff definition to include joint denial ("nor"). |
wff (𝜑 ⊽ 𝜓) | ||
Definition | df-nor 1521 | Define joint denial ("not-or" or "nor"). After we define the constant true ⊤ (df-tru 1540) and the constant false ⊥ (df-fal 1550), we will be able to prove these truth table values: ((⊤ ⊽ ⊤) ↔ ⊥) (trunortru 1586), ((⊤ ⊽ ⊥) ↔ ⊥) (trunorfal 1588), ((⊥ ⊽ ⊤) ↔ ⊥) (falnortru 1590), and ((⊥ ⊽ ⊥) ↔ ⊤) (falnorfal 1591). Contrast with ∧ (df-an 399), ∨ (df-or 844), → (wi 4), ⊼ (df-nan 1482), and ⊻ (df-xor 1502). (Contributed by Remi, 25-Oct-2023.) |
⊢ ((𝜑 ⊽ 𝜓) ↔ ¬ (𝜑 ∨ 𝜓)) | ||
Theorem | norcom 1522 | The connector ⊽ is commutative. (Contributed by Remi, 25-Oct-2023.) (Proof shortened by Wolf Lammen, 23-Apr-2024.) |
⊢ ((𝜑 ⊽ 𝜓) ↔ (𝜓 ⊽ 𝜑)) | ||
Theorem | norcomOLD 1523 | Obsolete version of norcom 1522 as of 23-Apr-2024. (Contributed by Remi, 25-Oct-2023.) (Proof modification is discouraged.) (New usage is discouraged.) |
⊢ ((𝜑 ⊽ 𝜓) ↔ (𝜓 ⊽ 𝜑)) | ||
Theorem | nornot 1524 | ¬ is expressible via ⊽. (Contributed by Remi, 25-Oct-2023.) (Proof shortened by Wolf Lammen, 8-Dec-2023.) |
⊢ (¬ 𝜑 ↔ (𝜑 ⊽ 𝜑)) | ||
Theorem | nornotOLD 1525 | Obsolete version of nornot 1524 as of 8-Dec-2023. (Contributed by Remi, 25-Oct-2023.) (Proof modification is discouraged.) (New usage is discouraged.) |
⊢ (¬ 𝜑 ↔ (𝜑 ⊽ 𝜑)) | ||
Theorem | noran 1526 | ∧ is expressible via ⊽. (Contributed by Remi, 26-Oct-2023.) (Proof shortened by Wolf Lammen, 8-Dec-2023.) |
⊢ ((𝜑 ∧ 𝜓) ↔ ((𝜑 ⊽ 𝜑) ⊽ (𝜓 ⊽ 𝜓))) | ||
Theorem | noranOLD 1527 | Obsolete version of noran 1526 as of 8-Dec-2023. (Contributed by Remi, 26-Oct-2023.) (Proof modification is discouraged.) (New usage is discouraged.) |
⊢ ((𝜑 ∧ 𝜓) ↔ ((𝜑 ⊽ 𝜑) ⊽ (𝜓 ⊽ 𝜓))) | ||
Theorem | noror 1528 | ∨ is expressible via ⊽. (Contributed by Remi, 26-Oct-2023.) (Proof shortened by Wolf Lammen, 8-Dec-2023.) |
⊢ ((𝜑 ∨ 𝜓) ↔ ((𝜑 ⊽ 𝜓) ⊽ (𝜑 ⊽ 𝜓))) | ||
Theorem | nororOLD 1529 | Obsolete version of noror 1528 as of 8-Dec-2023. (Contributed by Remi, 26-Oct-2023.) (Proof modification is discouraged.) (New usage is discouraged.) |
⊢ ((𝜑 ∨ 𝜓) ↔ ((𝜑 ⊽ 𝜓) ⊽ (𝜑 ⊽ 𝜓))) | ||
Theorem | norasslem1 1530 | This lemma shows the equivalence of two expressions, used in norass 1533. (Contributed by Wolf Lammen, 18-Dec-2023.) |
⊢ (((𝜑 ∨ 𝜓) → 𝜒) ↔ ((𝜑 ⊽ 𝜓) ∨ 𝜒)) | ||
Theorem | norasslem2 1531 | This lemma specializes biimt 363 suitably for the proof of norass 1533. (Contributed by Wolf Lammen, 18-Dec-2023.) |
⊢ (𝜑 → (𝜓 ↔ ((𝜑 ∨ 𝜒) → 𝜓))) | ||
Theorem | norasslem3 1532 | This lemma specializes biorf 933 suitably for the proof of norass 1533. (Contributed by Wolf Lammen, 18-Dec-2023.) |
⊢ (¬ 𝜑 → ((𝜓 → 𝜒) ↔ ((𝜑 ∨ 𝜓) → 𝜒))) | ||
Theorem | norass 1533 | A characterization of when an expression involving joint denials associates. This is identical to the case when alternative denial is associative, see nanass 1500. Remark: Like alternative denial, joint denial is also commutative, see norcom 1522. (Contributed by RP, 29-Oct-2023.) (Proof shortened by Wolf Lammen, 17-Dec-2023.) |
⊢ ((𝜑 ↔ 𝜒) ↔ (((𝜑 ⊽ 𝜓) ⊽ 𝜒) ↔ (𝜑 ⊽ (𝜓 ⊽ 𝜒)))) | ||
Theorem | norassOLD 1534 | Obsolete version of norass 1533 as of 17-Dec-2023. (Contributed by RP, 29-Oct-2023.) (Proof modification is discouraged.) (New usage is discouraged.) |
⊢ ((𝜑 ↔ 𝜒) ↔ (((𝜑 ⊽ 𝜓) ⊽ 𝜒) ↔ (𝜑 ⊽ (𝜓 ⊽ 𝜒)))) | ||
Even though it isn't ordinarily part of propositional calculus, the universal quantifier ∀ is introduced here so that the soundness of definition df-tru 1540 can be checked by the same algorithm that is used for predicate calculus. Its first real use is in definition df-ex 1781 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 1542 may be adopted and this subsection moved down to the start of the subsection with wex 1780 below. However, the use of dftru2 1542 as a definition requires a more elaborate definition checking algorithm that we prefer to avoid. | ||
Syntax | wal 1535 | 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 ∀𝑥𝜑 | ||
Even though it isn't ordinarily part of propositional calculus, the equality predicate = is introduced here so that the soundness of definition df-tru 1540 can be checked by the same algorithm as is used for predicate calculus. Its first real use is in theorem weq 1964 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 1542 may be adopted and this subsection moved down to just above weq 1964 below. However, the use of dftru2 1542 as a definition requires a more elaborate definition checking algorithm that we prefer to avoid. | ||
Syntax | cv 1536 |
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 2799.
Since (when
𝑦 is distinct from 𝑥) we
have 𝑥 =
{𝑦 ∣ 𝑦 ∈ 𝑥} by
cvjust 2816, 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 1536 as a "type conversion" from a setvar variable to a class variable, keep in mind that cv 1536 is intrinsically no different from any other class-building syntax such as cab 2799, cun 3934, or c0 4291. For a general discussion of the theory of classes and the role of cv 1536, see mmset.html#class 1536. (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 1964 of predicate calculus from the wceq 1537 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 𝑥 | ||
Syntax | wceq 1537 |
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 1964 of predicate calculus in terms of the wceq 1537 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 1964 or wceq 1537, 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 2814 for more information on the set theory usage of wceq 1537.) |
wff 𝐴 = 𝐵 | ||
Syntax | wtru 1538 | The constant ⊤ is a wff. |
wff ⊤ | ||
Theorem | trujust 1539 | Soundness justification theorem for df-tru 1540. Instance of monothetic 268. (Contributed by Mario Carneiro, 17-Nov-2013.) (Revised by NM, 11-Jul-2019.) |
⊢ ((∀𝑥 𝑥 = 𝑥 → ∀𝑥 𝑥 = 𝑥) ↔ (∀𝑦 𝑦 = 𝑦 → ∀𝑦 𝑦 = 𝑦)) | ||
Definition | df-tru 1540 | 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 1541, and other proofs should use tru 1541 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 1541 instead. (New usage is discouraged.) |
⊢ (⊤ ↔ (∀𝑥 𝑥 = 𝑥 → ∀𝑥 𝑥 = 𝑥)) | ||
Theorem | tru 1541 | The truth value ⊤ is provable. (Contributed by Anthony Hart, 13-Oct-2010.) |
⊢ ⊤ | ||
Theorem | dftru2 1542 | An alternate definition of "true" (see comment of df-tru 1540). The associated justification theorem is monothetic 268. (Contributed by Anthony Hart, 13-Oct-2010.) (Revised by BJ, 12-Jul-2019.) Use tru 1541 instead. (New usage is discouraged.) |
⊢ (⊤ ↔ (𝜑 → 𝜑)) | ||
Theorem | trut 1543 | A proposition is equivalent to it being implied by ⊤. Closed form of mptru 1544. Dual of dfnot 1556. It is to tbtru 1545 what a1bi 365 is to tbt 372. (Contributed by BJ, 26-Oct-2019.) |
⊢ (𝜑 ↔ (⊤ → 𝜑)) | ||
Theorem | mptru 1544 | 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 1541). (Contributed by Mario Carneiro, 13-Mar-2014.) |
⊢ (⊤ → 𝜑) ⇒ ⊢ 𝜑 | ||
Theorem | tbtru 1545 | A proposition is equivalent to itself being equivalent to ⊤. (Contributed by Anthony Hart, 14-Aug-2011.) |
⊢ (𝜑 ↔ (𝜑 ↔ ⊤)) | ||
Theorem | bitru 1546 | A theorem is equivalent to truth. (Contributed by Mario Carneiro, 9-May-2015.) |
⊢ 𝜑 ⇒ ⊢ (𝜑 ↔ ⊤) | ||
Theorem | trud 1547 | Anything implies ⊤. Dual statement of falim 1554. Deduction form of tru 1541. Note on naming: in 2022, the theorem now known as mptru 1544 was renamed from trud so if you are reading documentation written before that time, references to trud refer to what is now mptru 1544. (Contributed by FL, 20-Mar-2011.) (Proof shortened by Anthony Hart, 1-Aug-2011.) |
⊢ (𝜑 → ⊤) | ||
Theorem | truan 1548 | True can be removed from a conjunction. (Contributed by FL, 20-Mar-2011.) (Proof shortened by Wolf Lammen, 21-Jul-2019.) |
⊢ ((⊤ ∧ 𝜑) ↔ 𝜑) | ||
Syntax | wfal 1549 | The constant ⊥ is a wff. |
wff ⊥ | ||
Definition | df-fal 1550 | Definition of the truth value "false", or "falsum", denoted by ⊥. See also df-tru 1540. (Contributed by Anthony Hart, 22-Oct-2010.) |
⊢ (⊥ ↔ ¬ ⊤) | ||
Theorem | fal 1551 | The truth value ⊥ is refutable. (Contributed by Anthony Hart, 22-Oct-2010.) (Proof shortened by Mel L. O'Cat, 11-Mar-2012.) |
⊢ ¬ ⊥ | ||
Theorem | nbfal 1552 | The negation of a proposition is equivalent to itself being equivalent to ⊥. (Contributed by Anthony Hart, 14-Aug-2011.) |
⊢ (¬ 𝜑 ↔ (𝜑 ↔ ⊥)) | ||
Theorem | bifal 1553 | A contradiction is equivalent to falsehood. (Contributed by Mario Carneiro, 9-May-2015.) |
⊢ ¬ 𝜑 ⇒ ⊢ (𝜑 ↔ ⊥) | ||
Theorem | falim 1554 | 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 1547. (Contributed by FL, 20-Mar-2011.) (Proof shortened by Anthony Hart, 1-Aug-2011.) |
⊢ (⊥ → 𝜑) | ||
Theorem | falimd 1555 | The truth value ⊥ implies anything. (Contributed by Mario Carneiro, 9-Feb-2017.) |
⊢ ((𝜑 ∧ ⊥) → 𝜓) | ||
Theorem | dfnot 1556 | 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.) |
⊢ (¬ 𝜑 ↔ (𝜑 → ⊥)) | ||
Theorem | inegd 1557 | Negation introduction rule from natural deduction. (Contributed by Mario Carneiro, 9-Feb-2017.) |
⊢ ((𝜑 ∧ 𝜓) → ⊥) ⇒ ⊢ (𝜑 → ¬ 𝜓) | ||
Theorem | efald 1558 | Deduction based on reductio ad absurdum. (Contributed by Mario Carneiro, 9-Feb-2017.) |
⊢ ((𝜑 ∧ ¬ 𝜓) → ⊥) ⇒ ⊢ (𝜑 → 𝜓) | ||
Theorem | pm2.21fal 1559 | If a wff and its negation are provable, then falsum is provable. (Contributed by Mario Carneiro, 9-Feb-2017.) |
⊢ (𝜑 → 𝜓) & ⊢ (𝜑 → ¬ 𝜓) ⇒ ⊢ (𝜑 → ⊥) | ||
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 209, conjunction df-an 399, disjunction df-or 844, alternative denial df-nan 1482, exclusive disjunction df-xor 1502. | ||
Theorem | truimtru 1560 | A → identity. (Contributed by Anthony Hart, 22-Oct-2010.) An alternate proof is possible using trud 1547 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.) |
⊢ ((⊤ → ⊤) ↔ ⊤) | ||
Theorem | truimfal 1561 | A → identity. (Contributed by Anthony Hart, 22-Oct-2010.) (Proof shortened by Andrew Salmon, 13-May-2011.) |
⊢ ((⊤ → ⊥) ↔ ⊥) | ||
Theorem | falimtru 1562 | A → identity. (Contributed by Anthony Hart, 22-Oct-2010.) An alternate proof is possible using falim 1554 instead of trud 1547 but the present proof using trud 1547 emphasizes that the result does not require the principle of explosion. (Proof modification is discouraged.) |
⊢ ((⊥ → ⊤) ↔ ⊤) | ||
Theorem | falimfal 1563 | A → identity. (Contributed by Anthony Hart, 22-Oct-2010.) An alternate proof is possible using falim 1554 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.) |
⊢ ((⊥ → ⊥) ↔ ⊤) | ||
Theorem | nottru 1564 | A ¬ identity. (Contributed by Anthony Hart, 22-Oct-2010.) |
⊢ (¬ ⊤ ↔ ⊥) | ||
Theorem | notfal 1565 | A ¬ identity. (Contributed by Anthony Hart, 22-Oct-2010.) (Proof shortened by Andrew Salmon, 13-May-2011.) |
⊢ (¬ ⊥ ↔ ⊤) | ||
Theorem | trubitru 1566 | A ↔ identity. (Contributed by Anthony Hart, 22-Oct-2010.) (Proof shortened by Andrew Salmon, 13-May-2011.) |
⊢ ((⊤ ↔ ⊤) ↔ ⊤) | ||
Theorem | falbitru 1567 | 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.) |
⊢ ((⊥ ↔ ⊤) ↔ ⊥) | ||
Theorem | trubifal 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.) |
⊢ ((⊤ ↔ ⊥) ↔ ⊥) | ||
Theorem | falbifal 1569 | A ↔ identity. (Contributed by Anthony Hart, 22-Oct-2010.) (Proof shortened by Andrew Salmon, 13-May-2011.) |
⊢ ((⊥ ↔ ⊥) ↔ ⊤) | ||
Theorem | truantru 1570 | A ∧ identity. (Contributed by Anthony Hart, 22-Oct-2010.) |
⊢ ((⊤ ∧ ⊤) ↔ ⊤) | ||
Theorem | truanfal 1571 | A ∧ identity. (Contributed by Anthony Hart, 22-Oct-2010.) |
⊢ ((⊤ ∧ ⊥) ↔ ⊥) | ||
Theorem | falantru 1572 | A ∧ identity. (Contributed by Anthony Hart, 22-Oct-2010.) |
⊢ ((⊥ ∧ ⊤) ↔ ⊥) | ||
Theorem | falanfal 1573 | A ∧ identity. (Contributed by Anthony Hart, 22-Oct-2010.) |
⊢ ((⊥ ∧ ⊥) ↔ ⊥) | ||
Theorem | truortru 1574 | A ∨ identity. (Contributed by Anthony Hart, 22-Oct-2010.) (Proof shortened by Andrew Salmon, 13-May-2011.) |
⊢ ((⊤ ∨ ⊤) ↔ ⊤) | ||
Theorem | truorfal 1575 | A ∨ identity. (Contributed by Anthony Hart, 22-Oct-2010.) |
⊢ ((⊤ ∨ ⊥) ↔ ⊤) | ||
Theorem | falortru 1576 | A ∨ identity. (Contributed by Anthony Hart, 22-Oct-2010.) |
⊢ ((⊥ ∨ ⊤) ↔ ⊤) | ||
Theorem | falorfal 1577 | A ∨ identity. (Contributed by Anthony Hart, 22-Oct-2010.) (Proof shortened by Andrew Salmon, 13-May-2011.) |
⊢ ((⊥ ∨ ⊥) ↔ ⊥) | ||
Theorem | trunantru 1578 | A ⊼ identity. (Contributed by Anthony Hart, 22-Oct-2010.) (Proof shortened by Andrew Salmon, 13-May-2011.) |
⊢ ((⊤ ⊼ ⊤) ↔ ⊥) | ||
Theorem | trunanfal 1579 | 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.) |
⊢ ((⊤ ⊼ ⊥) ↔ ⊤) | ||
Theorem | falnantru 1580 | A ⊼ identity. (Contributed by Anthony Hart, 23-Oct-2010.) (Proof shortened by Andrew Salmon, 13-May-2011.) |
⊢ ((⊥ ⊼ ⊤) ↔ ⊤) | ||
Theorem | falnanfal 1581 | A ⊼ identity. (Contributed by Anthony Hart, 22-Oct-2010.) (Proof shortened by Andrew Salmon, 13-May-2011.) |
⊢ ((⊥ ⊼ ⊥) ↔ ⊤) | ||
Theorem | truxortru 1582 | A ⊻ identity. (Contributed by David A. Wheeler, 8-May-2015.) |
⊢ ((⊤ ⊻ ⊤) ↔ ⊥) | ||
Theorem | truxorfal 1583 | A ⊻ identity. (Contributed by David A. Wheeler, 8-May-2015.) |
⊢ ((⊤ ⊻ ⊥) ↔ ⊤) | ||
Theorem | falxortru 1584 | A ⊻ identity. (Contributed by David A. Wheeler, 9-May-2015.) (Proof shortened by Wolf Lammen, 10-Jul-2020.) |
⊢ ((⊥ ⊻ ⊤) ↔ ⊤) | ||
Theorem | falxorfal 1585 | A ⊻ identity. (Contributed by David A. Wheeler, 9-May-2015.) |
⊢ ((⊥ ⊻ ⊥) ↔ ⊥) | ||
Theorem | trunortru 1586 | A ⊽ identity. (Contributed by Remi, 25-Oct-2023.) (Proof shortened by Wolf Lammen, 7-Dec-2023.) |
⊢ ((⊤ ⊽ ⊤) ↔ ⊥) | ||
Theorem | trunortruOLD 1587 | Obsolete version of trunortru 1586 as of 7-Dec-2023. (Contributed by Remi, 25-Oct-2023.) (Proof modification is discouraged.) (New usage is discouraged.) |
⊢ ((⊤ ⊽ ⊤) ↔ ⊥) | ||
Theorem | trunorfal 1588 | A ⊽ identity. (Contributed by Remi, 25-Oct-2023.) (Proof shortened by Wolf Lammen, 17-Dec-2023.) |
⊢ ((⊤ ⊽ ⊥) ↔ ⊥) | ||
Theorem | trunorfalOLD 1589 | Obsolete version of trunorfal 1588 as of 17-Dec-2023. (Contributed by Remi, 25-Oct-2023.) (Proof modification is discouraged.) (New usage is discouraged.) |
⊢ ((⊤ ⊽ ⊥) ↔ ⊥) | ||
Theorem | falnortru 1590 | A ⊽ identity. (Contributed by Remi, 25-Oct-2023.) |
⊢ ((⊥ ⊽ ⊤) ↔ ⊥) | ||
Theorem | falnorfal 1591 | A ⊽ identity. (Contributed by Remi, 25-Oct-2023.) (Proof shortened by Wolf Lammen, 17-Dec-2023.) |
⊢ ((⊥ ⊽ ⊥) ↔ ⊤) | ||
Theorem | falnorfalOLD 1592 | Obsolete version of falnorfal 1591 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 1502) and the logical conjunction (df-an 399). The full adder takes into account an "input carry", so it has three inputs and again two outputs, corresponding to the "sum" (df-had 1594) and "updated carry" (df-cad 1608). 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. | ||
Syntax | whad 1593 | Syntax for the "sum" output of the full adder. (Contributed by Mario Carneiro, 4-Sep-2016.) |
wff hadd(𝜑, 𝜓, 𝜒) | ||
Definition | df-had 1594 | 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(𝜑, 𝜓, 𝜒) ↔ ((𝜑 ⊻ 𝜓) ⊻ 𝜒)) | ||
Theorem | hadbi123d 1595 | Equality theorem for the adder sum. (Contributed by Mario Carneiro, 4-Sep-2016.) |
⊢ (𝜑 → (𝜓 ↔ 𝜒)) & ⊢ (𝜑 → (𝜃 ↔ 𝜏)) & ⊢ (𝜑 → (𝜂 ↔ 𝜁)) ⇒ ⊢ (𝜑 → (hadd(𝜓, 𝜃, 𝜂) ↔ hadd(𝜒, 𝜏, 𝜁))) | ||
Theorem | hadbi123i 1596 | Equality theorem for the adder sum. (Contributed by Mario Carneiro, 4-Sep-2016.) |
⊢ (𝜑 ↔ 𝜓) & ⊢ (𝜒 ↔ 𝜃) & ⊢ (𝜏 ↔ 𝜂) ⇒ ⊢ (hadd(𝜑, 𝜒, 𝜏) ↔ hadd(𝜓, 𝜃, 𝜂)) | ||
Theorem | hadass 1597 | Associative law for the adder sum. (Contributed by Mario Carneiro, 4-Sep-2016.) |
⊢ (hadd(𝜑, 𝜓, 𝜒) ↔ (𝜑 ⊻ (𝜓 ⊻ 𝜒))) | ||
Theorem | hadbi 1598 | The adder sum is the same as the triple biconditional. (Contributed by Mario Carneiro, 4-Sep-2016.) |
⊢ (hadd(𝜑, 𝜓, 𝜒) ↔ ((𝜑 ↔ 𝜓) ↔ 𝜒)) | ||
Theorem | hadcoma 1599 | Commutative law for the adder sum. (Contributed by Mario Carneiro, 4-Sep-2016.) (Proof shortened by Wolf Lammen, 17-Dec-2023.) |
⊢ (hadd(𝜑, 𝜓, 𝜒) ↔ hadd(𝜓, 𝜑, 𝜒)) | ||
Theorem | hadcomaOLD 1600 | Obsolete version of hadcoma 1599 as of 17-Dec-2023. (Contributed by Mario Carneiro, 4-Sep-2016.) (Proof modification is discouraged.) (New usage is discouraged.) |
⊢ (hadd(𝜑, 𝜓, 𝜒) ↔ hadd(𝜓, 𝜑, 𝜒)) |
< Previous Next > |
Copyright terms: Public domain | < Previous Next > |