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