HomeHome Intuitionistic Logic Explorer
Theorem List (p. 21 of 108)
< Previous  Next >
Browser slow? Try the
Unicode version.

Mirrors  >  Metamath Home Page  >  ILE Home Page  >  Theorem List Contents  >  Recent Proofs       This page: Page List

Theorem List for Intuitionistic Logic Explorer - 2001-2100   *Has distinct variable group(s)
TypeLabelDescription
Statement
 
Theoremmo4f 2001* "At most one" expressed using implicit substitution. (Contributed by NM, 10-Apr-2004.)
 |- 
 F/ x ps   &    |-  ( x  =  y  ->  (
 ph 
 <->  ps ) )   =>    |-  ( E* x ph  <->  A. x A. y ( ( ph  /\  ps )  ->  x  =  y ) )
 
Theoremmo4 2002* "At most one" expressed using implicit substitution. (Contributed by NM, 26-Jul-1995.)
 |-  ( x  =  y 
 ->  ( ph  <->  ps ) )   =>    |-  ( E* x ph  <->  A. x A. y ( ( ph  /\  ps )  ->  x  =  y ) )
 
Theoremeu4 2003* Uniqueness using implicit substitution. (Contributed by NM, 26-Jul-1995.)
 |-  ( x  =  y 
 ->  ( ph  <->  ps ) )   =>    |-  ( E! x ph  <->  ( E. x ph  /\  A. x A. y ( (
 ph  /\  ps )  ->  x  =  y ) ) )
 
Theoremexmoeudc 2004 Existence in terms of "at most one" and uniqueness. (Contributed by Jim Kingdon, 3-Jul-2018.)
 |-  (DECID 
 E. x ph  ->  ( E. x ph  <->  ( E* x ph 
 ->  E! x ph )
 ) )
 
Theoremmoim 2005 "At most one" is preserved through implication (notice wff reversal). (Contributed by NM, 22-Apr-1995.)
 |-  ( A. x (
 ph  ->  ps )  ->  ( E* x ps  ->  E* x ph ) )
 
Theoremmoimi 2006 "At most one" is preserved through implication (notice wff reversal). (Contributed by NM, 15-Feb-2006.)
 |-  ( ph  ->  ps )   =>    |-  ( E* x ps  ->  E* x ph )
 
Theoremmoimv 2007* Move antecedent outside of "at most one." (Contributed by NM, 28-Jul-1995.)
 |-  ( E* x (
 ph  ->  ps )  ->  ( ph  ->  E* x ps )
 )
 
Theoremeuimmo 2008 Uniqueness implies "at most one" through implication. (Contributed by NM, 22-Apr-1995.)
 |-  ( A. x (
 ph  ->  ps )  ->  ( E! x ps  ->  E* x ph ) )
 
Theoremeuim 2009 Add existential uniqueness quantifiers to an implication. Note the reversed implication in the antecedent. (Contributed by NM, 19-Oct-2005.) (Proof shortened by Andrew Salmon, 14-Jun-2011.)
 |-  ( ( E. x ph 
 /\  A. x ( ph  ->  ps ) )  ->  ( E! x ps  ->  E! x ph ) )
 
Theoremmoan 2010 "At most one" is still the case when a conjunct is added. (Contributed by NM, 22-Apr-1995.)
 |-  ( E* x ph  ->  E* x ( ps 
 /\  ph ) )
 
Theoremmoani 2011 "At most one" is still true when a conjunct is added. (Contributed by NM, 9-Mar-1995.)
 |- 
 E* x ph   =>    |- 
 E* x ( ps 
 /\  ph )
 
Theoremmoor 2012 "At most one" is still the case when a disjunct is removed. (Contributed by NM, 5-Apr-2004.)
 |-  ( E* x (
 ph  \/  ps )  ->  E* x ph )
 
Theoremmooran1 2013 "At most one" imports disjunction to conjunction. (Contributed by NM, 5-Apr-2004.) (Proof shortened by Andrew Salmon, 9-Jul-2011.)
 |-  ( ( E* x ph 
 \/  E* x ps )  ->  E* x ( ph  /\ 
 ps ) )
 
Theoremmooran2 2014 "At most one" exports disjunction to conjunction. (Contributed by NM, 5-Apr-2004.) (Proof shortened by Andrew Salmon, 9-Jul-2011.)
 |-  ( E* x (
 ph  \/  ps )  ->  ( E* x ph  /\ 
 E* x ps )
 )
 
Theoremmoanim 2015 Introduction of a conjunct into "at most one" quantifier. (Contributed by NM, 3-Dec-2001.)
 |- 
 F/ x ph   =>    |-  ( E* x (
 ph  /\  ps )  <->  (
 ph  ->  E* x ps )
 )
 
Theoremmoanimv 2016* Introduction of a conjunct into "at most one" quantifier. (Contributed by NM, 23-Mar-1995.)
 |-  ( E* x (
 ph  /\  ps )  <->  (
 ph  ->  E* x ps )
 )
 
Theoremmoaneu 2017 Nested "at most one" and uniqueness quantifiers. (Contributed by NM, 25-Jan-2006.)
 |- 
 E* x ( ph  /\ 
 E! x ph )
 
Theoremmoanmo 2018 Nested "at most one" quantifiers. (Contributed by NM, 25-Jan-2006.)
 |- 
 E* x ( ph  /\ 
 E* x ph )
 
Theoremmopick 2019 "At most one" picks a variable value, eliminating an existential quantifier. (Contributed by NM, 27-Jan-1997.)
 |-  ( ( E* x ph 
 /\  E. x ( ph  /\ 
 ps ) )  ->  ( ph  ->  ps )
 )
 
Theoremeupick 2020 Existential uniqueness "picks" a variable value for which another wff is true. If there is only one thing  x such that 
ph is true, and there is also an  x (actually the same one) such that  ph and  ps are both true, then  ph implies  ps regardless of  x. This theorem can be useful for eliminating existential quantifiers in a hypothesis. Compare Theorem *14.26 in [WhiteheadRussell] p. 192. (Contributed by NM, 10-Jul-1994.)
 |-  ( ( E! x ph 
 /\  E. x ( ph  /\ 
 ps ) )  ->  ( ph  ->  ps )
 )
 
