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