| Metamath Proof Explorer | < Previous Next > | |
| Bad symbols?
Use Firefox (or GIF version for IE). |
| Color key: |
| Type | Label | Description |
|---|---|---|
| Statement | ||
| Theorem | mo4 1401 | "At most one" expressed using implicit substitution. |
| ⊢ (x = y → (φ ↔ ψ)) ⇒ ⊢ (∃*xφ ↔ ∀x∀y((φ ⋀ ψ) → x = y)) | ||
| Theorem | mobid 1402 | Formula-building rule for "at most one" quantifier (deduction rule). |
| ⊢ (φ → ∀xφ) & ⊢ (φ → (ψ ↔ χ)) ⇒ ⊢ (φ → (∃*xψ ↔ ∃*xχ)) | ||
| Theorem | mobii 1403 | Formula-building rule for "at most one" quantifier (inference rule). |
| ⊢ (ψ ↔ χ) ⇒ ⊢ (∃*xψ ↔ ∃*xχ) | ||
| Theorem | hbmo1 1404 | Bound-variable hypothesis builder for "at most one." |
| ⊢ (∃*xφ → ∀x∃*xφ) | ||
| Theorem | hbmo 1405 | Bound-variable hypothesis builder for "at most one." |
| ⊢ (φ → ∀xφ) ⇒ ⊢ (∃*yφ → ∀x∃*yφ) | ||
| Theorem | cbvmo 1406 | Rule used to change bound variables with implicit substitution. |
| ⊢ (φ → ∀yφ) & ⊢ (ψ → ∀xψ) & ⊢ (x = y → (φ ↔ ψ)) ⇒ ⊢ (∃*xφ ↔ ∃*yψ) | ||
| Theorem | eu5 1407 | Uniqueness in terms of "at most one." |
| ⊢ (∃!xφ ↔ (∃xφ ⋀ ∃*xφ)) | ||
| Theorem | eu4 1408 | Uniqueness using implicit substitution. |
| ⊢ (x = y → (φ ↔ ψ)) ⇒ ⊢ (∃!xφ ↔ (∃xφ ⋀ ∀x∀y((φ ⋀ ψ) → x = y))) | ||
| Theorem | eumo 1409 | Existential uniqueness implies "at most one." |
| ⊢ (∃!xφ → ∃*xφ) | ||
| Theorem | eumoi 1410 | "At most one" inferred from existential uniqueness. |
| ⊢ ∃!xφ ⇒ ⊢ ∃*xφ | ||
| Theorem | exmoeu 1411 | Existence in terms of "at most one" and uniqueness. |
| ⊢ (∃xφ ↔ (∃*xφ → ∃!xφ)) | ||
| Theorem | exmoeu2 1412 | Existence implies "at most one" is equivalent to uniqueness. |
| ⊢ (∃xφ → (∃*xφ ↔ ∃!xφ)) | ||
| Theorem | moabs 1413 | Absorption of existence condition by "at most one." |
| ⊢ (∃*xφ ↔ (∃xφ → ∃*xφ)) | ||
| Theorem | exmo 1414 | Something exists or at most one exists. |
| ⊢ (∃xφ ⋁ ∃*xφ) | ||
| Theorem | immo 1415 | "At most one" is preserved through implication (notice wff reversal). |
| ⊢ (∀x(φ → ψ) → (∃*xψ → ∃*xφ)) | ||
| Theorem | immoi 1416 | "At most one" is preserved through implication (notice wff reversal). |
| ⊢ (φ → ψ) ⇒ ⊢ (∃*xψ → ∃*xφ) | ||
| Theorem | moimv 1417 | Move antecedent outside of "at most one." |
| ⊢ (∃*x(φ → ψ) → (φ → ∃*xψ)) | ||
| Theorem | euimmo 1418 | Uniqueness implies "at most one" through implication. |
| ⊢ (∀x(φ → ψ) → (∃!xψ → ∃*xφ)) | ||
| Theorem | euim 1419 | Add existential uniqueness quantifiers to an implication. Note the reversed implication in the antecedent. |
| ⊢ ((∃xφ ⋀ ∀x(φ → ψ)) → (∃!xψ → ∃!xφ)) | ||
| Theorem | moan 1420 | "At most one" is still the case when a conjunct is added. |
| ⊢ (∃*xφ → ∃*x(ψ ⋀ φ)) | ||
| Theorem | moani 1421 | "At most one" is still true when a conjunct is added. |
| ⊢ ∃*xφ ⇒ ⊢ ∃*x(ψ ⋀ φ) | ||
| Theorem | moor 1422 | "At most one" is still the case when a disjunct is removed. |
| ⊢ (∃*x(φ ⋁ ψ) → ∃*xφ) | ||
| Theorem | mooran1 1423 | "At most one" imports disjunction to conjunction. |
| ⊢ ((∃*xφ ⋁ ∃*xψ) → ∃*x(φ ⋀ ψ)) | ||
| Theorem | mooran2 1424 | "At most one" exports disjunction to conjunction. |
| ⊢ (∃*x(φ ⋁ ψ) → (∃*xφ ⋀ ∃*xψ)) | ||
| Theorem | moanim 1425 | Introduction of a conjunct into "at most one" quantifier. |
| ⊢ (φ → ∀xφ) ⇒ ⊢ (∃*x(φ ⋀ ψ) ↔ (φ → ∃*xψ)) | ||
| Theorem | euan 1426 | Introduction of a conjunct into uniqueness quantifier. |
| ⊢ (φ → ∀xφ) ⇒ ⊢ (∃!x(φ ⋀ ψ) ↔ (φ ⋀ ∃!xψ)) | ||
| Theorem | moanimv 1427 | Introduction of a conjunct into "at most one" quantifier. |
| ⊢ (∃*x(φ ⋀ ψ) ↔ (φ → ∃*xψ)) | ||
| Theorem | moaneu 1428 | Nested "at most one" and uniqueness quantifiers. |
| ⊢ ∃*x(φ ⋀ ∃!xφ) | ||
| Theorem | moanmo 1429 | Nested "at most one" quantifiers. |
| ⊢ ∃*x(φ ⋀ ∃*xφ) | ||
| Theorem | euanv 1430 | Introduction of a conjunct into uniqueness quantifier. |
| ⊢ (∃!x(φ ⋀ ψ) ↔ (φ ⋀ ∃!xψ)) | ||
| Theorem | mopick 1431 | "At most one" picks a variable value, eliminating an existential quantifier. |
| ⊢ ((∃*xφ ⋀ ∃x(φ ⋀ ψ)) → (φ → ψ)) | ||
| Theorem | eupick 1432 | Existential uniqueness "picks" a variable value for which another wff is true. If there is only one thing x such that φ is true, and there is also an x (actually the same one) such that φ and ψ are both true, then φ implies ψ regardless of x. This theorem, which apparently does not appear explicitly in the literature, can be quite useful because it lets us eliminate existential quantifiers in a hypothesis. |
| ⊢ ((∃!xφ ⋀ ∃x(φ ⋀ ψ)) → (φ → ψ)) | ||
| Theorem | eupickb 1433 | Existential uniqueness "pick" showing wff equivalence. |
| ⊢ ((∃!xφ ⋀ ∃!xψ ⋀ ∃x(φ ⋀ ψ)) → (φ ↔ ψ)) | ||
| Theorem | mopick2 1434 | "At most one" can show the existence of a common value. In this case we can infer existence of conjunction from a conjunction of existence, and it is one way to achieve the converse of 19.40 1092. |
| ⊢ ((∃*xφ ⋀ ∃x(φ ⋀ ψ) ⋀ ∃x(φ ⋀ χ)) → ∃x(φ ⋀ ψ ⋀ χ)) | ||
| Theorem | euor2 1435 | Introduce or eliminate a disjunct in a uniqueness quantifier. |
| ⊢ (¬ ∃xφ → (∃!x(φ ⋁ ψ) ↔ ∃!xψ)) | ||
| Theorem | moexex 1436 | "At most one" double quantification. |
| ⊢ (φ → ∀yφ) ⇒ ⊢ ((∃*xφ ⋀ ∀x∃*yψ) → ∃*y∃x(φ ⋀ ψ)) | ||
| Theorem | moexexv 1437 | "At most one" double quantification. |
| ⊢ ((∃*xφ ⋀ ∀x∃*yψ) → ∃*y∃x(φ ⋀ ψ)) | ||
| Theorem | 2moex 1438 | Double quantification with "at most one." |
| ⊢ (∃*x∃yφ → ∀y∃*xφ) | ||
| Theorem | 2euex 1439 | Double quantification with existential uniqueness. |
| ⊢ (∃!x∃yφ → ∃y∃!xφ) | ||
| Theorem | 2eumo 1440 | Double quantification with existential uniqueness and "at most one." |
| ⊢ (∃!x∃*yφ → ∃*x∃!yφ) | ||
| Theorem | 2eu2ex 1441 | Double existential uniqueness. |
| ⊢ (∃!x∃!yφ → ∃x∃yφ) | ||
| Theorem | 2moswap 1442 | A condition allowing swap of "at most one" and existential quantifiers. |
| ⊢ (∀x∃*yφ → (∃*x∃yφ → ∃*y∃xφ)) | ||
| Theorem | 2euswap 1443 | A condition allowing swap of uniqueness and existential quantifiers. |
| ⊢ (∀x∃*yφ → (∃!x∃yφ → ∃!y∃xφ)) | ||
| Theorem | 2exeu 1444 | Double existential uniqueness implies double uniqueness quantification. |
| ⊢ ((∃!x∃yφ ⋀ ∃!y∃xφ) → ∃!x∃!yφ) | ||
| Theorem | 2mo 1445 | Two equivalent expressions for double "at most one." |
| ⊢ (∃z∃w∀x∀y(φ → (x = z ⋀ y = w)) ↔ ∀x∀y∀z∀w((φ ⋀ [z / x][w / y]φ) → (x = z ⋀ y = w))) | ||
| Theorem | 2mos 1446 | Double "exists at most one" with implicit substitution. |
| ⊢ ((x = z ⋀ y = w) → (φ ↔ ψ)) ⇒ ⊢ (∃z∃w∀x∀y(φ → (x = z ⋀ y = w)) ↔ ∀x∀y∀z∀w((φ ⋀ ψ) → (x = z ⋀ y = w))) | ||
| Theorem | 2eu1 1447 | Double existential uniqueness. This theorem shows a condition under which a "naive" definition matches the correct one. |
| ⊢ (∀x∃*yφ → (∃!x∃!yφ ↔ (∃!x∃yφ ⋀ ∃!y∃xφ))) | ||
| Theorem | 2eu2 1448 | Double existential uniqueness. |
| ⊢ (∃!y∃xφ → (∃!x∃!yφ ↔ ∃!x∃yφ)) | ||
| Theorem | 2eu3 1449 | Double existential uniqueness. |
| ⊢ (∀x∀y(∃*xφ ⋁ ∃*yφ) → ((∃!x∃!yφ ⋀ ∃!y∃!xφ) ↔ (∃!x∃yφ ⋀ ∃!y∃xφ))) | ||
| Theorem | 2eu4 1450 | This theorem provides us with a definition of double existential uniqueness ("exactly one x and exactly one y"). Naively one might think (incorrectly) that it could be defined by ∃!x∃!yφ. See 2eu1 1447 for a condition under which the naive definition holds and 2exeu 1444 for a one-way implication. See 2eu5 1451 and 2eu8 1454 for alternate definitions. |
| ⊢ ((∃!x∃yφ ⋀ ∃!y∃xφ) ↔ (∃x∃yφ ⋀ ∃z∃w∀x∀y(φ → (x = z ⋀ y = w)))) | ||
| Theorem | 2eu5 1451 | An alternate definition of double existential uniqueness (see 2eu4 1450). A mistake sometimes made in the literature is to use ∃!x∃!y to mean "exactly one x and exactly one y." (For example, see Proposition 7.53 of [TakeutiZaring] p. 53.) It turns out that this is actually a weaker assertion, as can be seen by expanding out the formal definitions. This theorem shows that the erroneous definition can be repaired by conjoining ∀x∃*yφ as an additional condition. The correct definition apparently has never been published. (∃* means "exists at most one.") |
| ⊢ ((∃!x∃!yφ ⋀ ∀x∃*yφ) ↔ (∃x∃yφ ⋀ ∃z∃w∀x∀y(φ → (x = z ⋀ y = w)))) | ||
| Theorem | 2eu6 1452 | Two equivalent expressions for double existential uniqueness. |
| ⊢ ((∃!x∃yφ ⋀ ∃!y∃xφ) ↔ ∃z∃w∀x∀y(φ ↔ (x = z ⋀ y = w))) | ||
| Theorem | 2eu7 1453 | Two equivalent expressions for double existential uniqueness. |
| ⊢ ((∃!x∃yφ ⋀ ∃!y∃xφ) ↔ ∃!x∃!y(∃xφ ⋀ ∃yφ)) | ||
| Theorem | 2eu8 1454 | Two equivalent expressions for double existential uniqueness. Curiously, we can put ∃! on either of the internal conjuncts but not both. We can also commute ∃!x∃!y using 2eu7 1453. |
| ⊢ (∃!x∃!y(∃xφ ⋀ ∃yφ) ↔ ∃!x∃!y(∃!xφ ⋀ ∃yφ)) | ||
| Theorem | exists1 1455 | Two ways to express "only one thing exists." The left-hand side requires only one variable to express this. Both sides are false in set theory; see theorem dtru 2768. |
| ⊢ (∃!x x = x ↔ ∀x x = y) | ||
| Theorem | exists2 1456 | A condition implying that at least two things exist. |
| ⊢ ((∃xφ ⋀ ∃x ¬ φ) → ¬ ∃!x x = x) | ||
| ZF Set Theory - start with the Axiom of Extensionality | ||
| Introduce the Axiom of Extensionality | ||
| Axiom | ax-ext 1457 |
Axiom of Extensionality. An axiom of Zermelo-Fraenkel set theory. It
states that two sets are identical if they contain the same elements.
Axiom Ext of [BellMachover] p.
461.
Set theory can also be formulated with a single primitive predicate ∈ on top of traditional predicate calculus without equality. In that case the Axiom of Extensionality becomes (∀w(w ∈ x ↔ w ∈ y) → (x ∈ z → y ∈ z)), and equality x = y is defined as ∀w(w ∈ x ↔ w ∈ y). All of the usual axioms of equality then become theorems of set theory. See, for example, Axiom 1 of [TakeutiZaring] p. 8. To use the above "equality-free" version of Extensionality with Metamath's logical axioms, we would rewrite ax-8 962 through ax-16 1208 with equality expanded according to the above definition. Some of those axioms could be proved from set theory and would be redundant. Not all of them are redundant, since our axioms of predicate calculus make essential use of equality for the proper substitution that is a primitive notion in traditional predicate calculus. A study of such an axiomatization would be an interesting project for someone exploring the foundations of logic. General remarks: Our set theory axioms are presented using defined connectives (↔, ∃, etc.) for convenience. However, it is implicitly understood that the actual axioms use only the primitive connectives →, ¬, ∀, =, and ∈. It is straightforward to establish the equivalence between the actual axioms and the ones we display, and we will not do so. It is important to understand that strictly speaking, all of our set theory axioms are really schemes that represent an infinite number of actual axioms. This is inherent in the design of Metamath ("metavariable math"), which manipulates only metavariables. For example, the metavariable x in ax-ext 1457 can represent any actual variable v1, v2, v3,... . Distinct variable restrictions ($d) prevent us from substituting say v1 for both x and z. This is in contrast to typical textbook presentations that present actual axioms (except for Replacement ax-rep 2689, which involves a wff metavariable). In practice, though, the theorems and proofs are essentially the same. The $d restrictions make each of the the infinite axioms generated by the ax-ext 1457 scheme exactly logically equivalent to each other and in particular to the actual axiom of the textbook version. |
| ⊢ (∀z(z ∈ x ↔ z ∈ y) → x = y) | ||
| Theorem | axext 1458 | The Axiom of Extensionality (ax-ext 1457) restated so that it postulates the existence of a set z given two arbitrary sets x and y. This way to express it follows the general idea of the other ZFC axioms, which is to postulate the existence of sets given other sets. |
| ⊢ ∃z((z ∈ x ↔ z ∈ y) → x = y) | ||
| Theorem | zfext2 1459 | A generalization of the Axiom of Extensionality in which x and y need not be distinct. |
| ⊢ (∀z(z ∈ x ↔ z ∈ y) → x = y) | ||
| Theorem | bm1.1 1460 | Any set defined by a property is the only set defined by that property. Theorem 1.1 of [BellMachover] p. 462. |
| ⊢ (φ → ∀xφ) ⇒ ⊢ (∃x∀y(y ∈ x ↔ φ) → ∃!x∀y(y ∈ x ↔ φ)) | ||
| Class abstractions (a.k.a. class builders) | ||
| Syntax | cab 1461 | Introduce the class builder or class abstraction notation ("the class of sets x such that φ is true"). Our class variables A, B, etc. range over class builders (implicitly in the case of defined class terms such as df-nul 2277). Note that a set variable can be expressed as a class builder per theorem cvjust 1469, justifying the assignment of set variables to class variables via the use of cv 953. |
| class {x∣φ} | ||
| Definition | df-clab 1462 |
Define class abstraction notation (so-called by Quine), also called a
"class builder" in the literature. x and y need not
be distinct.
Definition 2.1 of [Quine] p. 16.
Typically, φ will have y as a
free variable, and "{y∣φ}" is read "the class of all sets
y
such that φ(y) is true." We do not define {y∣φ}
in
isolation but only as part of an expression that extends or
"overloads"
the ∈ relationship.
This is our first use of the ∈ symbol to connect classes instead of sets. The syntax definition wcel 956, which extends or "overloads" the wel 957 definition connecting set variables, requires that both sides of ∈ be a class. In df-cleq 1467 and df-clel 1470, we introduce a new kind of variable (class variable) that can substituted with expressions such as {y∣φ}. In the present definition, the x on the left-hand side is a set variable. Syntax definition cv 953 allows us to substitute a set variable x for a class variable: all sets are classes by cvjust 1469 (but not necessarily vice-versa). For a full description of how classes are introduced and how to recover the primitive language, see the discussion in Quine (and under abeq2 1565 for a quick overview). Because class variables can be substituted with compound expressions and set variables cannot, it is often useful to convert a theorem containing a free set variable to a more general version with a class variable. This is done with theorems such as vtoclg 1843 which is used, for example, to convert elirrv 4589 to elirr 4590. |
| ⊢ (x ∈ {y∣φ} ↔ [x / y]φ) | ||
| Theorem | abid 1463 | Simplification of class abstraction notation when the free and bound variables are identical. |
| ⊢ (x ∈ {x∣φ} ↔ φ) | ||
| Theorem | hbab1 1464 | Bound-variable hypothesis builder for a class abstraction. |
| ⊢ (y ∈ {x∣φ} → ∀x y ∈ {x∣φ}) | ||
| Theorem | hbab 1465 | Bound-variable hypothesis builder for a class abstraction. |
| ⊢ (φ → ∀xφ) ⇒ ⊢ (z ∈ {y∣φ} → ∀x z ∈ {y∣φ}) | ||
| Theorem | hbabd 1466 | Deduction form of bound-variable hypothesis builder hbab 1465. |
| ⊢ (φ → ∀x∀yφ) & ⊢ (φ → (ψ → ∀xψ)) ⇒ ⊢ (φ → (z ∈ {y∣ψ} → ∀x z ∈ {y∣ψ})) | ||
| Definition | df-cleq 1467 |
Define the equality connective between classes. Definition 2.7 of
[Quine] p. 18. Also Definition 4.5 of
[TakeutiZaring] p. 13; Chapter 4
provides its justification and methods for eliminating it. Note that
its elimination will not necessarily result in a single wff in the
original language but possibly a "scheme" of wffs.
This is an example of a somewhat "risky" definition, meaning that it has a more complex than usual soundness justification (outside of Metamath), because it "overloads" or reuses the existing equality symbol rather than introducing a new symbol. This allows us to make statements that may not hold for the original symbol. For example, it permits us to deduce y = z ↔ ∀x(x ∈ y ↔ x ∈ z), which is not a theorem of logic but rather presupposes the Axiom of Extensionality. We therefore include this axiom as a hypothesis, so that the use of Extensionality is properly indicated. We could avoid this complication by introducing a new symbol, say =2, in place of =. This would also have the advantage of making elimination of the definition straightforward, so that we could eliminate Extensionality as a hypothesis. We would then also have the advantage of being able to identify in various proofs exactly where Extensionality truly comes into play rather than just being an artifact of a definition.. One of our theorems would then be x =2 y ↔ x = y by invoking Extensionality. However, to conform to literature usage, we retain this overloaded definition. This also makes some proofs shorter and probably easier to read, without the constant switching between two kinds of equality. See also comments under df-clab 1462, df-clel 1470, and abeq2 1565. |
| ⊢ (∀x(x ∈ y ↔ x ∈ z) → y = z) ⇒ ⊢ (A = B ↔ ∀x(x ∈ A ↔ x ∈ B)) | ||
| Theorem | dfcleq 1468 | The same as df-cleq 1467 with the hypothesis removed using the Axiom of Extensionality ax-ext 1457. |
| ⊢ (A = B ↔ ∀x(x ∈ A ↔ x ∈ B)) | ||
| Theorem | cvjust 1469 | Every set is a class. Proposition 4.9 of [TakeutiZaring] p. 13. This theorem shows that a set variable can be expressed as a class abstraction. This provides a motivation for the class syntax construction cv 953, which allows us to substitute a set variable for a class variable. See also cab 1461 and df-clab 1462. Note that this is not a rigorous justification, because cv 953 is used as part of the proof of this theorem, but a careful argument can be made outside of the formalism of Metamath, for example as is done in Chapter 4 of Takeuti and Zaring. See also the discussion under the definition of class in [Jech] p. 4 showing that "Every set can be considered to be a class." |
| ⊢ x = {y∣y ∈ x} | ||
| Definition | df-clel 1470 | Define the membership connective between classes. Theorem 6.3 of [Quine] p. 41, or Proposition 4.6 of [TakeutiZaring] p. 13, which we adopt as a definition. See these references for its metalogical justification. Note that like df-cleq 1467 it extends or "overloads" the use of the existing membership symbol, but unlike df-cleq 1467 it does not strengthen the set of valid wffs of logic when the class variables are replaced with set variables (see cleljust 1326), so we don't include any set theory axiom as a hypothesis. See also comments about the syntax under df-clab 1462. |
| ⊢ (A ∈ B ↔ ∃x(x = A ⋀ x ∈ B)) | ||
| Theorem | eqrdv 1471 | Deduce equality of classes from equivalence of membership. |
| ⊢ (φ → (x ∈ A ↔ x ∈ B)) ⇒ ⊢ (φ → A = B) | ||
| Theorem | eqriv 1472 | Infer equality of classes from equivalence of membership. |
| ⊢ (x ∈ A ↔ x ∈ B) ⇒ ⊢ A = B | ||
| Theorem | eqid 1473 | Class identity law (reflexivity of class equality). Theorem 6.4 of [Quine] p. 41. |
| ⊢ A = A | ||
| Theorem | eqcom 1474 | Commutative law for class equality. Theorem 6.5 of [Quine] p. 41. |
| ⊢ (A = B ↔ B = A) | ||
| Theorem | eqcoms 1475 | Inference applying commutative law for class equality to an antecedent. |
| ⊢ (A = B → φ) ⇒ ⊢ (B = A → φ) | ||
| Theorem | eqcomi 1476 | Inference from commutative law for class equality. |
| ⊢ A = B ⇒ ⊢ B = A | ||
| Theorem | eqcomd 1477 | Deduction from commutative law for class equality. |
| ⊢ (φ → A = B) ⇒ ⊢ (φ → B = A) | ||
| Theorem | eqeq1 1478 | Equality implies equivalence of equalities. |
| ⊢ (A = B → (A = C ↔ B = C)) | ||
| Theorem | eqeq1i 1479 | Inference from equality to equivalence of equalities. |
| ⊢ A = B ⇒ ⊢ (A = C ↔ B = C) | ||
| Theorem | eqeq1d 1480 | Deduction from equality to equivalence of equalities. |
| ⊢ (φ → A = B) ⇒ ⊢ (φ → (A = C ↔ B = C)) | ||
| Theorem | eqeq2 1481 | Equality implies equivalence of equalities. |
| ⊢ (A = B → (C = A ↔ C = B)) | ||
| Theorem | eqeq2i 1482 | Inference from equality to equivalence of equalities. |
| ⊢ A = B ⇒ ⊢ (C = A ↔ C = B) | ||
| Theorem | eqeq2d 1483 | Deduction from equality to equivalence of equalities. |
| ⊢ (φ → A = B) ⇒ ⊢ (φ → (C = A ↔ C = B)) | ||
| Theorem | eqeq12 1484 | Equality relationship among 4 classes. |
| ⊢ ((A = B ⋀ C = D) → (A = C ↔ B = D)) | ||
| Theorem | eqeq12i 1485 | A useful inference for substituting definitions into an equality. |
| ⊢ A = B & ⊢ C = D ⇒ ⊢ (A = C ↔ B = D) | ||
| Theorem | eqeq12d 1486 | A useful inference for substituting definitions into an equality. |
| ⊢ (φ → A = B) & ⊢ (φ → C = D) ⇒ ⊢ (φ → (A = C ↔ B = D)) | ||
| Theorem | eqeqan12d 1487 | A useful inference for substituting definitions into an equality. |
| ⊢ (φ → A = B) & ⊢ (ψ → C = D) ⇒ ⊢ ((φ ⋀ ψ) → (A = C ↔ B = D)) | ||
| Theorem | eqeqan12rd 1488 | A useful inference for substituting definitions into an equality. |
| ⊢ (φ → A = B) & ⊢ (ψ → C = D) ⇒ ⊢ ((ψ ⋀ φ) → (A = C ↔ B = D)) | ||
| Theorem | eqtrt 1489 | Transitive law for class equality. Proposition 4.7(3) of [TakeutiZaring] p. 13. |
| ⊢ ((A = B ⋀ B = C) → A = C) | ||
| Theorem | eqtr2t 1490 | A transitive law for class equality. |
| ⊢ ((A = B ⋀ A = C) → B = C) | ||
| Theorem | eqtr3t 1491 | A transitive law for class equality. |
| ⊢ ((A = C ⋀ B = C) → A = B) | ||
| Theorem | eqtr 1492 | An equality transitivity inference. |
| ⊢ A = B & ⊢ B = C ⇒ ⊢ A = C | ||
| Theorem | eqtr2 1493 | An equality transitivity inference. |
| ⊢ A = B & ⊢ B = C ⇒ ⊢ C = A | ||
| Theorem | eqtr3 1494 | An equality transitivity inference. |
| ⊢ A = B & ⊢ A = C ⇒ ⊢ B = C | ||
| Theorem | eqtr4 1495 | An equality transitivity inference. |
| ⊢ A = B & ⊢ C = B ⇒ ⊢ A = C | ||
| Theorem | 3eqtr 1496 | An inference from three chained equalities. |
| ⊢ A = B & ⊢ B = C & ⊢ C = D ⇒ ⊢ A = D | ||
| Theorem | 3eqtrr 1497 | An inference from three chained equalities. |
| ⊢ A = B & ⊢ B = C & ⊢ C = D ⇒ ⊢ D = A | ||
| Theorem | 3eqtr2 1498 | An inference from three chained equalities. |
| ⊢ A = B & ⊢ C = B & ⊢ C = D ⇒ ⊢ A = D | ||
| Theorem | 3eqtr2r 1499 | An inference from three chained equalities. |
| ⊢ A = B & ⊢ C = B & ⊢ C = D ⇒ ⊢ D = A | ||
| Theorem | 3eqtr3 1500 | An inference from three chained equalities. |
| ⊢ A = B & ⊢ A = C & ⊢ B = D ⇒ ⊢ C = D | ||
| MPE Home Contents | Copyright terms: Public domain | < Previous Next > |