Theoremeupicka 2021 Version of eupick 2020 with closed formulas. (Contributed by NM, 6-Sep-2008.)
 |-  ( ( E! x ph 
 /\  E. x ( ph  /\ 
 ps ) )  ->  A. x ( ph  ->  ps ) )
 
Theoremeupickb 2022 Existential uniqueness "pick" showing wff equivalence. (Contributed by NM, 25-Nov-1994.)
 |-  ( ( E! x ph 
 /\  E! x ps  /\  E. x ( ph  /\  ps ) )  ->  ( ph  <->  ps ) )
 
Theoremeupickbi 2023 Theorem *14.26 in [WhiteheadRussell] p. 192. (Contributed by Andrew Salmon, 11-Jul-2011.)
 |-  ( E! x ph  ->  ( E. x (
 ph  /\  ps )  <->  A. x ( ph  ->  ps ) ) )
 
Theoremmopick2 2024 "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 1562. (Contributed by NM, 5-Apr-2004.) (Proof shortened by Andrew Salmon, 9-Jul-2011.)
 |-  ( ( E* x ph 
 /\  E. x ( ph  /\ 
 ps )  /\  E. x ( ph  /\  ch ) )  ->  E. x ( ph  /\  ps  /\  ch ) )
 
Theoremmoexexdc 2025 "At most one" double quantification. (Contributed by Jim Kingdon, 5-Jul-2018.)
 |- 
 F/ y ph   =>    |-  (DECID 
 E. x ph  ->  ( ( E* x ph  /\ 
 A. x E* y ps )  ->  E* y E. x ( ph  /\  ps ) ) )
 
Theoremeuexex 2026 Existential uniqueness and "at most one" double quantification. (Contributed by Jim Kingdon, 28-Dec-2018.)
 |- 
 F/ y ph   =>    |-  ( ( E! x ph 
 /\  A. x E* y ps )  ->  E* y E. x ( ph  /\  ps ) )
 
Theorem2moex 2027 Double quantification with "at most one." (Contributed by NM, 3-Dec-2001.)
 |-  ( E* x E. y ph  ->  A. y E* x ph )
 
Theorem2euex 2028 Double quantification with existential uniqueness. (Contributed by NM, 3-Dec-2001.) (Proof shortened by Andrew Salmon, 9-Jul-2011.)
 |-  ( E! x E. y ph  ->  E. y E! x ph )
 
Theorem2eumo 2029 Double quantification with existential uniqueness and "at most one." (Contributed by NM, 3-Dec-2001.)
 |-  ( E! x E* y ph  ->  E* x E! y ph )
 
Theorem2eu2ex 2030 Double existential uniqueness. (Contributed by NM, 3-Dec-2001.)
 |-  ( E! x E! y ph  ->  E. x E. y ph )
 
Theorem2moswapdc 2031 A condition allowing swap of "at most one" and existential quantifiers. (Contributed by Jim Kingdon, 6-Jul-2018.)
 |-  (DECID 
 E. x E. y ph  ->  ( A. x E* y ph  ->  ( E* x E. y ph  ->  E* y E. x ph ) ) )
 
Theorem2euswapdc 2032 A condition allowing swap of uniqueness and existential quantifiers. (Contributed by Jim Kingdon, 7-Jul-2018.)
 |-  (DECID 
 E. x E. y ph  ->  ( A. x E* y ph  ->  ( E! x E. y ph  ->  E! y E. x ph ) ) )
 
Theorem2exeu 2033 Double existential uniqueness implies double uniqueness quantification. (Contributed by NM, 3-Dec-2001.)
 |-  ( ( E! x E. y ph  /\  E! y E. x ph )  ->  E! x E! y ph )
 
Theorem2eu4 2034* 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  E! x E! y ph. See 2exeu 2033 for a one-way implication. (Contributed by NM, 3-Dec-2001.)
 |-  ( ( E! x E. y ph  /\  E! y E. x ph )  <->  ( E. x E. y ph  /\  E. z E. w A. x A. y
 ( ph  ->  ( x  =  z  /\  y  =  w ) ) ) )
 
Theorem2eu7 2035 Two equivalent expressions for double existential uniqueness. (Contributed by NM, 19-Feb-2005.)
 |-  ( ( E! x E. y ph  /\  E! y E. x ph )  <->  E! x E! y ( E. x ph  /\  E. y ph ) )
 
Theoremeuequ1 2036* Equality has existential uniqueness. (Contributed by Stefan Allan, 4-Dec-2008.)
 |- 
 E! x  x  =  y
 
Theoremexists1 2037* 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. (Contributed by NM, 5-Apr-2004.)
 |-  ( E! x  x  =  x  <->  A. x  x  =  y )
 
Theoremexists2 2038 A condition implying that at least two things exist. (Contributed by NM, 10-Apr-2004.) (Proof shortened by Andrew Salmon, 9-Jul-2011.)
 |-  ( ( E. x ph 
 /\  E. x  -.  ph )  ->  -.  E! x  x  =  x )
 
1.4.7  Aristotelian logic: Assertic syllogisms

Model the Aristotelian assertic syllogisms using modern notation. This section shows that the Aristotelian assertic syllogisms can be proven with our axioms of logic, and also provides generally useful theorems.

In antiquity Aristotelian logic and Stoic logic (see mptnan 1354) were the leading logical systems. Aristotelian logic became the leading system in medieval Europe; this section models this system (including later refinements to it). Aristotle defined syllogisms very generally ("a discourse in which certain (specific) things having been supposed, something different from the things supposed results of necessity because these things are so") Aristotle, Prior Analytics 24b18-20. However, in Prior Analytics he limits himself to categorical syllogisms that consist of three categorical propositions with specific structures. The syllogisms are the valid subset of the possible combinations of these structures. The medieval schools used vowels to identify the types of terms (a=all, e=none, i=some, and o=some are not), and named the different syllogisms with Latin words that had the vowels in the intended order.

"There is a surprising amount of scholarly debate about how best to formalize Aristotle's syllogisms..." according to Aristotle's Modal Proofs: Prior Analytics A8-22 in Predicate Logic, Adriane Rini, Springer, 2011, ISBN 978-94-007-0049-9, page 28. For example, Lukasiewicz believes it is important to note that "Aristotle does not introduce singular terms or premisses into his system". Lukasiewicz also believes that Aristotelian syllogisms are predicates (having a true/false value), not inference rules: "The characteristic sign of an inference is the word 'therefore'... no syllogism is formulated by Aristotle primarily as an inference, but they are all implications." Jan Lukasiewicz, Aristotle's Syllogistic from the Standpoint of Modern Formal Logic, Second edition, Oxford, 1957, page 1-2. Lukasiewicz devised a specialized prefix notation for representing Aristotelian syllogisms instead of using standard predicate logic notation.

We instead translate each Aristotelian syllogism into an inference rule, and each rule is defined using standard predicate logic notation and predicates. The predicates are represented by wff variables that may depend on the quantified variable  x. Our translation is essentially identical to the one use in Rini page 18, Table 2 "Non-Modal Syllogisms in Lower Predicate Calculus (LPC)", which uses standard predicate logic with predicates. Rini states, "the crucial point is that we capture the meaning Aristotle intends, and the method by which we represent that meaning is less important." There are two differences: we make the existence criteria explicit, and we use  ph,  ps, and  ch in the order they appear (a common Metamath convention). Patzig also uses standard predicate logic notation and predicates (though he interprets them as conditional propositions, not as inference rules); see Gunther Patzig, Aristotle's Theory of the Syllogism second edition, 1963, English translation by Jonathan Barnes, 1968, page 38. Terms such as "all" and "some" are translated into predicate logic using the aproach devised by Frege and Russell. "Frege (and Russell) devised an ingenious procedure for regimenting binary quantifiers like "every" and "some" in terms of unary quantifiers like "everything" and "something": they formalized sentences of the form "Some A is B" and "Every A is B" as exists x (Ax and Bx) and all x (Ax implies Bx), respectively." "Quantifiers and Quantification", Stanford Encyclopedia of Philosophy, http://plato.stanford.edu/entries/quantification/. See Principia Mathematica page 22 and *10 for more information (especially *10.3 and *10.26).

Expressions of the form "no  ph is  ps " are consistently translated as  A. x (
ph  ->  -.  ps ). These can also be expressed as  -.  E. x
( ph  /\  ps ), per alinexa 1534. We translate "all  ph is  ps " to  A. x (
ph  ->  ps ), "some  ph is  ps " to  E. x
( ph  /\  ps ), and "some  ph is not  ps " to  E. x
( ph  /\  -.  ps ). It is traditional to use the singular verb "is", not the plural verb "are", in the generic expressions. By convention the major premise is listed first.

In traditional Aristotelian syllogisms the predicates have a restricted form ("x is a ..."); those predicates could be modeled in modern notation by constructs such as  x  =  A,  x  e.  A, or  x  C_  A. Here we use wff variables instead of specialized restricted forms. This generalization makes the syllogisms more useful in more circumstances. In addition, these expressions make it clearer that the syllogisms of Aristolean logic are the forerunners of predicate calculus. If we used restricted forms like  x  e.  A instead, we would not only unnecessarily limit their use, but we would also need to use set and class axioms, making their relationship to predicate calculus less clear.

There are some widespread misconceptions about the existential assumptions made by Aristotle (aka "existential import"). Aristotle was not trying to develop something exactly corresponding to modern logic. Aristotle devised "a companion-logic for science. He relegates fictions like fairy godmothers and mermaids and unicorns to the realms of poetry and literature. In his mind, they exist outside the ambit of science. This is why he leaves no room for such non-existent entities in his logic. This is a thoughtful choice, not an inadvertent omission. Technically, Aristotelian science is a search for definitions, where a definition is "a phrase signifying a thing's essence." (Topics, I.5.102a37, Pickard-Cambridge.)... Because non-existent entities cannot be anything, they do not, in Aristotle's mind, possess an essence... This is why he leaves no place for fictional entities like goat-stags (or unicorns)." Source: Louis F. Groarke, "Aristotle: Logic", section 7. (Existential Assumptions), Internet Encyclopedia of Philosophy (A Peer-Reviewed Academic Resource), http://www.iep.utm.edu/aris-log/. Thus, some syllogisms have "extra" existence hypotheses that do not directly appear in Aristotle's original materials (since they were always assumed); they are added where they are needed. This affects barbari 2043, celaront 2044, cesaro 2049, camestros 2050, felapton 2055, darapti 2056, calemos 2060, fesapo 2061, and bamalip 2062.

These are only the assertic syllogisms. Aristotle also defined modal syllogisms that deal with modal qualifiers such as "necessarily" and "possibly". Historically Aristotelian modal syllogisms were not as widely used. For more about modal syllogisms in a modern context, see Rini as well as Aristotle's Modal Syllogistic by Marko Malink, Harvard University Press, November 2013. We do not treat them further here.

Aristotelean logic is essentially the forerunner of predicate calculus (as well as set theory since it discusses membership in groups), while Stoic logic is essentially the forerunner of propositional calculus.

 
Theorembarbara 2039 "Barbara", one of the fundamental syllogisms of Aristotelian logic. All  ph is  ps, and all  ch is  ph, therefore all  ch is  ps. (In Aristotelian notation, AAA-1: MaP and SaM therefore SaP.) For example, given "All men are mortal" and "Socrates is a man", we can prove "Socrates is mortal". If H is the set of men, M is the set of mortal beings, and S is Socrates, these word phrases can be represented as  A. x ( x  e.  H  ->  x  e.  M ) (all men are mortal) and  A. x ( x  =  S  ->  x  e.  H ) (Socrates is a man) therefore  A. x ( x  =  S  ->  x  e.  M ) (Socrates is mortal). Russell and Whitehead note that the "syllogism in Barbara is derived..." from syl 14. (quote after Theorem *2.06 of [WhiteheadRussell] p. 101). Most of the proof is in alsyl 1566. There are a legion of sources for Barbara, including http://www.friesian.com/aristotl.htm, http://plato.stanford.edu/entries/aristotle-logic/, and https://en.wikipedia.org/wiki/Syllogism. (Contributed by David A. Wheeler, 24-Aug-2016.)
 |- 
 A. x ( ph  ->  ps )   &    |-  A. x ( ch  ->  ph )   =>    |-  A. x ( ch  ->  ps )
 
Theoremcelarent 2040 "Celarent", one of the syllogisms of Aristotelian logic. No  ph is  ps, and all  ch is  ph, therefore no  ch is  ps. (In Aristotelian notation, EAE-1: MeP and SaM therefore SeP.) For example, given the "No reptiles have fur" and "All snakes are reptiles", therefore "No snakes have fur". Example from https://en.wikipedia.org/wiki/Syllogism. (Contributed by David A. Wheeler, 24-Aug-2016.) (Revised by David A. Wheeler, 2-Sep-2016.)
 |- 
 A. x ( ph  ->  -.  ps )   &    |-  A. x ( ch  ->  ph )   =>    |-  A. x ( ch  ->  -.  ps )
 
Theoremdarii 2041 "Darii", one of the syllogisms of Aristotelian logic. All  ph is  ps, and some  ch is  ph, therefore some  ch is  ps. (In Aristotelian notation, AII-1: MaP and SiM therefore SiP.) For example, given "All rabbits have fur" and "Some pets are rabbits", therefore "Some pets have fur". Example from https://en.wikipedia.org/wiki/Syllogism. (Contributed by David A. Wheeler, 24-Aug-2016.)
 |- 
 A. x ( ph  ->  ps )   &    |-  E. x ( ch  /\  ph )   =>    |-  E. x ( ch  /\  ps )
 
Theoremferio 2042 "Ferio" ("Ferioque"), one of the syllogisms of Aristotelian logic. No  ph is  ps, and some  ch is  ph, therefore some  ch is not  ps. (In Aristotelian notation, EIO-1: MeP and SiM therefore SoP.) For example, given "No homework is fun" and "Some reading is homework", therefore "Some reading is not fun". This is essentially a logical axiom in Aristotelian logic. Example from https://en.wikipedia.org/wiki/Syllogism. (Contributed by David A. Wheeler, 24-Aug-2016.) (Revised by David A. Wheeler, 2-Sep-2016.)
 |- 
 A. x ( ph  ->  -.  ps )   &    |-  E. x ( ch  /\  ph )   =>    |-  E. x ( ch  /\  -.  ps )
 
Theorembarbari 2043 "Barbari", one of the syllogisms of Aristotelian logic. All  ph is  ps, all  ch is  ph, and some  ch exist, therefore some  ch is  ps. (In Aristotelian notation, AAI-1: MaP and SaM therefore SiP.) For example, given "All men are mortal", "All Greeks are men", and "Greeks exist", therefore "Some Greeks are mortal". Note the existence hypothesis (to prove the "some" in the conclusion). Example from https://en.wikipedia.org/wiki/Syllogism. (Contributed by David A. Wheeler, 27-Aug-2016.) (Revised by David A. Wheeler, 30-Aug-2016.)
 |- 
 A. x ( ph  ->  ps )   &    |-  A. x ( ch  ->  ph )   &    |-  E. x ch   =>    |- 
 E. x ( ch 
 /\  ps )
 
Theoremcelaront 2044 "Celaront", one of the syllogisms of Aristotelian logic. No  ph is  ps, all  ch is  ph, and some  ch exist, therefore some  ch is not  ps. (In Aristotelian notation, EAO-1: MeP and SaM therefore SoP.) For example, given "No reptiles have fur", "All snakes are reptiles.", and "Snakes exist.", prove "Some snakes have no fur". Note the existence hypothesis. Example from https://en.wikipedia.org/wiki/Syllogism. (Contributed by David A. Wheeler, 27-Aug-2016.) (Revised by David A. Wheeler, 2-Sep-2016.)
 |- 
 A. x ( ph  ->  -.  ps )   &    |-  A. x ( ch  ->  ph )   &    |-  E. x ch   =>    |- 
 E. x ( ch 
 /\  -.  ps )
 
Theoremcesare 2045 "Cesare", one of the syllogisms of Aristotelian logic. No  ph is  ps, and all  ch is  ps, therefore no  ch is  ph. (In Aristotelian notation, EAE-2: PeM and SaM therefore SeP.) Related to celarent 2040. (Contributed by David A. Wheeler, 27-Aug-2016.) (Revised by David A. Wheeler, 13-Nov-2016.)
 |- 
 A. x ( ph  ->  -.  ps )   &    |-  A. x ( ch  ->  ps )   =>    |-  A. x ( ch  ->  -.  ph )
 
Theoremcamestres 2046 "Camestres", one of the syllogisms of Aristotelian logic. All  ph is  ps, and no  ch is  ps, therefore no  ch is  ph. (In Aristotelian notation, AEE-2: PaM and SeM therefore SeP.) (Contributed by David A. Wheeler, 28-Aug-2016.) (Revised by David A. Wheeler, 2-Sep-2016.)
 |- 
 A. x ( ph  ->  ps )   &    |-  A. x ( ch  ->  -.  ps )   =>    |-  A. x ( ch  ->  -.  ph )
 
Theoremfestino 2047 "Festino", one of the syllogisms of Aristotelian logic. No  ph is  ps, and some  ch is  ps, therefore some  ch is not  ph. (In Aristotelian notation, EIO-2: PeM and SiM therefore SoP.) (Contributed by David A. Wheeler, 25-Nov-2016.)
 |- 
 A. x ( ph  ->  -.  ps )   &    |-  E. x ( ch  /\  ps )   =>    |-  E. x ( ch  /\  -.  ph )
 
Theorembaroco 2048 "Baroco", one of the syllogisms of Aristotelian logic. All  ph is  ps, and some  ch is not  ps, therefore some  ch is not  ph. (In Aristotelian notation, AOO-2: PaM and SoM therefore SoP.) For example, "All informative things are useful", "Some websites are not useful", therefore "Some websites are not informative." (Contributed by David A. Wheeler, 28-Aug-2016.)
 |- 
 A. x ( ph  ->  ps )   &    |-  E. x ( ch  /\  -.  ps )   =>    |- 
 E. x ( ch 
 /\  -.  ph )
 
Theoremcesaro 2049 "Cesaro", one of the syllogisms of Aristotelian logic. No  ph is  ps, all  ch is  ps, and  ch exist, therefore some  ch is not  ph. (In Aristotelian notation, EAO-2: PeM and SaM therefore SoP.) (Contributed by David A. Wheeler, 28-Aug-2016.) (Revised by David A. Wheeler, 2-Sep-2016.)
 |- 
 A. x ( ph  ->  -.  ps )   &    |-  A. x ( ch  ->  ps )   &    |-  E. x ch   =>    |- 
 E. x ( ch 
 /\  -.  ph )
 
Theoremcamestros 2050 "Camestros", one of the syllogisms of Aristotelian logic. All  ph is  ps, no  ch is  ps, and  ch exist, therefore some  ch is not  ph. (In Aristotelian notation, AEO-2: PaM and SeM therefore SoP.) For example, "All horses have hooves", "No humans have hooves", and humans exist, therefore "Some humans are not horses". (Contributed by David A. Wheeler, 28-Aug-2016.) (Revised by David A. Wheeler, 2-Sep-2016.)
 |- 
 A. x ( ph  ->  ps )   &    |-  A. x ( ch  ->  -.  ps )   &    |-  E. x ch   =>    |- 
 E. x ( ch 
 /\  -.  ph )
 
Theoremdatisi 2051 "Datisi", one of the syllogisms of Aristotelian logic. All  ph is  ps, and some  ph is  ch, therefore some  ch is  ps. (In Aristotelian notation, AII-3: MaP and MiS therefore SiP.) (Contributed by David A. Wheeler, 28-Aug-2016.)
 |- 
 A. x ( ph  ->  ps )   &    |-  E. x (
 ph  /\  ch )   =>    |-  E. x ( ch  /\  ps )
 
Theoremdisamis 2052 "Disamis", one of the syllogisms of Aristotelian logic. Some  ph is  ps, and all  ph is  ch, therefore some  ch is  ps. (In Aristotelian notation, IAI-3: MiP and MaS therefore SiP.) (Contributed by David A. Wheeler, 28-Aug-2016.)
 |- 
 E. x ( ph  /\ 
 ps )   &    |-  A. x (
 ph  ->  ch )   =>    |- 
 E. x ( ch 
 /\  ps )
 
Theoremferison 2053 "Ferison", one of the syllogisms of Aristotelian logic. No  ph is  ps, and some  ph is  ch, therefore some  ch is not  ps. (In Aristotelian notation, EIO-3: MeP and MiS therefore SoP.) (Contributed by David A. Wheeler, 28-Aug-2016.) (Revised by David A. Wheeler, 2-Sep-2016.)
 |- 
 A. x ( ph  ->  -.  ps )   &    |-  E. x ( ph  /\  ch )   =>    |-  E. x ( ch  /\  -.  ps )
 
Theorembocardo 2054 "Bocardo", one of the syllogisms of Aristotelian logic. Some  ph is not  ps, and all  ph is  ch, therefore some  ch is not  ps. (In Aristotelian notation, OAO-3: MoP and MaS therefore SoP.) For example, "Some cats have no tails", "All cats are mammals", therefore "Some mammals have no tails". A reorder of disamis 2052; prefer using that instead. (Contributed by David A. Wheeler, 28-Aug-2016.) (New usage is discouraged.)
 |- 
 E. x ( ph  /\ 
 -.  ps )   &    |-  A. x (
 ph  ->  ch )   =>    |- 
 E. x ( ch 
 /\  -.  ps )
 
Theoremfelapton 2055 "Felapton", one of the syllogisms of Aristotelian logic. No  ph is  ps, all  ph is  ch, and some  ph exist, therefore some  ch is not  ps. (In Aristotelian notation, EAO-3: MeP and MaS therefore SoP.) For example, "No flowers are animals" and "All flowers are plants", therefore "Some plants are not animals". (Contributed by David A. Wheeler, 28-Aug-2016.) (Revised by David A. Wheeler, 2-Sep-2016.)
 |- 
 A. x ( ph  ->  -.  ps )   &    |-  A. x ( ph  ->  ch )   &    |-  E. x ph   =>    |-  E. x ( ch  /\  -. 
 ps )
 
Theoremdarapti 2056 "Darapti", one of the syllogisms of Aristotelian logic. All  ph is  ps, all  ph is  ch, and some  ph exist, therefore some  ch is  ps. (In Aristotelian notation, AAI-3: MaP and MaS therefore SiP.) For example, "All squares are rectangles" and "All squares are rhombuses", therefore "Some rhombuses are rectangles". (Contributed by David A. Wheeler, 28-Aug-2016.)
 |- 
 A. x ( ph  ->  ps )   &    |-  A. x (
 ph  ->  ch )   &    |-  E. x ph   =>    |-  E. x ( ch  /\  ps )
 
Theoremcalemes 2057 "Calemes", one of the syllogisms of Aristotelian logic. All  ph is  ps, and no  ps is  ch, therefore no  ch is  ph. (In Aristotelian notation, AEE-4: PaM and MeS therefore SeP.) (Contributed by David A. Wheeler, 28-Aug-2016.) (Revised by David A. Wheeler, 2-Sep-2016.)
 |- 
 A. x ( ph  ->  ps )   &    |-  A. x ( ps  ->  -.  ch )   =>    |-  A. x ( ch  ->  -.  ph )
 
Theoremdimatis 2058 "Dimatis", one of the syllogisms of Aristotelian logic. Some  ph is  ps, and all  ps is  ch, therefore some  ch is  ph. (In Aristotelian notation, IAI-4: PiM and MaS therefore SiP.) For example, "Some pets are rabbits.", "All rabbits have fur", therefore "Some fur bearing animals are pets". Like darii 2041 with positions interchanged. (Contributed by David A. Wheeler, 28-Aug-2016.)
 |- 
 E. x ( ph  /\ 
 ps )   &    |-  A. x ( ps  ->  ch )   =>    |-  E. x ( ch  /\  ph )
 
Theoremfresison 2059 "Fresison", one of the syllogisms of Aristotelian logic. No  ph is  ps (PeM), and some  ps is  ch (MiS), therefore some  ch is not  ph (SoP). (In Aristotelian notation, EIO-4: PeM and MiS therefore SoP.) (Contributed by David A. Wheeler, 28-Aug-2016.) (Revised by David A. Wheeler, 2-Sep-2016.)
 |- 
 A. x ( ph  ->  -.  ps )   &    |-  E. x ( ps  /\  ch )   =>    |-  E. x ( ch  /\  -.  ph )
 
Theoremcalemos 2060 "Calemos", one of the syllogisms of Aristotelian logic. All  ph is  ps (PaM), no  ps is  ch (MeS), and  ch exist, therefore some  ch is not  ph (SoP). (In Aristotelian notation, AEO-4: PaM and MeS therefore SoP.) (Contributed by David A. Wheeler, 28-Aug-2016.) (Revised by David A. Wheeler, 2-Sep-2016.)
 |- 
 A. x ( ph  ->  ps )   &    |-  A. x ( ps  ->  -.  ch )   &    |-  E. x ch   =>    |- 
 E. x ( ch 
 /\  -.  ph )
 
Theoremfesapo 2061 "Fesapo", one of the syllogisms of Aristotelian logic. No  ph is  ps, all  ps is  ch, and  ps exist, therefore some  ch is not  ph. (In Aristotelian notation, EAO-4: PeM and MaS therefore SoP.) (Contributed by David A. Wheeler, 28-Aug-2016.) (Revised by David A. Wheeler, 2-Sep-2016.)
 |- 
 A. x ( ph  ->  -.  ps )   &    |-  A. x ( ps  ->  ch )   &    |-  E. x ps   =>    |- 
 E. x ( ch 
 /\  -.  ph )
 
Theorembamalip 2062 "Bamalip", one of the syllogisms of Aristotelian logic. All  ph is  ps, all  ps is  ch, and  ph exist, therefore some  ch is  ph. (In Aristotelian notation, AAI-4: PaM and MaS therefore SiP.) Like barbari 2043. (Contributed by David A. Wheeler, 28-Aug-2016.)
 |- 
 A. x ( ph  ->  ps )   &    |-  A. x ( ps  ->  ch )   &    |-  E. x ph   =>    |-  E. x ( ch  /\  ph )
 
PART 2  SET THEORY

Set theory uses the formalism of propositional and predicate calculus to assert properties of arbitrary mathematical objects called "sets." A set can be an element of another set, and this relationship is indicated by the  e. symbol. Starting with the simplest mathematical object, called the empty set, set theory builds up more and more complex structures whose existence follows from the axioms, eventually resulting in extremely complicated sets that we identify with the real numbers and other familiar mathematical objects.

Here we develop set theory based on the Intuitionistic Zermelo-Fraenkel (IZF) system, mostly following the IZF axioms as laid out in [Crosilla]. Constructive Zermelo-Fraenkel (CZF), also described in Crosilla, is not as easy to formalize in Metamath because the statement of some of its axioms uses the notion of "bounded formula". Since Metamath has, purposefully, a very weak metalogic, that notion must be developed in the logic itself. This is similar to our treatment of substitution (df-sb 1686) and our definition of the nonfreeness predicate (df-nf 1390), whereas substitution and bound and free variables are ordinarily defined in the metalogic. The development of CZF has begun in BJ's mathbox, see wbd 10603.

 
2.1  IZF Set Theory - start with the Axiom of Extensionality
 
2.1.1  Introduce the Axiom of Extensionality
 
Axiomax-ext 2063* Axiom of Extensionality. It states that two sets are identical if they contain the same elements. Axiom 1 of [Crosilla] p. "Axioms of CZF and IZF" (with unnecessary quantifiers removed).

Set theory can also be formulated with a single primitive predicate  e. on top of traditional predicate calculus without equality. In that case the Axiom of Extensionality becomes  ( A. w
( w  e.  x  <->  w  e.  y )  -> 
( x  e.  z  ->  y  e.  z ) ), and equality  x  =  y is defined as  A. w ( w  e.  x  <->  w  e.  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 1435 through ax-16 1735 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.

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 2063 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 axioms which involve wff metavariables). In practice, though, the theorems and proofs are essentially the same. The $d restrictions make each of the infinite axioms generated by the ax-ext 2063 scheme exactly logically equivalent to each other and in particular to the actual axiom of the textbook version. (Contributed by NM, 5-Aug-1993.)

 |-  ( A. z ( z  e.  x  <->  z  e.  y
 )  ->  x  =  y )
 
Theoremaxext3 2064* A generalization of the Axiom of Extensionality in which  x and  y need not be distinct. (Contributed by NM, 15-Sep-1993.) (Proof shortened by Andrew Salmon, 12-Aug-2011.)
 |-  ( A. z ( z  e.  x  <->  z  e.  y
 )  ->  x  =  y )
 
Theoremaxext4 2065* A bidirectional version of Extensionality. Although this theorem "looks" like it is just a definition of equality, it requires the Axiom of Extensionality for its proof under our axiomatization. See the comments for ax-ext 2063. (Contributed by NM, 14-Nov-2008.)
 |-  ( x  =  y  <->  A. z ( z  e.  x  <->  z  e.  y
 ) )
 
Theorembm1.1 2066* Any set defined by a property is the only set defined by that property. Theorem 1.1 of [BellMachover] p. 462. (Contributed by NM, 30-Jun-1994.)
 |- 
 F/ x ph   =>    |-  ( E. x A. y ( y  e.  x  <->  ph )  ->  E! x A. y ( y  e.  x  <->  ph ) )
 
2.1.2  Class abstractions (a.k.a. class builders)
 
Syntaxcab 2067 Introduce the class builder or class abstraction notation ("the class of sets  x such that  ph is true"). Our class variables  A,  B, etc. range over class builders (sometimes implicitly). Note that a setvar variable can be expressed as a class builder per theorem cvjust 2076, justifying the assignment of setvar variables to class variables via the use of cv 1283.
 class  { x  |  ph }
 
Definitiondf-clab 2068 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,  ph will have  y as a free variable, and " { y  |  ph } " is read "the class of all sets  y such that  ph ( y ) is true." We do not define  { y  |  ph } in isolation but only as part of an expression that extends or "overloads" the  e. relationship.

This is our first use of the 
e. symbol to connect classes instead of sets. The syntax definition wcel 1433, which extends or "overloads" the wel 1434 definition connecting setvar variables, requires that both sides of  e. be a class. In df-cleq 2074 and df-clel 2077, we introduce a new kind of variable (class variable) that can substituted with expressions such as  { y  | 
ph }. In the present definition, the  x on the left-hand side is a setvar variable. Syntax definition cv 1283 allows us to substitute a setvar variable  x for a class variable: all sets are classes by cvjust 2076 (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 2187 for a quick overview).

Because class variables can be substituted with compound expressions and setvar variables cannot, it is often useful to convert a theorem containing a free setvar variable to a more general version with a class variable.

This is called the "axiom of class comprehension" by [Levy] p. 338, who treats the theory of classes as an extralogical extension to our logic and set theory axioms. He calls the construction  {
y  |  ph } a "class term".

For a general discussion of the theory of classes, see http://us.metamath.org/mpeuni/mmset.html#class. (Contributed by NM, 5-Aug-1993.)

 |-  ( x  e.  {
 y  |  ph }  <->  [ x  /  y ] ph )
 
Theoremabid 2069 Simplification of class abstraction notation when the free and bound variables are identical. (Contributed by NM, 5-Aug-1993.)
 |-  ( x  e.  { x  |  ph }  <->  ph )
 
Theoremhbab1 2070* Bound-variable hypothesis builder for a class abstraction. (Contributed by NM, 5-Aug-1993.)
 |-  ( y  e.  { x  |  ph }  ->  A. x  y  e.  { x  |  ph } )
 
Theoremnfsab1 2071* Bound-variable hypothesis builder for a class abstraction. (Contributed by Mario Carneiro, 11-Aug-2016.)
 |- 
 F/ x  y  e. 
 { x  |  ph }
 
Theoremhbab 2072* Bound-variable hypothesis builder for a class abstraction. (Contributed by NM, 1-Mar-1995.)
 |-  ( ph  ->  A. x ph )   =>    |-  ( z  e.  {
 y  |  ph }  ->  A. x  z  e.  {
 y  |  ph } )
 
Theoremnfsab 2073* Bound-variable hypothesis builder for a class abstraction. (Contributed by Mario Carneiro, 11-Aug-2016.)
 |- 
 F/ x ph   =>    |- 
 F/ x  z  e. 
 { y  |  ph }
 
Definitiondf-cleq 2074* 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  <->  A. x ( x  e.  y  <->  x  e.  z
), which is not a theorem of logic but rather presupposes the Axiom of Extensionality (see theorem axext4 2065). 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 2068, df-clel 2077, and abeq2 2187.

In the form of dfcleq 2075, this is called the "axiom of extensionality" by [Levy] p. 338, who treats the theory of classes as an extralogical extension to our logic and set theory axioms.

For a general discussion of the theory of classes, see http://us.metamath.org/mpeuni/mmset.html#class. (Contributed by NM, 15-Sep-1993.)

 |-  ( A. x ( x  e.  y  <->  x  e.  z
 )  ->  y  =  z )   =>    |-  ( A  =  B  <->  A. x ( x  e.  A  <->  x  e.  B ) )
 
Theoremdfcleq 2075* The same as df-cleq 2074 with the hypothesis removed using the Axiom of Extensionality ax-ext 2063. (Contributed by NM, 15-Sep-1993.)
 |-  ( A  =  B  <->  A. x ( x  e.  A  <->  x  e.  B ) )
 
Theoremcvjust 2076* Every set is a class. Proposition 4.9 of [TakeutiZaring] p. 13. This theorem shows that a setvar variable can be expressed as a class abstraction. This provides a motivation for the class syntax construction cv 1283, which allows us to substitute a setvar variable for a class variable. See also cab 2067 and df-clab 2068. Note that this is not a rigorous justification, because cv 1283 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." (Contributed by NM, 7-Nov-2006.)
 |-  x  =  { y  |  y  e.  x }
 
Definitiondf-clel 2077* 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 2074 it extends or "overloads" the use of the existing membership symbol, but unlike df-cleq 2074 it does not strengthen the set of valid wffs of logic when the class variables are replaced with setvar variables (see cleljust 1854), so we don't include any set theory axiom as a hypothesis. See also comments about the syntax under df-clab 2068.

This is called the "axiom of membership" by [Levy] p. 338, who treats the theory of classes as an extralogical extension to our logic and set theory axioms.

For a general discussion of the theory of classes, see http://us.metamath.org/mpeuni/mmset.html#class. (Contributed by NM, 5-Aug-1993.)

 |-  ( A  e.  B  <->  E. x ( x  =  A  /\  x  e.  B ) )
 
Theoremeqriv 2078* Infer equality of classes from equivalence of membership. (Contributed by NM, 5-Aug-1993.)
 |-  ( x  e.  A  <->  x  e.  B )   =>    |-  A  =  B
 
Theoremeqrdv 2079* Deduce equality of classes from equivalence of membership. (Contributed by NM, 17-Mar-1996.)
 |-  ( ph  ->  ( x  e.  A  <->  x  e.  B ) )   =>    |-  ( ph  ->  A  =  B )
 
Theoremeqrdav 2080* Deduce equality of classes from an equivalence of membership that depends on the membership variable. (Contributed by NM, 7-Nov-2008.)
 |-  ( ( ph  /\  x  e.  A )  ->  x  e.  C )   &    |-  ( ( ph  /\  x  e.  B ) 
 ->  x  e.  C )   &    |-  ( ( ph  /\  x  e.  C )  ->  ( x  e.  A  <->  x  e.  B ) )   =>    |-  ( ph  ->  A  =  B )
 
Theoremeqid 2081 Law of identity (reflexivity of class equality). Theorem 6.4 of [Quine] p. 41.

This law is thought to have originated with Aristotle (Metaphysics, Zeta, 17, 1041 a, 10-20). (Thanks to Stefan Allan and BJ for this information.) (Contributed by NM, 5-Aug-1993.) (Revised by BJ, 14-Oct-2017.)

 |-  A  =  A
 
Theoremeqidd 2082 Class identity law with antecedent. (Contributed by NM, 21-Aug-2008.)
 |-  ( ph  ->  A  =  A )
 
Theoremeqcom 2083 Commutative law for class equality. Theorem 6.5 of [Quine] p. 41. (Contributed by NM, 5-Aug-1993.)
 |-  ( A  =  B  <->  B  =  A )
 
Theoremeqcoms 2084 Inference applying commutative law for class equality to an antecedent. (Contributed by NM, 5-Aug-1993.)
 |-  ( A  =  B  -> 
 ph )   =>    |-  ( B  =  A  -> 
 ph )
 
Theoremeqcomi 2085 Inference from commutative law for class equality. (Contributed by NM, 5-Aug-1993.)
 |-  A  =  B   =>    |-  B  =  A
 
Theoremeqcomd 2086 Deduction from commutative law for class equality. (Contributed by NM, 15-Aug-1994.)
 |-  ( ph  ->  A  =  B )   =>    |-  ( ph  ->  B  =  A )
 
Theoremeqeq1 2087 Equality implies equivalence of equalities. (Contributed by NM, 5-Aug-1993.)
 |-  ( A  =  B  ->  ( A  =  C  <->  B  =  C ) )
 
Theoremeqeq1i 2088 Inference from equality to equivalence of equalities. (Contributed by NM, 5-Aug-1993.)
 |-  A  =  B   =>    |-  ( A  =  C 
 <->  B  =  C )
 
Theoremeqeq1d 2089 Deduction from equality to equivalence of equalities. (Contributed by NM, 27-Dec-1993.)
 |-  ( ph  ->  A  =  B )   =>    |-  ( ph  ->  ( A  =  C  <->  B  =  C ) )
 
Theoremeqeq2 2090 Equality implies equivalence of equalities. (Contributed by NM, 5-Aug-1993.)
 |-  ( A  =  B  ->  ( C  =  A  <->  C  =  B ) )
 
Theoremeqeq2i 2091 Inference from equality to equivalence of equalities. (Contributed by NM, 5-Aug-1993.)
 |-  A  =  B   =>    |-  ( C  =  A 
 <->  C  =  B )
 
Theoremeqeq2d 2092 Deduction from equality to equivalence of equalities. (Contributed by NM, 27-Dec-1993.)
 |-  ( ph  ->  A  =  B )   =>    |-  ( ph  ->  ( C  =  A  <->  C  =  B ) )
 
Theoremeqeq12 2093 Equality relationship among 4 classes. (Contributed by NM, 3-Aug-1994.)
 |-  ( ( A  =  B  /\  C  =  D )  ->  ( A  =  C 
 <->  B  =  D ) )
 
Theoremeqeq12i 2094 A useful inference for substituting definitions into an equality. (Contributed by NM, 5-Aug-1993.) (Proof shortened by Andrew Salmon, 25-May-2011.)
 |-  A  =  B   &    |-  C  =  D   =>    |-  ( A  =  C  <->  B  =  D )
 
Theoremeqeq12d 2095 A useful inference for substituting definitions into an equality. (Contributed by NM, 5-Aug-1993.) (Proof shortened by Andrew Salmon, 25-May-2011.)
 |-  ( ph  ->  A  =  B )   &    |-  ( ph  ->  C  =  D )   =>    |-  ( ph  ->  ( A  =  C  <->  B  =  D ) )
 
Theoremeqeqan12d 2096 A useful inference for substituting definitions into an equality. (Contributed by NM, 9-Aug-1994.) (Proof shortened by Andrew Salmon, 25-May-2011.)
 |-  ( ph  ->  A  =  B )   &    |-  ( ps  ->  C  =  D )   =>    |-  ( ( ph  /\ 
 ps )  ->  ( A  =  C  <->  B  =  D ) )
 
Theoremeqeqan12rd 2097 A useful inference for substituting definitions into an equality. (Contributed by NM, 9-Aug-1994.)
 |-  ( ph  ->  A  =  B )   &    |-  ( ps  ->  C  =  D )   =>    |-  ( ( ps 
 /\  ph )  ->  ( A  =  C  <->  B  =  D ) )
 
Theoremeqtr 2098 Transitive law for class equality. Proposition 4.7(3) of [TakeutiZaring] p. 13. (Contributed by NM, 25-Jan-2004.)
 |-  ( ( A  =  B  /\  B  =  C )  ->  A  =  C )
 
Theoremeqtr2 2099 A transitive law for class equality. (Contributed by NM, 20-May-2005.) (Proof shortened by Andrew Salmon, 25-May-2011.)
 |-  ( ( A  =  B  /\  A  =  C )  ->  B  =  C )
 
Theoremeqtr3 2100 A transitive law for class equality. (Contributed by NM, 20-May-2005.)
 |-  ( ( A  =  C  /\  B  =  C )  ->  A  =  B )
    < Previous  Next >

Page List
Jump to page: Contents  1 1-100 2 101-200 3 201-300 4 301-400 5 401-500 6 501-600 7 601-700 8 701-800 9 801-900 10 901-1000 11 1001-1100 12 1101-1200 13 1201-1300 14 1301-1400 15 1401-1500 16 1501-1600 17 1601-1700 18 1701-1800 19 1801-1900 20 1901-2000 21 2001-2100 22 2101-2200 23 2201-2300 24 2301-2400 25 2401-2500 26 2501-2600 27 2601-2700 28 2701-2800 29 2801-2900 30 2901-3000 31 3001-3100 32 3101-3200 33 3201-3300 34 3301-3400 35 3401-3500 36 3501-3600 37 3601-3700 38 3701-3800 39 3801-3900 40 3901-4000 41 4001-4100 42 4101-4200 43 4201-4300 44 4301-4400 45 4401-4500 46 4501-4600 47 4601-4700 48 4701-4800 49 4801-4900 50 4901-5000 51 5001-5100 52 5101-5200 53 5201-5300 54 5301-5400 55 5401-5500 56 5501-5600 57 5601-5700 58 5701-5800 59 5801-5900 60 5901-6000 61 6001-6100 62 6101-6200 63 6201-6300 64 6301-6400 65 6401-6500 66 6501-6600 67 6601-6700 68 6701-6800 69 6801-6900 70 6901-7000 71 7001-7100 72 7101-7200 73 7201-7300 74 7301-7400 75 7401-7500 76 7501-7600 77 7601-7700 78 7701-7800 79 7801-7900 80 7901-8000 81 8001-8100 82 8101-8200 83 8201-8300 84 8301-8400 85 8401-8500 86 8501-8600 87 8601-8700 88 8701-8800 89 8801-8900 90 8901-9000 91 9001-9100 92 9101-9200 93 9201-9300 94 9301-9400 95 9401-9500 96 9501-9600 97 9601-9700 98 9701-9800 99 9801-9900 100 9901-10000 101 10001-10100 102 10101-10200 103 10201-10300 104 10301-10400 105 10401-10500 106 10501-10600 107 10601-10700 108 10701-10795
  Copyright terms: Public domain < Previous  Next >