$( nf.mm - Version of 22-Feb-2021. $)

$(
                           ~~ PUBLIC DOMAIN ~~
This work is waived of all rights, including copyright, according to the CC0
Public Domain Dedication.  http://creativecommons.org/publicdomain/zero/1.0/

Principal curator:  Scott Fenton

Partly based on the set.mm database, itself dedicated to public domain
by mean of the CC0 Public Domain Dedication.
$)

$( Begin $[ set-pred.mm $] $)

$(
###############################################################################
            CLASSICAL FIRST ORDER LOGIC WITH EQUALITY
###############################################################################

  Logic can be defined as the "study of the principles of correct reasoning"
  (Merrilee H. Salmon's 1991 "Informal Reasoning and Informal Logic" in
  _Informal Reasoning and Education_ ) or as "a formal system using symbolic
  techniques and mathematical methods to establish truth-values" (the Oxford
  English Dictionary).

  This section formally defines the logic system we will use.  In particular,
  it defines symbols for declaring truthful statements, along with rules for
  deriving truthful statements from other truthful statements.  The system
  defined here is classical first order logic with equality (the most common
  logic system used by mathematicians).

  We begin with a few housekeeping items in pre-logic, and then introduce
  propositional calculus (both its axioms and important theorems that can be
  derived from them).  Propositional calculus deals with general truths about
  well-formed formulas (wffs) regardless of how they are constructed.  This is
  followed by proofs that other axiomatizations of classical propositional
  calculus can be derived from the axioms we have chosen to use.

  We then define predicate calculus, which adds additional symbols and rules
  useful for discussing objects (beyond simply true or false).  In particular,
  it introduces the symbols ` = ` ("equals"), ` e. ` ("is a member of"), and `
  A. ` ("for all").  The first two are called "predicates."  A predicate
  specifies a true or false relationship between its two arguments.

$)


$(
#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#
                           Pre-logic
#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#

  This section includes a few "housekeeping" mechanisms before we begin
  defining the basics of logic.

$)

  $( Declare the primitive constant symbols for propositional calculus. $)
  $c ( $.  $( Left parenthesis $)
  $c ) $.  $( Right parenthesis $)
  $c -> $. $( Right arrow (read:  "implies") $)
  $c -. $. $( Right handle (read:  "not") $)
  $c wff $. $( Well-formed formula symbol (read:  "the following symbol
               sequence is a wff") $)
  $c |- $. $( Turnstile (read:  "the following symbol sequence is provable" or
              'a proof exists for") $)

  $( Define the syntax and logical typecodes, and declare that our grammar is
     unambiguous (verifiable using the KLR parser, with compositing depth 5).
     (This $ j comment need not be read by verifiers, but is useful for parsers
     like mmj2.) $)
  $( $j
    syntax 'wff';
    syntax '|-' as 'wff';
    unambiguous 'klr 5';
  $)

  $( wff variable sequence:  ph ps ch th ta et ze si rh mu la ka $)
  $( Introduce some variable names we will use to represent well-formed
     formulas (wff's). $)
  $v ph $.  $( Greek phi $)
  $v ps $.  $( Greek psi $)
  $v ch $.  $( Greek chi $)
  $v th $.  $( Greek theta $)
  $v ta $.  $( Greek tau $)
  $v et $.  $( Greek eta $)
  $v ze $.  $( Greek zeta $)
  $v si $.  $( Greek sigma $)
  $v rh $.  $( Greek rho $)
  $v mu $.  $( Greek mu $)
  $v la $.  $( Greek lambda $)
  $v ka $.  $( Greek kappa $)

  $( Specify some variables that we will use to represent wff's.
     The fact that a variable represents a wff is relevant only to a theorem
     referring to that variable, so we may use $f hypotheses.  The symbol
     ` wff ` specifies that the variable that follows it represents a wff. $)
  $( Let variable ` ph ` be a wff. $)
  wph $f wff ph $.
  $( Let variable ` ps ` be a wff. $)
  wps $f wff ps $.
  $( Let variable ` ch ` be a wff. $)
  wch $f wff ch $.
  $( Let variable ` th ` be a wff. $)
  wth $f wff th $.
  $( Let variable ` ta ` be a wff. $)
  wta $f wff ta $.
  $( Let variable ` et ` be a wff. $)
  wet $f wff et $.
  $( Let variable ` ze ` be a wff. $)
  wze $f wff ze $.
  $( Let variable ` si ` be a wff. $)
  wsi $f wff si $.
  $( Let variable ` rh ` be a wff. $)
  wrh $f wff rh $.
  $( Let variable ` mu ` be a wff. $)
  wmu $f wff mu $.
  $( Let variable ` la ` be a wff. $)
  wla $f wff la $.
  $( Let variable ` ka ` be a wff. $)
  wka $f wff ka $.


$(
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
                 Inferences for assisting proof development
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=

  The inference rules in this section will normally never appear in a completed
  proof.  They can be ignored if you are using this database to assist learning
  logic - please start with the statement ~ wn instead.

$)

  ${
    a1ii.1 $e |- ph $.
    a1ii.2 $e |- ps $.
    $( (_Note_:  This inference rule and the next one, ~ idi , will normally
       never appear in a completed proof.  It can be ignored if you are using
       this database to assist learning logic - please start with the statement
       ~ wn instead.)

       This is a technical inference to assist proof development.  It provides
       a temporary way to add an independent subproof to a proof under
       development, for later assignment to a normal proof step.

       The metamath program's Proof Assistant requires proofs to be developed
       backwards from the conclusion with no gaps, and it has no mechanism that
       lets the user to work on isolated subproofs.  This inference provides a
       workaround for this limitation.  It can be inserted at any point in a
       proof to allow an independent subproof to be developed on the side, for
       later use as part of the final proof.

       _Instructions_:  (1) Assign this inference to any unknown step in the
       proof.  Typically, the last unknown step is the most convenient, since
       'assign last' can be used.  This step will be replicated in hypothesis
       a1ii.1, from where the development of the main proof can continue.  (2)
       Develop the independent subproof backwards from hypothesis a1ii.2.  If
       desired, use a 'let' command to pre-assign the conclusion of the
       independent subproof to a1ii.2.  (3) After the independent subproof is
       complete, use 'improve all' to assign it automatically to an unknown
       step in the main proof that matches it.  (4) After the entire proof is
       complete, use 'minimize *' to clean up (discard) all ~ a1ii references
       automatically.

       This inference was originally designed to assist importing partially
       completed Proof Worksheets from the mmj2 Proof Assistant GUI, but it can
       also be useful on its own.  Interestingly, no axioms are required for
       its proof.  (Contributed by NM, 7-Feb-2006.) $)
    a1ii $p |- ph $=
      (  ) C $.
  $}

  ${
    idi.1 $e |- ph $.
    $( Inference form of ~ id .  This inference rule, which requires no axioms
       for its proof, is useful as a copy-paste mechanism during proof
       development in mmj2.  It is normally not referenced in the final version
       of a proof, since it is always redundant and can be removed using the
       'minimize *' command in the metamath program's Proof Assistant.
       (Contributed by Alan Sare, 31-Dec-2011.) $)
    idi $p |- ph $=
      (  ) B $.
  $}

$(
#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#
                           Propositional calculus
#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#

  Propositional calculus deals with general truths about well-formed formulas
  (wffs) regardless of how they are constructed.  The simplest propositional
  truth is ` ( ph -> ph ) ` , which can be read "if something is true, then it
  is true" - rather trivial and obvious, but nonetheless it must be proved from
  the axioms (see theorem ~ id ).

  Our system of propositional calculus consists of three basic axioms and
  another axiom that defines the modus-ponens inference rule.  It is attributed
  to Jan Lukasiewicz (pronounced woo-kah-SHAY-vitch) and was popularized by
  Alonzo Church, who called it system P2.  (Thanks to Ted Ulrich for this
  information.)  These axioms are ~ ax-1 , ~ ax-2 , ~ ax-3 , and (for modus
  ponens) ~ ax-mp . Some closely followed texts include [Margaris] for the
  axioms and [WhiteheadRussell] for the theorems.

  The propositional calculus used here is the classical system widely used by
  mathematicians.  In particular, this logic system accepts the "law of the
  excluded middle" as proven in ~ exmid , which says that a logical statement
  is either true or not true.  This is an essential distinction of classical
  logic and is not a theorem of intuitionistic logic.

  All 194 axioms, definitions, and theorems for propositional calculus in
  _Principia Mathematica_ (specifically *1.2 through *5.75) are axioms or
  formally proven.  See the Bibliographic Cross-References at
  ~ http://us.metamath.org/mpeuni/mmbiblio.html for a complete
  cross-reference from sources used to its formalization in the Metamath
  Proof Explorer.

$)

$(
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
        Recursively define primitive wffs for propositional calculus
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
$)

  $( If ` ph ` is a wff, so is ` -. ph ` or "not ` ph ` ."  Part of the
     recursive definition of a wff (well-formed formula).  In classical logic
     (which is our logic), a wff is interpreted as either true or false.  So if
     ` ph ` is true, then ` -. ph ` is false; if ` ph ` is false, then
     ` -. ph ` is true.  Traditionally, Greek letters are used to represent
     wffs, and we follow this convention.  In propositional calculus, we define
     only wffs built up from other wffs, i.e. there is no starting or "atomic"
     wff.  Later, in predicate calculus, we will extend the basic wff
     definition by including atomic wffs ( ~ weq and ~ wel ). $)
  wn $a wff -. ph $.

  $( If ` ph ` and ` ps ` are wff's, so is ` ( ph -> ps ) ` or " ` ph ` implies
     ` ps ` ."  Part of the recursive definition of a wff.  The resulting wff
     is (interpreted as) false when ` ph ` is true and ` ps ` is false; it is
     true otherwise.  Think of the truth table for an OR gate with input ` ph `
     connected through an inverter.  After we define the axioms of
     propositional calculus ( ~ ax-1 , ~ ax-2 , ~ ax-3 , and ~ ax-mp ), the
     biconditional ( ~ df-bi ), the constant true ` T. ` ( ~ df-tru ), and the
     constant false ` F. ` ( ~ df-fal ), we will be able to prove these truth
     table values: ` ( ( T. -> T. ) <-> T. ) ` ( ~ truimtru ),
     ` ( ( T. -> F. ) <-> F. ) ` ( ~ truimfal ), ` ( ( F. -> T. ) <-> T. ) `
     ( ~ falimtru ), and ` ( ( F. -> F. ) <-> T. ) ` ( ~ falimfal ).  These
     have straightforward meanings, for example, ` ( ( T. -> T. ) <-> T. ) `
     just means "the value of ` T. -> T. ` is ` T. ` ".

     The left-hand wff is called the antecedent, and the right-hand wff is
     called the consequent.  In the case of ` ( ph -> ( ps -> ch ) ) ` , the
     middle ` ps ` may be informally called either an antecedent or part of the
     consequent depending on context.  Contrast with ` <-> ` ( ~ df-bi ),
     ` /\ ` ( ~ df-an ), and ` \/ ` ( ~ df-or ).

     This is called "material implication" and the arrow is usually read as
     "implies."  However, material implication is not identical to the meaning
     of "implies" in natural language.  For example, the word "implies" may
     suggest a causal relationship in natural language.  Material implication
     does not require any causal relationship.  Also, note that in material
     implication, if the consequent is true then the wff is always true (even
     if the antecedent is false).  Thus, if "implies" means material
     implication, it is true that "if the moon is made of green cheese that
     implies that 5=5" (because 5=5).  Similarly, if the antecedent is false,
     the wff is always true.  Thus, it is true that, "if the moon made of green
     cheese that implies that 5=7" (because the moon is not actually made of
     green cheese).  A contradiction implies anything ( ~ pm2.21i ).  In short,
     material implication has a very specific technical definition, and
     misunderstandings of it are sometimes called "paradoxes of logical
     implication." $)
  wi $a wff ( ph -> ps ) $.

  $( Register '-.' and '->' as primitive expressions (lacking definitions). $)
  $( $j primitive 'wn' 'wi'; $)

$(
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
        The axioms of propositional calculus
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=

  Postulate the three axioms of classical propositional calculus.

  Propositional calculus (axioms ~ ax-1 through ~ ax-3 and rule ~ ax-mp ) can
  be thought of as asserting formulas that are universally "true" when their
  variables are replaced by any combination of "true" and "false."
  Propositional calculus was first formalized by Frege in 1879, using as his
  axioms (in addition to rule ~ ax-mp ) the wffs ~ ax-1 , ~ ax-2 , ~ pm2.04 ,
  ~ con3 , ~ notnot2 , and ~ notnot1 . Around 1930, Lukasiewicz simplified the
  system by eliminating the third (which follows from the first two, as you can
  see by looking at the proof of ~ pm2.04 ) and replacing the last three with
  our ~ ax-3 . (Thanks to Ted Ulrich for this information.)

  The theorems of propositional calculus are also called _tautologies_.
  Tautologies can be proved very simply using truth tables, based on the
  true/false interpretation of propositional calculus.  To do this, we assign
  all possible combinations of true and false to the wff variables and verify
  that the result (using the rules described in ~ wi and ~ wn ) always
  evaluates to true.  This is called the _semantic_ approach.  Our approach is
  called the _syntactic_ approach, in which everything is derived from axioms.
  A metatheorem called the Completeness Theorem for Propositional Calculus
  shows that the two approaches are equivalent and even provides an algorithm
  for automatically generating syntactic proofs from a truth table.  Those
  proofs, however, tend to be long, since truth tables grow exponentially with
  the number of variables, and the much shorter proofs that we show here were
  found manually.

$)

  $( Axiom _Simp_.  Axiom A1 of [Margaris] p. 49.  One of the 3 axioms of
     propositional calculus.  The 3 axioms are also given as Definition 2.1 of
     [Hamilton] p. 28.  This axiom is called _Simp_ or "the principle of
     simplification" in _Principia Mathematica_ (Theorem *2.02 of
     [WhiteheadRussell] p. 100) because "it enables us to pass from the joint
     assertion of ` ph ` and ` ps ` to the assertion of ` ph ` simply."
     (Contributed by NM, 5-Aug-1993.) $)
  ax-1 $a |- ( ph -> ( ps -> ph ) ) $.

  $( Axiom _Frege_.  Axiom A2 of [Margaris] p. 49.  One of the 3 axioms of
     propositional calculus.  It "distributes" an antecedent over two
     consequents.  This axiom was part of Frege's original system and is known
     as _Frege_ in the literature.  It is also proved as Theorem *2.77 of
     [WhiteheadRussell] p. 108.  The other direction of this axiom also turns
     out to be true, as demonstrated by ~ pm5.41 .  (Contributed by NM,
     5-Aug-1993.) $)
  ax-2 $a |- ( ( ph -> ( ps -> ch ) ) -> ( ( ph -> ps ) -> ( ph -> ch ) ) ) $.

  $( Axiom _Transp_.  Axiom A3 of [Margaris] p. 49.  One of the 3 axioms of
     propositional calculus.  It swaps or "transposes" the order of the
     consequents when negation is removed.  An informal example is that the
     statement "if there are no clouds in the sky, it is not raining" implies
     the statement "if it is raining, there are clouds in the sky."  This axiom
     is called _Transp_ or "the principle of transposition" in _Principia
     Mathematica_ (Theorem *2.17 of [WhiteheadRussell] p. 103).  We will also
     use the term "contraposition" for this principle, although the reader is
     advised that in the field of philosophical logic, "contraposition" has a
     different technical meaning.  (Contributed by NM, 5-Aug-1993.) $)
  ax-3 $a |- ( ( -. ph -> -. ps ) -> ( ps -> ph ) ) $.

  $(
     Postulate the modus ponens rule of inference.
  $)

  ${
    $( Minor premise for modus ponens. $)
    min $e |- ph $.
    $( Major premise for modus ponens. $)
    maj $e |- ( ph -> ps ) $.
    $( Rule of Modus Ponens.  The postulated inference rule of propositional
       calculus.  See e.g.  Rule 1 of [Hamilton] p. 73.  The rule says, "if
       ` ph ` is true, and ` ph ` implies ` ps ` , then ` ps ` must also be
       true."  This rule is sometimes called "detachment," since it detaches
       the minor premise from the major premise.  "Modus ponens" is short for
       "modus ponendo ponens," a Latin phrase that means "the mood that by
       affirming affirms" [Sanford] p. 39.  This rule is similar to the rule of
       modus tollens ~ mto .

       Note:  In some web page displays such as the Statement List, the symbols
       "&" and "=>" informally indicate the relationship between the hypotheses
       and the assertion (conclusion), abbreviating the English words "and" and
       "implies."  They are not part of the formal language.  (Contributed by
       NM, 5-Aug-1993.) $)
    ax-mp $a |- ps $.
  $}

$(
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
        Logical implication
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=

  The results in this section are based on implication only, and avoid ax-3.
  In an implication, the wff before the arrow is called the "antecedent" and
  the wff after the arrow is called the "consequent."

  We will use the following descriptive terms very loosely:  A "closed form" or
  "tautology" has no $e hypotheses.  An "inference" has one or more $e
  hypotheses.  A "deduction" is an inference in which the hypotheses and the
  conclusion share the same antecedent.

$)

  ${
    mp2b.1 $e |- ph $.
    mp2b.2 $e |- ( ph -> ps ) $.
    mp2b.3 $e |- ( ps -> ch ) $.
    $( A double modus ponens inference.  (Contributed by Mario Carneiro,
       24-Jan-2013.) $)
    mp2b $p |- ch $=
      ( ax-mp ) BCABDEGFG $.
  $}

  ${
    $( Premise for ~ a1i . $)
    a1i.1 $e |- ph $.
    $( Inference derived from axiom ~ ax-1 .  See ~ a1d for an explanation of
       our informal use of the terms "inference" and "deduction."  See also the
       comment in ~ syld .  (Contributed by NM, 5-Aug-1993.) $)
    a1i $p |- ( ps -> ph ) $=
      ( wi ax-1 ax-mp ) ABADCABEF $.
  $}

  ${
    mp1i.a $e |- ph $.
    mp1i.b $e |- ( ph -> ps ) $.
    $( Drop and replace an antecedent.  (Contributed by Stefan O'Rear,
       29-Jan-2015.) $)
    mp1i $p |- ( ch -> ps ) $=
      ( ax-mp a1i ) BCABDEFG $.
  $}

  ${
    $( Premise for ~ a2i . $)
    a2i.1 $e |- ( ph -> ( ps -> ch ) ) $.
    $( Inference derived from axiom ~ ax-2 .  (Contributed by NM,
       5-Aug-1993.) $)
    a2i $p |- ( ( ph -> ps ) -> ( ph -> ch ) ) $=
      ( wi ax-2 ax-mp ) ABCEEABEACEEDABCFG $.
  $}

  ${
    imim2i.1 $e |- ( ph -> ps ) $.
    $( Inference adding common antecedents in an implication.  (Contributed by
       NM, 5-Aug-1993.) $)
    imim2i $p |- ( ( ch -> ph ) -> ( ch -> ps ) ) $=
      ( wi a1i a2i ) CABABECDFG $.
  $}

  ${
    mpd.1 $e |- ( ph -> ps ) $.
    mpd.2 $e |- ( ph -> ( ps -> ch ) ) $.
    $( A modus ponens deduction.  A translation of natural deduction rule
       ` -> ` E ( ` -> ` elimination).  (Contributed by NM, 5-Aug-1993.) $)
    mpd $p |- ( ph -> ch ) $=
      ( wi a2i ax-mp ) ABFACFDABCEGH $.
  $}

  ${
    $( First of 2 premises for ~ syl . $)
    syl.1 $e |- ( ph -> ps ) $.
    $( Second of 2 premises for ~ syl . $)
    syl.2 $e |- ( ps -> ch ) $.
    $( An inference version of the transitive laws for implication ~ imim2 and
       ~ imim1 , which Russell and Whitehead call "the principle of the
       syllogism...because...the syllogism in Barbara is derived from them"
       (quote after Theorem *2.06 of [WhiteheadRussell] p. 101).  Some authors
       call this law a "hypothetical syllogism."

       (A bit of trivia: this is the most commonly referenced assertion in our
       database.  In second place is ~ eqid , followed by ~ syl2anc ,
       ~ adantr , ~ syl3anc , and ~ ax-mp .  The Metamath program command 'show
       usage' shows the number of references.)  (Contributed by NM,
       5-Aug-1993.)  (Proof shortened by O'Cat, 20-Oct-2011.)  (Proof shortened
       by Wolf Lammen, 26-Jul-2012.) $)
    syl $p |- ( ph -> ch ) $=
      ( wi a1i mpd ) ABCDBCFAEGH $.
  $}

  ${
    mpi.1 $e |- ps $.
    mpi.2 $e |- ( ph -> ( ps -> ch ) ) $.
    $( A nested modus ponens inference.  (Contributed by NM, 5-Aug-1993.)
       (Proof shortened by Stefan Allan, 20-Mar-2006.) $)
    mpi $p |- ( ph -> ch ) $=
      ( a1i mpd ) ABCBADFEG $.
  $}

  ${
    mp2.1 $e |- ph $.
    mp2.2 $e |- ps $.
    mp2.3 $e |- ( ph -> ( ps -> ch ) ) $.
    $( A double modus ponens inference.  (Contributed by NM, 5-Apr-1994.)
       (Proof shortened by Wolf Lammen, 23-Jul-2013.) $)
    mp2 $p |- ch $=
      ( mpi ax-mp ) ACDABCEFGH $.
  $}

  ${
    3syl.1 $e |- ( ph -> ps ) $.
    3syl.2 $e |- ( ps -> ch ) $.
    3syl.3 $e |- ( ch -> th ) $.
    $( Inference chaining two syllogisms.  (Contributed by NM, 5-Aug-1993.) $)
    3syl $p |- ( ph -> th ) $=
      ( syl ) ACDABCEFHGH $.
  $}

  $( Principle of identity.  Theorem *2.08 of [WhiteheadRussell] p. 101.  For
     another version of the proof directly from axioms, see ~ idALT .
     (Contributed by NM, 5-Aug-1993.)  (Proof shortened by Stefan Allan,
     20-Mar-2006.) $)
  id $p |- ( ph -> ph ) $=
    ( wi ax-1 mpd ) AAABZAAACAECD $.

  $( Principle of identity.  Theorem *2.08 of [WhiteheadRussell] p. 101.  This
     version is proved directly from the axioms for demonstration purposes.
     This proof is a popular example in the literature and is identical, step
     for step, to the proofs of Theorem 1 of [Margaris] p. 51, Example 2.7(a)
     of [Hamilton] p. 31, Lemma 10.3 of [BellMachover] p. 36, and Lemma 1.8 of
     [Mendelson] p. 36.  It is also "Our first proof" in Hirst and Hirst's _A
     Primer for Logic and Proof_ p. 17 (PDF p. 23) at
     ~ http://www.mathsci.appstate.edu/~~hirstjl/primer/hirst.pdf .  For a
     shorter version of the proof that takes advantage of previously proved
     theorems, see ~ id .  (Contributed by NM, 5-Aug-1993.)
     (Proof modification is discouraged.)  Use ~ id instead.
     (New usage is discouraged.) $)
  idALT $p |- ( ph -> ph ) $=
    ( wi ax-1 ax-2 ax-mp ) AAABZBZFAACAFABBGFBAFCAFADEE $.

  $( Principle of identity with antecedent.  (Contributed by NM,
     26-Nov-1995.) $)
  idd $p |- ( ph -> ( ps -> ps ) ) $=
    ( wi id a1i ) BBCABDE $.

  ${
    a1d.1 $e |- ( ph -> ps ) $.
    $( Deduction introducing an embedded antecedent.

       _Naming convention_:  We often call a theorem a "deduction" and suffix
       its label with "d" whenever the hypotheses and conclusion are each
       prefixed with the same antecedent.  This allows us to use the theorem in
       places where (in traditional textbook formalizations) the standard
       Deduction Theorem would be used; here ` ph ` would be replaced with a
       conjunction ( ~ df-an ) of the hypotheses of the would-be deduction.  By
       contrast, we tend to call the simpler version with no common antecedent
       an "inference" and suffix its label with "i"; compare theorem ~ a1i .
       Finally, a "theorem" would be the form with no hypotheses; in this case
       the "theorem" form would be the original axiom ~ ax-1 .  We usually show
       the theorem form without a suffix on its label (e.g. ~ pm2.43 vs.
       ~ pm2.43i vs. ~ pm2.43d ).  When an inference is converted to a theorem
       by eliminating an "is a set" hypothesis, we sometimes suffix the theorem
       form with "g" (for "more general") as in ~ uniex vs. ~ uniexg .
       (Contributed by NM, 5-Aug-1993.)  (Proof shortened by Stefan Allan,
       20-Mar-2006.) $)
    a1d $p |- ( ph -> ( ch -> ps ) ) $=
      ( wi ax-1 syl ) ABCBEDBCFG $.
  $}

  ${
    a2d.1 $e |- ( ph -> ( ps -> ( ch -> th ) ) ) $.
    $( Deduction distributing an embedded antecedent.  (Contributed by NM,
       23-Jun-1994.) $)
    a2d $p |- ( ph -> ( ( ps -> ch ) -> ( ps -> th ) ) ) $=
      ( wi ax-2 syl ) ABCDFFBCFBDFFEBCDGH $.
  $}

  ${
    2a1i.1 $e |- ch $.
    $( Add two antecedents to a wff.  (Contributed by Jeff Hankins,
       4-Aug-2009.)  (Proof shortened by Wolf Lammen, 23-Jul-2013.) $)
    2a1i $p |- ( ph -> ( ps -> ch ) ) $=
      ( a1i a1d ) ACBCADEF $.
  $}

  ${
    sylcom.1 $e |- ( ph -> ( ps -> ch ) ) $.
    sylcom.2 $e |- ( ps -> ( ch -> th ) ) $.
    $( Syllogism inference with commutation of antecedents.  (Contributed by
       NM, 29-Aug-2004.)  (Proof shortened by O'Cat, 2-Feb-2006.)  (Proof
       shortened by Stefan Allan, 23-Feb-2006.) $)
    sylcom $p |- ( ph -> ( ps -> th ) ) $=
      ( wi a2i syl ) ABCGBDGEBCDFHI $.
  $}

  ${
    syl5com.1 $e |- ( ph -> ps ) $.
    syl5com.2 $e |- ( ch -> ( ps -> th ) ) $.
    $( Syllogism inference with commuted antecedents.  (Contributed by NM,
       24-May-2005.) $)
    syl5com $p |- ( ph -> ( ch -> th ) ) $=
      ( a1d sylcom ) ACBDABCEGFH $.
  $}

  ${
    $( Premise for ~ com12 .  See ~ pm2.04 for the theorem form. $)
    com12.1 $e |- ( ph -> ( ps -> ch ) ) $.
    $( Inference that swaps (commutes) antecedents in an implication.
       (Contributed by NM, 5-Aug-1993.)  (Proof shortened by Wolf Lammen,
       4-Aug-2012.) $)
    com12 $p |- ( ps -> ( ph -> ch ) ) $=
      ( id syl5com ) BBACBEDF $.
  $}

  ${
    syl5.1 $e |- ( ph -> ps ) $.
    syl5.2 $e |- ( ch -> ( ps -> th ) ) $.
    $( A syllogism rule of inference.  The first premise is used to replace the
       second antecedent of the second premise.  (Contributed by NM,
       5-Aug-1993.)  (Proof shortened by Wolf Lammen, 25-May-2013.) $)
    syl5 $p |- ( ch -> ( ph -> th ) ) $=
      ( syl5com com12 ) ACDABCDEFGH $.
  $}

  ${
    syl6.1 $e |- ( ph -> ( ps -> ch ) ) $.
    syl6.2 $e |- ( ch -> th ) $.
    $( A syllogism rule of inference.  The second premise is used to replace
       the consequent of the first premise.  (Contributed by NM, 5-Aug-1993.)
       (Proof shortened by Wolf Lammen, 30-Jul-2012.) $)
    syl6 $p |- ( ph -> ( ps -> th ) ) $=
      ( wi a1i sylcom ) ABCDECDGBFHI $.
  $}

  ${
    syl56.1 $e |- ( ph -> ps ) $.
    syl56.2 $e |- ( ch -> ( ps -> th ) ) $.
    syl56.3 $e |- ( th -> ta ) $.
    $( Combine ~ syl5 and ~ syl6 .  (Contributed by NM, 14-Nov-2013.) $)
    syl56 $p |- ( ch -> ( ph -> ta ) ) $=
      ( syl6 syl5 ) ABCEFCBDEGHIJ $.
  $}

  ${
    syl6com.1 $e |- ( ph -> ( ps -> ch ) ) $.
    syl6com.2 $e |- ( ch -> th ) $.
    $( Syllogism inference with commuted antecedents.  (Contributed by NM,
       25-May-2005.) $)
    syl6com $p |- ( ps -> ( ph -> th ) ) $=
      ( syl6 com12 ) ABDABCDEFGH $.
  $}

  ${
    mpcom.1 $e |- ( ps -> ph ) $.
    mpcom.2 $e |- ( ph -> ( ps -> ch ) ) $.
    $( Modus ponens inference with commutation of antecedents.  (Contributed by
       NM, 17-Mar-1996.) $)
    mpcom $p |- ( ps -> ch ) $=
      ( com12 mpd ) BACDABCEFG $.
  $}

  ${
    syli.1 $e |- ( ps -> ( ph -> ch ) ) $.
    syli.2 $e |- ( ch -> ( ph -> th ) ) $.
    $( Syllogism inference with common nested antecedent.  (Contributed by NM,
       4-Nov-2004.) $)
    syli $p |- ( ps -> ( ph -> th ) ) $=
      ( com12 sylcom ) BACDECADFGH $.
  $}

  ${
    syl2im.1 $e |- ( ph -> ps ) $.
    syl2im.2 $e |- ( ch -> th ) $.
    syl2im.3 $e |- ( ps -> ( th -> ta ) ) $.
    $( Replace two antecedents.  Implication-only version of ~ syl2an .
       (Contributed by Wolf Lammen, 14-May-2013.) $)
    syl2im $p |- ( ph -> ( ch -> ta ) ) $=
      ( wi syl5 syl ) ABCEIFCDBEGHJK $.
  $}

  $( This theorem, called "Assertion," can be thought of as closed form of
     modus ponens ~ ax-mp .  Theorem *2.27 of [WhiteheadRussell] p. 104.
     (Contributed by NM, 5-Aug-1993.) $)
  pm2.27 $p |- ( ph -> ( ( ph -> ps ) -> ps ) ) $=
    ( wi id com12 ) ABCZABFDE $.

  ${
    mpdd.1 $e |- ( ph -> ( ps -> ch ) ) $.
    mpdd.2 $e |- ( ph -> ( ps -> ( ch -> th ) ) ) $.
    $( A nested modus ponens deduction.  (Contributed by NM, 12-Dec-2004.) $)
    mpdd $p |- ( ph -> ( ps -> th ) ) $=
      ( wi a2d mpd ) ABCGBDGEABCDFHI $.
  $}

  ${
    mpid.1 $e |- ( ph -> ch ) $.
    mpid.2 $e |- ( ph -> ( ps -> ( ch -> th ) ) ) $.
    $( A nested modus ponens deduction.  (Contributed by NM, 14-Dec-2004.) $)
    mpid $p |- ( ph -> ( ps -> th ) ) $=
      ( a1d mpdd ) ABCDACBEGFH $.
  $}

  ${
    mpdi.1 $e |- ( ps -> ch ) $.
    mpdi.2 $e |- ( ph -> ( ps -> ( ch -> th ) ) ) $.
    $( A nested modus ponens deduction.  (Contributed by NM, 16-Apr-2005.)
       (Proof shortened by O'Cat, 15-Jan-2008.) $)
    mpdi $p |- ( ph -> ( ps -> th ) ) $=
      ( wi a1i mpdd ) ABCDBCGAEHFI $.
  $}

  ${
    mpii.1 $e |- ch $.
    mpii.2 $e |- ( ph -> ( ps -> ( ch -> th ) ) ) $.
    $( A doubly nested modus ponens inference.  (Contributed by NM,
       31-Dec-1993.)  (Proof shortened by Wolf Lammen, 31-Jul-2012.) $)
    mpii $p |- ( ph -> ( ps -> th ) ) $=
      ( a1i mpdi ) ABCDCBEGFH $.
  $}

  ${
    syld.1 $e |- ( ph -> ( ps -> ch ) ) $.
    syld.2 $e |- ( ph -> ( ch -> th ) ) $.
    $( Syllogism deduction.  (Contributed by NM, 5-Aug-1993.)  (Proof shortened
       by O'Cat, 19-Feb-2008.)  (Proof shortened by Wolf Lammen, 3-Aug-2012.)

       Notice that ~ syld has the same form as ~ syl with ` ph ` added in front
       of each hypothesis and conclusion.  When all theorems referenced in a
       proof are converted in this way, we can replace ` ph ` with a hypothesis
       of the proof, allowing the hypothesis to be eliminated with ~ id and
       become an antecedent.  The Deduction Theorem for propositional calculus,
       e.g.  Theorem 3 in [Margaris] p. 56, tells us that this procedure is
       always possible. $)
    syld $p |- ( ph -> ( ps -> th ) ) $=
      ( wi a1d mpdd ) ABCDEACDGBFHI $.
  $}

  ${
    mp2d.1 $e |- ( ph -> ps ) $.
    mp2d.2 $e |- ( ph -> ch ) $.
    mp2d.3 $e |- ( ph -> ( ps -> ( ch -> th ) ) ) $.
    $( A double modus ponens deduction.  (Contributed by NM, 23-May-2013.)
       (Proof shortened by Wolf Lammen, 23-Jul-2013.) $)
    mp2d $p |- ( ph -> th ) $=
      ( mpid mpd ) ABDEABCDFGHI $.
  $}

  ${
    a1dd.1 $e |- ( ph -> ( ps -> ch ) ) $.
    $( Deduction introducing a nested embedded antecedent.  (Contributed by NM,
       17-Dec-2004.)  (Proof shortened by O'Cat, 15-Jan-2008.) $)
    a1dd $p |- ( ph -> ( ps -> ( th -> ch ) ) ) $=
      ( wi ax-1 syl6 ) ABCDCFECDGH $.
  $}

  ${
    pm2.43i.1 $e |- ( ph -> ( ph -> ps ) ) $.
    $( Inference absorbing redundant antecedent.  (Contributed by NM,
       5-Aug-1993.)  (Proof shortened by O'Cat, 28-Nov-2008.) $)
    pm2.43i $p |- ( ph -> ps ) $=
      ( id mpd ) AABADCE $.
  $}

  ${
    pm2.43d.1 $e |- ( ph -> ( ps -> ( ps -> ch ) ) ) $.
    $( Deduction absorbing redundant antecedent.  (Contributed by NM,
       18-Aug-1993.)  (Proof shortened by O'Cat, 28-Nov-2008.) $)
    pm2.43d $p |- ( ph -> ( ps -> ch ) ) $=
      ( id mpdi ) ABBCBEDF $.
  $}

  ${
    pm2.43a.1 $e |- ( ps -> ( ph -> ( ps -> ch ) ) ) $.
    $( Inference absorbing redundant antecedent.  (Contributed by NM,
       7-Nov-1995.)  (Proof shortened by O'Cat, 28-Nov-2008.) $)
    pm2.43a $p |- ( ps -> ( ph -> ch ) ) $=
      ( id mpid ) BABCBEDF $.
  $}

  ${
    pm2.43b.1 $e |- ( ps -> ( ph -> ( ps -> ch ) ) ) $.
    $( Inference absorbing redundant antecedent.  (Contributed by NM,
       31-Oct-1995.) $)
    pm2.43b $p |- ( ph -> ( ps -> ch ) ) $=
      ( pm2.43a com12 ) BACABCDEF $.
  $}

  $( Absorption of redundant antecedent.  Also called the "Contraction" or
     "Hilbert" axiom.  Theorem *2.43 of [WhiteheadRussell] p. 106.
     (Contributed by NM, 5-Aug-1993.)  (Proof shortened by O'Cat,
     15-Aug-2004.) $)
  pm2.43 $p |- ( ( ph -> ( ph -> ps ) ) -> ( ph -> ps ) ) $=
    ( wi pm2.27 a2i ) AABCBABDE $.

  ${
    imim2d.1 $e |- ( ph -> ( ps -> ch ) ) $.
    $( Deduction adding nested antecedents.  (Contributed by NM,
       5-Aug-1993.) $)
    imim2d $p |- ( ph -> ( ( th -> ps ) -> ( th -> ch ) ) ) $=
      ( wi a1d a2d ) ADBCABCFDEGH $.
  $}

  $( A closed form of syllogism (see ~ syl ).  Theorem *2.05 of
     [WhiteheadRussell] p. 100.  (Contributed by NM, 5-Aug-1993.)  (Proof
     shortened by Wolf Lammen, 6-Sep-2012.) $)
  imim2 $p |- ( ( ph -> ps ) -> ( ( ch -> ph ) -> ( ch -> ps ) ) ) $=
    ( wi id imim2d ) ABDZABCGEF $.

  ${
    embantd.1 $e |- ( ph -> ps ) $.
    embantd.2 $e |- ( ph -> ( ch -> th ) ) $.
    $( Deduction embedding an antecedent.  (Contributed by Wolf Lammen,
       4-Oct-2013.) $)
    embantd $p |- ( ph -> ( ( ps -> ch ) -> th ) ) $=
      ( wi imim2d mpid ) ABCGBDEACDBFHI $.
  $}

  ${
    3syld.1 $e |- ( ph -> ( ps -> ch ) ) $.
    3syld.2 $e |- ( ph -> ( ch -> th ) ) $.
    3syld.3 $e |- ( ph -> ( th -> ta ) ) $.
    $( Triple syllogism deduction.  (Contributed by Jeff Hankins,
       4-Aug-2009.) $)
    3syld $p |- ( ph -> ( ps -> ta ) ) $=
      ( syld ) ABDEABCDFGIHI $.
  $}

  ${
    sylsyld.1 $e |- ( ph -> ps ) $.
    sylsyld.2 $e |- ( ph -> ( ch -> th ) ) $.
    sylsyld.3 $e |- ( ps -> ( th -> ta ) ) $.
    $( Virtual deduction rule e12 without virtual deduction symbols.
       (Contributed by Alan Sare, 20-Apr-2011.) $)
    sylsyld $p |- ( ph -> ( ch -> ta ) ) $=
      ( wi syl syld ) ACDEGABDEIFHJK $.
  $}

  ${
    imim12i.1 $e |- ( ph -> ps ) $.
    imim12i.2 $e |- ( ch -> th ) $.
    $( Inference joining two implications.  (Contributed by NM, 5-Aug-1993.)
       (Proof shortened by O'Cat, 29-Oct-2011.) $)
    imim12i $p |- ( ( ps -> ch ) -> ( ph -> th ) ) $=
      ( wi imim2i syl5 ) ABBCGDECDBFHI $.
  $}

  ${
    imim1i.1 $e |- ( ph -> ps ) $.
    $( Inference adding common consequents in an implication, thereby
       interchanging the original antecedent and consequent.  (Contributed by
       NM, 5-Aug-1993.)  (Proof shortened by Wolf Lammen, 4-Aug-2012.) $)
    imim1i $p |- ( ( ps -> ch ) -> ( ph -> ch ) ) $=
      ( id imim12i ) ABCCDCEF $.
  $}

  ${
    imim3i.1 $e |- ( ph -> ( ps -> ch ) ) $.
    $( Inference adding three nested antecedents.  (Contributed by NM,
       19-Dec-2006.) $)
    imim3i $p |- ( ( th -> ph ) -> ( ( th -> ps ) -> ( th -> ch ) ) ) $=
      ( wi imim2i a2d ) DAFDBCABCFDEGH $.
  $}

  ${
    sylc.1 $e |- ( ph -> ps ) $.
    sylc.2 $e |- ( ph -> ch ) $.
    sylc.3 $e |- ( ps -> ( ch -> th ) ) $.
    $( A syllogism inference combined with contraction.  (Contributed by NM,
       4-May-1994.)  (Revised by NM, 13-Jul-2013.) $)
    sylc $p |- ( ph -> th ) $=
      ( syl2im pm2.43i ) ADABACDEFGHI $.
  $}

  ${
    syl3c.1 $e |- ( ph -> ps ) $.
    syl3c.2 $e |- ( ph -> ch ) $.
    syl3c.3 $e |- ( ph -> th ) $.
    syl3c.4 $e |- ( ps -> ( ch -> ( th -> ta ) ) ) $.
    $( A syllogism inference combined with contraction. e111 without virtual
       deductions.  (Contributed by Alan Sare, 7-Jul-2011.) $)
    syl3c $p |- ( ph -> ta ) $=
      ( wi sylc mpd ) ADEHABCDEJFGIKL $.
  $}

  ${
    syl6mpi.1 $e |- ( ph -> ( ps -> ch ) ) $.
    syl6mpi.2 $e |- th $.
    syl6mpi.3 $e |- ( ch -> ( th -> ta ) ) $.
    $( e20 without virtual deductions.  (Contributed by Alan Sare,
       8-Jul-2011.)  (Proof shortened by Wolf Lammen, 13-Sep-2012.) $)
    syl6mpi $p |- ( ph -> ( ps -> ta ) ) $=
      ( mpi syl6 ) ABCEFCDEGHIJ $.
  $}

  ${
    mpsyl.1 $e |- ph $.
    mpsyl.2 $e |- ( ps -> ch ) $.
    mpsyl.3 $e |- ( ph -> ( ch -> th ) ) $.
    $( Modus ponens combined with a syllogism inference.  (Contributed by Alan
       Sare, 20-Apr-2011.) $)
    mpsyl $p |- ( ps -> th ) $=
      ( a1i sylc ) BACDABEHFGI $.
  $}

  ${
    syl6c.1 $e |- ( ph -> ( ps -> ch ) ) $.
    syl6c.2 $e |- ( ph -> ( ps -> th ) ) $.
    syl6c.3 $e |- ( ch -> ( th -> ta ) ) $.
    $( Inference combining ~ syl6 with contraction.  (Contributed by Alan Sare,
       2-May-2011.) $)
    syl6c $p |- ( ph -> ( ps -> ta ) ) $=
      ( wi syl6 mpdd ) ABDEGABCDEIFHJK $.
  $}

  ${
    syldd.1 $e |- ( ph -> ( ps -> ( ch -> th ) ) ) $.
    syldd.2 $e |- ( ph -> ( ps -> ( th -> ta ) ) ) $.
    $( Nested syllogism deduction.  (Contributed by NM, 12-Dec-2004.)  (Proof
       shortened by Wolf Lammen, 11-May-2013.) $)
    syldd $p |- ( ph -> ( ps -> ( ch -> ta ) ) ) $=
      ( wi imim2 syl6c ) ABDEHCDHCEHGFDECIJ $.
  $}

  ${
    syl5d.1 $e |- ( ph -> ( ps -> ch ) ) $.
    syl5d.2 $e |- ( ph -> ( th -> ( ch -> ta ) ) ) $.
    $( A nested syllogism deduction.  (Contributed by NM, 5-Aug-1993.)  (Proof
       shortened by Josh Purinton, 29-Dec-2000.)  (Proof shortened by O'Cat,
       2-Feb-2006.) $)
    syl5d $p |- ( ph -> ( th -> ( ps -> ta ) ) ) $=
      ( wi a1d syldd ) ADBCEABCHDFIGJ $.
  $}

  ${
    syl7.1 $e |- ( ph -> ps ) $.
    syl7.2 $e |- ( ch -> ( th -> ( ps -> ta ) ) ) $.
    $( A syllogism rule of inference.  The first premise is used to replace the
       third antecedent of the second premise.  (Contributed by NM,
       5-Aug-1993.)  (Proof shortened by Wolf Lammen, 3-Aug-2012.) $)
    syl7 $p |- ( ch -> ( th -> ( ph -> ta ) ) ) $=
      ( wi a1i syl5d ) CABDEABHCFIGJ $.
  $}

  ${
    syl6d.1 $e |- ( ph -> ( ps -> ( ch -> th ) ) ) $.
    syl6d.2 $e |- ( ph -> ( th -> ta ) ) $.
    $( A nested syllogism deduction.  (Contributed by NM, 5-Aug-1993.)  (Proof
       shortened by Josh Purinton, 29-Dec-2000.)  (Proof shortened by O'Cat,
       2-Feb-2006.) $)
    syl6d $p |- ( ph -> ( ps -> ( ch -> ta ) ) ) $=
      ( wi a1d syldd ) ABCDEFADEHBGIJ $.
  $}

  ${
    syl8.1 $e |- ( ph -> ( ps -> ( ch -> th ) ) ) $.
    syl8.2 $e |- ( th -> ta ) $.
    $( A syllogism rule of inference.  The second premise is used to replace
       the consequent of the first premise.  (Contributed by NM, 1-Aug-1994.)
       (Proof shortened by Wolf Lammen, 3-Aug-2012.) $)
    syl8 $p |- ( ph -> ( ps -> ( ch -> ta ) ) ) $=
      ( wi a1i syl6d ) ABCDEFDEHAGIJ $.
  $}

  ${
    syl9.1 $e |- ( ph -> ( ps -> ch ) ) $.
    syl9.2 $e |- ( th -> ( ch -> ta ) ) $.
    $( A nested syllogism inference with different antecedents.  (Contributed
       by NM, 5-Aug-1993.)  (Proof shortened by Josh Purinton, 29-Dec-2000.) $)
    syl9 $p |- ( ph -> ( th -> ( ps -> ta ) ) ) $=
      ( wi a1i syl5d ) ABCDEFDCEHHAGIJ $.
  $}

  ${
    syl9r.1 $e |- ( ph -> ( ps -> ch ) ) $.
    syl9r.2 $e |- ( th -> ( ch -> ta ) ) $.
    $( A nested syllogism inference with different antecedents.  (Contributed
       by NM, 5-Aug-1993.) $)
    syl9r $p |- ( th -> ( ph -> ( ps -> ta ) ) ) $=
      ( wi syl9 com12 ) ADBEHABCDEFGIJ $.
  $}

  ${
    imim12d.1 $e |- ( ph -> ( ps -> ch ) ) $.
    imim12d.2 $e |- ( ph -> ( th -> ta ) ) $.
    $( Deduction combining antecedents and consequents.  (Contributed by NM,
       7-Aug-1994.)  (Proof shortened by O'Cat, 30-Oct-2011.) $)
    imim12d $p |- ( ph -> ( ( ch -> th ) -> ( ps -> ta ) ) ) $=
      ( wi imim2d syl5d ) ABCCDHEFADECGIJ $.
  $}

  ${
    imim1d.1 $e |- ( ph -> ( ps -> ch ) ) $.
    $( Deduction adding nested consequents.  (Contributed by NM, 3-Apr-1994.)
       (Proof shortened by Wolf Lammen, 12-Sep-2012.) $)
    imim1d $p |- ( ph -> ( ( ch -> th ) -> ( ps -> th ) ) ) $=
      ( idd imim12d ) ABCDDEADFG $.
  $}

  $( A closed form of syllogism (see ~ syl ).  Theorem *2.06 of
     [WhiteheadRussell] p. 100.  (Contributed by NM, 5-Aug-1993.)  (Proof
     shortened by Wolf Lammen, 25-May-2013.) $)
  imim1 $p |- ( ( ph -> ps ) -> ( ( ps -> ch ) -> ( ph -> ch ) ) ) $=
    ( wi id imim1d ) ABDZABCGEF $.

  $( Theorem *2.83 of [WhiteheadRussell] p. 108.  (Contributed by NM,
     3-Jan-2005.) $)
  pm2.83 $p |- ( ( ph -> ( ps -> ch ) )
      -> ( ( ph -> ( ch -> th ) ) -> ( ph -> ( ps -> th ) ) ) ) $=
    ( wi imim1 imim3i ) BCECDEBDEABCDFG $.

  ${
    com3.1 $e |- ( ph -> ( ps -> ( ch -> th ) ) ) $.
    $( Commutation of antecedents.  Swap 2nd and 3rd.  (Contributed by NM,
       5-Aug-1993.)  (Proof shortened by Wolf Lammen, 4-Aug-2012.) $)
    com23 $p |- ( ph -> ( ch -> ( ps -> th ) ) ) $=
      ( wi pm2.27 syl9 ) ABCDFCDECDGH $.

    $( Commutation of antecedents.  Rotate right.  (Contributed by NM,
       25-Apr-1994.) $)
    com3r $p |- ( ch -> ( ph -> ( ps -> th ) ) ) $=
      ( wi com23 com12 ) ACBDFABCDEGH $.

    $( Commutation of antecedents.  Swap 1st and 3rd.  (Contributed by NM,
       25-Apr-1994.)  (Proof shortened by Wolf Lammen, 28-Jul-2012.) $)
    com13 $p |- ( ch -> ( ps -> ( ph -> th ) ) ) $=
      ( com3r com23 ) CABDABCDEFG $.

    $( Commutation of antecedents.  Rotate left.  (Contributed by NM,
       25-Apr-1994.)  (Proof shortened by Wolf Lammen, 28-Jul-2012.) $)
    com3l $p |- ( ps -> ( ch -> ( ph -> th ) ) ) $=
      ( com3r ) CABDABCDEFF $.
  $}

  $( Swap antecedents.  Theorem *2.04 of [WhiteheadRussell] p. 100.
     (Contributed by NM, 5-Aug-1993.)  (Proof shortened by Wolf Lammen,
     12-Sep-2012.) $)
  pm2.04 $p |- ( ( ph -> ( ps -> ch ) ) -> ( ps -> ( ph -> ch ) ) ) $=
    ( wi id com23 ) ABCDDZABCGEF $.

  ${
    com4.1 $e |- ( ph -> ( ps -> ( ch -> ( th -> ta ) ) ) ) $.
    $( Commutation of antecedents.  Swap 3rd and 4th.  (Contributed by NM,
       25-Apr-1994.) $)
    com34 $p |- ( ph -> ( ps -> ( th -> ( ch -> ta ) ) ) ) $=
      ( wi pm2.04 syl6 ) ABCDEGGDCEGGFCDEHI $.

    $( Commutation of antecedents.  Rotate left.  (Contributed by NM,
       25-Apr-1994.)  (Proof shortened by O'Cat, 15-Aug-2004.) $)
    com4l $p |- ( ps -> ( ch -> ( th -> ( ph -> ta ) ) ) ) $=
      ( wi com3l com34 ) BCADEABCDEGFHI $.

    $( Commutation of antecedents.  Rotate twice.  (Contributed by NM,
       25-Apr-1994.) $)
    com4t $p |- ( ch -> ( th -> ( ph -> ( ps -> ta ) ) ) ) $=
      ( com4l ) BCDAEABCDEFGG $.

    $( Commutation of antecedents.  Rotate right.  (Contributed by NM,
       25-Apr-1994.) $)
    com4r $p |- ( th -> ( ph -> ( ps -> ( ch -> ta ) ) ) ) $=
      ( com4t com4l ) CDABEABCDEFGH $.

    $( Commutation of antecedents.  Swap 2nd and 4th.  (Contributed by NM,
       25-Apr-1994.)  (Proof shortened by Wolf Lammen, 28-Jul-2012.) $)
    com24 $p |- ( ph -> ( th -> ( ch -> ( ps -> ta ) ) ) ) $=
      ( wi com4t com13 ) CDABEGABCDEFHI $.

    $( Commutation of antecedents.  Swap 1st and 4th.  (Contributed by NM,
       25-Apr-1994.)  (Proof shortened by Wolf Lammen, 28-Jul-2012.) $)
    com14 $p |- ( th -> ( ps -> ( ch -> ( ph -> ta ) ) ) ) $=
      ( wi com4l com3r ) BCDAEGABCDEFHI $.
  $}

  ${
    com5.1 $e |- ( ph -> ( ps -> ( ch -> ( th -> ( ta -> et ) ) ) ) ) $.
    $( Commutation of antecedents.  Swap 4th and 5th.  (Contributed by Jeff
       Hankins, 28-Jun-2009.) $)
    com45 $p |- ( ph -> ( ps -> ( ch -> ( ta -> ( th -> et ) ) ) ) ) $=
      ( wi pm2.04 syl8 ) ABCDEFHHEDFHHGDEFIJ $.

    $( Commutation of antecedents.  Swap 3rd and 5th.  (Contributed by Jeff
       Hankins, 28-Jun-2009.) $)
    com35 $p |- ( ph -> ( ps -> ( ta -> ( th -> ( ch -> et ) ) ) ) ) $=
      ( wi com34 com45 ) ABDECFHABDCEFABCDEFHGIJI $.

    $( Commutation of antecedents.  Swap 2nd and 5th.  (Contributed by Jeff
       Hankins, 28-Jun-2009.) $)
    com25 $p |- ( ph -> ( ta -> ( ch -> ( th -> ( ps -> et ) ) ) ) ) $=
      ( wi com24 com45 ) ADCEBFHADCBEFABCDEFHGIJI $.

    $( Commutation of antecedents.  Rotate left.  (Contributed by Jeff Hankins,
       28-Jun-2009.)  (Proof shortened by Wolf Lammen, 29-Jul-2012.) $)
    com5l $p |- ( ps -> ( ch -> ( th -> ( ta -> ( ph -> et ) ) ) ) ) $=
      ( wi com4l com45 ) BCDAEFABCDEFHGIJ $.

    $( Commutation of antecedents.  Swap 1st and 5th.  (Contributed by Jeff
       Hankins, 28-Jun-2009.)  (Proof shortened by Wolf Lammen,
       29-Jul-2012.) $)
    com15 $p |- ( ta -> ( ps -> ( ch -> ( th -> ( ph -> et ) ) ) ) ) $=
      ( wi com5l com4r ) BCDEAFHABCDEFGIJ $.

    $( Commutation of antecedents.  Rotate left twice.  (Contributed by Jeff
       Hankins, 28-Jun-2009.) $)
    com52l $p |- ( ch -> ( th -> ( ta -> ( ph -> ( ps -> et ) ) ) ) ) $=
      ( com5l ) BCDEAFABCDEFGHH $.

    $( Commutation of antecedents.  Rotate right twice.  (Contributed by Jeff
       Hankins, 28-Jun-2009.) $)
    com52r $p |- ( th -> ( ta -> ( ph -> ( ps -> ( ch -> et ) ) ) ) ) $=
      ( com52l com5l ) CDEABFABCDEFGHI $.

    $( Commutation of antecedents.  Rotate right.  (Contributed by Wolf Lammen,
       29-Jul-2012.) $)
    com5r $p |- ( ta -> ( ph -> ( ps -> ( ch -> ( th -> et ) ) ) ) ) $=
      ( com52l ) CDEABFABCDEFGHH $.
  $}

  $( Elimination of a nested antecedent as a kind of reversal of inference
     ~ ja .  (Contributed by Wolf Lammen, 9-May-2013.) $)
  jarr $p |- ( ( ( ph -> ps ) -> ch ) -> ( ps -> ch ) ) $=
    ( wi ax-1 imim1i ) BABDCBAEF $.

  ${
    pm2.86i.1 $e |- ( ( ph -> ps ) -> ( ph -> ch ) ) $.
    $( Inference based on ~ pm2.86 .  (Contributed by NM, 5-Aug-1993.)  (Proof
       shortened by Wolf Lammen, 3-Apr-2013.) $)
    pm2.86i $p |- ( ph -> ( ps -> ch ) ) $=
      ( wi ax-1 syl com12 ) BACBABEACEBAFDGH $.
  $}

  ${
    pm2.86d.1 $e |- ( ph -> ( ( ps -> ch ) -> ( ps -> th ) ) ) $.
    $( Deduction based on ~ pm2.86 .  (Contributed by NM, 29-Jun-1995.)  (Proof
       shortened by Wolf Lammen, 3-Apr-2013.) $)
    pm2.86d $p |- ( ph -> ( ps -> ( ch -> th ) ) ) $=
      ( wi ax-1 syl5 com23 ) ACBDCBCFABDFCBGEHI $.
  $}

  $( Converse of axiom ~ ax-2 .  Theorem *2.86 of [WhiteheadRussell] p. 108.
     (Contributed by NM, 25-Apr-1994.)  (Proof shortened by Wolf Lammen,
     3-Apr-2013.) $)
  pm2.86 $p |- ( ( ( ph -> ps )
       -> ( ph -> ch ) ) -> ( ph -> ( ps -> ch ) ) ) $=
    ( wi id pm2.86d ) ABDACDDZABCGEF $.

  $( The Linearity Axiom of the infinite-valued sentential logic (L-infinity)
     of Lukasiewicz.  This version of ~ loolin does not use ~ ax-3 , meaning
     that this theorem is intuitionistically valid.  (Contributed by O'Cat,
     12-Aug-2004.)  (New usage is discouraged.)
     (Proof modification is discouraged.) $)
  loolinALT $p |- ( ( ( ph -> ps ) -> ( ps -> ph ) ) -> ( ps -> ph ) ) $=
    ( wi jarr pm2.43d ) ABCBACZCBAABFDE $.

  $( An alternate for the Linearity Axiom of the infinite-valued sentential
     logic (L-infinity) of Lukasiewicz, due to Barbara Wozniakowska, _Reports
     on Mathematical Logic_ 10, 129-137 (1978).  (Contributed by O'Cat,
     8-Aug-2004.) $)
  loowoz $p |- ( ( ( ph -> ps ) -> ( ph -> ch ) )
      -> ( ( ps -> ph ) -> ( ps -> ch ) ) ) $=
    ( wi jarr a2d ) ABDACDZDBACABGEF $.

$(
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
        Logical negation
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=

  This section makes our first use of the third axiom of propositional
  calculus, ~ ax-3 .

$)

  ${
    con4d.1 $e |- ( ph -> ( -. ps -> -. ch ) ) $.
    $( Deduction derived from axiom ~ ax-3 .  (Contributed by NM,
       26-Mar-1995.) $)
    con4d $p |- ( ph -> ( ch -> ps ) ) $=
      ( wn wi ax-3 syl ) ABECEFCBFDBCGH $.
  $}

  ${
    pm2.21d.1 $e |- ( ph -> -. ps ) $.
    $( A contradiction implies anything.  Deduction from ~ pm2.21 .
       (Contributed by NM, 10-Feb-1996.) $)
    pm2.21d $p |- ( ph -> ( ps -> ch ) ) $=
      ( wn a1d con4d ) ACBABECEDFG $.
  $}

  ${
    pm2.21dd.1 $e |- ( ph -> ps ) $.
    pm2.21dd.2 $e |- ( ph -> -. ps ) $.
    $( A contradiction implies anything.  Deduction from ~ pm2.21 .
       (Contributed by Mario Carneiro, 9-Feb-2017.) $)
    pm2.21dd $p |- ( ph -> ch ) $=
      ( pm2.21d mpd ) ABCDABCEFG $.
  $}

  $( From a wff and its negation, anything is true.  Theorem *2.21 of
     [WhiteheadRussell] p. 104.  Also called the Duns Scotus law.  (Contributed
     by NM, 5-Aug-1993.)  (Proof shortened by Wolf Lammen, 14-Sep-2012.) $)
  pm2.21 $p |- ( -. ph -> ( ph -> ps ) ) $=
    ( wn id pm2.21d ) ACZABFDE $.

  $( Theorem *2.24 of [WhiteheadRussell] p. 104.  (Contributed by NM,
     3-Jan-2005.) $)
  pm2.24 $p |- ( ph -> ( -. ph -> ps ) ) $=
    ( wn pm2.21 com12 ) ACABABDE $.

  $( Proof by contradiction.  Theorem *2.18 of [WhiteheadRussell] p. 103.  Also
     called the Law of Clavius.  (Contributed by NM, 5-Aug-1993.) $)
  pm2.18 $p |- ( ( -. ph -> ph ) -> ph ) $=
    ( wn wi pm2.21 a2i con4d pm2.43i ) ABZACZAIAIHAIBZAJDEFG $.

  ${
    pm2.18d.1 $e |- ( ph -> ( -. ps -> ps ) ) $.
    $( Deduction based on reductio ad absurdum.  (Contributed by FL,
       12-Jul-2009.)  (Proof shortened by Andrew Salmon, 7-May-2011.) $)
    pm2.18d $p |- ( ph -> ps ) $=
      ( wn wi pm2.18 syl ) ABDBEBCBFG $.
  $}

  $( Converse of double negation.  Theorem *2.14 of [WhiteheadRussell] p. 102.
     (Contributed by NM, 5-Aug-1993.)  (Proof shortened by David Harvey,
     5-Sep-1999.)  (Proof shortened by Josh Purinton, 29-Dec-2000.) $)
  notnot2 $p |- ( -. -. ph -> ph ) $=
    ( wn pm2.21 pm2.18d ) ABZBAEACD $.

  ${
    notnotrd.1 $e |- ( ph -> -. -. ps ) $.
    $( Deduction converting double-negation into the original wff, aka the
       double negation rule.  A translation of natural deduction rule ` -. -. `
       -C, Gamma ` |- -. -. ps ` => Gamma ` |- ps ` ; see natded in set.mm.
       This is definition NNC in [Pfenning] p. 17.  This rule is valid in
       classical logic (which MPE uses), but not intuitionistic logic.
       (Contributed by DAW, 8-Feb-2017.) $)
    notnotrd $p |- ( ph -> ps ) $=
      ( wn notnot2 syl ) ABDDBCBEF $.
  $}

  ${
    notnotri.1 $e |- -. -. ph $.
    $( Inference from double negation.  (Contributed by NM, 27-Feb-2008.) $)
    notnotri $p |- ph $=
      ( wn notnot2 ax-mp ) ACCABADE $.
  $}

  ${
    con2d.1 $e |- ( ph -> ( ps -> -. ch ) ) $.
    $( A contraposition deduction.  (Contributed by NM, 19-Aug-1993.) $)
    con2d $p |- ( ph -> ( ch -> -. ps ) ) $=
      ( wn notnot2 syl5 con4d ) ABEZCIEBACEBFDGH $.
  $}

  $( Contraposition.  Theorem *2.03 of [WhiteheadRussell] p. 100.  (Contributed
     by NM, 5-Aug-1993.)  (Proof shortened by Wolf Lammen, 12-Feb-2013.) $)
  con2 $p |- ( ( ph -> -. ps ) -> ( ps -> -. ph ) ) $=
    ( wn wi id con2d ) ABCDZABGEF $.

  ${
    mt2d.1 $e |- ( ph -> ch ) $.
    mt2d.2 $e |- ( ph -> ( ps -> -. ch ) ) $.
    $( Modus tollens deduction.  (Contributed by NM, 4-Jul-1994.) $)
    mt2d $p |- ( ph -> -. ps ) $=
      ( wn con2d mpd ) ACBFDABCEGH $.
  $}

  ${
    mt2i.1 $e |- ch $.
    mt2i.2 $e |- ( ph -> ( ps -> -. ch ) ) $.
    $( Modus tollens inference.  (Contributed by NM, 26-Mar-1995.)  (Proof
       shortened by Wolf Lammen, 15-Sep-2012.) $)
    mt2i $p |- ( ph -> -. ps ) $=
      ( a1i mt2d ) ABCCADFEG $.
  $}

  ${
    nsyl3.1 $e |- ( ph -> -. ps ) $.
    nsyl3.2 $e |- ( ch -> ps ) $.
    $( A negated syllogism inference.  (Contributed by NM, 1-Dec-1995.) $)
    nsyl3 $p |- ( ch -> -. ph ) $=
      ( wn wi a1i mt2d ) CABEABFGCDHI $.
  $}

  ${
    con2i.a $e |- ( ph -> -. ps ) $.
    $( A contraposition inference.  (Contributed by NM, 5-Aug-1993.)  (Proof
       shortened by O'Cat, 28-Nov-2008.)  (Proof shortened by Wolf Lammen,
       13-Jun-2013.) $)
    con2i $p |- ( ps -> -. ph ) $=
      ( id nsyl3 ) ABBCBDE $.
  $}

  ${
    nsyl.1 $e |- ( ph -> -. ps ) $.
    nsyl.2 $e |- ( ch -> ps ) $.
    $( A negated syllogism inference.  (Contributed by NM, 31-Dec-1993.)
       (Proof shortened by Wolf Lammen, 2-Mar-2013.) $)
    nsyl $p |- ( ph -> -. ch ) $=
      ( nsyl3 con2i ) CAABCDEFG $.
  $}

  $( Converse of double negation.  Theorem *2.12 of [WhiteheadRussell] p. 101.
     (Contributed by NM, 5-Aug-1993.)  (Proof shortened by Wolf Lammen,
     2-Mar-2013.) $)
  notnot1 $p |- ( ph -> -. -. ph ) $=
    ( wn id con2i ) ABZAECD $.

  ${
    negbi.1 $e |- ph $.
    $( Infer double negation.  (Contributed by NM, 27-Feb-2008.) $)
    notnoti $p |- -. -. ph $=
      ( wn notnot1 ax-mp ) AACCBADE $.
  $}

  ${
    con1d.1 $e |- ( ph -> ( -. ps -> ch ) ) $.
    $( A contraposition deduction.  (Contributed by NM, 5-Aug-1993.) $)
    con1d $p |- ( ph -> ( -. ch -> ps ) ) $=
      ( wn notnot1 syl6 con4d ) ABCEZABECIEDCFGH $.
  $}

  ${
    mt3d.1 $e |- ( ph -> -. ch ) $.
    mt3d.2 $e |- ( ph -> ( -. ps -> ch ) ) $.
    $( Modus tollens deduction.  (Contributed by NM, 26-Mar-1995.) $)
    mt3d $p |- ( ph -> ps ) $=
      ( wn con1d mpd ) ACFBDABCEGH $.
  $}

  ${
    mt3i.1 $e |- -. ch $.
    mt3i.2 $e |- ( ph -> ( -. ps -> ch ) ) $.
    $( Modus tollens inference.  (Contributed by NM, 26-Mar-1995.)  (Proof
       shortened by Wolf Lammen, 15-Sep-2012.) $)
    mt3i $p |- ( ph -> ps ) $=
      ( wn a1i mt3d ) ABCCFADGEH $.
  $}

  ${
    nsyl2.1 $e |- ( ph -> -. ps ) $.
    nsyl2.2 $e |- ( -. ch -> ps ) $.
    $( A negated syllogism inference.  (Contributed by NM, 26-Jun-1994.) $)
    nsyl2 $p |- ( ph -> ch ) $=
      ( wn wi a1i mt3d ) ACBDCFBGAEHI $.
  $}

  $( Contraposition.  Theorem *2.15 of [WhiteheadRussell] p. 102.  (Contributed
     by NM, 5-Aug-1993.)  (Proof shortened by Wolf Lammen, 12-Feb-2013.) $)
  con1 $p |- ( ( -. ph -> ps ) -> ( -. ps -> ph ) ) $=
    ( wn wi id con1d ) ACBDZABGEF $.

  ${
    con1i.a $e |- ( -. ph -> ps ) $.
    $( A contraposition inference.  (Contributed by NM, 5-Aug-1993.)  (Proof
       shortened by O'Cat, 28-Nov-2008.)  (Proof shortened by Wolf Lammen,
       19-Jun-2013.) $)
    con1i $p |- ( -. ps -> ph ) $=
      ( wn id nsyl2 ) BDZBAGECF $.
  $}

  ${
    con4i.1 $e |- ( -. ph -> -. ps ) $.
    $( Inference rule derived from axiom ~ ax-3 .  (Contributed by NM,
       5-Aug-1993.)  (Proof shortened by Wolf Lammen, 21-Jun-2013.) $)
    con4i $p |- ( ps -> ph ) $=
      ( wn notnot1 nsyl2 ) BBDABECF $.
  $}

  ${
    pm2.21i.1 $e |- -. ph $.
    $( A contradiction implies anything.  Inference from ~ pm2.21 .
       (Contributed by NM, 16-Sep-1993.) $)
    pm2.21i $p |- ( ph -> ps ) $=
      ( wn a1i con4i ) BAADBDCEF $.
  $}

  ${
    pm2.24ii.1 $e |- ph $.
    pm2.24ii.2 $e |- -. ph $.
    $( A contradiction implies anything.  Inference from ~ pm2.24 .
       (Contributed by NM, 27-Feb-2008.) $)
    pm2.24ii $p |- ps $=
      ( pm2.21i ax-mp ) ABCABDEF $.
  $}

  ${
    con3d.1 $e |- ( ph -> ( ps -> ch ) ) $.
    $( A contraposition deduction.  (Contributed by NM, 5-Aug-1993.) $)
    con3d $p |- ( ph -> ( -. ch -> -. ps ) ) $=
      ( wn notnot2 syl5 con1d ) ABEZCIEBACBFDGH $.
  $}

  $( Contraposition.  Theorem *2.16 of [WhiteheadRussell] p. 103.  (Contributed
     by NM, 5-Aug-1993.)  (Proof shortened by Wolf Lammen, 13-Feb-2013.) $)
  con3 $p |- ( ( ph -> ps ) -> ( -. ps -> -. ph ) ) $=
    ( wi id con3d ) ABCZABFDE $.

  ${
    con3i.a $e |- ( ph -> ps ) $.
    $( A contraposition inference.  (Contributed by NM, 5-Aug-1993.)  (Proof
       shortened by Wolf Lammen, 20-Jun-2013.) $)
    con3i $p |- ( -. ps -> -. ph ) $=
      ( wn id nsyl ) BDZBAGECF $.
  $}

  ${
    con3rr3.1 $e |- ( ph -> ( ps -> ch ) ) $.
    $( Rotate through consequent right.  (Contributed by Wolf Lammen,
       3-Nov-2013.) $)
    con3rr3 $p |- ( -. ch -> ( ph -> -. ps ) ) $=
      ( wn con3d com12 ) ACEBEABCDFG $.
  $}

  ${
    mt4.1 $e |- ph $.
    mt4.2 $e |- ( -. ps -> -. ph ) $.
    $( The rule of modus tollens.  (Contributed by Wolf Lammen,
       12-May-2013.) $)
    mt4 $p |- ps $=
      ( con4i ax-mp ) ABCBADEF $.
  $}

  ${
    mt4d.1 $e |- ( ph -> ps ) $.
    mt4d.2 $e |- ( ph -> ( -. ch -> -. ps ) ) $.
    $( Modus tollens deduction.  (Contributed by NM, 9-Jun-2006.) $)
    mt4d $p |- ( ph -> ch ) $=
      ( con4d mpd ) ABCDACBEFG $.
  $}

  ${
    mt4i.1 $e |- ch $.
    mt4i.2 $e |- ( ph -> ( -. ps -> -. ch ) ) $.
    $( Modus tollens inference.  (Contributed by Wolf Lammen, 12-May-2013.) $)
    mt4i $p |- ( ph -> ps ) $=
      ( a1i mt4d ) ACBCADFEG $.
  $}

  ${
    nsyld.1 $e |- ( ph -> ( ps -> -. ch ) ) $.
    nsyld.2 $e |- ( ph -> ( ta -> ch ) ) $.
    $( A negated syllogism deduction.  (Contributed by NM, 9-Apr-2005.) $)
    nsyld $p |- ( ph -> ( ps -> -. ta ) ) $=
      ( wn con3d syld ) ABCGDGEADCFHI $.
  $}

  ${
    nsyli.1 $e |- ( ph -> ( ps -> ch ) ) $.
    nsyli.2 $e |- ( th -> -. ch ) $.
    $( A negated syllogism inference.  (Contributed by NM, 3-May-1994.) $)
    nsyli $p |- ( ph -> ( th -> -. ps ) ) $=
      ( wn con3d syl5 ) DCGABGFABCEHI $.
  $}

  ${
    nsyl4.1 $e |- ( ph -> ps ) $.
    nsyl4.2 $e |- ( -. ph -> ch ) $.
    $( A negated syllogism inference.  (Contributed by NM, 15-Feb-1996.) $)
    nsyl4 $p |- ( -. ch -> ps ) $=
      ( wn con1i syl ) CFABACEGDH $.
  $}

  ${
    pm2.24d.1 $e |- ( ph -> ps ) $.
    $( Deduction version of ~ pm2.24 .  (Contributed by NM, 30-Jan-2006.) $)
    pm2.24d $p |- ( ph -> ( -. ps -> ch ) ) $=
      ( wn a1d con1d ) ACBABCEDFG $.
  $}

  ${
    pm2.24i.1 $e |- ph $.
    $( Inference version of ~ pm2.24 .  (Contributed by NM, 20-Aug-2001.) $)
    pm2.24i $p |- ( -. ph -> ps ) $=
      ( wn a1i con1i ) BAABDCEF $.
  $}

  $( Theorem *3.2 of [WhiteheadRussell] p. 111, expressed with primitive
     connectives.  (Contributed by NM, 5-Aug-1993.)  (Proof shortened by Josh
     Purinton, 29-Dec-2000.) $)
  pm3.2im $p |- ( ph -> ( ps -> -. ( ph -> -. ps ) ) ) $=
    ( wn wi pm2.27 con2d ) AABCZDBAGEF $.

  $( Theorem 8 of [Margaris] p. 60.  (Contributed by NM, 5-Aug-1993.)  (Proof
     shortened by Josh Purinton, 29-Dec-2000.) $)
  mth8 $p |- ( ph -> ( -. ps -> -. ( ph -> ps ) ) ) $=
    ( wi pm2.27 con3d ) AABCBABDE $.

  ${
    jc.1 $e |- ( ph -> ps ) $.
    jc.2 $e |- ( ph -> ch ) $.
    $( Inference joining the consequents of two premises.  (Contributed by NM,
       5-Aug-1993.) $)
    jc $p |- ( ph -> -. ( ps -> -. ch ) ) $=
      ( wn wi pm3.2im sylc ) ABCBCFGFDEBCHI $.
  $}

  ${
    impi.1 $e |- ( ph -> ( ps -> ch ) ) $.
    $( An importation inference.  (Contributed by NM, 5-Aug-1993.)  (Proof
       shortened by Wolf Lammen, 20-Jul-2013.) $)
    impi $p |- ( -. ( ph -> -. ps ) -> ch ) $=
      ( wn wi con3rr3 con1i ) CABEFABCDGH $.
  $}

  ${
    expi.1 $e |- ( -. ( ph -> -. ps ) -> ch ) $.
    $( An exportation inference.  (Contributed by NM, 5-Aug-1993.)  (Proof
       shortened by O'Cat, 28-Nov-2008.) $)
    expi $p |- ( ph -> ( ps -> ch ) ) $=
      ( wn wi pm3.2im syl6 ) ABABEFECABGDH $.
  $}

  $( Simplification.  Similar to Theorem *3.27 (Simp) of [WhiteheadRussell]
     p. 112.  (Contributed by NM, 5-Aug-1993.)  (Proof shortened by Wolf
     Lammen, 13-Nov-2012.) $)
  simprim $p |- ( -. ( ph -> -. ps ) -> ps ) $=
    ( idd impi ) ABBABCD $.

  $( Simplification.  Similar to Theorem *3.26 (Simp) of [WhiteheadRussell]
     p. 112.  (Contributed by NM, 5-Aug-1993.)  (Proof shortened by Wolf
     Lammen, 21-Jul-2012.) $)
  simplim $p |- ( -. ( ph -> ps ) -> ph ) $=
    ( wi pm2.21 con1i ) AABCABDE $.

  $( Theorem *2.5 of [WhiteheadRussell] p. 107.  (Contributed by NM,
     3-Jan-2005.)  (Proof shortened by Wolf Lammen, 9-Oct-2012.) $)
  pm2.5 $p |- ( -. ( ph -> ps ) -> ( -. ph -> ps ) ) $=
    ( wi wn simplim pm2.24d ) ABCDABABEF $.

  $( Theorem *2.51 of [WhiteheadRussell] p. 107.  (Contributed by NM,
     3-Jan-2005.) $)
  pm2.51 $p |- ( -. ( ph -> ps ) -> ( ph -> -. ps ) ) $=
    ( wi wn ax-1 con3i a1d ) ABCZDBDABHBAEFG $.

  $( Theorem *2.521 of [WhiteheadRussell] p. 107.  (Contributed by NM,
     3-Jan-2005.)  (Proof shortened by Wolf Lammen, 8-Oct-2012.) $)
  pm2.521 $p |- ( -. ( ph -> ps ) -> ( ps -> ph ) ) $=
    ( wi wn simplim a1d ) ABCDABABEF $.

  $( Theorem *2.52 of [WhiteheadRussell] p. 107.  (Contributed by NM,
     3-Jan-2005.)  (Proof shortened by Wolf Lammen, 8-Oct-2012.) $)
  pm2.52 $p |- ( -. ( ph -> ps ) -> ( -. ph -> -. ps ) ) $=
    ( wi wn pm2.521 con3d ) ABCDBAABEF $.

  $( Exportation theorem expressed with primitive connectives.  (Contributed by
     NM, 5-Aug-1993.) $)
  expt $p |- ( ( -. ( ph -> -. ps ) -> ch ) -> ( ph -> ( ps -> ch ) ) ) $=
    ( wn wi pm3.2im imim1d com12 ) AABDEDZCEBCEABICABFGH $.

  $( Importation theorem expressed with primitive connectives.  (Contributed by
     NM, 25-Apr-1994.)  (Proof shortened by Wolf Lammen, 20-Jul-2013.) $)
  impt $p |- ( ( ph -> ( ps -> ch ) ) -> ( -. ( ph -> -. ps ) -> ch ) ) $=
    ( wi wn simprim simplim imim1i mpdi ) ABCDZDABEZDEZBCABFLAJAKGHI $.

  ${
    pm2.61d.1 $e |- ( ph -> ( ps -> ch ) ) $.
    pm2.61d.2 $e |- ( ph -> ( -. ps -> ch ) ) $.
    $( Deduction eliminating an antecedent.  (Contributed by NM, 27-Apr-1994.)
       (Proof shortened by Wolf Lammen, 12-Sep-2013.) $)
    pm2.61d $p |- ( ph -> ch ) $=
      ( wn con1d syld pm2.18d ) ACACFBCABCEGDHI $.
  $}

  ${
    pm2.61d1.1 $e |- ( ph -> ( ps -> ch ) ) $.
    pm2.61d1.2 $e |- ( -. ps -> ch ) $.
    $( Inference eliminating an antecedent.  (Contributed by NM,
       15-Jul-2005.) $)
    pm2.61d1 $p |- ( ph -> ch ) $=
      ( wn wi a1i pm2.61d ) ABCDBFCGAEHI $.
  $}

  ${
    pm2.61d2.1 $e |- ( ph -> ( -. ps -> ch ) ) $.
    pm2.61d2.2 $e |- ( ps -> ch ) $.
    $( Inference eliminating an antecedent.  (Contributed by NM,
       18-Aug-1993.) $)
    pm2.61d2 $p |- ( ph -> ch ) $=
      ( wi a1i pm2.61d ) ABCBCFAEGDH $.
  $}

  ${
    ja.1 $e |- ( -. ph -> ch ) $.
    ja.2 $e |- ( ps -> ch ) $.
    $( Inference joining the antecedents of two premises.  (Contributed by NM,
       5-Aug-1993.)  (Proof shortened by O'Cat, 19-Feb-2008.) $)
    ja $p |- ( ( ph -> ps ) -> ch ) $=
      ( wi imim2i pm2.61d1 ) ABFACBCAEGDH $.
  $}

  ${
    jad.1 $e |- ( ph -> ( -. ps -> th ) ) $.
    jad.2 $e |- ( ph -> ( ch -> th ) ) $.
    $( Deduction form of ~ ja .  (Contributed by Scott Fenton, 13-Dec-2010.)
       (Proof shortened by Andrew Salmon, 17-Sep-2011.) $)
    jad $p |- ( ph -> ( ( ps -> ch ) -> th ) ) $=
      ( wi wn com12 ja ) BCGADBCADGABHDEIACDFIJI $.
  $}

  $( Elimination of a nested antecedent as a kind of reversal of inference
     ~ ja .  (Contributed by Wolf Lammen, 10-May-2013.) $)
  jarl $p |- ( ( ( ph -> ps ) -> ch ) -> ( -. ph -> ch ) ) $=
    ( wn wi pm2.21 imim1i ) ADABECABFG $.

  ${
    pm2.61i.1 $e |- ( ph -> ps ) $.
    pm2.61i.2 $e |- ( -. ph -> ps ) $.
    $( Inference eliminating an antecedent.  (Contributed by NM, 5-Apr-1994.)
       (Proof shortened by Wolf Lammen, 12-Sep-2013.) $)
    pm2.61i $p |- ps $=
      ( wi id ja ax-mp ) AAEBAFAABDCGH $.
  $}

  ${
    pm2.61ii.1 $e |- ( -. ph -> ( -. ps -> ch ) ) $.
    pm2.61ii.2 $e |- ( ph -> ch ) $.
    pm2.61ii.3 $e |- ( ps -> ch ) $.
    $( Inference eliminating two antecedents.  (Contributed by NM,
       5-Aug-1993.)  (Proof shortened by Josh Purinton, 29-Dec-2000.) $)
    pm2.61ii $p |- ch $=
      ( wn pm2.61d2 pm2.61i ) ACEAGBCDFHI $.
  $}

  ${
    pm2.61nii.1 $e |- ( ph -> ( ps -> ch ) ) $.
    pm2.61nii.2 $e |- ( -. ph -> ch ) $.
    pm2.61nii.3 $e |- ( -. ps -> ch ) $.
    $( Inference eliminating two antecedents.  (Contributed by NM,
       5-Aug-1993.)  (Proof shortened by Andrew Salmon, 25-May-2011.)  (Proof
       shortened by Wolf Lammen, 13-Nov-2012.) $)
    pm2.61nii $p |- ch $=
      ( pm2.61d1 pm2.61i ) ACABCDFGEH $.
  $}

  ${
    pm2.61iii.1 $e |- ( -. ph -> ( -. ps -> ( -. ch -> th ) ) ) $.
    pm2.61iii.2 $e |- ( ph -> th ) $.
    pm2.61iii.3 $e |- ( ps -> th ) $.
    pm2.61iii.4 $e |- ( ch -> th ) $.
    $( Inference eliminating three antecedents.  (Contributed by NM,
       2-Jan-2002.)  (Proof shortened by Wolf Lammen, 22-Sep-2013.) $)
    pm2.61iii $p |- th $=
      ( wn wi a1d pm2.61ii pm2.61i ) CDHABCIZDJEADNFKBDNGKLM $.
  $}

  $( Reductio ad absurdum.  Theorem *2.01 of [WhiteheadRussell] p. 100.
     (Contributed by NM, 18-Aug-1993.)  (Proof shortened by O'Cat,
     21-Nov-2008.)  (Proof shortened by Wolf Lammen, 31-Oct-2012.) $)
  pm2.01 $p |- ( ( ph -> -. ph ) -> -. ph ) $=
    ( wn id ja ) AABZEECZFD $.

  ${
    pm2.01d.1 $e |- ( ph -> ( ps -> -. ps ) ) $.
    $( Deduction based on reductio ad absurdum.  (Contributed by NM,
       18-Aug-1993.)  (Proof shortened by Wolf Lammen, 5-Mar-2013.) $)
    pm2.01d $p |- ( ph -> -. ps ) $=
      ( wn id pm2.61d1 ) ABBDZCGEF $.
  $}

  $( Theorem *2.6 of [WhiteheadRussell] p. 107.  (Contributed by NM,
     3-Jan-2005.) $)
  pm2.6 $p |- ( ( -. ph -> ps ) -> ( ( ph -> ps ) -> ps ) ) $=
    ( wn wi id idd jad ) ACBDZABBHEHBFG $.

  $( Theorem *2.61 of [WhiteheadRussell] p. 107.  Useful for eliminating an
     antecedent.  (Contributed by NM, 5-Aug-1993.)  (Proof shortened by Wolf
     Lammen, 22-Sep-2013.) $)
  pm2.61 $p |- ( ( ph -> ps ) -> ( ( -. ph -> ps ) -> ps ) ) $=
    ( wn wi pm2.6 com12 ) ACBDABDBABEF $.

  $( Theorem *2.65 of [WhiteheadRussell] p. 107.  Proof by contradiction.
     (Contributed by NM, 5-Aug-1993.)  (Proof shortened by Wolf Lammen,
     8-Mar-2013.) $)
  pm2.65 $p |- ( ( ph -> ps ) -> ( ( ph -> -. ps ) -> -. ph ) ) $=
    ( wi wn idd con3 jad ) ABCZABDADZHIEABFG $.

  ${
    pm2.65i.1 $e |- ( ph -> ps ) $.
    pm2.65i.2 $e |- ( ph -> -. ps ) $.
    $( Inference rule for proof by contradiction.  (Contributed by NM,
       18-May-1994.)  (Proof shortened by Wolf Lammen, 11-Sep-2013.) $)
    pm2.65i $p |- -. ph $=
      ( wn con2i con3i pm2.61i ) BAEABDFABCGH $.
  $}

  ${
    pm2.65d.1 $e |- ( ph -> ( ps -> ch ) ) $.
    pm2.65d.2 $e |- ( ph -> ( ps -> -. ch ) ) $.
    $( Deduction rule for proof by contradiction.  (Contributed by NM,
       26-Jun-1994.)  (Proof shortened by Wolf Lammen, 26-May-2013.) $)
    pm2.65d $p |- ( ph -> -. ps ) $=
      ( nsyld pm2.01d ) ABABCBEDFG $.
  $}

  ${
    mto.1 $e |- -. ps $.
    mto.2 $e |- ( ph -> ps ) $.
    $( The rule of modus tollens.  The rule says, "if ` ps ` is not true, and
       ` ph ` implies ` ps ` , then ` ps ` must also be not true."  Modus
       tollens is short for "modus tollendo tollens," a Latin phrase that means
       "the mood that by denying affirms" [Sanford] p. 39.  It is also called
       denying the consequent.  Modus tollens is closely related to modus
       ponens ~ ax-mp .  (Contributed by NM, 19-Aug-1993.)  (Proof shortened by
       Wolf Lammen, 11-Sep-2013.) $)
    mto $p |- -. ph $=
      ( wn a1i pm2.65i ) ABDBEACFG $.
  $}

  ${
    mtod.1 $e |- ( ph -> -. ch ) $.
    mtod.2 $e |- ( ph -> ( ps -> ch ) ) $.
    $( Modus tollens deduction.  (Contributed by NM, 3-Apr-1994.)  (Proof
       shortened by Wolf Lammen, 11-Sep-2013.) $)
    mtod $p |- ( ph -> -. ps ) $=
      ( wn a1d pm2.65d ) ABCEACFBDGH $.
  $}

  ${
    mtoi.1 $e |- -. ch $.
    mtoi.2 $e |- ( ph -> ( ps -> ch ) ) $.
    $( Modus tollens inference.  (Contributed by NM, 5-Jul-1994.)  (Proof
       shortened by Wolf Lammen, 15-Sep-2012.) $)
    mtoi $p |- ( ph -> -. ps ) $=
      ( wn a1i mtod ) ABCCFADGEH $.
  $}

  ${
    mt2.1 $e |- ps $.
    mt2.2 $e |- ( ph -> -. ps ) $.
    $( A rule similar to modus tollens.  (Contributed by NM, 19-Aug-1993.)
       (Proof shortened by Wolf Lammen, 10-Sep-2013.) $)
    mt2 $p |- -. ph $=
      ( a1i pm2.65i ) ABBACEDF $.
  $}

  ${
    mt3.1 $e |- -. ps $.
    mt3.2 $e |- ( -. ph -> ps ) $.
    $( A rule similar to modus tollens.  (Contributed by NM, 18-May-1994.)
       (Proof shortened by Wolf Lammen, 11-Sep-2013.) $)
    mt3 $p |- ph $=
      ( wn mto notnotri ) AAEBCDFG $.
  $}

  $( Peirce's axiom.  This odd-looking theorem is the "difference" between an
     intuitionistic system of propositional calculus and a classical system and
     is not accepted by intuitionists.  When Peirce's axiom is added to an
     intuitionistic system, the system becomes equivalent to our classical
     system ~ ax-1 through ~ ax-3 .  A curious fact about this theorem is that
     it requires ~ ax-3 for its proof even though the result has no negation
     connectives in it.  (Contributed by NM, 5-Aug-1993.)  (Proof shortened by
     Wolf Lammen, 9-Oct-2012.) $)
  peirce $p |- ( ( ( ph -> ps ) -> ph ) -> ph ) $=
    ( wi simplim id ja ) ABCAAABDAEF $.

  $( The Linearity Axiom of the infinite-valued sentential logic (L-infinity)
     of Lukasiewicz.  For a version not using ~ ax-3 , see ~ loolinALT .
     (Contributed by O'Cat, 12-Aug-2004.)  (Proof shortened by Wolf Lammen,
     2-Nov-2012.) $)
  loolin $p |- ( ( ( ph -> ps ) -> ( ps -> ph ) ) -> ( ps -> ph ) ) $=
    ( wi pm2.521 id ja ) ABCBACZGABDGEF $.

  $( The Inversion Axiom of the infinite-valued sentential logic (L-infinity)
     of Lukasiewicz.  Using ~ dfor2 , we can see that this essentially
     expresses "disjunction commutes."  Theorem *2.69 of [WhiteheadRussell]
     p. 108.  (Contributed by NM, 12-Aug-2004.) $)
  looinv $p |- ( ( ( ph -> ps ) -> ps ) -> ( ( ps -> ph ) -> ph ) ) $=
    ( wi imim1 peirce syl6 ) ABCZBCBACGACAGBADABEF $.

  $( Theorem used to justify definition of biconditional ~ df-bi .
     (Contributed by NM, 11-May-1999.)  (Proof shortened by Josh Purinton,
     29-Dec-2000.) $)
  bijust $p |- -. ( ( -. ( ( ph -> ps ) -> -. ( ps -> ph ) )
                      -> -. ( ( ph -> ps ) -> -. ( ps -> ph ) ) )
               -> -. ( -. ( ( ph -> ps ) -> -. ( ps -> ph ) )
                      -> -. ( ( ph -> ps ) -> -. ( ps -> ph ) ) ) ) $=
    ( wi wn id pm2.01 mt2 ) ABCBACDCDZHCZIDCIHEIFG $.

$(
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
        Logical equivalence
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=

  The definition ~ df-bi in this section is our first definition, which
  introduces and defines the biconditional connective ` <-> ` . We define a wff
  of the form ` ( ph <-> ps ) ` as an abbreviation for
  ` -. ( ( ph -> ps ) -> -. ( ps -> ph ) ) ` .

  Unlike most traditional developments, we have chosen not to have a separate
  symbol such as "Df." to mean "is defined as."  Instead, we will later use the
  biconditional connective for this purpose ( ~ df-or is its first use), as it
  allows us to use logic to manipulate definitions directly.  This greatly
  simplifies many proofs since it eliminates the need for a separate mechanism
  for introducing and eliminating definitions.
$)

  $( Declare the biconditional connective. $)
  $c <-> $. $( Double arrow (read:  'if and only if' or
               'is logically equivalent to') $)

  $( Extend our wff definition to include the biconditional connective. $)
  wb $a wff ( ph <-> ps ) $.

  $( Define the biconditional (logical 'iff').

     The definition ~ df-bi in this section is our first definition, which
     introduces and defines the biconditional connective ` <-> ` .  We define a
     wff of the form ` ( ph <-> ps ) ` as an abbreviation for
     ` -. ( ( ph -> ps ) -> -. ( ps -> ph ) ) ` .

     Unlike most traditional developments, we have chosen not to have a
     separate symbol such as "Df." to mean "is defined as."  Instead, we will
     later use the biconditional connective for this purpose ( ~ df-or is its
     first use), as it allows us to use logic to manipulate definitions
     directly.  This greatly simplifies many proofs since it eliminates the
     need for a separate mechanism for introducing and eliminating
     definitions.  Of course, we cannot use this mechanism to define the
     biconditional itself, since it hasn't been introduced yet.  Instead, we
     use a more general form of definition, described as follows.

     In its most general form, a definition is simply an assertion that
     introduces a new symbol (or a new combination of existing symbols, as in
     ~ df-3an ) that is eliminable and does not strengthen the existing
     language.  The latter requirement means that the set of provable
     statements not containing the new symbol (or new combination) should
     remain exactly the same after the definition is introduced.  Our
     definition of the biconditional may look unusual compared to most
     definitions, but it strictly satisfies these requirements.

     The justification for our definition is that if we mechanically replace
     ` ( ph <-> ps ) ` (the definiendum i.e. the thing being defined) with
     ` -. ( ( ph -> ps ) -> -. ( ps -> ph ) ) ` (the definiens i.e. the
     defining expression) in the definition, the definition becomes the
     previously proved theorem ~ bijust .  It is impossible to use ~ df-bi to
     prove any statement expressed in the original language that can't be
     proved from the original axioms, because if we simply replace each
     instance of ~ df-bi in the proof with the corresponding ~ bijust instance,
     we will end up with a proof from the original axioms.

     Note that from Metamath's point of view, a definition is just another
     axiom - i.e. an assertion we claim to be true - but from our high level
     point of view, we are not strengthening the language.  To indicate this
     fact, we prefix definition labels with "df-" instead of "ax-".  (This
     prefixing is an informal convention that means nothing to the Metamath
     proof verifier; it is just a naming convention for human readability.)

     After we define the constant true ` T. ` ( ~ df-tru ) and the constant
     false ` F. ` ( ~ df-fal ), we will be able to prove these truth table
     values: ` ( ( T. <-> T. ) <-> T. ) ` ( ~ trubitru ),
     ` ( ( T. <-> F. ) <-> F. ) ` ( ~ trubifal ), ` ( ( F. <-> T. ) <-> F. ) `
     ( ~ falbitru ), and ` ( ( F. <-> F. ) <-> T. ) ` ( ~ falbifal ).

     See ~ dfbi1 , ~ dfbi2 , and ~ dfbi3 for theorems suggesting typical
     textbook definitions of ` <-> ` , showing that our definition has the
     properties we expect.  Theorem ~ dfbi1 is particularly useful if we want
     to eliminate ` <-> ` from an expression to convert it to primitives.
     Theorem ~ dfbi shows this definition rewritten in an abbreviated form
     after conjunction is introduced, for easier understanding.

     Contrast with ` \/ ` ( ~ df-or ), ` -> ` ( ~ wi ), ` -/\ ` ( ~ df-nan ),
     and ` \/_ ` ( ~ df-xor ) .  In some sense ` <-> ` returns true if two
     truth values are equal; ` = ` ( ~ df-cleq ) returns true if two classes
     are equal.  (Contributed by NM, 5-Aug-1993.) $)
  df-bi $a |- -. ( ( ( ph <-> ps ) -> -. ( ( ph -> ps ) -> -. ( ps -> ph ) ) )
        -> -. ( -. ( ( ph -> ps ) -> -. ( ps -> ph ) ) -> ( ph <-> ps ) ) ) $.

  $( $j justification 'bijust' for 'df-bi'; $)

  $( Property of the biconditional connective.  (Contributed by NM,
     11-May-1999.) $)
  bi1 $p |- ( ( ph <-> ps ) -> ( ph -> ps ) ) $=
    ( wb wi wn df-bi simplim ax-mp syl ) ABCZABDZBADEZDEZKJMDZMJDEZDENABFNOGHKL
    GI $.

  $( Property of the biconditional connective.  (Contributed by NM,
     11-May-1999.) $)
  bi3 $p |- ( ( ph -> ps ) -> ( ( ps -> ph ) -> ( ph <-> ps ) ) ) $=
    ( wi wb wn df-bi simprim ax-mp expi ) ABCZBACZABDZLJKECEZCZMLCZECEOABFNOGHI
    $.

  ${
    impbii.1 $e |- ( ph -> ps ) $.
    impbii.2 $e |- ( ps -> ph ) $.
    $( Infer an equivalence from an implication and its converse.  (Contributed
       by NM, 5-Aug-1993.) $)
    impbii $p |- ( ph <-> ps ) $=
      ( wi wb bi3 mp2 ) ABEBAEABFCDABGH $.
  $}

  ${
    impbidd.1 $e |- ( ph -> ( ps -> ( ch -> th ) ) ) $.
    impbidd.2 $e |- ( ph -> ( ps -> ( th -> ch ) ) ) $.
    $( Deduce an equivalence from two implications.  (Contributed by Rodolfo
       Medina, 12-Oct-2010.) $)
    impbidd $p |- ( ph -> ( ps -> ( ch <-> th ) ) ) $=
      ( wi wb bi3 syl6c ) ABCDGDCGCDHEFCDIJ $.
  $}

  ${
    impbid21d.1 $e |- ( ps -> ( ch -> th ) ) $.
    impbid21d.2 $e |- ( ph -> ( th -> ch ) ) $.
    $( Deduce an equivalence from two implications.  (Contributed by Wolf
       Lammen, 12-May-2013.) $)
    impbid21d $p |- ( ph -> ( ps -> ( ch <-> th ) ) ) $=
      ( wi a1i a1d impbidd ) ABCDBCDGGAEHADCGBFIJ $.
  $}

  ${
    impbid.1 $e |- ( ph -> ( ps -> ch ) ) $.
    impbid.2 $e |- ( ph -> ( ch -> ps ) ) $.
    $( Deduce an equivalence from two implications.  (Contributed by NM,
       5-Aug-1993.)  (Revised by Wolf Lammen, 3-Nov-2012.) $)
    impbid $p |- ( ph -> ( ps <-> ch ) ) $=
      ( wb impbid21d pm2.43i ) ABCFAABCDEGH $.
  $}

  $( Relate the biconditional connective to primitive connectives.  See
     ~ dfbi1gb for an unusual version proved directly from axioms.
     (Contributed by NM, 5-Aug-1993.) $)
  dfbi1 $p |- ( ( ph <-> ps ) <-> -. ( ( ph -> ps ) -> -. ( ps -> ph ) ) ) $=
    ( wb wi wn df-bi simplim ax-mp bi3 impi impbii ) ABCZABDZBADZEDEZLODZOLDEZD
    EPABFPQGHMNLABIJK $.

  $( This proof of ~ dfbi1 , discovered by Gregory Bush on 8-Mar-2004, has
     several curious properties.  First, it has only 17 steps directly from the
     axioms and ~ df-bi , compared to over 800 steps were the proof of ~ dfbi1
     expanded into axioms.  Second, step 2 demands only the property of "true";
     any axiom (or theorem) could be used.  It might be thought, therefore,
     that it is in some sense redundant, but in fact no proof is shorter than
     this (measured by number of steps).  Third, it illustrates how
     intermediate steps can "blow up" in size even in short proofs.  Fourth,
     the compressed proof is only 182 bytes (or 17 bytes in D-proof notation),
     but the generated web page is over 200kB with intermediate steps that are
     essentially incomprehensible to humans (other than Gregory Bush).  If
     there were an obfuscated code contest for proofs, this would be a
     contender.  This "blowing up" and incomprehensibility of the intermediate
     steps vividly demonstrate the advantages of using many layered
     intermediate theorems, since each theorem is easier to understand.
     (Contributed by Gregory Bush, 10-Mar-2004.)  (New usage is discouraged.)
     (Proof modification is discouraged.) $)
  dfbi1gb $p |- ( ( ph <-> ps ) <-> -. ( ( ph -> ps ) -> -. ( ps -> ph ) ) ) $=
    ( wch wth wb wi wn df-bi ax-1 ax-mp ax-3 ax-2 ) ABEZABFBAFGFGZFNMFGFGZMNEZA
    BHCDCFFZOPFZCDIRGZQGZFZQRFSPOFZSFZFZUASUBISUCTFZFZUDUAFUEUFTGZUCGZFZUEUHUIM
    NHUHUGIJTUCKJUESIJSUCTLJJRQKJJJ $.

  ${
    biimpi.1 $e |- ( ph <-> ps ) $.
    $( Infer an implication from a logical equivalence.  (Contributed by NM,
       5-Aug-1993.) $)
    biimpi $p |- ( ph -> ps ) $=
      ( wb wi bi1 ax-mp ) ABDABECABFG $.
  $}

  ${
    sylbi.1 $e |- ( ph <-> ps ) $.
    sylbi.2 $e |- ( ps -> ch ) $.
    $( A mixed syllogism inference from a biconditional and an implication.
       Useful for substituting an antecedent with a definition.  (Contributed
       by NM, 5-Aug-1993.) $)
    sylbi $p |- ( ph -> ch ) $=
      ( biimpi syl ) ABCABDFEG $.
  $}

  ${
    sylib.1 $e |- ( ph -> ps ) $.
    sylib.2 $e |- ( ps <-> ch ) $.
    $( A mixed syllogism inference from an implication and a biconditional.
       (Contributed by NM, 5-Aug-1993.) $)
    sylib $p |- ( ph -> ch ) $=
      ( biimpi syl ) ABCDBCEFG $.
  $}

  $( Property of the biconditional connective.  (Contributed by NM,
     11-May-1999.)  (Proof shortened by Wolf Lammen, 11-Nov-2012.) $)
  bi2 $p |- ( ( ph <-> ps ) -> ( ps -> ph ) ) $=
    ( wb wi wn dfbi1 simprim sylbi ) ABCABDZBADZEDEJABFIJGH $.

  $( Commutative law for equivalence.  (Contributed by Wolf Lammen,
     10-Nov-2012.) $)
  bicom1 $p |- ( ( ph <-> ps ) -> ( ps <-> ph ) ) $=
    ( wb bi2 bi1 impbid ) ABCBAABDABEF $.

  $( Commutative law for equivalence.  Theorem *4.21 of [WhiteheadRussell]
     p. 117.  (Contributed by NM, 5-Aug-1993.) $)
  bicom $p |- ( ( ph <-> ps ) <-> ( ps <-> ph ) ) $=
    ( wb bicom1 impbii ) ABCBACABDBADE $.

  ${
    bicomd.1 $e |- ( ph -> ( ps <-> ch ) ) $.
    $( Commute two sides of a biconditional in a deduction.  (Contributed by
       NM, 5-Aug-1993.) $)
    bicomd $p |- ( ph -> ( ch <-> ps ) ) $=
      ( wb bicom sylib ) ABCECBEDBCFG $.
  $}

  ${
    bicomi.1 $e |- ( ph <-> ps ) $.
    $( Inference from commutative law for logical equivalence.  (Contributed by
       NM, 5-Aug-1993.) $)
    bicomi $p |- ( ps <-> ph ) $=
      ( wb bicom1 ax-mp ) ABDBADCABEF $.
  $}

  ${
    impbid1.1 $e |- ( ph -> ( ps -> ch ) ) $.
    impbid1.2 $e |- ( ch -> ps ) $.
    $( Infer an equivalence from two implications.  (Contributed by NM,
       6-Mar-2007.) $)
    impbid1 $p |- ( ph -> ( ps <-> ch ) ) $=
      ( wi a1i impbid ) ABCDCBFAEGH $.
  $}

  ${
    impbid2.1 $e |- ( ps -> ch ) $.
    impbid2.2 $e |- ( ph -> ( ch -> ps ) ) $.
    $( Infer an equivalence from two implications.  (Contributed by NM,
       6-Mar-2007.)  (Proof shortened by Wolf Lammen, 27-Sep-2013.) $)
    impbid2 $p |- ( ph -> ( ps <-> ch ) ) $=
      ( impbid1 bicomd ) ACBACBEDFG $.
  $}

  ${
    impcon4bid.1 $e |- ( ph -> ( ps -> ch ) ) $.
    impcon4bid.2 $e |- ( ph -> ( -. ps -> -. ch ) ) $.
    $( A variation on ~ impbid with contraposition.  (Contributed by Jeff
       Hankins, 3-Jul-2009.) $)
    impcon4bid $p |- ( ph -> ( ps <-> ch ) ) $=
      ( con4d impbid ) ABCDABCEFG $.
  $}

  ${
    biimpri.1 $e |- ( ph <-> ps ) $.
    $( Infer a converse implication from a logical equivalence.  (Contributed
       by NM, 5-Aug-1993.)  (Proof shortened by Wolf Lammen, 16-Sep-2013.) $)
    biimpri $p |- ( ps -> ph ) $=
      ( bicomi biimpi ) BAABCDE $.
  $}

  ${
    biimpd.1 $e |- ( ph -> ( ps <-> ch ) ) $.
    $( Deduce an implication from a logical equivalence.  (Contributed by NM,
       5-Aug-1993.) $)
    biimpd $p |- ( ph -> ( ps -> ch ) ) $=
      ( wb wi bi1 syl ) ABCEBCFDBCGH $.
  $}

  ${
    mpbi.min $e |- ph $.
    mpbi.maj $e |- ( ph <-> ps ) $.
    $( An inference from a biconditional, related to modus ponens.
       (Contributed by NM, 5-Aug-1993.) $)
    mpbi $p |- ps $=
      ( biimpi ax-mp ) ABCABDEF $.
  $}

  ${
    mpbir.min $e |- ps $.
    mpbir.maj $e |- ( ph <-> ps ) $.
    $( An inference from a biconditional, related to modus ponens.
       (Contributed by NM, 5-Aug-1993.) $)
    mpbir $p |- ph $=
      ( biimpri ax-mp ) BACABDEF $.
  $}

  ${
    mpbid.min $e |- ( ph -> ps ) $.
    mpbid.maj $e |- ( ph -> ( ps <-> ch ) ) $.
    $( A deduction from a biconditional, related to modus ponens.  (Contributed
       by NM, 5-Aug-1993.) $)
    mpbid $p |- ( ph -> ch ) $=
      ( biimpd mpd ) ABCDABCEFG $.
  $}

  ${
    mpbii.min $e |- ps $.
    mpbii.maj $e |- ( ph -> ( ps <-> ch ) ) $.
    $( An inference from a nested biconditional, related to modus ponens.
       (Contributed by NM, 5-Aug-1993.)  (Proof shortened by Wolf Lammen,
       25-Oct-2012.) $)
    mpbii $p |- ( ph -> ch ) $=
      ( a1i mpbid ) ABCBADFEG $.
  $}

  ${
    sylibr.1 $e |- ( ph -> ps ) $.
    sylibr.2 $e |- ( ch <-> ps ) $.
    $( A mixed syllogism inference from an implication and a biconditional.
       Useful for substituting a consequent with a definition.  (Contributed by
       NM, 5-Aug-1993.) $)
    sylibr $p |- ( ph -> ch ) $=
      ( biimpri syl ) ABCDCBEFG $.
  $}

  ${
    sylbir.1 $e |- ( ps <-> ph ) $.
    sylbir.2 $e |- ( ps -> ch ) $.
    $( A mixed syllogism inference from a biconditional and an implication.
       (Contributed by NM, 5-Aug-1993.) $)
    sylbir $p |- ( ph -> ch ) $=
      ( biimpri syl ) ABCBADFEG $.
  $}

  ${
    sylibd.1 $e |- ( ph -> ( ps -> ch ) ) $.
    sylibd.2 $e |- ( ph -> ( ch <-> th ) ) $.
    $( A syllogism deduction.  (Contributed by NM, 3-Aug-1994.) $)
    sylibd $p |- ( ph -> ( ps -> th ) ) $=
      ( biimpd syld ) ABCDEACDFGH $.
  $}

  ${
    sylbid.1 $e |- ( ph -> ( ps <-> ch ) ) $.
    sylbid.2 $e |- ( ph -> ( ch -> th ) ) $.
    $( A syllogism deduction.  (Contributed by NM, 3-Aug-1994.) $)
    sylbid $p |- ( ph -> ( ps -> th ) ) $=
      ( biimpd syld ) ABCDABCEGFH $.
  $}

  ${
    mpbidi.min $e |- ( th -> ( ph -> ps ) ) $.
    mpbidi.maj $e |- ( ph -> ( ps <-> ch ) ) $.
    $( A deduction from a biconditional, related to modus ponens.  (Contributed
       by NM, 9-Aug-1994.) $)
    mpbidi $p |- ( th -> ( ph -> ch ) ) $=
      ( biimpd sylcom ) DABCEABCFGH $.
  $}

  ${
    syl5bi.1 $e |- ( ph <-> ps ) $.
    syl5bi.2 $e |- ( ch -> ( ps -> th ) ) $.
    $( A mixed syllogism inference from a nested implication and a
       biconditional.  Useful for substituting an embedded antecedent with a
       definition.  (Contributed by NM, 5-Aug-1993.) $)
    syl5bi $p |- ( ch -> ( ph -> th ) ) $=
      ( biimpi syl5 ) ABCDABEGFH $.
  $}

  ${
    syl5bir.1 $e |- ( ps <-> ph ) $.
    syl5bir.2 $e |- ( ch -> ( ps -> th ) ) $.
    $( A mixed syllogism inference from a nested implication and a
       biconditional.  (Contributed by NM, 5-Aug-1993.) $)
    syl5bir $p |- ( ch -> ( ph -> th ) ) $=
      ( biimpri syl5 ) ABCDBAEGFH $.
  $}

  ${
    syl5ib.1 $e |- ( ph -> ps ) $.
    syl5ib.2 $e |- ( ch -> ( ps <-> th ) ) $.
    $( A mixed syllogism inference.  (Contributed by NM, 5-Aug-1993.) $)
    syl5ib $p |- ( ch -> ( ph -> th ) ) $=
      ( biimpd syl5 ) ABCDECBDFGH $.

    $( A mixed syllogism inference.  (Contributed by NM, 19-Jun-2007.) $)
    syl5ibcom $p |- ( ph -> ( ch -> th ) ) $=
      ( syl5ib com12 ) CADABCDEFGH $.
  $}

  ${
    syl5ibr.1 $e |- ( ph -> th ) $.
    syl5ibr.2 $e |- ( ch -> ( ps <-> th ) ) $.
    $( A mixed syllogism inference.  (Contributed by NM, 3-Apr-1994.) $)
    syl5ibr $p |- ( ch -> ( ph -> ps ) ) $=
      ( bicomd syl5ib ) ADCBECBDFGH $.

    $( A mixed syllogism inference.  (Contributed by NM, 20-Jun-2007.) $)
    syl5ibrcom $p |- ( ph -> ( ch -> ps ) ) $=
      ( syl5ibr com12 ) CABABCDEFGH $.
  $}

  ${
    biimprd.1 $e |- ( ph -> ( ps <-> ch ) ) $.
    $( Deduce a converse implication from a logical equivalence.  (Contributed
       by NM, 5-Aug-1993.)  (Proof shortened by Wolf Lammen, 22-Sep-2013.) $)
    biimprd $p |- ( ph -> ( ch -> ps ) ) $=
      ( id syl5ibr ) CBACCEDF $.
  $}

  ${
    biimpcd.1 $e |- ( ph -> ( ps <-> ch ) ) $.
    $( Deduce a commuted implication from a logical equivalence.  (Contributed
       by NM, 3-May-1994.)  (Proof shortened by Wolf Lammen, 22-Sep-2013.) $)
    biimpcd $p |- ( ps -> ( ph -> ch ) ) $=
      ( id syl5ibcom ) BBACBEDF $.

    $( Deduce a converse commuted implication from a logical equivalence.
       (Contributed by NM, 3-May-1994.)  (Proof shortened by Wolf Lammen,
       20-Dec-2013.) $)
    biimprcd $p |- ( ch -> ( ph -> ps ) ) $=
      ( id syl5ibrcom ) CBACCEDF $.
  $}

  ${
    syl6ib.1 $e |- ( ph -> ( ps -> ch ) ) $.
    syl6ib.2 $e |- ( ch <-> th ) $.
    $( A mixed syllogism inference from a nested implication and a
       biconditional.  (Contributed by NM, 5-Aug-1993.) $)
    syl6ib $p |- ( ph -> ( ps -> th ) ) $=
      ( biimpi syl6 ) ABCDECDFGH $.
  $}

  ${
    syl6ibr.1 $e |- ( ph -> ( ps -> ch ) ) $.
    syl6ibr.2 $e |- ( th <-> ch ) $.
    $( A mixed syllogism inference from a nested implication and a
       biconditional.  Useful for substituting an embedded consequent with a
       definition.  (Contributed by NM, 5-Aug-1993.) $)
    syl6ibr $p |- ( ph -> ( ps -> th ) ) $=
      ( biimpri syl6 ) ABCDEDCFGH $.
  $}

  ${
    syl6bi.1 $e |- ( ph -> ( ps <-> ch ) ) $.
    syl6bi.2 $e |- ( ch -> th ) $.
    $( A mixed syllogism inference.  (Contributed by NM, 2-Jan-1994.) $)
    syl6bi $p |- ( ph -> ( ps -> th ) ) $=
      ( biimpd syl6 ) ABCDABCEGFH $.
  $}

  ${
    syl6bir.1 $e |- ( ph -> ( ch <-> ps ) ) $.
    syl6bir.2 $e |- ( ch -> th ) $.
    $( A mixed syllogism inference.  (Contributed by NM, 18-May-1994.) $)
    syl6bir $p |- ( ph -> ( ps -> th ) ) $=
      ( biimprd syl6 ) ABCDACBEGFH $.
  $}

  ${
    syl7bi.1 $e |- ( ph <-> ps ) $.
    syl7bi.2 $e |- ( ch -> ( th -> ( ps -> ta ) ) ) $.
    $( A mixed syllogism inference from a doubly nested implication and a
       biconditional.  (Contributed by NM, 5-Aug-1993.) $)
    syl7bi $p |- ( ch -> ( th -> ( ph -> ta ) ) ) $=
      ( biimpi syl7 ) ABCDEABFHGI $.
  $}

  ${
    syl8ib.1 $e |- ( ph -> ( ps -> ( ch -> th ) ) ) $.
    syl8ib.2 $e |- ( th <-> ta ) $.
    $( A syllogism rule of inference.  The second premise is used to replace
       the consequent of the first premise.  (Contributed by NM,
       1-Aug-1994.) $)
    syl8ib $p |- ( ph -> ( ps -> ( ch -> ta ) ) ) $=
      ( biimpi syl8 ) ABCDEFDEGHI $.
  $}

  ${
    mpbird.min $e |- ( ph -> ch ) $.
    mpbird.maj $e |- ( ph -> ( ps <-> ch ) ) $.
    $( A deduction from a biconditional, related to modus ponens.  (Contributed
       by NM, 5-Aug-1993.) $)
    mpbird $p |- ( ph -> ps ) $=
      ( biimprd mpd ) ACBDABCEFG $.
  $}

  ${
    mpbiri.min $e |- ch $.
    mpbiri.maj $e |- ( ph -> ( ps <-> ch ) ) $.
    $( An inference from a nested biconditional, related to modus ponens.
       (Contributed by NM, 5-Aug-1993.)  (Proof shortened by Wolf Lammen,
       25-Oct-2012.) $)
    mpbiri $p |- ( ph -> ps ) $=
      ( a1i mpbird ) ABCCADFEG $.
  $}

  ${
    sylibrd.1 $e |- ( ph -> ( ps -> ch ) ) $.
    sylibrd.2 $e |- ( ph -> ( th <-> ch ) ) $.
    $( A syllogism deduction.  (Contributed by NM, 3-Aug-1994.) $)
    sylibrd $p |- ( ph -> ( ps -> th ) ) $=
      ( biimprd syld ) ABCDEADCFGH $.
  $}

  ${
    sylbird.1 $e |- ( ph -> ( ch <-> ps ) ) $.
    sylbird.2 $e |- ( ph -> ( ch -> th ) ) $.
    $( A syllogism deduction.  (Contributed by NM, 3-Aug-1994.) $)
    sylbird $p |- ( ph -> ( ps -> th ) ) $=
      ( biimprd syld ) ABCDACBEGFH $.
  $}

  $( Principle of identity for logical equivalence.  Theorem *4.2 of
     [WhiteheadRussell] p. 117.  (Contributed by NM, 5-Aug-1993.) $)
  biid $p |- ( ph <-> ph ) $=
    ( id impbii ) AAABZDC $.

  $( Principle of identity with antecedent.  (Contributed by NM,
     25-Nov-1995.) $)
  biidd $p |- ( ph -> ( ps <-> ps ) ) $=
    ( wb biid a1i ) BBCABDE $.

  $( Two propositions are equivalent if they are both true.  Closed form of
     ~ 2th .  Equivalent to a ~ bi1 -like version of the xor-connective.  This
     theorem stays true, no matter how you permute its operands.  This is
     evident from its sharper version
     ` ( ph <-> ( ps <-> ( ph <-> ps ) ) ) ` .  (Contributed by Wolf Lammen,
     12-May-2013.) $)
  pm5.1im $p |- ( ph -> ( ps -> ( ph <-> ps ) ) ) $=
    ( ax-1 impbid21d ) ABABBACABCD $.

  ${
    2th.1 $e |- ph $.
    2th.2 $e |- ps $.
    $( Two truths are equivalent.  (Contributed by NM, 18-Aug-1993.) $)
    2th $p |- ( ph <-> ps ) $=
      ( a1i impbii ) ABBADEABCEF $.
  $}

  ${
    2thd.1 $e |- ( ph -> ps ) $.
    2thd.2 $e |- ( ph -> ch ) $.
    $( Two truths are equivalent (deduction rule).  (Contributed by NM,
       3-Jun-2012.) $)
    2thd $p |- ( ph -> ( ps <-> ch ) ) $=
      ( wb pm5.1im sylc ) ABCBCFDEBCGH $.
  $}

  ${
    ibi.1 $e |- ( ph -> ( ph <-> ps ) ) $.
    $( Inference that converts a biconditional implied by one of its arguments,
       into an implication.  (Contributed by NM, 17-Oct-2003.) $)
    ibi $p |- ( ph -> ps ) $=
      ( biimpd pm2.43i ) ABAABCDE $.
  $}

  ${
    ibir.1 $e |- ( ph -> ( ps <-> ph ) ) $.
    $( Inference that converts a biconditional implied by one of its arguments,
       into an implication.  (Contributed by NM, 22-Jul-2004.) $)
    ibir $p |- ( ph -> ps ) $=
      ( bicomd ibi ) ABABACDE $.
  $}

  ${
    ibd.1 $e |- ( ph -> ( ps -> ( ps <-> ch ) ) ) $.
    $( Deduction that converts a biconditional implied by one of its arguments,
       into an implication.  (Contributed by NM, 26-Jun-2004.) $)
    ibd $p |- ( ph -> ( ps -> ch ) ) $=
      ( wb bi1 syli ) BABCECDBCFG $.
  $}

  $( Distribution of implication over biconditional.  Theorem *5.74 of
     [WhiteheadRussell] p. 126.  (Contributed by NM, 1-Aug-1994.)  (Proof
     shortened by Wolf Lammen, 11-Apr-2013.) $)
  pm5.74 $p |- ( ( ph -> ( ps <-> ch ) ) <->
               ( ( ph -> ps ) <-> ( ph -> ch ) ) ) $=
    ( wb wi bi1 imim3i bi2 impbid pm2.86d impbidd impbii ) ABCDZEZABEZACEZDZNOP
    MBCABCFGMCBABCHGIQABCQABCOPFJQACBOPHJKL $.

  ${
    pm5.74i.1 $e |- ( ph -> ( ps <-> ch ) ) $.
    $( Distribution of implication over biconditional (inference rule).
       (Contributed by NM, 1-Aug-1994.) $)
    pm5.74i $p |- ( ( ph -> ps ) <-> ( ph -> ch ) ) $=
      ( wb wi pm5.74 mpbi ) ABCEFABFACFEDABCGH $.
  $}

  ${
    pm5.74ri.1 $e |- ( ( ph -> ps ) <-> ( ph -> ch ) ) $.
    $( Distribution of implication over biconditional (reverse inference
       rule).  (Contributed by NM, 1-Aug-1994.) $)
    pm5.74ri $p |- ( ph -> ( ps <-> ch ) ) $=
      ( wb wi pm5.74 mpbir ) ABCEFABFACFEDABCGH $.
  $}

  ${
    pm5.74d.1 $e |- ( ph -> ( ps -> ( ch <-> th ) ) ) $.
    $( Distribution of implication over biconditional (deduction rule).
       (Contributed by NM, 21-Mar-1996.) $)
    pm5.74d $p |- ( ph -> ( ( ps -> ch ) <-> ( ps -> th ) ) ) $=
      ( wb wi pm5.74 sylib ) ABCDFGBCGBDGFEBCDHI $.
  $}

  ${
    pm5.74rd.1 $e |- ( ph -> ( ( ps -> ch ) <-> ( ps -> th ) ) ) $.
    $( Distribution of implication over biconditional (deduction rule).
       (Contributed by NM, 19-Mar-1997.) $)
    pm5.74rd $p |- ( ph -> ( ps -> ( ch <-> th ) ) ) $=
      ( wi wb pm5.74 sylibr ) ABCFBDFGBCDGFEBCDHI $.
  $}

  ${
    bitri.1 $e |- ( ph <-> ps ) $.
    bitri.2 $e |- ( ps <-> ch ) $.
    $( An inference from transitive law for logical equivalence.  (Contributed
       by NM, 5-Aug-1993.)  (Proof shortened by Wolf Lammen, 13-Oct-2012.) $)
    bitri $p |- ( ph <-> ch ) $=
      ( biimpi sylib biimpri sylibr impbii ) ACABCABDFEGCBABCEHDIJ $.
  $}

  ${
    bitr2i.1 $e |- ( ph <-> ps ) $.
    bitr2i.2 $e |- ( ps <-> ch ) $.
    $( An inference from transitive law for logical equivalence.  (Contributed
       by NM, 5-Aug-1993.) $)
    bitr2i $p |- ( ch <-> ph ) $=
      ( bitri bicomi ) ACABCDEFG $.
  $}

  ${
    bitr3i.1 $e |- ( ps <-> ph ) $.
    bitr3i.2 $e |- ( ps <-> ch ) $.
    $( An inference from transitive law for logical equivalence.  (Contributed
       by NM, 5-Aug-1993.) $)
    bitr3i $p |- ( ph <-> ch ) $=
      ( bicomi bitri ) ABCBADFEG $.
  $}

  ${
    bitr4i.1 $e |- ( ph <-> ps ) $.
    bitr4i.2 $e |- ( ch <-> ps ) $.
    $( An inference from transitive law for logical equivalence.  (Contributed
       by NM, 5-Aug-1993.) $)
    bitr4i $p |- ( ph <-> ch ) $=
      ( bicomi bitri ) ABCDCBEFG $.
  $}

  $( Register '<->' as an equality for its type (wff). $)
  $( $j
    equality 'wb' from 'biid' 'bicomi' 'bitri';
    definition 'dfbi1' for 'wb';
  $)

  ${
    bitrd.1 $e |- ( ph -> ( ps <-> ch ) ) $.
    bitrd.2 $e |- ( ph -> ( ch <-> th ) ) $.
    $( Deduction form of ~ bitri .  (Contributed by NM, 5-Aug-1993.)  (Proof
       shortened by Wolf Lammen, 14-Apr-2013.) $)
    bitrd $p |- ( ph -> ( ps <-> th ) ) $=
      ( wi pm5.74i bitri pm5.74ri ) ABDABGACGADGABCEHACDFHIJ $.
  $}

  ${
    bitr2d.1 $e |- ( ph -> ( ps <-> ch ) ) $.
    bitr2d.2 $e |- ( ph -> ( ch <-> th ) ) $.
    $( Deduction form of ~ bitr2i .  (Contributed by NM, 9-Jun-2004.) $)
    bitr2d $p |- ( ph -> ( th <-> ps ) ) $=
      ( bitrd bicomd ) ABDABCDEFGH $.
  $}

  ${
    bitr3d.1 $e |- ( ph -> ( ps <-> ch ) ) $.
    bitr3d.2 $e |- ( ph -> ( ps <-> th ) ) $.
    $( Deduction form of ~ bitr3i .  (Contributed by NM, 5-Aug-1993.) $)
    bitr3d $p |- ( ph -> ( ch <-> th ) ) $=
      ( bicomd bitrd ) ACBDABCEGFH $.
  $}

  ${
    bitr4d.1 $e |- ( ph -> ( ps <-> ch ) ) $.
    bitr4d.2 $e |- ( ph -> ( th <-> ch ) ) $.
    $( Deduction form of ~ bitr4i .  (Contributed by NM, 5-Aug-1993.) $)
    bitr4d $p |- ( ph -> ( ps <-> th ) ) $=
      ( bicomd bitrd ) ABCDEADCFGH $.
  $}

  ${
    syl5bb.1 $e |- ( ph <-> ps ) $.
    syl5bb.2 $e |- ( ch -> ( ps <-> th ) ) $.
    $( A syllogism inference from two biconditionals.  (Contributed by NM,
       5-Aug-1993.) $)
    syl5bb $p |- ( ch -> ( ph <-> th ) ) $=
      ( wb a1i bitrd ) CABDABGCEHFI $.
  $}

  ${
    syl5rbb.1 $e |- ( ph <-> ps ) $.
    syl5rbb.2 $e |- ( ch -> ( ps <-> th ) ) $.
    $( A syllogism inference from two biconditionals.  (Contributed by NM,
       5-Aug-1993.) $)
    syl5rbb $p |- ( ch -> ( th <-> ph ) ) $=
      ( syl5bb bicomd ) CADABCDEFGH $.
  $}

  ${
    syl5bbr.1 $e |- ( ps <-> ph ) $.
    syl5bbr.2 $e |- ( ch -> ( ps <-> th ) ) $.
    $( A syllogism inference from two biconditionals.  (Contributed by NM,
       5-Aug-1993.) $)
    syl5bbr $p |- ( ch -> ( ph <-> th ) ) $=
      ( bicomi syl5bb ) ABCDBAEGFH $.
  $}

  ${
    syl5rbbr.1 $e |- ( ps <-> ph ) $.
    syl5rbbr.2 $e |- ( ch -> ( ps <-> th ) ) $.
    $( A syllogism inference from two biconditionals.  (Contributed by NM,
       25-Nov-1994.) $)
    syl5rbbr $p |- ( ch -> ( th <-> ph ) ) $=
      ( bicomi syl5rbb ) ABCDBAEGFH $.
  $}

  ${
    syl6bb.1 $e |- ( ph -> ( ps <-> ch ) ) $.
    syl6bb.2 $e |- ( ch <-> th ) $.
    $( A syllogism inference from two biconditionals.  (Contributed by NM,
       5-Aug-1993.) $)
    syl6bb $p |- ( ph -> ( ps <-> th ) ) $=
      ( wb a1i bitrd ) ABCDECDGAFHI $.
  $}

  ${
    syl6rbb.1 $e |- ( ph -> ( ps <-> ch ) ) $.
    syl6rbb.2 $e |- ( ch <-> th ) $.
    $( A syllogism inference from two biconditionals.  (Contributed by NM,
       5-Aug-1993.) $)
    syl6rbb $p |- ( ph -> ( th <-> ps ) ) $=
      ( syl6bb bicomd ) ABDABCDEFGH $.
  $}

  ${
    syl6bbr.1 $e |- ( ph -> ( ps <-> ch ) ) $.
    syl6bbr.2 $e |- ( th <-> ch ) $.
    $( A syllogism inference from two biconditionals.  (Contributed by NM,
       5-Aug-1993.) $)
    syl6bbr $p |- ( ph -> ( ps <-> th ) ) $=
      ( bicomi syl6bb ) ABCDEDCFGH $.
  $}

  ${
    syl6rbbr.1 $e |- ( ph -> ( ps <-> ch ) ) $.
    syl6rbbr.2 $e |- ( th <-> ch ) $.
    $( A syllogism inference from two biconditionals.  (Contributed by NM,
       25-Nov-1994.) $)
    syl6rbbr $p |- ( ph -> ( th <-> ps ) ) $=
      ( bicomi syl6rbb ) ABCDEDCFGH $.
  $}

  ${
    3imtr3.1 $e |- ( ph -> ps ) $.
    3imtr3.2 $e |- ( ph <-> ch ) $.
    3imtr3.3 $e |- ( ps <-> th ) $.
    $( A mixed syllogism inference, useful for removing a definition from both
       sides of an implication.  (Contributed by NM, 10-Aug-1994.) $)
    3imtr3i $p |- ( ch -> th ) $=
      ( sylbir sylib ) CBDCABFEHGI $.
  $}

  ${
    3imtr4.1 $e |- ( ph -> ps ) $.
    3imtr4.2 $e |- ( ch <-> ph ) $.
    3imtr4.3 $e |- ( th <-> ps ) $.
    $( A mixed syllogism inference, useful for applying a definition to both
       sides of an implication.  (Contributed by NM, 5-Aug-1993.) $)
    3imtr4i $p |- ( ch -> th ) $=
      ( sylbi sylibr ) CBDCABFEHGI $.
  $}

  ${
    3imtr3d.1 $e |- ( ph -> ( ps -> ch ) ) $.
    3imtr3d.2 $e |- ( ph -> ( ps <-> th ) ) $.
    3imtr3d.3 $e |- ( ph -> ( ch <-> ta ) ) $.
    $( More general version of ~ 3imtr3i .  Useful for converting conditional
       definitions in a formula.  (Contributed by NM, 8-Apr-1996.) $)
    3imtr3d $p |- ( ph -> ( th -> ta ) ) $=
      ( sylibd sylbird ) ADBEGABCEFHIJ $.
  $}

  ${
    3imtr4d.1 $e |- ( ph -> ( ps -> ch ) ) $.
    3imtr4d.2 $e |- ( ph -> ( th <-> ps ) ) $.
    3imtr4d.3 $e |- ( ph -> ( ta <-> ch ) ) $.
    $( More general version of ~ 3imtr4i .  Useful for converting conditional
       definitions in a formula.  (Contributed by NM, 26-Oct-1995.) $)
    3imtr4d $p |- ( ph -> ( th -> ta ) ) $=
      ( sylibrd sylbid ) ADBEGABCEFHIJ $.
  $}

  ${
    3imtr3g.1 $e |- ( ph -> ( ps -> ch ) ) $.
    3imtr3g.2 $e |- ( ps <-> th ) $.
    3imtr3g.3 $e |- ( ch <-> ta ) $.
    $( More general version of ~ 3imtr3i .  Useful for converting definitions
       in a formula.  (Contributed by NM, 20-May-1996.)  (Proof shortened by
       Wolf Lammen, 20-Dec-2013.) $)
    3imtr3g $p |- ( ph -> ( th -> ta ) ) $=
      ( syl5bir syl6ib ) ADCEDBACGFIHJ $.
  $}

  ${
    3imtr4g.1 $e |- ( ph -> ( ps -> ch ) ) $.
    3imtr4g.2 $e |- ( th <-> ps ) $.
    3imtr4g.3 $e |- ( ta <-> ch ) $.
    $( More general version of ~ 3imtr4i .  Useful for converting definitions
       in a formula.  (Contributed by NM, 20-May-1996.)  (Proof shortened by
       Wolf Lammen, 20-Dec-2013.) $)
    3imtr4g $p |- ( ph -> ( th -> ta ) ) $=
      ( syl5bi syl6ibr ) ADCEDBACGFIHJ $.
  $}

  ${
    3bitri.1 $e |- ( ph <-> ps ) $.
    3bitri.2 $e |- ( ps <-> ch ) $.
    3bitri.3 $e |- ( ch <-> th ) $.
    $( A chained inference from transitive law for logical equivalence.
       (Contributed by NM, 5-Aug-1993.) $)
    3bitri $p |- ( ph <-> th ) $=
      ( bitri ) ABDEBCDFGHH $.

    $( A chained inference from transitive law for logical equivalence.
       (Contributed by NM, 4-Aug-2006.) $)
    3bitrri $p |- ( th <-> ph ) $=
      ( bitr2i bitr3i ) DCAGABCEFHI $.
  $}

  ${
    3bitr2i.1 $e |- ( ph <-> ps ) $.
    3bitr2i.2 $e |- ( ch <-> ps ) $.
    3bitr2i.3 $e |- ( ch <-> th ) $.
    $( A chained inference from transitive law for logical equivalence.
       (Contributed by NM, 4-Aug-2006.) $)
    3bitr2i $p |- ( ph <-> th ) $=
      ( bitr4i bitri ) ACDABCEFHGI $.

    $( A chained inference from transitive law for logical equivalence.
       (Contributed by NM, 4-Aug-2006.) $)
    3bitr2ri $p |- ( th <-> ph ) $=
      ( bitr4i bitr2i ) ACDABCEFHGI $.
  $}

  ${
    3bitr3i.1 $e |- ( ph <-> ps ) $.
    3bitr3i.2 $e |- ( ph <-> ch ) $.
    3bitr3i.3 $e |- ( ps <-> th ) $.
    $( A chained inference from transitive law for logical equivalence.
       (Contributed by NM, 19-Aug-1993.) $)
    3bitr3i $p |- ( ch <-> th ) $=
      ( bitr3i bitri ) CBDCABFEHGI $.

    $( A chained inference from transitive law for logical equivalence.
       (Contributed by NM, 5-Aug-1993.) $)
    3bitr3ri $p |- ( th <-> ch ) $=
      ( bitr3i ) DBCGBACEFHH $.
  $}

  ${
    3bitr4i.1 $e |- ( ph <-> ps ) $.
    3bitr4i.2 $e |- ( ch <-> ph ) $.
    3bitr4i.3 $e |- ( th <-> ps ) $.
    $( A chained inference from transitive law for logical equivalence.  This
       inference is frequently used to apply a definition to both sides of a
       logical equivalence.  (Contributed by NM, 5-Aug-1993.) $)
    3bitr4i $p |- ( ch <-> th ) $=
      ( bitr4i bitri ) CADFABDEGHI $.

    $( A chained inference from transitive law for logical equivalence.
       (Contributed by NM, 2-Sep-1995.) $)
    3bitr4ri $p |- ( th <-> ch ) $=
      ( bitr4i bitr2i ) CADFABDEGHI $.
  $}

  ${
    3bitrd.1 $e |- ( ph -> ( ps <-> ch ) ) $.
    3bitrd.2 $e |- ( ph -> ( ch <-> th ) ) $.
    3bitrd.3 $e |- ( ph -> ( th <-> ta ) ) $.
    $( Deduction from transitivity of biconditional.  (Contributed by NM,
       13-Aug-1999.) $)
    3bitrd $p |- ( ph -> ( ps <-> ta ) ) $=
      ( bitrd ) ABDEABCDFGIHI $.

    $( Deduction from transitivity of biconditional.  (Contributed by NM,
       4-Aug-2006.) $)
    3bitrrd $p |- ( ph -> ( ta <-> ps ) ) $=
      ( bitr2d bitr3d ) ADEBHABCDFGIJ $.
  $}

  ${
    3bitr2d.1 $e |- ( ph -> ( ps <-> ch ) ) $.
    3bitr2d.2 $e |- ( ph -> ( th <-> ch ) ) $.
    3bitr2d.3 $e |- ( ph -> ( th <-> ta ) ) $.
    $( Deduction from transitivity of biconditional.  (Contributed by NM,
       4-Aug-2006.) $)
    3bitr2d $p |- ( ph -> ( ps <-> ta ) ) $=
      ( bitr4d bitrd ) ABDEABCDFGIHJ $.

    $( Deduction from transitivity of biconditional.  (Contributed by NM,
       4-Aug-2006.) $)
    3bitr2rd $p |- ( ph -> ( ta <-> ps ) ) $=
      ( bitr4d bitr2d ) ABDEABCDFGIHJ $.
  $}

  ${
    3bitr3d.1 $e |- ( ph -> ( ps <-> ch ) ) $.
    3bitr3d.2 $e |- ( ph -> ( ps <-> th ) ) $.
    3bitr3d.3 $e |- ( ph -> ( ch <-> ta ) ) $.
    $( Deduction from transitivity of biconditional.  Useful for converting
       conditional definitions in a formula.  (Contributed by NM,
       24-Apr-1996.) $)
    3bitr3d $p |- ( ph -> ( th <-> ta ) ) $=
      ( bitr3d bitrd ) ADCEABDCGFIHJ $.

    $( Deduction from transitivity of biconditional.  (Contributed by NM,
       4-Aug-2006.) $)
    3bitr3rd $p |- ( ph -> ( ta <-> th ) ) $=
      ( bitr3d ) ACEDHABCDFGII $.
  $}

  ${
    3bitr4d.1 $e |- ( ph -> ( ps <-> ch ) ) $.
    3bitr4d.2 $e |- ( ph -> ( th <-> ps ) ) $.
    3bitr4d.3 $e |- ( ph -> ( ta <-> ch ) ) $.
    $( Deduction from transitivity of biconditional.  Useful for converting
       conditional definitions in a formula.  (Contributed by NM,
       18-Oct-1995.) $)
    3bitr4d $p |- ( ph -> ( th <-> ta ) ) $=
      ( bitr4d bitrd ) ADBEGABCEFHIJ $.

    $( Deduction from transitivity of biconditional.  (Contributed by NM,
       4-Aug-2006.) $)
    3bitr4rd $p |- ( ph -> ( ta <-> th ) ) $=
      ( bitr4d ) AEBDAECBHFIGI $.
  $}

  ${
    3bitr3g.1 $e |- ( ph -> ( ps <-> ch ) ) $.
    3bitr3g.2 $e |- ( ps <-> th ) $.
    3bitr3g.3 $e |- ( ch <-> ta ) $.
    $( More general version of ~ 3bitr3i .  Useful for converting definitions
       in a formula.  (Contributed by NM, 4-Jun-1995.) $)
    3bitr3g $p |- ( ph -> ( th <-> ta ) ) $=
      ( syl5bbr syl6bb ) ADCEDBACGFIHJ $.
  $}

  ${
    3bitr4g.1 $e |- ( ph -> ( ps <-> ch ) ) $.
    3bitr4g.2 $e |- ( th <-> ps ) $.
    3bitr4g.3 $e |- ( ta <-> ch ) $.
    $( More general version of ~ 3bitr4i .  Useful for converting definitions
       in a formula.  (Contributed by NM, 5-Aug-1993.) $)
    3bitr4g $p |- ( ph -> ( th <-> ta ) ) $=
      ( syl5bb syl6bbr ) ADCEDBACGFIHJ $.
  $}

  ${
    bi3ant.1 $e |- ( ph -> ( ps -> ch ) ) $.
    $( Construct a bi-conditional in antecedent position.  (Contributed by Wolf
       Lammen, 14-May-2013.) $)
    bi3ant $p |- ( ( ( th -> ta ) -> ph )
        -> ( ( ( ta -> th ) -> ps ) -> ( ( th <-> ta ) -> ch ) ) ) $=
      ( wi wb bi1 imim1i bi2 imim3i syl2im ) DEGZAGDEHZAGEDGZBGOBGOCGONADEIJOPB
      DEKJABCOFLM $.
  $}

  $( Express symmetries of theorems in terms of biconditionals.  (Contributed
     by Wolf Lammen, 14-May-2013.) $)
  bisym $p |- ( ( ( ph -> ps ) -> ( ch -> th ) ) -> ( ( ( ps -> ph )
      -> ( th -> ch ) ) -> ( ( ph <-> ps ) -> ( ch <-> th ) ) ) ) $=
    ( wi wb bi3 bi3ant ) CDEDCECDFABCDGH $.

  $( Double negation.  Theorem *4.13 of [WhiteheadRussell] p. 117.
     (Contributed by NM, 5-Aug-1993.) $)
  notnot $p |- ( ph <-> -. -. ph ) $=
    ( wn notnot1 notnot2 impbii ) AABBACADE $.

  $( Contraposition.  Theorem *4.1 of [WhiteheadRussell] p. 116.  (Contributed
     by NM, 5-Aug-1993.) $)
  con34b $p |- ( ( ph -> ps ) <-> ( -. ps -> -. ph ) ) $=
    ( wi wn con3 ax-3 impbii ) ABCBDADCABEBAFG $.

  ${
    con4bid.1 $e |- ( ph -> ( -. ps <-> -. ch ) ) $.
    $( A contraposition deduction.  (Contributed by NM, 21-May-1994.) $)
    con4bid $p |- ( ph -> ( ps <-> ch ) ) $=
      ( wn biimprd con4d biimpd impcon4bid ) ABCACBABEZCEZDFGAJKDHI $.
  $}

  ${
    notbid.1 $e |- ( ph -> ( ps <-> ch ) ) $.
    $( Deduction negating both sides of a logical equivalence.  (Contributed by
       NM, 21-May-1994.) $)
    notbid $p |- ( ph -> ( -. ps <-> -. ch ) ) $=
      ( wn notnot 3bitr3g con4bid ) ABEZCEZABCIEJEDBFCFGH $.
  $}

  $( Contraposition.  Theorem *4.11 of [WhiteheadRussell] p. 117.  (Contributed
     by NM, 21-May-1994.)  (Proof shortened by Wolf Lammen, 12-Jun-2013.) $)
  notbi $p |- ( ( ph <-> ps ) <-> ( -. ph <-> -. ps ) ) $=
    ( wb wn id notbid con4bid impbii ) ABCZADBDCZIABIEFJABJEGH $.

  ${
    notbii.1 $e |- ( ph <-> ps ) $.
    $( Negate both sides of a logical equivalence.  (Contributed by NM,
       5-Aug-1993.)  (Proof shortened by Wolf Lammen, 19-May-2013.) $)
    notbii $p |- ( -. ph <-> -. ps ) $=
      ( wb wn notbi mpbi ) ABDAEBEDCABFG $.

    $( Theorem notbii is the congruence law for negation. $)
    $( $j congruence 'notbii'; $)
  $}

  ${
    con4bii.1 $e |- ( -. ph <-> -. ps ) $.
    $( A contraposition inference.  (Contributed by NM, 21-May-1994.) $)
    con4bii $p |- ( ph <-> ps ) $=
      ( wb wn notbi mpbir ) ABDAEBEDCABFG $.
  $}

  ${
    mtbi.1 $e |- -. ph $.
    mtbi.2 $e |- ( ph <-> ps ) $.
    $( An inference from a biconditional, related to modus tollens.
       (Contributed by NM, 15-Nov-1994.)  (Proof shortened by Wolf Lammen,
       25-Oct-2012.) $)
    mtbi $p |- -. ps $=
      ( biimpri mto ) BACABDEF $.
  $}

  ${
    mtbir.1 $e |- -. ps $.
    mtbir.2 $e |- ( ph <-> ps ) $.
    $( An inference from a biconditional, related to modus tollens.
       (Contributed by NM, 15-Nov-1994.)  (Proof shortened by Wolf Lammen,
       14-Oct-2012.) $)
    mtbir $p |- -. ph $=
      ( bicomi mtbi ) BACABDEF $.
  $}

  ${
    mtbid.min $e |- ( ph -> -. ps ) $.
    mtbid.maj $e |- ( ph -> ( ps <-> ch ) ) $.
    $( A deduction from a biconditional, similar to modus tollens.
       (Contributed by NM, 26-Nov-1995.) $)
    mtbid $p |- ( ph -> -. ch ) $=
      ( biimprd mtod ) ACBDABCEFG $.
  $}

  ${
    mtbird.min $e |- ( ph -> -. ch ) $.
    mtbird.maj $e |- ( ph -> ( ps <-> ch ) ) $.
    $( A deduction from a biconditional, similar to modus tollens.
       (Contributed by NM, 10-May-1994.) $)
    mtbird $p |- ( ph -> -. ps ) $=
      ( biimpd mtod ) ABCDABCEFG $.
  $}

  ${
    mtbii.min $e |- -. ps $.
    mtbii.maj $e |- ( ph -> ( ps <-> ch ) ) $.
    $( An inference from a biconditional, similar to modus tollens.
       (Contributed by NM, 27-Nov-1995.) $)
    mtbii $p |- ( ph -> -. ch ) $=
      ( biimprd mtoi ) ACBDABCEFG $.
  $}

  ${
    mtbiri.min $e |- -. ch $.
    mtbiri.maj $e |- ( ph -> ( ps <-> ch ) ) $.
    $( An inference from a biconditional, similar to modus tollens.
       (Contributed by NM, 24-Aug-1995.) $)
    mtbiri $p |- ( ph -> -. ps ) $=
      ( biimpd mtoi ) ABCDABCEFG $.
  $}

  ${
    sylnib.1 $e |- ( ph -> -. ps ) $.
    sylnib.2 $e |- ( ps <-> ch ) $.
    $( A mixed syllogism inference from an implication and a biconditional.
       (Contributed by Wolf Lammen, 16-Dec-2013.) $)
    sylnib $p |- ( ph -> -. ch ) $=
      ( wb a1i mtbid ) ABCDBCFAEGH $.
  $}

  ${
    sylnibr.1 $e |- ( ph -> -. ps ) $.
    sylnibr.2 $e |- ( ch <-> ps ) $.
    $( A mixed syllogism inference from an implication and a biconditional.
       Useful for substituting a consequent with a definition.  (Contributed by
       Wolf Lammen, 16-Dec-2013.) $)
    sylnibr $p |- ( ph -> -. ch ) $=
      ( bicomi sylnib ) ABCDCBEFG $.
  $}

  ${
    sylnbi.1 $e |- ( ph <-> ps ) $.
    sylnbi.2 $e |- ( -. ps -> ch ) $.
    $( A mixed syllogism inference from a biconditional and an implication.
       Useful for substituting an antecedent with a definition.  (Contributed
       by Wolf Lammen, 16-Dec-2013.) $)
    sylnbi $p |- ( -. ph -> ch ) $=
      ( wn notbii sylbi ) AFBFCABDGEH $.
  $}

  ${
    sylnbir.1 $e |- ( ps <-> ph ) $.
    sylnbir.2 $e |- ( -. ps -> ch ) $.
    $( A mixed syllogism inference from a biconditional and an implication.
       (Contributed by Wolf Lammen, 16-Dec-2013.) $)
    sylnbir $p |- ( -. ph -> ch ) $=
      ( bicomi sylnbi ) ABCBADFEG $.
  $}

  ${
    xchnxbi.1 $e |- ( -. ph <-> ps ) $.
    xchnxbi.2 $e |- ( ph <-> ch ) $.
    $( Replacement of a subexpression by an equivalent one.  (Contributed by
       Wolf Lammen, 27-Sep-2014.) $)
    xchnxbi $p |- ( -. ch <-> ps ) $=
      ( wn notbii bitr3i ) CFAFBACEGDH $.
  $}

  ${
    xchnxbir.1 $e |- ( -. ph <-> ps ) $.
    xchnxbir.2 $e |- ( ch <-> ph ) $.
    $( Replacement of a subexpression by an equivalent one.  (Contributed by
       Wolf Lammen, 27-Sep-2014.) $)
    xchnxbir $p |- ( -. ch <-> ps ) $=
      ( bicomi xchnxbi ) ABCDCAEFG $.
  $}

  ${
    xchbinx.1 $e |- ( ph <-> -. ps ) $.
    xchbinx.2 $e |- ( ps <-> ch ) $.
    $( Replacement of a subexpression by an equivalent one.  (Contributed by
       Wolf Lammen, 27-Sep-2014.) $)
    xchbinx $p |- ( ph <-> -. ch ) $=
      ( wn notbii bitri ) ABFCFDBCEGH $.
  $}

  ${
    xchbinxr.1 $e |- ( ph <-> -. ps ) $.
    xchbinxr.2 $e |- ( ch <-> ps ) $.
    $( Replacement of a subexpression by an equivalent one.  (Contributed by
       Wolf Lammen, 27-Sep-2014.) $)
    xchbinxr $p |- ( ph <-> -. ch ) $=
      ( bicomi xchbinx ) ABCDCBEFG $.
  $}

  $( The next three rules are useful for building up wff's around a
     definition, in order to make use of the definition. $)

  ${
    bi.a $e |- ( ph <-> ps ) $.
    $( Introduce an antecedent to both sides of a logical equivalence.
       (Contributed by NM, 5-Aug-1993.)  (Proof shortened by Wolf Lammen,
       6-Feb-2013.) $)
    imbi2i $p |- ( ( ch -> ph ) <-> ( ch -> ps ) ) $=
      ( wb a1i pm5.74i ) CABABECDFG $.
  $}

  ${
    bibi.a $e |- ( ph <-> ps ) $.
    $( Inference adding a biconditional to the left in an equivalence.
       (Contributed by NM, 5-Aug-1993.)  (Proof shortened by Andrew Salmon,
       7-May-2011.)  (Proof shortened by Wolf Lammen, 16-May-2013.) $)
    bibi2i $p |- ( ( ch <-> ph ) <-> ( ch <-> ps ) ) $=
      ( wb id syl6bb syl6bbr impbii ) CAEZCBEZJCABJFDGKCBAKFDHI $.

    $( Inference adding a biconditional to the right in an equivalence.
       (Contributed by NM, 5-Aug-1993.) $)
    bibi1i $p |- ( ( ph <-> ch ) <-> ( ps <-> ch ) ) $=
      ( wb bicom bibi2i 3bitri ) ACECAECBEBCEACFABCDGCBFH $.

    ${
      bibi12.2 $e |- ( ch <-> th ) $.
      $( The equivalence of two equivalences.  (Contributed by NM,
         5-Aug-1993.) $)
      bibi12i $p |- ( ( ph <-> ch ) <-> ( ps <-> th ) ) $=
        ( wb bibi2i bibi1i bitri ) ACGADGBDGCDAFHABDEIJ $.
    $}
  $}

  ${
    imbid.1 $e |- ( ph -> ( ps <-> ch ) ) $.
    $( Deduction adding an antecedent to both sides of a logical equivalence.
       (Contributed by NM, 5-Aug-1993.) $)
    imbi2d $p |- ( ph -> ( ( th -> ps ) <-> ( th -> ch ) ) ) $=
      ( wb a1d pm5.74d ) ADBCABCFDEGH $.

    $( Deduction adding a consequent to both sides of a logical equivalence.
       (Contributed by NM, 5-Aug-1993.)  (Proof shortened by Wolf Lammen,
       17-Sep-2013.) $)
    imbi1d $p |- ( ph -> ( ( ps -> th ) <-> ( ch -> th ) ) ) $=
      ( wi biimprd imim1d biimpd impbid ) ABDFCDFACBDABCEGHABCDABCEIHJ $.

    $( Deduction adding a biconditional to the left in an equivalence.
       (Contributed by NM, 5-Aug-1993.)  (Proof shortened by Wolf Lammen,
       19-May-2013.) $)
    bibi2d $p |- ( ph -> ( ( th <-> ps ) <-> ( th <-> ch ) ) ) $=
      ( wb wi pm5.74i bibi2i pm5.74 3bitr4i pm5.74ri ) ADBFZDCFZADGZABGZFOACGZF
      AMGANGPQOABCEHIADBJADCJKL $.

    $( Deduction adding a biconditional to the right in an equivalence.
       (Contributed by NM, 5-Aug-1993.) $)
    bibi1d $p |- ( ph -> ( ( ps <-> th ) <-> ( ch <-> th ) ) ) $=
      ( wb bibi2d bicom 3bitr4g ) ADBFDCFBDFCDFABCDEGBDHCDHI $.
  $}

  ${
    imbi12d.1 $e |- ( ph -> ( ps <-> ch ) ) $.
    imbi12d.2 $e |- ( ph -> ( th <-> ta ) ) $.
    $( Deduction joining two equivalences to form equivalence of implications.
       (Contributed by NM, 5-Aug-1993.) $)
    imbi12d $p |- ( ph -> ( ( ps -> th ) <-> ( ch -> ta ) ) ) $=
      ( wi imbi1d imbi2d bitrd ) ABDHCDHCEHABCDFIADECGJK $.

    $( Deduction joining two equivalences to form equivalence of
       biconditionals.  (Contributed by NM, 5-Aug-1993.) $)
    bibi12d $p |- ( ph -> ( ( ps <-> th ) <-> ( ch <-> ta ) ) ) $=
      ( wb bibi1d bibi2d bitrd ) ABDHCDHCEHABCDFIADECGJK $.
  $}

  $( Theorem *4.84 of [WhiteheadRussell] p. 122.  (Contributed by NM,
     3-Jan-2005.) $)
  imbi1 $p |- ( ( ph <-> ps ) -> ( ( ph -> ch ) <-> ( ps -> ch ) ) ) $=
    ( wb id imbi1d ) ABDZABCGEF $.

  $( Theorem *4.85 of [WhiteheadRussell] p. 122.  (Contributed by NM,
     3-Jan-2005.)  (Proof shortened by Wolf Lammen, 19-May-2013.) $)
  imbi2 $p |- ( ( ph <-> ps ) -> ( ( ch -> ph ) <-> ( ch -> ps ) ) ) $=
    ( wb id imbi2d ) ABDZABCGEF $.

  ${
    imbi1i.1 $e |- ( ph <-> ps ) $.
    $( Introduce a consequent to both sides of a logical equivalence.
       (Contributed by NM, 5-Aug-1993.)  (Proof shortened by Wolf Lammen,
       17-Sep-2013.) $)
    imbi1i $p |- ( ( ph -> ch ) <-> ( ps -> ch ) ) $=
      ( wb wi imbi1 ax-mp ) ABEACFBCFEDABCGH $.
  $}

  ${
    imbi12i.1 $e |- ( ph <-> ps ) $.
    imbi12i.2 $e |- ( ch <-> th ) $.
    $( Join two logical equivalences to form equivalence of implications.
       (Contributed by NM, 5-Aug-1993.) $)
    imbi12i $p |- ( ( ph -> ch ) <-> ( ps -> th ) ) $=
      ( wi imbi2i imbi1i bitri ) ACGADGBDGCDAFHABDEIJ $.

    $( Theorem imbi12i is the congruence law for implication. $)
    $( $j congruence 'imbi12i'; $)
  $}

  $( Theorem *4.86 of [WhiteheadRussell] p. 122.  (Contributed by NM,
     3-Jan-2005.) $)
  bibi1 $p |- ( ( ph <-> ps ) -> ( ( ph <-> ch ) <-> ( ps <-> ch ) ) ) $=
    ( wb id bibi1d ) ABDZABCGEF $.

  $( Contraposition.  Theorem *4.12 of [WhiteheadRussell] p. 117.  (Contributed
     by NM, 15-Apr-1995.)  (Proof shortened by Wolf Lammen, 3-Jan-2013.) $)
  con2bi $p |- ( ( ph <-> -. ps ) <-> ( ps <-> -. ph ) ) $=
    ( wn wb notbi notnot bibi2i bicom 3bitr2i ) ABCZDACZJCZDKBDBKDAJEBLKBFGKBHI
    $.

  ${
    con2bid.1 $e |- ( ph -> ( ps <-> -. ch ) ) $.
    $( A contraposition deduction.  (Contributed by NM, 15-Apr-1995.) $)
    con2bid $p |- ( ph -> ( ch <-> -. ps ) ) $=
      ( wn wb con2bi sylibr ) ABCEFCBEFDCBGH $.
  $}

  ${
    con1bid.1 $e |- ( ph -> ( -. ps <-> ch ) ) $.
    $( A contraposition deduction.  (Contributed by NM, 9-Oct-1999.) $)
    con1bid $p |- ( ph -> ( -. ch <-> ps ) ) $=
      ( wn bicomd con2bid ) ABCEACBABECDFGF $.
  $}

  ${
    con1bii.1 $e |- ( -. ph <-> ps ) $.
    $( A contraposition inference.  (Contributed by NM, 5-Aug-1993.)  (Proof
       shortened by Wolf Lammen, 13-Oct-2012.) $)
    con1bii $p |- ( -. ps <-> ph ) $=
      ( wn notnot xchbinx bicomi ) ABDAADBAECFG $.
  $}

  ${
    con2bii.1 $e |- ( ph <-> -. ps ) $.
    $( A contraposition inference.  (Contributed by NM, 5-Aug-1993.) $)
    con2bii $p |- ( ps <-> -. ph ) $=
      ( wn bicomi con1bii ) ADBBAABDCEFE $.
  $}

  $( Contraposition.  Bidirectional version of ~ con1 .  (Contributed by NM,
     5-Aug-1993.) $)
  con1b $p |- ( ( -. ph -> ps ) <-> ( -. ps -> ph ) ) $=
    ( wn wi con1 impbii ) ACBDBCADABEBAEF $.

  $( Contraposition.  Bidirectional version of ~ con2 .  (Contributed by NM,
     5-Aug-1993.) $)
  con2b $p |- ( ( ph -> -. ps ) <-> ( ps -> -. ph ) ) $=
    ( wn wi con2 impbii ) ABCDBACDABEBAEF $.

  $( A wff is equivalent to itself with true antecedent.  (Contributed by NM,
     28-Jan-1996.) $)
  biimt $p |- ( ph -> ( ps <-> ( ph -> ps ) ) ) $=
    ( wi ax-1 pm2.27 impbid2 ) ABABCBADABEF $.

  $( Theorem *5.5 of [WhiteheadRussell] p. 125.  (Contributed by NM,
     3-Jan-2005.) $)
  pm5.5 $p |- ( ph -> ( ( ph -> ps ) <-> ps ) ) $=
    ( wi biimt bicomd ) ABABCABDE $.

  ${
    a1bi.1 $e |- ph $.
    $( Inference rule introducing a theorem as an antecedent.  (Contributed by
       NM, 5-Aug-1993.)  (Proof shortened by Wolf Lammen, 11-Nov-2012.) $)
    a1bi $p |- ( ps <-> ( ph -> ps ) ) $=
      ( wi wb biimt ax-mp ) ABABDECABFG $.
  $}

  ${
    mt2bi.1 $e |- ph $.
    $( A false consequent falsifies an antecedent.  (Contributed by NM,
       19-Aug-1993.)  (Proof shortened by Wolf Lammen, 12-Nov-2012.) $)
    mt2bi $p |- ( -. ps <-> ( ps -> -. ph ) ) $=
      ( wn wi a1bi con2b bitri ) BDZAIEBADEAICFABGH $.
  $}

  $( Modus-tollens-like theorem.  (Contributed by NM, 7-Apr-2001.)  (Proof
     shortened by Wolf Lammen, 12-Nov-2012.) $)
  mtt $p |- ( -. ph -> ( -. ps <-> ( ps -> ph ) ) ) $=
    ( wn wi biimt con34b syl6bbr ) ACZBCZHIDBADHIEBAFG $.

  $( Theorem *5.501 of [WhiteheadRussell] p. 125.  (Contributed by NM,
     3-Jan-2005.) $)
  pm5.501 $p |- ( ph -> ( ps <-> ( ph <-> ps ) ) ) $=
    ( wb pm5.1im bi1 com12 impbid ) ABABCZABDHABABEFG $.

  $( Implication in terms of implication and biconditional.  (Contributed by
     NM, 31-Mar-1994.)  (Proof shortened by Wolf Lammen, 24-Jan-2013.) $)
  ibib $p |- ( ( ph -> ps ) <-> ( ph -> ( ph <-> ps ) ) ) $=
    ( wb pm5.501 pm5.74i ) ABABCABDE $.

  $( Implication in terms of implication and biconditional.  (Contributed by
     NM, 29-Apr-2005.)  (Proof shortened by Wolf Lammen, 21-Dec-2013.) $)
  ibibr $p |- ( ( ph -> ps ) <-> ( ph -> ( ps <-> ph ) ) ) $=
    ( wb pm5.501 bicom syl6bb pm5.74i ) ABBACZABABCHABDABEFG $.

  ${
    tbt.1 $e |- ph $.
    $( A wff is equivalent to its equivalence with truth.  (Contributed by NM,
       18-Aug-1993.)  (Proof shortened by Andrew Salmon, 13-May-2011.) $)
    tbt $p |- ( ps <-> ( ps <-> ph ) ) $=
      ( wb ibibr pm5.74ri ax-mp ) ABBADZDCABHABEFG $.
  $}

  $( The negation of a wff is equivalent to the wff's equivalence to
     falsehood.  (Contributed by Juha Arpiainen, 19-Jan-2006.)  (Proof
     shortened by Wolf Lammen, 28-Jan-2013.) $)
  nbn2 $p |- ( -. ph -> ( -. ps <-> ( ph <-> ps ) ) ) $=
    ( wn wb pm5.501 notbi syl6bbr ) ACZBCZHIDABDHIEABFG $.

  $( Transfer negation via an equivalence.  (Contributed by NM, 3-Oct-2007.)
     (Proof shortened by Wolf Lammen, 28-Jan-2013.) $)
  bibif $p |- ( -. ps -> ( ( ph <-> ps ) <-> -. ph ) ) $=
    ( wn wb nbn2 bicom syl6rbb ) BCACBADABDBAEBAFG $.

  ${
    nbn.1 $e |- -. ph $.
    $( The negation of a wff is equivalent to the wff's equivalence to
       falsehood.  (Contributed by NM, 5-Aug-1993.)  (Proof shortened by Wolf
       Lammen, 3-Oct-2013.) $)
    nbn $p |- ( -. ps <-> ( ps <-> ph ) ) $=
      ( wb wn bibif ax-mp bicomi ) BADZBEZAEIJDCBAFGH $.
  $}

  ${
    nbn3.1 $e |- ph $.
    $( Transfer falsehood via equivalence.  (Contributed by NM,
       11-Sep-2006.) $)
    nbn3 $p |- ( -. ps <-> ( ps <-> -. ph ) ) $=
      ( wn notnoti nbn ) ADBACEF $.
  $}

  $( Two propositions are equivalent if they are both false.  Closed form of
     ~ 2false .  Equivalent to a ~ bi2 -like version of the xor-connective.
     (Contributed by Wolf Lammen, 13-May-2013.) $)
  pm5.21im $p |- ( -. ph -> ( -. ps -> ( ph <-> ps ) ) ) $=
    ( wn wb nbn2 biimpd ) ACBCABDABEF $.

  ${
    2false.1 $e |- -. ph $.
    2false.2 $e |- -. ps $.
    $( Two falsehoods are equivalent.  (Contributed by NM, 4-Apr-2005.)  (Proof
       shortened by Wolf Lammen, 19-May-2013.) $)
    2false $p |- ( ph <-> ps ) $=
      ( wn 2th con4bii ) ABAEBECDFG $.
  $}

  ${
    2falsed.1 $e |- ( ph -> -. ps ) $.
    2falsed.2 $e |- ( ph -> -. ch ) $.
    $( Two falsehoods are equivalent (deduction rule).  (Contributed by NM,
       11-Oct-2013.) $)
    2falsed $p |- ( ph -> ( ps <-> ch ) ) $=
      ( pm2.21d impbid ) ABCABCDFACBEFG $.
  $}

  ${
    pm5.21ni.1 $e |- ( ph -> ps ) $.
    pm5.21ni.2 $e |- ( ch -> ps ) $.
    $( Two propositions implying a false one are equivalent.  (Contributed by
       NM, 16-Feb-1996.)  (Proof shortened by Wolf Lammen, 19-May-2013.) $)
    pm5.21ni $p |- ( -. ps -> ( ph <-> ch ) ) $=
      ( wn con3i 2falsed ) BFACABDGCBEGH $.

    ${
      pm5.21nii.3 $e |- ( ps -> ( ph <-> ch ) ) $.
      $( Eliminate an antecedent implied by each side of a biconditional.
         (Contributed by NM, 21-May-1999.) $)
      pm5.21nii $p |- ( ph <-> ch ) $=
        ( wb pm5.21ni pm2.61i ) BACGFABCDEHI $.
    $}
  $}

  ${
    pm5.21ndd.1 $e |- ( ph -> ( ch -> ps ) ) $.
    pm5.21ndd.2 $e |- ( ph -> ( th -> ps ) ) $.
    pm5.21ndd.3 $e |- ( ph -> ( ps -> ( ch <-> th ) ) ) $.
    $( Eliminate an antecedent implied by each side of a biconditional,
       deduction version.  (Contributed by Paul Chapman, 21-Nov-2012.)  (Proof
       shortened by Wolf Lammen, 6-Oct-2013.) $)
    pm5.21ndd $p |- ( ph -> ( ch <-> th ) ) $=
      ( wb wn con3d pm5.21im syl6c pm2.61d ) ABCDHZGABICIDINACBEJADBFJCDKLM $.
  $}

  ${
    bija.1 $e |- ( ph -> ( ps -> ch ) ) $.
    bija.2 $e |- ( -. ph -> ( -. ps -> ch ) ) $.
    $( Combine antecedents into a single bi-conditional.  This inference,
       reminiscent of ~ ja , is reversible:  The hypotheses can be deduced from
       the conclusion alone (see ~ pm5.1im and ~ pm5.21im ).  (Contributed by
       Wolf Lammen, 13-May-2013.) $)
    bija $p |- ( ( ph <-> ps ) -> ch ) $=
      ( wb bi2 syli wn bi1 con3d pm2.61d ) ABFZBCBMACABGDHBIMAICMABABJKEHL $.
  $}

  $( Theorem *5.18 of [WhiteheadRussell] p. 124.  This theorem says that
     logical equivalence is the same as negated "exclusive-or."  (Contributed
     by NM, 28-Jun-2002.)  (Proof shortened by Andrew Salmon, 20-Jun-2011.)
     (Proof shortened by Wolf Lammen, 15-Oct-2013.) $)
  pm5.18 $p |- ( ( ph <-> ps ) <-> -. ( ph <-> -. ps ) ) $=
    ( wb wn pm5.501 con1bid bitr2d nbn2 pm2.61i ) AABCZABDZCZDZCAMBJABLAKEFABEG
    ADZMKJNKLAKHFABHGI $.

  $( Two ways to express "exclusive or."  (Contributed by NM, 1-Jan-2006.) $)
  xor3 $p |- ( -. ( ph <-> ps ) <-> ( ph <-> -. ps ) ) $=
    ( wn wb pm5.18 con2bii bicomi ) ABCDZABDZCIHABEFG $.

  $( Move negation outside of biconditional.  Compare Theorem *5.18 of
     [WhiteheadRussell] p. 124.  (Contributed by NM, 27-Jun-2002.)  (Proof
     shortened by Wolf Lammen, 20-Sep-2013.) $)
  nbbn $p |- ( ( -. ph <-> ps ) <-> -. ( ph <-> ps ) ) $=
    ( wb wn xor3 con2bi bicom 3bitrri ) ABCDABDCBADZCIBCABEABFBIGH $.

  $( Associative law for the biconditional.  An axiom of system DS in Vladimir
     Lifschitz, "On calculational proofs", Annals of Pure and Applied Logic,
     113:207-224, 2002,
     ~ http://www.cs.utexas.edu/users/ai-lab/pub-view.php?PubID=26805 .
     Interestingly, this law was not included in _Principia Mathematica_ but
     was apparently first noted by Jan Lukasiewicz circa 1923.  (Contributed by
     NM, 8-Jan-2005.)  (Proof shortened by Juha Arpiainen, 19-Jan-2006.)
     (Proof shortened by Wolf Lammen, 21-Sep-2013.) $)
  biass $p |- ( ( ( ph <-> ps ) <-> ch ) <-> ( ph <-> ( ps <-> ch ) ) ) $=
    ( wb pm5.501 bibi1d bitr3d wn nbbn nbn2 syl5bbr pm2.61i ) AABDZCDZABCDZDZDA
    ONPABMCABEFAOEGAHZOHZNPRBHZCDQNBCIQSMCABJFKAOJGL $.

  $( Theorem *5.19 of [WhiteheadRussell] p. 124.  (Contributed by NM,
     3-Jan-2005.) $)
  pm5.19 $p |- -. ( ph <-> -. ph ) $=
    ( wb wn biid pm5.18 mpbi ) AABAACBCADAAEF $.

  $( Logical equivalence of commuted antecedents.  Part of Theorem *4.87 of
     [WhiteheadRussell] p. 122.  (Contributed by NM, 5-Aug-1993.) $)
  bi2.04 $p |- ( ( ph -> ( ps -> ch ) ) <-> ( ps -> ( ph -> ch ) ) ) $=
    ( wi pm2.04 impbii ) ABCDDBACDDABCEBACEF $.

  $( Antecedent absorption implication.  Theorem *5.4 of [WhiteheadRussell]
     p. 125.  (Contributed by NM, 5-Aug-1993.) $)
  pm5.4 $p |- ( ( ph -> ( ph -> ps ) ) <-> ( ph -> ps ) ) $=
    ( wi pm2.43 ax-1 impbii ) AABCZCGABDGAEF $.

  $( Distributive law for implication.  Compare Theorem *5.41 of
     [WhiteheadRussell] p. 125.  (Contributed by NM, 5-Aug-1993.) $)
  imdi $p |- ( ( ph -> ( ps -> ch ) ) <->
               ( ( ph -> ps ) -> ( ph -> ch ) ) ) $=
    ( wi ax-2 pm2.86 impbii ) ABCDDABDACDDABCEABCFG $.

  $( Theorem *5.41 of [WhiteheadRussell] p. 125.  (Contributed by NM,
     3-Jan-2005.)  (Proof shortened by Wolf Lammen, 12-Oct-2012.) $)
  pm5.41 $p |- ( ( ( ph -> ps ) -> ( ph -> ch ) ) <->
                ( ph -> ( ps -> ch ) ) ) $=
    ( wi imdi bicomi ) ABCDDABDACDDABCEF $.

  $( Theorem *4.8 of [WhiteheadRussell] p. 122.  (Contributed by NM,
     3-Jan-2005.) $)
  pm4.8 $p |- ( ( ph -> -. ph ) <-> -. ph ) $=
    ( wn wi pm2.01 ax-1 impbii ) AABZCGADGAEF $.

  $( Theorem *4.81 of [WhiteheadRussell] p. 122.  (Contributed by NM,
     3-Jan-2005.) $)
  pm4.81 $p |- ( ( -. ph -> ph ) <-> ph ) $=
    ( wn wi pm2.18 pm2.24 impbii ) ABACAADAAEF $.

  $( Simplify an implication between two implications when the antecedent of
     the first is a consequence of the antecedent of the second.  The reverse
     form is useful in producing the successor step in induction proofs.
     (Contributed by Paul Chapman, 22-Jun-2011.)  (Proof shortened by Wolf
     Lammen, 14-Sep-2013.) $)
  imim21b $p |- ( ( ps -> ph ) -> ( ( ( ph -> ch ) -> ( ps -> th ) ) <->
                                    ( ps -> ( ch -> th ) ) ) ) $=
    ( wi bi2.04 wb pm5.5 imbi1d imim2i pm5.74d syl5bb ) ACEZBDEEBMDEZEBAEZBCDEZ
    EMBDFOBNPANPGBAMCDACHIJKL $.


$(
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
        Logical disjunction and conjunction
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=

  Here we define disjunction (logical 'or') ` \/ ` ( ~ df-or ) and conjunction
  (logical 'and') ` /\ ` ( ~ df-an ). We also define various rules for
  simplifying and applying them, e.g., ~ olc , ~ orc , and ~ orcom .

$)

  $( Declare connectives for disjunction ('or') and conjunction ('and'). $)
  $c \/ $. $( Vee (read:  'or') $)
  $c /\ $. $( Wedge (read:  'and') $)

  $( Extend wff definition to include disjunction ('or'). $)
  wo $a wff ( ph \/ ps ) $.
  $( Extend wff definition to include conjunction ('and'). $)
  wa $a wff ( ph /\ ps ) $.

  $( Define disjunction (logical 'or').  Definition of [Margaris] p. 49.  When
     the left operand, right operand, or both are true, the result is true;
     when both sides are false, the result is false.  For example, it is true
     that (2 = 3 ` \/ ` 4 = 4) (see ex-or in set.mm).  After we define the
     constant true ` T. ` ( ~ df-tru ) and the constant false ` F. `
     ( ~ df-fal ), we will be able to prove these truth table values:
     ` ( ( T. \/ T. ) <-> T. ) ` ( ~ truortru ), ` ( ( T. \/ F. ) <-> T. ) `
     ( ~ truorfal ), ` ( ( F. \/ T. ) <-> T. ) ` ( ~ falortru ), and
     ` ( ( F. \/ F. ) <-> F. ) ` ( ~ falorfal ).

     This is our first use of the biconditional connective in a definition; we
     use the biconditional connective in place of the traditional "<=def=>",
     which means the same thing, except that we can manipulate the
     biconditional connective directly in proofs rather than having to rely on
     an informal definition substitution rule.  Note that if we mechanically
     substitute ` ( -. ph -> ps ) ` for ` ( ph \/ ps ) ` , we end up with an
     instance of previously proved theorem ~ biid .  This is the justification
     for the definition, along with the fact that it introduces a new symbol
     ` \/ ` .  Contrast with ` /\ ` ( ~ df-an ), ` -> ` ( ~ wi ), ` -/\ `
     ( ~ df-nan ), and ` \/_ ` ( ~ df-xor ) .  (Contributed by NM,
     5-Aug-1993.) $)
  df-or $a |- ( ( ph \/ ps ) <-> ( -. ph -> ps ) ) $.

  $( Define conjunction (logical 'and').  Definition of [Margaris] p. 49.  When
     both the left and right operand are true, the result is true; when either
     is false, the result is false.  For example, it is true that (2 = 2 ` /\ `
     3 = 3).  After we define the constant true ` T. ` ( ~ df-tru ) and the
     constant false ` F. ` ( ~ df-fal ), we will be able to prove these truth
     table values: ` ( ( T. /\ T. ) <-> T. ) ` ( ~ truantru ),
     ` ( ( T. /\ F. ) <-> F. ) ` ( ~ truanfal ), ` ( ( F. /\ T. ) <-> F. ) `
     ( ~ falantru ), and ` ( ( F. /\ F. ) <-> F. ) ` ( ~ falanfal ).

     Contrast with ` \/ ` ( ~ df-or ), ` -> ` ( ~ wi ), ` -/\ ` ( ~ df-nan ),
     and ` \/_ ` ( ~ df-xor ) .  (Contributed by NM, 5-Aug-1993.) $)
  df-an $a |- ( ( ph /\ ps ) <-> -. ( ph -> -. ps ) ) $.

  $( Theorem *4.64 of [WhiteheadRussell] p. 120.  (Contributed by NM,
     3-Jan-2005.) $)
  pm4.64 $p |- ( ( -. ph -> ps ) <-> ( ph \/ ps ) ) $=
    ( wo wn wi df-or bicomi ) ABCADBEABFG $.

  $( Theorem *2.53 of [WhiteheadRussell] p. 107.  (Contributed by NM,
     3-Jan-2005.) $)
  pm2.53 $p |- ( ( ph \/ ps ) -> ( -. ph -> ps ) ) $=
    ( wo wn wi df-or biimpi ) ABCADBEABFG $.

  $( Theorem *2.54 of [WhiteheadRussell] p. 107.  (Contributed by NM,
     3-Jan-2005.) $)
  pm2.54 $p |- ( ( -. ph -> ps ) -> ( ph \/ ps ) ) $=
    ( wo wn wi df-or biimpri ) ABCADBEABFG $.

  ${
    ori.1 $e |- ( ph \/ ps ) $.
    $( Infer implication from disjunction.  (Contributed by NM,
       11-Jun-1994.) $)
    ori $p |- ( -. ph -> ps ) $=
      ( wo wn wi df-or mpbi ) ABDAEBFCABGH $.
  $}

  ${
    orri.1 $e |- ( -. ph -> ps ) $.
    $( Infer implication from disjunction.  (Contributed by NM,
       11-Jun-1994.) $)
    orri $p |- ( ph \/ ps ) $=
      ( wo wn wi df-or mpbir ) ABDAEBFCABGH $.
  $}

  ${
    ord.1 $e |- ( ph -> ( ps \/ ch ) ) $.
    $( Deduce implication from disjunction.  (Contributed by NM,
       18-May-1994.) $)
    ord $p |- ( ph -> ( -. ps -> ch ) ) $=
      ( wo wn wi df-or sylib ) ABCEBFCGDBCHI $.
  $}

  ${
    orrd.1 $e |- ( ph -> ( -. ps -> ch ) ) $.
    $( Deduce implication from disjunction.  (Contributed by NM,
       27-Nov-1995.) $)
    orrd $p |- ( ph -> ( ps \/ ch ) ) $=
      ( wn wi wo pm2.54 syl ) ABECFBCGDBCHI $.
  $}

  ${
    jaoi.1 $e |- ( ph -> ps ) $.
    jaoi.2 $e |- ( ch -> ps ) $.
    $( Inference disjoining the antecedents of two implications.  (Contributed
       by NM, 5-Apr-1994.) $)
    jaoi $p |- ( ( ph \/ ch ) -> ps ) $=
      ( wo wn pm2.53 syl6 pm2.61d2 ) ACFZABKAGCBACHEIDJ $.
  $}

  ${
    jaod.1 $e |- ( ph -> ( ps -> ch ) ) $.
    jaod.2 $e |- ( ph -> ( th -> ch ) ) $.
    $( Deduction disjoining the antecedents of two implications.  (Contributed
       by NM, 18-Aug-1994.) $)
    jaod $p |- ( ph -> ( ( ps \/ th ) -> ch ) ) $=
      ( wo wi com12 jaoi ) BDGACBACHDABCEIADCFIJI $.

    jaod.3 $e |- ( ph -> ( ps \/ th ) ) $.
    $( Eliminate a disjunction in a deduction.  (Contributed by Mario Carneiro,
       29-May-2016.) $)
    mpjaod $p |- ( ph -> ch ) $=
      ( wo jaod mpd ) ABDHCGABCDEFIJ $.
  $}

  $( Elimination of disjunction by denial of a disjunct.  Theorem *2.55 of
     [WhiteheadRussell] p. 107.  (Contributed by NM, 12-Aug-1994.)  (Proof
     shortened by Wolf Lammen, 21-Jul-2012.) $)
  orel1 $p |- ( -. ph -> ( ( ph \/ ps ) -> ps ) ) $=
    ( wo wn pm2.53 com12 ) ABCADBABEF $.

  $( Elimination of disjunction by denial of a disjunct.  Theorem *2.56 of
     [WhiteheadRussell] p. 107.  (Contributed by NM, 12-Aug-1994.)  (Proof
     shortened by Wolf Lammen, 5-Apr-2013.) $)
  orel2 $p |- ( -. ph -> ( ( ps \/ ph ) -> ps ) ) $=
    ( wn idd pm2.21 jaod ) ACZBBAGBDABEF $.

  $( Introduction of a disjunct.  Axiom *1.3 of [WhiteheadRussell] p. 96.
     (Contributed by NM, 30-Aug-1993.) $)
  olc $p |- ( ph -> ( ps \/ ph ) ) $=
    ( wn ax-1 orrd ) ABAABCDE $.

  $( Introduction of a disjunct.  Theorem *2.2 of [WhiteheadRussell] p. 104.
     (Contributed by NM, 30-Aug-1993.) $)
  orc $p |- ( ph -> ( ph \/ ps ) ) $=
    ( pm2.24 orrd ) AABABCD $.

  $( Axiom *1.4 of [WhiteheadRussell] p. 96.  (Contributed by NM,
     3-Jan-2005.) $)
  pm1.4 $p |- ( ( ph \/ ps ) -> ( ps \/ ph ) ) $=
    ( wo olc orc jaoi ) ABACBABDBAEF $.

  $( Commutative law for disjunction.  Theorem *4.31 of [WhiteheadRussell]
     p. 118.  (Contributed by NM, 5-Aug-1993.)  (Proof shortened by Wolf
     Lammen, 15-Nov-2012.) $)
  orcom $p |- ( ( ph \/ ps ) <-> ( ps \/ ph ) ) $=
    ( wo pm1.4 impbii ) ABCBACABDBADE $.

  ${
    orcomd.1 $e |- ( ph -> ( ps \/ ch ) ) $.
    $( Commutation of disjuncts in consequent.  (Contributed by NM,
       2-Dec-2010.) $)
    orcomd $p |- ( ph -> ( ch \/ ps ) ) $=
      ( wo orcom sylib ) ABCECBEDBCFG $.
  $}

  ${
    orcoms.1 $e |- ( ( ph \/ ps ) -> ch ) $.
    $( Commutation of disjuncts in antecedent.  (Contributed by NM,
       2-Dec-2012.) $)
    orcoms $p |- ( ( ps \/ ph ) -> ch ) $=
      ( wo pm1.4 syl ) BAEABECBAFDG $.
  $}

  ${
    orci.1 $e |- ph $.
    $( Deduction introducing a disjunct.  (Contributed by NM, 19-Jan-2008.)
       (Proof shortened by Wolf Lammen, 14-Nov-2012.) $)
    orci $p |- ( ph \/ ps ) $=
      ( pm2.24i orri ) ABABCDE $.

    $( Deduction introducing a disjunct.  (Contributed by NM, 19-Jan-2008.)
       (Proof shortened by Wolf Lammen, 14-Nov-2012.) $)
    olci $p |- ( ps \/ ph ) $=
      ( wn a1i orri ) BAABDCEF $.
  $}

  ${
    orcd.1 $e |- ( ph -> ps ) $.
    $( Deduction introducing a disjunct.  A translation of natural deduction
       rule ` \/ ` IR ( ` \/ ` insertion right), see natded in set.mm.
       (Contributed by NM, 20-Sep-2007.) $)
    orcd $p |- ( ph -> ( ps \/ ch ) ) $=
      ( wo orc syl ) ABBCEDBCFG $.

    $( Deduction introducing a disjunct.  A translation of natural deduction
       rule ` \/ ` IL ( ` \/ ` insertion left), see natded in set.mm.
       (Contributed by NM, 11-Apr-2008.)  (Proof shortened by Wolf Lammen,
       3-Oct-2013.) $)
    olcd $p |- ( ph -> ( ch \/ ps ) ) $=
      ( orcd orcomd ) ABCABCDEF $.
  $}

  ${
    orcs.1 $e |- ( ( ph \/ ps ) -> ch ) $.
    $( Deduction eliminating disjunct. _Notational convention_:  We sometimes
       suffix with "s" the label of an inference that manipulates an
       antecedent, leaving the consequent unchanged.  The "s" means that the
       inference eliminates the need for a syllogism ( ~ syl ) -type inference
       in a proof.  (Contributed by NM, 21-Jun-1994.) $)
    orcs $p |- ( ph -> ch ) $=
      ( wo orc syl ) AABECABFDG $.
  $}

  ${
    olcs.1 $e |- ( ( ph \/ ps ) -> ch ) $.
    $( Deduction eliminating disjunct.  (Contributed by NM, 21-Jun-1994.)
       (Proof shortened by Wolf Lammen, 3-Oct-2013.) $)
    olcs $p |- ( ps -> ch ) $=
      ( orcoms orcs ) BACABCDEF $.
  $}

  $( Theorem *2.07 of [WhiteheadRussell] p. 101.  (Contributed by NM,
     3-Jan-2005.) $)
  pm2.07 $p |- ( ph -> ( ph \/ ph ) ) $=
    ( olc ) AAB $.

  $( Theorem *2.45 of [WhiteheadRussell] p. 106.  (Contributed by NM,
     3-Jan-2005.) $)
  pm2.45 $p |- ( -. ( ph \/ ps ) -> -. ph ) $=
    ( wo orc con3i ) AABCABDE $.

  $( Theorem *2.46 of [WhiteheadRussell] p. 106.  (Contributed by NM,
     3-Jan-2005.) $)
  pm2.46 $p |- ( -. ( ph \/ ps ) -> -. ps ) $=
    ( wo olc con3i ) BABCBADE $.

  $( Theorem *2.47 of [WhiteheadRussell] p. 107.  (Contributed by NM,
     3-Jan-2005.) $)
  pm2.47 $p |- ( -. ( ph \/ ps ) -> ( -. ph \/ ps ) ) $=
    ( wo wn pm2.45 orcd ) ABCDADBABEF $.

  $( Theorem *2.48 of [WhiteheadRussell] p. 107.  (Contributed by NM,
     3-Jan-2005.) $)
  pm2.48 $p |- ( -. ( ph \/ ps ) -> ( ph \/ -. ps ) ) $=
    ( wo wn pm2.46 olcd ) ABCDBDAABEF $.

  $( Theorem *2.49 of [WhiteheadRussell] p. 107.  (Contributed by NM,
     3-Jan-2005.) $)
  pm2.49 $p |- ( -. ( ph \/ ps ) -> ( -. ph \/ -. ps ) ) $=
    ( wo wn pm2.46 olcd ) ABCDBDADABEF $.

  $( Slight generalization of Theorem *2.67 of [WhiteheadRussell] p. 107.
     (Contributed by NM, 3-Jan-2005.) $)
  pm2.67-2 $p |- ( ( ( ph \/ ch ) -> ps ) -> ( ph -> ps ) ) $=
    ( wo orc imim1i ) AACDBACEF $.

  $( Theorem *2.67 of [WhiteheadRussell] p. 107.  (Contributed by NM,
     3-Jan-2005.) $)
  pm2.67 $p |- ( ( ( ph \/ ps ) -> ps ) -> ( ph -> ps ) ) $=
    ( pm2.67-2 ) ABBC $.

  $( Theorem *2.25 of [WhiteheadRussell] p. 104.  (Contributed by NM,
     3-Jan-2005.) $)
  pm2.25 $p |- ( ph \/ ( ( ph \/ ps ) -> ps ) ) $=
    ( wo wi orel1 orri ) AABCBDABEF $.

  $( A wff is equivalent to its disjunction with falsehood.  Theorem *4.74 of
     [WhiteheadRussell] p. 121.  (Contributed by NM, 23-Mar-1995.)  (Proof
     shortened by Wolf Lammen, 18-Nov-2012.) $)
  biorf $p |- ( -. ph -> ( ps <-> ( ph \/ ps ) ) ) $=
    ( wn wo olc orel1 impbid2 ) ACBABDBAEABFG $.

  $( A wff is equivalent to its negated disjunction with falsehood.
     (Contributed by NM, 9-Jul-2012.) $)
  biortn $p |- ( ph -> ( ps <-> ( -. ph \/ ps ) ) ) $=
    ( wn wo wb notnot1 biorf syl ) AACZCBIBDEAFIBGH $.

  ${
    biorfi.1 $e |- -. ph $.
    $( A wff is equivalent to its disjunction with falsehood.  (Contributed by
       NM, 23-Mar-1995.) $)
    biorfi $p |- ( ps <-> ( ps \/ ph ) ) $=
      ( wn wo wb orc orel2 impbid2 ax-mp ) ADZBBAEZFCKBLBAGABHIJ $.
  $}

  $( Theorem *2.621 of [WhiteheadRussell] p. 107.  (Contributed by NM,
     3-Jan-2005.) $)
  pm2.621 $p |- ( ( ph -> ps ) -> ( ( ph \/ ps ) -> ps ) ) $=
    ( wi id idd jaod ) ABCZABBGDGBEF $.

  $( Theorem *2.62 of [WhiteheadRussell] p. 107.  (Contributed by NM,
     3-Jan-2005.)  (Proof shortened by Wolf Lammen, 13-Dec-2013.) $)
  pm2.62 $p |- ( ( ph \/ ps ) -> ( ( ph -> ps ) -> ps ) ) $=
    ( wi wo pm2.621 com12 ) ABCABDBABEF $.

  $( Theorem *2.68 of [WhiteheadRussell] p. 108.  (Contributed by NM,
     3-Jan-2005.) $)
  pm2.68 $p |- ( ( ( ph -> ps ) -> ps ) -> ( ph \/ ps ) ) $=
    ( wi jarl orrd ) ABCBCABABBDE $.

  $( Logical 'or' expressed in terms of implication only.  Theorem *5.25 of
     [WhiteheadRussell] p. 124.  (Contributed by NM, 12-Aug-2004.)  (Proof
     shortened by Wolf Lammen, 20-Oct-2012.) $)
  dfor2 $p |- ( ( ph \/ ps ) <-> ( ( ph -> ps ) -> ps ) ) $=
    ( wo wi pm2.62 pm2.68 impbii ) ABCABDBDABEABFG $.

  $( Implication in terms of disjunction.  Theorem *4.6 of [WhiteheadRussell]
     p. 120.  (Contributed by NM, 5-Aug-1993.) $)
  imor $p |- ( ( ph -> ps ) <-> ( -. ph \/ ps ) ) $=
    ( wi wn wo notnot imbi1i df-or bitr4i ) ABCADZDZBCJBEAKBAFGJBHI $.

  ${
    imori.1 $e |- ( ph -> ps ) $.
    $( Infer disjunction from implication.  (Contributed by NM,
       12-Mar-2012.) $)
    imori $p |- ( -. ph \/ ps ) $=
      ( wi wn wo imor mpbi ) ABDAEBFCABGH $.
  $}

  ${
    imorri.1 $e |- ( -. ph \/ ps ) $.
    $( Infer implication from disjunction.  (Contributed by Jonathan Ben-Naim,
       3-Jun-2011.) $)
    imorri $p |- ( ph -> ps ) $=
      ( wi wn wo imor mpbir ) ABDAEBFCABGH $.
  $}

  $( Law of excluded middle, also called the principle of _tertium non datur_.
     Theorem *2.11 of [WhiteheadRussell] p. 101.  It says that something is
     either true or not true; there are no in-between values of truth.  This is
     an essential distinction of our classical logic and is not a theorem of
     intuitionistic logic.  (Contributed by NM, 5-Aug-1993.) $)
  exmid $p |- ( ph \/ -. ph ) $=
    ( wn id orri ) AABZECD $.

  $( Law of excluded middle in a context.  (Contributed by Mario Carneiro,
     9-Feb-2017.) $)
  exmidd $p |- ( ph -> ( ps \/ -. ps ) ) $=
    ( wn wo exmid a1i ) BBCDABEF $.

  $( Theorem *2.1 of [WhiteheadRussell] p. 101.  (Contributed by NM,
     3-Jan-2005.)  (Proof shortened by Wolf Lammen, 23-Nov-2012.) $)
  pm2.1 $p |- ( -. ph \/ ph ) $=
    ( id imori ) AAABC $.

  $( Theorem *2.13 of [WhiteheadRussell] p. 101.  (Contributed by NM,
     3-Jan-2005.) $)
  pm2.13 $p |- ( ph \/ -. -. -. ph ) $=
    ( wn notnot1 orri ) AABZBBECD $.

  $( Theorem *4.62 of [WhiteheadRussell] p. 120.  (Contributed by NM,
     3-Jan-2005.) $)
  pm4.62 $p |- ( ( ph -> -. ps ) <-> ( -. ph \/ -. ps ) ) $=
    ( wn imor ) ABCD $.

  $( Theorem *4.66 of [WhiteheadRussell] p. 120.  (Contributed by NM,
     3-Jan-2005.) $)
  pm4.66 $p |- ( ( -. ph -> -. ps ) <-> ( ph \/ -. ps ) ) $=
    ( wn pm4.64 ) ABCD $.

  $( Theorem *4.63 of [WhiteheadRussell] p. 120.  (Contributed by NM,
     3-Jan-2005.) $)
  pm4.63 $p |- ( -. ( ph -> -. ps ) <-> ( ph /\ ps ) ) $=
    ( wa wn wi df-an bicomi ) ABCABDEDABFG $.

  $( Express implication in terms of conjunction.  (Contributed by NM,
     9-Apr-1994.) $)
  imnan $p |- ( ( ph -> -. ps ) <-> -. ( ph /\ ps ) ) $=
    ( wa wn wi df-an con2bii ) ABCABDEABFG $.

  ${
    imnani.1 $e |- -. ( ph /\ ps ) $.
    $( Express implication in terms of conjunction.  (Contributed by Mario
       Carneiro, 28-Sep-2015.) $)
    imnani $p |- ( ph -> -. ps ) $=
      ( wn wi wa imnan mpbir ) ABDEABFDCABGH $.
  $}

  $( Express implication in terms of conjunction.  Theorem 3.4(27) of [Stoll]
     p. 176.  (Contributed by NM, 5-Aug-1993.)  (Proof shortened by Wolf
     Lammen, 30-Oct-2012.) $)
  iman $p |- ( ( ph -> ps ) <-> -. ( ph /\ -. ps ) ) $=
    ( wi wn wa notnot imbi2i imnan bitri ) ABCABDZDZCAJEDBKABFGAJHI $.

  $( Express conjunction in terms of implication.  (Contributed by NM,
     2-Aug-1994.) $)
  annim $p |- ( ( ph /\ -. ps ) <-> -. ( ph -> ps ) ) $=
    ( wi wn wa iman con2bii ) ABCABDEABFG $.

  $( Theorem *4.61 of [WhiteheadRussell] p. 120.  (Contributed by NM,
     3-Jan-2005.) $)
  pm4.61 $p |- ( -. ( ph -> ps ) <-> ( ph /\ -. ps ) ) $=
    ( wn wa wi annim bicomi ) ABCDABECABFG $.

  $( Theorem *4.65 of [WhiteheadRussell] p. 120.  (Contributed by NM,
     3-Jan-2005.) $)
  pm4.65 $p |- ( -. ( -. ph -> ps ) <-> ( -. ph /\ -. ps ) ) $=
    ( wn pm4.61 ) ACBD $.

  $( Theorem *4.67 of [WhiteheadRussell] p. 120.  (Contributed by NM,
     3-Jan-2005.) $)
  pm4.67 $p |- ( -. ( -. ph -> -. ps ) <-> ( -. ph /\ ps ) ) $=
    ( wn pm4.63 ) ACBD $.

  ${
    imp.1 $e |- ( ph -> ( ps -> ch ) ) $.
    $( Importation inference.  (Contributed by NM, 5-Aug-1993.)  (Proof
       shortened by Eric Schmidt, 22-Dec-2006.) $)
    imp $p |- ( ( ph /\ ps ) -> ch ) $=
      ( wa wn wi df-an impi sylbi ) ABEABFGFCABHABCDIJ $.

    $( Importation inference with commuted antecedents.  (Contributed by NM,
       25-May-2005.) $)
    impcom $p |- ( ( ps /\ ph ) -> ch ) $=
      ( com12 imp ) BACABCDEF $.
  $}

  ${
    imp3.1 $e |- ( ph -> ( ps -> ( ch -> th ) ) ) $.
    $( Importation deduction.  (Contributed by NM, 31-Mar-1994.) $)
    imp3a $p |- ( ph -> ( ( ps /\ ch ) -> th ) ) $=
      ( wa wi com3l imp com12 ) BCFADBCADGABCDEHIJ $.

    $( An importation inference.  (Contributed by NM, 26-Apr-1994.) $)
    imp31 $p |- ( ( ( ph /\ ps ) /\ ch ) -> th ) $=
      ( wa wi imp ) ABFCDABCDGEHH $.

    $( An importation inference.  (Contributed by NM, 26-Apr-1994.) $)
    imp32 $p |- ( ( ph /\ ( ps /\ ch ) ) -> th ) $=
      ( wa imp3a imp ) ABCFDABCDEGH $.
  $}

  ${
    exp.1 $e |- ( ( ph /\ ps ) -> ch ) $.
    $( Exportation inference.  (This theorem used to be labeled "exp" but was
       changed to "ex" so as not to conflict with the math token "exp", per the
       June 2006 Metamath spec change.)  A translation of natural deduction
       rule ` -> ` I ( ` -> ` introduction), see natded in set.mm.
       (Contributed by NM, 5-Aug-1993.)  (Proof shortened by Eric Schmidt,
       22-Dec-2006.) $)
    ex $p |- ( ph -> ( ps -> ch ) ) $=
      ( wn wi wa df-an sylbir expi ) ABCABEFEABGCABHDIJ $.

    $( Exportation inference with commuted antecedents.  (Contributed by NM,
       25-May-2005.) $)
    expcom $p |- ( ps -> ( ph -> ch ) ) $=
      ( ex com12 ) ABCABCDEF $.
  $}

  ${
    exp3a.1 $e |- ( ph -> ( ( ps /\ ch ) -> th ) ) $.
    $( Exportation deduction.  (Contributed by NM, 20-Aug-1993.) $)
    exp3a $p |- ( ph -> ( ps -> ( ch -> th ) ) ) $=
      ( wi wa com12 ex com3r ) BCADBCADFABCGDEHIJ $.

    $( A deduction version of exportation, followed by importation.
       (Contributed by NM, 6-Sep-2008.) $)
    expdimp $p |- ( ( ph /\ ps ) -> ( ch -> th ) ) $=
      ( wi exp3a imp ) ABCDFABCDEGH $.
  $}

  ${
    impancom.1 $e |- ( ( ph /\ ps ) -> ( ch -> th ) ) $.
    $( Mixed importation/commutation inference.  (Contributed by NM,
       22-Jun-2013.) $)
    impancom $p |- ( ( ph /\ ch ) -> ( ps -> th ) ) $=
      ( wi ex com23 imp ) ACBDFABCDABCDFEGHI $.
  $}

  ${
    con3and.1 $e |- ( ph -> ( ps -> ch ) ) $.
    $( Variant of ~ con3d with importation.  (Contributed by Jonathan Ben-Naim,
       3-Jun-2011.) $)
    con3and $p |- ( ( ph /\ -. ch ) -> -. ps ) $=
      ( wn con3d imp ) ACEBEABCDFG $.
  $}

  ${
    pm2.01da.1 $e |- ( ( ph /\ ps ) -> -. ps ) $.
    $( Deduction based on reductio ad absurdum.  (Contributed by Mario
       Carneiro, 9-Feb-2017.) $)
    pm2.01da $p |- ( ph -> -. ps ) $=
      ( wn ex pm2.01d ) ABABBDCEF $.
  $}

  ${
    pm2.18da.1 $e |- ( ( ph /\ -. ps ) -> ps ) $.
    $( Deduction based on reductio ad absurdum.  (Contributed by Mario
       Carneiro, 9-Feb-2017.) $)
    pm2.18da $p |- ( ph -> ps ) $=
      ( wn ex pm2.18d ) ABABDBCEF $.
  $}

  $( Theorem *3.3 (Exp) of [WhiteheadRussell] p. 112.  (Contributed by NM,
     3-Jan-2005.)  (Proof shortened by Wolf Lammen, 24-Mar-2013.) $)
  pm3.3 $p |- ( ( ( ph /\ ps ) -> ch ) -> ( ph -> ( ps -> ch ) ) ) $=
    ( wa wi id exp3a ) ABDCEZABCHFG $.

  $( Theorem *3.31 (Imp) of [WhiteheadRussell] p. 112.  (Contributed by NM,
     3-Jan-2005.)  (Proof shortened by Wolf Lammen, 24-Mar-2013.) $)
  pm3.31 $p |- ( ( ph -> ( ps -> ch ) ) -> ( ( ph /\ ps ) -> ch ) ) $=
    ( wi id imp3a ) ABCDDZABCGEF $.

  $( Import-export theorem.  Part of Theorem *4.87 of [WhiteheadRussell]
     p. 122.  (Contributed by NM, 5-Aug-1993.)  (Proof shortened by Wolf
     Lammen, 24-Mar-2013.) $)
  impexp $p |- ( ( ( ph /\ ps ) -> ch ) <-> ( ph -> ( ps -> ch ) ) ) $=
    ( wa wi pm3.3 pm3.31 impbii ) ABDCEABCEEABCFABCGH $.

  $( Join antecedents with conjunction.  Theorem *3.2 of [WhiteheadRussell]
     p. 111.  (Contributed by NM, 5-Aug-1993.)  (Proof shortened by Wolf
     Lammen, 12-Nov-2012.) $)
  pm3.2 $p |- ( ph -> ( ps -> ( ph /\ ps ) ) ) $=
    ( wa id ex ) ABABCZFDE $.

  $( Join antecedents with conjunction.  Theorem *3.21 of [WhiteheadRussell]
     p. 111.  (Contributed by NM, 5-Aug-1993.) $)
  pm3.21 $p |- ( ph -> ( ps -> ( ps /\ ph ) ) ) $=
    ( wa pm3.2 com12 ) BABACBADE $.

  $( Theorem *3.22 of [WhiteheadRussell] p. 111.  (Contributed by NM,
     3-Jan-2005.)  (Proof shortened by Wolf Lammen, 13-Nov-2012.) $)
  pm3.22 $p |- ( ( ph /\ ps ) -> ( ps /\ ph ) ) $=
    ( wa pm3.21 imp ) ABBACABDE $.

  $( Commutative law for conjunction.  Theorem *4.3 of [WhiteheadRussell]
     p. 118.  (Contributed by NM, 25-Jun-1998.)  (Proof shortened by Wolf
     Lammen, 4-Nov-2012.) $)
  ancom $p |- ( ( ph /\ ps ) <-> ( ps /\ ph ) ) $=
    ( wa pm3.22 impbii ) ABCBACABDBADE $.

  ${
    ancomd.1 $e |- ( ph -> ( ps /\ ch ) ) $.
    $( Commutation of conjuncts in consequent.  (Contributed by Jeff Hankins,
       14-Aug-2009.) $)
    ancomd $p |- ( ph -> ( ch /\ ps ) ) $=
      ( wa ancom sylib ) ABCECBEDBCFG $.
  $}

  ${
    ancoms.1 $e |- ( ( ph /\ ps ) -> ch ) $.
    $( Inference commuting conjunction in antecedent.  (Contributed by NM,
       21-Apr-1994.) $)
    ancoms $p |- ( ( ps /\ ph ) -> ch ) $=
      ( expcom imp ) BACABCDEF $.
  $}

  ${
    ancomsd.1 $e |- ( ph -> ( ( ps /\ ch ) -> th ) ) $.
    $( Deduction commuting conjunction in antecedent.  (Contributed by NM,
       12-Dec-2004.) $)
    ancomsd $p |- ( ph -> ( ( ch /\ ps ) -> th ) ) $=
      ( wa ancom syl5bi ) CBFBCFADCBGEH $.
  $}

  ${
    pm3.2i.1 $e |- ph $.
    pm3.2i.2 $e |- ps $.
    $( Infer conjunction of premises.  (Contributed by NM, 5-Aug-1993.) $)
    pm3.2i $p |- ( ph /\ ps ) $=
      ( wa pm3.2 mp2 ) ABABECDABFG $.
  $}

  $( Nested conjunction of antecedents.  (Contributed by NM, 5-Aug-1993.) $)
  pm3.43i $p |- ( ( ph -> ps )
      -> ( ( ph -> ch ) -> ( ph -> ( ps /\ ch ) ) ) ) $=
    ( wa pm3.2 imim3i ) BCBCDABCEF $.

  $( Elimination of a conjunct.  Theorem *3.26 (Simp) of [WhiteheadRussell]
     p. 112.  (Contributed by NM, 5-Aug-1993.)  (Proof shortened by Wolf
     Lammen, 13-Nov-2012.) $)
  simpl $p |- ( ( ph /\ ps ) -> ph ) $=
    ( ax-1 imp ) ABAABCD $.

  ${
    simpli.1 $e |- ( ph /\ ps ) $.
    $( Inference eliminating a conjunct.  (Contributed by NM, 15-Jun-1994.) $)
    simpli $p |- ph $=
      ( wa simpl ax-mp ) ABDACABEF $.
  $}

  ${
    simpld.1 $e |- ( ph -> ( ps /\ ch ) ) $.
    $( Deduction eliminating a conjunct.  A translation of natural deduction
       rule ` /\ ` EL ( ` /\ ` elimination left), see natded in set.mm.
       (Contributed by NM, 5-Aug-1993.) $)
    simpld $p |- ( ph -> ps ) $=
      ( wa simpl syl ) ABCEBDBCFG $.
  $}

  ${
    simplbi.1 $e |- ( ph <-> ( ps /\ ch ) ) $.
    $( Deduction eliminating a conjunct.  (Contributed by NM, 27-May-1998.) $)
    simplbi $p |- ( ph -> ps ) $=
      ( wa biimpi simpld ) ABCABCEDFG $.
  $}

  $( Elimination of a conjunct.  Theorem *3.27 (Simp) of [WhiteheadRussell]
     p. 112.  (Contributed by NM, 5-Aug-1993.)  (Proof shortened by Wolf
     Lammen, 13-Nov-2012.) $)
  simpr $p |- ( ( ph /\ ps ) -> ps ) $=
    ( idd imp ) ABBABCD $.

  ${
    simpri.1 $e |- ( ph /\ ps ) $.
    $( Inference eliminating a conjunct.  (Contributed by NM, 15-Jun-1994.) $)
    simpri $p |- ps $=
      ( wa simpr ax-mp ) ABDBCABEF $.
  $}

  ${
    simprd.1 $e |- ( ph -> ( ps /\ ch ) ) $.
    $( Deduction eliminating a conjunct.  (Contributed by NM, 5-Aug-1993.)  A
       translation of natural deduction rule ` /\ ` ER ( ` /\ ` elimination
       right), see natded in set.mm.  (Proof shortened by Wolf Lammen,
       3-Oct-2013.) $)
    simprd $p |- ( ph -> ch ) $=
      ( ancomd simpld ) ACBABCDEF $.
  $}

  ${
    simprbi.1 $e |- ( ph <-> ( ps /\ ch ) ) $.
    $( Deduction eliminating a conjunct.  (Contributed by NM, 27-May-1998.) $)
    simprbi $p |- ( ph -> ch ) $=
      ( wa biimpi simprd ) ABCABCEDFG $.
  $}

  ${
    adantr.1 $e |- ( ph -> ps ) $.
    $( Inference adding a conjunct to the right of an antecedent.  (Contributed
       by NM, 30-Aug-1993.) $)
    adantr $p |- ( ( ph /\ ch ) -> ps ) $=
      ( a1d imp ) ACBABCDEF $.
  $}

  ${
    adantl.1 $e |- ( ph -> ps ) $.
    $( Inference adding a conjunct to the left of an antecedent.  (Contributed
       by NM, 30-Aug-1993.)  (Proof shortened by Wolf Lammen, 23-Nov-2012.) $)
    adantl $p |- ( ( ch /\ ph ) -> ps ) $=
      ( adantr ancoms ) ACBABCDEF $.
  $}

  ${
    adantld.1 $e |- ( ph -> ( ps -> ch ) ) $.
    $( Deduction adding a conjunct to the left of an antecedent.  (Contributed
       by NM, 4-May-1994.)  (Proof shortened by Wolf Lammen, 20-Dec-2012.) $)
    adantld $p |- ( ph -> ( ( th /\ ps ) -> ch ) ) $=
      ( wa simpr syl5 ) DBFBACDBGEH $.
  $}

  ${
    adantrd.1 $e |- ( ph -> ( ps -> ch ) ) $.
    $( Deduction adding a conjunct to the right of an antecedent.  (Contributed
       by NM, 4-May-1994.) $)
    adantrd $p |- ( ph -> ( ( ps /\ th ) -> ch ) ) $=
      ( wa simpl syl5 ) BDFBACBDGEH $.
  $}

  ${
    mpan9.1 $e |- ( ph -> ps ) $.
    mpan9.2 $e |- ( ch -> ( ps -> th ) ) $.
    $( Modus ponens conjoining dissimilar antecedents.  (Contributed by NM,
       1-Feb-2008.)  (Proof shortened by Andrew Salmon, 7-May-2011.) $)
    mpan9 $p |- ( ( ph /\ ch ) -> th ) $=
      ( syl5 impcom ) CADABCDEFGH $.
  $}

  ${
    syldan.1 $e |- ( ( ph /\ ps ) -> ch ) $.
    syldan.2 $e |- ( ( ph /\ ch ) -> th ) $.
    $( A syllogism deduction with conjoined antecedents.  (Contributed by NM,
       24-Feb-2005.)  (Proof shortened by Wolf Lammen, 6-Apr-2013.) $)
    syldan $p |- ( ( ph /\ ps ) -> th ) $=
      ( wa expcom adantrd mpcom ) CABGDECADBACDFHIJ $.
  $}

  ${
    sylan.1 $e |- ( ph -> ps ) $.
    sylan.2 $e |- ( ( ps /\ ch ) -> th ) $.
    $( A syllogism inference.  (Contributed by NM, 21-Apr-1994.)  (Proof
       shortened by Wolf Lammen, 22-Nov-2012.) $)
    sylan $p |- ( ( ph /\ ch ) -> th ) $=
      ( expcom mpan9 ) ABCDEBCDFGH $.
  $}

  ${
    sylanb.1 $e |- ( ph <-> ps ) $.
    sylanb.2 $e |- ( ( ps /\ ch ) -> th ) $.
    $( A syllogism inference.  (Contributed by NM, 18-May-1994.) $)
    sylanb $p |- ( ( ph /\ ch ) -> th ) $=
      ( biimpi sylan ) ABCDABEGFH $.
  $}

  ${
    sylanbr.1 $e |- ( ps <-> ph ) $.
    sylanbr.2 $e |- ( ( ps /\ ch ) -> th ) $.
    $( A syllogism inference.  (Contributed by NM, 18-May-1994.) $)
    sylanbr $p |- ( ( ph /\ ch ) -> th ) $=
      ( biimpri sylan ) ABCDBAEGFH $.
  $}

  ${
    sylan2.1 $e |- ( ph -> ch ) $.
    sylan2.2 $e |- ( ( ps /\ ch ) -> th ) $.
    $( A syllogism inference.  (Contributed by NM, 21-Apr-1994.)  (Proof
       shortened by Wolf Lammen, 22-Nov-2012.) $)
    sylan2 $p |- ( ( ps /\ ph ) -> th ) $=
      ( adantl syldan ) BACDACBEGFH $.
  $}

  ${
    sylan2b.1 $e |- ( ph <-> ch ) $.
    sylan2b.2 $e |- ( ( ps /\ ch ) -> th ) $.
    $( A syllogism inference.  (Contributed by NM, 21-Apr-1994.) $)
    sylan2b $p |- ( ( ps /\ ph ) -> th ) $=
      ( biimpi sylan2 ) ABCDACEGFH $.
  $}

  ${
    sylan2br.1 $e |- ( ch <-> ph ) $.
    sylan2br.2 $e |- ( ( ps /\ ch ) -> th ) $.
    $( A syllogism inference.  (Contributed by NM, 21-Apr-1994.) $)
    sylan2br $p |- ( ( ps /\ ph ) -> th ) $=
      ( biimpri sylan2 ) ABCDCAEGFH $.
  $}

  ${
    syl2an.1 $e |- ( ph -> ps ) $.
    syl2an.2 $e |- ( ta -> ch ) $.
    syl2an.3 $e |- ( ( ps /\ ch ) -> th ) $.
    $( A double syllogism inference.  (Contributed by NM, 31-Jan-1997.) $)
    syl2an $p |- ( ( ph /\ ta ) -> th ) $=
      ( sylan sylan2 ) EACDGABCDFHIJ $.

    $( A double syllogism inference.  (Contributed by NM, 17-Sep-2013.) $)
    syl2anr $p |- ( ( ta /\ ph ) -> th ) $=
      ( syl2an ancoms ) AEDABCDEFGHIJ $.
  $}

  ${
    syl2anb.1 $e |- ( ph <-> ps ) $.
    syl2anb.2 $e |- ( ta <-> ch ) $.
    syl2anb.3 $e |- ( ( ps /\ ch ) -> th ) $.
    $( A double syllogism inference.  (Contributed by NM, 29-Jul-1999.) $)
    syl2anb $p |- ( ( ph /\ ta ) -> th ) $=
      ( sylanb sylan2b ) EACDGABCDFHIJ $.
  $}

  ${
    syl2anbr.1 $e |- ( ps <-> ph ) $.
    syl2anbr.2 $e |- ( ch <-> ta ) $.
    syl2anbr.3 $e |- ( ( ps /\ ch ) -> th ) $.
    $( A double syllogism inference.  (Contributed by NM, 29-Jul-1999.) $)
    syl2anbr $p |- ( ( ph /\ ta ) -> th ) $=
      ( sylanbr sylan2br ) EACDGABCDFHIJ $.
  $}

  ${
    syland.1 $e |- ( ph -> ( ps -> ch ) ) $.
    syland.2 $e |- ( ph -> ( ( ch /\ th ) -> ta ) ) $.
    $( A syllogism deduction.  (Contributed by NM, 15-Dec-2004.) $)
    syland $p |- ( ph -> ( ( ps /\ th ) -> ta ) ) $=
      ( wi exp3a syld imp3a ) ABDEABCDEHFACDEGIJK $.
  $}

  ${
    sylan2d.1 $e |- ( ph -> ( ps -> ch ) ) $.
    sylan2d.2 $e |- ( ph -> ( ( th /\ ch ) -> ta ) ) $.
    $( A syllogism deduction.  (Contributed by NM, 15-Dec-2004.) $)
    sylan2d $p |- ( ph -> ( ( th /\ ps ) -> ta ) ) $=
      ( ancomsd syland ) ABDEABCDEFADCEGHIH $.
  $}

  ${
    syl2and.1 $e |- ( ph -> ( ps -> ch ) ) $.
    syl2and.2 $e |- ( ph -> ( th -> ta ) ) $.
    syl2and.3 $e |- ( ph -> ( ( ch /\ ta ) -> et ) ) $.
    $( A syllogism deduction.  (Contributed by NM, 15-Dec-2004.) $)
    syl2and $p |- ( ph -> ( ( ps /\ th ) -> et ) ) $=
      ( sylan2d syland ) ABCDFGADECFHIJK $.
  $}

  ${
    biimpa.1 $e |- ( ph -> ( ps <-> ch ) ) $.
    $( Inference from a logical equivalence.  (Contributed by NM,
       3-May-1994.) $)
    biimpa $p |- ( ( ph /\ ps ) -> ch ) $=
      ( biimpd imp ) ABCABCDEF $.

    $( Inference from a logical equivalence.  (Contributed by NM,
       3-May-1994.) $)
    biimpar $p |- ( ( ph /\ ch ) -> ps ) $=
      ( biimprd imp ) ACBABCDEF $.

    $( Inference from a logical equivalence.  (Contributed by NM,
       3-May-1994.) $)
    biimpac $p |- ( ( ps /\ ph ) -> ch ) $=
      ( biimpcd imp ) BACABCDEF $.

    $( Inference from a logical equivalence.  (Contributed by NM,
       3-May-1994.) $)
    biimparc $p |- ( ( ch /\ ph ) -> ps ) $=
      ( biimprcd imp ) CABABCDEF $.
  $}

  $( Negated conjunction in terms of disjunction (De Morgan's law).  Theorem
     *4.51 of [WhiteheadRussell] p. 120.  (Contributed by NM, 5-Aug-1993.)
     (Proof shortened by Andrew Salmon, 13-May-2011.) $)
  ianor $p |- ( -. ( ph /\ ps ) <-> ( -. ph \/ -. ps ) ) $=
    ( wa wn wi wo imnan pm4.62 bitr3i ) ABCDABDZEADJFABGABHI $.

  $( Conjunction in terms of disjunction (De Morgan's law).  Theorem *4.5 of
     [WhiteheadRussell] p. 120.  (Contributed by NM, 5-Aug-1993.)  (Proof
     shortened by Wolf Lammen, 3-Nov-2012.) $)
  anor $p |- ( ( ph /\ ps ) <-> -. ( -. ph \/ -. ps ) ) $=
    ( wn wo wa ianor bicomi con2bii ) ACBCDZABEZJCIABFGH $.

  $( Negated disjunction in terms of conjunction (De Morgan's law).  Compare
     Theorem *4.56 of [WhiteheadRussell] p. 120.  (Contributed by NM,
     5-Aug-1993.)  (Proof shortened by Andrew Salmon, 7-May-2011.) $)
  ioran $p |- ( -. ( ph \/ ps ) <-> ( -. ph /\ -. ps ) ) $=
    ( wn wi wa wo pm4.65 pm4.64 xchnxbi ) ACZBDJBCEABFABGABHI $.

  $( Theorem *4.52 of [WhiteheadRussell] p. 120.  (Contributed by NM,
     3-Jan-2005.)  (Proof shortened by Wolf Lammen, 5-Nov-2012.) $)
  pm4.52 $p |- ( ( ph /\ -. ps ) <-> -. ( -. ph \/ ps ) ) $=
    ( wn wa wi wo annim imor xchbinx ) ABCDABEACBFABGABHI $.

  $( Theorem *4.53 of [WhiteheadRussell] p. 120.  (Contributed by NM,
     3-Jan-2005.) $)
  pm4.53 $p |- ( -. ( ph /\ -. ps ) <-> ( -. ph \/ ps ) ) $=
    ( wn wo wa pm4.52 con2bii bicomi ) ACBDZABCEZCJIABFGH $.

  $( Theorem *4.54 of [WhiteheadRussell] p. 120.  (Contributed by NM,
     3-Jan-2005.)  (Proof shortened by Wolf Lammen, 5-Nov-2012.) $)
  pm4.54 $p |- ( ( -. ph /\ ps ) <-> -. ( ph \/ -. ps ) ) $=
    ( wn wa wi wo df-an pm4.66 xchbinx ) ACZBDJBCZEAKFJBGABHI $.

  $( Theorem *4.55 of [WhiteheadRussell] p. 120.  (Contributed by NM,
     3-Jan-2005.) $)
  pm4.55 $p |- ( -. ( -. ph /\ ps ) <-> ( ph \/ -. ps ) ) $=
    ( wn wo wa pm4.54 con2bii bicomi ) ABCDZACBEZCJIABFGH $.

  $( Theorem *4.56 of [WhiteheadRussell] p. 120.  (Contributed by NM,
     3-Jan-2005.) $)
  pm4.56 $p |- ( ( -. ph /\ -. ps ) <-> -. ( ph \/ ps ) ) $=
    ( wo wn wa ioran bicomi ) ABCDADBDEABFG $.

  $( Disjunction in terms of conjunction (De Morgan's law).  Compare Theorem
     *4.57 of [WhiteheadRussell] p. 120.  (Contributed by NM, 5-Aug-1993.)
     (Proof shortened by Andrew Salmon, 7-May-2011.) $)
  oran $p |- ( ( ph \/ ps ) <-> -. ( -. ph /\ -. ps ) ) $=
    ( wn wa wo pm4.56 con2bii ) ACBCDABEABFG $.

  $( Theorem *4.57 of [WhiteheadRussell] p. 120.  (Contributed by NM,
     3-Jan-2005.) $)
  pm4.57 $p |- ( -. ( -. ph /\ -. ps ) <-> ( ph \/ ps ) ) $=
    ( wo wn wa oran bicomi ) ABCADBDEDABFG $.

  $( Theorem *3.1 of [WhiteheadRussell] p. 111.  (Contributed by NM,
     3-Jan-2005.) $)
  pm3.1 $p |- ( ( ph /\ ps ) -> -. ( -. ph \/ -. ps ) ) $=
    ( wa wn wo anor biimpi ) ABCADBDEDABFG $.

  $( Theorem *3.11 of [WhiteheadRussell] p. 111.  (Contributed by NM,
     3-Jan-2005.) $)
  pm3.11 $p |- ( -. ( -. ph \/ -. ps ) -> ( ph /\ ps ) ) $=
    ( wa wn wo anor biimpri ) ABCADBDEDABFG $.

  $( Theorem *3.12 of [WhiteheadRussell] p. 111.  (Contributed by NM,
     3-Jan-2005.) $)
  pm3.12 $p |- ( ( -. ph \/ -. ps ) \/ ( ph /\ ps ) ) $=
    ( wn wo wa pm3.11 orri ) ACBCDABEABFG $.

  $( Theorem *3.13 of [WhiteheadRussell] p. 111.  (Contributed by NM,
     3-Jan-2005.) $)
  pm3.13 $p |- ( -. ( ph /\ ps ) -> ( -. ph \/ -. ps ) ) $=
    ( wn wo wa pm3.11 con1i ) ACBCDABEABFG $.

  $( Theorem *3.14 of [WhiteheadRussell] p. 111.  (Contributed by NM,
     3-Jan-2005.) $)
  pm3.14 $p |- ( ( -. ph \/ -. ps ) -> -. ( ph /\ ps ) ) $=
    ( wa wn wo pm3.1 con2i ) ABCADBDEABFG $.

  $( Introduction of antecedent as conjunct.  Theorem *4.73 of
     [WhiteheadRussell] p. 121.  (Contributed by NM, 30-Mar-1994.) $)
  iba $p |- ( ph -> ( ps <-> ( ps /\ ph ) ) ) $=
    ( wa pm3.21 simpl impbid1 ) ABBACABDBAEF $.

  $( Introduction of antecedent as conjunct.  (Contributed by NM,
     5-Dec-1995.) $)
  ibar $p |- ( ph -> ( ps <-> ( ph /\ ps ) ) ) $=
    ( wa pm3.2 simpr impbid1 ) ABABCABDABEF $.

  ${
    biantru.1 $e |- ph $.
    $( A wff is equivalent to its conjunction with truth.  (Contributed by NM,
       5-Aug-1993.) $)
    biantru $p |- ( ps <-> ( ps /\ ph ) ) $=
      ( wa wb iba ax-mp ) ABBADECABFG $.
  $}

  ${
    biantrur.1 $e |- ph $.
    $( A wff is equivalent to its conjunction with truth.  (Contributed by NM,
       3-Aug-1994.) $)
    biantrur $p |- ( ps <-> ( ph /\ ps ) ) $=
      ( wa wb ibar ax-mp ) ABABDECABFG $.
  $}

  ${
    biantrud.1 $e |- ( ph -> ps ) $.
    $( A wff is equivalent to its conjunction with truth.  (Contributed by NM,
       2-Aug-1994.)  (Proof shortened by Wolf Lammen, 23-Oct-2013.) $)
    biantrud $p |- ( ph -> ( ch <-> ( ch /\ ps ) ) ) $=
      ( wa wb iba syl ) ABCCBEFDBCGH $.

    $( A wff is equivalent to its conjunction with truth.  (Contributed by NM,
       1-May-1995.)  (Proof shortened by Andrew Salmon, 7-May-2011.) $)
    biantrurd $p |- ( ph -> ( ch <-> ( ps /\ ch ) ) ) $=
      ( wa wb ibar syl ) ABCBCEFDBCGH $.
  $}

  ${
    jaao.1 $e |- ( ph -> ( ps -> ch ) ) $.
    jaao.2 $e |- ( th -> ( ta -> ch ) ) $.
    $( Inference conjoining and disjoining the antecedents of two
       implications.  (Contributed by NM, 30-Sep-1999.) $)
    jaao $p |- ( ( ph /\ th ) -> ( ( ps \/ ta ) -> ch ) ) $=
      ( wa wi adantr adantl jaod ) ADHBCEABCIDFJDECIAGKL $.

    $( Inference disjoining and conjoining the antecedents of two
       implications.  (Contributed by Stefan Allan, 1-Nov-2008.) $)
    jaoa $p |- ( ( ph \/ th ) -> ( ( ps /\ ta ) -> ch ) ) $=
      ( wa wi adantrd adantld jaoi ) ABEHCIDABCEFJDECBGKL $.
  $}

  $( Theorem *3.44 of [WhiteheadRussell] p. 113.  (Contributed by NM,
     3-Jan-2005.)  (Proof shortened by Wolf Lammen, 3-Oct-2013.) $)
  pm3.44 $p |- ( ( ( ps -> ph ) /\ ( ch -> ph ) )
      -> ( ( ps \/ ch ) -> ph ) ) $=
    ( wi id jaao ) BADZBACADZCGEHEF $.

  $( Disjunction of antecedents.  Compare Theorem *3.44 of [WhiteheadRussell]
     p. 113.  (Contributed by NM, 5-Apr-1994.)  (Proof shortened by Wolf
     Lammen, 4-Apr-2013.) $)
  jao $p |- ( ( ph -> ps ) -> ( ( ch -> ps ) -> ( ( ph \/ ch ) -> ps ) ) ) $=
    ( wi wo pm3.44 ex ) ABDCBDACEBDBACFG $.

  $( Axiom *1.2 of [WhiteheadRussell] p. 96, which they call "Taut".
     (Contributed by NM, 3-Jan-2005.) $)
  pm1.2 $p |- ( ( ph \/ ph ) -> ph ) $=
    ( id jaoi ) AAAABZDC $.

  $( Idempotent law for disjunction.  Theorem *4.25 of [WhiteheadRussell]
     p. 117.  (Contributed by NM, 5-Aug-1993.)  (Proof shortened by Andrew
     Salmon, 16-Apr-2011.)  (Proof shortened by Wolf Lammen, 10-Mar-2013.) $)
  oridm $p |- ( ( ph \/ ph ) <-> ph ) $=
    ( wo pm1.2 pm2.07 impbii ) AABAACADE $.

  $( Theorem *4.25 of [WhiteheadRussell] p. 117.  (Contributed by NM,
     3-Jan-2005.) $)
  pm4.25 $p |- ( ph <-> ( ph \/ ph ) ) $=
    ( wo oridm bicomi ) AABAACD $.

  ${
    orim12i.1 $e |- ( ph -> ps ) $.
    orim12i.2 $e |- ( ch -> th ) $.
    $( Disjoin antecedents and consequents of two premises.  (Contributed by
       NM, 6-Jun-1994.)  (Proof shortened by Wolf Lammen, 25-Jul-2012.) $)
    orim12i $p |- ( ( ph \/ ch ) -> ( ps \/ th ) ) $=
      ( wo orcd olcd jaoi ) ABDGCABDEHCDBFIJ $.
  $}

  ${
    orim1i.1 $e |- ( ph -> ps ) $.
    $( Introduce disjunct to both sides of an implication.  (Contributed by NM,
       6-Jun-1994.) $)
    orim1i $p |- ( ( ph \/ ch ) -> ( ps \/ ch ) ) $=
      ( id orim12i ) ABCCDCEF $.

    $( Introduce disjunct to both sides of an implication.  (Contributed by NM,
       6-Jun-1994.) $)
    orim2i $p |- ( ( ch \/ ph ) -> ( ch \/ ps ) ) $=
      ( id orim12i ) CCABCEDF $.
  $}

  ${
    orbi2i.1 $e |- ( ph <-> ps ) $.
    $( Inference adding a left disjunct to both sides of a logical
       equivalence.  (Contributed by NM, 5-Aug-1993.)  (Proof shortened by Wolf
       Lammen, 12-Dec-2012.) $)
    orbi2i $p |- ( ( ch \/ ph ) <-> ( ch \/ ps ) ) $=
      ( wo biimpi orim2i biimpri impbii ) CAECBEABCABDFGBACABDHGI $.

    $( Inference adding a right disjunct to both sides of a logical
       equivalence.  (Contributed by NM, 5-Aug-1993.) $)
    orbi1i $p |- ( ( ph \/ ch ) <-> ( ps \/ ch ) ) $=
      ( wo orcom orbi2i 3bitri ) ACECAECBEBCEACFABCDGCBFH $.
  $}

  ${
    orbi12i.1 $e |- ( ph <-> ps ) $.
    orbi12i.2 $e |- ( ch <-> th ) $.
    $( Infer the disjunction of two equivalences.  (Contributed by NM,
       5-Aug-1993.) $)
    orbi12i $p |- ( ( ph \/ ch ) <-> ( ps \/ th ) ) $=
      ( wo orbi2i orbi1i bitri ) ACGADGBDGCDAFHABDEIJ $.
  $}

  $( Axiom *1.5 (Assoc) of [WhiteheadRussell] p. 96.  (Contributed by NM,
     3-Jan-2005.) $)
  pm1.5 $p |- ( ( ph \/ ( ps \/ ch ) ) -> ( ps \/ ( ph \/ ch ) ) ) $=
    ( wo orc olcd olc orim2i jaoi ) ABACDZDBCDAJBACEFCJBCAGHI $.

  $( Swap two disjuncts.  (Contributed by NM, 5-Aug-1993.)  (Proof shortened by
     Wolf Lammen, 14-Nov-2012.) $)
  or12 $p |- ( ( ph \/ ( ps \/ ch ) ) <-> ( ps \/ ( ph \/ ch ) ) ) $=
    ( wo pm1.5 impbii ) ABCDDBACDDABCEBACEF $.

  $( Associative law for disjunction.  Theorem *4.33 of [WhiteheadRussell]
     p. 118.  (Contributed by NM, 5-Aug-1993.)  (Proof shortened by Andrew
     Salmon, 26-Jun-2011.) $)
  orass $p |- ( ( ( ph \/ ps ) \/ ch ) <-> ( ph \/ ( ps \/ ch ) ) ) $=
    ( wo orcom or12 orbi2i 3bitri ) ABDZCDCIDACBDZDABCDZDICECABFJKACBEGH $.

  $( Theorem *2.31 of [WhiteheadRussell] p. 104.  (Contributed by NM,
     3-Jan-2005.) $)
  pm2.31 $p |- ( ( ph \/ ( ps \/ ch ) ) -> ( ( ph \/ ps ) \/ ch ) ) $=
    ( wo orass biimpri ) ABDCDABCDDABCEF $.

  $( Theorem *2.32 of [WhiteheadRussell] p. 105.  (Contributed by NM,
     3-Jan-2005.) $)
  pm2.32 $p |- ( ( ( ph \/ ps ) \/ ch ) -> ( ph \/ ( ps \/ ch ) ) ) $=
    ( wo orass biimpi ) ABDCDABCDDABCEF $.

  $( A rearrangement of disjuncts.  (Contributed by NM, 18-Oct-1995.)  (Proof
     shortened by Andrew Salmon, 26-Jun-2011.) $)
  or32 $p |- ( ( ( ph \/ ps ) \/ ch ) <-> ( ( ph \/ ch ) \/ ps ) ) $=
    ( wo orass or12 orcom 3bitri ) ABDCDABCDDBACDZDIBDABCEABCFBIGH $.

  $( Rearrangement of 4 disjuncts.  (Contributed by NM, 12-Aug-1994.) $)
  or4 $p |- ( ( ( ph \/ ps ) \/ ( ch \/ th ) ) <->
                ( ( ph \/ ch ) \/ ( ps \/ th ) ) ) $=
    ( wo or12 orbi2i orass 3bitr4i ) ABCDEZEZEACBDEZEZEABEJEACELEKMABCDFGABJHAC
    LHI $.

  $( Rearrangement of 4 disjuncts.  (Contributed by NM, 10-Jan-2005.) $)
  or42 $p |- ( ( ( ph \/ ps ) \/ ( ch \/ th ) ) <->
                 ( ( ph \/ ch ) \/ ( th \/ ps ) ) ) $=
    ( wo or4 orcom orbi2i bitri ) ABECDEEACEZBDEZEJDBEZEABCDFKLJBDGHI $.

  $( Distribution of disjunction over disjunction.  (Contributed by NM,
     25-Feb-1995.) $)
  orordi $p |- ( ( ph \/ ( ps \/ ch ) ) <->
               ( ( ph \/ ps ) \/ ( ph \/ ch ) ) ) $=
    ( wo oridm orbi1i or4 bitr3i ) ABCDZDAADZIDABDACDDJAIAEFAABCGH $.

  $( Distribution of disjunction over disjunction.  (Contributed by NM,
     25-Feb-1995.) $)
  orordir $p |- ( ( ( ph \/ ps ) \/ ch ) <->
               ( ( ph \/ ch ) \/ ( ps \/ ch ) ) ) $=
    ( wo oridm orbi2i or4 bitr3i ) ABDZCDICCDZDACDBCDDJCICEFABCCGH $.

  ${
    jca.1 $e |- ( ph -> ps ) $.
    jca.2 $e |- ( ph -> ch ) $.
    $( Deduce conjunction of the consequents of two implications ("join
       consequents with 'and'").  Equivalent to the natural deduction rule
       ` /\ ` I ( ` /\ ` introduction), see natded in set.mm.  (Contributed by
       NM, 5-Aug-1993.)  (Proof shortened by Wolf Lammen, 25-Oct-2012.) $)
    jca $p |- ( ph -> ( ps /\ ch ) ) $=
      ( wa pm3.2 sylc ) ABCBCFDEBCGH $.
  $}

  ${
    jcad.1 $e |- ( ph -> ( ps -> ch ) ) $.
    jcad.2 $e |- ( ph -> ( ps -> th ) ) $.
    $( Deduction conjoining the consequents of two implications.  (Contributed
       by NM, 5-Aug-1993.)  (Proof shortened by Wolf Lammen, 23-Jul-2013.) $)
    jcad $p |- ( ph -> ( ps -> ( ch /\ th ) ) ) $=
      ( wa pm3.2 syl6c ) ABCDCDGEFCDHI $.
  $}

  ${
    jca31.1 $e |- ( ph -> ps ) $.
    jca31.2 $e |- ( ph -> ch ) $.
    jca31.3 $e |- ( ph -> th ) $.
    $( Join three consequents.  (Contributed by Jeff Hankins, 1-Aug-2009.) $)
    jca31 $p |- ( ph -> ( ( ps /\ ch ) /\ th ) ) $=
      ( wa jca ) ABCHDABCEFIGI $.

    $( Join three consequents.  (Contributed by FL, 1-Aug-2009.) $)
    jca32 $p |- ( ph -> ( ps /\ ( ch /\ th ) ) ) $=
      ( wa jca ) ABCDHEACDFGII $.
  $}

  ${
    jcai.1 $e |- ( ph -> ps ) $.
    jcai.2 $e |- ( ph -> ( ps -> ch ) ) $.
    $( Deduction replacing implication with conjunction.  (Contributed by NM,
       5-Aug-1993.) $)
    jcai $p |- ( ph -> ( ps /\ ch ) ) $=
      ( mpd jca ) ABCDABCDEFG $.
  $}

  ${
    jctil.1 $e |- ( ph -> ps ) $.
    jctil.2 $e |- ch $.
    $( Inference conjoining a theorem to left of consequent in an implication.
       (Contributed by NM, 31-Dec-1993.) $)
    jctil $p |- ( ph -> ( ch /\ ps ) ) $=
      ( a1i jca ) ACBCAEFDG $.

    $( Inference conjoining a theorem to right of consequent in an
       implication.  (Contributed by NM, 31-Dec-1993.) $)
    jctir $p |- ( ph -> ( ps /\ ch ) ) $=
      ( a1i jca ) ABCDCAEFG $.
  $}

  ${
    jctl.1 $e |- ps $.
    $( Inference conjoining a theorem to the left of a consequent.
       (Contributed by NM, 31-Dec-1993.)  (Proof shortened by Wolf Lammen,
       24-Oct-2012.) $)
    jctl $p |- ( ph -> ( ps /\ ph ) ) $=
      ( id jctil ) AABADCE $.

    $( Inference conjoining a theorem to the right of a consequent.
       (Contributed by NM, 18-Aug-1993.)  (Proof shortened by Wolf Lammen,
       24-Oct-2012.) $)
    jctr $p |- ( ph -> ( ph /\ ps ) ) $=
      ( id jctir ) AABADCE $.
  $}

  ${
    jctild.1 $e |- ( ph -> ( ps -> ch ) ) $.
    jctild.2 $e |- ( ph -> th ) $.
    $( Deduction conjoining a theorem to left of consequent in an implication.
       (Contributed by NM, 21-Apr-2005.) $)
    jctild $p |- ( ph -> ( ps -> ( th /\ ch ) ) ) $=
      ( a1d jcad ) ABDCADBFGEH $.
  $}

  ${
    jctird.1 $e |- ( ph -> ( ps -> ch ) ) $.
    jctird.2 $e |- ( ph -> th ) $.
    $( Deduction conjoining a theorem to right of consequent in an
       implication.  (Contributed by NM, 21-Apr-2005.) $)
    jctird $p |- ( ph -> ( ps -> ( ch /\ th ) ) ) $=
      ( a1d jcad ) ABCDEADBFGH $.
  $}

  $( Conjoin antecedent to left of consequent.  (Contributed by NM,
     15-Aug-1994.) $)
  ancl $p |- ( ( ph -> ps ) -> ( ph -> ( ph /\ ps ) ) ) $=
    ( wa pm3.2 a2i ) ABABCABDE $.

  $( Conjoin antecedent to left of consequent.  Theorem *4.7 of
     [WhiteheadRussell] p. 120.  (Contributed by NM, 25-Jul-1999.)  (Proof
     shortened by Wolf Lammen, 24-Mar-2013.) $)
  anclb $p |- ( ( ph -> ps ) <-> ( ph -> ( ph /\ ps ) ) ) $=
    ( wa ibar pm5.74i ) ABABCABDE $.

  $( Theorem *5.42 of [WhiteheadRussell] p. 125.  (Contributed by NM,
     3-Jan-2005.) $)
  pm5.42 $p |- ( ( ph -> ( ps -> ch ) ) <->
                ( ph -> ( ps -> ( ph /\ ch ) ) ) ) $=
    ( wi wa ibar imbi2d pm5.74i ) ABCDBACEZDACIBACFGH $.

  $( Conjoin antecedent to right of consequent.  (Contributed by NM,
     15-Aug-1994.) $)
  ancr $p |- ( ( ph -> ps ) -> ( ph -> ( ps /\ ph ) ) ) $=
    ( wa pm3.21 a2i ) ABBACABDE $.

  $( Conjoin antecedent to right of consequent.  (Contributed by NM,
     25-Jul-1999.)  (Proof shortened by Wolf Lammen, 24-Mar-2013.) $)
  ancrb $p |- ( ( ph -> ps ) <-> ( ph -> ( ps /\ ph ) ) ) $=
    ( wa iba pm5.74i ) ABBACABDE $.

  ${
    ancli.1 $e |- ( ph -> ps ) $.
    $( Deduction conjoining antecedent to left of consequent.  (Contributed by
       NM, 12-Aug-1993.) $)
    ancli $p |- ( ph -> ( ph /\ ps ) ) $=
      ( id jca ) AABADCE $.
  $}

  ${
    ancri.1 $e |- ( ph -> ps ) $.
    $( Deduction conjoining antecedent to right of consequent.  (Contributed by
       NM, 15-Aug-1994.) $)
    ancri $p |- ( ph -> ( ps /\ ph ) ) $=
      ( id jca ) ABACADE $.
  $}

  ${
    ancld.1 $e |- ( ph -> ( ps -> ch ) ) $.
    $( Deduction conjoining antecedent to left of consequent in nested
       implication.  (Contributed by NM, 15-Aug-1994.)  (Proof shortened by
       Wolf Lammen, 1-Nov-2012.) $)
    ancld $p |- ( ph -> ( ps -> ( ps /\ ch ) ) ) $=
      ( idd jcad ) ABBCABEDF $.
  $}

  ${
    ancrd.1 $e |- ( ph -> ( ps -> ch ) ) $.
    $( Deduction conjoining antecedent to right of consequent in nested
       implication.  (Contributed by NM, 15-Aug-1994.)  (Proof shortened by
       Wolf Lammen, 1-Nov-2012.) $)
    ancrd $p |- ( ph -> ( ps -> ( ch /\ ps ) ) ) $=
      ( idd jcad ) ABCBDABEF $.
  $}

  $( Conjoin antecedent to left of consequent in nested implication.
     (Contributed by NM, 10-Aug-1994.)  (Proof shortened by Wolf Lammen,
     14-Jul-2013.) $)
  anc2l $p |- ( ( ph -> ( ps -> ch ) ) -> ( ph -> ( ps -> ( ph /\ ch ) ) ) ) $=
    ( wi wa pm5.42 biimpi ) ABCDDABACEDDABCFG $.

  $( Conjoin antecedent to right of consequent in nested implication.
     (Contributed by NM, 15-Aug-1994.) $)
  anc2r $p |- ( ( ph -> ( ps -> ch ) ) -> ( ph -> ( ps -> ( ch /\ ph ) ) ) ) $=
    ( wi wa pm3.21 imim2d a2i ) ABCDBCAEZDACIBACFGH $.

  ${
    anc2li.1 $e |- ( ph -> ( ps -> ch ) ) $.
    $( Deduction conjoining antecedent to left of consequent in nested
       implication.  (Contributed by NM, 10-Aug-1994.)  (Proof shortened by
       Wolf Lammen, 7-Dec-2012.) $)
    anc2li $p |- ( ph -> ( ps -> ( ph /\ ch ) ) ) $=
      ( id jctild ) ABCADAEF $.
  $}

  ${
    anc2ri.1 $e |- ( ph -> ( ps -> ch ) ) $.
    $( Deduction conjoining antecedent to right of consequent in nested
       implication.  (Contributed by NM, 15-Aug-1994.)  (Proof shortened by
       Wolf Lammen, 7-Dec-2012.) $)
    anc2ri $p |- ( ph -> ( ps -> ( ch /\ ph ) ) ) $=
      ( id jctird ) ABCADAEF $.
  $}

  $( Theorem *3.41 of [WhiteheadRussell] p. 113.  (Contributed by NM,
     3-Jan-2005.) $)
  pm3.41 $p |- ( ( ph -> ch ) -> ( ( ph /\ ps ) -> ch ) ) $=
    ( wa simpl imim1i ) ABDACABEF $.

  $( Theorem *3.42 of [WhiteheadRussell] p. 113.  (Contributed by NM,
     3-Jan-2005.) $)
  pm3.42 $p |- ( ( ps -> ch ) -> ( ( ph /\ ps ) -> ch ) ) $=
    ( wa simpr imim1i ) ABDBCABEF $.

  $( Conjunction implies implication.  Theorem *3.4 of [WhiteheadRussell]
     p. 113.  (Contributed by NM, 31-Jul-1995.) $)
  pm3.4 $p |- ( ( ph /\ ps ) -> ( ph -> ps ) ) $=
    ( wa simpr a1d ) ABCBAABDE $.

  $( Conjunction with implication.  Compare Theorem *4.45 of [WhiteheadRussell]
     p. 119.  (Contributed by NM, 17-May-1998.) $)
  pm4.45im $p |- ( ph <-> ( ph /\ ( ps -> ph ) ) ) $=
    ( wi wa ax-1 ancli simpl impbii ) AABACZDAIABEFAIGH $.

  ${
    anim12d.1 $e |- ( ph -> ( ps -> ch ) ) $.
    anim12d.2 $e |- ( ph -> ( th -> ta ) ) $.
    $( Conjoin antecedents and consequents in a deduction.  (Contributed by NM,
       3-Apr-1994.)  (Proof shortened by Wolf Lammen, 18-Dec-2013.) $)
    anim12d $p |- ( ph -> ( ( ps /\ th ) -> ( ch /\ ta ) ) ) $=
      ( wa idd syl2and ) ABCDECEHZFGAKIJ $.
  $}

  ${
    anim1d.1 $e |- ( ph -> ( ps -> ch ) ) $.
    $( Add a conjunct to right of antecedent and consequent in a deduction.
       (Contributed by NM, 3-Apr-1994.) $)
    anim1d $p |- ( ph -> ( ( ps /\ th ) -> ( ch /\ th ) ) ) $=
      ( idd anim12d ) ABCDDEADFG $.

    $( Add a conjunct to left of antecedent and consequent in a deduction.
       (Contributed by NM, 5-Aug-1993.) $)
    anim2d $p |- ( ph -> ( ( th /\ ps ) -> ( th /\ ch ) ) ) $=
      ( idd anim12d ) ADDBCADFEG $.
  $}

  ${
    anim12i.1 $e |- ( ph -> ps ) $.
    anim12i.2 $e |- ( ch -> th ) $.
    $( Conjoin antecedents and consequents of two premises.  (Contributed by
       NM, 5-Aug-1993.)  (Proof shortened by Wolf Lammen, 14-Dec-2013.) $)
    anim12i $p |- ( ( ph /\ ch ) -> ( ps /\ th ) ) $=
      ( wa id syl2an ) ABDBDGZCEFJHI $.

    $( Variant of ~ anim12i with commutation.  (Contributed by Jonathan
       Ben-Naim, 3-Jun-2011.) $)
    anim12ci $p |- ( ( ph /\ ch ) -> ( th /\ ps ) ) $=
      ( wa anim12i ancoms ) CADBGCDABFEHI $.
  $}

  ${
    anim1i.1 $e |- ( ph -> ps ) $.
    $( Introduce conjunct to both sides of an implication.  (Contributed by NM,
       5-Aug-1993.) $)
    anim1i $p |- ( ( ph /\ ch ) -> ( ps /\ ch ) ) $=
      ( id anim12i ) ABCCDCEF $.

    $( Introduce conjunct to both sides of an implication.  (Contributed by NM,
       5-Aug-1993.) $)
    anim2i $p |- ( ( ch /\ ph ) -> ( ch /\ ps ) ) $=
      ( id anim12i ) CCABCEDF $.
  $}

  ${
    anim12ii.1 $e |- ( ph -> ( ps -> ch ) ) $.
    anim12ii.2 $e |- ( th -> ( ps -> ta ) ) $.
    $( Conjoin antecedents and consequents in a deduction.  (Contributed by NM,
       11-Nov-2007.)  (Proof shortened by Wolf Lammen, 19-Jul-2013.) $)
    anim12ii $p |- ( ( ph /\ th ) -> ( ps -> ( ch /\ ta ) ) ) $=
      ( wa wi adantr adantl jcad ) ADHBCEABCIDFJDBEIAGKL $.
  $}

  $( Conjoin antecedents and consequents of two premises.  This is the closed
     theorem form of ~ anim12d .  Theorem *3.47 of [WhiteheadRussell] p. 113.
     It was proved by Leibniz, and it evidently pleased him enough to call it
     _praeclarum theorema_ (splendid theorem).  (Contributed by NM,
     12-Aug-1993.)  (Proof shortened by Wolf Lammen, 7-Apr-2013.) $)
  prth $p |- ( ( ( ph -> ps ) /\ ( ch -> th ) )
       -> ( ( ph /\ ch ) -> ( ps /\ th ) ) ) $=
    ( wi wa simpl simpr anim12d ) ABEZCDEZFABCDJKGJKHI $.

  $( Theorem *2.3 of [WhiteheadRussell] p. 104.  (Contributed by NM,
     3-Jan-2005.) $)
  pm2.3 $p |- ( ( ph \/ ( ps \/ ch ) ) -> ( ph \/ ( ch \/ ps ) ) ) $=
    ( wo pm1.4 orim2i ) BCDCBDABCEF $.

  $( Theorem *2.41 of [WhiteheadRussell] p. 106.  (Contributed by NM,
     3-Jan-2005.) $)
  pm2.41 $p |- ( ( ps \/ ( ph \/ ps ) ) -> ( ph \/ ps ) ) $=
    ( wo olc id jaoi ) BABCZGBADGEF $.

  $( Theorem *2.42 of [WhiteheadRussell] p. 106.  (Contributed by NM,
     3-Jan-2005.) $)
  pm2.42 $p |- ( ( -. ph \/ ( ph -> ps ) ) -> ( ph -> ps ) ) $=
    ( wn wi pm2.21 id jaoi ) ACABDZHABEHFG $.

  $( Theorem *2.4 of [WhiteheadRussell] p. 106.  (Contributed by NM,
     3-Jan-2005.) $)
  pm2.4 $p |- ( ( ph \/ ( ph \/ ps ) ) -> ( ph \/ ps ) ) $=
    ( wo orc id jaoi ) AABCZGABDGEF $.

  ${
    pm2.65da.1 $e |- ( ( ph /\ ps ) -> ch ) $.
    pm2.65da.2 $e |- ( ( ph /\ ps ) -> -. ch ) $.
    $( Deduction rule for proof by contradiction.  (Contributed by NM,
       12-Jun-2014.) $)
    pm2.65da $p |- ( ph -> -. ps ) $=
      ( ex wn pm2.65d ) ABCABCDFABCGEFH $.
  $}

  $( Theorem *4.44 of [WhiteheadRussell] p. 119.  (Contributed by NM,
     3-Jan-2005.) $)
  pm4.44 $p |- ( ph <-> ( ph \/ ( ph /\ ps ) ) ) $=
    ( wa wo orc id simpl jaoi impbii ) AAABCZDAJEAAJAFABGHI $.

  $( Theorem *4.14 of [WhiteheadRussell] p. 117.  (Contributed by NM,
     3-Jan-2005.)  (Proof shortened by Wolf Lammen, 23-Oct-2012.) $)
  pm4.14 $p |- ( ( ( ph /\ ps ) -> ch ) <-> ( ( ph /\ -. ch ) -> -. ps ) ) $=
    ( wi wn wa con34b imbi2i impexp 3bitr4i ) ABCDZDACEZBEZDZDABFCDALFMDKNABCGH
    ABCIALMIJ $.

  $( Theorem *3.37 (Transp) of [WhiteheadRussell] p. 112.  (Contributed by NM,
     3-Jan-2005.)  (Proof shortened by Wolf Lammen, 23-Oct-2012.) $)
  pm3.37 $p |- ( ( ( ph /\ ps ) -> ch ) -> ( ( ph /\ -. ch ) -> -. ps ) ) $=
    ( wa wi wn pm4.14 biimpi ) ABDCEACFDBFEABCGH $.

  $( Theorem to move a conjunct in and out of a negation.  (Contributed by NM,
     9-Nov-2003.) $)
  nan $p |- ( ( ph -> -. ( ps /\ ch ) ) <-> ( ( ph /\ ps ) -> -. ch ) ) $=
    ( wa wn wi impexp imnan imbi2i bitr2i ) ABDCEZFABKFZFABCDEZFABKGLMABCHIJ $.

  $( Theorem *4.15 of [WhiteheadRussell] p. 117.  (Contributed by NM,
     3-Jan-2005.)  (Proof shortened by Wolf Lammen, 18-Nov-2012.) $)
  pm4.15 $p |- ( ( ( ph /\ ps ) -> -. ch ) <-> ( ( ps /\ ch ) -> -. ph ) ) $=
    ( wa wn wi con2b nan bitr2i ) BCDZAEFAJEFABDCEFJAGABCHI $.

  $( Theorem *4.78 of [WhiteheadRussell] p. 121.  (Contributed by NM,
     3-Jan-2005.)  (Proof shortened by Wolf Lammen, 19-Nov-2012.) $)
  pm4.78 $p |- ( ( ( ph -> ps ) \/ ( ph -> ch ) ) <->
                ( ph -> ( ps \/ ch ) ) ) $=
    ( wn wo wi orordi imor orbi12i 3bitr4ri ) ADZBCEZEKBEZKCEZEALFABFZACFZEKBCG
    ALHOMPNABHACHIJ $.

  $( Theorem *4.79 of [WhiteheadRussell] p. 121.  (Contributed by NM,
     3-Jan-2005.)  (Proof shortened by Wolf Lammen, 27-Jun-2013.) $)
  pm4.79 $p |- ( ( ( ps -> ph ) \/ ( ch -> ph ) ) <->
                ( ( ps /\ ch ) -> ph ) ) $=
    ( wi wo wa id jaoa wn simplim pm3.3 syl5 orrd impbii ) BADZCADZEBCFADZOBAPC
    OGPGHQOPOIBQPBAJBCAKLMN $.

  $( Theorem *4.87 of [WhiteheadRussell] p. 122.  (Contributed by NM,
     3-Jan-2005.)  (Proof shortened by Eric Schmidt, 26-Oct-2006.) $)
  pm4.87 $p |- ( ( ( ( ( ph /\ ps ) -> ch ) <-> ( ph -> ( ps -> ch ) ) ) /\
                ( ( ph -> ( ps -> ch ) ) <-> ( ps -> ( ph -> ch ) ) ) ) /\
                ( ( ps -> ( ph -> ch ) ) <-> ( ( ps /\ ph ) -> ch ) ) ) $=
    ( wa wi wb impexp bi2.04 pm3.2i bicomi ) ABDCEABCEEZFZKBACEEZFZDMBADCEZFLNA
    BCGABCHIOMBACGJI $.

  $( Theorem *3.33 (Syll) of [WhiteheadRussell] p. 112.  (Contributed by NM,
     3-Jan-2005.) $)
  pm3.33 $p |- ( ( ( ph -> ps ) /\ ( ps -> ch ) ) -> ( ph -> ch ) ) $=
    ( wi imim1 imp ) ABDBCDACDABCEF $.

  $( Theorem *3.34 (Syll) of [WhiteheadRussell] p. 112.  (Contributed by NM,
     3-Jan-2005.) $)
  pm3.34 $p |- ( ( ( ps -> ch ) /\ ( ph -> ps ) ) -> ( ph -> ch ) ) $=
    ( wi imim2 imp ) BCDABDACDBCAEF $.

  $( Conjunctive detachment.  Theorem *3.35 of [WhiteheadRussell] p. 112.
     (Contributed by NM, 14-Dec-2002.) $)
  pm3.35 $p |- ( ( ph /\ ( ph -> ps ) ) -> ps ) $=
    ( wi pm2.27 imp ) AABCBABDE $.

  $( Theorem *5.31 of [WhiteheadRussell] p. 125.  (Contributed by NM,
     3-Jan-2005.) $)
  pm5.31 $p |- ( ( ch /\ ( ph -> ps ) ) -> ( ph -> ( ps /\ ch ) ) ) $=
    ( wi wa pm3.21 imim2d imp ) CABDABCEZDCBIACBFGH $.

  ${
    imp4.1 $e |- ( ph -> ( ps -> ( ch -> ( th -> ta ) ) ) ) $.
    $( An importation inference.  (Contributed by NM, 26-Apr-1994.) $)
    imp4a $p |- ( ph -> ( ps -> ( ( ch /\ th ) -> ta ) ) ) $=
      ( wi wa impexp syl6ibr ) ABCDEGGCDHEGFCDEIJ $.

    $( An importation inference.  (Contributed by NM, 26-Apr-1994.) $)
    imp4b $p |- ( ( ph /\ ps ) -> ( ( ch /\ th ) -> ta ) ) $=
      ( wa wi imp4a imp ) ABCDGEHABCDEFIJ $.

    $( An importation inference.  (Contributed by NM, 26-Apr-1994.) $)
    imp4c $p |- ( ph -> ( ( ( ps /\ ch ) /\ th ) -> ta ) ) $=
      ( wa wi imp3a ) ABCGDEABCDEHFII $.

    $( An importation inference.  (Contributed by NM, 26-Apr-1994.) $)
    imp4d $p |- ( ph -> ( ( ps /\ ( ch /\ th ) ) -> ta ) ) $=
      ( wa imp4a imp3a ) ABCDGEABCDEFHI $.

    $( An importation inference.  (Contributed by NM, 26-Apr-1994.) $)
    imp41 $p |- ( ( ( ( ph /\ ps ) /\ ch ) /\ th ) -> ta ) $=
      ( wa wi imp imp31 ) ABGCDEABCDEHHFIJ $.

    $( An importation inference.  (Contributed by NM, 26-Apr-1994.) $)
    imp42 $p |- ( ( ( ph /\ ( ps /\ ch ) ) /\ th ) -> ta ) $=
      ( wa wi imp32 imp ) ABCGGDEABCDEHFIJ $.

    $( An importation inference.  (Contributed by NM, 26-Apr-1994.) $)
    imp43 $p |- ( ( ( ph /\ ps ) /\ ( ch /\ th ) ) -> ta ) $=
      ( wa imp4b imp ) ABGCDGEABCDEFHI $.

    $( An importation inference.  (Contributed by NM, 26-Apr-1994.) $)
    imp44 $p |- ( ( ph /\ ( ( ps /\ ch ) /\ th ) ) -> ta ) $=
      ( wa imp4c imp ) ABCGDGEABCDEFHI $.

    $( An importation inference.  (Contributed by NM, 26-Apr-1994.) $)
    imp45 $p |- ( ( ph /\ ( ps /\ ( ch /\ th ) ) ) -> ta ) $=
      ( wa imp4d imp ) ABCDGGEABCDEFHI $.

  $}

  ${
    imp5.1 $e |- ( ph -> ( ps -> ( ch -> ( th -> ( ta -> et ) ) ) ) ) $.
    $( An importation inference.  (Contributed by Jeff Hankins, 7-Jul-2009.) $)
    imp5a $p |- ( ph -> ( ps -> ( ch -> ( ( th /\ ta ) -> et ) ) ) ) $=
      ( wi wa pm3.31 syl8 ) ABCDEFHHDEIFHGDEFJK $.

    $( An importation inference.  (Contributed by Jeff Hankins, 7-Jul-2009.) $)
    imp5d $p |- ( ( ( ph /\ ps ) /\ ch ) -> ( ( th /\ ta ) -> et ) ) $=
      ( wa wi imp31 imp3a ) ABHCHDEFABCDEFIIGJK $.

    $( An importation inference.  (Contributed by Jeff Hankins, 7-Jul-2009.) $)
    imp5g $p |- ( ( ph /\ ps ) -> ( ( ( ch /\ th ) /\ ta ) -> et ) ) $=
      ( wa wi imp imp4c ) ABHCDEFABCDEFIIIGJK $.

    $( An importation inference.  (Contributed by Jeff Hankins, 7-Jul-2009.) $)
    imp55 $p |- ( ( ( ph /\ ( ps /\ ( ch /\ th ) ) ) /\ ta ) -> et ) $=
      ( wa wi imp4a imp42 ) ABCDHEFABCDEFIGJK $.

    $( An importation inference.  (Contributed by Jeff Hankins, 7-Jul-2009.) $)
    imp511 $p |- ( ( ph /\ ( ( ps /\ ( ch /\ th ) ) /\ ta ) ) -> et ) $=
      ( wa wi imp4a imp44 ) ABCDHEFABCDEFIGJK $.
  $}

  ${
    expimpd.1 $e |- ( ( ph /\ ps ) -> ( ch -> th ) ) $.
    $( Exportation followed by a deduction version of importation.
       (Contributed by NM, 6-Sep-2008.) $)
    expimpd $p |- ( ph -> ( ( ps /\ ch ) -> th ) ) $=
      ( wi ex imp3a ) ABCDABCDFEGH $.
  $}

  ${
    exp31.1 $e |- ( ( ( ph /\ ps ) /\ ch ) -> th ) $.
    $( An exportation inference.  (Contributed by NM, 26-Apr-1994.) $)
    exp31 $p |- ( ph -> ( ps -> ( ch -> th ) ) ) $=
      ( wi wa ex ) ABCDFABGCDEHH $.
  $}

  ${
    exp32.1 $e |- ( ( ph /\ ( ps /\ ch ) ) -> th ) $.
    $( An exportation inference.  (Contributed by NM, 26-Apr-1994.) $)
    exp32 $p |- ( ph -> ( ps -> ( ch -> th ) ) ) $=
      ( wa ex exp3a ) ABCDABCFDEGH $.
  $}

  ${
    exp4a.1 $e |- ( ph -> ( ps -> ( ( ch /\ th ) -> ta ) ) ) $.
    $( An exportation inference.  (Contributed by NM, 26-Apr-1994.) $)
    exp4a $p |- ( ph -> ( ps -> ( ch -> ( th -> ta ) ) ) ) $=
      ( wa wi impexp syl6ib ) ABCDGEHCDEHHFCDEIJ $.
  $}

  ${
    exp4b.1 $e |- ( ( ph /\ ps ) -> ( ( ch /\ th ) -> ta ) ) $.
    $( An exportation inference.  (Contributed by NM, 26-Apr-1994.)  (Proof
       shortened by Wolf Lammen, 23-Nov-2012.) $)
    exp4b $p |- ( ph -> ( ps -> ( ch -> ( th -> ta ) ) ) ) $=
      ( wa wi ex exp4a ) ABCDEABCDGEHFIJ $.
  $}

  ${
    exp4c.1 $e |- ( ph -> ( ( ( ps /\ ch ) /\ th ) -> ta ) ) $.
    $( An exportation inference.  (Contributed by NM, 26-Apr-1994.) $)
    exp4c $p |- ( ph -> ( ps -> ( ch -> ( th -> ta ) ) ) ) $=
      ( wi wa exp3a ) ABCDEGABCHDEFII $.
  $}

  ${
    exp4d.1 $e |- ( ph -> ( ( ps /\ ( ch /\ th ) ) -> ta ) ) $.
    $( An exportation inference.  (Contributed by NM, 26-Apr-1994.) $)
    exp4d $p |- ( ph -> ( ps -> ( ch -> ( th -> ta ) ) ) ) $=
      ( wa exp3a exp4a ) ABCDEABCDGEFHI $.
  $}

  ${
    exp41.1 $e |- ( ( ( ( ph /\ ps ) /\ ch ) /\ th ) -> ta ) $.
    $( An exportation inference.  (Contributed by NM, 26-Apr-1994.) $)
    exp41 $p |- ( ph -> ( ps -> ( ch -> ( th -> ta ) ) ) ) $=
      ( wi wa ex exp31 ) ABCDEGABHCHDEFIJ $.
  $}

  ${
    exp42.1 $e |- ( ( ( ph /\ ( ps /\ ch ) ) /\ th ) -> ta ) $.
    $( An exportation inference.  (Contributed by NM, 26-Apr-1994.) $)
    exp42 $p |- ( ph -> ( ps -> ( ch -> ( th -> ta ) ) ) ) $=
      ( wi wa exp31 exp3a ) ABCDEGABCHDEFIJ $.
  $}

  ${
    exp43.1 $e |- ( ( ( ph /\ ps ) /\ ( ch /\ th ) ) -> ta ) $.
    $( An exportation inference.  (Contributed by NM, 26-Apr-1994.) $)
    exp43 $p |- ( ph -> ( ps -> ( ch -> ( th -> ta ) ) ) ) $=
      ( wa ex exp4b ) ABCDEABGCDGEFHI $.
  $}

  ${
    exp44.1 $e |- ( ( ph /\ ( ( ps /\ ch ) /\ th ) ) -> ta ) $.
    $( An exportation inference.  (Contributed by NM, 26-Apr-1994.) $)
    exp44 $p |- ( ph -> ( ps -> ( ch -> ( th -> ta ) ) ) ) $=
      ( wi wa exp32 exp3a ) ABCDEGABCHDEFIJ $.
  $}

  ${
    exp45.1 $e |- ( ( ph /\ ( ps /\ ( ch /\ th ) ) ) -> ta ) $.
    $( An exportation inference.  (Contributed by NM, 26-Apr-1994.) $)
    exp45 $p |- ( ph -> ( ps -> ( ch -> ( th -> ta ) ) ) ) $=
      ( wa exp32 exp4a ) ABCDEABCDGEFHI $.
  $}

  ${
    expr.1 $e |- ( ( ph /\ ( ps /\ ch ) ) -> th ) $.
    $( Export a wff from a right conjunct.  (Contributed by Jeff Hankins,
       30-Aug-2009.) $)
    expr $p |- ( ( ph /\ ps ) -> ( ch -> th ) ) $=
      ( wi exp32 imp ) ABCDFABCDEGH $.
  $}

  ${
    exp5c.1 $e |- ( ph -> ( ( ps /\ ch ) -> ( ( th /\ ta ) -> et ) ) ) $.
    $( An exportation inference.  (Contributed by Jeff Hankins, 7-Jul-2009.) $)
    exp5c $p |- ( ph -> ( ps -> ( ch -> ( th -> ( ta -> et ) ) ) ) ) $=
      ( wi wa exp4a exp3a ) ABCDEFHHABCIDEFGJK $.
  $}

  ${
    exp53.1 $e |- ( ( ( ( ph /\ ps ) /\ ( ch /\ th ) ) /\ ta ) -> et ) $.
    $( An exportation inference.  (Contributed by Jeff Hankins,
       30-Aug-2009.) $)
    exp53 $p |- ( ph -> ( ps -> ( ch -> ( th -> ( ta -> et ) ) ) ) ) $=
      ( wi wa ex exp43 ) ABCDEFHABICDIIEFGJK $.
  $}

  ${
    expl.1 $e |- ( ( ( ph /\ ps ) /\ ch ) -> th ) $.
    $( Export a wff from a left conjunct.  (Contributed by Jeff Hankins,
       28-Aug-2009.) $)
    expl $p |- ( ph -> ( ( ps /\ ch ) -> th ) ) $=
      ( exp31 imp3a ) ABCDABCDEFG $.
  $}

  ${
    impr.1 $e |- ( ( ph /\ ps ) -> ( ch -> th ) ) $.
    $( Import a wff into a right conjunct.  (Contributed by Jeff Hankins,
       30-Aug-2009.) $)
    impr $p |- ( ( ph /\ ( ps /\ ch ) ) -> th ) $=
      ( wi ex imp32 ) ABCDABCDFEGH $.
  $}

  ${
    impl.1 $e |- ( ph -> ( ( ps /\ ch ) -> th ) ) $.
    $( Export a wff from a left conjunct.  (Contributed by Mario Carneiro,
       9-Jul-2014.) $)
    impl $p |- ( ( ( ph /\ ps ) /\ ch ) -> th ) $=
      ( exp3a imp31 ) ABCDABCDEFG $.
  $}

  ${
    impac.1 $e |- ( ph -> ( ps -> ch ) ) $.
    $( Importation with conjunction in consequent.  (Contributed by NM,
       9-Aug-1994.) $)
    impac $p |- ( ( ph /\ ps ) -> ( ch /\ ps ) ) $=
      ( wa ancrd imp ) ABCBEABCDFG $.
  $}

  ${
    exbiri.1 $e |- ( ( ph /\ ps ) -> ( ch <-> th ) ) $.
    $( Inference form of ~ exbir .  This proof is exbiriVD in set.mm
       automatically translated and minimized.  (Contributed by Alan Sare,
       31-Dec-2011.)  (Proof shortened by Wolf Lammen, 27-Jan-2013.) $)
    exbiri $p |- ( ph -> ( ps -> ( th -> ch ) ) ) $=
      ( wa biimpar exp31 ) ABDCABFCDEGH $.
  $}

  ${
    pm3.26bda.1 $e |- ( ph -> ( ps <-> ( ch /\ th ) ) ) $.
    $( Deduction eliminating a conjunct.  (Contributed by NM, 22-Oct-2007.) $)
    simprbda $p |- ( ( ph /\ ps ) -> ch ) $=
      ( wa biimpa simpld ) ABFCDABCDFEGH $.

    $( Deduction eliminating a conjunct.  (Contributed by NM, 22-Oct-2007.) $)
    simplbda $p |- ( ( ph /\ ps ) -> th ) $=
      ( wa biimpa simprd ) ABFCDABCDFEGH $.
  $}

  ${
    pm3.26bi2.1 $e |- ( ph <-> ( ps /\ ch ) ) $.
    $( Deduction eliminating a conjunct.  Automatically derived from simplbi2VD
       in set.mm.  (Contributed by Alan Sare, 31-Dec-2011.) $)
    simplbi2 $p |- ( ps -> ( ch -> ph ) ) $=
      ( wa biimpri ex ) BCAABCEDFG $.
  $}

  $( A theorem similar to the standard definition of the biconditional.
     Definition of [Margaris] p. 49.  (Contributed by NM, 5-Aug-1993.) $)
  dfbi2 $p |- ( ( ph <-> ps ) <-> ( ( ph -> ps ) /\ ( ps -> ph ) ) ) $=
    ( wb wi wn wa dfbi1 df-an bitr4i ) ABCABDZBADZEDEJKFABGJKHI $.

  $( Definition ~ df-bi rewritten in an abbreviated form to help intuitive
     understanding of that definition.  Note that it is a conjunction of two
     implications; one which asserts properties that follow from the
     biconditional and one which asserts properties that imply the
     biconditional.  (Contributed by NM, 15-Aug-2008.) $)
  dfbi $p |- ( ( ( ph <-> ps ) -> ( ( ph -> ps ) /\ ( ps -> ph ) ) )
        /\ ( ( ( ph -> ps ) /\ ( ps -> ph ) ) -> ( ph <-> ps ) ) ) $=
    ( wb wi wa dfbi2 biimpi biimpri pm3.2i ) ABCZABDBADEZDKJDJKABFZGJKLHI $.

  $( Implication in terms of biconditional and conjunction.  Theorem *4.71 of
     [WhiteheadRussell] p. 120.  (Contributed by NM, 5-Aug-1993.)  (Proof
     shortened by Wolf Lammen, 2-Dec-2012.) $)
  pm4.71 $p |- ( ( ph -> ps ) <-> ( ph <-> ( ph /\ ps ) ) ) $=
    ( wa wi wb simpl biantru anclb dfbi2 3bitr4i ) AABCZDZLKADZCABDAKEMLABFGABH
    AKIJ $.

  $( Implication in terms of biconditional and conjunction.  Theorem *4.71 of
     [WhiteheadRussell] p. 120 (with conjunct reversed).  (Contributed by NM,
     25-Jul-1999.) $)
  pm4.71r $p |- ( ( ph -> ps ) <-> ( ph <-> ( ps /\ ph ) ) ) $=
    ( wi wa wb pm4.71 ancom bibi2i bitri ) ABCAABDZEABADZEABFJKAABGHI $.

  ${
    pm4.71i.1 $e |- ( ph -> ps ) $.
    $( Inference converting an implication to a biconditional with
       conjunction.  Inference from Theorem *4.71 of [WhiteheadRussell]
       p. 120.  (Contributed by NM, 4-Jan-2004.) $)
    pm4.71i $p |- ( ph <-> ( ph /\ ps ) ) $=
      ( wi wa wb pm4.71 mpbi ) ABDAABEFCABGH $.
  $}

  ${
    pm4.71ri.1 $e |- ( ph -> ps ) $.
    $( Inference converting an implication to a biconditional with
       conjunction.  Inference from Theorem *4.71 of [WhiteheadRussell] p. 120
       (with conjunct reversed).  (Contributed by NM, 1-Dec-2003.) $)
    pm4.71ri $p |- ( ph <-> ( ps /\ ph ) ) $=
      ( wi wa wb pm4.71r mpbi ) ABDABAEFCABGH $.
  $}

  ${
    pm4.71rd.1 $e |- ( ph -> ( ps -> ch ) ) $.
    $( Deduction converting an implication to a biconditional with
       conjunction.  Deduction from Theorem *4.71 of [WhiteheadRussell]
       p. 120.  (Contributed by Mario Carneiro, 25-Dec-2016.) $)
    pm4.71d $p |- ( ph -> ( ps <-> ( ps /\ ch ) ) ) $=
      ( wi wa wb pm4.71 sylib ) ABCEBBCFGDBCHI $.

    $( Deduction converting an implication to a biconditional with
       conjunction.  Deduction from Theorem *4.71 of [WhiteheadRussell]
       p. 120.  (Contributed by NM, 10-Feb-2005.) $)
    pm4.71rd $p |- ( ph -> ( ps <-> ( ch /\ ps ) ) ) $=
      ( wi wa wb pm4.71r sylib ) ABCEBCBFGDBCHI $.
  $}

  $( Distribution of implication over biconditional.  Theorem *5.32 of
     [WhiteheadRussell] p. 125.  (Contributed by NM, 1-Aug-1994.) $)
  pm5.32 $p |- ( ( ph -> ( ps <-> ch ) ) <->
               ( ( ph /\ ps ) <-> ( ph /\ ch ) ) ) $=
    ( wb wi wn wa notbi imbi2i pm5.74 3bitri df-an bibi12i bitr4i ) ABCDZEZABFZ
    EZFZACFZEZFZDZABGZACGZDPAQTDZERUADUCOUFABCHIAQTJRUAHKUDSUEUBABLACLMN $.

  ${
    pm5.32i.1 $e |- ( ph -> ( ps <-> ch ) ) $.
    $( Distribution of implication over biconditional (inference rule).
       (Contributed by NM, 1-Aug-1994.) $)
    pm5.32i $p |- ( ( ph /\ ps ) <-> ( ph /\ ch ) ) $=
      ( wb wi wa pm5.32 mpbi ) ABCEFABGACGEDABCHI $.

    $( Distribution of implication over biconditional (inference rule).
       (Contributed by NM, 12-Mar-1995.) $)
    pm5.32ri $p |- ( ( ps /\ ph ) <-> ( ch /\ ph ) ) $=
      ( wa pm5.32i ancom 3bitr4i ) ABEACEBAECAEABCDFBAGCAGH $.
  $}

  ${
    pm5.32d.1 $e |- ( ph -> ( ps -> ( ch <-> th ) ) ) $.
    $( Distribution of implication over biconditional (deduction rule).
       (Contributed by NM, 29-Oct-1996.) $)
    pm5.32d $p |- ( ph -> ( ( ps /\ ch ) <-> ( ps /\ th ) ) ) $=
      ( wb wi wa pm5.32 sylib ) ABCDFGBCHBDHFEBCDIJ $.

    $( Distribution of implication over biconditional (deduction rule).
       (Contributed by NM, 25-Dec-2004.) $)
    pm5.32rd $p |- ( ph -> ( ( ch /\ ps ) <-> ( th /\ ps ) ) ) $=
      ( wa pm5.32d ancom 3bitr4g ) ABCFBDFCBFDBFABCDEGCBHDBHI $.
  $}

  ${
    pm5.32da.1 $e |- ( ( ph /\ ps ) -> ( ch <-> th ) ) $.
    $( Distribution of implication over biconditional (deduction rule).
       (Contributed by NM, 9-Dec-2006.) $)
    pm5.32da $p |- ( ph -> ( ( ps /\ ch ) <-> ( ps /\ th ) ) ) $=
      ( wb ex pm5.32d ) ABCDABCDFEGH $.
  $}

  ${
    biadan2.1 $e |- ( ph -> ps ) $.
    biadan2.2 $e |- ( ps -> ( ph <-> ch ) ) $.
    $( Add a conjunction to an equivalence.  (Contributed by Jeff Madsen,
       20-Jun-2011.) $)
    biadan2 $p |- ( ph <-> ( ps /\ ch ) ) $=
      ( wa pm4.71ri pm5.32i bitri ) ABAFBCFABDGBACEHI $.
  $}

  $( Theorem *4.24 of [WhiteheadRussell] p. 117.  (Contributed by NM,
     3-Jan-2005.) $)
  pm4.24 $p |- ( ph <-> ( ph /\ ph ) ) $=
    ( id pm4.71i ) AAABC $.

  $( Idempotent law for conjunction.  (Contributed by NM, 5-Aug-1993.)  (Proof
     shortened by Wolf Lammen, 14-Mar-2014.) $)
  anidm $p |- ( ( ph /\ ph ) <-> ph ) $=
    ( wa pm4.24 bicomi ) AAABACD $.

  ${
    anidms.1 $e |- ( ( ph /\ ph ) -> ps ) $.
    $( Inference from idempotent law for conjunction.  (Contributed by NM,
       15-Jun-1994.) $)
    anidms $p |- ( ph -> ps ) $=
      ( ex pm2.43i ) ABAABCDE $.
  $}

  $( Conjunction idempotence with antecedent.  (Contributed by Roy F. Longton,
     8-Aug-2005.) $)
  anidmdbi $p |- ( ( ph -> ( ps /\ ps ) ) <-> ( ph -> ps ) ) $=
    ( wa anidm imbi2i ) BBCBABDE $.

  ${
    anasss.1 $e |- ( ( ( ph /\ ps ) /\ ch ) -> th ) $.
    $( Associative law for conjunction applied to antecedent (eliminates
       syllogism).  (Contributed by NM, 15-Nov-2002.) $)
    anasss $p |- ( ( ph /\ ( ps /\ ch ) ) -> th ) $=
      ( exp31 imp32 ) ABCDABCDEFG $.
  $}

  ${
    anassrs.1 $e |- ( ( ph /\ ( ps /\ ch ) ) -> th ) $.
    $( Associative law for conjunction applied to antecedent (eliminates
       syllogism).  (Contributed by NM, 15-Nov-2002.) $)
    anassrs $p |- ( ( ( ph /\ ps ) /\ ch ) -> th ) $=
      ( exp32 imp31 ) ABCDABCDEFG $.
  $}

  $( Associative law for conjunction.  Theorem *4.32 of [WhiteheadRussell]
     p. 118.  (Contributed by NM, 5-Aug-1993.)  (Proof shortened by Wolf
     Lammen, 24-Nov-2012.) $)
  anass $p |- ( ( ( ph /\ ps ) /\ ch ) <-> ( ph /\ ( ps /\ ch ) ) ) $=
    ( wa id anassrs anasss impbii ) ABDCDZABCDDZABCJJEFABCIIEGH $.

  ${
    sylanl1.1 $e |- ( ph -> ps ) $.
    sylanl1.2 $e |- ( ( ( ps /\ ch ) /\ th ) -> ta ) $.
    $( A syllogism inference.  (Contributed by NM, 10-Mar-2005.) $)
    sylanl1 $p |- ( ( ( ph /\ ch ) /\ th ) -> ta ) $=
      ( wa anim1i sylan ) ACHBCHDEABCFIGJ $.
  $}

  ${
    sylanl2.1 $e |- ( ph -> ch ) $.
    sylanl2.2 $e |- ( ( ( ps /\ ch ) /\ th ) -> ta ) $.
    $( A syllogism inference.  (Contributed by NM, 1-Jan-2005.) $)
    sylanl2 $p |- ( ( ( ps /\ ph ) /\ th ) -> ta ) $=
      ( wa anim2i sylan ) BAHBCHDEACBFIGJ $.
  $}

  ${
    sylanr1.1 $e |- ( ph -> ch ) $.
    sylanr1.2 $e |- ( ( ps /\ ( ch /\ th ) ) -> ta ) $.
    $( A syllogism inference.  (Contributed by NM, 9-Apr-2005.) $)
    sylanr1 $p |- ( ( ps /\ ( ph /\ th ) ) -> ta ) $=
      ( wa anim1i sylan2 ) ADHBCDHEACDFIGJ $.
  $}

  ${
    sylanr2.1 $e |- ( ph -> th ) $.
    sylanr2.2 $e |- ( ( ps /\ ( ch /\ th ) ) -> ta ) $.
    $( A syllogism inference.  (Contributed by NM, 9-Apr-2005.) $)
    sylanr2 $p |- ( ( ps /\ ( ch /\ ph ) ) -> ta ) $=
      ( wa anim2i sylan2 ) CAHBCDHEADCFIGJ $.
  $}

  ${
    sylani.1 $e |- ( ph -> ch ) $.
    sylani.2 $e |- ( ps -> ( ( ch /\ th ) -> ta ) ) $.
    $( A syllogism inference.  (Contributed by NM, 2-May-1996.) $)
    sylani $p |- ( ps -> ( ( ph /\ th ) -> ta ) ) $=
      ( wi a1i syland ) BACDEACHBFIGJ $.
  $}

  ${
    sylan2i.1 $e |- ( ph -> th ) $.
    sylan2i.2 $e |- ( ps -> ( ( ch /\ th ) -> ta ) ) $.
    $( A syllogism inference.  (Contributed by NM, 1-Aug-1994.) $)
    sylan2i $p |- ( ps -> ( ( ch /\ ph ) -> ta ) ) $=
      ( wi a1i sylan2d ) BADCEADHBFIGJ $.
  $}

  ${
    syl2ani.1 $e |- ( ph -> ch ) $.
    syl2ani.2 $e |- ( et -> th ) $.
    syl2ani.3 $e |- ( ps -> ( ( ch /\ th ) -> ta ) ) $.
    $( A syllogism inference.  (Contributed by NM, 3-Aug-1999.) $)
    syl2ani $p |- ( ps -> ( ( ph /\ et ) -> ta ) ) $=
      ( sylan2i sylani ) ABCFEGFBCDEHIJK $.
  $}

  ${
    sylan9.1 $e |- ( ph -> ( ps -> ch ) ) $.
    sylan9.2 $e |- ( th -> ( ch -> ta ) ) $.
    $( Nested syllogism inference conjoining dissimilar antecedents.
       (Contributed by NM, 5-Aug-1993.)  (Proof shortened by Andrew Salmon,
       7-May-2011.) $)
    sylan9 $p |- ( ( ph /\ th ) -> ( ps -> ta ) ) $=
      ( wi syl9 imp ) ADBEHABCDEFGIJ $.
  $}

  ${
    sylan9r.1 $e |- ( ph -> ( ps -> ch ) ) $.
    sylan9r.2 $e |- ( th -> ( ch -> ta ) ) $.
    $( Nested syllogism inference conjoining dissimilar antecedents.
       (Contributed by NM, 5-Aug-1993.) $)
    sylan9r $p |- ( ( th /\ ph ) -> ( ps -> ta ) ) $=
      ( wi syl9r imp ) DABEHABCDEFGIJ $.
  $}

  ${
    mtand.1 $e |- ( ph -> -. ch ) $.
    mtand.2 $e |- ( ( ph /\ ps ) -> ch ) $.
    $( A modus tollens deduction.  (Contributed by Jeff Hankins,
       19-Aug-2009.) $)
    mtand $p |- ( ph -> -. ps ) $=
      ( ex mtod ) ABCDABCEFG $.
  $}

  ${
    mtord.1 $e |- ( ph -> -. ch ) $.
    mtord.2 $e |- ( ph -> -. th ) $.
    mtord.3 $e |- ( ph -> ( ps -> ( ch \/ th ) ) ) $.
    $( A modus tollens deduction involving disjunction.  (Contributed by Jeff
       Hankins, 15-Jul-2009.) $)
    mtord $p |- ( ph -> -. ps ) $=
      ( wn wo wi df-or syl6ib mpid mtod ) ABDFABCHZDEABCDIODJGCDKLMN $.
  $}

  ${
    syl2anc.1 $e |- ( ph -> ps ) $.
    syl2anc.2 $e |- ( ph -> ch ) $.
    syl2anc.3 $e |- ( ( ps /\ ch ) -> th ) $.
    $( Syllogism inference combined with contraction.  (Contributed by NM,
       16-Mar-2012.) $)
    syl2anc $p |- ( ph -> th ) $=
      ( ex sylc ) ABCDEFBCDGHI $.
  $}

  ${
    sylancl.1 $e |- ( ph -> ps ) $.
    sylancl.2 $e |- ch $.
    sylancl.3 $e |- ( ( ps /\ ch ) -> th ) $.
    $( Syllogism inference combined with modus ponens.  (Contributed by Jeff
       Madsen, 2-Sep-2009.) $)
    sylancl $p |- ( ph -> th ) $=
      ( a1i syl2anc ) ABCDECAFHGI $.
  $}

  ${
    sylancr.1 $e |- ps $.
    sylancr.2 $e |- ( ph -> ch ) $.
    sylancr.3 $e |- ( ( ps /\ ch ) -> th ) $.
    $( Syllogism inference combined with modus ponens.  (Contributed by Jeff
       Madsen, 2-Sep-2009.) $)
    sylancr $p |- ( ph -> th ) $=
      ( a1i syl2anc ) ABCDBAEHFGI $.
  $}

  ${
    sylanbrc.1 $e |- ( ph -> ps ) $.
    sylanbrc.2 $e |- ( ph -> ch ) $.
    sylanbrc.3 $e |- ( th <-> ( ps /\ ch ) ) $.
    $( Syllogism inference.  (Contributed by Jeff Madsen, 2-Sep-2009.) $)
    sylanbrc $p |- ( ph -> th ) $=
      ( wa jca sylibr ) ABCHDABCEFIGJ $.
  $}

  ${
    sylancb.1 $e |- ( ph <-> ps ) $.
    sylancb.2 $e |- ( ph <-> ch ) $.
    sylancb.3 $e |- ( ( ps /\ ch ) -> th ) $.
    $( A syllogism inference combined with contraction.  (Contributed by NM,
       3-Sep-2004.) $)
    sylancb $p |- ( ph -> th ) $=
      ( syl2anb anidms ) ADABCDAEFGHI $.
  $}

  ${
    sylancbr.1 $e |- ( ps <-> ph ) $.
    sylancbr.2 $e |- ( ch <-> ph ) $.
    sylancbr.3 $e |- ( ( ps /\ ch ) -> th ) $.
    $( A syllogism inference combined with contraction.  (Contributed by NM,
       3-Sep-2004.) $)
    sylancbr $p |- ( ph -> th ) $=
      ( syl2anbr anidms ) ADABCDAEFGHI $.
  $}

  ${
    sylancom.1 $e |- ( ( ph /\ ps ) -> ch ) $.
    sylancom.2 $e |- ( ( ch /\ ps ) -> th ) $.
    $( Syllogism inference with commutation of antecedents.  (Contributed by
       NM, 2-Jul-2008.) $)
    sylancom $p |- ( ( ph /\ ps ) -> th ) $=
      ( wa simpr syl2anc ) ABGCBDEABHFI $.
  $}

  ${
    mpdan.1 $e |- ( ph -> ps ) $.
    mpdan.2 $e |- ( ( ph /\ ps ) -> ch ) $.
    $( An inference based on modus ponens.  (Contributed by NM, 23-May-1999.)
       (Proof shortened by Wolf Lammen, 22-Nov-2012.) $)
    mpdan $p |- ( ph -> ch ) $=
      ( id syl2anc ) AABCAFDEG $.
  $}

  ${
    mpancom.1 $e |- ( ps -> ph ) $.
    mpancom.2 $e |- ( ( ph /\ ps ) -> ch ) $.
    $( An inference based on modus ponens with commutation of antecedents.
       (Contributed by NM, 28-Oct-2003.)  (Proof shortened by Wolf Lammen,
       7-Apr-2013.) $)
    mpancom $p |- ( ps -> ch ) $=
      ( id syl2anc ) BABCDBFEG $.
  $}

  ${
    mpan.1 $e |- ph $.
    mpan.2 $e |- ( ( ph /\ ps ) -> ch ) $.
    $( An inference based on modus ponens.  (Contributed by NM, 30-Aug-1993.)
       (Proof shortened by Wolf Lammen, 7-Apr-2013.) $)
    mpan $p |- ( ps -> ch ) $=
      ( a1i mpancom ) ABCABDFEG $.
  $}

  ${
    mpan2.1 $e |- ps $.
    mpan2.2 $e |- ( ( ph /\ ps ) -> ch ) $.
    $( An inference based on modus ponens.  (Contributed by NM, 16-Sep-1993.)
       (Proof shortened by Wolf Lammen, 19-Nov-2012.) $)
    mpan2 $p |- ( ph -> ch ) $=
      ( a1i mpdan ) ABCBADFEG $.
  $}

  ${
    mp2an.1 $e |- ph $.
    mp2an.2 $e |- ps $.
    mp2an.3 $e |- ( ( ph /\ ps ) -> ch ) $.
    $( An inference based on modus ponens.  (Contributed by NM,
       13-Apr-1995.) $)
    mp2an $p |- ch $=
      ( mpan ax-mp ) BCEABCDFGH $.
  $}

  ${
    mp4an.1 $e |- ph $.
    mp4an.2 $e |- ps $.
    mp4an.3 $e |- ch $.
    mp4an.4 $e |- th $.
    mp4an.5 $e |- ( ( ( ph /\ ps ) /\ ( ch /\ th ) ) -> ta ) $.
    $( An inference based on modus ponens.  (Contributed by Jeff Madsen,
       15-Jun-2010.) $)
    mp4an $p |- ta $=
      ( wa pm3.2i mp2an ) ABKCDKEABFGLCDHILJM $.
  $}

  ${
    mpan2d.1 $e |- ( ph -> ch ) $.
    mpan2d.2 $e |- ( ph -> ( ( ps /\ ch ) -> th ) ) $.
    $( A deduction based on modus ponens.  (Contributed by NM, 12-Dec-2004.) $)
    mpan2d $p |- ( ph -> ( ps -> th ) ) $=
      ( exp3a mpid ) ABCDEABCDFGH $.
  $}

  ${
    mpand.1 $e |- ( ph -> ps ) $.
    mpand.2 $e |- ( ph -> ( ( ps /\ ch ) -> th ) ) $.
    $( A deduction based on modus ponens.  (Contributed by NM, 12-Dec-2004.)
       (Proof shortened by Wolf Lammen, 7-Apr-2013.) $)
    mpand $p |- ( ph -> ( ch -> th ) ) $=
      ( ancomsd mpan2d ) ACBDEABCDFGH $.
  $}

  ${
    mpani.1 $e |- ps $.
    mpani.2 $e |- ( ph -> ( ( ps /\ ch ) -> th ) ) $.
    $( An inference based on modus ponens.  (Contributed by NM, 10-Apr-1994.)
       (Proof shortened by Wolf Lammen, 19-Nov-2012.) $)
    mpani $p |- ( ph -> ( ch -> th ) ) $=
      ( a1i mpand ) ABCDBAEGFH $.
  $}

  ${
    mpan2i.1 $e |- ch $.
    mpan2i.2 $e |- ( ph -> ( ( ps /\ ch ) -> th ) ) $.
    $( An inference based on modus ponens.  (Contributed by NM, 10-Apr-1994.)
       (Proof shortened by Wolf Lammen, 19-Nov-2012.) $)
    mpan2i $p |- ( ph -> ( ps -> th ) ) $=
      ( a1i mpan2d ) ABCDCAEGFH $.
  $}

  ${
    mp2ani.1 $e |- ps $.
    mp2ani.2 $e |- ch $.
    mp2ani.3 $e |- ( ph -> ( ( ps /\ ch ) -> th ) ) $.
    $( An inference based on modus ponens.  (Contributed by NM,
       12-Dec-2004.) $)
    mp2ani $p |- ( ph -> th ) $=
      ( mpani mpi ) ACDFABCDEGHI $.
  $}

  ${
    mp2and.1 $e |- ( ph -> ps ) $.
    mp2and.2 $e |- ( ph -> ch ) $.
    mp2and.3 $e |- ( ph -> ( ( ps /\ ch ) -> th ) ) $.
    $( A deduction based on modus ponens.  (Contributed by NM, 12-Dec-2004.) $)
    mp2and $p |- ( ph -> th ) $=
      ( mpand mpd ) ACDFABCDEGHI $.
  $}

  ${
    mpanl1.1 $e |- ph $.
    mpanl1.2 $e |- ( ( ( ph /\ ps ) /\ ch ) -> th ) $.
    $( An inference based on modus ponens.  (Contributed by NM, 16-Aug-1994.)
       (Proof shortened by Wolf Lammen, 7-Apr-2013.) $)
    mpanl1 $p |- ( ( ps /\ ch ) -> th ) $=
      ( wa jctl sylan ) BABGCDBAEHFI $.
  $}

  ${
    mpanl2.1 $e |- ps $.
    mpanl2.2 $e |- ( ( ( ph /\ ps ) /\ ch ) -> th ) $.
    $( An inference based on modus ponens.  (Contributed by NM, 16-Aug-1994.)
       (Proof shortened by Andrew Salmon, 7-May-2011.) $)
    mpanl2 $p |- ( ( ph /\ ch ) -> th ) $=
      ( wa jctr sylan ) AABGCDABEHFI $.
  $}

  ${
    mpanl12.1 $e |- ph $.
    mpanl12.2 $e |- ps $.
    mpanl12.3 $e |- ( ( ( ph /\ ps ) /\ ch ) -> th ) $.
    $( An inference based on modus ponens.  (Contributed by NM,
       13-Jul-2005.) $)
    mpanl12 $p |- ( ch -> th ) $=
      ( mpanl1 mpan ) BCDFABCDEGHI $.
  $}

  ${
    mpanr1.1 $e |- ps $.
    mpanr1.2 $e |- ( ( ph /\ ( ps /\ ch ) ) -> th ) $.
    $( An inference based on modus ponens.  (Contributed by NM, 3-May-1994.)
       (Proof shortened by Andrew Salmon, 7-May-2011.) $)
    mpanr1 $p |- ( ( ph /\ ch ) -> th ) $=
      ( anassrs mpanl2 ) ABCDEABCDFGH $.
  $}

  ${
    mpanr2.1 $e |- ch $.
    mpanr2.2 $e |- ( ( ph /\ ( ps /\ ch ) ) -> th ) $.
    $( An inference based on modus ponens.  (Contributed by NM, 3-May-1994.)
       (Proof shortened by Andrew Salmon, 7-May-2011.)  (Proof shortened by
       Wolf Lammen, 7-Apr-2013.) $)
    mpanr2 $p |- ( ( ph /\ ps ) -> th ) $=
      ( wa jctr sylan2 ) BABCGDBCEHFI $.
  $}

  ${
    mpanr12.1 $e |- ps $.
    mpanr12.2 $e |- ch $.
    mpanr12.3 $e |- ( ( ph /\ ( ps /\ ch ) ) -> th ) $.
    $( An inference based on modus ponens.  (Contributed by NM,
       24-Jul-2009.) $)
    mpanr12 $p |- ( ph -> th ) $=
      ( mpanr1 mpan2 ) ACDFABCDEGHI $.
  $}

  ${
    mpanlr1.1 $e |- ps $.
    mpanlr1.2 $e |- ( ( ( ph /\ ( ps /\ ch ) ) /\ th ) -> ta ) $.
    $( An inference based on modus ponens.  (Contributed by NM, 30-Dec-2004.)
       (Proof shortened by Wolf Lammen, 7-Apr-2013.) $)
    mpanlr1 $p |- ( ( ( ph /\ ch ) /\ th ) -> ta ) $=
      ( wa jctl sylanl2 ) CABCHDECBFIGJ $.
  $}

  ${
    pm5.74da.1 $e |- ( ( ph /\ ps ) -> ( ch <-> th ) ) $.
    $( Distribution of implication over biconditional (deduction rule).
       (Contributed by NM, 4-May-2007.) $)
    pm5.74da $p |- ( ph -> ( ( ps -> ch ) <-> ( ps -> th ) ) ) $=
      ( wb ex pm5.74d ) ABCDABCDFEGH $.
  $}

  $( Theorem *4.45 of [WhiteheadRussell] p. 119.  (Contributed by NM,
     3-Jan-2005.) $)
  pm4.45 $p |- ( ph <-> ( ph /\ ( ph \/ ps ) ) ) $=
    ( wo orc pm4.71i ) AABCABDE $.

  $( Distribution of implication with conjunction.  (Contributed by NM,
     31-May-1999.)  (Proof shortened by Wolf Lammen, 6-Dec-2012.) $)
  imdistan $p |- ( ( ph -> ( ps -> ch ) ) <->
                ( ( ph /\ ps ) -> ( ph /\ ch ) ) ) $=
    ( wi wa pm5.42 impexp bitr4i ) ABCDDABACEZDDABEIDABCFABIGH $.

  ${
    imdistani.1 $e |- ( ph -> ( ps -> ch ) ) $.
    $( Distribution of implication with conjunction.  (Contributed by NM,
       1-Aug-1994.) $)
    imdistani $p |- ( ( ph /\ ps ) -> ( ph /\ ch ) ) $=
      ( wa anc2li imp ) ABACEABCDFG $.
  $}

  ${
    imdistanri.1 $e |- ( ph -> ( ps -> ch ) ) $.
    $( Distribution of implication with conjunction.  (Contributed by NM,
       8-Jan-2002.) $)
    imdistanri $p |- ( ( ps /\ ph ) -> ( ch /\ ph ) ) $=
      ( com12 impac ) BACABCDEF $.
  $}

  ${
    imdistand.1 $e |- ( ph -> ( ps -> ( ch -> th ) ) ) $.
    $( Distribution of implication with conjunction (deduction rule).
       (Contributed by NM, 27-Aug-2004.) $)
    imdistand $p |- ( ph -> ( ( ps /\ ch ) -> ( ps /\ th ) ) ) $=
      ( wi wa imdistan sylib ) ABCDFFBCGBDGFEBCDHI $.
  $}

  ${
    imdistanda.1 $e |- ( ( ph /\ ps ) -> ( ch -> th ) ) $.
    $( Distribution of implication with conjunction (deduction version with
       conjoined antecedent).  (Contributed by Jeff Madsen, 19-Jun-2011.) $)
    imdistanda $p |- ( ph -> ( ( ps /\ ch ) -> ( ps /\ th ) ) ) $=
      ( wi ex imdistand ) ABCDABCDFEGH $.
  $}

  ${
    bi.aa $e |- ( ph <-> ps ) $.
    $( Introduce a left conjunct to both sides of a logical equivalence.
       (Contributed by NM, 5-Aug-1993.)  (Proof shortened by Wolf Lammen,
       16-Nov-2013.) $)
    anbi2i $p |- ( ( ch /\ ph ) <-> ( ch /\ ps ) ) $=
      ( wb a1i pm5.32i ) CABABECDFG $.

    $( Introduce a right conjunct to both sides of a logical equivalence.
       (Contributed by NM, 5-Aug-1993.)  (Proof shortened by Wolf Lammen,
       16-Nov-2013.) $)
    anbi1i $p |- ( ( ph /\ ch ) <-> ( ps /\ ch ) ) $=
      ( wb a1i pm5.32ri ) CABABECDFG $.

    $( Variant of ~ anbi2i with commutation.  (Contributed by Jonathan
       Ben-Naim, 3-Jun-2011.)  (Proof shortened by Andrew Salmon,
       14-Jun-2011.) $)
    anbi2ci $p |- ( ( ph /\ ch ) <-> ( ch /\ ps ) ) $=
      ( wa anbi1i ancom bitri ) ACEBCECBEABCDFBCGH $.
  $}

  ${
    anbi12.1 $e |- ( ph <-> ps ) $.
    anbi12.2 $e |- ( ch <-> th ) $.
    $( Conjoin both sides of two equivalences.  (Contributed by NM,
       5-Aug-1993.) $)
    anbi12i $p |- ( ( ph /\ ch ) <-> ( ps /\ th ) ) $=
      ( wa anbi1i anbi2i bitri ) ACGBCGBDGABCEHCDBFIJ $.

    $( Variant of ~ anbi12i with commutation.  (Contributed by Jonathan
       Ben-Naim, 3-Jun-2011.) $)
    anbi12ci $p |- ( ( ph /\ ch ) <-> ( th /\ ps ) ) $=
      ( wa anbi12i ancom bitri ) ACGBDGDBGABCDEFHBDIJ $.
  $}

  ${
    sylan9bb.1 $e |- ( ph -> ( ps <-> ch ) ) $.
    sylan9bb.2 $e |- ( th -> ( ch <-> ta ) ) $.
    $( Nested syllogism inference conjoining dissimilar antecedents.
       (Contributed by NM, 4-Mar-1995.) $)
    sylan9bb $p |- ( ( ph /\ th ) -> ( ps <-> ta ) ) $=
      ( wa wb adantr adantl bitrd ) ADHBCEABCIDFJDCEIAGKL $.
  $}

  ${
    sylan9bbr.1 $e |- ( ph -> ( ps <-> ch ) ) $.
    sylan9bbr.2 $e |- ( th -> ( ch <-> ta ) ) $.
    $( Nested syllogism inference conjoining dissimilar antecedents.
       (Contributed by NM, 4-Mar-1995.) $)
    sylan9bbr $p |- ( ( th /\ ph ) -> ( ps <-> ta ) ) $=
      ( wb sylan9bb ancoms ) ADBEHABCDEFGIJ $.
  $}

  ${
    bid.1 $e |- ( ph -> ( ps <-> ch ) ) $.
    $( Deduction adding a left disjunct to both sides of a logical
       equivalence.  (Contributed by NM, 5-Aug-1993.) $)
    orbi2d $p |- ( ph -> ( ( th \/ ps ) <-> ( th \/ ch ) ) ) $=
      ( wn wi wo imbi2d df-or 3bitr4g ) ADFZBGLCGDBHDCHABCLEIDBJDCJK $.

    $( Deduction adding a right disjunct to both sides of a logical
       equivalence.  (Contributed by NM, 5-Aug-1993.) $)
    orbi1d $p |- ( ph -> ( ( ps \/ th ) <-> ( ch \/ th ) ) ) $=
      ( wo orbi2d orcom 3bitr4g ) ADBFDCFBDFCDFABCDEGBDHCDHI $.

    $( Deduction adding a left conjunct to both sides of a logical
       equivalence.  (Contributed by NM, 5-Aug-1993.)  (Proof shortened by Wolf
       Lammen, 16-Nov-2013.) $)
    anbi2d $p |- ( ph -> ( ( th /\ ps ) <-> ( th /\ ch ) ) ) $=
      ( wb a1d pm5.32d ) ADBCABCFDEGH $.

    $( Deduction adding a right conjunct to both sides of a logical
       equivalence.  (Contributed by NM, 5-Aug-1993.)  (Proof shortened by Wolf
       Lammen, 16-Nov-2013.) $)
    anbi1d $p |- ( ph -> ( ( ps /\ th ) <-> ( ch /\ th ) ) ) $=
      ( wb a1d pm5.32rd ) ADBCABCFDEGH $.
  $}

  $( Theorem *4.37 of [WhiteheadRussell] p. 118.  (Contributed by NM,
     3-Jan-2005.) $)
  orbi1 $p |- ( ( ph <-> ps ) -> ( ( ph \/ ch ) <-> ( ps \/ ch ) ) ) $=
    ( wb id orbi1d ) ABDZABCGEF $.

  $( Introduce a right conjunct to both sides of a logical equivalence.
     Theorem *4.36 of [WhiteheadRussell] p. 118.  (Contributed by NM,
     3-Jan-2005.) $)
  anbi1 $p |- ( ( ph <-> ps ) -> ( ( ph /\ ch ) <-> ( ps /\ ch ) ) ) $=
    ( wb id anbi1d ) ABDZABCGEF $.

  $( Introduce a left conjunct to both sides of a logical equivalence.
     (Contributed by NM, 16-Nov-2013.) $)
  anbi2 $p |- ( ( ph <-> ps ) -> ( ( ch /\ ph ) <-> ( ch /\ ps ) ) ) $=
    ( wb id anbi2d ) ABDZABCGEF $.

  $( Theorem *4.22 of [WhiteheadRussell] p. 117.  (Contributed by NM,
     3-Jan-2005.) $)
  bitr $p |- ( ( ( ph <-> ps ) /\ ( ps <-> ch ) ) -> ( ph <-> ch ) ) $=
    ( wb bibi1 biimpar ) ABDACDBCDABCEF $.

  ${
    bi12d.1 $e |- ( ph -> ( ps <-> ch ) ) $.
    bi12d.2 $e |- ( ph -> ( th <-> ta ) ) $.
    $( Deduction joining two equivalences to form equivalence of disjunctions.
       (Contributed by NM, 5-Aug-1993.) $)
    orbi12d $p |- ( ph -> ( ( ps \/ th ) <-> ( ch \/ ta ) ) ) $=
      ( wo orbi1d orbi2d bitrd ) ABDHCDHCEHABCDFIADECGJK $.

    $( Deduction joining two equivalences to form equivalence of conjunctions.
       (Contributed by NM, 5-Aug-1993.) $)
    anbi12d $p |- ( ph -> ( ( ps /\ th ) <-> ( ch /\ ta ) ) ) $=
      ( wa anbi1d anbi2d bitrd ) ABDHCDHCEHABCDFIADECGJK $.
  $}

  $( Theorem *5.3 of [WhiteheadRussell] p. 125.  (Contributed by NM,
     3-Jan-2005.)  (Proof shortened by Andrew Salmon, 7-May-2011.) $)
  pm5.3 $p |- ( ( ( ph /\ ps ) -> ch ) <->
               ( ( ph /\ ps ) -> ( ph /\ ch ) ) ) $=
    ( wa wi impexp imdistan bitri ) ABDZCEABCEEIACDEABCFABCGH $.

  $( Theorem *5.61 of [WhiteheadRussell] p. 125.  (Contributed by NM,
     3-Jan-2005.)  (Proof shortened by Wolf Lammen, 30-Jun-2013.) $)
  pm5.61 $p |- ( ( ( ph \/ ps ) /\ -. ps ) <-> ( ph /\ -. ps ) ) $=
    ( wn wo biorf orcom syl6rbb pm5.32ri ) BCZABDZAIABADJBAEBAFGH $.

  ${
    adant2.1 $e |- ( ( ph /\ ps ) -> ch ) $.
    $( Deduction adding a conjunct to antecedent.  (Contributed by NM,
       4-May-1994.)  (Proof shortened by Wolf Lammen, 24-Nov-2012.) $)
    adantll $p |- ( ( ( th /\ ph ) /\ ps ) -> ch ) $=
      ( wa simpr sylan ) DAFABCDAGEH $.

    $( Deduction adding a conjunct to antecedent.  (Contributed by NM,
       4-May-1994.)  (Proof shortened by Wolf Lammen, 24-Nov-2012.) $)
    adantlr $p |- ( ( ( ph /\ th ) /\ ps ) -> ch ) $=
      ( wa simpl sylan ) ADFABCADGEH $.

    $( Deduction adding a conjunct to antecedent.  (Contributed by NM,
       4-May-1994.)  (Proof shortened by Wolf Lammen, 24-Nov-2012.) $)
    adantrl $p |- ( ( ph /\ ( th /\ ps ) ) -> ch ) $=
      ( wa simpr sylan2 ) DBFABCDBGEH $.

    $( Deduction adding a conjunct to antecedent.  (Contributed by NM,
       4-May-1994.)  (Proof shortened by Wolf Lammen, 24-Nov-2012.) $)
    adantrr $p |- ( ( ph /\ ( ps /\ th ) ) -> ch ) $=
      ( wa simpl sylan2 ) BDFABCBDGEH $.
  $}

  ${
    adantl2.1 $e |- ( ( ( ph /\ ps ) /\ ch ) -> th ) $.
    $( Deduction adding a conjunct to antecedent.  (Contributed by NM,
       26-Dec-2004.)  (Proof shortened by Wolf Lammen, 2-Dec-2012.) $)
    adantlll $p |- ( ( ( ( ta /\ ph ) /\ ps ) /\ ch ) -> th ) $=
      ( wa simpr sylanl1 ) EAGABCDEAHFI $.

    $( Deduction adding a conjunct to antecedent.  (Contributed by NM,
       26-Dec-2004.)  (Proof shortened by Wolf Lammen, 4-Dec-2012.) $)
    adantllr $p |- ( ( ( ( ph /\ ta ) /\ ps ) /\ ch ) -> th ) $=
      ( wa simpl sylanl1 ) AEGABCDAEHFI $.

    $( Deduction adding a conjunct to antecedent.  (Contributed by NM,
       26-Dec-2004.)  (Proof shortened by Wolf Lammen, 4-Dec-2012.) $)
    adantlrl $p |- ( ( ( ph /\ ( ta /\ ps ) ) /\ ch ) -> th ) $=
      ( wa simpr sylanl2 ) EBGABCDEBHFI $.

    $( Deduction adding a conjunct to antecedent.  (Contributed by NM,
       26-Dec-2004.)  (Proof shortened by Wolf Lammen, 4-Dec-2012.) $)
    adantlrr $p |- ( ( ( ph /\ ( ps /\ ta ) ) /\ ch ) -> th ) $=
      ( wa simpl sylanl2 ) BEGABCDBEHFI $.
  $}

  ${
    adantr2.1 $e |- ( ( ph /\ ( ps /\ ch ) ) -> th ) $.
    $( Deduction adding a conjunct to antecedent.  (Contributed by NM,
       26-Dec-2004.)  (Proof shortened by Wolf Lammen, 4-Dec-2012.) $)
    adantrll $p |- ( ( ph /\ ( ( ta /\ ps ) /\ ch ) ) -> th ) $=
      ( wa simpr sylanr1 ) EBGABCDEBHFI $.

    $( Deduction adding a conjunct to antecedent.  (Contributed by NM,
       26-Dec-2004.)  (Proof shortened by Wolf Lammen, 4-Dec-2012.) $)
    adantrlr $p |- ( ( ph /\ ( ( ps /\ ta ) /\ ch ) ) -> th ) $=
      ( wa simpl sylanr1 ) BEGABCDBEHFI $.

    $( Deduction adding a conjunct to antecedent.  (Contributed by NM,
       26-Dec-2004.)  (Proof shortened by Wolf Lammen, 4-Dec-2012.) $)
    adantrrl $p |- ( ( ph /\ ( ps /\ ( ta /\ ch ) ) ) -> th ) $=
      ( wa simpr sylanr2 ) ECGABCDECHFI $.

    $( Deduction adding a conjunct to antecedent.  (Contributed by NM,
       26-Dec-2004.)  (Proof shortened by Wolf Lammen, 4-Dec-2012.) $)
    adantrrr $p |- ( ( ph /\ ( ps /\ ( ch /\ ta ) ) ) -> th ) $=
      ( wa simpl sylanr2 ) CEGABCDCEHFI $.
  $}

  ${
    ad2ant.1 $e |- ( ph -> ps ) $.
    $( Deduction adding two conjuncts to antecedent.  (Contributed by NM,
       19-Oct-1999.)  (Proof shortened by Wolf Lammen, 20-Nov-2012.) $)
    ad2antrr $p |- ( ( ( ph /\ ch ) /\ th ) -> ps ) $=
      ( adantr adantlr ) ADBCABDEFG $.

    $( Deduction adding two conjuncts to antecedent.  (Contributed by NM,
       19-Oct-1999.)  (Proof shortened by Wolf Lammen, 20-Nov-2012.) $)
    ad2antlr $p |- ( ( ( ch /\ ph ) /\ th ) -> ps ) $=
      ( adantr adantll ) ADBCABDEFG $.

    $( Deduction adding two conjuncts to antecedent.  (Contributed by NM,
       19-Oct-1999.) $)
    ad2antrl $p |- ( ( ch /\ ( ph /\ th ) ) -> ps ) $=
      ( wa adantr adantl ) ADFBCABDEGH $.

    $( Deduction adding conjuncts to antecedent.  (Contributed by NM,
       19-Oct-1999.) $)
    ad2antll $p |- ( ( ch /\ ( th /\ ph ) ) -> ps ) $=
      ( wa adantl ) DAFBCABDEGG $.

    $( Deduction adding three conjuncts to antecedent.  (Contributed by NM,
       28-Jul-2012.) $)
    ad3antrrr $p |- ( ( ( ( ph /\ ch ) /\ th ) /\ ta ) -> ps ) $=
      ( wa adantr ad2antrr ) ACGBDEABCFHI $.

    $( Deduction adding three conjuncts to antecedent.  (Contributed by Mario
       Carneiro, 5-Jan-2017.) $)
    ad3antlr $p |- ( ( ( ( ch /\ ph ) /\ th ) /\ ta ) -> ps ) $=
      ( wa ad2antlr adantr ) CAGDGBEABCDFHI $.

    $( Deduction adding 4 conjuncts to antecedent.  (Contributed by Mario
       Carneiro, 4-Jan-2017.) $)
    ad4antr $p |- ( ( ( ( ( ph /\ ch ) /\ th ) /\ ta ) /\ et ) -> ps ) $=
      ( wa ad3antrrr adantr ) ACHDHEHBFABCDEGIJ $.

    $( Deduction adding 4 conjuncts to antecedent.  (Contributed by Mario
       Carneiro, 5-Jan-2017.) $)
    ad4antlr $p |- ( ( ( ( ( ch /\ ph ) /\ th ) /\ ta ) /\ et ) -> ps ) $=
      ( wa ad3antlr adantr ) CAHDHEHBFABCDEGIJ $.

    $( Deduction adding 5 conjuncts to antecedent.  (Contributed by Mario
       Carneiro, 4-Jan-2017.) $)
    ad5antr $p |- ( ( ( ( ( ( ph /\ ch ) /\ th ) /\ ta ) /\ et )
      /\ ze ) -> ps ) $=
      ( wa ad4antr adantr ) ACIDIEIFIBGABCDEFHJK $.

    $( Deduction adding 5 conjuncts to antecedent.  (Contributed by Mario
       Carneiro, 5-Jan-2017.) $)
    ad5antlr $p |- ( ( ( ( ( ( ch /\ ph ) /\ th ) /\ ta ) /\ et )
      /\ ze ) -> ps ) $=
      ( wa ad4antlr adantr ) CAIDIEIFIBGABCDEFHJK $.

    $( Deduction adding 6 conjuncts to antecedent.  (Contributed by Mario
       Carneiro, 4-Jan-2017.) $)
    ad6antr $p |- ( ( ( ( ( ( ( ph /\ ch ) /\ th ) /\ ta ) /\ et )
      /\ ze ) /\ si ) -> ps ) $=
      ( wa ad5antr adantr ) ACJDJEJFJGJBHABCDEFGIKL $.

    $( Deduction adding 6 conjuncts to antecedent.  (Contributed by Mario
       Carneiro, 5-Jan-2017.) $)
    ad6antlr $p |- ( ( ( ( ( ( ( ch /\ ph ) /\ th ) /\ ta ) /\ et )
      /\ ze ) /\ si ) -> ps ) $=
      ( wa ad5antlr adantr ) CAJDJEJFJGJBHABCDEFGIKL $.

    $( Deduction adding 7 conjuncts to antecedent.  (Contributed by Mario
       Carneiro, 4-Jan-2017.) $)
    ad7antr $p |- ( ( ( ( ( ( ( ( ph /\ ch ) /\ th ) /\ ta ) /\ et )
      /\ ze ) /\ si ) /\ rh ) -> ps ) $=
      ( wa ad6antr adantr ) ACKDKEKFKGKHKBIABCDEFGHJLM $.

    $( Deduction adding 7 conjuncts to antecedent.  (Contributed by Mario
       Carneiro, 5-Jan-2017.) $)
    ad7antlr $p |- ( ( ( ( ( ( ( ( ch /\ ph ) /\ th ) /\ ta ) /\ et )
      /\ ze ) /\ si ) /\ rh ) -> ps ) $=
      ( wa ad6antlr adantr ) CAKDKEKFKGKHKBIABCDEFGHJLM $.

    $( Deduction adding 8 conjuncts to antecedent.  (Contributed by Mario
       Carneiro, 4-Jan-2017.) $)
    ad8antr $p |- ( ( ( ( ( ( ( ( ( ph /\ ch ) /\ th ) /\ ta ) /\ et )
      /\ ze ) /\ si ) /\ rh ) /\ mu ) -> ps ) $=
      ( wa ad7antr adantr ) ACLDLELFLGLHLILBJABCDEFGHIKMN $.

    $( Deduction adding 8 conjuncts to antecedent.  (Contributed by Mario
       Carneiro, 5-Jan-2017.) $)
    ad8antlr $p |- ( ( ( ( ( ( ( ( ( ch /\ ph ) /\ th ) /\ ta ) /\ et )
      /\ ze ) /\ si ) /\ rh ) /\ mu ) -> ps ) $=
      ( wa ad7antlr adantr ) CALDLELFLGLHLILBJABCDEFGHIKMN $.

    $( Deduction adding 9 conjuncts to antecedent.  (Contributed by Mario
       Carneiro, 4-Jan-2017.) $)
    ad9antr $p |- ( ( ( ( ( ( ( ( ( ( ph /\ ch ) /\ th ) /\ ta ) /\ et )
      /\ ze ) /\ si ) /\ rh ) /\ mu ) /\ la ) -> ps ) $=
      ( wa ad8antr adantr ) ACMDMEMFMGMHMIMJMBKABCDEFGHIJLNO $.

    $( Deduction adding 9 conjuncts to antecedent.  (Contributed by Mario
       Carneiro, 5-Jan-2017.) $)
    ad9antlr $p |- ( ( ( ( ( ( ( ( ( ( ch /\ ph ) /\ th ) /\ ta ) /\ et )
      /\ ze ) /\ si ) /\ rh ) /\ mu ) /\ la ) -> ps ) $=
      ( wa ad8antlr adantr ) CAMDMEMFMGMHMIMJMBKABCDEFGHIJLNO $.

    $( Deduction adding 10 conjuncts to antecedent.  (Contributed by Mario
       Carneiro, 4-Jan-2017.) $)
    ad10antr $p |- ( ( ( ( ( ( ( ( ( ( ( ph /\ ch ) /\ th ) /\ ta ) /\ et )
      /\ ze ) /\ si ) /\ rh ) /\ mu ) /\ la ) /\ ka ) -> ps ) $=
      ( wa ad9antr adantr ) ACNDNENFNGNHNINJNKNBLABCDEFGHIJKMOP $.

    $( Deduction adding 10 conjuncts to antecedent.  (Contributed by Mario
       Carneiro, 5-Jan-2017.) $)
    ad10antlr $p |- ( ( ( ( ( ( ( ( ( ( ( ch /\ ph ) /\ th ) /\ ta ) /\ et )
      /\ ze ) /\ si ) /\ rh ) /\ mu ) /\ la ) /\ ka ) -> ps ) $=
      ( wa ad9antlr adantr ) CANDNENFNGNHNINJNKNBLABCDEFGHIJKMOP $.
  $}

  ${
    ad2ant2.1 $e |- ( ( ph /\ ps ) -> ch ) $.
    $( Deduction adding two conjuncts to antecedent.  (Contributed by NM,
       8-Jan-2006.) $)
    ad2ant2l $p |- ( ( ( th /\ ph ) /\ ( ta /\ ps ) ) -> ch ) $=
      ( wa adantrl adantll ) AEBGCDABCEFHI $.

    $( Deduction adding two conjuncts to antecedent.  (Contributed by NM,
       8-Jan-2006.) $)
    ad2ant2r $p |- ( ( ( ph /\ th ) /\ ( ps /\ ta ) ) -> ch ) $=
      ( wa adantrr adantlr ) ABEGCDABCEFHI $.

    $( Deduction adding two conjuncts to antecedent.  (Contributed by NM,
       23-Nov-2007.) $)
    ad2ant2lr $p |- ( ( ( th /\ ph ) /\ ( ps /\ ta ) ) -> ch ) $=
      ( wa adantrr adantll ) ABEGCDABCEFHI $.

    $( Deduction adding two conjuncts to antecedent.  (Contributed by NM,
       24-Nov-2007.) $)
    ad2ant2rl $p |- ( ( ( ph /\ th ) /\ ( ta /\ ps ) ) -> ch ) $=
      ( wa adantrl adantlr ) AEBGCDABCEFHI $.
  $}

  $( Simplification of a conjunction.  (Contributed by NM, 18-Mar-2007.) $)
  simpll $p |- ( ( ( ph /\ ps ) /\ ch ) -> ph ) $=
    ( id ad2antrr ) AABCADE $.

  $( Simplification of a conjunction.  (Contributed by NM, 20-Mar-2007.) $)
  simplr $p |- ( ( ( ph /\ ps ) /\ ch ) -> ps ) $=
    ( id ad2antlr ) BBACBDE $.

  $( Simplification of a conjunction.  (Contributed by NM, 21-Mar-2007.) $)
  simprl $p |- ( ( ph /\ ( ps /\ ch ) ) -> ps ) $=
    ( id ad2antrl ) BBACBDE $.

  $( Simplification of a conjunction.  (Contributed by NM, 21-Mar-2007.) $)
  simprr $p |- ( ( ph /\ ( ps /\ ch ) ) -> ch ) $=
    ( id ad2antll ) CCABCDE $.

  $( Simplification of a conjunction.  (Contributed by Jeff Hankins,
     28-Jul-2009.) $)
  simplll $p |- ( ( ( ( ph /\ ps ) /\ ch ) /\ th ) -> ph ) $=
    ( wa simpl ad2antrr ) ABEACDABFG $.

  $( Simplification of a conjunction.  (Contributed by Jeff Hankins,
     28-Jul-2009.) $)
  simpllr $p |- ( ( ( ( ph /\ ps ) /\ ch ) /\ th ) -> ps ) $=
    ( wa simpr ad2antrr ) ABEBCDABFG $.

  $( Simplification of a conjunction.  (Contributed by Jeff Hankins,
     28-Jul-2009.) $)
  simplrl $p |- ( ( ( ph /\ ( ps /\ ch ) ) /\ th ) -> ps ) $=
    ( wa simpl ad2antlr ) BCEBADBCFG $.

  $( Simplification of a conjunction.  (Contributed by Jeff Hankins,
     28-Jul-2009.) $)
  simplrr $p |- ( ( ( ph /\ ( ps /\ ch ) ) /\ th ) -> ch ) $=
    ( wa simpr ad2antlr ) BCECADBCFG $.

  $( Simplification of a conjunction.  (Contributed by Jeff Hankins,
     28-Jul-2009.) $)
  simprll $p |- ( ( ph /\ ( ( ps /\ ch ) /\ th ) ) -> ps ) $=
    ( wa simpl ad2antrl ) BCEBADBCFG $.

  $( Simplification of a conjunction.  (Contributed by Jeff Hankins,
     28-Jul-2009.) $)
  simprlr $p |- ( ( ph /\ ( ( ps /\ ch ) /\ th ) ) -> ch ) $=
    ( wa simpr ad2antrl ) BCECADBCFG $.

  $( Simplification of a conjunction.  (Contributed by Jeff Hankins,
     28-Jul-2009.) $)
  simprrl $p |- ( ( ph /\ ( ps /\ ( ch /\ th ) ) ) -> ch ) $=
    ( wa simpl ad2antll ) CDECABCDFG $.

  $( Simplification of a conjunction.  (Contributed by Jeff Hankins,
     28-Jul-2009.) $)
  simprrr $p |- ( ( ph /\ ( ps /\ ( ch /\ th ) ) ) -> th ) $=
    ( wa simpr ad2antll ) CDEDABCDFG $.

  $( Simplification of a conjunction.  (Contributed by Mario Carneiro,
     4-Jan-2017.) $)
  simp-4l $p |- ( ( ( ( ( ph /\ ps ) /\ ch ) /\ th ) /\ ta ) -> ph ) $=
    ( wa simplll adantr ) ABFCFDFAEABCDGH $.

  $( Simplification of a conjunction.  (Contributed by Mario Carneiro,
     4-Jan-2017.) $)
  simp-4r $p |- ( ( ( ( ( ph /\ ps ) /\ ch ) /\ th ) /\ ta ) -> ps ) $=
    ( wa simpllr adantr ) ABFCFDFBEABCDGH $.

  $( Simplification of a conjunction.  (Contributed by Mario Carneiro,
     4-Jan-2017.) $)
  simp-5l $p |- ( ( ( ( ( ( ph /\ ps ) /\ ch ) /\ th ) /\ ta )
    /\ et ) -> ph ) $=
    ( wa simp-4l adantr ) ABGCGDGEGAFABCDEHI $.

  $( Simplification of a conjunction.  (Contributed by Mario Carneiro,
     4-Jan-2017.) $)
  simp-5r $p |- ( ( ( ( ( ( ph /\ ps ) /\ ch ) /\ th ) /\ ta )
    /\ et ) -> ps ) $=
    ( wa simp-4r adantr ) ABGCGDGEGBFABCDEHI $.

  $( Simplification of a conjunction.  (Contributed by Mario Carneiro,
     4-Jan-2017.) $)
  simp-6l $p |- ( ( ( ( ( ( ( ph /\ ps ) /\ ch ) /\ th ) /\ ta )
    /\ et ) /\ ze ) -> ph ) $=
    ( wa simp-5l adantr ) ABHCHDHEHFHAGABCDEFIJ $.

  $( Simplification of a conjunction.  (Contributed by Mario Carneiro,
     4-Jan-2017.) $)
  simp-6r $p |- ( ( ( ( ( ( ( ph /\ ps ) /\ ch ) /\ th ) /\ ta )
    /\ et ) /\ ze ) -> ps ) $=
    ( wa simp-5r adantr ) ABHCHDHEHFHBGABCDEFIJ $.

  $( Simplification of a conjunction.  (Contributed by Mario Carneiro,
     4-Jan-2017.) $)
  simp-7l $p |- ( ( ( ( ( ( ( ( ph /\ ps ) /\ ch ) /\ th ) /\ ta )
    /\ et ) /\ ze ) /\ si ) -> ph ) $=
    ( wa simp-6l adantr ) ABICIDIEIFIGIAHABCDEFGJK $.

  $( Simplification of a conjunction.  (Contributed by Mario Carneiro,
     4-Jan-2017.) $)
  simp-7r $p |- ( ( ( ( ( ( ( ( ph /\ ps ) /\ ch ) /\ th ) /\ ta )
    /\ et ) /\ ze ) /\ si ) -> ps ) $=
    ( wa simp-6r adantr ) ABICIDIEIFIGIBHABCDEFGJK $.

  $( Simplification of a conjunction.  (Contributed by Mario Carneiro,
     4-Jan-2017.) $)
  simp-8l $p |- ( ( ( ( ( ( ( ( ( ph /\ ps ) /\ ch ) /\ th ) /\ ta )
    /\ et ) /\ ze ) /\ si ) /\ rh ) -> ph ) $=
    ( wa simp-7l adantr ) ABJCJDJEJFJGJHJAIABCDEFGHKL $.

  $( Simplification of a conjunction.  (Contributed by Mario Carneiro,
     4-Jan-2017.) $)
  simp-8r $p |- ( ( ( ( ( ( ( ( ( ph /\ ps ) /\ ch ) /\ th ) /\ ta )
    /\ et ) /\ ze ) /\ si ) /\ rh ) -> ps ) $=
    ( wa simp-7r adantr ) ABJCJDJEJFJGJHJBIABCDEFGHKL $.

  $( Simplification of a conjunction.  (Contributed by Mario Carneiro,
     4-Jan-2017.) $)
  simp-9l $p |- ( ( ( ( ( ( ( ( ( ( ph /\ ps ) /\ ch ) /\ th ) /\ ta )
    /\ et ) /\ ze ) /\ si ) /\ rh ) /\ mu ) -> ph ) $=
    ( wa simp-8l adantr ) ABKCKDKEKFKGKHKIKAJABCDEFGHILM $.

  $( Simplification of a conjunction.  (Contributed by Mario Carneiro,
     4-Jan-2017.) $)
  simp-9r $p |- ( ( ( ( ( ( ( ( ( ( ph /\ ps ) /\ ch ) /\ th ) /\ ta )
    /\ et ) /\ ze ) /\ si ) /\ rh ) /\ mu ) -> ps ) $=
    ( wa simp-8r adantr ) ABKCKDKEKFKGKHKIKBJABCDEFGHILM $.

  $( Simplification of a conjunction.  (Contributed by Mario Carneiro,
     4-Jan-2017.) $)
  simp-10l $p |- ( ( ( ( ( ( ( ( ( ( ( ph /\ ps ) /\ ch ) /\ th ) /\ ta )
    /\ et ) /\ ze ) /\ si ) /\ rh ) /\ mu ) /\ la ) -> ph ) $=
    ( wa simp-9l adantr ) ABLCLDLELFLGLHLILJLAKABCDEFGHIJMN $.

  $( Simplification of a conjunction.  (Contributed by Mario Carneiro,
     4-Jan-2017.) $)
  simp-10r $p |- ( ( ( ( ( ( ( ( ( ( ( ph /\ ps ) /\ ch ) /\ th ) /\ ta )
    /\ et ) /\ ze ) /\ si ) /\ rh ) /\ mu ) /\ la ) -> ps ) $=
    ( wa simp-9r adantr ) ABLCLDLELFLGLHLILJLBKABCDEFGHIJMN $.

  $( Simplification of a conjunction.  (Contributed by Mario Carneiro,
     4-Jan-2017.) $)
  simp-11l $p |- ( ( ( ( ( ( ( ( ( ( ( ( ph /\ ps ) /\ ch ) /\ th ) /\ ta )
    /\ et ) /\ ze ) /\ si ) /\ rh ) /\ mu ) /\ la ) /\ ka ) -> ph ) $=
    ( wa simp-10l adantr ) ABMCMDMEMFMGMHMIMJMKMALABCDEFGHIJKNO $.

  $( Simplification of a conjunction.  (Contributed by Mario Carneiro,
     4-Jan-2017.) $)
  simp-11r $p |- ( ( ( ( ( ( ( ( ( ( ( ( ph /\ ps ) /\ ch ) /\ th ) /\ ta )
    /\ et ) /\ ze ) /\ si ) /\ rh ) /\ mu ) /\ la ) /\ ka ) -> ps ) $=
    ( wa simp-10r adantr ) ABMCMDMEMFMGMHMIMJMKMBLABCDEFGHIJKNO $.

  $( Disjunction of antecedents.  Compare Theorem *4.77 of [WhiteheadRussell]
     p. 121.  (Contributed by NM, 30-May-1994.)  (Proof shortened by Wolf
     Lammen, 9-Dec-2012.) $)
  jaob $p |- ( ( ( ph \/ ch ) -> ps ) <-> ( ( ph -> ps ) /\ ( ch -> ps ) ) ) $=
    ( wo wi wa pm2.67-2 olc imim1i jca pm3.44 impbii ) ACDZBEZABEZCBEZFNOPABCGC
    MBCAHIJBACKL $.

  ${
    jaoian.1 $e |- ( ( ph /\ ps ) -> ch ) $.
    jaoian.2 $e |- ( ( th /\ ps ) -> ch ) $.
    $( Inference disjoining the antecedents of two implications.  (Contributed
       by NM, 23-Oct-2005.) $)
    jaoian $p |- ( ( ( ph \/ th ) /\ ps ) -> ch ) $=
      ( wo wi ex jaoi imp ) ADGBCABCHDABCEIDBCFIJK $.
  $}

  ${
    jaodan.1 $e |- ( ( ph /\ ps ) -> ch ) $.
    jaodan.2 $e |- ( ( ph /\ th ) -> ch ) $.
    $( Deduction disjoining the antecedents of two implications.  (Contributed
       by NM, 14-Oct-2005.) $)
    jaodan $p |- ( ( ph /\ ( ps \/ th ) ) -> ch ) $=
      ( wo ex jaod imp ) ABDGCABCDABCEHADCFHIJ $.

    jaodan.3 $e |- ( ph -> ( ps \/ th ) ) $.
    $( Eliminate a disjunction in a deduction.  A translation of natural
       deduction rule ` \/ ` E ( ` \/ ` elimination), see natded in set.mm.
       (Contributed by Mario Carneiro, 29-May-2016.) $)
    mpjaodan $p |- ( ph -> ch ) $=
      ( wo jaodan mpdan ) ABDHCGABCDEFIJ $.
  $}

  $( Theorem *4.77 of [WhiteheadRussell] p. 121.  (Contributed by NM,
     3-Jan-2005.) $)
  pm4.77 $p |- ( ( ( ps -> ph ) /\ ( ch -> ph ) ) <->
                ( ( ps \/ ch ) -> ph ) ) $=
    ( wo wi wa jaob bicomi ) BCDAEBAECAEFBACGH $.

  $( Theorem *2.63 of [WhiteheadRussell] p. 107.  (Contributed by NM,
     3-Jan-2005.) $)
  pm2.63 $p |- ( ( ph \/ ps ) -> ( ( -. ph \/ ps ) -> ps ) ) $=
    ( wo wn pm2.53 idd jaod ) ABCZADBBABEHBFG $.

  $( Theorem *2.64 of [WhiteheadRussell] p. 107.  (Contributed by NM,
     3-Jan-2005.) $)
  pm2.64 $p |- ( ( ph \/ ps ) -> ( ( ph \/ -. ps ) -> ph ) ) $=
    ( wn wo wi ax-1 orel2 jaoi com12 ) ABCZDABDZAAKAEJAKFBAGHI $.

  ${
    pm2.61ian.1 $e |- ( ( ph /\ ps ) -> ch ) $.
    pm2.61ian.2 $e |- ( ( -. ph /\ ps ) -> ch ) $.
    $( Elimination of an antecedent.  (Contributed by NM, 1-Jan-2005.) $)
    pm2.61ian $p |- ( ps -> ch ) $=
      ( wi ex wn pm2.61i ) ABCFABCDGAHBCEGI $.
  $}

  ${
    pm2.61dan.1 $e |- ( ( ph /\ ps ) -> ch ) $.
    pm2.61dan.2 $e |- ( ( ph /\ -. ps ) -> ch ) $.
    $( Elimination of an antecedent.  (Contributed by NM, 1-Jan-2005.) $)
    pm2.61dan $p |- ( ph -> ch ) $=
      ( ex wn pm2.61d ) ABCABCDFABGCEFH $.
  $}

  ${
    pm2.61ddan.1 $e |- ( ( ph /\ ps ) -> th ) $.
    pm2.61ddan.2 $e |- ( ( ph /\ ch ) -> th ) $.
    pm2.61ddan.3 $e |- ( ( ph /\ ( -. ps /\ -. ch ) ) -> th ) $.
    $( Elimination of two antecedents.  (Contributed by NM, 9-Jul-2013.) $)
    pm2.61ddan $p |- ( ph -> th ) $=
      ( wn wa adantlr anassrs pm2.61dan ) ABDEABHZICDACDMFJAMCHDGKLL $.
  $}

  ${
    pm2.61dda.1 $e |- ( ( ph /\ -. ps ) -> th ) $.
    pm2.61dda.2 $e |- ( ( ph /\ -. ch ) -> th ) $.
    pm2.61dda.3 $e |- ( ( ph /\ ( ps /\ ch ) ) -> th ) $.
    $( Elimination of two antecedents.  (Contributed by NM, 9-Jul-2013.) $)
    pm2.61dda $p |- ( ph -> th ) $=
      ( wa anassrs wn adantlr pm2.61dan ) ABDABHCDABCDGIACJDBFKLEL $.
  $}

  ${
    condan.1 $e |- ( ( ph /\ -. ps ) -> ch ) $.
    condan.2 $e |- ( ( ph /\ -. ps ) -> -. ch ) $.
    $( Proof by contradiction.  (Contributed by NM, 9-Feb-2006.)  (Proof
       shortened by Wolf Lammen, 19-Jun-2014.) $)
    condan $p |- ( ph -> ps ) $=
      ( wn pm2.65da notnot2 syl ) ABFZFBAJCDEGBHI $.
  $}

  $( Introduce one conjunct as an antecedent to the other.  "abai" stands for
     "and, biconditional, and, implication".  (Contributed by NM,
     12-Aug-1993.)  (Proof shortened by Wolf Lammen, 7-Dec-2012.) $)
  abai $p |- ( ( ph /\ ps ) <-> ( ph /\ ( ph -> ps ) ) ) $=
    ( wi biimt pm5.32i ) ABABCABDE $.

  $( Theorem *5.53 of [WhiteheadRussell] p. 125.  (Contributed by NM,
     3-Jan-2005.) $)
  pm5.53 $p |- ( ( ( ( ph \/ ps ) \/ ch ) -> th ) <->
                ( ( ( ph -> th ) /\ ( ps -> th ) ) /\ ( ch -> th ) ) ) $=
    ( wo wi wa jaob anbi1i bitri ) ABEZCEDFKDFZCDFZGADFBDFGZMGKDCHLNMADBHIJ $.

  $( Swap two conjuncts.  Note that the first digit (1) in the label refers to
     the outer conjunct position, and the next digit (2) to the inner conjunct
     position.  (Contributed by NM, 12-Mar-1995.) $)
  an12 $p |- ( ( ph /\ ( ps /\ ch ) ) <-> ( ps /\ ( ph /\ ch ) ) ) $=
    ( wa ancom anbi1i anass 3bitr3i ) ABDZCDBADZCDABCDDBACDDIJCABEFABCGBACGH $.

  $( A rearrangement of conjuncts.  (Contributed by NM, 12-Mar-1995.)  (Proof
     shortened by Wolf Lammen, 25-Dec-2012.) $)
  an32 $p |- ( ( ( ph /\ ps ) /\ ch ) <-> ( ( ph /\ ch ) /\ ps ) ) $=
    ( wa anass an12 ancom 3bitri ) ABDCDABCDDBACDZDIBDABCEABCFBIGH $.

  $( A rearrangement of conjuncts.  (Contributed by NM, 24-Jun-2012.)  (Proof
     shortened by Wolf Lammen, 31-Dec-2012.) $)
  an13 $p |- ( ( ph /\ ( ps /\ ch ) ) <-> ( ch /\ ( ps /\ ph ) ) ) $=
    ( wa an12 anass ancom 3bitr2i ) ABCDDBACDDBADZCDCIDABCEBACFICGH $.

  $( A rearrangement of conjuncts.  (Contributed by NM, 24-Jun-2012.)  (Proof
     shortened by Wolf Lammen, 31-Dec-2012.) $)
  an31 $p |- ( ( ( ph /\ ps ) /\ ch ) <-> ( ( ch /\ ps ) /\ ph ) ) $=
    ( wa an13 anass 3bitr4i ) ABCDDCBADDABDCDCBDADABCEABCFCBAFG $.

  ${
    an12s.1 $e |- ( ( ph /\ ( ps /\ ch ) ) -> th ) $.
    $( Swap two conjuncts in antecedent.  The label suffix "s" means that
       ~ an12 is combined with ~ syl (or a variant).  (Contributed by NM,
       13-Mar-1996.) $)
    an12s $p |- ( ( ps /\ ( ph /\ ch ) ) -> th ) $=
      ( wa an12 sylbi ) BACFFABCFFDBACGEH $.

    $( Inference commuting a nested conjunction in antecedent.  (Contributed by
       NM, 24-May-2006.)  (Proof shortened by Wolf Lammen, 24-Nov-2012.) $)
    ancom2s $p |- ( ( ph /\ ( ch /\ ps ) ) -> th ) $=
      ( wa pm3.22 sylan2 ) CBFABCFDCBGEH $.

    $( Swap two conjuncts in antecedent.  (Contributed by NM, 31-May-2006.) $)
    an13s $p |- ( ( ch /\ ( ps /\ ph ) ) -> th ) $=
      ( exp32 com13 imp32 ) CBADABCDABCDEFGH $.
  $}

  ${
    an32s.1 $e |- ( ( ( ph /\ ps ) /\ ch ) -> th ) $.
    $( Swap two conjuncts in antecedent.  (Contributed by NM, 13-Mar-1996.) $)
    an32s $p |- ( ( ( ph /\ ch ) /\ ps ) -> th ) $=
      ( wa an32 sylbi ) ACFBFABFCFDACBGEH $.

    $( Inference commuting a nested conjunction in antecedent.  (Contributed by
       NM, 24-May-2006.)  (Proof shortened by Wolf Lammen, 24-Nov-2012.) $)
    ancom1s $p |- ( ( ( ps /\ ph ) /\ ch ) -> th ) $=
      ( wa pm3.22 sylan ) BAFABFCDBAGEH $.

    $( Swap two conjuncts in antecedent.  (Contributed by NM, 31-May-2006.) $)
    an31s $p |- ( ( ( ch /\ ps ) /\ ph ) -> th ) $=
      ( exp31 com13 imp31 ) CBADABCDABCDEFGH $.
  $}

  ${
    anass1rs.1 $e |- ( ( ph /\ ( ps /\ ch ) ) -> th ) $.
    $( Commutative-associative law for conjunction in an antecedent.
       (Contributed by Jeff Madsen, 19-Jun-2011.) $)
    anass1rs $p |- ( ( ( ph /\ ch ) /\ ps ) -> th ) $=
      ( anassrs an32s ) ABCDABCDEFG $.
  $}

  $( Absorption into embedded conjunct.  (Contributed by NM, 4-Sep-1995.)
     (Proof shortened by Wolf Lammen, 16-Nov-2013.) $)
  anabs1 $p |- ( ( ( ph /\ ps ) /\ ph ) <-> ( ph /\ ps ) ) $=
    ( wa simpl pm4.71i bicomi ) ABCZGACGAABDEF $.

  $( Absorption into embedded conjunct.  (Contributed by NM, 20-Jul-1996.)
     (Proof shortened by Wolf Lammen, 9-Dec-2012.) $)
  anabs5 $p |- ( ( ph /\ ( ph /\ ps ) ) <-> ( ph /\ ps ) ) $=
    ( wa ibar bicomd pm5.32i ) AABCZBABGABDEF $.

  $( Absorption into embedded conjunct.  (Contributed by NM, 20-Jul-1996.)
     (Proof shortened by Wolf Lammen, 17-Nov-2013.) $)
  anabs7 $p |- ( ( ps /\ ( ph /\ ps ) ) <-> ( ph /\ ps ) ) $=
    ( wa simpr pm4.71ri bicomi ) ABCZBGCGBABDEF $.

  ${
    anabsan.1 $e |- ( ( ( ph /\ ph ) /\ ps ) -> ch ) $.
    $( Absorption of antecedent with conjunction.  (Contributed by NM,
       24-Mar-1996.) $)
    anabsan $p |- ( ( ph /\ ps ) -> ch ) $=
      ( wa pm4.24 sylanb ) AAAEBCAFDG $.
  $}

  ${
    anabss1.1 $e |- ( ( ( ph /\ ps ) /\ ph ) -> ch ) $.
    $( Absorption of antecedent into conjunction.  (Contributed by NM,
       20-Jul-1996.)  (Proof shortened by Wolf Lammen, 31-Dec-2012.) $)
    anabss1 $p |- ( ( ph /\ ps ) -> ch ) $=
      ( an32s anabsan ) ABCABACDEF $.
  $}

  ${
    anabss4.1 $e |- ( ( ( ps /\ ph ) /\ ps ) -> ch ) $.
    $( Absorption of antecedent into conjunction.  (Contributed by NM,
       20-Jul-1996.) $)
    anabss4 $p |- ( ( ph /\ ps ) -> ch ) $=
      ( anabss1 ancoms ) BACBACDEF $.
  $}

  ${
    anabss5.1 $e |- ( ( ph /\ ( ph /\ ps ) ) -> ch ) $.
    $( Absorption of antecedent into conjunction.  (Contributed by NM,
       10-May-1994.)  (Proof shortened by Wolf Lammen, 1-Jan-2013.) $)
    anabss5 $p |- ( ( ph /\ ps ) -> ch ) $=
      ( anassrs anabsan ) ABCAABCDEF $.
  $}

  ${
    anabsi5.1 $e |- ( ph -> ( ( ph /\ ps ) -> ch ) ) $.
    $( Absorption of antecedent into conjunction.  (Contributed by NM,
       11-Jun-1995.)  (Proof shortened by Wolf Lammen, 18-Nov-2013.) $)
    anabsi5 $p |- ( ( ph /\ ps ) -> ch ) $=
      ( wa imp anabss5 ) ABCAABECDFG $.
  $}

  ${
    anabsi6.1 $e |- ( ph -> ( ( ps /\ ph ) -> ch ) ) $.
    $( Absorption of antecedent into conjunction.  (Contributed by NM,
       14-Aug-2000.) $)
    anabsi6 $p |- ( ( ph /\ ps ) -> ch ) $=
      ( ancomsd anabsi5 ) ABCABACDEF $.
  $}

  ${
    anabsi7.1 $e |- ( ps -> ( ( ph /\ ps ) -> ch ) ) $.
    $( Absorption of antecedent into conjunction.  (Contributed by NM,
       20-Jul-1996.)  (Proof shortened by Wolf Lammen, 18-Nov-2013.) $)
    anabsi7 $p |- ( ( ph /\ ps ) -> ch ) $=
      ( anabsi6 ancoms ) BACBACDEF $.
  $}

  ${
    anabsi8.1 $e |- ( ps -> ( ( ps /\ ph ) -> ch ) ) $.
    $( Absorption of antecedent into conjunction.  (Contributed by NM,
       26-Sep-1999.) $)
    anabsi8 $p |- ( ( ph /\ ps ) -> ch ) $=
      ( anabsi5 ancoms ) BACBACDEF $.
  $}

  ${
    anabss7.1 $e |- ( ( ps /\ ( ph /\ ps ) ) -> ch ) $.
    $( Absorption of antecedent into conjunction.  (Contributed by NM,
       20-Jul-1996.)  (Proof shortened by Wolf Lammen, 19-Nov-2013.) $)
    anabss7 $p |- ( ( ph /\ ps ) -> ch ) $=
      ( anassrs anabss4 ) ABCBABCDEF $.
  $}

  ${
    anabsan2.1 $e |- ( ( ph /\ ( ps /\ ps ) ) -> ch ) $.
    $( Absorption of antecedent with conjunction.  (Contributed by NM,
       10-May-2004.) $)
    anabsan2 $p |- ( ( ph /\ ps ) -> ch ) $=
      ( an12s anabss7 ) ABCABBCDEF $.
  $}

  ${
    anabss3.1 $e |- ( ( ( ph /\ ps ) /\ ps ) -> ch ) $.
    $( Absorption of antecedent into conjunction.  (Contributed by NM,
       20-Jul-1996.)  (Proof shortened by Wolf Lammen, 1-Jan-2013.) $)
    anabss3 $p |- ( ( ph /\ ps ) -> ch ) $=
      ( anasss anabsan2 ) ABCABBCDEF $.
  $}

  $( Rearrangement of 4 conjuncts.  (Contributed by NM, 10-Jul-1994.) $)
  an4 $p |- ( ( ( ph /\ ps ) /\ ( ch /\ th ) ) <->
              ( ( ph /\ ch ) /\ ( ps /\ th ) ) ) $=
    ( wa an12 anbi2i anass 3bitr4i ) ABCDEZEZEACBDEZEZEABEJEACELEKMABCDFGABJHAC
    LHI $.

  $( Rearrangement of 4 conjuncts.  (Contributed by NM, 7-Feb-1996.) $)
  an42 $p |- ( ( ( ph /\ ps ) /\ ( ch /\ th ) ) <->
                 ( ( ph /\ ch ) /\ ( th /\ ps ) ) ) $=
    ( wa an4 ancom anbi2i bitri ) ABECDEEACEZBDEZEJDBEZEABCDFKLJBDGHI $.

  ${
    an4s.1 $e |- ( ( ( ph /\ ps ) /\ ( ch /\ th ) ) -> ta ) $.
    $( Inference rearranging 4 conjuncts in antecedent.  (Contributed by NM,
       10-Aug-1995.) $)
    an4s $p |- ( ( ( ph /\ ch ) /\ ( ps /\ th ) ) -> ta ) $=
      ( wa an4 sylbi ) ACGBDGGABGCDGGEACBDHFI $.
  $}

  ${
    an41r3s.1 $e |- ( ( ( ph /\ ps ) /\ ( ch /\ th ) ) -> ta ) $.
    $( Inference rearranging 4 conjuncts in antecedent.  (Contributed by NM,
       10-Aug-1995.) $)
    an42s $p |- ( ( ( ph /\ ch ) /\ ( th /\ ps ) ) -> ta ) $=
      ( wa an4s ancom2s ) ACGBDEABCDEFHI $.
  $}

  $( Distribution of conjunction over conjunction.  (Contributed by NM,
     14-Aug-1995.) $)
  anandi $p |- ( ( ph /\ ( ps /\ ch ) ) <->
               ( ( ph /\ ps ) /\ ( ph /\ ch ) ) ) $=
    ( wa anidm anbi1i an4 bitr3i ) ABCDZDAADZIDABDACDDJAIAEFAABCGH $.

  $( Distribution of conjunction over conjunction.  (Contributed by NM,
     24-Aug-1995.) $)
  anandir $p |- ( ( ( ph /\ ps ) /\ ch ) <->
               ( ( ph /\ ch ) /\ ( ps /\ ch ) ) ) $=
    ( wa anidm anbi2i an4 bitr3i ) ABDZCDICCDZDACDBCDDJCICEFABCCGH $.

  ${
    anandis.1 $e |- ( ( ( ph /\ ps ) /\ ( ph /\ ch ) ) -> ta ) $.
    $( Inference that undistributes conjunction in the antecedent.
       (Contributed by NM, 7-Jun-2004.) $)
    anandis $p |- ( ( ph /\ ( ps /\ ch ) ) -> ta ) $=
      ( wa an4s anabsan ) ABCFDABACDEGH $.
  $}

  ${
    anandirs.1 $e |- ( ( ( ph /\ ch ) /\ ( ps /\ ch ) ) -> ta ) $.
    $( Inference that undistributes conjunction in the antecedent.
       (Contributed by NM, 7-Jun-2004.) $)
    anandirs $p |- ( ( ( ph /\ ps ) /\ ch ) -> ta ) $=
      ( wa an4s anabsan2 ) ABFCDACBCDEGH $.
  $}

  ${
    impbida.1 $e |- ( ( ph /\ ps ) -> ch ) $.
    impbida.2 $e |- ( ( ph /\ ch ) -> ps ) $.
    $( Deduce an equivalence from two implications.  (Contributed by NM,
       17-Feb-2007.) $)
    impbida $p |- ( ph -> ( ps <-> ch ) ) $=
      ( ex impbid ) ABCABCDFACBEFG $.
  $}

  $( Theorem *3.48 of [WhiteheadRussell] p. 114.  (Contributed by NM,
     28-Jan-1997.) $)
  pm3.48 $p |- ( ( ( ph -> ps ) /\ ( ch -> th ) )
      -> ( ( ph \/ ch ) -> ( ps \/ th ) ) ) $=
    ( wi wo orc imim2i olc jaao ) ABEABDFZCDECBKABDGHDKCDBIHJ $.

  $( Theorem *3.45 (Fact) of [WhiteheadRussell] p. 113.  (Contributed by NM,
     3-Jan-2005.) $)
  pm3.45 $p |- ( ( ph -> ps ) -> ( ( ph /\ ch ) -> ( ps /\ ch ) ) ) $=
    ( wi id anim1d ) ABDZABCGEF $.

  ${
    im2an9.1 $e |- ( ph -> ( ps -> ch ) ) $.
    im2an9.2 $e |- ( th -> ( ta -> et ) ) $.
    $( Deduction joining nested implications to form implication of
       conjunctions.  (Contributed by NM, 29-Feb-1996.) $)
    im2anan9 $p |- ( ( ph /\ th ) -> ( ( ps /\ ta ) -> ( ch /\ et ) ) ) $=
      ( wa wi adantr adantl anim12d ) ADIBCEFABCJDGKDEFJAHLM $.

    $( Deduction joining nested implications to form implication of
       conjunctions.  (Contributed by NM, 29-Feb-1996.) $)
    im2anan9r $p |- ( ( th /\ ph ) -> ( ( ps /\ ta ) -> ( ch /\ et ) ) ) $=
      ( wa wi im2anan9 ancoms ) ADBEICFIJABCDEFGHKL $.
  $}

  ${
    anim12dan.1 $e |- ( ( ph /\ ps ) -> ch ) $.
    anim12dan.2 $e |- ( ( ph /\ th ) -> ta ) $.
    $( Conjoin antecedents and consequents in a deduction.  (Contributed by
       Mario Carneiro, 12-May-2014.) $)
    anim12dan $p |- ( ( ph /\ ( ps /\ th ) ) -> ( ch /\ ta ) ) $=
      ( wa ex anim12d imp ) ABDHCEHABCDEABCFIADEGIJK $.
  $}

  ${
    orim12d.1 $e |- ( ph -> ( ps -> ch ) ) $.
    orim12d.2 $e |- ( ph -> ( th -> ta ) ) $.
    $( Disjoin antecedents and consequents in a deduction.  (Contributed by NM,
       10-May-1994.) $)
    orim12d $p |- ( ph -> ( ( ps \/ th ) -> ( ch \/ ta ) ) ) $=
      ( wi wo pm3.48 syl2anc ) ABCHDEHBDICEIHFGBCDEJK $.
  $}

  ${
    orim1d.1 $e |- ( ph -> ( ps -> ch ) ) $.
    $( Disjoin antecedents and consequents in a deduction.  (Contributed by NM,
       23-Apr-1995.) $)
    orim1d $p |- ( ph -> ( ( ps \/ th ) -> ( ch \/ th ) ) ) $=
      ( idd orim12d ) ABCDDEADFG $.

    $( Disjoin antecedents and consequents in a deduction.  (Contributed by NM,
       23-Apr-1995.) $)
    orim2d $p |- ( ph -> ( ( th \/ ps ) -> ( th \/ ch ) ) ) $=
      ( idd orim12d ) ADDBCADFEG $.
  $}

  $( Axiom *1.6 (Sum) of [WhiteheadRussell] p. 97.  (Contributed by NM,
     3-Jan-2005.) $)
  orim2 $p |- ( ( ps -> ch ) -> ( ( ph \/ ps ) -> ( ph \/ ch ) ) ) $=
    ( wi id orim2d ) BCDZBCAGEF $.

  $( Theorem *2.38 of [WhiteheadRussell] p. 105.  (Contributed by NM,
     6-Mar-2008.) $)
  pm2.38 $p |- ( ( ps -> ch ) -> ( ( ps \/ ph ) -> ( ch \/ ph ) ) ) $=
    ( wi id orim1d ) BCDZBCAGEF $.

  $( Theorem *2.36 of [WhiteheadRussell] p. 105.  (Contributed by NM,
     6-Mar-2008.) $)
  pm2.36 $p |- ( ( ps -> ch ) -> ( ( ph \/ ps ) -> ( ch \/ ph ) ) ) $=
    ( wo wi pm1.4 pm2.38 syl5 ) ABDBADBCECADABFABCGH $.

  $( Theorem *2.37 of [WhiteheadRussell] p. 105.  (Contributed by NM,
     6-Mar-2008.) $)
  pm2.37 $p |- ( ( ps -> ch ) -> ( ( ps \/ ph ) -> ( ph \/ ch ) ) ) $=
    ( wi wo pm2.38 pm1.4 syl6 ) BCDBAECAEACEABCFCAGH $.

  $( Theorem *2.73 of [WhiteheadRussell] p. 108.  (Contributed by NM,
     3-Jan-2005.) $)
  pm2.73 $p |- ( ( ph -> ps )
       -> ( ( ( ph \/ ps ) \/ ch ) -> ( ps \/ ch ) ) ) $=
    ( wi wo pm2.621 orim1d ) ABDABEBCABFG $.

  $( Theorem *2.74 of [WhiteheadRussell] p. 108.  (Contributed by NM,
     3-Jan-2005.)  (Proof shortened by Andrew Salmon, 7-May-2011.) $)
  pm2.74 $p |- ( ( ps -> ph )
      -> ( ( ( ph \/ ps ) \/ ch ) -> ( ph \/ ch ) ) ) $=
    ( wi wo orel2 ax-1 ja orim1d ) BADABEZACBAJADBAFAJGHI $.

  $( Disjunction distributes over implication.  (Contributed by Wolf Lammen,
     5-Jan-2013.) $)
  orimdi $p |- ( ( ph \/ ( ps -> ch ) )
        <-> ( ( ph \/ ps ) -> ( ph \/ ch ) ) ) $=
    ( wn wi wo imdi df-or imbi12i 3bitr4i ) ADZBCEZEKBEZKCEZEALFABFZACFZEKBCGAL
    HOMPNABHACHIJ $.

  $( Theorem *2.76 of [WhiteheadRussell] p. 108.  (Contributed by NM,
     3-Jan-2005.) $)
  pm2.76 $p |- ( ( ph \/ ( ps -> ch ) )
      -> ( ( ph \/ ps ) -> ( ph \/ ch ) ) ) $=
    ( wi wo orimdi biimpi ) ABCDEABEACEDABCFG $.

  $( Theorem *2.75 of [WhiteheadRussell] p. 108.  (Contributed by NM,
     3-Jan-2005.)  (Proof shortened by Wolf Lammen, 4-Jan-2013.) $)
  pm2.75 $p |- ( ( ph \/ ps )
       -> ( ( ph \/ ( ps -> ch ) ) -> ( ph \/ ch ) ) ) $=
    ( wi wo pm2.76 com12 ) ABCDEABEACEABCFG $.

  $( Theorem *2.8 of [WhiteheadRussell] p. 108.  (Contributed by NM,
     3-Jan-2005.)  (Proof shortened by Wolf Lammen, 5-Jan-2013.) $)
  pm2.8 $p |- ( ( ph \/ ps ) -> ( ( -. ps \/ ch ) -> ( ph \/ ch ) ) ) $=
    ( wo wn pm2.53 con1d orim1d ) ABDZBEACIABABFGH $.

  $( Theorem *2.81 of [WhiteheadRussell] p. 108.  (Contributed by NM,
     3-Jan-2005.) $)
  pm2.81 $p |- ( ( ps -> ( ch -> th ) )
      -> ( ( ph \/ ps ) -> ( ( ph \/ ch ) -> ( ph \/ th ) ) ) ) $=
    ( wi wo orim2 pm2.76 syl6 ) BCDEZEABFAJFACFADFEABJGACDHI $.

  $( Theorem *2.82 of [WhiteheadRussell] p. 108.  (Contributed by NM,
     3-Jan-2005.) $)
  pm2.82 $p |- ( ( ( ph \/ ps ) \/ ch ) -> ( ( ( ph \/ -. ch ) \/ th )
      -> ( ( ph \/ ps ) \/ th ) ) ) $=
    ( wo wn wi ax-1 pm2.24 orim2d jaoi orim1d ) ABEZCEACFZEZMDMOMGCMOHCNBACBIJK
    L $.

  $( Theorem *2.85 of [WhiteheadRussell] p. 108.  (Contributed by NM,
     3-Jan-2005.)  (Proof shortened by Wolf Lammen, 5-Jan-2013.) $)
  pm2.85 $p |- ( ( ( ph \/ ps ) -> ( ph \/ ch ) )
      -> ( ph \/ ( ps -> ch ) ) ) $=
    ( wi wo orimdi biimpri ) ABCDEABEACEDABCFG $.

  ${
    pm3.2ni.1 $e |- -. ph $.
    pm3.2ni.2 $e |- -. ps $.
    $( Infer negated disjunction of negated premises.  (Contributed by NM,
       4-Apr-1995.) $)
    pm3.2ni $p |- -. ( ph \/ ps ) $=
      ( wo id pm2.21i jaoi mto ) ABEACAABAFBADGHI $.
  $}

  $( Absorption of redundant internal disjunct.  Compare Theorem *4.45 of
     [WhiteheadRussell] p. 119.  (Contributed by NM, 5-Aug-1993.)  (Proof
     shortened by Wolf Lammen, 28-Feb-2014.) $)
  orabs $p |- ( ph <-> ( ( ph \/ ps ) /\ ph ) ) $=
    ( wo orc pm4.71ri ) AABCABDE $.

  $( Absorb a disjunct into a conjunct.  (Contributed by Roy F. Longton,
     23-Jun-2005.)  (Proof shortened by Wolf Lammen, 10-Nov-2013.) $)
  oranabs $p |- ( ( ( ph \/ -. ps ) /\ ps ) <-> ( ph /\ ps ) ) $=
    ( wn wo biortn orcom syl6rbb pm5.32ri ) BABCZDZABAIADJBAEIAFGH $.

  $( Two propositions are equivalent if they are both true.  Theorem *5.1 of
     [WhiteheadRussell] p. 123.  (Contributed by NM, 21-May-1994.) $)
  pm5.1 $p |- ( ( ph /\ ps ) -> ( ph <-> ps ) ) $=
    ( wb pm5.501 biimpa ) ABABCABDE $.

  $( Two propositions are equivalent if they are both false.  Theorem *5.21 of
     [WhiteheadRussell] p. 124.  (Contributed by NM, 21-May-1994.) $)
  pm5.21 $p |- ( ( -. ph /\ -. ps ) -> ( ph <-> ps ) ) $=
    ( wn wb pm5.21im imp ) ACBCABDABEF $.

  $( Theorem *3.43 (Comp) of [WhiteheadRussell] p. 113.  (Contributed by NM,
     3-Jan-2005.) $)
  pm3.43 $p |- ( ( ( ph -> ps ) /\ ( ph -> ch ) )
      -> ( ph -> ( ps /\ ch ) ) ) $=
    ( wi wa pm3.43i imp ) ABDACDABCEDABCFG $.

  $( Distributive law for implication over conjunction.  Compare Theorem *4.76
     of [WhiteheadRussell] p. 121.  (Contributed by NM, 3-Apr-1994.)  (Proof
     shortened by Wolf Lammen, 27-Nov-2013.) $)
  jcab $p |- ( ( ph -> ( ps /\ ch ) )
      <-> ( ( ph -> ps ) /\ ( ph -> ch ) ) ) $=
    ( wa wi simpl imim2i simpr jca pm3.43 impbii ) ABCDZEZABEZACEZDMNOLBABCFGLC
    ABCHGIABCJK $.

  $( Distributive law for disjunction.  Theorem *4.41 of [WhiteheadRussell]
     p. 119.  (Contributed by NM, 5-Aug-1993.)  (Proof shortened by Andrew
     Salmon, 7-May-2011.)  (Proof shortened by Wolf Lammen, 28-Nov-2013.) $)
  ordi $p |- ( ( ph \/ ( ps /\ ch ) ) <-> ( ( ph \/ ps ) /\ ( ph \/ ch ) ) ) $=
    ( wn wa wi wo jcab df-or anbi12i 3bitr4i ) ADZBCEZFLBFZLCFZEAMGABGZACGZELBC
    HAMIPNQOABIACIJK $.

  $( Distributive law for disjunction.  (Contributed by NM, 12-Aug-1994.) $)
  ordir $p |- ( ( ( ph /\ ps ) \/ ch ) <->
              ( ( ph \/ ch ) /\ ( ps \/ ch ) ) ) $=
    ( wa wo ordi orcom anbi12i 3bitr4i ) CABDZECAEZCBEZDJCEACEZBCEZDCABFJCGMKNL
    ACGBCGHI $.

  $( Theorem *4.76 of [WhiteheadRussell] p. 121.  (Contributed by NM,
     3-Jan-2005.) $)
  pm4.76 $p |- ( ( ( ph -> ps ) /\ ( ph -> ch ) ) <->
                ( ph -> ( ps /\ ch ) ) ) $=
    ( wa wi jcab bicomi ) ABCDEABEACEDABCFG $.

  $( Distributive law for conjunction.  Theorem *4.4 of [WhiteheadRussell]
     p. 118.  (Contributed by NM, 5-Aug-1993.)  (Proof shortened by Wolf
     Lammen, 5-Jan-2013.) $)
  andi $p |- ( ( ph /\ ( ps \/ ch ) ) <-> ( ( ph /\ ps ) \/ ( ph /\ ch ) ) ) $=
    ( wo wa orc olc jaodan anim2i jaoi impbii ) ABCDZEZABEZACEZDZABPCNOFONGHNMO
    BLABCFICLACBGIJK $.

  $( Distributive law for conjunction.  (Contributed by NM, 12-Aug-1994.) $)
  andir $p |- ( ( ( ph \/ ps ) /\ ch ) <->
              ( ( ph /\ ch ) \/ ( ps /\ ch ) ) ) $=
    ( wo wa andi ancom orbi12i 3bitr4i ) CABDZECAEZCBEZDJCEACEZBCEZDCABFJCGMKNL
    ACGBCGHI $.

  $( Double distributive law for disjunction.  (Contributed by NM,
     12-Aug-1994.) $)
  orddi $p |- ( ( ( ph /\ ps ) \/ ( ch /\ th ) ) <->
              ( ( ( ph \/ ch ) /\ ( ph \/ th ) ) /\
              ( ( ps \/ ch ) /\ ( ps \/ th ) ) ) ) $=
    ( wa wo ordir ordi anbi12i bitri ) ABECDEZFAKFZBKFZEACFADFEZBCFBDFEZEABKGLN
    MOACDHBCDHIJ $.

  $( Double distributive law for conjunction.  (Contributed by NM,
     12-Aug-1994.) $)
  anddi $p |- ( ( ( ph \/ ps ) /\ ( ch \/ th ) ) <->
              ( ( ( ph /\ ch ) \/ ( ph /\ th ) ) \/
              ( ( ps /\ ch ) \/ ( ps /\ th ) ) ) ) $=
    ( wo wa andir andi orbi12i bitri ) ABECDEZFAKFZBKFZEACFADFEZBCFBDFEZEABKGLN
    MOACDHBCDHIJ $.

  $( Prove formula-building rules for the biconditional connective. $)

  $( Theorem *4.39 of [WhiteheadRussell] p. 118.  (Contributed by NM,
     3-Jan-2005.) $)
  pm4.39 $p |- ( ( ( ph <-> ch ) /\ ( ps <-> th ) ) ->
                ( ( ph \/ ps ) <-> ( ch \/ th ) ) ) $=
    ( wb wa simpl simpr orbi12d ) ACEZBDEZFACBDJKGJKHI $.

  $( Theorem *4.38 of [WhiteheadRussell] p. 118.  (Contributed by NM,
     3-Jan-2005.) $)
  pm4.38 $p |- ( ( ( ph <-> ch ) /\ ( ps <-> th ) ) ->
                ( ( ph /\ ps ) <-> ( ch /\ th ) ) ) $=
    ( wb wa simpl simpr anbi12d ) ACEZBDEZFACBDJKGJKHI $.

  ${
    bi2an9.1 $e |- ( ph -> ( ps <-> ch ) ) $.
    bi2an9.2 $e |- ( th -> ( ta <-> et ) ) $.
    $( Deduction joining two equivalences to form equivalence of conjunctions.
       (Contributed by NM, 31-Jul-1995.) $)
    bi2anan9 $p |- ( ( ph /\ th ) -> ( ( ps /\ ta ) <-> ( ch /\ et ) ) ) $=
      ( wa anbi1d anbi2d sylan9bb ) ABEICEIDCFIABCEGJDEFCHKL $.

    $( Deduction joining two equivalences to form equivalence of conjunctions.
       (Contributed by NM, 19-Feb-1996.) $)
    bi2anan9r $p |- ( ( th /\ ph ) -> ( ( ps /\ ta ) <-> ( ch /\ et ) ) ) $=
      ( wa wb bi2anan9 ancoms ) ADBEICFIJABCDEFGHKL $.

    $( Deduction joining two biconditionals with different antecedents.
       (Contributed by NM, 12-May-2004.) $)
    bi2bian9 $p |- ( ( ph /\ th ) -> ( ( ps <-> ta ) <-> ( ch <-> et ) ) ) $=
      ( wa wb adantr adantl bibi12d ) ADIBCEFABCJDGKDEFJAHLM $.
  $}

  $( Implication in terms of biconditional and disjunction.  Theorem *4.72 of
     [WhiteheadRussell] p. 121.  (Contributed by NM, 30-Aug-1993.)  (Proof
     shortened by Wolf Lammen, 30-Jan-2013.) $)
  pm4.72 $p |- ( ( ph -> ps ) <-> ( ps <-> ( ph \/ ps ) ) ) $=
    ( wi wo wb olc pm2.621 impbid2 orc bi2 syl5 impbii ) ABCZBABDZEZMBNBAFABGHA
    NOBABIBNJKL $.

  $( Simplify an implication between implications.  (Contributed by Paul
     Chapman, 17-Nov-2012.)  (Proof shortened by Wolf Lammen, 3-Apr-2013.) $)
  imimorb $p |- ( ( ( ps -> ch ) -> ( ph -> ch ) ) <->
                  ( ph -> ( ps \/ ch ) ) ) $=
    ( wi wo bi2.04 dfor2 imbi2i bitr4i ) BCDZACDDAJCDZDABCEZDJACFLKABCGHI $.

  $( Theorem *5.33 of [WhiteheadRussell] p. 125.  (Contributed by NM,
     3-Jan-2005.) $)
  pm5.33 $p |- ( ( ph /\ ( ps -> ch ) ) <->
                ( ph /\ ( ( ph /\ ps ) -> ch ) ) ) $=
    ( wi wa ibar imbi1d pm5.32i ) ABCDABEZCDABICABFGH $.

  $( Theorem *5.36 of [WhiteheadRussell] p. 125.  (Contributed by NM,
     3-Jan-2005.) $)
  pm5.36 $p |- ( ( ph /\ ( ph <-> ps ) ) <-> ( ps /\ ( ph <-> ps ) ) ) $=
    ( wb id pm5.32ri ) ABCZABFDE $.

  ${
    bianabs.1 $e |- ( ph -> ( ps <-> ( ph /\ ch ) ) ) $.
    $( Absorb a hypothesis into the second member of a biconditional.
       (Contributed by FL, 15-Feb-2007.) $)
    bianabs $p |- ( ph -> ( ps <-> ch ) ) $=
      ( wa ibar bitr4d ) ABACECDACFG $.
  $}

  $( Absorption of disjunction into equivalence.  (Contributed by NM,
     6-Aug-1995.)  (Proof shortened by Wolf Lammen, 3-Nov-2013.) $)
  oibabs $p |- ( ( ( ph \/ ps ) -> ( ph <-> ps ) ) <-> ( ph <-> ps ) ) $=
    ( wo wb wi wn wa ioran pm5.21 sylbi id ja ax-1 impbii ) ABCZABDZEPOPPOFAFBF
    GPABHABIJPKLPOMN $.

  $( Law of noncontradiction.  Theorem *3.24 of [WhiteheadRussell] p. 111 (who
     call it the "law of contradiction").  (Contributed by NM, 16-Sep-1993.)
     (Proof shortened by Wolf Lammen, 24-Nov-2012.) $)
  pm3.24 $p |- -. ( ph /\ -. ph ) $=
    ( wi wn wa id iman mpbi ) AABAACDCAEAAFG $.

  $( Theorem *2.26 of [WhiteheadRussell] p. 104.  (Contributed by NM,
     3-Jan-2005.)  (Proof shortened by Wolf Lammen, 23-Nov-2012.) $)
  pm2.26 $p |- ( -. ph \/ ( ( ph -> ps ) -> ps ) ) $=
    ( wi pm2.27 imori ) AABCBCABDE $.

  $( Theorem *5.11 of [WhiteheadRussell] p. 123.  (Contributed by NM,
     3-Jan-2005.) $)
  pm5.11 $p |- ( ( ph -> ps ) \/ ( -. ph -> ps ) ) $=
    ( wi wn pm2.5 orri ) ABCADBCABEF $.

  $( Theorem *5.12 of [WhiteheadRussell] p. 123.  (Contributed by NM,
     3-Jan-2005.) $)
  pm5.12 $p |- ( ( ph -> ps ) \/ ( ph -> -. ps ) ) $=
    ( wi wn pm2.51 orri ) ABCABDCABEF $.

  $( Theorem *5.14 of [WhiteheadRussell] p. 123.  (Contributed by NM,
     3-Jan-2005.) $)
  pm5.14 $p |- ( ( ph -> ps ) \/ ( ps -> ch ) ) $=
    ( wi wn ax-1 con3i pm2.21d orri ) ABDZBCDJEBCBJBAFGHI $.

  $( Theorem *5.13 of [WhiteheadRussell] p. 123.  (Contributed by NM,
     3-Jan-2005.)  (Proof shortened by Wolf Lammen, 14-Nov-2012.) $)
  pm5.13 $p |- ( ( ph -> ps ) \/ ( ps -> ph ) ) $=
    ( pm5.14 ) ABAC $.

  $( Theorem *5.17 of [WhiteheadRussell] p. 124.  (Contributed by NM,
     3-Jan-2005.)  (Proof shortened by Wolf Lammen, 3-Jan-2013.) $)
  pm5.17 $p |- ( ( ( ph \/ ps ) /\ -. ( ph /\ ps ) ) <-> ( ph <-> -. ps ) ) $=
    ( wn wb wi wa wo bicom dfbi2 orcom df-or bitr2i imnan anbi12i 3bitrri ) ABC
    ZDPADPAEZAPEZFABGZABFCZFAPHPAIQSRTSBAGQABJBAKLABMNO $.

  $( Theorem *5.15 of [WhiteheadRussell] p. 124.  (Contributed by NM,
     3-Jan-2005.)  (Proof shortened by Wolf Lammen, 15-Oct-2013.) $)
  pm5.15 $p |- ( ( ph <-> ps ) \/ ( ph <-> -. ps ) ) $=
    ( wb wn xor3 biimpi orri ) ABCZABDCZHDIABEFG $.

  $( Theorem *5.16 of [WhiteheadRussell] p. 124.  (Contributed by NM,
     3-Jan-2005.)  (Proof shortened by Wolf Lammen, 17-Oct-2013.) $)
  pm5.16 $p |- -. ( ( ph <-> ps ) /\ ( ph <-> -. ps ) ) $=
    ( wb wn wi wa pm5.18 biimpi imnan mpbi ) ABCZABDCZDZEKLFDKMABGHKLIJ $.

  $( Two ways to express "exclusive or."  Theorem *5.22 of [WhiteheadRussell]
     p. 124.  (Contributed by NM, 3-Jan-2005.)  (Proof shortened by Wolf
     Lammen, 22-Jan-2013.) $)
  xor $p |- ( -. ( ph <-> ps ) <->
                ( ( ph /\ -. ps ) \/ ( ps /\ -. ph ) ) ) $=
    ( wn wa wo wb wi iman anbi12i dfbi2 ioran 3bitr4ri con1bii ) ABCDZBACDZEZAB
    FZABGZBAGZDNCZOCZDQPCRTSUAABHBAHIABJNOKLM $.

  $( Two ways to express "exclusive or."  (Contributed by NM, 3-Jan-2005.)
     (Proof shortened by Wolf Lammen, 24-Jan-2013.) $)
  nbi2 $p |- ( -. ( ph <-> ps ) <-> ( ( ph \/ ps ) /\ -. ( ph /\ ps ) ) ) $=
    ( wb wn wo wa xor3 pm5.17 bitr4i ) ABCDABDCABEABFDFABGABHI $.

  $( An alternate definition of the biconditional.  Theorem *5.23 of
     [WhiteheadRussell] p. 124.  (Contributed by NM, 27-Jun-2002.)  (Proof
     shortened by Wolf Lammen, 3-Nov-2013.) $)
  dfbi3 $p |- ( ( ph <-> ps ) <-> ( ( ph /\ ps ) \/ ( -. ph /\ -. ps ) ) ) $=
    ( wn wb wa wo xor pm5.18 notnot anbi2i ancom orbi12i 3bitr4i ) ABCZDCANCZEZ
    NACZEZFABDABEZQNEZFANGABHSPTRBOABIJQNKLM $.

  $( Theorem *5.24 of [WhiteheadRussell] p. 124.  (Contributed by NM,
     3-Jan-2005.) $)
  pm5.24 $p |- ( -. ( ( ph /\ ps ) \/ ( -. ph /\ -. ps ) ) <->
                ( ( ph /\ -. ps ) \/ ( ps /\ -. ph ) ) ) $=
    ( wb wn wa wo xor dfbi3 xchnxbi ) ABCABDZEBADZEFABEKJEFABGABHI $.

  $( Conjunction distributes over exclusive-or, using ` -. ( ph <-> ps ) ` to
     express exclusive-or.  This is one way to interpret the distributive law
     of multiplication over addition in modulo 2 arithmetic.  (Contributed by
     NM, 3-Oct-2008.) $)
  xordi $p |- ( ( ph /\ -. ( ps <-> ch ) ) <->
                -. ( ( ph /\ ps ) <-> ( ph /\ ch ) ) ) $=
    ( wb wn wa wi annim pm5.32 xchbinx ) ABCDZEFAKGABFACFDAKHABCIJ $.

  $( A wff disjoined with truth is true.  (Contributed by NM, 23-May-1999.) $)
  biort $p |- ( ph -> ( ph <-> ( ph \/ ps ) ) ) $=
    ( wo orc ax-1 impbid2 ) AAABCZABDAGEF $.

  $( Theorem *5.55 of [WhiteheadRussell] p. 125.  (Contributed by NM,
     3-Jan-2005.)  (Proof shortened by Wolf Lammen, 20-Jan-2013.) $)
  pm5.55 $p |- ( ( ( ph \/ ps ) <-> ph ) \/ ( ( ph \/ ps ) <-> ps ) ) $=
    ( wo wb biort bicomd wn biorf nsyl4 con1i orri ) ABCZADZLBDZNMAMNAALABEFAGB
    LABHFIJK $.

$(
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
        Miscellaneous theorems of propositional calculus
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
$)

  ${
    pm5.21nd.1 $e |- ( ( ph /\ ps ) -> th ) $.
    pm5.21nd.2 $e |- ( ( ph /\ ch ) -> th ) $.
    pm5.21nd.3 $e |- ( th -> ( ps <-> ch ) ) $.
    $( Eliminate an antecedent implied by each side of a biconditional.
       (Contributed by NM, 20-Nov-2005.)  (Proof shortened by Wolf Lammen,
       4-Nov-2013.) $)
    pm5.21nd $p |- ( ph -> ( ps <-> ch ) ) $=
      ( ex wb wi a1i pm5.21ndd ) ADBCABDEHACDFHDBCIJAGKL $.
  $}

  $( Theorem *5.35 of [WhiteheadRussell] p. 125.  (Contributed by NM,
     3-Jan-2005.) $)
  pm5.35 $p |- ( ( ( ph -> ps ) /\ ( ph -> ch ) ) ->
                ( ph -> ( ps <-> ch ) ) ) $=
    ( wi wa pm5.1 pm5.74rd ) ABDZACDZEABCHIFG $.

  $( Theorem *5.54 of [WhiteheadRussell] p. 125.  (Contributed by NM,
     3-Jan-2005.)  (Proof shortened by Wolf Lammen, 7-Nov-2013.) $)
  pm5.54 $p |- ( ( ( ph /\ ps ) <-> ph ) \/ ( ( ph /\ ps ) <-> ps ) ) $=
    ( wa wb iba bicomd adantl pm5.21ni orri ) ABCZADZJBDJKBBKABAJBAEFZGLHI $.

  ${
    baib.1 $e |- ( ph <-> ( ps /\ ch ) ) $.
    $( Move conjunction outside of biconditional.  (Contributed by NM,
       13-May-1999.) $)
    baib $p |- ( ps -> ( ph <-> ch ) ) $=
      ( wa ibar syl6rbbr ) BCBCEABCFDG $.

    $( Move conjunction outside of biconditional.  (Contributed by NM,
       11-Jul-1994.) $)
    baibr $p |- ( ps -> ( ch <-> ph ) ) $=
      ( baib bicomd ) BACABCDEF $.

    $( Move conjunction outside of biconditional.  (Contributed by Mario
       Carneiro, 11-Sep-2015.) $)
    rbaib $p |- ( ch -> ( ph <-> ps ) ) $=
      ( wa ancom bitri baib ) ACBABCECBEDBCFGH $.

    $( Move conjunction outside of biconditional.  (Contributed by Mario
       Carneiro, 11-Sep-2015.) $)
    rbaibr $p |- ( ch -> ( ps <-> ph ) ) $=
      ( wa ancom bitri baibr ) ACBABCECBEDBCFGH $.
  $}

  ${
    baibd.1 $e |- ( ph -> ( ps <-> ( ch /\ th ) ) ) $.
    $( Move conjunction outside of biconditional.  (Contributed by Mario
       Carneiro, 11-Sep-2015.) $)
    baibd $p |- ( ( ph /\ ch ) -> ( ps <-> th ) ) $=
      ( wa ibar bicomd sylan9bb ) ABCDFZCDECDJCDGHI $.

    $( Move conjunction outside of biconditional.  (Contributed by Mario
       Carneiro, 11-Sep-2015.) $)
    rbaibd $p |- ( ( ph /\ th ) -> ( ps <-> ch ) ) $=
      ( wa iba bicomd sylan9bb ) ABCDFZDCEDCJDCGHI $.
  $}

  $( Theorem *5.44 of [WhiteheadRussell] p. 125.  (Contributed by NM,
     3-Jan-2005.) $)
  pm5.44 $p |- ( ( ph -> ps ) -> ( ( ph -> ch ) <->
                ( ph -> ( ps /\ ch ) ) ) ) $=
    ( wa wi jcab baibr ) ABCDEABEACEABCFG $.

  $( Conjunction in antecedent versus disjunction in consequent.  Theorem *5.6
     of [WhiteheadRussell] p. 125.  (Contributed by NM, 8-Jun-1994.) $)
  pm5.6 $p |- ( ( ( ph /\ -. ps ) -> ch ) <-> ( ph -> ( ps \/ ch ) ) ) $=
    ( wn wa wi wo impexp df-or imbi2i bitr4i ) ABDZECFALCFZFABCGZFALCHNMABCIJK
    $.

  ${
    orcanai.1 $e |- ( ph -> ( ps \/ ch ) ) $.
    $( Change disjunction in consequent to conjunction in antecedent.
       (Contributed by NM, 8-Jun-1994.) $)
    orcanai $p |- ( ( ph /\ -. ps ) -> ch ) $=
      ( wn ord imp ) ABECABCDFG $.
  $}

  ${
    intnan.1 $e |- -. ph $.
    $( Introduction of conjunct inside of a contradiction.  (Contributed by NM,
       16-Sep-1993.) $)
    intnan $p |- -. ( ps /\ ph ) $=
      ( wa simpr mto ) BADACBAEF $.

    $( Introduction of conjunct inside of a contradiction.  (Contributed by NM,
       3-Apr-1995.) $)
    intnanr $p |- -. ( ph /\ ps ) $=
      ( wa simpl mto ) ABDACABEF $.
  $}

  ${
    intnand.1 $e |- ( ph -> -. ps ) $.
    $( Introduction of conjunct inside of a contradiction.  (Contributed by NM,
       10-Jul-2005.) $)
    intnand $p |- ( ph -> -. ( ch /\ ps ) ) $=
      ( wa simpr nsyl ) ABCBEDCBFG $.

    $( Introduction of conjunct inside of a contradiction.  (Contributed by NM,
       10-Jul-2005.) $)
    intnanrd $p |- ( ph -> -. ( ps /\ ch ) ) $=
      ( wa simpl nsyl ) ABBCEDBCFG $.
  $}

  ${
    mpbiran.1 $e |- ps $.
    mpbiran.2 $e |- ( ph <-> ( ps /\ ch ) ) $.
    $( Detach truth from conjunction in biconditional.  (Contributed by NM,
       27-Feb-1996.) $)
    mpbiran $p |- ( ph <-> ch ) $=
      ( wa biantrur bitr4i ) ABCFCEBCDGH $.
  $}

  ${
    mpbiran2.1 $e |- ch $.
    mpbiran2.2 $e |- ( ph <-> ( ps /\ ch ) ) $.
    $( Detach truth from conjunction in biconditional.  (Contributed by NM,
       22-Feb-1996.) $)
    mpbiran2 $p |- ( ph <-> ps ) $=
      ( wa biantru bitr4i ) ABCFBECBDGH $.
  $}

  ${
    mpbir2an.1 $e |- ps $.
    mpbir2an.2 $e |- ch $.
    mpbiran2an.1 $e |- ( ph <-> ( ps /\ ch ) ) $.
    $( Detach a conjunction of truths in a biconditional.  (Contributed by NM,
       10-May-2005.) $)
    mpbir2an $p |- ph $=
      ( mpbiran mpbir ) ACEABCDFGH $.
  $}

  ${
    mpbi2and.1 $e |- ( ph -> ps ) $.
    mpbi2and.2 $e |- ( ph -> ch ) $.
    mpbi2and.3 $e |- ( ph -> ( ( ps /\ ch ) <-> th ) ) $.
    $( Detach a conjunction of truths in a biconditional.  (Contributed by NM,
       6-Nov-2011.)  (Proof shortened by Wolf Lammen, 24-Nov-2012.) $)
    mpbi2and $p |- ( ph -> th ) $=
      ( wa jca mpbid ) ABCHDABCEFIGJ $.
  $}

  ${
    mpbir2and.1 $e |- ( ph -> ch ) $.
    mpbir2and.2 $e |- ( ph -> th ) $.
    mpbir2and.3 $e |- ( ph -> ( ps <-> ( ch /\ th ) ) ) $.
    $( Detach a conjunction of truths in a biconditional.  (Contributed by NM,
       6-Nov-2011.)  (Proof shortened by Wolf Lammen, 24-Nov-2012.) $)
    mpbir2and $p |- ( ph -> ps ) $=
      ( wa jca mpbird ) ABCDHACDEFIGJ $.
  $}

  $( Theorem *5.62 of [WhiteheadRussell] p. 125.  (Contributed by Roy F.
     Longton, 21-Jun-2005.) $)
  pm5.62 $p |- ( ( ( ph /\ ps ) \/ -. ps ) <-> ( ph \/ -. ps ) ) $=
    ( wa wn wo exmid ordir mpbiran2 ) ABCBDZEAIEBIEBFABIGH $.

  $( Theorem *5.63 of [WhiteheadRussell] p. 125.  (Contributed by NM,
     3-Jan-2005.)  (Proof shortened by Wolf Lammen, 25-Dec-2012.) $)
  pm5.63 $p |- ( ( ph \/ ps ) <-> ( ph \/ ( -. ph /\ ps ) ) ) $=
    ( wn wa wo exmid ordi mpbiran bicomi ) AACZBDEZABEZKAJELAFAJBGHI $.

  ${
    bianfi.1 $e |- -. ph $.
    $( A wff conjoined with falsehood is false.  (Contributed by NM,
       5-Aug-1993.)  (Proof shortened by Wolf Lammen, 26-Nov-2012.) $)
    bianfi $p |- ( ph <-> ( ps /\ ph ) ) $=
      ( wa intnan 2false ) ABADCABCEF $.
  $}

  ${
    bianfd.1 $e |- ( ph -> -. ps ) $.
    $( A wff conjoined with falsehood is false.  (Contributed by NM,
       27-Mar-1995.)  (Proof shortened by Wolf Lammen, 5-Nov-2013.) $)
    bianfd $p |- ( ph -> ( ps <-> ( ps /\ ch ) ) ) $=
      ( wa intnanrd 2falsed ) ABBCEDABCDFG $.
  $}

  $( Theorem *4.43 of [WhiteheadRussell] p. 119.  (Contributed by NM,
     3-Jan-2005.)  (Proof shortened by Wolf Lammen, 26-Nov-2012.) $)
  pm4.43 $p |- ( ph <-> ( ( ph \/ ps ) /\ ( ph \/ -. ps ) ) ) $=
    ( wn wa wo pm3.24 biorfi ordi bitri ) AABBCZDZEABEAJEDKABFGABJHI $.

  $( Theorem *4.82 of [WhiteheadRussell] p. 122.  (Contributed by NM,
     3-Jan-2005.) $)
  pm4.82 $p |- ( ( ( ph -> ps ) /\ ( ph -> -. ps ) ) <-> -. ph ) $=
    ( wi wn wa pm2.65 imp pm2.21 jca impbii ) ABCZABDZCZEADZKMNABFGNKMABHALHIJ
    $.

  $( Theorem *4.83 of [WhiteheadRussell] p. 122.  (Contributed by NM,
     3-Jan-2005.) $)
  pm4.83 $p |- ( ( ( ph -> ps ) /\ ( -. ph -> ps ) ) <-> ps ) $=
    ( wn wo wi wa exmid a1bi jaob bitr2i ) BAACZDZBEABEKBEFLBAGHABKIJ $.

  $( Negation inferred from embedded conjunct.  (Contributed by NM,
     20-Aug-1993.)  (Proof shortened by Wolf Lammen, 25-Nov-2012.) $)
  pclem6 $p |- ( ( ph <-> ( ps /\ -. ph ) ) -> -. ps ) $=
    ( wn wa wb ibar nbbn sylib con2i ) BABACZDZEZBJKELCBJFAKGHI $.

  $( A transitive law of equivalence.  Compare Theorem *4.22 of
     [WhiteheadRussell] p. 117.  (Contributed by NM, 18-Aug-1993.) $)
  biantr $p |- ( ( ( ph <-> ps ) /\ ( ch <-> ps ) ) -> ( ph <-> ch ) ) $=
    ( wb id bibi2d biimparc ) CBDZACDABDHCBAHEFG $.

  $( Disjunction distributes over the biconditional.  An axiom of system DS in
     Vladimir Lifschitz, "On calculational proofs" (1998),
     ~ http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.25.3384 .
     (Contributed by NM, 8-Jan-2005.)  (Proof shortened by Wolf Lammen,
     4-Feb-2013.) $)
  orbidi $p |- ( ( ph \/ ( ps <-> ch ) ) <->
                ( ( ph \/ ps ) <-> ( ph \/ ch ) ) ) $=
    ( wn wb wi wo pm5.74 df-or bibi12i 3bitr4i ) ADZBCEZFLBFZLCFZEAMGABGZACGZEL
    BCHAMIPNQOABIACIJK $.

  $( Lukasiewicz's shortest axiom for equivalential calculus.  Storrs McCall,
     ed., _Polish Logic 1920-1939_ (Oxford, 1967), p. 96.  (Contributed by NM,
     10-Jan-2005.) $)
  biluk $p |- ( ( ph <-> ps ) <-> ( ( ch <-> ps ) <-> ( ph <-> ch ) ) ) $=
    ( wb bicom bibi1i biass bitri mpbi bitr4i ) ABDZCBACDZDZDZCBDLDKCDZMDKNDOBA
    DZCDMKPCABEFBACGHKCMGICBLGJ $.

  $( Disjunction distributes over the biconditional.  Theorem *5.7 of
     [WhiteheadRussell] p. 125.  This theorem is similar to ~ orbidi .
     (Contributed by Roy F. Longton, 21-Jun-2005.) $)
  pm5.7 $p |- ( ( ( ph \/ ch ) <-> ( ps \/ ch ) ) <->
               ( ch \/ ( ph <-> ps ) ) ) $=
    ( wb wo orbidi orcom bibi12i bitr2i ) CABDECAEZCBEZDACEZBCEZDCABFJLKMCAGCBG
    HI $.

  $( Dijkstra-Scholten's Golden Rule for calculational proofs.  (Contributed by
     NM, 10-Jan-2005.) $)
  bigolden $p |- ( ( ( ph /\ ps ) <-> ph ) <-> ( ps <-> ( ph \/ ps ) ) ) $=
    ( wi wa wb wo pm4.71 pm4.72 bicom 3bitr3ri ) ABCAABDZEBABFEKAEABGABHAKIJ $.

  $( Theorem *5.71 of [WhiteheadRussell] p. 125.  (Contributed by Roy F.
     Longton, 23-Jun-2005.) $)
  pm5.71 $p |- ( ( ps -> -. ch ) -> ( ( ( ph \/ ps ) /\ ch ) <->
                ( ph /\ ch ) ) ) $=
    ( wn wo wa wb orel2 orc impbid1 anbi1d pm2.21 pm5.32rd ja ) BCDZABEZCFACFGB
    DZPACQPABAHABIJKOCPACPAGLMN $.

  $( Theorem *5.75 of [WhiteheadRussell] p. 126.  (Contributed by NM,
     3-Jan-2005.)  (Proof shortened by Andrew Salmon, 7-May-2011.)  (Proof
     shortened by Wolf Lammen, 23-Dec-2012.) $)
  pm5.75 $p |- ( ( ( ch -> -. ps ) /\ ( ph <-> ( ps \/ ch ) ) ) ->
                ( ( ph /\ -. ps ) <-> ch ) ) $=
    ( wo wb wn wa wi anbi1 anbi1i pm5.61 syl6bb pm4.71 biimpi bicomd sylan9bbr
    orcom bitri ) ABCDZEZABFZGZCUAGZCUAHZCTUBSUAGZUCASUAIUECBDZUAGUCSUFUABCQJCB
    KRLUDCUCUDCUCECUAMNOP $.

  $( Removal of conjunct from one side of an equivalence.  (Contributed by NM,
     5-Aug-1993.) $)
  bimsc1 $p |- ( ( ( ph -> ps ) /\ ( ch <-> ( ps /\ ph ) ) )
               -> ( ch <-> ph ) ) $=
    ( wi wa wb simpr ancr impbid2 bibi2d biimpa ) ABDZCBAEZFCAFLMACLMABAGABHIJK
    $.

  $( The disjunction of the four possible combinations of two wffs and their
     negations is always true.  (Contributed by David Abernethy,
     28-Jan-2014.) $)
  4exmid $p |- ( ( ( ph /\ ps ) \/ ( -. ph /\ -. ps ) )
              \/ ( ( ph /\ -. ps ) \/ ( ps /\ -. ph ) ) ) $=
    ( wb wn wo wa exmid dfbi3 xor orbi12i mpbi ) ABCZLDZEABFADZBDZFEZAOFBNFEZEL
    GLPMQABHABIJK $.

  ${
    ecase2d.1 $e |- ( ph -> ps ) $.
    ecase2d.2 $e |- ( ph -> -. ( ps /\ ch ) ) $.
    ecase2d.3 $e |- ( ph -> -. ( ps /\ th ) ) $.
    ecase2d.4 $e |- ( ph -> ( ta \/ ( ch \/ th ) ) ) $.
    $( Deduction for elimination by cases.  (Contributed by NM, 21-Apr-1994.)
       (Proof shortened by Wolf Lammen, 22-Dec-2012.) $)
    ecase2d $p |- ( ph -> ta ) $=
      ( wo idd wa pm2.21d mpand jaod mpjaod ) AEECDJAEKACEDABCEFABCLEGMNABDEFAB
      DLEHMNOIP $.
  $}

  ${
    ecase3.1 $e |- ( ph -> ch ) $.
    ecase3.2 $e |- ( ps -> ch ) $.
    ecase3.3 $e |- ( -. ( ph \/ ps ) -> ch ) $.
    $( Inference for elimination by cases.  (Contributed by NM, 23-Mar-1995.)
       (Proof shortened by Wolf Lammen, 26-Nov-2012.) $)
    ecase3 $p |- ch $=
      ( wo jaoi pm2.61i ) ABGCACBDEHFI $.
  $}

  ${
    ecase.1 $e |- ( -. ph -> ch ) $.
    ecase.2 $e |- ( -. ps -> ch ) $.
    ecase.3 $e |- ( ( ph /\ ps ) -> ch ) $.
    $( Inference for elimination by cases.  (Contributed by NM,
       13-Jul-2005.) $)
    ecase $p |- ch $=
      ( ex pm2.61nii ) ABCABCFGDEH $.
  $}

  ${
    ecase3d.1 $e |- ( ph -> ( ps -> th ) ) $.
    ecase3d.2 $e |- ( ph -> ( ch -> th ) ) $.
    ecase3d.3 $e |- ( ph -> ( -. ( ps \/ ch ) -> th ) ) $.
    $( Deduction for elimination by cases.  (Contributed by NM, 2-May-1996.)
       (Proof shortened by Andrew Salmon, 7-May-2011.) $)
    ecase3d $p |- ( ph -> th ) $=
      ( wo jaod pm2.61d ) ABCHDABDCEFIGJ $.
  $}

  ${
    ecased.1 $e |- ( ph -> ( -. ps -> th ) ) $.
    ecased.2 $e |- ( ph -> ( -. ch -> th ) ) $.
    ecased.3 $e |- ( ph -> ( ( ps /\ ch ) -> th ) ) $.
    $( Deduction for elimination by cases.  (Contributed by NM, 8-Oct-2012.) $)
    ecased $p |- ( ph -> th ) $=
      ( wn wo wa pm3.11 syl5 ecase3d ) ABHZCHZDEFNOIHBCJADBCKGLM $.
  $}

  ${
    ecase3ad.1 $e |- ( ph -> ( ps -> th ) ) $.
    ecase3ad.2 $e |- ( ph -> ( ch -> th ) ) $.
    ecase3ad.3 $e |- ( ph -> ( ( -. ps /\ -. ch ) -> th ) ) $.
    $( Deduction for elimination by cases.  (Contributed by NM,
       24-May-2013.) $)
    ecase3ad $p |- ( ph -> th ) $=
      ( wn notnot2 syl5 ecased ) ABHZCHZDLHBADBIEJMHCADCIFJGK $.
  $}

  ${
    ccase.1 $e |- ( ( ph /\ ps ) -> ta ) $.
    ccase.2 $e |- ( ( ch /\ ps ) -> ta ) $.
    ccase.3 $e |- ( ( ph /\ th ) -> ta ) $.
    ccase.4 $e |- ( ( ch /\ th ) -> ta ) $.
    $( Inference for combining cases.  (Contributed by NM, 29-Jul-1999.)
       (Proof shortened by Wolf Lammen, 6-Jan-2013.) $)
    ccase $p |- ( ( ( ph \/ ch ) /\ ( ps \/ th ) ) -> ta ) $=
      ( wo jaoian jaodan ) ACJBEDABECFGKADECHIKL $.
  $}

  ${
    ccased.1 $e |- ( ph -> ( ( ps /\ ch ) -> et ) ) $.
    ccased.2 $e |- ( ph -> ( ( th /\ ch ) -> et ) ) $.
    ccased.3 $e |- ( ph -> ( ( ps /\ ta ) -> et ) ) $.
    ccased.4 $e |- ( ph -> ( ( th /\ ta ) -> et ) ) $.
    $( Deduction for combining cases.  (Contributed by NM, 9-May-2004.) $)
    ccased $p |- ( ph -> ( ( ( ps \/ th ) /\ ( ch \/ ta ) ) -> et ) ) $=
      ( wo wa wi com12 ccase ) BDKCEKLAFBCDEAFMABCLFGNADCLFHNABELFINADELFJNON
      $.
  $}

  ${
    ccase2.1 $e |- ( ( ph /\ ps ) -> ta ) $.
    ccase2.2 $e |- ( ch -> ta ) $.
    ccase2.3 $e |- ( th -> ta ) $.
    $( Inference for combining cases.  (Contributed by NM, 29-Jul-1999.) $)
    ccase2 $p |- ( ( ( ph \/ ch ) /\ ( ps \/ th ) ) -> ta ) $=
      ( adantr adantl ccase ) ABCDEFCEBGIDEAHJDECHJK $.
  $}

  ${
    4cases.1 $e |- ( ( ph /\ ps ) -> ch ) $.
    4cases.2 $e |- ( ( ph /\ -. ps ) -> ch ) $.
    4cases.3 $e |- ( ( -. ph /\ ps ) -> ch ) $.
    4cases.4 $e |- ( ( -. ph /\ -. ps ) -> ch ) $.
    $( Inference eliminating two antecedents from the four possible cases that
       result from their true/false combinations.  (Contributed by NM,
       25-Oct-2003.) $)
    4cases $p |- ch $=
      ( pm2.61ian wn pm2.61i ) BCABCDFHABICEGHJ $.
  $}

  ${
    4casesdan.1 $e |- ( ( ph /\ ( ps /\ ch ) ) -> th ) $.
    4casesdan.2 $e |- ( ( ph /\ ( ps /\ -. ch ) ) -> th ) $.
    4casesdan.3 $e |- ( ( ph /\ ( -. ps /\ ch ) ) -> th ) $.
    4casesdan.4 $e |- ( ( ph /\ ( -. ps /\ -. ch ) ) -> th ) $.
    $( Deduction eliminating two antecedents from the four possible cases that
       result from their true/false combinations.  (Contributed by NM,
       19-Mar-2013.) $)
    4casesdan $p |- ( ph -> th ) $=
      ( wi wa expcom wn 4cases ) BCADIABCJDEKABCLZJDFKABLZCJDGKAONJDHKM $.
  $}

  ${
    niabn.1 $e |- ph $.
    $( Miscellaneous inference relating falsehoods.  (Contributed by NM,
       31-Mar-1994.) $)
    niabn $p |- ( -. ps -> ( ( ch /\ ps ) <-> -. ph ) ) $=
      ( wa wn simpr pm2.24i pm5.21ni ) CBEBAFCBGABDHI $.
  $}

  $( Lemma for an alternate version of weak deduction theorem.  (Contributed by
     NM, 2-Apr-1994.)  (Proof shortened by Andrew Salmon, 7-May-2011.)  (Proof
     shortened by Wolf Lammen, 4-Dec-2012.) $)
  dedlem0a $p |- ( ph -> ( ps <-> ( ( ch -> ph ) -> ( ps /\ ph ) ) ) ) $=
    ( wa wi iba wb ax-1 biimt syl bitrd ) ABBADZCAEZLEZABFAMLNGACHMLIJK $.

  $( Lemma for an alternate version of weak deduction theorem.  (Contributed by
     NM, 2-Apr-1994.) $)
  dedlem0b $p |- ( -. ph -> ( ps <-> ( ( ps -> ph ) -> ( ch /\ ph ) ) ) ) $=
    ( wn wi wa pm2.21 imim2d com23 simpr imim12i con1d com12 impbid ) ADZBBAEZC
    AFZEZOPBQOAQBAQGHIROBRBABDPQABAGCAJKLMN $.

  $( Lemma for weak deduction theorem.  (Contributed by NM, 26-Jun-2002.)
     (Proof shortened by Andrew Salmon, 7-May-2011.) $)
  dedlema $p |- ( ph -> ( ps <-> ( ( ps /\ ph ) \/ ( ch /\ -. ph ) ) ) ) $=
    ( wa wn wo orc expcom wi simpl a1i pm2.24 adantld jaod impbid ) ABBADZCAEZD
    ZFZBASPRGHAPBRPBIABAJKAQBCABLMNO $.

  $( Lemma for weak deduction theorem.  (Contributed by NM, 15-May-1999.)
     (Proof shortened by Andrew Salmon, 7-May-2011.) $)
  dedlemb $p |- ( -. ph -> ( ch <-> ( ( ps /\ ph ) \/ ( ch /\ -. ph ) ) ) ) $=
    ( wn wa wo olc expcom pm2.21 adantld wi simpl a1i jaod impbid ) ADZCBAEZCPE
    ZFZCPSRQGHPQCRPACBACIJRCKPCPLMNO $.

  ${
    elimh.1 $e |- ( ( ph <-> ( ( ph /\ ch ) \/ ( ps /\ -. ch ) ) )
                     -> ( ch <-> ta ) ) $.
    elimh.2 $e |- ( ( ps <-> ( ( ph /\ ch ) \/ ( ps /\ -. ch ) ) )
                     -> ( th <-> ta ) ) $.
    elimh.3 $e |- th $.
    $( Hypothesis builder for weak deduction theorem.  For more information,
       see the Deduction Theorem link on the Metamath Proof Explorer home
       page.  (Contributed by NM, 26-Jun-2002.) $)
    elimh $p |- ta $=
      ( wa wn wo wb dedlema syl ibi dedlemb mpbii pm2.61i ) CECECAACIBCJZIKZLCE
      LCABMFNOSDEHSBTLDELCABPGNQR $.
  $}

  ${
    dedt.1 $e |- ( ( ph <-> ( ( ph /\ ch ) \/ ( ps /\ -. ch ) ) )
                     -> ( th <-> ta ) ) $.
    dedt.2 $e |- ta $.
    $( The weak deduction theorem.  For more information, see the Deduction
       Theorem link on the Metamath Proof Explorer home page.  (Contributed by
       NM, 26-Jun-2002.) $)
    dedt $p |- ( ch -> th ) $=
      ( wa wn wo wb dedlema mpbiri syl ) CAACHBCIHJKZDCABLODEGFMN $.
  $}

  $( Contraposition.  Theorem *2.16 of [WhiteheadRussell] p. 103.  This version
     of ~ con3 demonstrates the use of the weak deduction theorem ~ dedt to
     derive it from ~ con3i .  (Contributed by NM, 27-Jun-2002.)
     (Proof modification is discouraged.) $)
  con3th $p |- ( ( ph -> ps ) -> ( -. ps -> -. ph ) ) $=
    ( wi wn wa wo wb id notbid imbi1d imbi2d elimh con3i dedt ) BAABCZBDZADZCBO
    EAODEFZDZQCBRGZPSQTBRTHZIJARBAOAACARCTBRAUAKARGZARAUBHKAHLMN $.

  $( The consensus theorem.  This theorem and its dual (with ` \/ ` and ` /\ `
     interchanged) are commonly used in computer logic design to eliminate
     redundant terms from Boolean expressions.  Specifically, we prove that the
     term ` ( ps /\ ch ) ` on the left-hand side is redundant.  (Contributed by
     NM, 16-May-2003.)  (Proof shortened by Andrew Salmon, 13-May-2011.)
     (Proof shortened by Wolf Lammen, 20-Jan-2013.) $)
  consensus $p |- ( ( ( ( ph /\ ps ) \/ ( -. ph /\ ch ) ) \/ ( ps /\ ch ) ) <->
                      ( ( ph /\ ps ) \/ ( -. ph /\ ch ) ) ) $=
    ( wa wn wo id orc adantrr olc adantrl pm2.61ian jaoi impbii ) ABDZAEZCDZFZB
    CDZFRRRSRGASRABRCOQHIPCRBQOJKLMRSHN $.

  $( Theorem *4.42 of [WhiteheadRussell] p. 119.  (Contributed by Roy F.
     Longton, 21-Jun-2005.) $)
  pm4.42 $p |- ( ph <-> ( ( ph /\ ps ) \/ ( ph /\ -. ps ) ) ) $=
    ( wa wn wo wb dedlema dedlemb pm2.61i ) BAABCABDCEFBAAGBAAHI $.

  ${
    ninba.1 $e |- ph $.
    $( Miscellaneous inference relating falsehoods.  (Contributed by NM,
       31-Mar-1994.) $)
    ninba $p |- ( -. ps -> ( -. ph <-> ( ch /\ ps ) ) ) $=
      ( wn wa niabn bicomd ) BECBFAEABCDGH $.
  $}

  ${
    prlem1.1 $e |- ( ph -> ( et <-> ch ) ) $.
    prlem1.2 $e |- ( ps -> -. th ) $.
    $( A specialized lemma for set theory (to derive the Axiom of Pairing).
       (Contributed by NM, 18-Oct-1995.)  (Proof shortened by Andrew Salmon,
       13-May-2011.)  (Proof shortened by Wolf Lammen, 5-Jan-2013.) $)
    prlem1 $p |- ( ph -> ( ps ->
                  ( ( ( ps /\ ch ) \/ ( th /\ ta ) ) -> et ) ) ) $=
      ( wa wo wi biimprd adantld pm2.21d adantrd jaao ex ) ABBCIZDEIZJFKARFBSAC
      FBAFCGLMBDFEBDFHNOPQ $.
  $}

  $( A specialized lemma for set theory (to derive the Axiom of Pairing).
     (Contributed by NM, 5-Aug-1993.)  (Proof shortened by Andrew Salmon,
     13-May-2011.)  (Proof shortened by Wolf Lammen, 9-Dec-2012.) $)
  prlem2 $p |- ( ( ( ph /\ ps ) \/ ( ch /\ th ) ) <->
              ( ( ph \/ ch ) /\ ( ( ph /\ ps ) \/ ( ch /\ th ) ) ) ) $=
    ( wa wo simpl orim12i pm4.71ri ) ABEZCDEZFACFJAKCABGCDGHI $.

  ${
    oplem1.1 $e |- ( ph -> ( ps \/ ch ) ) $.
    oplem1.2 $e |- ( ph -> ( th \/ ta ) ) $.
    oplem1.3 $e |- ( ps <-> th ) $.
    oplem1.4 $e |- ( ch -> ( th <-> ta ) ) $.
    $( A specialized lemma for set theory (ordered pair theorem).  (Contributed
       by NM, 18-Oct-1995.)  (Proof shortened by Wolf Lammen, 8-Dec-2012.) $)
    oplem1 $p |- ( ph -> ps ) $=
      ( wn wa notbii ord syl5bir jcad biimpar syl6 pm2.18d sylibr ) ADBADADJZCE
      KDATCETBJACBDHLABCFMNADEGMOCDEIPQRHS $.
  $}

  $( Lemma used in construction of real numbers.  (Contributed by NM,
     4-Sep-1995.)  (Proof shortened by Andrew Salmon, 26-Jun-2011.) $)
  rnlem $p |- ( ( ( ph /\ ps ) /\ ( ch /\ th ) ) <->
  ( ( ( ph /\ ch ) /\ ( ps /\ th ) ) /\ ( ( ph /\ th ) /\ ( ps /\ ch ) ) ) ) $=
    ( wa an4 biimpi an42 biimpri jca adantl impbii ) ABECDEEZACEBDEEZADEBCEEZEM
    NOMNABCDFGOMADBCHZIJOMNOMPGKL $.

  $( A single axiom for Boolean algebra known as DN_1.  See
     ~ http://www-unix.mcs.anl.gov/~~mccune/papers/basax/v12.pdf .
     (Contributed by Jeffrey Hankins, 3-Jul-2009.)  (Proof shortened by Andrew
     Salmon, 13-May-2011.)  (Proof shortened by Wolf Lammen, 6-Jan-2013.) $)
  dn1 $p |- ( -. ( -. ( -. ( ph \/ ps ) \/ ch ) \/
            -. ( ph \/ -. ( -. ch \/ -. ( ch \/ th ) ) ) ) <-> ch ) $=
    ( wo wn wa wi pm2.45 imnan mpbi biorfi orcom ordir bitri pm4.45 anor orbi2i
    anbi2i 3bitrri ) CABEFZCEZACEZGZUBACFCDEZFEFZEZGUBFUGFEFCCUAAGZEZUDUHCUAAFH
    UHFABIUAAJKLUIUHCEUDCUHMUAACNOOUCUGUBCUFACCUEGUFCDPCUEQORSUBUGQT $.

$(
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
        Abbreviated conjunction and disjunction of three wff's
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
$)

  $( Extend wff definition to include 3-way disjunction ('or'). $)
  w3o $a wff ( ph \/ ps \/ ch ) $.
  $( Extend wff definition to include 3-way conjunction ('and'). $)
  w3a $a wff ( ph /\ ps /\ ch ) $.

  $( These abbreviations help eliminate parentheses to aid readability. $)

  $( Define disjunction ('or') of three wff's.  Definition *2.33 of
     [WhiteheadRussell] p. 105.  This abbreviation reduces the number of
     parentheses and emphasizes that the order of bracketing is not important
     by virtue of the associative law ~ orass .  (Contributed by NM,
     8-Apr-1994.) $)
  df-3or $a |- ( ( ph \/ ps \/ ch ) <-> ( ( ph \/ ps ) \/ ch ) ) $.

  $( Define conjunction ('and') of three wff's.  Definition *4.34 of
     [WhiteheadRussell] p. 118.  This abbreviation reduces the number of
     parentheses and emphasizes that the order of bracketing is not important
     by virtue of the associative law ~ anass .  (Contributed by NM,
     8-Apr-1994.) $)
  df-3an $a |- ( ( ph /\ ps /\ ch ) <-> ( ( ph /\ ps ) /\ ch ) ) $.

  $( Associative law for triple disjunction.  (Contributed by NM,
     8-Apr-1994.) $)
  3orass $p |- ( ( ph \/ ps \/ ch ) <-> ( ph \/ ( ps \/ ch ) ) ) $=
    ( w3o wo df-3or orass bitri ) ABCDABECEABCEEABCFABCGH $.

  $( Associative law for triple conjunction.  (Contributed by NM,
     8-Apr-1994.) $)
  3anass $p |- ( ( ph /\ ps /\ ch ) <-> ( ph /\ ( ps /\ ch ) ) ) $=
    ( w3a wa df-3an anass bitri ) ABCDABECEABCEEABCFABCGH $.

  $( Rotation law for triple conjunction.  (Contributed by NM, 8-Apr-1994.) $)
  3anrot $p |- ( ( ph /\ ps /\ ch ) <-> ( ps /\ ch /\ ph ) ) $=
    ( wa w3a ancom 3anass df-3an 3bitr4i ) ABCDZDJADABCEBCAEAJFABCGBCAHI $.

  $( Rotation law for triple disjunction.  (Contributed by NM, 4-Apr-1995.) $)
  3orrot $p |- ( ( ph \/ ps \/ ch ) <-> ( ps \/ ch \/ ph ) ) $=
    ( wo w3o orcom 3orass df-3or 3bitr4i ) ABCDZDJADABCEBCAEAJFABCGBCAHI $.

  $( Commutation law for triple conjunction.  (Contributed by NM,
     21-Apr-1994.) $)
  3ancoma $p |- ( ( ph /\ ps /\ ch ) <-> ( ps /\ ph /\ ch ) ) $=
    ( wa w3a ancom anbi1i df-3an 3bitr4i ) ABDZCDBADZCDABCEBACEJKCABFGABCHBACHI
    $.

  $( Commutation law for triple disjunction.  (Contributed by Mario Carneiro,
     4-Sep-2016.) $)
  3orcoma $p |- ( ( ph \/ ps \/ ch ) <-> ( ps \/ ph \/ ch ) ) $=
    ( wo w3o or12 3orass 3bitr4i ) ABCDDBACDDABCEBACEABCFABCGBACGH $.

  $( Commutation law for triple conjunction.  (Contributed by NM,
     21-Apr-1994.) $)
  3ancomb $p |- ( ( ph /\ ps /\ ch ) <-> ( ph /\ ch /\ ps ) ) $=
    ( w3a 3ancoma 3anrot bitri ) ABCDBACDACBDABCEBACFG $.

  $( Commutation law for triple disjunction.  (Contributed by Scott Fenton,
     20-Apr-2011.) $)
  3orcomb $p |- ( ( ph \/ ps \/ ch ) <-> ( ph \/ ch \/ ps ) ) $=
    ( wo w3o orcom orbi2i 3orass 3bitr4i ) ABCDZDACBDZDABCEACBEJKABCFGABCHACBHI
    $.

  $( Reversal law for triple conjunction.  (Contributed by NM, 21-Apr-1994.) $)
  3anrev $p |- ( ( ph /\ ps /\ ch ) <-> ( ch /\ ps /\ ph ) ) $=
    ( w3a 3ancoma 3anrot bitr4i ) ABCDBACDCBADABCECBAFG $.

  $( Convert triple conjunction to conjunction, then commute.  (Contributed by
     Jonathan Ben-Naim, 3-Jun-2011.) $)
  3anan32 $p |- ( ( ph /\ ps /\ ch ) <-> ( ( ph /\ ch ) /\ ps ) ) $=
    ( w3a wa df-3an an32 bitri ) ABCDABECEACEBEABCFABCGH $.

  $( Convert triple conjunction to conjunction, then commute.  (Contributed by
     Jonathan Ben-Naim, 3-Jun-2011.)  (Proof shortened by Andrew Salmon,
     14-Jun-2011.) $)
  3anan12 $p |- ( ( ph /\ ps /\ ch ) <-> ( ps /\ ( ph /\ ch ) ) ) $=
    ( w3a wa 3ancoma 3anass bitri ) ABCDBACDBACEEABCFBACGH $.

  $( Triple conjunction expressed in terms of triple disjunction.  (Contributed
     by Jeff Hankins, 15-Aug-2009.) $)
  3anor $p |- ( ( ph /\ ps /\ ch ) <-> -. ( -. ph \/ -. ps \/ -. ch ) ) $=
    ( w3a wa wn w3o df-3an wo anor ianor orbi1i xchbinx df-3or xchbinxr bitri )
    ABCDABEZCEZAFZBFZCFZGZFABCHRSTIZUAIZUBRQFZUAIUDQCJUEUCUAABKLMSTUANOP $.

  $( Negated triple conjunction expressed in terms of triple disjunction.
     (Contributed by Jeff Hankins, 15-Aug-2009.)  (Proof shortened by Andrew
     Salmon, 13-May-2011.) $)
  3ianor $p |- ( -. ( ph /\ ps /\ ch ) <-> ( -. ph \/ -. ps \/ -. ch ) ) $=
    ( wn w3o w3a 3anor con2bii bicomi ) ADBDCDEZABCFZDKJABCGHI $.

  $( Negated triple disjunction as triple conjunction.  (Contributed by Scott
     Fenton, 19-Apr-2011.) $)
  3ioran $p |- ( -. ( ph \/ ps \/ ch ) <-> ( -. ph /\ -. ps /\ -. ch ) ) $=
    ( wo wn wa w3o w3a ioran anbi1i df-3or xchnxbir df-3an 3bitr4i ) ABDZEZCEZF
    ZAEZBEZFZQFABCGZESTQHPUAQABIJOCDRUBOCIABCKLSTQMN $.

  $( Triple disjunction in terms of triple conjunction.  (Contributed by NM,
     8-Oct-2012.) $)
  3oran $p |- ( ( ph \/ ps \/ ch ) <-> -. ( -. ph /\ -. ps /\ -. ch ) ) $=
    ( wn w3a w3o 3ioran con1bii bicomi ) ADBDCDEZDABCFZKJABCGHI $.

  $( Simplification of triple conjunction.  (Contributed by NM,
     21-Apr-1994.) $)
  3simpa $p |- ( ( ph /\ ps /\ ch ) -> ( ph /\ ps ) ) $=
    ( w3a wa df-3an simplbi ) ABCDABECABCFG $.

  $( Simplification of triple conjunction.  (Contributed by NM,
     21-Apr-1994.) $)
  3simpb $p |- ( ( ph /\ ps /\ ch ) -> ( ph /\ ch ) ) $=
    ( w3a wa 3ancomb 3simpa sylbi ) ABCDACBDACEABCFACBGH $.

  $( Simplification of triple conjunction.  (Contributed by NM, 21-Apr-1994.)
     (Proof shortened by Andrew Salmon, 13-May-2011.) $)
  3simpc $p |- ( ( ph /\ ps /\ ch ) -> ( ps /\ ch ) ) $=
    ( w3a wa 3anrot 3simpa sylbi ) ABCDBCADBCEABCFBCAGH $.

  $( Simplification of triple conjunction.  (Contributed by NM,
     21-Apr-1994.) $)
  simp1 $p |- ( ( ph /\ ps /\ ch ) -> ph ) $=
    ( w3a 3simpa simpld ) ABCDABABCEF $.

  $( Simplification of triple conjunction.  (Contributed by NM,
     21-Apr-1994.) $)
  simp2 $p |- ( ( ph /\ ps /\ ch ) -> ps ) $=
    ( w3a 3simpa simprd ) ABCDABABCEF $.

  $( Simplification of triple conjunction.  (Contributed by NM,
     21-Apr-1994.) $)
  simp3 $p |- ( ( ph /\ ps /\ ch ) -> ch ) $=
    ( w3a 3simpc simprd ) ABCDBCABCEF $.

  $( Simplification rule.  (Contributed by Jeff Hankins, 17-Nov-2009.) $)
  simpl1 $p |- ( ( ( ph /\ ps /\ ch ) /\ th ) -> ph ) $=
    ( w3a simp1 adantr ) ABCEADABCFG $.

  $( Simplification rule.  (Contributed by Jeff Hankins, 17-Nov-2009.) $)
  simpl2 $p |- ( ( ( ph /\ ps /\ ch ) /\ th ) -> ps ) $=
    ( w3a simp2 adantr ) ABCEBDABCFG $.

  $( Simplification rule.  (Contributed by Jeff Hankins, 17-Nov-2009.) $)
  simpl3 $p |- ( ( ( ph /\ ps /\ ch ) /\ th ) -> ch ) $=
    ( w3a simp3 adantr ) ABCECDABCFG $.

  $( Simplification rule.  (Contributed by Jeff Hankins, 17-Nov-2009.) $)
  simpr1 $p |- ( ( ph /\ ( ps /\ ch /\ th ) ) -> ps ) $=
    ( w3a simp1 adantl ) BCDEBABCDFG $.

  $( Simplification rule.  (Contributed by Jeff Hankins, 17-Nov-2009.) $)
  simpr2 $p |- ( ( ph /\ ( ps /\ ch /\ th ) ) -> ch ) $=
    ( w3a simp2 adantl ) BCDECABCDFG $.

  $( Simplification rule.  (Contributed by Jeff Hankins, 17-Nov-2009.) $)
  simpr3 $p |- ( ( ph /\ ( ps /\ ch /\ th ) ) -> th ) $=
    ( w3a simp3 adantl ) BCDEDABCDFG $.

  ${
    3simp1i.1 $e |- ( ph /\ ps /\ ch ) $.
    $( Infer a conjunct from a triple conjunction.  (Contributed by NM,
       19-Apr-2005.) $)
    simp1i $p |- ph $=
      ( w3a simp1 ax-mp ) ABCEADABCFG $.

    $( Infer a conjunct from a triple conjunction.  (Contributed by NM,
       19-Apr-2005.) $)
    simp2i $p |- ps $=
      ( w3a simp2 ax-mp ) ABCEBDABCFG $.

    $( Infer a conjunct from a triple conjunction.  (Contributed by NM,
       19-Apr-2005.) $)
    simp3i $p |- ch $=
      ( w3a simp3 ax-mp ) ABCECDABCFG $.
  $}

  ${
    3simp1d.1 $e |- ( ph -> ( ps /\ ch /\ th ) ) $.
    $( Deduce a conjunct from a triple conjunction.  (Contributed by NM,
       4-Sep-2005.) $)
    simp1d $p |- ( ph -> ps ) $=
      ( w3a simp1 syl ) ABCDFBEBCDGH $.

    $( Deduce a conjunct from a triple conjunction.  (Contributed by NM,
       4-Sep-2005.) $)
    simp2d $p |- ( ph -> ch ) $=
      ( w3a simp2 syl ) ABCDFCEBCDGH $.

    $( Deduce a conjunct from a triple conjunction.  (Contributed by NM,
       4-Sep-2005.) $)
    simp3d $p |- ( ph -> th ) $=
      ( w3a simp3 syl ) ABCDFDEBCDGH $.
  $}

  ${
    3simp1bi.1 $e |- ( ph <-> ( ps /\ ch /\ th ) ) $.
    $( Deduce a conjunct from a triple conjunction.  (Contributed by Jonathan
       Ben-Naim, 3-Jun-2011.) $)
    simp1bi $p |- ( ph -> ps ) $=
      ( w3a biimpi simp1d ) ABCDABCDFEGH $.

    $( Deduce a conjunct from a triple conjunction.  (Contributed by Jonathan
       Ben-Naim, 3-Jun-2011.) $)
    simp2bi $p |- ( ph -> ch ) $=
      ( w3a biimpi simp2d ) ABCDABCDFEGH $.

    $( Deduce a conjunct from a triple conjunction.  (Contributed by Jonathan
       Ben-Naim, 3-Jun-2011.) $)
    simp3bi $p |- ( ph -> th ) $=
      ( w3a biimpi simp3d ) ABCDABCDFEGH $.
  $}

  ${
    3adant.1 $e |- ( ( ph /\ ps ) -> ch ) $.
    $( Deduction adding a conjunct to antecedent.  (Contributed by NM,
       16-Jul-1995.) $)
    3adant1 $p |- ( ( th /\ ph /\ ps ) -> ch ) $=
      ( w3a wa 3simpc syl ) DABFABGCDABHEI $.

    $( Deduction adding a conjunct to antecedent.  (Contributed by NM,
       16-Jul-1995.) $)
    3adant2 $p |- ( ( ph /\ th /\ ps ) -> ch ) $=
      ( w3a wa 3simpb syl ) ADBFABGCADBHEI $.

    $( Deduction adding a conjunct to antecedent.  (Contributed by NM,
       16-Jul-1995.) $)
    3adant3 $p |- ( ( ph /\ ps /\ th ) -> ch ) $=
      ( w3a wa 3simpa syl ) ABDFABGCABDHEI $.
  $}

  ${
    3ad2ant.1 $e |- ( ph -> ch ) $.
    $( Deduction adding conjuncts to an antecedent.  (Contributed by NM,
       21-Apr-2005.) $)
    3ad2ant1 $p |- ( ( ph /\ ps /\ th ) -> ch ) $=
      ( adantr 3adant2 ) ADCBACDEFG $.

    $( Deduction adding conjuncts to an antecedent.  (Contributed by NM,
       21-Apr-2005.) $)
    3ad2ant2 $p |- ( ( ps /\ ph /\ th ) -> ch ) $=
      ( adantr 3adant1 ) ADCBACDEFG $.

    $( Deduction adding conjuncts to an antecedent.  (Contributed by NM,
       21-Apr-2005.) $)
    3ad2ant3 $p |- ( ( ps /\ th /\ ph ) -> ch ) $=
      ( adantl 3adant1 ) DACBACDEFG $.
  $}

  $( Simplification of triple conjunction.  (Contributed by NM, 9-Nov-2011.) $)
  simp1l $p |- ( ( ( ph /\ ps ) /\ ch /\ th ) -> ph ) $=
    ( wa simpl 3ad2ant1 ) ABECADABFG $.

  $( Simplification of triple conjunction.  (Contributed by NM, 9-Nov-2011.) $)
  simp1r $p |- ( ( ( ph /\ ps ) /\ ch /\ th ) -> ps ) $=
    ( wa simpr 3ad2ant1 ) ABECBDABFG $.

  $( Simplification of triple conjunction.  (Contributed by NM, 9-Nov-2011.) $)
  simp2l $p |- ( ( ph /\ ( ps /\ ch ) /\ th ) -> ps ) $=
    ( wa simpl 3ad2ant2 ) BCEABDBCFG $.

  $( Simplification of triple conjunction.  (Contributed by NM, 9-Nov-2011.) $)
  simp2r $p |- ( ( ph /\ ( ps /\ ch ) /\ th ) -> ch ) $=
    ( wa simpr 3ad2ant2 ) BCEACDBCFG $.

  $( Simplification of triple conjunction.  (Contributed by NM, 9-Nov-2011.) $)
  simp3l $p |- ( ( ph /\ ps /\ ( ch /\ th ) ) -> ch ) $=
    ( wa simpl 3ad2ant3 ) CDEACBCDFG $.

  $( Simplification of triple conjunction.  (Contributed by NM, 9-Nov-2011.) $)
  simp3r $p |- ( ( ph /\ ps /\ ( ch /\ th ) ) -> th ) $=
    ( wa simpr 3ad2ant3 ) CDEADBCDFG $.

  $( Simplification of doubly triple conjunction.  (Contributed by NM,
     17-Nov-2011.) $)
  simp11 $p |- ( ( ( ph /\ ps /\ ch ) /\ th /\ ta ) -> ph ) $=
    ( w3a simp1 3ad2ant1 ) ABCFDAEABCGH $.

  $( Simplification of doubly triple conjunction.  (Contributed by NM,
     17-Nov-2011.) $)
  simp12 $p |- ( ( ( ph /\ ps /\ ch ) /\ th /\ ta ) -> ps ) $=
    ( w3a simp2 3ad2ant1 ) ABCFDBEABCGH $.

  $( Simplification of doubly triple conjunction.  (Contributed by NM,
     17-Nov-2011.) $)
  simp13 $p |- ( ( ( ph /\ ps /\ ch ) /\ th /\ ta ) -> ch ) $=
    ( w3a simp3 3ad2ant1 ) ABCFDCEABCGH $.

  $( Simplification of doubly triple conjunction.  (Contributed by NM,
     17-Nov-2011.) $)
  simp21 $p |- ( ( ph /\ ( ps /\ ch /\ th ) /\ ta ) -> ps ) $=
    ( w3a simp1 3ad2ant2 ) BCDFABEBCDGH $.

  $( Simplification of doubly triple conjunction.  (Contributed by NM,
     17-Nov-2011.) $)
  simp22 $p |- ( ( ph /\ ( ps /\ ch /\ th ) /\ ta ) -> ch ) $=
    ( w3a simp2 3ad2ant2 ) BCDFACEBCDGH $.

  $( Simplification of doubly triple conjunction.  (Contributed by NM,
     17-Nov-2011.) $)
  simp23 $p |- ( ( ph /\ ( ps /\ ch /\ th ) /\ ta ) -> th ) $=
    ( w3a simp3 3ad2ant2 ) BCDFADEBCDGH $.

  $( Simplification of doubly triple conjunction.  (Contributed by NM,
     17-Nov-2011.) $)
  simp31 $p |- ( ( ph /\ ps /\ ( ch /\ th /\ ta ) ) -> ch ) $=
    ( w3a simp1 3ad2ant3 ) CDEFACBCDEGH $.

  $( Simplification of doubly triple conjunction.  (Contributed by NM,
     17-Nov-2011.) $)
  simp32 $p |- ( ( ph /\ ps /\ ( ch /\ th /\ ta ) ) -> th ) $=
    ( w3a simp2 3ad2ant3 ) CDEFADBCDEGH $.

  $( Simplification of doubly triple conjunction.  (Contributed by NM,
     17-Nov-2011.) $)
  simp33 $p |- ( ( ph /\ ps /\ ( ch /\ th /\ ta ) ) -> ta ) $=
    ( w3a simp3 3ad2ant3 ) CDEFAEBCDEGH $.

  $( Simplification of conjunction.  (Contributed by NM, 9-Mar-2012.) $)
  simpll1 $p |- ( ( ( ( ph /\ ps /\ ch ) /\ th ) /\ ta ) -> ph ) $=
    ( w3a wa simpl1 adantr ) ABCFDGAEABCDHI $.

  $( Simplification of conjunction.  (Contributed by NM, 9-Mar-2012.) $)
  simpll2 $p |- ( ( ( ( ph /\ ps /\ ch ) /\ th ) /\ ta ) -> ps ) $=
    ( w3a wa simpl2 adantr ) ABCFDGBEABCDHI $.

  $( Simplification of conjunction.  (Contributed by NM, 9-Mar-2012.) $)
  simpll3 $p |- ( ( ( ( ph /\ ps /\ ch ) /\ th ) /\ ta ) -> ch ) $=
    ( w3a wa simpl3 adantr ) ABCFDGCEABCDHI $.

  $( Simplification of conjunction.  (Contributed by NM, 9-Mar-2012.) $)
  simplr1 $p |- ( ( ( th /\ ( ph /\ ps /\ ch ) ) /\ ta ) -> ph ) $=
    ( w3a wa simpr1 adantr ) DABCFGAEDABCHI $.

  $( Simplification of conjunction.  (Contributed by NM, 9-Mar-2012.) $)
  simplr2 $p |- ( ( ( th /\ ( ph /\ ps /\ ch ) ) /\ ta ) -> ps ) $=
    ( w3a wa simpr2 adantr ) DABCFGBEDABCHI $.

  $( Simplification of conjunction.  (Contributed by NM, 9-Mar-2012.) $)
  simplr3 $p |- ( ( ( th /\ ( ph /\ ps /\ ch ) ) /\ ta ) -> ch ) $=
    ( w3a wa simpr3 adantr ) DABCFGCEDABCHI $.

  $( Simplification of conjunction.  (Contributed by NM, 9-Mar-2012.) $)
  simprl1 $p |- ( ( ta /\ ( ( ph /\ ps /\ ch ) /\ th ) ) -> ph ) $=
    ( w3a wa simpl1 adantl ) ABCFDGAEABCDHI $.

  $( Simplification of conjunction.  (Contributed by NM, 9-Mar-2012.) $)
  simprl2 $p |- ( ( ta /\ ( ( ph /\ ps /\ ch ) /\ th ) ) -> ps ) $=
    ( w3a wa simpl2 adantl ) ABCFDGBEABCDHI $.

  $( Simplification of conjunction.  (Contributed by NM, 9-Mar-2012.) $)
  simprl3 $p |- ( ( ta /\ ( ( ph /\ ps /\ ch ) /\ th ) ) -> ch ) $=
    ( w3a wa simpl3 adantl ) ABCFDGCEABCDHI $.

  $( Simplification of conjunction.  (Contributed by NM, 9-Mar-2012.) $)
  simprr1 $p |- ( ( ta /\ ( th /\ ( ph /\ ps /\ ch ) ) ) -> ph ) $=
    ( w3a wa simpr1 adantl ) DABCFGAEDABCHI $.

  $( Simplification of conjunction.  (Contributed by NM, 9-Mar-2012.) $)
  simprr2 $p |- ( ( ta /\ ( th /\ ( ph /\ ps /\ ch ) ) ) -> ps ) $=
    ( w3a wa simpr2 adantl ) DABCFGBEDABCHI $.

  $( Simplification of conjunction.  (Contributed by NM, 9-Mar-2012.) $)
  simprr3 $p |- ( ( ta /\ ( th /\ ( ph /\ ps /\ ch ) ) ) -> ch ) $=
    ( w3a wa simpr3 adantl ) DABCFGCEDABCHI $.

  $( Simplification of conjunction.  (Contributed by NM, 9-Mar-2012.) $)
  simpl1l $p |- ( ( ( ( ph /\ ps ) /\ ch /\ th ) /\ ta ) -> ph ) $=
    ( wa w3a simp1l adantr ) ABFCDGAEABCDHI $.

  $( Simplification of conjunction.  (Contributed by NM, 9-Mar-2012.) $)
  simpl1r $p |- ( ( ( ( ph /\ ps ) /\ ch /\ th ) /\ ta ) -> ps ) $=
    ( wa w3a simp1r adantr ) ABFCDGBEABCDHI $.

  $( Simplification of conjunction.  (Contributed by NM, 9-Mar-2012.) $)
  simpl2l $p |- ( ( ( ch /\ ( ph /\ ps ) /\ th ) /\ ta ) -> ph ) $=
    ( wa w3a simp2l adantr ) CABFDGAECABDHI $.

  $( Simplification of conjunction.  (Contributed by NM, 9-Mar-2012.) $)
  simpl2r $p |- ( ( ( ch /\ ( ph /\ ps ) /\ th ) /\ ta ) -> ps ) $=
    ( wa w3a simp2r adantr ) CABFDGBECABDHI $.

  $( Simplification of conjunction.  (Contributed by NM, 9-Mar-2012.) $)
  simpl3l $p |- ( ( ( ch /\ th /\ ( ph /\ ps ) ) /\ ta ) -> ph ) $=
    ( wa w3a simp3l adantr ) CDABFGAECDABHI $.

  $( Simplification of conjunction.  (Contributed by NM, 9-Mar-2012.) $)
  simpl3r $p |- ( ( ( ch /\ th /\ ( ph /\ ps ) ) /\ ta ) -> ps ) $=
    ( wa w3a simp3r adantr ) CDABFGBECDABHI $.

  $( Simplification of conjunction.  (Contributed by NM, 9-Mar-2012.) $)
  simpr1l $p |- ( ( ta /\ ( ( ph /\ ps ) /\ ch /\ th ) ) -> ph ) $=
    ( wa w3a simp1l adantl ) ABFCDGAEABCDHI $.

  $( Simplification of conjunction.  (Contributed by NM, 9-Mar-2012.) $)
  simpr1r $p |- ( ( ta /\ ( ( ph /\ ps ) /\ ch /\ th ) ) -> ps ) $=
    ( wa w3a simp1r adantl ) ABFCDGBEABCDHI $.

  $( Simplification of conjunction.  (Contributed by NM, 9-Mar-2012.) $)
  simpr2l $p |- ( ( ta /\ ( ch /\ ( ph /\ ps ) /\ th ) ) -> ph ) $=
    ( wa w3a simp2l adantl ) CABFDGAECABDHI $.

  $( Simplification of conjunction.  (Contributed by NM, 9-Mar-2012.) $)
  simpr2r $p |- ( ( ta /\ ( ch /\ ( ph /\ ps ) /\ th ) ) -> ps ) $=
    ( wa w3a simp2r adantl ) CABFDGBECABDHI $.

  $( Simplification of conjunction.  (Contributed by NM, 9-Mar-2012.) $)
  simpr3l $p |- ( ( ta /\ ( ch /\ th /\ ( ph /\ ps ) ) ) -> ph ) $=
    ( wa w3a simp3l adantl ) CDABFGAECDABHI $.

  $( Simplification of conjunction.  (Contributed by NM, 9-Mar-2012.) $)
  simpr3r $p |- ( ( ta /\ ( ch /\ th /\ ( ph /\ ps ) ) ) -> ps ) $=
    ( wa w3a simp3r adantl ) CDABFGBECDABHI $.

  $( Simplification of conjunction.  (Contributed by NM, 9-Mar-2012.) $)
  simp1ll $p |- ( ( ( ( ph /\ ps ) /\ ch ) /\ th /\ ta ) -> ph ) $=
    ( wa simpll 3ad2ant1 ) ABFCFDAEABCGH $.

  $( Simplification of conjunction.  (Contributed by NM, 9-Mar-2012.) $)
  simp1lr $p |- ( ( ( ( ph /\ ps ) /\ ch ) /\ th /\ ta ) -> ps ) $=
    ( wa simplr 3ad2ant1 ) ABFCFDBEABCGH $.

  $( Simplification of conjunction.  (Contributed by NM, 9-Mar-2012.) $)
  simp1rl $p |- ( ( ( ch /\ ( ph /\ ps ) ) /\ th /\ ta ) -> ph ) $=
    ( wa simprl 3ad2ant1 ) CABFFDAECABGH $.

  $( Simplification of conjunction.  (Contributed by NM, 9-Mar-2012.) $)
  simp1rr $p |- ( ( ( ch /\ ( ph /\ ps ) ) /\ th /\ ta ) -> ps ) $=
    ( wa simprr 3ad2ant1 ) CABFFDBECABGH $.

  $( Simplification of conjunction.  (Contributed by NM, 9-Mar-2012.) $)
  simp2ll $p |- ( ( th /\ ( ( ph /\ ps ) /\ ch ) /\ ta ) -> ph ) $=
    ( wa simpll 3ad2ant2 ) ABFCFDAEABCGH $.

  $( Simplification of conjunction.  (Contributed by NM, 9-Mar-2012.) $)
  simp2lr $p |- ( ( th /\ ( ( ph /\ ps ) /\ ch ) /\ ta ) -> ps ) $=
    ( wa simplr 3ad2ant2 ) ABFCFDBEABCGH $.

  $( Simplification of conjunction.  (Contributed by NM, 9-Mar-2012.) $)
  simp2rl $p |- ( ( th /\ ( ch /\ ( ph /\ ps ) ) /\ ta ) -> ph ) $=
    ( wa simprl 3ad2ant2 ) CABFFDAECABGH $.

  $( Simplification of conjunction.  (Contributed by NM, 9-Mar-2012.) $)
  simp2rr $p |- ( ( th /\ ( ch /\ ( ph /\ ps ) ) /\ ta ) -> ps ) $=
    ( wa simprr 3ad2ant2 ) CABFFDBECABGH $.

  $( Simplification of conjunction.  (Contributed by NM, 9-Mar-2012.) $)
  simp3ll $p |- ( ( th /\ ta /\ ( ( ph /\ ps ) /\ ch ) ) -> ph ) $=
    ( wa simpll 3ad2ant3 ) ABFCFDAEABCGH $.

  $( Simplification of conjunction.  (Contributed by NM, 9-Mar-2012.) $)
  simp3lr $p |- ( ( th /\ ta /\ ( ( ph /\ ps ) /\ ch ) ) -> ps ) $=
    ( wa simplr 3ad2ant3 ) ABFCFDBEABCGH $.

  $( Simplification of conjunction.  (Contributed by NM, 9-Mar-2012.) $)
  simp3rl $p |- ( ( th /\ ta /\ ( ch /\ ( ph /\ ps ) ) ) -> ph ) $=
    ( wa simprl 3ad2ant3 ) CABFFDAECABGH $.

  $( Simplification of conjunction.  (Contributed by NM, 9-Mar-2012.) $)
  simp3rr $p |- ( ( th /\ ta /\ ( ch /\ ( ph /\ ps ) ) ) -> ps ) $=
    ( wa simprr 3ad2ant3 ) CABFFDBECABGH $.

  $( Simplification of conjunction.  (Contributed by NM, 9-Mar-2012.) $)
  simpl11 $p |- ( ( ( ( ph /\ ps /\ ch ) /\ th /\ ta ) /\ et ) -> ph ) $=
    ( w3a simp11 adantr ) ABCGDEGAFABCDEHI $.

  $( Simplification of conjunction.  (Contributed by NM, 9-Mar-2012.) $)
  simpl12 $p |- ( ( ( ( ph /\ ps /\ ch ) /\ th /\ ta ) /\ et ) -> ps ) $=
    ( w3a simp12 adantr ) ABCGDEGBFABCDEHI $.

  $( Simplification of conjunction.  (Contributed by NM, 9-Mar-2012.) $)
  simpl13 $p |- ( ( ( ( ph /\ ps /\ ch ) /\ th /\ ta ) /\ et ) -> ch ) $=
    ( w3a simp13 adantr ) ABCGDEGCFABCDEHI $.

  $( Simplification of conjunction.  (Contributed by NM, 9-Mar-2012.) $)
  simpl21 $p |- ( ( ( th /\ ( ph /\ ps /\ ch ) /\ ta ) /\ et ) -> ph ) $=
    ( w3a simp21 adantr ) DABCGEGAFDABCEHI $.

  $( Simplification of conjunction.  (Contributed by NM, 9-Mar-2012.) $)
  simpl22 $p |- ( ( ( th /\ ( ph /\ ps /\ ch ) /\ ta ) /\ et ) -> ps ) $=
    ( w3a simp22 adantr ) DABCGEGBFDABCEHI $.

  $( Simplification of conjunction.  (Contributed by NM, 9-Mar-2012.) $)
  simpl23 $p |- ( ( ( th /\ ( ph /\ ps /\ ch ) /\ ta ) /\ et ) -> ch ) $=
    ( w3a simp23 adantr ) DABCGEGCFDABCEHI $.

  $( Simplification of conjunction.  (Contributed by NM, 9-Mar-2012.) $)
  simpl31 $p |- ( ( ( th /\ ta /\ ( ph /\ ps /\ ch ) ) /\ et ) -> ph ) $=
    ( w3a simp31 adantr ) DEABCGGAFDEABCHI $.

  $( Simplification of conjunction.  (Contributed by NM, 9-Mar-2012.) $)
  simpl32 $p |- ( ( ( th /\ ta /\ ( ph /\ ps /\ ch ) ) /\ et ) -> ps ) $=
    ( w3a simp32 adantr ) DEABCGGBFDEABCHI $.

  $( Simplification of conjunction.  (Contributed by NM, 9-Mar-2012.) $)
  simpl33 $p |- ( ( ( th /\ ta /\ ( ph /\ ps /\ ch ) ) /\ et ) -> ch ) $=
    ( w3a simp33 adantr ) DEABCGGCFDEABCHI $.

  $( Simplification of conjunction.  (Contributed by NM, 9-Mar-2012.) $)
  simpr11 $p |- ( ( et /\ ( ( ph /\ ps /\ ch ) /\ th /\ ta ) ) -> ph ) $=
    ( w3a simp11 adantl ) ABCGDEGAFABCDEHI $.

  $( Simplification of conjunction.  (Contributed by NM, 9-Mar-2012.) $)
  simpr12 $p |- ( ( et /\ ( ( ph /\ ps /\ ch ) /\ th /\ ta ) ) -> ps ) $=
    ( w3a simp12 adantl ) ABCGDEGBFABCDEHI $.

  $( Simplification of conjunction.  (Contributed by NM, 9-Mar-2012.) $)
  simpr13 $p |- ( ( et /\ ( ( ph /\ ps /\ ch ) /\ th /\ ta ) ) -> ch ) $=
    ( w3a simp13 adantl ) ABCGDEGCFABCDEHI $.

  $( Simplification of conjunction.  (Contributed by NM, 9-Mar-2012.) $)
  simpr21 $p |- ( ( et /\ ( th /\ ( ph /\ ps /\ ch ) /\ ta ) ) -> ph ) $=
    ( w3a simp21 adantl ) DABCGEGAFDABCEHI $.

  $( Simplification of conjunction.  (Contributed by NM, 9-Mar-2012.) $)
  simpr22 $p |- ( ( et /\ ( th /\ ( ph /\ ps /\ ch ) /\ ta ) ) -> ps ) $=
    ( w3a simp22 adantl ) DABCGEGBFDABCEHI $.

  $( Simplification of conjunction.  (Contributed by NM, 9-Mar-2012.) $)
  simpr23 $p |- ( ( et /\ ( th /\ ( ph /\ ps /\ ch ) /\ ta ) ) -> ch ) $=
    ( w3a simp23 adantl ) DABCGEGCFDABCEHI $.

  $( Simplification of conjunction.  (Contributed by NM, 9-Mar-2012.) $)
  simpr31 $p |- ( ( et /\ ( th /\ ta /\ ( ph /\ ps /\ ch ) ) ) -> ph ) $=
    ( w3a simp31 adantl ) DEABCGGAFDEABCHI $.

  $( Simplification of conjunction.  (Contributed by NM, 9-Mar-2012.) $)
  simpr32 $p |- ( ( et /\ ( th /\ ta /\ ( ph /\ ps /\ ch ) ) ) -> ps ) $=
    ( w3a simp32 adantl ) DEABCGGBFDEABCHI $.

  $( Simplification of conjunction.  (Contributed by NM, 9-Mar-2012.) $)
  simpr33 $p |- ( ( et /\ ( th /\ ta /\ ( ph /\ ps /\ ch ) ) ) -> ch ) $=
    ( w3a simp33 adantl ) DEABCGGCFDEABCHI $.

  $( Simplification of conjunction.  (Contributed by NM, 9-Mar-2012.) $)
  simp1l1 $p |- ( ( ( ( ph /\ ps /\ ch ) /\ th ) /\ ta /\ et ) -> ph ) $=
    ( w3a wa simpl1 3ad2ant1 ) ABCGDHEAFABCDIJ $.

  $( Simplification of conjunction.  (Contributed by NM, 9-Mar-2012.) $)
  simp1l2 $p |- ( ( ( ( ph /\ ps /\ ch ) /\ th ) /\ ta /\ et ) -> ps ) $=
    ( w3a wa simpl2 3ad2ant1 ) ABCGDHEBFABCDIJ $.

  $( Simplification of conjunction.  (Contributed by NM, 9-Mar-2012.) $)
  simp1l3 $p |- ( ( ( ( ph /\ ps /\ ch ) /\ th ) /\ ta /\ et ) -> ch ) $=
    ( w3a wa simpl3 3ad2ant1 ) ABCGDHECFABCDIJ $.

  $( Simplification of conjunction.  (Contributed by NM, 9-Mar-2012.) $)
  simp1r1 $p |- ( ( ( th /\ ( ph /\ ps /\ ch ) ) /\ ta /\ et ) -> ph ) $=
    ( w3a wa simpr1 3ad2ant1 ) DABCGHEAFDABCIJ $.

  $( Simplification of conjunction.  (Contributed by NM, 9-Mar-2012.) $)
  simp1r2 $p |- ( ( ( th /\ ( ph /\ ps /\ ch ) ) /\ ta /\ et ) -> ps ) $=
    ( w3a wa simpr2 3ad2ant1 ) DABCGHEBFDABCIJ $.

  $( Simplification of conjunction.  (Contributed by NM, 9-Mar-2012.) $)
  simp1r3 $p |- ( ( ( th /\ ( ph /\ ps /\ ch ) ) /\ ta /\ et ) -> ch ) $=
    ( w3a wa simpr3 3ad2ant1 ) DABCGHECFDABCIJ $.

  $( Simplification of conjunction.  (Contributed by NM, 9-Mar-2012.) $)
  simp2l1 $p |- ( ( ta /\ ( ( ph /\ ps /\ ch ) /\ th ) /\ et ) -> ph ) $=
    ( w3a wa simpl1 3ad2ant2 ) ABCGDHEAFABCDIJ $.

  $( Simplification of conjunction.  (Contributed by NM, 9-Mar-2012.) $)
  simp2l2 $p |- ( ( ta /\ ( ( ph /\ ps /\ ch ) /\ th ) /\ et ) -> ps ) $=
    ( w3a wa simpl2 3ad2ant2 ) ABCGDHEBFABCDIJ $.

  $( Simplification of conjunction.  (Contributed by NM, 9-Mar-2012.) $)
  simp2l3 $p |- ( ( ta /\ ( ( ph /\ ps /\ ch ) /\ th ) /\ et ) -> ch ) $=
    ( w3a wa simpl3 3ad2ant2 ) ABCGDHECFABCDIJ $.

  $( Simplification of conjunction.  (Contributed by NM, 9-Mar-2012.) $)
  simp2r1 $p |- ( ( ta /\ ( th /\ ( ph /\ ps /\ ch ) ) /\ et ) -> ph ) $=
    ( w3a wa simpr1 3ad2ant2 ) DABCGHEAFDABCIJ $.

  $( Simplification of conjunction.  (Contributed by NM, 9-Mar-2012.) $)
  simp2r2 $p |- ( ( ta /\ ( th /\ ( ph /\ ps /\ ch ) ) /\ et ) -> ps ) $=
    ( w3a wa simpr2 3ad2ant2 ) DABCGHEBFDABCIJ $.

  $( Simplification of conjunction.  (Contributed by NM, 9-Mar-2012.) $)
  simp2r3 $p |- ( ( ta /\ ( th /\ ( ph /\ ps /\ ch ) ) /\ et ) -> ch ) $=
    ( w3a wa simpr3 3ad2ant2 ) DABCGHECFDABCIJ $.

  $( Simplification of conjunction.  (Contributed by NM, 9-Mar-2012.) $)
  simp3l1 $p |- ( ( ta /\ et /\ ( ( ph /\ ps /\ ch ) /\ th ) ) -> ph ) $=
    ( w3a wa simpl1 3ad2ant3 ) ABCGDHEAFABCDIJ $.

  $( Simplification of conjunction.  (Contributed by NM, 9-Mar-2012.) $)
  simp3l2 $p |- ( ( ta /\ et /\ ( ( ph /\ ps /\ ch ) /\ th ) ) -> ps ) $=
    ( w3a wa simpl2 3ad2ant3 ) ABCGDHEBFABCDIJ $.

  $( Simplification of conjunction.  (Contributed by NM, 9-Mar-2012.) $)
  simp3l3 $p |- ( ( ta /\ et /\ ( ( ph /\ ps /\ ch ) /\ th ) ) -> ch ) $=
    ( w3a wa simpl3 3ad2ant3 ) ABCGDHECFABCDIJ $.

  $( Simplification of conjunction.  (Contributed by NM, 9-Mar-2012.) $)
  simp3r1 $p |- ( ( ta /\ et /\ ( th /\ ( ph /\ ps /\ ch ) ) ) -> ph ) $=
    ( w3a wa simpr1 3ad2ant3 ) DABCGHEAFDABCIJ $.

  $( Simplification of conjunction.  (Contributed by NM, 9-Mar-2012.) $)
  simp3r2 $p |- ( ( ta /\ et /\ ( th /\ ( ph /\ ps /\ ch ) ) ) -> ps ) $=
    ( w3a wa simpr2 3ad2ant3 ) DABCGHEBFDABCIJ $.

  $( Simplification of conjunction.  (Contributed by NM, 9-Mar-2012.) $)
  simp3r3 $p |- ( ( ta /\ et /\ ( th /\ ( ph /\ ps /\ ch ) ) ) -> ch ) $=
    ( w3a wa simpr3 3ad2ant3 ) DABCGHECFDABCIJ $.

  $( Simplification of conjunction.  (Contributed by NM, 9-Mar-2012.) $)
  simp11l $p |- ( ( ( ( ph /\ ps ) /\ ch /\ th ) /\ ta /\ et ) -> ph ) $=
    ( wa w3a simp1l 3ad2ant1 ) ABGCDHEAFABCDIJ $.

  $( Simplification of conjunction.  (Contributed by NM, 9-Mar-2012.) $)
  simp11r $p |- ( ( ( ( ph /\ ps ) /\ ch /\ th ) /\ ta /\ et ) -> ps ) $=
    ( wa w3a simp1r 3ad2ant1 ) ABGCDHEBFABCDIJ $.

  $( Simplification of conjunction.  (Contributed by NM, 9-Mar-2012.) $)
  simp12l $p |- ( ( ( ch /\ ( ph /\ ps ) /\ th ) /\ ta /\ et ) -> ph ) $=
    ( wa w3a simp2l 3ad2ant1 ) CABGDHEAFCABDIJ $.

  $( Simplification of conjunction.  (Contributed by NM, 9-Mar-2012.) $)
  simp12r $p |- ( ( ( ch /\ ( ph /\ ps ) /\ th ) /\ ta /\ et ) -> ps ) $=
    ( wa w3a simp2r 3ad2ant1 ) CABGDHEBFCABDIJ $.

  $( Simplification of conjunction.  (Contributed by NM, 9-Mar-2012.) $)
  simp13l $p |- ( ( ( ch /\ th /\ ( ph /\ ps ) ) /\ ta /\ et ) -> ph ) $=
    ( wa w3a simp3l 3ad2ant1 ) CDABGHEAFCDABIJ $.

  $( Simplification of conjunction.  (Contributed by NM, 9-Mar-2012.) $)
  simp13r $p |- ( ( ( ch /\ th /\ ( ph /\ ps ) ) /\ ta /\ et ) -> ps ) $=
    ( wa w3a simp3r 3ad2ant1 ) CDABGHEBFCDABIJ $.

  $( Simplification of conjunction.  (Contributed by NM, 9-Mar-2012.) $)
  simp21l $p |- ( ( ta /\ ( ( ph /\ ps ) /\ ch /\ th ) /\ et ) -> ph ) $=
    ( wa w3a simp1l 3ad2ant2 ) ABGCDHEAFABCDIJ $.

  $( Simplification of conjunction.  (Contributed by NM, 9-Mar-2012.) $)
  simp21r $p |- ( ( ta /\ ( ( ph /\ ps ) /\ ch /\ th ) /\ et ) -> ps ) $=
    ( wa w3a simp1r 3ad2ant2 ) ABGCDHEBFABCDIJ $.

  $( Simplification of conjunction.  (Contributed by NM, 9-Mar-2012.) $)
  simp22l $p |- ( ( ta /\ ( ch /\ ( ph /\ ps ) /\ th ) /\ et ) -> ph ) $=
    ( wa w3a simp2l 3ad2ant2 ) CABGDHEAFCABDIJ $.

  $( Simplification of conjunction.  (Contributed by NM, 9-Mar-2012.) $)
  simp22r $p |- ( ( ta /\ ( ch /\ ( ph /\ ps ) /\ th ) /\ et ) -> ps ) $=
    ( wa w3a simp2r 3ad2ant2 ) CABGDHEBFCABDIJ $.

  $( Simplification of conjunction.  (Contributed by NM, 9-Mar-2012.) $)
  simp23l $p |- ( ( ta /\ ( ch /\ th /\ ( ph /\ ps ) ) /\ et ) -> ph ) $=
    ( wa w3a simp3l 3ad2ant2 ) CDABGHEAFCDABIJ $.

  $( Simplification of conjunction.  (Contributed by NM, 9-Mar-2012.) $)
  simp23r $p |- ( ( ta /\ ( ch /\ th /\ ( ph /\ ps ) ) /\ et ) -> ps ) $=
    ( wa w3a simp3r 3ad2ant2 ) CDABGHEBFCDABIJ $.

  $( Simplification of conjunction.  (Contributed by NM, 9-Mar-2012.) $)
  simp31l $p |- ( ( ta /\ et /\ ( ( ph /\ ps ) /\ ch /\ th ) ) -> ph ) $=
    ( wa w3a simp1l 3ad2ant3 ) ABGCDHEAFABCDIJ $.

  $( Simplification of conjunction.  (Contributed by NM, 9-Mar-2012.) $)
  simp31r $p |- ( ( ta /\ et /\ ( ( ph /\ ps ) /\ ch /\ th ) ) -> ps ) $=
    ( wa w3a simp1r 3ad2ant3 ) ABGCDHEBFABCDIJ $.

  $( Simplification of conjunction.  (Contributed by NM, 9-Mar-2012.) $)
  simp32l $p |- ( ( ta /\ et /\ ( ch /\ ( ph /\ ps ) /\ th ) ) -> ph ) $=
    ( wa w3a simp2l 3ad2ant3 ) CABGDHEAFCABDIJ $.

  $( Simplification of conjunction.  (Contributed by NM, 9-Mar-2012.) $)
  simp32r $p |- ( ( ta /\ et /\ ( ch /\ ( ph /\ ps ) /\ th ) ) -> ps ) $=
    ( wa w3a simp2r 3ad2ant3 ) CABGDHEBFCABDIJ $.

  $( Simplification of conjunction.  (Contributed by NM, 9-Mar-2012.) $)
  simp33l $p |- ( ( ta /\ et /\ ( ch /\ th /\ ( ph /\ ps ) ) ) -> ph ) $=
    ( wa w3a simp3l 3ad2ant3 ) CDABGHEAFCDABIJ $.

  $( Simplification of conjunction.  (Contributed by NM, 9-Mar-2012.) $)
  simp33r $p |- ( ( ta /\ et /\ ( ch /\ th /\ ( ph /\ ps ) ) ) -> ps ) $=
    ( wa w3a simp3r 3ad2ant3 ) CDABGHEBFCDABIJ $.

  $( Simplification of conjunction.  (Contributed by NM, 9-Mar-2012.) $)
  simp111 $p |- ( ( ( ( ph /\ ps /\ ch ) /\ th /\ ta ) /\ et /\ ze ) -> ph ) $=
    ( w3a simp11 3ad2ant1 ) ABCHDEHFAGABCDEIJ $.

  $( Simplification of conjunction.  (Contributed by NM, 9-Mar-2012.) $)
  simp112 $p |- ( ( ( ( ph /\ ps /\ ch ) /\ th /\ ta ) /\ et /\ ze ) -> ps ) $=
    ( w3a simp12 3ad2ant1 ) ABCHDEHFBGABCDEIJ $.

  $( Simplification of conjunction.  (Contributed by NM, 9-Mar-2012.) $)
  simp113 $p |- ( ( ( ( ph /\ ps /\ ch ) /\ th /\ ta ) /\ et /\ ze ) -> ch ) $=
    ( w3a simp13 3ad2ant1 ) ABCHDEHFCGABCDEIJ $.

  $( Simplification of conjunction.  (Contributed by NM, 9-Mar-2012.) $)
  simp121 $p |- ( ( ( th /\ ( ph /\ ps /\ ch ) /\ ta ) /\ et /\ ze ) -> ph ) $=
    ( w3a simp21 3ad2ant1 ) DABCHEHFAGDABCEIJ $.

  $( Simplification of conjunction.  (Contributed by NM, 9-Mar-2012.) $)
  simp122 $p |- ( ( ( th /\ ( ph /\ ps /\ ch ) /\ ta ) /\ et /\ ze ) -> ps ) $=
    ( w3a simp22 3ad2ant1 ) DABCHEHFBGDABCEIJ $.

  $( Simplification of conjunction.  (Contributed by NM, 9-Mar-2012.) $)
  simp123 $p |- ( ( ( th /\ ( ph /\ ps /\ ch ) /\ ta ) /\ et /\ ze ) -> ch ) $=
    ( w3a simp23 3ad2ant1 ) DABCHEHFCGDABCEIJ $.

  $( Simplification of conjunction.  (Contributed by NM, 9-Mar-2012.) $)
  simp131 $p |- ( ( ( th /\ ta /\ ( ph /\ ps /\ ch ) ) /\ et /\ ze ) -> ph ) $=
    ( w3a simp31 3ad2ant1 ) DEABCHHFAGDEABCIJ $.

  $( Simplification of conjunction.  (Contributed by NM, 9-Mar-2012.) $)
  simp132 $p |- ( ( ( th /\ ta /\ ( ph /\ ps /\ ch ) ) /\ et /\ ze ) -> ps ) $=
    ( w3a simp32 3ad2ant1 ) DEABCHHFBGDEABCIJ $.

  $( Simplification of conjunction.  (Contributed by NM, 9-Mar-2012.) $)
  simp133 $p |- ( ( ( th /\ ta /\ ( ph /\ ps /\ ch ) ) /\ et /\ ze ) -> ch ) $=
    ( w3a simp33 3ad2ant1 ) DEABCHHFCGDEABCIJ $.

  $( Simplification of conjunction.  (Contributed by NM, 9-Mar-2012.) $)
  simp211 $p |- ( ( et /\ ( ( ph /\ ps /\ ch ) /\ th /\ ta ) /\ ze ) -> ph ) $=
    ( w3a simp11 3ad2ant2 ) ABCHDEHFAGABCDEIJ $.

  $( Simplification of conjunction.  (Contributed by NM, 9-Mar-2012.) $)
  simp212 $p |- ( ( et /\ ( ( ph /\ ps /\ ch ) /\ th /\ ta ) /\ ze ) -> ps ) $=
    ( w3a simp12 3ad2ant2 ) ABCHDEHFBGABCDEIJ $.

  $( Simplification of conjunction.  (Contributed by NM, 9-Mar-2012.) $)
  simp213 $p |- ( ( et /\ ( ( ph /\ ps /\ ch ) /\ th /\ ta ) /\ ze ) -> ch ) $=
    ( w3a simp13 3ad2ant2 ) ABCHDEHFCGABCDEIJ $.

  $( Simplification of conjunction.  (Contributed by NM, 9-Mar-2012.) $)
  simp221 $p |- ( ( et /\ ( th /\ ( ph /\ ps /\ ch ) /\ ta ) /\ ze ) -> ph ) $=
    ( w3a simp21 3ad2ant2 ) DABCHEHFAGDABCEIJ $.

  $( Simplification of conjunction.  (Contributed by NM, 9-Mar-2012.) $)
  simp222 $p |- ( ( et /\ ( th /\ ( ph /\ ps /\ ch ) /\ ta ) /\ ze ) -> ps ) $=
    ( w3a simp22 3ad2ant2 ) DABCHEHFBGDABCEIJ $.

  $( Simplification of conjunction.  (Contributed by NM, 9-Mar-2012.) $)
  simp223 $p |- ( ( et /\ ( th /\ ( ph /\ ps /\ ch ) /\ ta ) /\ ze ) -> ch ) $=
    ( w3a simp23 3ad2ant2 ) DABCHEHFCGDABCEIJ $.

  $( Simplification of conjunction.  (Contributed by NM, 9-Mar-2012.) $)
  simp231 $p |- ( ( et /\ ( th /\ ta /\ ( ph /\ ps /\ ch ) ) /\ ze ) -> ph ) $=
    ( w3a simp31 3ad2ant2 ) DEABCHHFAGDEABCIJ $.

  $( Simplification of conjunction.  (Contributed by NM, 9-Mar-2012.) $)
  simp232 $p |- ( ( et /\ ( th /\ ta /\ ( ph /\ ps /\ ch ) ) /\ ze ) -> ps ) $=
    ( w3a simp32 3ad2ant2 ) DEABCHHFBGDEABCIJ $.

  $( Simplification of conjunction.  (Contributed by NM, 9-Mar-2012.) $)
  simp233 $p |- ( ( et /\ ( th /\ ta /\ ( ph /\ ps /\ ch ) ) /\ ze ) -> ch ) $=
    ( w3a simp33 3ad2ant2 ) DEABCHHFCGDEABCIJ $.

  $( Simplification of conjunction.  (Contributed by NM, 9-Mar-2012.) $)
  simp311 $p |- ( ( et /\ ze /\ ( ( ph /\ ps /\ ch ) /\ th /\ ta ) ) -> ph ) $=
    ( w3a simp11 3ad2ant3 ) ABCHDEHFAGABCDEIJ $.

  $( Simplification of conjunction.  (Contributed by NM, 9-Mar-2012.) $)
  simp312 $p |- ( ( et /\ ze /\ ( ( ph /\ ps /\ ch ) /\ th /\ ta ) ) -> ps ) $=
    ( w3a simp12 3ad2ant3 ) ABCHDEHFBGABCDEIJ $.

  $( Simplification of conjunction.  (Contributed by NM, 9-Mar-2012.) $)
  simp313 $p |- ( ( et /\ ze /\ ( ( ph /\ ps /\ ch ) /\ th /\ ta ) ) -> ch ) $=
    ( w3a simp13 3ad2ant3 ) ABCHDEHFCGABCDEIJ $.

  $( Simplification of conjunction.  (Contributed by NM, 9-Mar-2012.) $)
  simp321 $p |- ( ( et /\ ze /\ ( th /\ ( ph /\ ps /\ ch ) /\ ta ) ) -> ph ) $=
    ( w3a simp21 3ad2ant3 ) DABCHEHFAGDABCEIJ $.

  $( Simplification of conjunction.  (Contributed by NM, 9-Mar-2012.) $)
  simp322 $p |- ( ( et /\ ze /\ ( th /\ ( ph /\ ps /\ ch ) /\ ta ) ) -> ps ) $=
    ( w3a simp22 3ad2ant3 ) DABCHEHFBGDABCEIJ $.

  $( Simplification of conjunction.  (Contributed by NM, 9-Mar-2012.) $)
  simp323 $p |- ( ( et /\ ze /\ ( th /\ ( ph /\ ps /\ ch ) /\ ta ) ) -> ch ) $=
    ( w3a simp23 3ad2ant3 ) DABCHEHFCGDABCEIJ $.

  $( Simplification of conjunction.  (Contributed by NM, 9-Mar-2012.) $)
  simp331 $p |- ( ( et /\ ze /\ ( th /\ ta /\ ( ph /\ ps /\ ch ) ) ) -> ph ) $=
    ( w3a simp31 3ad2ant3 ) DEABCHHFAGDEABCIJ $.

  $( Simplification of conjunction.  (Contributed by NM, 9-Mar-2012.) $)
  simp332 $p |- ( ( et /\ ze /\ ( th /\ ta /\ ( ph /\ ps /\ ch ) ) ) -> ps ) $=
    ( w3a simp32 3ad2ant3 ) DEABCHHFBGDEABCIJ $.

  $( Simplification of conjunction.  (Contributed by NM, 9-Mar-2012.) $)
  simp333 $p |- ( ( et /\ ze /\ ( th /\ ta /\ ( ph /\ ps /\ ch ) ) ) -> ch ) $=
    ( w3a simp33 3ad2ant3 ) DEABCHHFCGDEABCIJ $.

  ${
    3adantl.1 $e |- ( ( ( ph /\ ps ) /\ ch ) -> th ) $.
    $( Deduction adding a conjunct to antecedent.  (Contributed by NM,
       24-Feb-2005.) $)
    3adantl1 $p |- ( ( ( ta /\ ph /\ ps ) /\ ch ) -> th ) $=
      ( w3a wa 3simpc sylan ) EABGABHCDEABIFJ $.

    $( Deduction adding a conjunct to antecedent.  (Contributed by NM,
       24-Feb-2005.) $)
    3adantl2 $p |- ( ( ( ph /\ ta /\ ps ) /\ ch ) -> th ) $=
      ( w3a wa 3simpb sylan ) AEBGABHCDAEBIFJ $.

    $( Deduction adding a conjunct to antecedent.  (Contributed by NM,
       24-Feb-2005.) $)
    3adantl3 $p |- ( ( ( ph /\ ps /\ ta ) /\ ch ) -> th ) $=
      ( w3a wa 3simpa sylan ) ABEGABHCDABEIFJ $.
  $}

  ${
    3adantr.1 $e |- ( ( ph /\ ( ps /\ ch ) ) -> th ) $.
    $( Deduction adding a conjunct to antecedent.  (Contributed by NM,
       27-Apr-2005.) $)
    3adantr1 $p |- ( ( ph /\ ( ta /\ ps /\ ch ) ) -> th ) $=
      ( w3a wa 3simpc sylan2 ) EBCGABCHDEBCIFJ $.

    $( Deduction adding a conjunct to antecedent.  (Contributed by NM,
       27-Apr-2005.) $)
    3adantr2 $p |- ( ( ph /\ ( ps /\ ta /\ ch ) ) -> th ) $=
      ( w3a wa 3simpb sylan2 ) BECGABCHDBECIFJ $.

    $( Deduction adding a conjunct to antecedent.  (Contributed by NM,
       27-Apr-2005.) $)
    3adantr3 $p |- ( ( ph /\ ( ps /\ ch /\ ta ) ) -> th ) $=
      ( w3a wa 3simpa sylan2 ) BCEGABCHDBCEIFJ $.
  $}

  ${
    3ad2antl.1 $e |- ( ( ph /\ ch ) -> th ) $.
    $( Deduction adding conjuncts to antecedent.  (Contributed by NM,
       4-Aug-2007.) $)
    3ad2antl1 $p |- ( ( ( ph /\ ps /\ ta ) /\ ch ) -> th ) $=
      ( adantlr 3adantl2 ) AECDBACDEFGH $.

    $( Deduction adding conjuncts to antecedent.  (Contributed by NM,
       4-Aug-2007.) $)
    3ad2antl2 $p |- ( ( ( ps /\ ph /\ ta ) /\ ch ) -> th ) $=
      ( adantlr 3adantl1 ) AECDBACDEFGH $.

    $( Deduction adding conjuncts to antecedent.  (Contributed by NM,
       4-Aug-2007.) $)
    3ad2antl3 $p |- ( ( ( ps /\ ta /\ ph ) /\ ch ) -> th ) $=
      ( adantll 3adantl1 ) EACDBACDEFGH $.

    $( Deduction adding conjuncts to antecedent.  (Contributed by NM,
       25-Dec-2007.) $)
    3ad2antr1 $p |- ( ( ph /\ ( ch /\ ps /\ ta ) ) -> th ) $=
      ( adantrr 3adantr3 ) ACBDEACDBFGH $.

    $( Deduction adding conjuncts to antecedent.  (Contributed by NM,
       27-Dec-2007.) $)
    3ad2antr2 $p |- ( ( ph /\ ( ps /\ ch /\ ta ) ) -> th ) $=
      ( adantrl 3adantr3 ) ABCDEACDBFGH $.

    $( Deduction adding conjuncts to antecedent.  (Contributed by NM,
       30-Dec-2007.) $)
    3ad2antr3 $p |- ( ( ph /\ ( ps /\ ta /\ ch ) ) -> th ) $=
      ( adantrl 3adantr1 ) AECDBACDEFGH $.
  $}

  ${
    3anibar.1 $e |- ( ( ph /\ ps /\ ch ) -> ( th <-> ( ch /\ ta ) ) ) $.
    $( Remove a hypothesis from the second member of a biimplication.
       (Contributed by FL, 22-Jul-2008.) $)
    3anibar $p |- ( ( ph /\ ps /\ ch ) -> ( th <-> ta ) ) $=
      ( w3a wa simp3 biantrurd bitr4d ) ABCGZDCEHEFLCEABCIJK $.
  $}

  $( Introduction in triple disjunction.  (Contributed by NM, 4-Apr-1995.) $)
  3mix1 $p |- ( ph -> ( ph \/ ps \/ ch ) ) $=
    ( wo w3o orc 3orass sylibr ) AABCDZDABCEAIFABCGH $.

  $( Introduction in triple disjunction.  (Contributed by NM, 4-Apr-1995.) $)
  3mix2 $p |- ( ph -> ( ps \/ ph \/ ch ) ) $=
    ( w3o 3mix1 3orrot sylibr ) AACBDBACDACBEBACFG $.

  $( Introduction in triple disjunction.  (Contributed by NM, 4-Apr-1995.) $)
  3mix3 $p |- ( ph -> ( ps \/ ch \/ ph ) ) $=
    ( w3o 3mix1 3orrot sylib ) AABCDBCADABCEABCFG $.

  ${
    3mixi.1 $e |- ph $.
    $( Introduction in triple disjunction.  (Contributed by Mario Carneiro,
       6-Oct-2014.) $)
    3mix1i $p |- ( ph \/ ps \/ ch ) $=
      ( w3o 3mix1 ax-mp ) AABCEDABCFG $.

    $( Introduction in triple disjunction.  (Contributed by Mario Carneiro,
       6-Oct-2014.) $)
    3mix2i $p |- ( ps \/ ph \/ ch ) $=
      ( w3o 3mix2 ax-mp ) ABACEDABCFG $.

    $( Introduction in triple disjunction.  (Contributed by Mario Carneiro,
       6-Oct-2014.) $)
    3mix3i $p |- ( ps \/ ch \/ ph ) $=
      ( w3o 3mix3 ax-mp ) ABCAEDABCFG $.
  $}

  ${
    3pm3.2i.1 $e |- ph $.
    3pm3.2i.2 $e |- ps $.
    3pm3.2i.3 $e |- ch $.
    $( Infer conjunction of premises.  (Contributed by NM, 10-Feb-1995.) $)
    3pm3.2i $p |- ( ph /\ ps /\ ch ) $=
      ( w3a wa pm3.2i df-3an mpbir2an ) ABCGABHCABDEIFABCJK $.
  $}

  $( ~ pm3.2 for a triple conjunction.  (Contributed by Alan Sare,
     24-Oct-2011.) $)
  pm3.2an3 $p |- ( ph -> ( ps -> ( ch -> ( ph /\ ps /\ ch ) ) ) ) $=
    ( wa w3a wi pm3.2 ex df-3an bicomi syl8ib ) ABCABDZCDZABCEZABCMFLCGHNMABCIJ
    K $.

  ${
    3jca.1 $e |- ( ph -> ps ) $.
    3jca.2 $e |- ( ph -> ch ) $.
    3jca.3 $e |- ( ph -> th ) $.
    $( Join consequents with conjunction.  (Contributed by NM, 9-Apr-1994.) $)
    3jca $p |- ( ph -> ( ps /\ ch /\ th ) ) $=
      ( wa w3a jca31 df-3an sylibr ) ABCHDHBCDIABCDEFGJBCDKL $.
  $}

  ${
    3jcad.1 $e |- ( ph -> ( ps -> ch ) ) $.
    3jcad.2 $e |- ( ph -> ( ps -> th ) ) $.
    3jcad.3 $e |- ( ph -> ( ps -> ta ) ) $.
    $( Deduction conjoining the consequents of three implications.
       (Contributed by NM, 25-Sep-2005.) $)
    3jcad $p |- ( ph -> ( ps -> ( ch /\ th /\ ta ) ) ) $=
      ( w3a wa imp 3jca ex ) ABCDEIABJCDEABCFKABDGKABEHKLM $.
  $}

  ${
    mpbir3an.1 $e |- ps $.
    mpbir3an.2 $e |- ch $.
    mpbir3an.3 $e |- th $.
    mpbir3an.4 $e |- ( ph <-> ( ps /\ ch /\ th ) ) $.
    $( Detach a conjunction of truths in a biconditional.  (Contributed by NM,
       16-Sep-2011.) $)
    mpbir3an $p |- ph $=
      ( w3a 3pm3.2i mpbir ) ABCDIBCDEFGJHK $.
  $}

  ${
    mpbir3and.1 $e |- ( ph -> ch ) $.
    mpbir3and.2 $e |- ( ph -> th ) $.
    mpbir3and.3 $e |- ( ph -> ta ) $.
    mpbir3and.4 $e |- ( ph -> ( ps <-> ( ch /\ th /\ ta ) ) ) $.
    $( Detach a conjunction of truths in a biconditional.  (Contributed by
       Mario Carneiro, 11-May-2014.)  (Revised by Mario Carneiro,
       9-Jan-2015.) $)
    mpbir3and $p |- ( ph -> ps ) $=
      ( w3a 3jca mpbird ) ABCDEJACDEFGHKIL $.
  $}

  ${
    syl3anbrc.1 $e |- ( ph -> ps ) $.
    syl3anbrc.2 $e |- ( ph -> ch ) $.
    syl3anbrc.3 $e |- ( ph -> th ) $.
    syl3anbrc.4 $e |- ( ta <-> ( ps /\ ch /\ th ) ) $.
    $( Syllogism inference.  (Contributed by Mario Carneiro, 11-May-2014.) $)
    syl3anbrc $p |- ( ph -> ta ) $=
      ( w3a 3jca sylibr ) ABCDJEABCDFGHKIL $.
  $}

  ${
    3anim123i.1 $e |- ( ph -> ps ) $.
    3anim123i.2 $e |- ( ch -> th ) $.
    3anim123i.3 $e |- ( ta -> et ) $.
    $( Join antecedents and consequents with conjunction.  (Contributed by NM,
       8-Apr-1994.) $)
    3anim123i $p |- ( ( ph /\ ch /\ ta ) -> ( ps /\ th /\ et ) ) $=
      ( w3a 3ad2ant1 3ad2ant2 3ad2ant3 3jca ) ACEJBDFACBEGKCADEHLEAFCIMN $.
  $}

  ${
    3animi.1 $e |- ( ph -> ps ) $.
    $( Add two conjuncts to antecedent and consequent.  (Contributed by Jeff
       Hankins, 16-Aug-2009.) $)
    3anim1i $p |- ( ( ph /\ ch /\ th ) -> ( ps /\ ch /\ th ) ) $=
      ( id 3anim123i ) ABCCDDECFDFG $.

    $( Add two conjuncts to antecedent and consequent.  (Contributed by Jeff
       Hankins, 19-Aug-2009.) $)
    3anim3i $p |- ( ( ch /\ th /\ ph ) -> ( ch /\ th /\ ps ) ) $=
      ( id 3anim123i ) CCDDABCFDFEG $.
  $}

  ${
    bi3.1 $e |- ( ph <-> ps ) $.
    bi3.2 $e |- ( ch <-> th ) $.
    bi3.3 $e |- ( ta <-> et ) $.
    $( Join 3 biconditionals with conjunction.  (Contributed by NM,
       21-Apr-1994.) $)
    3anbi123i $p |- ( ( ph /\ ch /\ ta ) <-> ( ps /\ th /\ et ) ) $=
      ( wa w3a anbi12i df-3an 3bitr4i ) ACJZEJBDJZFJACEKBDFKOPEFABCDGHLILACEMBD
      FMN $.

    $( Join 3 biconditionals with disjunction.  (Contributed by NM,
       17-May-1994.) $)
    3orbi123i $p |- ( ( ph \/ ch \/ ta ) <-> ( ps \/ th \/ et ) ) $=
      ( wo w3o orbi12i df-3or 3bitr4i ) ACJZEJBDJZFJACEKBDFKOPEFABCDGHLILACEMBD
      FMN $.
  $}

  ${
    3anbi1i.1 $e |- ( ph <-> ps ) $.
    $( Inference adding two conjuncts to each side of a biconditional.
       (Contributed by NM, 8-Sep-2006.) $)
    3anbi1i $p |- ( ( ph /\ ch /\ th ) <-> ( ps /\ ch /\ th ) ) $=
      ( biid 3anbi123i ) ABCCDDECFDFG $.

    $( Inference adding two conjuncts to each side of a biconditional.
       (Contributed by NM, 8-Sep-2006.) $)
    3anbi2i $p |- ( ( ch /\ ph /\ th ) <-> ( ch /\ ps /\ th ) ) $=
      ( biid 3anbi123i ) CCABDDCFEDFG $.

    $( Inference adding two conjuncts to each side of a biconditional.
       (Contributed by NM, 8-Sep-2006.) $)
    3anbi3i $p |- ( ( ch /\ th /\ ph ) <-> ( ch /\ th /\ ps ) ) $=
      ( biid 3anbi123i ) CCDDABCFDFEG $.
  $}

  ${
    3imp.1 $e |- ( ph -> ( ps -> ( ch -> th ) ) ) $.
    $( Importation inference.  (Contributed by NM, 8-Apr-1994.) $)
    3imp $p |- ( ( ph /\ ps /\ ch ) -> th ) $=
      ( w3a wa df-3an imp31 sylbi ) ABCFABGCGDABCHABCDEIJ $.
  $}

  ${
    3impa.1 $e |- ( ( ( ph /\ ps ) /\ ch ) -> th ) $.
    $( Importation from double to triple conjunction.  (Contributed by NM,
       20-Aug-1995.) $)
    3impa $p |- ( ( ph /\ ps /\ ch ) -> th ) $=
      ( exp31 3imp ) ABCDABCDEFG $.
  $}

  ${
    3impb.1 $e |- ( ( ph /\ ( ps /\ ch ) ) -> th ) $.
    $( Importation from double to triple conjunction.  (Contributed by NM,
       20-Aug-1995.) $)
    3impb $p |- ( ( ph /\ ps /\ ch ) -> th ) $=
      ( exp32 3imp ) ABCDABCDEFG $.
  $}

  ${
    3impia.1 $e |- ( ( ph /\ ps ) -> ( ch -> th ) ) $.
    $( Importation to triple conjunction.  (Contributed by NM, 13-Jun-2006.) $)
    3impia $p |- ( ( ph /\ ps /\ ch ) -> th ) $=
      ( wi ex 3imp ) ABCDABCDFEGH $.
  $}

  ${
    3impib.1 $e |- ( ph -> ( ( ps /\ ch ) -> th ) ) $.
    $( Importation to triple conjunction.  (Contributed by NM, 13-Jun-2006.) $)
    3impib $p |- ( ( ph /\ ps /\ ch ) -> th ) $=
      ( exp3a 3imp ) ABCDABCDEFG $.
  $}

  ${
    3exp.1 $e |- ( ( ph /\ ps /\ ch ) -> th ) $.
    $( Exportation inference.  (Contributed by NM, 30-May-1994.) $)
    3exp $p |- ( ph -> ( ps -> ( ch -> th ) ) ) $=
      ( w3a pm3.2an3 syl8 ) ABCABCFDABCGEH $.

    $( Exportation from triple to double conjunction.  (Contributed by NM,
       20-Aug-1995.) $)
    3expa $p |- ( ( ( ph /\ ps ) /\ ch ) -> th ) $=
      ( 3exp imp31 ) ABCDABCDEFG $.

    $( Exportation from triple to double conjunction.  (Contributed by NM,
       20-Aug-1995.) $)
    3expb $p |- ( ( ph /\ ( ps /\ ch ) ) -> th ) $=
      ( 3exp imp32 ) ABCDABCDEFG $.

    $( Exportation from triple conjunction.  (Contributed by NM,
       19-May-2007.) $)
    3expia $p |- ( ( ph /\ ps ) -> ( ch -> th ) ) $=
      ( wi 3exp imp ) ABCDFABCDEGH $.

    $( Exportation from triple conjunction.  (Contributed by NM,
       19-May-2007.) $)
    3expib $p |- ( ph -> ( ( ps /\ ch ) -> th ) ) $=
      ( 3exp imp3a ) ABCDABCDEFG $.

    $( Commutation in antecedent.  Swap 1st and 3rd.  (Contributed by NM,
       28-Jan-1996.)  (Proof shortened by Andrew Salmon, 13-May-2011.) $)
    3com12 $p |- ( ( ps /\ ph /\ ch ) -> th ) $=
      ( w3a 3ancoma sylbi ) BACFABCFDBACGEH $.

    $( Commutation in antecedent.  Swap 1st and 3rd.  (Contributed by NM,
       28-Jan-1996.) $)
    3com13 $p |- ( ( ch /\ ps /\ ph ) -> th ) $=
      ( w3a 3anrev sylbi ) CBAFABCFDCBAGEH $.

    $( Commutation in antecedent.  Swap 2nd and 3rd.  (Contributed by NM,
       28-Jan-1996.) $)
    3com23 $p |- ( ( ph /\ ch /\ ps ) -> th ) $=
      ( 3exp com23 3imp ) ACBDABCDABCDEFGH $.

    $( Commutation in antecedent.  Rotate left.  (Contributed by NM,
       28-Jan-1996.) $)
    3coml $p |- ( ( ps /\ ch /\ ph ) -> th ) $=
      ( 3com23 3com13 ) ACBDABCDEFG $.

    $( Commutation in antecedent.  Rotate right.  (Contributed by NM,
       28-Jan-1996.) $)
    3comr $p |- ( ( ch /\ ph /\ ps ) -> th ) $=
      ( 3coml ) BCADABCDEFF $.

    $( Deduction adding a conjunct to antecedent.  (Contributed by NM,
       16-Feb-2008.) $)
    3adant3r1 $p |- ( ( ph /\ ( ta /\ ps /\ ch ) ) -> th ) $=
      ( 3expb 3adantr1 ) ABCDEABCDFGH $.

    $( Deduction adding a conjunct to antecedent.  (Contributed by NM,
       17-Feb-2008.) $)
    3adant3r2 $p |- ( ( ph /\ ( ps /\ ta /\ ch ) ) -> th ) $=
      ( 3expb 3adantr2 ) ABCDEABCDFGH $.

    $( Deduction adding a conjunct to antecedent.  (Contributed by NM,
       18-Feb-2008.) $)
    3adant3r3 $p |- ( ( ph /\ ( ps /\ ch /\ ta ) ) -> th ) $=
      ( 3expb 3adantr3 ) ABCDEABCDFGH $.
  $}

  ${
    3an1rs.1 $e |- ( ( ( ph /\ ps /\ ch ) /\ th ) -> ta ) $.
    $( Swap conjuncts.  (Contributed by NM, 16-Dec-2007.) $)
    3an1rs $p |- ( ( ( ph /\ ps /\ th ) /\ ch ) -> ta ) $=
      ( w3a wi ex 3exp com34 3imp imp ) ABDGCEABDCEHABCDEABCDEHABCGDEFIJKLM $.
  $}

  ${
    3imp1.1 $e |- ( ph -> ( ps -> ( ch -> ( th -> ta ) ) ) ) $.
    $( Importation to left triple conjunction.  (Contributed by NM,
       24-Feb-2005.) $)
    3imp1 $p |- ( ( ( ph /\ ps /\ ch ) /\ th ) -> ta ) $=
      ( w3a wi 3imp imp ) ABCGDEABCDEHFIJ $.

    $( Importation deduction for triple conjunction.  (Contributed by NM,
       26-Oct-2006.) $)
    3impd $p |- ( ph -> ( ( ps /\ ch /\ th ) -> ta ) ) $=
      ( w3a wi com4l 3imp com12 ) BCDGAEBCDAEHABCDEFIJK $.

    $( Importation to right triple conjunction.  (Contributed by NM,
       26-Oct-2006.) $)
    3imp2 $p |- ( ( ph /\ ( ps /\ ch /\ th ) ) -> ta ) $=
      ( w3a 3impd imp ) ABCDGEABCDEFHI $.
  $}

  ${
    3exp1.1 $e |- ( ( ( ph /\ ps /\ ch ) /\ th ) -> ta ) $.
    $( Exportation from left triple conjunction.  (Contributed by NM,
       24-Feb-2005.) $)
    3exp1 $p |- ( ph -> ( ps -> ( ch -> ( th -> ta ) ) ) ) $=
      ( wi w3a ex 3exp ) ABCDEGABCHDEFIJ $.
  $}

  ${
    3expd.1 $e |- ( ph -> ( ( ps /\ ch /\ th ) -> ta ) ) $.
    $( Exportation deduction for triple conjunction.  (Contributed by NM,
       26-Oct-2006.) $)
    3expd $p |- ( ph -> ( ps -> ( ch -> ( th -> ta ) ) ) ) $=
      ( wi w3a com12 3exp com4r ) BCDAEBCDAEGABCDHEFIJK $.
  $}

  ${
    3exp2.1 $e |- ( ( ph /\ ( ps /\ ch /\ th ) ) -> ta ) $.
    $( Exportation from right triple conjunction.  (Contributed by NM,
       26-Oct-2006.) $)
    3exp2 $p |- ( ph -> ( ps -> ( ch -> ( th -> ta ) ) ) ) $=
      ( w3a ex 3expd ) ABCDEABCDGEFHI $.
  $}

  ${
    exp5o.1 $e |- ( ( ph /\ ps /\ ch ) -> ( ( th /\ ta ) -> et ) ) $.
    $( A triple exportation inference.  (Contributed by Jeff Hankins,
       8-Jul-2009.) $)
    exp5o $p |- ( ph -> ( ps -> ( ch -> ( th -> ( ta -> et ) ) ) ) ) $=
      ( wi w3a exp3a 3exp ) ABCDEFHHABCIDEFGJK $.
  $}

  ${
    exp516.1 $e |- ( ( ( ph /\ ( ps /\ ch /\ th ) ) /\ ta ) -> et ) $.
    $( A triple exportation inference.  (Contributed by Jeff Hankins,
       8-Jul-2009.) $)
    exp516 $p |- ( ph -> ( ps -> ( ch -> ( th -> ( ta -> et ) ) ) ) ) $=
      ( wi w3a exp31 3expd ) ABCDEFHABCDIEFGJK $.
  $}

  ${
    exp520.1 $e |- ( ( ( ph /\ ps /\ ch ) /\ ( th /\ ta ) ) -> et ) $.
    $( A triple exportation inference.  (Contributed by Jeff Hankins,
       8-Jul-2009.) $)
    exp520 $p |- ( ph -> ( ps -> ( ch -> ( th -> ( ta -> et ) ) ) ) ) $=
      ( w3a wa ex exp5o ) ABCDEFABCHDEIFGJK $.
  $}

  ${
    3anassrs.1 $e |- ( ( ph /\ ( ps /\ ch /\ th ) ) -> ta ) $.
    $( Associative law for conjunction applied to antecedent (eliminates
       syllogism).  (Contributed by Mario Carneiro, 4-Jan-2017.) $)
    3anassrs $p |- ( ( ( ( ph /\ ps ) /\ ch ) /\ th ) -> ta ) $=
      ( 3exp2 imp41 ) ABCDEABCDEFGH $.
  $}

  ${
    3adant1l.1 $e |- ( ( ph /\ ps /\ ch ) -> th ) $.
    $( Deduction adding a conjunct to antecedent.  (Contributed by NM,
       8-Jan-2006.) $)
    3adant1l $p |- ( ( ( ta /\ ph ) /\ ps /\ ch ) -> th ) $=
      ( wa 3expb adantll 3impb ) EAGBCDABCGDEABCDFHIJ $.

    $( Deduction adding a conjunct to antecedent.  (Contributed by NM,
       8-Jan-2006.) $)
    3adant1r $p |- ( ( ( ph /\ ta ) /\ ps /\ ch ) -> th ) $=
      ( wa 3expb adantlr 3impb ) AEGBCDABCGDEABCDFHIJ $.

    $( Deduction adding a conjunct to antecedent.  (Contributed by NM,
       8-Jan-2006.) $)
    3adant2l $p |- ( ( ph /\ ( ta /\ ps ) /\ ch ) -> th ) $=
      ( wa 3com12 3adant1l ) EBGACDBACDEABCDFHIH $.

    $( Deduction adding a conjunct to antecedent.  (Contributed by NM,
       8-Jan-2006.) $)
    3adant2r $p |- ( ( ph /\ ( ps /\ ta ) /\ ch ) -> th ) $=
      ( wa 3com12 3adant1r ) BEGACDBACDEABCDFHIH $.

    $( Deduction adding a conjunct to antecedent.  (Contributed by NM,
       8-Jan-2006.) $)
    3adant3l $p |- ( ( ph /\ ps /\ ( ta /\ ch ) ) -> th ) $=
      ( wa 3com13 3adant1l ) ECGBADCBADEABCDFHIH $.

    $( Deduction adding a conjunct to antecedent.  (Contributed by NM,
       8-Jan-2006.) $)
    3adant3r $p |- ( ( ph /\ ps /\ ( ch /\ ta ) ) -> th ) $=
      ( wa 3com13 3adant1r ) CEGBADCBADEABCDFHIH $.
  $}

  ${
    sylXanc.1 $e |- ( ph -> ps ) $.
    sylXanc.2 $e |- ( ph -> ch ) $.
    sylXanc.3 $e |- ( ph -> th ) $.
    ${
      syl12anc.4 $e |- ( ( ps /\ ( ch /\ th ) ) -> ta ) $.
      $( Syllogism combined with contraction.  (Contributed by Jeff Hankins,
         1-Aug-2009.) $)
      syl12anc $p |- ( ph -> ta ) $=
        ( wa jca32 syl ) ABCDJJEABCDFGHKIL $.
    $}

    ${
      syl21anc.4 $e |- ( ( ( ps /\ ch ) /\ th ) -> ta ) $.
      $( Syllogism combined with contraction.  (Contributed by Jeff Hankins,
         1-Aug-2009.) $)
      syl21anc $p |- ( ph -> ta ) $=
        ( wa jca31 syl ) ABCJDJEABCDFGHKIL $.
    $}

    ${
      syl111anc.4 $e |- ( ( ps /\ ch /\ th ) -> ta ) $.
      $( Syllogism combined with contraction.  (Contributed by NM,
         11-Mar-2012.) $)
      syl3anc $p |- ( ph -> ta ) $=
        ( w3a 3jca syl ) ABCDJEABCDFGHKIL $.
    $}

    sylXanc.4 $e |- ( ph -> ta ) $.
    ${
      syl22anc.5 $e |- ( ( ( ps /\ ch ) /\ ( th /\ ta ) ) -> et ) $.
      $( Syllogism combined with contraction.  (Contributed by NM,
         11-Mar-2012.) $)
      syl22anc $p |- ( ph -> et ) $=
        ( wa jca syl12anc ) ABCLDEFABCGHMIJKN $.
    $}

    ${
      syl13anc.5 $e |- ( ( ps /\ ( ch /\ th /\ ta ) ) -> et ) $.
      $( Syllogism combined with contraction.  (Contributed by NM,
         11-Mar-2012.) $)
      syl13anc $p |- ( ph -> et ) $=
        ( w3a 3jca syl2anc ) ABCDELFGACDEHIJMKN $.
    $}

    ${
      syl31anc.5 $e |- ( ( ( ps /\ ch /\ th ) /\ ta ) -> et ) $.
      $( Syllogism combined with contraction.  (Contributed by NM,
         11-Mar-2012.) $)
      syl31anc $p |- ( ph -> et ) $=
        ( w3a 3jca syl2anc ) ABCDLEFABCDGHIMJKN $.
    $}

    ${
      syl112anc.5 $e |- ( ( ps /\ ch /\ ( th /\ ta ) ) -> et ) $.
      $( Syllogism combined with contraction.  (Contributed by NM,
         11-Mar-2012.) $)
      syl112anc $p |- ( ph -> et ) $=
        ( wa jca syl3anc ) ABCDELFGHADEIJMKN $.
    $}

    ${
      syl121anc.5 $e |- ( ( ps /\ ( ch /\ th ) /\ ta ) -> et ) $.
      $( Syllogism combined with contraction.  (Contributed by NM,
         11-Mar-2012.) $)
      syl121anc $p |- ( ph -> et ) $=
        ( wa jca syl3anc ) ABCDLEFGACDHIMJKN $.
    $}

    ${
      syl211anc.5 $e |- ( ( ( ps /\ ch ) /\ th /\ ta ) -> et ) $.
      $( Syllogism combined with contraction.  (Contributed by NM,
         11-Mar-2012.) $)
      syl211anc $p |- ( ph -> et ) $=
        ( wa jca syl3anc ) ABCLDEFABCGHMIJKN $.
    $}

    sylXanc.5 $e |- ( ph -> et ) $.
    ${
      syl23anc.6 $e |- ( ( ( ps /\ ch ) /\ ( th /\ ta /\ et ) ) -> ze ) $.
      $( Syllogism combined with contraction.  (Contributed by NM,
         11-Mar-2012.) $)
      syl23anc $p |- ( ph -> ze ) $=
        ( wa jca syl13anc ) ABCNDEFGABCHIOJKLMP $.
    $}

    ${
      syl32anc.6 $e |- ( ( ( ps /\ ch /\ th ) /\ ( ta /\ et ) ) -> ze ) $.
      $( Syllogism combined with contraction.  (Contributed by NM,
         11-Mar-2012.) $)
      syl32anc $p |- ( ph -> ze ) $=
        ( wa jca syl31anc ) ABCDEFNGHIJAEFKLOMP $.
    $}

    ${
      syl122anc.6 $e |- ( ( ps /\ ( ch /\ th ) /\ ( ta /\ et ) ) -> ze ) $.
      $( Syllogism combined with contraction.  (Contributed by NM,
         11-Mar-2012.) $)
      syl122anc $p |- ( ph -> ze ) $=
        ( wa jca syl121anc ) ABCDEFNGHIJAEFKLOMP $.
    $}

    ${
      syl212anc.6 $e |- ( ( ( ps /\ ch ) /\ th /\ ( ta /\ et ) ) -> ze ) $.
      $( Syllogism combined with contraction.  (Contributed by NM,
         11-Mar-2012.) $)
      syl212anc $p |- ( ph -> ze ) $=
        ( wa jca syl211anc ) ABCDEFNGHIJAEFKLOMP $.
    $}

    ${
      syl221anc.6 $e |- ( ( ( ps /\ ch ) /\ ( th /\ ta ) /\ et ) -> ze ) $.
      $( Syllogism combined with contraction.  (Contributed by NM,
         11-Mar-2012.) $)
      syl221anc $p |- ( ph -> ze ) $=
        ( wa jca syl211anc ) ABCDENFGHIADEJKOLMP $.
    $}

    ${
      syl113anc.6 $e |- ( ( ps /\ ch /\ ( th /\ ta /\ et ) ) -> ze ) $.
      $( Syllogism combined with contraction.  (Contributed by NM,
         11-Mar-2012.) $)
      syl113anc $p |- ( ph -> ze ) $=
        ( w3a 3jca syl3anc ) ABCDEFNGHIADEFJKLOMP $.
    $}

    ${
      syl131anc.6 $e |- ( ( ps /\ ( ch /\ th /\ ta ) /\ et ) -> ze ) $.
      $( Syllogism combined with contraction.  (Contributed by NM,
         11-Mar-2012.) $)
      syl131anc $p |- ( ph -> ze ) $=
        ( w3a 3jca syl3anc ) ABCDENFGHACDEIJKOLMP $.
    $}

    ${
      syl311anc.6 $e |- ( ( ( ps /\ ch /\ th ) /\ ta /\ et ) -> ze ) $.
      $( Syllogism combined with contraction.  (Contributed by NM,
         11-Mar-2012.) $)
      syl311anc $p |- ( ph -> ze ) $=
        ( w3a 3jca syl3anc ) ABCDNEFGABCDHIJOKLMP $.
    $}

    sylXanc.6 $e |- ( ph -> ze ) $.
    ${
      syl33anc.7 $e |- ( ( ( ps /\ ch /\ th ) /\ ( ta /\ et /\ ze ) )
           -> si ) $.
      $( Syllogism combined with contraction.  (Contributed by NM,
         11-Mar-2012.) $)
      syl33anc $p |- ( ph -> si ) $=
        ( w3a 3jca syl13anc ) ABCDPEFGHABCDIJKQLMNOR $.
    $}

    ${
      syl222anc.7 $e |- ( ( ( ps /\ ch ) /\ ( th /\ ta ) /\ ( et /\ ze ) )
           -> si ) $.
      $( Syllogism combined with contraction.  (Contributed by NM,
         11-Mar-2012.) $)
      syl222anc $p |- ( ph -> si ) $=
        ( wa jca syl221anc ) ABCDEFGPHIJKLAFGMNQOR $.
    $}

    ${
      syl123anc.7 $e |- ( ( ps /\ ( ch /\ th ) /\ ( ta /\ et /\ ze ) )
           -> si ) $.
      $( Syllogism combined with contraction.  (Contributed by NM,
         11-Mar-2012.) $)
      syl123anc $p |- ( ph -> si ) $=
        ( wa jca syl113anc ) ABCDPEFGHIACDJKQLMNOR $.
    $}

    ${
      syl132anc.7 $e |- ( ( ps /\ ( ch /\ th /\ ta ) /\ ( et /\ ze ) )
           -> si ) $.
      $( Syllogism combined with contraction.  (Contributed by NM,
         11-Jul-2012.) $)
      syl132anc $p |- ( ph -> si ) $=
        ( wa jca syl131anc ) ABCDEFGPHIJKLAFGMNQOR $.
    $}

    ${
      syl213anc.7 $e |- ( ( ( ps /\ ch ) /\ th /\ ( ta /\ et /\ ze ) )
           -> si ) $.
      $( Syllogism combined with contraction.  (Contributed by NM,
         11-Mar-2012.) $)
      syl213anc $p |- ( ph -> si ) $=
        ( wa jca syl113anc ) ABCPDEFGHABCIJQKLMNOR $.
    $}

    ${
      syl231anc.7 $e |- ( ( ( ps /\ ch ) /\ ( th /\ ta /\ et ) /\ ze )
           -> si ) $.
      $( Syllogism combined with contraction.  (Contributed by NM,
         11-Mar-2012.) $)
      syl231anc $p |- ( ph -> si ) $=
        ( wa jca syl131anc ) ABCPDEFGHABCIJQKLMNOR $.
    $}

    ${
      syl312anc.7 $e |- ( ( ( ps /\ ch /\ th ) /\ ta /\ ( et /\ ze ) )
           -> si ) $.
      $( Syllogism combined with contraction.  (Contributed by NM,
         11-Jul-2012.) $)
      syl312anc $p |- ( ph -> si ) $=
        ( wa jca syl311anc ) ABCDEFGPHIJKLAFGMNQOR $.
    $}

    ${
      syl321anc.7 $e |- ( ( ( ps /\ ch /\ th ) /\ ( ta /\ et ) /\ ze )
           -> si ) $.
      $( Syllogism combined with contraction.  (Contributed by NM,
         11-Jul-2012.) $)
      syl321anc $p |- ( ph -> si ) $=
        ( wa jca syl311anc ) ABCDEFPGHIJKAEFLMQNOR $.
    $}

    sylXanc.7 $e |- ( ph -> si ) $.
    ${
      syl133anc.8 $e |- ( ( ps /\ ( ch /\ th /\ ta ) /\ ( et /\ ze /\ si ) )
           -> rh ) $.
      $( Syllogism combined with contraction.  (Contributed by NM,
         11-Mar-2012.) $)
      syl133anc $p |- ( ph -> rh ) $=
        ( w3a 3jca syl131anc ) ABCDEFGHRIJKLMAFGHNOPSQT $.
    $}

    ${
      syl313anc.8 $e |- ( ( ( ps /\ ch /\ th ) /\ ta /\ ( et /\ ze /\ si ) )
           -> rh ) $.
      $( Syllogism combined with contraction.  (Contributed by NM,
         11-Mar-2012.) $)
      syl313anc $p |- ( ph -> rh ) $=
        ( w3a 3jca syl311anc ) ABCDEFGHRIJKLMAFGHNOPSQT $.
    $}

    ${
      syl331anc.8 $e |- ( ( ( ps /\ ch /\ th ) /\ ( ta /\ et /\ ze ) /\ si )
           -> rh ) $.
      $( Syllogism combined with contraction.  (Contributed by NM,
         11-Mar-2012.) $)
      syl331anc $p |- ( ph -> rh ) $=
        ( w3a 3jca syl311anc ) ABCDEFGRHIJKLAEFGMNOSPQT $.
    $}

    ${
      syl223anc.8 $e |- ( ( ( ps /\ ch ) /\ ( th /\ ta ) /\ ( et /\ ze /\ si )
          ) -> rh ) $.
      $( Syllogism combined with contraction.  (Contributed by NM,
         11-Mar-2012.) $)
      syl223anc $p |- ( ph -> rh ) $=
        ( wa jca syl213anc ) ABCDERFGHIJKADELMSNOPQT $.
    $}

    ${
      syl232anc.8 $e |- ( ( ( ps /\ ch ) /\ ( th /\ ta /\ et ) /\ ( ze /\ si )
          ) -> rh ) $.
      $( Syllogism combined with contraction.  (Contributed by NM,
         11-Mar-2012.) $)
      syl232anc $p |- ( ph -> rh ) $=
        ( wa jca syl231anc ) ABCDEFGHRIJKLMNAGHOPSQT $.
    $}

    ${
      syl322anc.8 $e |- ( ( ( ps /\ ch /\ th ) /\ ( ta /\ et ) /\ ( ze /\ si )
          ) -> rh ) $.
      $( Syllogism combined with contraction.  (Contributed by NM,
         11-Mar-2012.) $)
      syl322anc $p |- ( ph -> rh ) $=
        ( wa jca syl321anc ) ABCDEFGHRIJKLMNAGHOPSQT $.
    $}

    sylXanc.8 $e |- ( ph -> rh ) $.
    ${
      syl233anc.9 $e |- ( ( ( ps /\ ch ) /\ ( th /\ ta /\ et ) /\ ( ze /\ si /\
          rh ) ) -> mu ) $.
      $( Syllogism combined with contraction.  (Contributed by NM,
         11-Mar-2012.) $)
      syl233anc $p |- ( ph -> mu ) $=
        ( wa jca syl133anc ) ABCTDEFGHIJABCKLUAMNOPQRSUB $.
    $}

    ${
      syl323anc.9 $e |- ( ( ( ps /\ ch /\ th ) /\ ( ta /\ et ) /\ ( ze /\ si /\
          rh ) ) -> mu ) $.
      $( Syllogism combined with contraction.  (Contributed by NM,
         11-Mar-2012.) $)
      syl323anc $p |- ( ph -> mu ) $=
        ( wa jca syl313anc ) ABCDEFTGHIJKLMAEFNOUAPQRSUB $.
    $}

    ${
      syl332anc.9 $e |- ( ( ( ps /\ ch /\ th ) /\ ( ta /\ et /\ ze ) /\ ( si /\
          rh ) ) -> mu ) $.
      $( Syllogism combined with contraction.  (Contributed by NM,
         11-Mar-2012.) $)
      syl332anc $p |- ( ph -> mu ) $=
        ( wa jca syl331anc ) ABCDEFGHITJKLMNOPAHIQRUASUB $.
    $}

    sylXanc.9 $e |- ( ph -> mu ) $.
    ${
      syl333anc.10 $e |- ( ( ( ps /\ ch /\ th ) /\ ( ta /\ et /\ ze )
          /\ ( si /\ rh /\ mu ) ) -> la ) $.
      $( A syllogism inference combined with contraction.  (Contributed by NM,
         10-Mar-2012.) $)
      syl333anc $p |- ( ph -> la ) $=
        ( w3a 3jca syl331anc ) ABCDEFGHIJUBKLMNOPQAHIJRSTUCUAUD $.
    $}
  $}

  ${
    syl3an1.1 $e |- ( ph -> ps ) $.
    syl3an1.2 $e |- ( ( ps /\ ch /\ th ) -> ta ) $.
    $( A syllogism inference.  (Contributed by NM, 22-Aug-1995.) $)
    syl3an1 $p |- ( ( ph /\ ch /\ th ) -> ta ) $=
      ( w3a 3anim1i syl ) ACDHBCDHEABCDFIGJ $.
  $}

  ${
    syl3an2.1 $e |- ( ph -> ch ) $.
    syl3an2.2 $e |- ( ( ps /\ ch /\ th ) -> ta ) $.
    $( A syllogism inference.  (Contributed by NM, 22-Aug-1995.) $)
    syl3an2 $p |- ( ( ps /\ ph /\ th ) -> ta ) $=
      ( wi 3exp syl5 3imp ) BADEACBDEHFBCDEGIJK $.
  $}

  ${
    syl3an3.1 $e |- ( ph -> th ) $.
    syl3an3.2 $e |- ( ( ps /\ ch /\ th ) -> ta ) $.
    $( A syllogism inference.  (Contributed by NM, 22-Aug-1995.) $)
    syl3an3 $p |- ( ( ps /\ ch /\ ph ) -> ta ) $=
      ( 3exp syl7 3imp ) BCAEADBCEFBCDEGHIJ $.
  $}

  ${
    syl3an1b.1 $e |- ( ph <-> ps ) $.
    syl3an1b.2 $e |- ( ( ps /\ ch /\ th ) -> ta ) $.
    $( A syllogism inference.  (Contributed by NM, 22-Aug-1995.) $)
    syl3an1b $p |- ( ( ph /\ ch /\ th ) -> ta ) $=
      ( biimpi syl3an1 ) ABCDEABFHGI $.
  $}

  ${
    syl3an2b.1 $e |- ( ph <-> ch ) $.
    syl3an2b.2 $e |- ( ( ps /\ ch /\ th ) -> ta ) $.
    $( A syllogism inference.  (Contributed by NM, 22-Aug-1995.) $)
    syl3an2b $p |- ( ( ps /\ ph /\ th ) -> ta ) $=
      ( biimpi syl3an2 ) ABCDEACFHGI $.
  $}

  ${
    syl3an3b.1 $e |- ( ph <-> th ) $.
    syl3an3b.2 $e |- ( ( ps /\ ch /\ th ) -> ta ) $.
    $( A syllogism inference.  (Contributed by NM, 22-Aug-1995.) $)
    syl3an3b $p |- ( ( ps /\ ch /\ ph ) -> ta ) $=
      ( biimpi syl3an3 ) ABCDEADFHGI $.
  $}

  ${
    syl3an1br.1 $e |- ( ps <-> ph ) $.
    syl3an1br.2 $e |- ( ( ps /\ ch /\ th ) -> ta ) $.
    $( A syllogism inference.  (Contributed by NM, 22-Aug-1995.) $)
    syl3an1br $p |- ( ( ph /\ ch /\ th ) -> ta ) $=
      ( biimpri syl3an1 ) ABCDEBAFHGI $.
  $}

  ${
    syl3an2br.1 $e |- ( ch <-> ph ) $.
    syl3an2br.2 $e |- ( ( ps /\ ch /\ th ) -> ta ) $.
    $( A syllogism inference.  (Contributed by NM, 22-Aug-1995.) $)
    syl3an2br $p |- ( ( ps /\ ph /\ th ) -> ta ) $=
      ( biimpri syl3an2 ) ABCDECAFHGI $.
  $}

  ${
    syl3an3br.1 $e |- ( th <-> ph ) $.
    syl3an3br.2 $e |- ( ( ps /\ ch /\ th ) -> ta ) $.
    $( A syllogism inference.  (Contributed by NM, 22-Aug-1995.) $)
    syl3an3br $p |- ( ( ps /\ ch /\ ph ) -> ta ) $=
      ( biimpri syl3an3 ) ABCDEDAFHGI $.
  $}

  ${
    syl3an.1 $e |- ( ph -> ps ) $.
    syl3an.2 $e |- ( ch -> th ) $.
    syl3an.3 $e |- ( ta -> et ) $.
    syl3an.4 $e |- ( ( ps /\ th /\ et ) -> ze ) $.
    $( A triple syllogism inference.  (Contributed by NM, 13-May-2004.) $)
    syl3an $p |- ( ( ph /\ ch /\ ta ) -> ze ) $=
      ( w3a 3anim123i syl ) ACELBDFLGABCDEFHIJMKN $.
  $}

  ${
    syl3anb.1 $e |- ( ph <-> ps ) $.
    syl3anb.2 $e |- ( ch <-> th ) $.
    syl3anb.3 $e |- ( ta <-> et ) $.
    syl3anb.4 $e |- ( ( ps /\ th /\ et ) -> ze ) $.
    $( A triple syllogism inference.  (Contributed by NM, 15-Oct-2005.) $)
    syl3anb $p |- ( ( ph /\ ch /\ ta ) -> ze ) $=
      ( w3a 3anbi123i sylbi ) ACELBDFLGABCDEFHIJMKN $.
  $}

  ${
    syl3anbr.1 $e |- ( ps <-> ph ) $.
    syl3anbr.2 $e |- ( th <-> ch ) $.
    syl3anbr.3 $e |- ( et <-> ta ) $.
    syl3anbr.4 $e |- ( ( ps /\ th /\ et ) -> ze ) $.
    $( A triple syllogism inference.  (Contributed by NM, 29-Dec-2011.) $)
    syl3anbr $p |- ( ( ph /\ ch /\ ta ) -> ze ) $=
      ( bicomi syl3anb ) ABCDEFGBAHLDCILFEJLKM $.
  $}

  ${
    syld3an3.1 $e |- ( ( ph /\ ps /\ ch ) -> th ) $.
    syld3an3.2 $e |- ( ( ph /\ ps /\ th ) -> ta ) $.
    $( A syllogism inference.  (Contributed by NM, 20-May-2007.) $)
    syld3an3 $p |- ( ( ph /\ ps /\ ch ) -> ta ) $=
      ( w3a simp1 simp2 syl3anc ) ABCHABDEABCIABCJFGK $.
  $}

  ${
    syld3an1.1 $e |- ( ( ch /\ ps /\ th ) -> ph ) $.
    syld3an1.2 $e |- ( ( ph /\ ps /\ th ) -> ta ) $.
    $( A syllogism inference.  (Contributed by NM, 7-Jul-2008.) $)
    syld3an1 $p |- ( ( ch /\ ps /\ th ) -> ta ) $=
      ( 3com13 syld3an3 ) DBCEDBCAECBDAFHABDEGHIH $.
  $}

  ${
    syld3an2.1 $e |- ( ( ph /\ ch /\ th ) -> ps ) $.
    syld3an2.2 $e |- ( ( ph /\ ps /\ th ) -> ta ) $.
    $( A syllogism inference.  (Contributed by NM, 20-May-2007.) $)
    syld3an2 $p |- ( ( ph /\ ch /\ th ) -> ta ) $=
      ( 3com23 syld3an3 ) ADCEADCBEACDBFHABDEGHIH $.
  $}

  ${
    syl3anl1.1 $e |- ( ph -> ps ) $.
    syl3anl1.2 $e |- ( ( ( ps /\ ch /\ th ) /\ ta ) -> et ) $.
    $( A syllogism inference.  (Contributed by NM, 24-Feb-2005.) $)
    syl3anl1 $p |- ( ( ( ph /\ ch /\ th ) /\ ta ) -> et ) $=
      ( w3a 3anim1i sylan ) ACDIBCDIEFABCDGJHK $.
  $}

  ${
    syl3anl2.1 $e |- ( ph -> ch ) $.
    syl3anl2.2 $e |- ( ( ( ps /\ ch /\ th ) /\ ta ) -> et ) $.
    $( A syllogism inference.  (Contributed by NM, 24-Feb-2005.) $)
    syl3anl2 $p |- ( ( ( ps /\ ph /\ th ) /\ ta ) -> et ) $=
      ( w3a wi ex syl3an2 imp ) BADIEFABCDEFJGBCDIEFHKLM $.
  $}

  ${
    syl3anl3.1 $e |- ( ph -> th ) $.
    syl3anl3.2 $e |- ( ( ( ps /\ ch /\ th ) /\ ta ) -> et ) $.
    $( A syllogism inference.  (Contributed by NM, 24-Feb-2005.) $)
    syl3anl3 $p |- ( ( ( ps /\ ch /\ ph ) /\ ta ) -> et ) $=
      ( w3a 3anim3i sylan ) BCAIBCDIEFADBCGJHK $.
  $}

  ${
    syl3anl.1 $e |- ( ph -> ps ) $.
    syl3anl.2 $e |- ( ch -> th ) $.
    syl3anl.3 $e |- ( ta -> et ) $.
    syl3anl.4 $e |- ( ( ( ps /\ th /\ et ) /\ ze ) -> si ) $.
    $( A triple syllogism inference.  (Contributed by NM, 24-Dec-2006.) $)
    syl3anl $p |- ( ( ( ph /\ ch /\ ta ) /\ ze ) -> si ) $=
      ( w3a 3anim123i sylan ) ACEMBDFMGHABCDEFIJKNLO $.
  $}

  ${
    syl3anr1.1 $e |- ( ph -> ps ) $.
    syl3anr1.2 $e |- ( ( ch /\ ( ps /\ th /\ ta ) ) -> et ) $.
    $( A syllogism inference.  (Contributed by NM, 31-Jul-2007.) $)
    syl3anr1 $p |- ( ( ch /\ ( ph /\ th /\ ta ) ) -> et ) $=
      ( w3a 3anim1i sylan2 ) ADEICBDEIFABDEGJHK $.
  $}

  ${
    syl3anr2.1 $e |- ( ph -> th ) $.
    syl3anr2.2 $e |- ( ( ch /\ ( ps /\ th /\ ta ) ) -> et ) $.
    $( A syllogism inference.  (Contributed by NM, 1-Aug-2007.) $)
    syl3anr2 $p |- ( ( ch /\ ( ps /\ ph /\ ta ) ) -> et ) $=
      ( w3a ancoms syl3anl2 ) BAEICFABDECFGCBDEIFHJKJ $.
  $}

  ${
    syl3anr3.1 $e |- ( ph -> ta ) $.
    syl3anr3.2 $e |- ( ( ch /\ ( ps /\ th /\ ta ) ) -> et ) $.
    $( A syllogism inference.  (Contributed by NM, 23-Aug-2007.) $)
    syl3anr3 $p |- ( ( ch /\ ( ps /\ th /\ ph ) ) -> et ) $=
      ( w3a 3anim3i sylan2 ) BDAICBDEIFAEBDGJHK $.
  $}

  ${
    3impdi.1 $e |- ( ( ( ph /\ ps ) /\ ( ph /\ ch ) ) -> th ) $.
    $( Importation inference (undistribute conjunction).  (Contributed by NM,
       14-Aug-1995.) $)
    3impdi $p |- ( ( ph /\ ps /\ ch ) -> th ) $=
      ( anandis 3impb ) ABCDABCDEFG $.
  $}

  ${
    3impdir.1 $e |- ( ( ( ph /\ ps ) /\ ( ch /\ ps ) ) -> th ) $.
    $( Importation inference (undistribute conjunction).  (Contributed by NM,
       20-Aug-1995.) $)
    3impdir $p |- ( ( ph /\ ch /\ ps ) -> th ) $=
      ( anandirs 3impa ) ACBDACBDEFG $.
  $}

  ${
    3anidm12.1 $e |- ( ( ph /\ ph /\ ps ) -> ch ) $.
    $( Inference from idempotent law for conjunction.  (Contributed by NM,
       7-Mar-2008.) $)
    3anidm12 $p |- ( ( ph /\ ps ) -> ch ) $=
      ( 3expib anabsi5 ) ABCAABCDEF $.
  $}

  ${
    3anidm13.1 $e |- ( ( ph /\ ps /\ ph ) -> ch ) $.
    $( Inference from idempotent law for conjunction.  (Contributed by NM,
       7-Mar-2008.) $)
    3anidm13 $p |- ( ( ph /\ ps ) -> ch ) $=
      ( 3com23 3anidm12 ) ABCABACDEF $.
  $}

  ${
    3anidm23.1 $e |- ( ( ph /\ ps /\ ps ) -> ch ) $.
    $( Inference from idempotent law for conjunction.  (Contributed by NM,
       1-Feb-2007.) $)
    3anidm23 $p |- ( ( ph /\ ps ) -> ch ) $=
      ( 3expa anabss3 ) ABCABBCDEF $.
  $}

  ${
    3ori.1 $e |- ( ph \/ ps \/ ch ) $.
    $( Infer implication from triple disjunction.  (Contributed by NM,
       26-Sep-2006.) $)
    3ori $p |- ( ( -. ph /\ -. ps ) -> ch ) $=
      ( wn wa wo ioran w3o df-3or mpbi ori sylbir ) AEBEFABGZECABHNCABCINCGDABC
      JKLM $.
  $}

  $( Disjunction of 3 antecedents.  (Contributed by NM, 8-Apr-1994.) $)
  3jao $p |- ( ( ( ph -> ps ) /\ ( ch -> ps ) /\ ( th -> ps ) ) ->
              ( ( ph \/ ch \/ th ) -> ps ) ) $=
    ( w3o wo wi w3a df-3or jao syl6 3imp syl5bi ) ACDEACFZDFZABGZCBGZDBGZHBACDI
    PQROBGZPQNBGRSGABCJNBDJKLM $.

  $( Disjunction of 3 antecedents.  (Contributed by NM, 13-Sep-2011.) $)
  3jaob $p |- ( ( ( ph \/ ch \/ th ) -> ps ) <->
              ( ( ph -> ps ) /\ ( ch -> ps ) /\ ( th -> ps ) ) ) $=
    ( w3o wi w3a 3mix1 imim1i 3mix2 3mix3 3jca 3jao impbii ) ACDEZBFZABFZCBFZDB
    FZGPQRSAOBACDHICOBCADJIDOBDACKILABCDMN $.

  ${
    3jaoi.1 $e |- ( ph -> ps ) $.
    3jaoi.2 $e |- ( ch -> ps ) $.
    3jaoi.3 $e |- ( th -> ps ) $.
    $( Disjunction of 3 antecedents (inference).  (Contributed by NM,
       12-Sep-1995.) $)
    3jaoi $p |- ( ( ph \/ ch \/ th ) -> ps ) $=
      ( wi w3a w3o 3pm3.2i 3jao ax-mp ) ABHZCBHZDBHZIACDJBHNOPEFGKABCDLM $.
  $}

  ${
    3jaod.1 $e |- ( ph -> ( ps -> ch ) ) $.
    3jaod.2 $e |- ( ph -> ( th -> ch ) ) $.
    3jaod.3 $e |- ( ph -> ( ta -> ch ) ) $.
    $( Disjunction of 3 antecedents (deduction).  (Contributed by NM,
       14-Oct-2005.) $)
    3jaod $p |- ( ph -> ( ( ps \/ th \/ ta ) -> ch ) ) $=
      ( wi w3o 3jao syl3anc ) ABCIDCIECIBDEJCIFGHBCDEKL $.
  $}

  ${
    3jaoian.1 $e |- ( ( ph /\ ps ) -> ch ) $.
    3jaoian.2 $e |- ( ( th /\ ps ) -> ch ) $.
    3jaoian.3 $e |- ( ( ta /\ ps ) -> ch ) $.
    $( Disjunction of 3 antecedents (inference).  (Contributed by NM,
       14-Oct-2005.) $)
    3jaoian $p |- ( ( ( ph \/ th \/ ta ) /\ ps ) -> ch ) $=
      ( w3o wi ex 3jaoi imp ) ADEIBCABCJDEABCFKDBCGKEBCHKLM $.
  $}

  ${
    3jaodan.1 $e |- ( ( ph /\ ps ) -> ch ) $.
    3jaodan.2 $e |- ( ( ph /\ th ) -> ch ) $.
    3jaodan.3 $e |- ( ( ph /\ ta ) -> ch ) $.
    $( Disjunction of 3 antecedents (deduction).  (Contributed by NM,
       14-Oct-2005.) $)
    3jaodan $p |- ( ( ph /\ ( ps \/ th \/ ta ) ) -> ch ) $=
      ( w3o ex 3jaod imp ) ABDEICABCDEABCFJADCGJAECHJKL $.
  $}

  ${
    3jaao.1 $e |- ( ph -> ( ps -> ch ) ) $.
    3jaao.2 $e |- ( th -> ( ta -> ch ) ) $.
    3jaao.3 $e |- ( et -> ( ze -> ch ) ) $.
    $( Inference conjoining and disjoining the antecedents of three
       implications.  (Contributed by Jeff Hankins, 15-Aug-2009.)  (Proof
       shortened by Andrew Salmon, 13-May-2011.) $)
    3jaao $p |- ( ( ph /\ th /\ et ) -> ( ( ps \/ ta \/ ze ) -> ch ) ) $=
      ( w3a wi 3ad2ant1 3ad2ant2 3ad2ant3 3jaod ) ADFKBCEGADBCLFHMDAECLFINFAGCL
      DJOP $.
  $}

  ${
    syl3an9b.1 $e |- ( ph -> ( ps <-> ch ) ) $.
    syl3an9b.2 $e |- ( th -> ( ch <-> ta ) ) $.
    syl3an9b.3 $e |- ( et -> ( ta <-> ze ) ) $.
    $( Nested syllogism inference conjoining 3 dissimilar antecedents.
       (Contributed by NM, 1-May-1995.) $)
    syl3an9b $p |- ( ( ph /\ th /\ et ) -> ( ps <-> ze ) ) $=
      ( wb wa sylan9bb 3impa ) ADFBGKADLBEFGABCDEHIMJMN $.
  $}

  ${
    bi3d.1 $e |- ( ph -> ( ps <-> ch ) ) $.
    bi3d.2 $e |- ( ph -> ( th <-> ta ) ) $.
    bi3d.3 $e |- ( ph -> ( et <-> ze ) ) $.
    $( Deduction joining 3 equivalences to form equivalence of disjunctions.
       (Contributed by NM, 20-Apr-1994.) $)
    3orbi123d $p |- ( ph -> ( ( ps \/ th \/ et ) <-> ( ch \/ ta \/ ze ) ) ) $=
      ( wo w3o orbi12d df-3or 3bitr4g ) ABDKZFKCEKZGKBDFLCEGLAPQFGABCDEHIMJMBDF
      NCEGNO $.

    $( Deduction joining 3 equivalences to form equivalence of conjunctions.
       (Contributed by NM, 22-Apr-1994.) $)
    3anbi123d $p |- ( ph -> ( ( ps /\ th /\ et ) <-> ( ch /\ ta /\ ze ) ) ) $=
      ( wa w3a anbi12d df-3an 3bitr4g ) ABDKZFKCEKZGKBDFLCEGLAPQFGABCDEHIMJMBDF
      NCEGNO $.
  $}

  ${
    3anbi12d.1 $e |- ( ph -> ( ps <-> ch ) ) $.
    3anbi12d.2 $e |- ( ph -> ( th <-> ta ) ) $.
    $( Deduction conjoining and adding a conjunct to equivalences.
       (Contributed by NM, 8-Sep-2006.) $)
    3anbi12d $p |- ( ph -> ( ( ps /\ th /\ et ) <-> ( ch /\ ta /\ et ) ) ) $=
      ( biidd 3anbi123d ) ABCDEFFGHAFIJ $.

    $( Deduction conjoining and adding a conjunct to equivalences.
       (Contributed by NM, 8-Sep-2006.) $)
    3anbi13d $p |- ( ph -> ( ( ps /\ et /\ th ) <-> ( ch /\ et /\ ta ) ) ) $=
      ( biidd 3anbi123d ) ABCFFDEGAFIHJ $.

    $( Deduction conjoining and adding a conjunct to equivalences.
       (Contributed by NM, 8-Sep-2006.) $)
    3anbi23d $p |- ( ph -> ( ( et /\ ps /\ th ) <-> ( et /\ ch /\ ta ) ) ) $=
      ( biidd 3anbi123d ) AFFBCDEAFIGHJ $.
  $}

  ${
    3anbi1d.1 $e |- ( ph -> ( ps <-> ch ) ) $.
    $( Deduction adding conjuncts to an equivalence.  (Contributed by NM,
       8-Sep-2006.) $)
    3anbi1d $p |- ( ph -> ( ( ps /\ th /\ ta ) <-> ( ch /\ th /\ ta ) ) ) $=
      ( biidd 3anbi12d ) ABCDDEFADGH $.

    $( Deduction adding conjuncts to an equivalence.  (Contributed by NM,
       8-Sep-2006.) $)
    3anbi2d $p |- ( ph -> ( ( th /\ ps /\ ta ) <-> ( th /\ ch /\ ta ) ) ) $=
      ( biidd 3anbi12d ) ADDBCEADGFH $.

    $( Deduction adding conjuncts to an equivalence.  (Contributed by NM,
       8-Sep-2006.) $)
    3anbi3d $p |- ( ph -> ( ( th /\ ta /\ ps ) <-> ( th /\ ta /\ ch ) ) ) $=
      ( biidd 3anbi13d ) ADDBCEADGFH $.
  $}

  ${
    3anim123d.1 $e |- ( ph -> ( ps -> ch ) ) $.
    3anim123d.2 $e |- ( ph -> ( th -> ta ) ) $.
    3anim123d.3 $e |- ( ph -> ( et -> ze ) ) $.
    $( Deduction joining 3 implications to form implication of conjunctions.
       (Contributed by NM, 24-Feb-2005.) $)
    3anim123d $p |- ( ph -> ( ( ps /\ th /\ et ) -> ( ch /\ ta /\ ze ) ) ) $=
      ( wa w3a anim12d df-3an 3imtr4g ) ABDKZFKCEKZGKBDFLCEGLAPQFGABCDEHIMJMBDF
      NCEGNO $.

    $( Deduction joining 3 implications to form implication of disjunctions.
       (Contributed by NM, 4-Apr-1997.) $)
    3orim123d $p |- ( ph -> ( ( ps \/ th \/ et ) -> ( ch \/ ta \/ ze ) ) ) $=
      ( wo w3o orim12d df-3or 3imtr4g ) ABDKZFKCEKZGKBDFLCEGLAPQFGABCDEHIMJMBDF
      NCEGNO $.
  $}

  $( Rearrangement of 6 conjuncts.  (Contributed by NM, 13-Mar-1995.) $)
  an6 $p |- ( ( ( ph /\ ps /\ ch ) /\ ( th /\ ta /\ et ) ) <->
              ( ( ph /\ th ) /\ ( ps /\ ta ) /\ ( ch /\ et ) ) ) $=
    ( wa w3a an4 anbi1i bitri df-3an anbi12i 3bitr4i ) ABGZCGZDEGZFGZGZADGZBEGZ
    GZCFGZGZABCHZDEFHZGTUAUCHSOQGZUCGUDOCQFIUGUBUCABDEIJKUEPUFRABCLDEFLMTUAUCLN
    $.

  $( Analog of ~ an4 for triple conjunction.  (Contributed by Scott Fenton,
     16-Mar-2011.)  (Proof shortened by Andrew Salmon, 25-May-2011.) $)
  3an6 $p |- ( ( ( ph /\ ps ) /\ ( ch /\ th ) /\ ( ta /\ et ) ) <->
                ( ( ph /\ ch /\ ta ) /\ ( ps /\ th /\ et ) ) ) $=
    ( w3a wa an6 bicomi ) ACEGBDFGHABHCDHEFHGACEBDFIJ $.

  $( Analog of ~ or4 for triple conjunction.  (Contributed by Scott Fenton,
     16-Mar-2011.) $)
  3or6 $p |- ( ( ( ph \/ ps ) \/ ( ch \/ th ) \/ ( ta \/ et ) ) <->
                ( ( ph \/ ch \/ ta ) \/ ( ps \/ th \/ et ) ) ) $=
    ( wo w3o or4 orbi1i bitr2i df-3or orbi12i 3bitr4i ) ABGZCDGZGZEFGZGZACGZEGZ
    BDGZFGZGZOPRHACEHZBDFHZGUDTUBGZRGSTEUBFIUGQRACBDIJKOPRLUEUAUFUCACELBDFLMN
    $.

  ${
    mp3an1.1 $e |- ph $.
    mp3an1.2 $e |- ( ( ph /\ ps /\ ch ) -> th ) $.
    $( An inference based on modus ponens.  (Contributed by NM,
       21-Nov-1994.) $)
    mp3an1 $p |- ( ( ps /\ ch ) -> th ) $=
      ( wa 3expb mpan ) ABCGDEABCDFHI $.
  $}

  ${
    mp3an2.1 $e |- ps $.
    mp3an2.2 $e |- ( ( ph /\ ps /\ ch ) -> th ) $.
    $( An inference based on modus ponens.  (Contributed by NM,
       21-Nov-1994.) $)
    mp3an2 $p |- ( ( ph /\ ch ) -> th ) $=
      ( 3expa mpanl2 ) ABCDEABCDFGH $.
  $}

  ${
    mp3an3.1 $e |- ch $.
    mp3an3.2 $e |- ( ( ph /\ ps /\ ch ) -> th ) $.
    $( An inference based on modus ponens.  (Contributed by NM,
       21-Nov-1994.) $)
    mp3an3 $p |- ( ( ph /\ ps ) -> th ) $=
      ( wa 3expia mpi ) ABGCDEABCDFHI $.
  $}

  ${
    mp3an12.1 $e |- ph $.
    mp3an12.2 $e |- ps $.
    mp3an12.3 $e |- ( ( ph /\ ps /\ ch ) -> th ) $.
    $( An inference based on modus ponens.  (Contributed by NM,
       13-Jul-2005.) $)
    mp3an12 $p |- ( ch -> th ) $=
      ( mp3an1 mpan ) BCDFABCDEGHI $.
  $}

  ${
    mp3an13.1 $e |- ph $.
    mp3an13.2 $e |- ch $.
    mp3an13.3 $e |- ( ( ph /\ ps /\ ch ) -> th ) $.
    $( An inference based on modus ponens.  (Contributed by NM,
       14-Jul-2005.) $)
    mp3an13 $p |- ( ps -> th ) $=
      ( mp3an3 mpan ) ABDEABCDFGHI $.
  $}

  ${
    mp3an23.1 $e |- ps $.
    mp3an23.2 $e |- ch $.
    mp3an23.3 $e |- ( ( ph /\ ps /\ ch ) -> th ) $.
    $( An inference based on modus ponens.  (Contributed by NM,
       14-Jul-2005.) $)
    mp3an23 $p |- ( ph -> th ) $=
      ( mp3an3 mpan2 ) ABDEABCDFGHI $.
  $}

  ${
    mp3an1i.1 $e |- ps $.
    mp3an1i.2 $e |- ( ph -> ( ( ps /\ ch /\ th ) -> ta ) ) $.
    $( An inference based on modus ponens.  (Contributed by NM, 5-Jul-2005.) $)
    mp3an1i $p |- ( ph -> ( ( ch /\ th ) -> ta ) ) $=
      ( wa wi w3a com12 mp3an1 ) CDHAEBCDAEIFABCDJEGKLK $.
  $}

  ${
    mp3anl1.1 $e |- ph $.
    mp3anl1.2 $e |- ( ( ( ph /\ ps /\ ch ) /\ th ) -> ta ) $.
    $( An inference based on modus ponens.  (Contributed by NM,
       24-Feb-2005.) $)
    mp3anl1 $p |- ( ( ( ps /\ ch ) /\ th ) -> ta ) $=
      ( wa wi w3a ex mp3an1 imp ) BCHDEABCDEIFABCJDEGKLM $.
  $}

  ${
    mp3anl2.1 $e |- ps $.
    mp3anl2.2 $e |- ( ( ( ph /\ ps /\ ch ) /\ th ) -> ta ) $.
    $( An inference based on modus ponens.  (Contributed by NM,
       24-Feb-2005.) $)
    mp3anl2 $p |- ( ( ( ph /\ ch ) /\ th ) -> ta ) $=
      ( wa wi w3a ex mp3an2 imp ) ACHDEABCDEIFABCJDEGKLM $.
  $}

  ${
    mp3anl3.1 $e |- ch $.
    mp3anl3.2 $e |- ( ( ( ph /\ ps /\ ch ) /\ th ) -> ta ) $.
    $( An inference based on modus ponens.  (Contributed by NM,
       24-Feb-2005.) $)
    mp3anl3 $p |- ( ( ( ph /\ ps ) /\ th ) -> ta ) $=
      ( wa wi w3a ex mp3an3 imp ) ABHDEABCDEIFABCJDEGKLM $.
  $}

  ${
    mp3anr1.1 $e |- ps $.
    mp3anr1.2 $e |- ( ( ph /\ ( ps /\ ch /\ th ) ) -> ta ) $.
    $( An inference based on modus ponens.  (Contributed by NM, 4-Nov-2006.) $)
    mp3anr1 $p |- ( ( ph /\ ( ch /\ th ) ) -> ta ) $=
      ( wa w3a ancoms mp3anl1 ) CDHAEBCDAEFABCDIEGJKJ $.
  $}

  ${
    mp3anr2.1 $e |- ch $.
    mp3anr2.2 $e |- ( ( ph /\ ( ps /\ ch /\ th ) ) -> ta ) $.
    $( An inference based on modus ponens.  (Contributed by NM,
       24-Nov-2006.) $)
    mp3anr2 $p |- ( ( ph /\ ( ps /\ th ) ) -> ta ) $=
      ( wa w3a ancoms mp3anl2 ) BDHAEBCDAEFABCDIEGJKJ $.
  $}

  ${
    mp3anr3.1 $e |- th $.
    mp3anr3.2 $e |- ( ( ph /\ ( ps /\ ch /\ th ) ) -> ta ) $.
    $( An inference based on modus ponens.  (Contributed by NM,
       19-Oct-2007.) $)
    mp3anr3 $p |- ( ( ph /\ ( ps /\ ch ) ) -> ta ) $=
      ( wa w3a ancoms mp3anl3 ) BCHAEBCDAEFABCDIEGJKJ $.
  $}

  ${
    mp3an.1 $e |- ph $.
    mp3an.2 $e |- ps $.
    mp3an.3 $e |- ch $.
    mp3an.4 $e |- ( ( ph /\ ps /\ ch ) -> th ) $.
    $( An inference based on modus ponens.  (Contributed by NM,
       14-May-1999.) $)
    mp3an $p |- th $=
      ( mp3an1 mp2an ) BCDFGABCDEHIJ $.
  $}

  ${
    mpd3an3.2 $e |- ( ( ph /\ ps ) -> ch ) $.
    mpd3an3.3 $e |- ( ( ph /\ ps /\ ch ) -> th ) $.
    $( An inference based on modus ponens.  (Contributed by NM, 8-Nov-2007.) $)
    mpd3an3 $p |- ( ( ph /\ ps ) -> th ) $=
      ( wa 3expa mpdan ) ABGCDEABCDFHI $.
  $}

  ${
    mpd3an23.1 $e |- ( ph -> ps ) $.
    mpd3an23.2 $e |- ( ph -> ch ) $.
    mpd3an23.3 $e |- ( ( ph /\ ps /\ ch ) -> th ) $.
    $( An inference based on modus ponens.  (Contributed by NM, 4-Dec-2006.) $)
    mpd3an23 $p |- ( ph -> th ) $=
      ( id syl3anc ) AABCDAHEFGI $.
  $}

  ${
    mp3and.1 $e |- ( ph -> ps ) $.
    mp3and.2 $e |- ( ph -> ch ) $.
    mp3and.3 $e |- ( ph -> th ) $.
    mp3and.4 $e |- ( ph -> ( ( ps /\ ch /\ th ) -> ta ) ) $.
    $( A deduction based on modus ponens.  (Contributed by Mario Carneiro,
       24-Dec-2016.) $)
    mp3and $p |- ( ph -> ta ) $=
      ( w3a 3jca mpd ) ABCDJEABCDFGHKIL $.
  $}

  ${
    biimp3a.1 $e |- ( ( ph /\ ps ) -> ( ch <-> th ) ) $.
    $( Infer implication from a logical equivalence.  Similar to ~ biimpa .
       (Contributed by NM, 4-Sep-2005.) $)
    biimp3a $p |- ( ( ph /\ ps /\ ch ) -> th ) $=
      ( wa biimpa 3impa ) ABCDABFCDEGH $.

    $( Infer implication from a logical equivalence.  Similar to ~ biimpar .
       (Contributed by NM, 2-Jan-2009.) $)
    biimp3ar $p |- ( ( ph /\ ps /\ th ) -> ch ) $=
      ( exbiri 3imp ) ABDCABCDEFG $.
  $}

  ${
    3anandis.1 $e |- ( ( ( ph /\ ps ) /\ ( ph /\ ch ) /\ ( ph /\ th ) )
                      -> ta ) $.
    $( Inference that undistributes a triple conjunction in the antecedent.
       (Contributed by NM, 18-Apr-2007.) $)
    3anandis $p |- ( ( ph /\ ( ps /\ ch /\ th ) ) -> ta ) $=
      ( w3a wa simpl simpr1 simpr2 simpr3 syl222anc ) ABCDGZHABACADEANIZABCDJOA
      BCDKOABCDLFM $.
  $}

  ${
    3anandirs.1 $e |- ( ( ( ph /\ th ) /\ ( ps /\ th ) /\ ( ch /\ th ) )
                      -> ta ) $.
    $( Inference that undistributes a triple conjunction in the antecedent.
       (Contributed by NM, 25-Jul-2006.) $)
    3anandirs $p |- ( ( ( ph /\ ps /\ ch ) /\ th ) -> ta ) $=
      ( w3a wa simpl1 simpr simpl2 simpl3 syl222anc ) ABCGZDHADBDCDEABCDINDJZAB
      CDKOABCDLOFM $.
  $}

  ${
    ecase23d.1 $e |- ( ph -> -. ch ) $.
    ecase23d.2 $e |- ( ph -> -. th ) $.
    ecase23d.3 $e |- ( ph -> ( ps \/ ch \/ th ) ) $.
    $( Deduction for elimination by cases.  (Contributed by NM,
       22-Apr-1994.) $)
    ecase23d $p |- ( ph -> ps ) $=
      ( wo wn ioran sylanbrc w3o 3orass sylib ord mt3d ) ABCDHZACIDIQIEFCDJKABQ
      ABCDLBQHGBCDMNOP $.
  $}

  ${
    3ecase.1 $e |- ( -. ph -> th ) $.
    3ecase.2 $e |- ( -. ps -> th ) $.
    3ecase.3 $e |- ( -. ch -> th ) $.
    3ecase.4 $e |- ( ( ph /\ ps /\ ch ) -> th ) $.
    $( Inference for elimination by cases.  (Contributed by NM,
       13-Jul-2005.) $)
    3ecase $p |- th $=
      ( wi 3exp wn a1d pm2.61i pm2.61nii ) BCDABCDIZIABCDHJAKZOBPDCELLMFGN $.
  $}

$(
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
        Logical 'nand' (Sheffer stroke)
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
$)

  $( Declare connective for alternative denial ('nand'). $)
  $c -/\ $. $( Overlined 'wedge' (read:  'nand') $)

  $( Extend wff definition to include alternative denial ('nand'). $)
  wnan $a wff ( ph -/\ ps ) $.

  $( Define incompatibility, or alternative denial ('not-and' or 'nand').  This
     is also called the Sheffer stroke, represented by a vertical bar, but we
     use a different symbol to avoid ambiguity with other uses of the vertical
     bar.  In the second edition of Principia Mathematica (1927), Russell and
     Whitehead used the Sheffer stroke and suggested it as a replacement for
     the "or" and "not" operations of the first edition.  However, in practice,
     "or" and "not" are more widely used.  After we define the constant true
     ` T. ` ( ~ df-tru ) and the constant false ` F. ` ( ~ df-fal ), we will be
     able to prove these truth table values: ` ( ( T. -/\ T. ) <-> F. ) `
     ( ~ trunantru ), ` ( ( T. -/\ F. ) <-> T. ) ` ( ~ trunanfal ),
     ` ( ( F. -/\ T. ) <-> T. ) ` ( ~ falnantru ), and
     ` ( ( F. -/\ F. ) <-> T. ) ` ( ~ falnanfal ).  Contrast with ` /\ `
     ( ~ df-an ), ` \/ ` ( ~ df-or ), ` -> ` ( ~ wi ), and ` \/_ `
     ( ~ df-xor ) .  (Contributed by Jeff Hoffman, 19-Nov-2007.) $)
  df-nan $a |- ( ( ph -/\ ps ) <-> -. ( ph /\ ps ) ) $.

  $( Write 'and' in terms of 'nand'.  (Contributed by Mario Carneiro,
     9-May-2015.) $)
  nanan $p |- ( ( ph /\ ps ) <-> -. ( ph -/\ ps ) ) $=
    ( wnan wa df-nan con2bii ) ABCABDABEF $.

  $( The 'nand' operator commutes.  (Contributed by Mario Carneiro,
     9-May-2015.) $)
  nancom $p |- ( ( ph -/\ ps ) <-> ( ps -/\ ph ) ) $=
    ( wa wn wnan ancom notbii df-nan 3bitr4i ) ABCZDBACZDABEBAEJKABFGABHBAHI $.

  $( Lemma for handling nested 'nand's.  (Contributed by Jeff Hoffman,
     19-Nov-2007.) $)
  nannan $p |- ( ( ph -/\ ( ch -/\ ps ) ) <-> ( ph -> ( ch /\ ps ) ) ) $=
    ( wnan wa wn wi df-nan anbi2i xchbinx iman bitr4i ) ACBDZDZACBEZFZEZFAOGNAM
    EQAMHMPACBHIJAOKL $.

  $( Show equivalence between implication and the Nicod version.  To derive
     ~ nic-dfim , apply ~ nanbi .  (Contributed by Jeff Hoffman,
     19-Nov-2007.) $)
  nanim $p |- ( ( ph -> ps ) <-> ( ph -/\ ( ps -/\ ps ) ) ) $=
    ( wnan wa wi nannan anidmdbi bitr2i ) ABBCCABBDEABEABBFABGH $.

  $( Show equivalence between negation and the Nicod version.  To derive
     ~ nic-dfneg , apply ~ nanbi .  (Contributed by Jeff Hoffman,
     19-Nov-2007.) $)
  nannot $p |- ( -. ps <-> ( ps -/\ ps ) ) $=
    ( wnan wn wa df-nan anidm xchbinx bicomi ) AABZACIAADAAAEAFGH $.

  $( Show equivalence between the bidirectional and the Nicod version.
     (Contributed by Jeff Hoffman, 19-Nov-2007.) $)
  nanbi $p |- ( ( ph <-> ps ) <->
          ( ( ph -/\ ps ) -/\ ( ( ph -/\ ph ) -/\ ( ps -/\ ps ) ) ) ) $=
    ( wa wn wo wb pm4.57 df-nan nannot anbi12i xchbinxr xchbinx dfbi3 3bitr4ri
    wnan ) ABCZDZADZBDZCZDZCZDPTEABOZAAOZBBOZOZOZABFPTGUGUCUFCUBUCUFHUCQUFUAABH
    UFUDUECTUDUEHRUDSUEAIBIJKJLABMN $.

  $( Introduce a right anti-conjunct to both sides of a logical equivalence.
     (Contributed by SF, 2-Jan-2018.) $)
  nanbi1 $p |- ( ( ph <-> ps ) -> ( ( ph -/\ ch ) <-> ( ps -/\ ch ) ) ) $=
    ( wb wa wn wnan anbi1 notbid df-nan 3bitr4g ) ABDZACEZFBCEZFACGBCGLMNABCHIA
    CJBCJK $.

  $( Introduce a left anti-conjunct to both sides of a logical equivalence.
     (Contributed by SF, 2-Jan-2018.) $)
  nanbi2 $p |- ( ( ph <-> ps ) -> ( ( ch -/\ ph ) <-> ( ch -/\ ps ) ) ) $=
    ( wb wnan nanbi1 nancom 3bitr4g ) ABDACEBCECAECBEABCFCAGCBGH $.

  $( Join two logical equivalences with anti-conjunction.  (Contributed by SF,
     2-Jan-2018.) $)
  nanbi12 $p |- ( ( ( ph <-> ps ) /\ ( ch <-> th ) ) ->
     ( ( ph -/\ ch ) <-> ( ps -/\ th ) ) ) $=
    ( wb wnan nanbi1 nanbi2 sylan9bb ) ABEACFBCFCDEBDFABCGCDBHI $.

  ${
    nanbii.1 $e |- ( ph <-> ps ) $.
    $( Introduce a right anti-conjunct to both sides of a logical equivalence.
       (Contributed by SF, 2-Jan-2018.) $)
    nanbi1i $p |- ( ( ph -/\ ch ) <-> ( ps -/\ ch ) ) $=
      ( wb wnan nanbi1 ax-mp ) ABEACFBCFEDABCGH $.

    $( Introduce a left anti-conjunct to both sides of a logical equivalence.
       (Contributed by SF, 2-Jan-2018.) $)
    nanbi2i $p |- ( ( ch -/\ ph ) <-> ( ch -/\ ps ) ) $=
      ( wb wnan nanbi2 ax-mp ) ABECAFCBFEDABCGH $.

    nanbi12i.2 $e |- ( ch <-> th ) $.
    $( Join two logical equivalences with anti-conjunction.  (Contributed by
       SF, 2-Jan-2018.) $)
    nanbi12i $p |- ( ( ph -/\ ch ) <-> ( ps -/\ th ) ) $=
      ( wb wnan nanbi12 mp2an ) ABGCDGACHBDHGEFABCDIJ $.

  $}

  ${
    nanbid.1 $e |- ( ph -> ( ps <-> ch ) ) $.
    $( Introduce a right anti-conjunct to both sides of a logical equivalence.
       (Contributed by SF, 2-Jan-2018.) $)
    nanbi1d $p |- ( ph -> ( ( ps -/\ th ) <-> ( ch -/\ th ) ) ) $=
      ( wb wnan nanbi1 syl ) ABCFBDGCDGFEBCDHI $.

    $( Introduce a left anti-conjunct to both sides of a logical equivalence.
       (Contributed by SF, 2-Jan-2018.) $)
    nanbi2d $p |- ( ph -> ( ( th -/\ ps ) <-> ( th -/\ ch ) ) ) $=
      ( wb wnan nanbi2 syl ) ABCFDBGDCGFEBCDHI $.

    nanbi12d.2 $e |- ( ph -> ( th <-> ta ) ) $.
    $( Join two logical equivalences with anti-conjunction.  (Contributed by
       Scott Fenton, 2-Jan-2018.) $)
    nanbi12d $p |- ( ph -> ( ( ps -/\ th ) <-> ( ch -/\ ta ) ) ) $=
      ( wb wnan nanbi12 syl2anc ) ABCHDEHBDICEIHFGBCDEJK $.

  $}

$(
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
        Logical 'xor'
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
$)

  $( Declare connective for exclusive disjunction ('xor'). $)
  $c \/_ $. $( Underlined 'vee' (read:  'xor') $)

  $( Extend wff definition to include exclusive disjunction ('xor'). $)
  wxo $a wff ( ph \/_ ps ) $.

  $( Define exclusive disjunction (logical 'xor').  Return true if either the
     left or right, but not both, are true.  After we define the constant true
     ` T. ` ( ~ df-tru ) and the constant false ` F. ` ( ~ df-fal ), we will be
     able to prove these truth table values: ` ( ( T. \/_ T. ) <-> F. ) `
     ( ~ truxortru ), ` ( ( T. \/_ F. ) <-> T. ) ` ( ~ truxorfal ),
     ` ( ( F. \/_ T. ) <-> T. ) ` ( ~ falxortru ), and
     ` ( ( F. \/_ F. ) <-> F. ) ` ( ~ falxorfal ).  Contrast with ` /\ `
     ( ~ df-an ), ` \/ ` ( ~ df-or ), ` -> ` ( ~ wi ), and ` -/\ `
     ( ~ df-nan ) .  (Contributed by FL, 22-Nov-2010.) $)
  df-xor $a |- ( ( ph \/_ ps ) <-> -. ( ph <-> ps ) ) $.

  $( Two ways to write XNOR. (Contributed by Mario Carneiro, 4-Sep-2016.) $)
  xnor $p |- ( ( ph <-> ps ) <-> -. ( ph \/_ ps ) ) $=
    ( wxo wb df-xor con2bii ) ABCABDABEF $.

  $( ` \/_ ` is commutative.  (Contributed by Mario Carneiro, 4-Sep-2016.) $)
  xorcom $p |- ( ( ph \/_ ps ) <-> ( ps \/_ ph ) ) $=
    ( wb wn wxo bicom notbii df-xor 3bitr4i ) ABCZDBACZDABEBAEJKABFGABHBAHI $.

  $( ` \/_ ` is associative.  (Contributed by FL, 22-Nov-2010.)  (Proof
     shortened by Andrew Salmon, 8-Jun-2011.) $)
  xorass $p |- ( ( ( ph \/_ ps ) \/_ ch ) <-> ( ph \/_ ( ps \/_ ch ) ) ) $=
    ( wxo wb wn biass notbii nbbn pm5.18 con2bii 3bitr4i df-xor bibi1i bibi2i )
    ABDZCEZFABCDZEZFPCDARDQSABEZFZCEZABCEZFZEZQSTCEZFAUCEZFUBUEUFUGABCGHTCIUGUE
    AUCJKLPUACABMNRUDABCMOLHPCMARML $.

  $( This tautology shows that xor is really exclusive.  (Contributed by FL,
     22-Nov-2010.) $)
  excxor $p |- ( ( ph \/_ ps ) <->
       ( ( ph /\ -. ps ) \/ ( -. ph /\ ps ) ) ) $=
    ( wxo wb wn wa wo df-xor xor ancom orbi2i 3bitri ) ABCABDEABEFZBAEZFZGMNBFZ
    GABHABIOPMBNJKL $.

  $( Two ways to express "exclusive or."  (Contributed by Mario Carneiro,
     4-Sep-2016.) $)
  xor2 $p |- ( ( ph \/_ ps ) <->
       ( ( ph \/ ps ) /\ -. ( ph /\ ps ) ) ) $=
    ( wxo wb wn wo wa df-xor nbi2 bitri ) ABCABDEABFABGEGABHABIJ $.

  $( ` \/_ ` is negated under negation of one argument.  (Contributed by Mario
     Carneiro, 4-Sep-2016.) $)
  xorneg1 $p |- ( ( -. ph \/_ ps ) <-> -. ( ph \/_ ps ) ) $=
    ( wn wxo wb df-xor nbbn con2bii xnor 3bitr2i ) ACZBDKBEZCABEZABDCKBFLMABGHA
    BIJ $.

  $( ` \/_ ` is negated under negation of one argument.  (Contributed by Mario
     Carneiro, 4-Sep-2016.) $)
  xorneg2 $p |- ( ( ph \/_ -. ps ) <-> -. ( ph \/_ ps ) ) $=
    ( wn wxo xorneg1 xorcom notbii 3bitr4i ) BCZADBADZCAIDABDZCBAEAIFKJABFGH $.

  $( ` \/_ ` is unchanged under negation of both arguments.  (Contributed by
     Mario Carneiro, 4-Sep-2016.) $)
  xorneg $p |- ( ( -. ph \/_ -. ps ) <-> ( ph \/_ ps ) ) $=
    ( wn wxo xorneg1 xorneg2 con2bii bitr4i ) ACBCZDAIDZCABDZAIEJKABFGH $.

  ${
    xorbi12.1 $e |- ( ph <-> ps ) $.
    xorbi12.2 $e |- ( ch <-> th ) $.
    $( Equality property for XOR. (Contributed by Mario Carneiro,
       4-Sep-2016.) $)
    xorbi12i $p |- ( ( ph \/_ ch ) <-> ( ps \/_ th ) ) $=
      ( wb wn wxo bibi12i notbii df-xor 3bitr4i ) ACGZHBDGZHACIBDINOABCDEFJKACL
      BDLM $.
  $}

  ${
    xor12d.1 $e |- ( ph -> ( ps <-> ch ) ) $.
    xor12d.2 $e |- ( ph -> ( th <-> ta ) ) $.
    $( Equality property for XOR. (Contributed by Mario Carneiro,
       4-Sep-2016.) $)
    xorbi12d $p |- ( ph -> ( ( ps \/_ th ) <-> ( ch \/_ ta ) ) ) $=
      ( wb wn wxo bibi12d notbid df-xor 3bitr4g ) ABDHZICEHZIBDJCEJAOPABCDEFGKL
      BDMCEMN $.
  $}

$(
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
                True and false constants
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
$)

  $c T. $.
  $c F. $.

  $( ` T. ` is a wff. $)
  wtru $a wff T. $.

  $( ` F. ` is a wff. $)
  wfal $a wff F. $.

  $( Soundness justification theorem for ~ df-tru .  (Contributed by Mario
     Carneiro, 17-Nov-2013.) $)
  trujust $p |- ( ( ph <-> ph ) <-> ( ps <-> ps ) ) $=
    ( wb biid 2th ) AACBBCADBDE $.

  $( Definition of ` T. ` , a tautology. ` T. ` is a constant true.  In this
     definition ~ biid is used as an antecedent, however, any true wff, such as
     an axiom, can be used in its place.  (Contributed by Anthony Hart,
     13-Oct-2010.) $)
  df-tru $a |- ( T. <-> ( ph <-> ph ) ) $.

  $( Definition of ` F. ` , a contradiction. ` F. ` is a constant false.
     (Contributed by Anthony Hart, 22-Oct-2010.) $)
  df-fal $a |- ( F. <-> -. T. ) $.

  $( ` T. ` is provable.  (Contributed by Anthony Hart, 13-Oct-2010.) $)
  tru $p |- T. $=
    ( wph wtru wb biid df-tru mpbir ) BAACADAEF $.

  $( ` F. ` is refutable.  (Contributed by Anthony Hart, 22-Oct-2010.)  (Proof
     shortened by Mel L. O'Cat, 11-Mar-2012.) $)
  fal $p |- -. F. $=
    ( wfal wtru wn tru notnoti df-fal mtbir ) ABCBDEFG $.

  ${
    trud.1 $e |- ( T. -> ph ) $.
    $( Eliminate ` T. ` as an antecedent.  (Contributed by Mario Carneiro,
       13-Mar-2014.) $)
    trud $p |- ph $=
      ( wtru tru ax-mp ) CADBE $.
  $}

  $( If something is true, it outputs ` T. ` .  (Contributed by Anthony Hart,
     14-Aug-2011.) $)
  tbtru $p |- ( ph <-> ( ph <-> T. ) ) $=
    ( wtru tru tbt ) BACD $.

  $( If something is not true, it outputs ` F. ` .  (Contributed by Anthony
     Hart, 14-Aug-2011.) $)
  nbfal $p |- ( -. ph <-> ( ph <-> F. ) ) $=
    ( wfal fal nbn ) BACD $.

  ${
    bitru.1 $e |- ph $.
    $( A theorem is equivalent to truth.  (Contributed by Mario Carneiro,
       9-May-2015.) $)
    bitru $p |- ( ph <-> T. ) $=
      ( wtru tru 2th ) ACBDE $.
  $}

  ${
    bifal.1 $e |- -. ph $.
    $( A contradiction is equivalent to falsehood.  (Contributed by Mario
       Carneiro, 9-May-2015.) $)
    bifal $p |- ( ph <-> F. ) $=
      ( wfal fal 2false ) ACBDE $.
  $}

  $( ` F. ` implies anything.  (Contributed by FL, 20-Mar-2011.)  (Proof
     shortened by Anthony Hart, 1-Aug-2011.) $)
  falim $p |- ( F. -> ph ) $=
    ( wfal fal pm2.21i ) BACD $.

  $( ` F. ` implies anything.  (Contributed by Mario Carneiro, 9-Feb-2017.) $)
  falimd $p |- ( ( ph /\ F. ) -> ps ) $=
    ( wfal falim adantl ) CBABDE $.

  $( Anything implies ` T. ` .  (Contributed by FL, 20-Mar-2011.)  (Proof
     shortened by Anthony Hart, 1-Aug-2011.) $)
  a1tru $p |- ( ph -> T. ) $=
    ( wtru tru a1i ) BACD $.

  $( True can be removed from a conjunction.  (Contributed by FL,
     20-Mar-2011.) $)
  truan $p |- ( ( T. /\ ph ) <-> ph ) $=
    ( wtru wa simpr a1tru ancri impbii ) BACABADABAEFG $.

  $( Given falsum, we can define the negation of a wff ` ph ` as the statement
     that a contradiction follows from assuming ` ph ` .  (Contributed by Mario
     Carneiro, 9-Feb-2017.) $)
  dfnot $p |- ( -. ph <-> ( ph -> F. ) ) $=
    ( wn wfal wi pm2.21 id falim ja impbii ) ABZACDACEACJJFJGHI $.

  ${
    inegd.1 $e |- ( ( ph /\ ps ) -> F. ) $.
    $( Negation introduction rule from natural deduction.  (Contributed by
       Mario Carneiro, 9-Feb-2017.) $)
    inegd $p |- ( ph -> -. ps ) $=
      ( wfal wi wn ex dfnot sylibr ) ABDEBFABDCGBHI $.
  $}

  ${
    efald.1 $e |- ( ( ph /\ -. ps ) -> F. ) $.
    $( Deduction based on reductio ad absurdum.  (Contributed by Mario
       Carneiro, 9-Feb-2017.) $)
    efald $p |- ( ph -> ps ) $=
      ( wn inegd notnotrd ) ABABDCEF $.
  $}

  ${
    pm2.21fal.1 $e |- ( ph -> ps ) $.
    pm2.21fal.2 $e |- ( ph -> -. ps ) $.
    $( If a wff and its negation are provable, then falsum is provable.
       (Contributed by Mario Carneiro, 9-Feb-2017.) $)
    pm2.21fal $p |- ( ph -> F. ) $=
      ( wfal pm2.21dd ) ABECDF $.
  $}

$(
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
        Truth tables
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=

  Some sources define operations on true/false values using truth tables.
  These tables show the results of their operations for all possible
  combinations of true ( ` T. ` ) and false ( ` F. ` ).
  Here we show that our definitions and axioms produce equivalent results for
  ` /\ ` (conjunction aka logical 'and') ~ df-an ,
  ` \/ ` (disjunction aka logical inclusive 'or') ~ df-or ,
  ` -> ` (implies) ~ wi ,
  ` -. ` (not) ~ wn ,
  ` <-> ` (logical equivalence) ~ df-bi ,
  ` -/\ ` (nand aka Sheffer stroke) ~ df-nan , and
  ` \/_ ` (exclusive or) ~ df-xor .
$)

  $( A ` /\ ` identity.  (Contributed by Anthony Hart, 22-Oct-2010.) $)
  truantru $p |- ( ( T. /\ T. ) <-> T. ) $=
    ( wtru anidm ) AB $.

  $( A ` /\ ` identity.  (Contributed by Anthony Hart, 22-Oct-2010.) $)
  truanfal $p |- ( ( T. /\ F. ) <-> F. ) $=
    ( wtru wfal wa fal intnan bifal ) ABCBADEF $.

  $( A ` /\ ` identity.  (Contributed by Anthony Hart, 22-Oct-2010.) $)
  falantru $p |- ( ( F. /\ T. ) <-> F. ) $=
    ( wfal wtru wa fal intnanr bifal ) ABCABDEF $.

  $( A ` /\ ` identity.  (Contributed by Anthony Hart, 22-Oct-2010.) $)
  falanfal $p |- ( ( F. /\ F. ) <-> F. ) $=
    ( wfal anidm ) AB $.

  $( A ` \/ ` identity.  (Contributed by Anthony Hart, 22-Oct-2010.)  (Proof
     shortened by Andrew Salmon, 13-May-2011.) $)
  truortru $p |- ( ( T. \/ T. ) <-> T. ) $=
    ( wtru oridm ) AB $.

  $( A ` \/ ` identity.  (Contributed by Anthony Hart, 22-Oct-2010.) $)
  truorfal $p |- ( ( T. \/ F. ) <-> T. ) $=
    ( wtru wfal wo tru orci bitru ) ABCABDEF $.

  $( A ` \/ ` identity.  (Contributed by Anthony Hart, 22-Oct-2010.) $)
  falortru $p |- ( ( F. \/ T. ) <-> T. ) $=
    ( wfal wtru wo tru olci bitru ) ABCBADEF $.

  $( A ` \/ ` identity.  (Contributed by Anthony Hart, 22-Oct-2010.)  (Proof
     shortened by Andrew Salmon, 13-May-2011.) $)
  falorfal $p |- ( ( F. \/ F. ) <-> F. ) $=
    ( wfal oridm ) AB $.

  $( A ` -> ` identity.  (Contributed by Anthony Hart, 22-Oct-2010.) $)
  truimtru $p |- ( ( T. -> T. ) <-> T. ) $=
    ( wtru wi id bitru ) AABACD $.

  $( A ` -> ` identity.  (Contributed by Anthony Hart, 22-Oct-2010.)  (Proof
     shortened by Andrew Salmon, 13-May-2011.) $)
  truimfal $p |- ( ( T. -> F. ) <-> F. ) $=
    ( wfal wtru wi tru a1bi bicomi ) ABACBADEF $.

  $( A ` -> ` identity.  (Contributed by Anthony Hart, 22-Oct-2010.) $)
  falimtru $p |- ( ( F. -> T. ) <-> T. ) $=
    ( wfal wtru wi falim bitru ) ABCBDE $.

  $( A ` -> ` identity.  (Contributed by Anthony Hart, 22-Oct-2010.) $)
  falimfal $p |- ( ( F. -> F. ) <-> T. ) $=
    ( wfal wi id bitru ) AABACD $.

  $( A ` -. ` identity.  (Contributed by Anthony Hart, 22-Oct-2010.) $)
  nottru $p |- ( -. T. <-> F. ) $=
    ( wfal wtru wn df-fal bicomi ) ABCDE $.

  $( A ` -. ` identity.  (Contributed by Anthony Hart, 22-Oct-2010.)  (Proof
     shortened by Andrew Salmon, 13-May-2011.) $)
  notfal $p |- ( -. F. <-> T. ) $=
    ( wfal wn fal bitru ) ABCD $.

  $( A ` <-> ` identity.  (Contributed by Anthony Hart, 22-Oct-2010.)  (Proof
     shortened by Andrew Salmon, 13-May-2011.) $)
  trubitru $p |- ( ( T. <-> T. ) <-> T. ) $=
    ( wtru wb biid bitru ) AABACD $.

  $( A ` <-> ` identity.  (Contributed by Anthony Hart, 22-Oct-2010.)  (Proof
     shortened by Andrew Salmon, 13-May-2011.) $)
  trubifal $p |- ( ( T. <-> F. ) <-> F. ) $=
    ( wtru wfal wb wn nottru nbbn mpbi bifal ) ABCZADBCIDEABFGH $.

  $( A ` <-> ` identity.  (Contributed by Anthony Hart, 22-Oct-2010.)  (Proof
     shortened by Andrew Salmon, 13-May-2011.) $)
  falbitru $p |- ( ( F. <-> T. ) <-> F. ) $=
    ( wfal wtru wb bicom trubifal bitri ) ABCBACAABDEF $.

  $( A ` <-> ` identity.  (Contributed by Anthony Hart, 22-Oct-2010.)  (Proof
     shortened by Andrew Salmon, 13-May-2011.) $)
  falbifal $p |- ( ( F. <-> F. ) <-> T. ) $=
    ( wfal wb biid bitru ) AABACD $.

  $( A ` -/\ ` identity.  (Contributed by Anthony Hart, 22-Oct-2010.)  (Proof
     shortened by Andrew Salmon, 13-May-2011.) $)
  trunantru $p |- ( ( T. -/\ T. ) <-> F. ) $=
    ( wtru wnan wn wfal nannot nottru bitr3i ) AABACDAEFG $.

  $( A ` -/\ ` identity.  (Contributed by Anthony Hart, 23-Oct-2010.)  (Proof
     shortened by Andrew Salmon, 13-May-2011.) $)
  trunanfal $p |- ( ( T. -/\ F. ) <-> T. ) $=
    ( wtru wfal wnan wa wn df-nan truanfal notbii notfal 3bitri ) ABCABDZEBEAAB
    FKBGHIJ $.

  $( A ` -/\ ` identity.  (Contributed by Anthony Hart, 23-Oct-2010.)  (Proof
     shortened by Andrew Salmon, 13-May-2011.) $)
  falnantru $p |- ( ( F. -/\ T. ) <-> T. ) $=
    ( wfal wtru wnan nancom trunanfal bitri ) ABCBACBABDEF $.

  $( A ` -/\ ` identity.  (Contributed by Anthony Hart, 22-Oct-2010.)  (Proof
     shortened by Andrew Salmon, 13-May-2011.) $)
  falnanfal $p |- ( ( F. -/\ F. ) <-> T. ) $=
    ( wfal wnan wn wtru nannot notfal bitr3i ) AABACDAEFG $.

  $( A ` \/_ ` identity.  (Contributed by David A. Wheeler, 8-May-2015.) $)
  truxortru $p |- ( ( T. \/_ T. ) <-> F. ) $=
    ( wtru wxo wn wfal wb df-xor trubitru xchbinx nottru bitri ) AABZACDKAAEAAA
    FGHIJ $.

  $( A ` \/_ ` identity.  (Contributed by David A. Wheeler, 8-May-2015.) $)
  truxorfal $p |- ( ( T. \/_ F. ) <-> T. ) $=
    ( wtru wfal wxo wn wb df-xor trubifal xchbinx notfal bitri ) ABCZBDAKABEBAB
    FGHIJ $.

  $( A ` \/_ ` identity.  (Contributed by David A. Wheeler, 9-May-2015.) $)
  falxortru $p |- ( ( F. \/_ T. ) <-> T. ) $=
    ( wfal wtru wxo wb wn df-xor falbitru notbii notfal 3bitri ) ABCABDZEAEBABF
    KAGHIJ $.

  $( A ` \/_ ` identity.  (Contributed by David A. Wheeler, 9-May-2015.) $)
  falxorfal $p |- ( ( F. \/_ F. ) <-> F. ) $=
    ( wfal wxo wtru wn wb df-xor falbifal xchbinx nottru bitri ) AABZCDAKAAECAA
    FGHIJ $.

$(
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
       Auxiliary theorems for Alan Sare's virtual deduction tool, part 1
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
$)

  ${
    ee22.1 $e |- ( ph -> ( ps -> ch ) ) $.
    ee22.2 $e |- ( ph -> ( ps -> th ) ) $.
    ee22.3 $e |- ( ch -> ( th -> ta ) ) $.
    $( Virtual deduction rule e22 in set.mm without virtual deduction
       connectives.  Special theorem needed for Alan Sare's virtual deduction
       translation tool.  (Contributed by Alan Sare, 2-May-2011.)
       (New usage is discouraged.)  TODO: decide if this is worth keeping. $)
    ee22 $p |- ( ph -> ( ps -> ta ) ) $=
      ( syl6c ) ABCDEFGHI $.
  $}

  ${
    ee12an.1 $e |- ( ph -> ps ) $.
    ee12an.2 $e |- ( ph -> ( ch -> th ) ) $.
    ee12an.3 $e |- ( ( ps /\ th ) -> ta ) $.
    $( e12an in set.mm without virtual deduction connectives.  Special theorem
       needed for Alan Sare's virtual deduction translation tool.  (Contributed
       by Alan Sare, 28-Oct-2011.)  TODO: this is frequently used; come up with
       better label. $)
    ee12an $p |- ( ph -> ( ch -> ta ) ) $=
      ( wa jctild syl6 ) ACBDIEACDBGFJHK $.
  $}

  ${
    ee23.1 $e |- ( ph -> ( ps -> ch ) ) $.
    ee23.2 $e |- ( ph -> ( ps -> ( th -> ta ) ) ) $.
    ee23.3 $e |- ( ch -> ( ta -> et ) ) $.
    $( e23 in set.mm without virtual deductions.  (Contributed by Alan Sare,
       17-Jul-2011.)  (New usage is discouraged.)  TODO: decide if this is
       worth keeping. $)
    ee23 $p |- ( ph -> ( ps -> ( th -> et ) ) ) $=
      ( wi syl6 syldd ) ABDEFHABCEFJGIKL $.
  $}

  $( Exportation implication also converting head from biconditional to
     conditional.  This proof is exbirVD in set.mm automatically translated and
     minimized.  (Contributed by Alan Sare, 31-Dec-2011.)
     (New usage is discouraged.)  TODO: decide if this is worth keeping. $)
  exbir $p |- ( ( ( ph /\ ps ) -> ( ch <-> th ) ) ->
              ( ph -> ( ps -> ( th -> ch ) ) ) ) $=
    ( wa wb wi bi2 imim2i exp3a ) ABEZCDFZGABDCGZLMKCDHIJ $.

  $( ~ impexp with a 3-conjunct antecedent.  (Contributed by Alan Sare,
     31-Dec-2011.) $)
  3impexp $p |- ( ( ( ph /\ ps /\ ch ) -> th ) <->
                ( ph -> ( ps -> ( ch -> th ) ) ) ) $=
    ( w3a wi id 3expd 3impd impbii ) ABCEDFZABCDFFFZKABCDKGHLABCDLGIJ $.

  $( ~ 3impexp with biconditional consequent of antecedent that is commuted in
     consequent.  Derived automatically from 3impexpVD in set.mm.  (Contributed
     by Alan Sare, 31-Dec-2011.)  (New usage is discouraged.)  TODO: decide if
     this is worth keeping. $)
  3impexpbicom $p |- ( ( ( ph /\ ps /\ ch ) -> ( th <-> ta ) ) <->
                     ( ph -> ( ps -> ( ch -> ( ta <-> th ) ) ) ) ) $=
    ( w3a wb wi bicom imbi2 biimpcd mpi 3expd 3impexp biimpri syl6ibr impbii )
    ABCFZDEGZHZABCEDGZHHHZTABCUATSUAGZRUAHZDEIZUCTUDSUARJKLMUBRUASUDUBABCUANOUE
    PQ $.

  ${
    3impexpbicomi.1 $e |- ( ( ph /\ ps /\ ch ) -> ( th <-> ta ) ) $.
    $( Deduction form of ~ 3impexpbicom .  Derived automatically from
       3impexpbicomiVD in set.mm.  (Contributed by Alan Sare, 31-Dec-2011.)
       (New usage is discouraged.)  TODO: decide if this is worth keeping. $)
    3impexpbicomi $p |- ( ph -> ( ps -> ( ch -> ( ta <-> th ) ) ) ) $=
      ( wb w3a bicomd 3exp ) ABCEDGABCHDEFIJ $.
  $}

  $( Closed form of ~ ancoms .  Derived automatically from ancomsimpVD in
     set.mm.  (Contributed by Alan Sare, 31-Dec-2011.) $)
  ancomsimp $p |- ( ( ( ph /\ ps ) -> ch ) <-> ( ( ps /\ ph ) -> ch ) ) $=
    ( wa ancom imbi1i ) ABDBADCABEF $.

  ${
    exp3acom3r.1 $e |- ( ph -> ( ( ps /\ ch ) -> th ) ) $.
    $( Export and commute antecedents.  (Contributed by Alan Sare,
       18-Mar-2012.) $)
    exp3acom3r $p |- ( ps -> ( ch -> ( ph -> th ) ) ) $=
      ( exp3a com3l ) ABCDABCDEFG $.
  $}

  $( Implication form of ~ exp3acom23 .  (Contributed by Alan Sare,
     22-Jul-2012.)  (New usage is discouraged.)  TODO: decide if this is worth
     keeping. $)
  exp3acom23g $p |- ( ( ph -> ( ( ps /\ ch ) -> th ) ) <->
                        ( ph -> ( ch -> ( ps -> th ) ) ) ) $=
    ( wa wi ancomsimp impexp bitri imbi2i ) BCEDFZCBDFFZAKCBEDFLBCDGCBDHIJ $.

  ${
    exp3acom23.1 $e |- ( ph -> ( ( ps /\ ch ) -> th ) ) $.
    $( The exportation deduction ~ exp3a with commutation of the conjoined
       wwfs.  (Contributed by Alan Sare, 22-Jul-2012.) $)
    exp3acom23 $p |- ( ph -> ( ch -> ( ps -> th ) ) ) $=
      ( exp3a com23 ) ABCDABCDEFG $.
  $}

  $( Implication form of ~ simplbi2com .  (Contributed by Alan Sare,
     22-Jul-2012.)  (New usage is discouraged.)  TODO: decide if this is worth
     keeping. $)
  simplbi2comg $p |- ( ( ph <-> ( ps /\ ch ) ) -> ( ch -> ( ps -> ph ) ) ) $=
    ( wa wb bi2 exp3acom23 ) ABCDZEBCAAHFG $.

  ${
    simplbi2com.1 $e |- ( ph <-> ( ps /\ ch ) ) $.
    $( A deduction eliminating a conjunct, similar to ~ simplbi2 .
       (Contributed by Alan Sare, 22-Jul-2012.)  (Proof shortened by Wolf
       Lammen, 10-Nov-2012.) $)
    simplbi2com $p |- ( ch -> ( ps -> ph ) ) $=
      ( simplbi2 com12 ) BCAABCDEF $.
  $}

  ${
    ee21.1 $e |- ( ph -> ( ps -> ch ) ) $.
    ee21.2 $e |- ( ph -> th ) $.
    ee21.3 $e |- ( ch -> ( th -> ta ) ) $.
    $( e21 in set.mm without virtual deductions.  (Contributed by Alan Sare,
       18-Mar-2012.)  (New usage is discouraged.)  TODO: decide if this is
       worth keeping. $)
    ee21 $p |- ( ph -> ( ps -> ta ) ) $=
      ( a1d ee22 ) ABCDEFADBGIHJ $.
  $}

  ${
    ee10.1 $e |- ( ph -> ps ) $.
    ee10.2 $e |- ch $.
    ee10.3 $e |- ( ps -> ( ch -> th ) ) $.
    $( e10 in set.mm without virtual deductions.  (Contributed by Alan Sare,
       25-Jul-2011.)  TODO: this is frequently used; come up with better
       label. $)
    ee10 $p |- ( ph -> th ) $=
      ( mpi syl ) ABDEBCDFGHI $.
  $}

  ${
    ee02.1 $e |- ph $.
    ee02.2 $e |- ( ps -> ( ch -> th ) ) $.
    ee02.3 $e |- ( ph -> ( th -> ta ) ) $.
    $( e02 in set.mm without virtual deductions.  (Contributed by Alan Sare,
       22-Jul-2012.)  (New usage is discouraged.)  TODO: decide if this is
       worth keeping. $)
    ee02 $p |- ( ps -> ( ch -> ta ) ) $=
      ( a1i sylsyld ) BACDEABFIGHJ $.
  $}

$( End of auxiliary theorems for Alan Sare's virtual deduction tool, part 1 $)

$(
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
       Half-adders and full adders in propositional calculus
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=

  Propositional calculus deals with truth values, which can be interpreted as
  bits. Using this, we can define the half-adder in pure propositional
  calculus, and show its basic properties.

$)

  $c hadd cadd $.
  $c , $.  $( Comma (also used for unordered pair notation later) $)

  $( Define the half adder (triple XOR).  (Contributed by Mario Carneiro,
     4-Sep-2016.) $)
  whad $a wff hadd ( ph , ps , ch ) $.

  $( Define the half adder carry.  (Contributed by Mario Carneiro,
     4-Sep-2016.) $)
  wcad $a wff cadd ( ph , ps , ch ) $.

  $( Define the half adder (triple XOR).  (Contributed by Mario Carneiro,
     4-Sep-2016.) $)
  df-had $a |- ( hadd ( ph , ps , ch ) <-> ( ( ph \/_ ps ) \/_ ch ) ) $.

  $( Define the half adder carry, which is true when at least two arguments are
     true.  (Contributed by Mario Carneiro, 4-Sep-2016.) $)
  df-cad $a |- ( cadd ( ph , ps , ch ) <->
    ( ( ph /\ ps ) \/ ( ch /\ ( ph \/_ ps ) ) ) ) $.

  ${
    hadbid.1 $e |- ( ph -> ( ps <-> ch ) ) $.
    hadbid.2 $e |- ( ph -> ( th <-> ta ) ) $.
    hadbid.3 $e |- ( ph -> ( et <-> ze ) ) $.
    $( Equality theorem for half adder.  (Contributed by Mario Carneiro,
       4-Sep-2016.) $)
    hadbi123d $p |- ( ph ->
      ( hadd ( ps , th , et ) <-> hadd ( ch , ta , ze ) ) ) $=
      ( wxo whad xorbi12d df-had 3bitr4g ) ABDKZFKCEKZGKBDFLCEGLAPQFGABCDEHIMJM
      BDFNCEGNO $.

    $( Equality theorem for adder carry.  (Contributed by Mario Carneiro,
       4-Sep-2016.) $)
    cadbi123d $p |- ( ph ->
      ( cadd ( ps , th , et ) <-> cadd ( ch , ta , ze ) ) ) $=
      ( wa wxo wo wcad anbi12d xorbi12d orbi12d df-cad 3bitr4g ) ABDKZFBDLZKZMC
      EKZGCELZKZMBDFNCEGNATUCUBUEABCDEHIOAFGUAUDJABCDEHIPOQBDFRCEGRS $.
  $}

  ${
    hadbii.1 $e |- ( ph <-> ps ) $.
    hadbii.2 $e |- ( ch <-> th ) $.
    hadbii.3 $e |- ( ta <-> et ) $.
    $( Equality theorem for half adder.  (Contributed by Mario Carneiro,
       4-Sep-2016.) $)
    hadbi123i $p |- ( hadd ( ph , ch , ta ) <-> hadd ( ps , th , et ) ) $=
      ( whad wb wtru a1i hadbi123d trud ) ACEJBDFJKLABCDEFABKLGMCDKLHMEFKLIMNO
      $.

    $( Equality theorem for adder carry.  (Contributed by Mario Carneiro,
       4-Sep-2016.) $)
    cadbi123i $p |- ( cadd ( ph , ch , ta ) <-> cadd ( ps , th , et ) ) $=
      ( wcad wb wtru a1i cadbi123d trud ) ACEJBDFJKLABCDEFABKLGMCDKLHMEFKLIMNO
      $.
  $}

  $( Associative law for triple XOR. (Contributed by Mario Carneiro,
     4-Sep-2016.) $)
  hadass $p |- ( hadd ( ph , ps , ch ) <-> ( ph \/_ ( ps \/_ ch ) ) ) $=
    ( whad wxo df-had xorass bitri ) ABCDABECEABCEEABCFABCGH $.

  $( The half adder is the same as the triple biconditional.  (Contributed by
     Mario Carneiro, 4-Sep-2016.) $)
  hadbi $p |- ( hadd ( ph , ps , ch ) <-> ( ( ph <-> ps ) <-> ch ) ) $=
    ( wxo wb wn whad df-xor df-had xnor bibi1i nbbn bitri 3bitr4i ) ABDZCDOCEFZ
    ABCGABEZCEZOCHABCIROFZCEPQSCABJKOCLMN $.

  $( Commutative law for triple XOR. (Contributed by Mario Carneiro,
     4-Sep-2016.) $)
  hadcoma $p |- ( hadd ( ph , ps , ch ) <-> hadd ( ps , ph , ch ) ) $=
    ( wxo whad xorcom biid xorbi12i df-had 3bitr4i ) ABDZCDBADZCDABCEBACEKLCCAB
    FCGHABCIBACIJ $.

  $( Commutative law for triple XOR. (Contributed by Mario Carneiro,
     4-Sep-2016.) $)
  hadcomb $p |- ( hadd ( ph , ps , ch ) <-> hadd ( ph , ch , ps ) ) $=
    ( wxo whad biid xorcom xorbi12i hadass 3bitr4i ) ABCDZDACBDZDABCEACBEAAKLAF
    BCGHABCIACBIJ $.

  $( Rotation law for triple XOR. (Contributed by Mario Carneiro,
     4-Sep-2016.) $)
  hadrot $p |- ( hadd ( ph , ps , ch ) <-> hadd ( ps , ch , ph ) ) $=
    ( whad hadcoma hadcomb bitri ) ABCDBACDBCADABCEBACFG $.

  $( Write the adder carry in disjunctive normal form.  (Contributed by Mario
     Carneiro, 4-Sep-2016.) $)
  cador $p |- ( cadd ( ph , ps , ch ) <->
    ( ( ph /\ ps ) \/ ( ph /\ ch ) \/ ( ps /\ ch ) ) ) $=
    ( wcad wa wxo wo df-cad wn wi xor2 rbaib anbi1d ancom andir 3bitr3g pm5.74i
    w3o df-or bitri 3orass 3bitr4i ) ABCDABEZCABFZEZGZUCACEZBCEZRZABCHUCIZUEJUJ
    UGUHGZJZUFUIUJUEUKUJUDCEABGZCEUEUKUJUDUMCUDUMUJABKLMUDCNABCOPQUCUESUIUCUKGU
    LUCUGUHUAUCUKSTUBT $.

  $( Write the adder carry in conjunctive normal form.  (Contributed by Mario
     Carneiro, 4-Sep-2016.) $)
  cadan $p |- ( cadd ( ph , ps , ch ) <->
    ( ( ph \/ ps ) /\ ( ph \/ ch ) /\ ( ps \/ ch ) ) ) $=
    ( wa w3o wo wcad w3a ordir wn wi wb simpr con3i biorf pm5.74i df-or 3bitr4i
    syl orcom anbi2i 3bitr3i syl6bb bitr3i anbi12i bitri df-3or anandir df-3an
    ordi cador ) ABDZACDZBCDZEZABFZACFZDBCFZDZABCGUPUQURHULUMFZUNFZUPURDZUQURDZ
    DZUOUSVAUTBFZUTCFZDVDUTBCUJVEVBVFVCUMBFZUPCBFZDVEVBACBIBUMFZBUTFZVGVEBJZUMK
    VKUTKVIVJVKUMUTVKULJUMUTLULBABMNULUMOSPBUMQBUTQRUMBTUTBTRVHURUPCBTUAUBVFULC
    FZVCCULFZCUTFZVLVFCJZULKVOUTKVMVNVOULUTVOUMJZULUTLUMCACMNVPULUMULFUTUMULOUM
    ULTUCSPCULQCUTQRULCTUTCTRABCIUDUEUFULUMUNUGUPUQURUHRABCUKUPUQURUIR $.

  $( The half adder distributes over negation.  (Contributed by Mario Carneiro,
     4-Sep-2016.) $)
  hadnot $p |- ( -. hadd ( ph , ps , ch ) <->
    hadd ( -. ph , -. ps , -. ch ) ) $=
    ( wxo wn whad xorneg biid xorbi12i xorneg2 bitr2i df-had notbii 3bitr4i ) A
    BDZCDZEZAEZBEZDZCEZDZABCFZERSUAFUBOUADQTOUAUAABGUAHIOCJKUCPABCLMRSUALN $.

  $( The adder carry distributes over negation.  (Contributed by Mario
     Carneiro, 4-Sep-2016.) $)
  cadnot $p |- ( -. cadd ( ph , ps , ch ) <->
    cadd ( -. ph , -. ps , -. ch ) ) $=
    ( wa w3o wn wo wcad 3ioran ianor 3anbi123i bitri cador notbii cadan 3bitr4i
    w3a ) ABDZACDZBCDZEZFZAFZBFZGZUCCFZGZUDUFGZQZABCHZFUCUDUFHUBRFZSFZTFZQUIRST
    IUKUEULUGUMUHABJACJBCJKLUJUAABCMNUCUDUFOP $.

  $( Commutative law for adder carry.  (Contributed by Mario Carneiro,
     4-Sep-2016.) $)
  cadcoma $p |- ( cadd ( ph , ps , ch ) <-> cadd ( ps , ph , ch ) ) $=
    ( wa wxo wo wcad ancom xorcom anbi2i orbi12i df-cad 3bitr4i ) ABDZCABEZDZFB
    ADZCBAEZDZFABCGBACGNQPSABHORCABIJKABCLBACLM $.

  $( Commutative law for adder carry.  (Contributed by Mario Carneiro,
     4-Sep-2016.) $)
  cadcomb $p |- ( cadd ( ph , ps , ch ) <-> cadd ( ph , ch , ps ) ) $=
    ( wa w3o wcad 3orcoma biid ancom 3orbi123i bitri cador 3bitr4i ) ABDZACDZBC
    DZEZONCBDZEZABCFACBFQONPESNOPGOONNPROHNHBCIJKABCLACBLM $.

  $( Rotation law for adder carry.  (Contributed by Mario Carneiro,
     4-Sep-2016.) $)
  cadrot $p |- ( cadd ( ph , ps , ch ) <-> cadd ( ps , ch , ph ) ) $=
    ( wcad cadcoma cadcomb bitri ) ABCDBACDBCADABCEBACFG $.

  $( If one parameter is true, the adder carry is true exactly when at least
     one of the other parameters is true.  (Contributed by Mario Carneiro,
     8-Sep-2016.) $)
  cad1 $p |- ( ch -> ( cadd ( ph , ps , ch ) <-> ( ph \/ ps ) ) ) $=
    ( wa wxo wo wcad ibar bicomd orbi2d df-cad wn pm5.63 olc orc adantr id jaoi
    impbii xor2 ancom bitri orbi2i 3bitr4i 3bitr4g ) CABDZCABEZDZFUFUGFZABCGABF
    ZCUHUGUFCUGUHCUGHIJABCKUFUJFZUFUFLZUJDZFUJUIUFUJMUJUKUJUFNUFUJUJAUJBABOPUJQ
    RSUGUMUFUGUJULDUMABTUJULUAUBUCUDUE $.

  $( If two parameters are true, the adder carry is true.  (Contributed by
     Mario Carneiro, 4-Sep-2016.) $)
  cad11 $p |- ( ( ph /\ ps ) -> cadd ( ph , ps , ch ) ) $=
    ( wa wxo wo wcad orc df-cad sylibr ) ABDZKCABEDZFABCGKLHABCIJ $.

  $( If one parameter is false, the adder carry is true exactly when both of
     the other two parameters are true.  (Contributed by Mario Carneiro,
     8-Sep-2016.) $)
  cad0 $p |- ( -. ch -> ( cadd ( ph , ps , ch ) <-> ( ph /\ ps ) ) ) $=
    ( wcad wa wxo wo wn df-cad idd pm2.21 adantrd jaod orc impbid1 syl5bb ) ABC
    DABEZCABFZEZGZCHZQABCIUATQUAQQSUAQJUACQRCQKLMQSNOP $.

  $( Rotation law for adder carry.  (Contributed by Mario Carneiro,
     4-Sep-2016.) $)
  cadtru $p |- cadd ( T. , T. , ph ) $=
    ( wtru wcad tru cad11 mp2an ) BBBBACDDBBAEF $.

  $( If the first parameter is true, the half adder is equivalent to the
     equality of the other two inputs.  (Contributed by Mario Carneiro,
     4-Sep-2016.) $)
  had1 $p |- ( ph -> ( hadd ( ph , ps , ch ) <-> ( ps <-> ch ) ) ) $=
    ( whad wb hadbi biass bitri id biidd 2thd sylibr syl5bb ) ABCDZABCEZEZAONAB
    ECEPABCFABCGHAAOOEZEPOEAAQAIAOJKAOOGLM $.

  $( If the first parameter is false, the half adder is equivalent to the XOR
     of the other two inputs.  (Contributed by Mario Carneiro, 4-Sep-2016.) $)
  had0 $p |- ( -. ph -> ( hadd ( ph , ps , ch ) <-> ( ps \/_ ch ) ) ) $=
    ( wn whad wxo wb had1 hadnot df-xor xorneg bitr3i con1bii 3bitr4g con4bid )
    ADZABCEZBCFZPPBDZCDZESTGZQDRDPSTHABCIUARUADSTFRSTJBCKLMNO $.

$(
#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#
      Other axiomatizations of classical propositional calculus
#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#
$)

$(
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
      Derive the Lukasiewicz axioms from Meredith's sole axiom
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
$)

  $( Carew Meredith's sole axiom for propositional calculus.  This amazing
     formula is thought to be the shortest possible single axiom for
     propositional calculus with inference rule ~ ax-mp , where negation and
     implication are primitive.  Here we prove Meredith's axiom from ~ ax-1 ,
     ~ ax-2 , and ~ ax-3 .  Then from it we derive the Lukasiewicz axioms
     ~ luk-1 , ~ luk-2 , and ~ luk-3 .  Using these we finally re-derive our
     axioms as ~ ax1 , ~ ax2 , and ~ ax3 , thus proving the equivalence of all
     three systems.  C. A. Meredith, "Single Axioms for the Systems (C,N),
     (C,O) and (A,N) of the Two-Valued Propositional Calculus," _The Journal of
     Computing Systems_ vol. 1 (1953), pp. 155-164.  Meredith claimed to be
     close to a proof that this axiom is the shortest possible, but the proof
     was apparently never completed.

     An obscure Irish lecturer, Meredith (1904-1976) became enamored with logic
     somewhat late in life after attending talks by Lukasiewicz and produced
     many remarkable results such as this axiom.  From his obituary:  "He did
     logic whenever time and opportunity presented themselves, and he did it on
     whatever materials came to hand: in a pub, his favored pint of porter
     within reach, he would use the inside of cigarette packs to write proofs
     for logical colleagues."  (Contributed by NM, 14-Dec-2002.)  (Proof
     shortened by Andrew Salmon, 25-Jul-2011.)  (Proof shortened by Wolf
     Lammen, 28-May-2013.) $)
  meredith $p |- ( ( ( ( ( ph -> ps ) -> ( -. ch -> -. th ) ) -> ch ) ->
       ta ) -> ( ( ta -> ph ) -> ( th -> ph ) ) ) $=
    ( wi wn pm2.21 ax-3 imim12i com13 con1d com12 a1d ax-1 imim1d ja ) ABFZCGDG
    FZFZCFZEEAFZDAFZFUAGZUCUBDUDADAUATAGZDCUERSDCFABHCDIJKLMNEDEAEDOPQ $.

  $( Alias for ~ meredith which "verify markup *" will match to
     ~ ax-meredith .  (Contributed by NM, 21-Aug-2017.)
     (New usage is discouraged.) $)
  axmeredith $p |- ( ( ( ( ( ph -> ps ) -> ( -. ch -> -. th ) ) -> ch ) ->
       ta ) -> ( ( ta -> ph ) -> ( th -> ph ) ) ) $=
    ( meredith ) ABCDEF $.

  $( Theorem ~ meredith restated as an axiom.  This will allow us to ensure
     that the rederivation of ~ ax1 , ~ ax2 , and ~ ax3 below depend only on
     Meredith's sole axiom and not accidentally on a previous theorem above.
     Outside of this section, we will not make use of this axiom.  (Contributed
     by NM, 14-Dec-2002.)  (New usage is discouraged.) $)
  ax-meredith $a |- ( ( ( ( ( ph -> ps ) -> ( -. ch -> -. th ) ) -> ch ) ->
       ta ) -> ( ( ta -> ph ) -> ( th -> ph ) ) ) $.

  $( Step 3 of Meredith's proof of Lukasiewicz axioms from his sole axiom.
     (The step numbers refer to Meredith's original paper.)  (Contributed by
     NM, 14-Dec-2002.)  (Proof modification is discouraged.)
     (New usage is discouraged.) $)
  merlem1 $p |- ( ( ( ch -> ( -. ph -> ps ) ) -> ta ) -> ( ph -> ta ) ) $=
    ( wn wi ax-meredith ax-mp ) DAEZFIBFZEZIFFZJFCJFZFZMDFADFFJDECEFZEKEFZFOFDF
    LFNIBOKDGJPDCLGHDIJAMGH $.

  $( Step 4 of Meredith's proof of Lukasiewicz axioms from his sole axiom.
     (Contributed by NM, 14-Dec-2002.)  (Proof modification is discouraged.)
     (New usage is discouraged.) $)
  merlem2 $p |- ( ( ( ph -> ph ) -> ch ) -> ( th -> ch ) ) $=
    ( wi wn merlem1 ax-meredith ax-mp ) BBDZAECEZDDADAADZDKBDCBDDAJIAFBBACKGH
    $.

  $( Step 7 of Meredith's proof of Lukasiewicz axioms from his sole axiom.
     (Contributed by NM, 14-Dec-2002.)  (Proof modification is discouraged.)
     (New usage is discouraged.) $)
  merlem3 $p |- ( ( ( ps -> ch ) -> ph ) -> ( ch -> ph ) ) $=
    ( wi wn merlem2 ax-mp ax-meredith ) AADZCEZJDZDZCDBCDZDZMADCADZDOBEZPDDBDZL
    DZNKKDLDRJKIFKLQFGCABBLHGAACCMHG $.

  $( Step 8 of Meredith's proof of Lukasiewicz axioms from his sole axiom.
     (Contributed by NM, 14-Dec-2002.)  (Proof modification is discouraged.)
     (New usage is discouraged.) $)
  merlem4 $p |- ( ta -> ( ( ta -> ph ) -> ( th -> ph ) ) ) $=
    ( wi wn ax-meredith merlem3 ax-mp ) AADBEZIDDBDZCDCADBADDZDCKDAABBCFKJCGH
    $.

  $( Step 11 of Meredith's proof of Lukasiewicz axioms from his sole axiom.
     (Contributed by NM, 14-Dec-2002.)  (Proof modification is discouraged.)
     (New usage is discouraged.) $)
  merlem5 $p |- ( ( ph -> ps ) -> ( -. -. ph -> ps ) ) $=
    ( wi wn ax-meredith merlem1 merlem4 ax-mp ) BBCZBDZJCCBCBCIICCZABCZADZDZBCC
    ZBBBBBEIJNDCCBCZACZOCZKOCZBBBNAEOKDZCMTCCZACQCZRSCUAUBMBLTFAPUAGHOTAKQEHHH
    $.

  $( Step 12 of Meredith's proof of Lukasiewicz axioms from his sole axiom.
     (Contributed by NM, 14-Dec-2002.)  (Proof modification is discouraged.)
     (New usage is discouraged.) $)
  merlem6 $p |- ( ch -> ( ( ( ps -> ch ) -> ph ) -> ( th -> ph ) ) ) $=
    ( wi merlem4 merlem3 ax-mp ) BCEZIAEDAEEZECJEADIFJBCGH $.

  $( Between steps 14 and 15 of Meredith's proof of Lukasiewicz axioms from his
     sole axiom.  (Contributed by NM, 22-Dec-2002.)
     (Proof modification is discouraged.)  (New usage is discouraged.) $)
  merlem7 $p |- ( ph -> ( ( ( ps -> ch ) -> th ) -> ( ( ( ch -> ta ) ->
                  ( -. th -> -. ps ) ) -> th ) ) ) $=
    ( wi wn merlem4 merlem6 ax-meredith ax-mp ) BCFZLDFZCEFDGBGFFZDFZFZFZAPFZDN
    LHPAGZFCGZSFFZCFLFZQRFOUAFUBSMOTICEDBUAJKPSCALJKK $.

  $( Step 15 of Meredith's proof of Lukasiewicz axioms from his sole axiom.
     (Contributed by NM, 22-Dec-2002.)  (Proof modification is discouraged.)
     (New usage is discouraged.) $)
  merlem8 $p |- ( ( ( ps -> ch ) -> th ) -> ( ( ( ch -> ta ) ->
                  ( -. th -> -. ps ) ) -> th ) ) $=
    ( wph wi wn ax-meredith merlem7 ax-mp ) EEFZEGZLFFEFEFKKFFZABFCFBDFCGAGFFCF
    FEEEEEHMABCDIJ $.

  $( Step 18 of Meredith's proof of Lukasiewicz axioms from his sole axiom.
     (Contributed by NM, 22-Dec-2002.)  (Proof modification is discouraged.)
     (New usage is discouraged.) $)
  merlem9 $p |- ( ( ( ph -> ps ) -> ( ch -> ( th -> ( ps -> ta ) ) ) ) ->
                    ( et -> ( ch -> ( th -> ( ps -> ta ) ) ) ) ) $=
    ( wi wn merlem6 merlem8 ax-mp ax-meredith ) CDBEGZGZGZFHZGBHZPGGZBGABGZGZSO
    GFOGGMRHDHGZHAHGZGUAGRGZTNRGUCPCNQIDMRUBJKBEUAARLKOPBFSLK $.

  $( Step 19 of Meredith's proof of Lukasiewicz axioms from his sole axiom.
     (Contributed by NM, 14-Dec-2002.)  (Proof modification is discouraged.)
     (New usage is discouraged.) $)
  merlem10 $p |- ( ( ph -> ( ph -> ps ) ) -> ( th -> ( ph -> ps ) ) ) $=
    ( wi wn ax-meredith merlem9 ax-mp ) AADZAEZJDDADADIIDDZAABDZDZCLDDZAAAAAFLA
    DJCEDDADZADNDKNDLAACAFOAMCBKGHH $.

  $( Step 20 of Meredith's proof of Lukasiewicz axioms from his sole axiom.
     (Contributed by NM, 14-Dec-2002.)  (Proof modification is discouraged.)
     (New usage is discouraged.) $)
  merlem11 $p |- ( ( ph -> ( ph -> ps ) ) -> ( ph -> ps ) ) $=
    ( wi wn ax-meredith merlem10 ax-mp ) AACZADZICCACACHHCCZAABCZCZKCZAAAAAELMC
    JMCABLFLKJFGG $.

  $( Step 28 of Meredith's proof of Lukasiewicz axioms from his sole axiom.
     (Contributed by NM, 14-Dec-2002.)  (Proof modification is discouraged.)
     (New usage is discouraged.) $)
  merlem12 $p |- ( ( ( th -> ( -. -. ch -> ch ) ) -> ph ) -> ph ) $=
    ( wn wi merlem5 merlem2 ax-mp merlem4 merlem11 ) CBDDBEZEZAEZMAEZEZNLOBBEKE
    LBBFBKCGHAMLIHMAJH $.

  $( Step 35 of Meredith's proof of Lukasiewicz axioms from his sole axiom.
     (Contributed by NM, 14-Dec-2002.)  (Proof modification is discouraged.)
     (New usage is discouraged.) $)
  merlem13 $p |- ( ( ph -> ps ) ->
              ( ( ( th -> ( -. -. ch -> ch ) ) -> -. -. ph ) -> ps ) ) $=
    ( wi wn merlem12 merlem5 ax-mp merlem6 ax-meredith merlem11 ) BBEZAFZDCFFCE
    EZNFZEZFZEZEAEZAEZABEQBEETUAEZUASUBOREZREZSRCDGRBEZRFPEZEREUCEZUDSEUFUGQPEU
    FPCDGQPHIRUEUFOJIRBRNUCKIIAMSTJITALIBBAQAKI $.

  $( 1 of 3 axioms for propositional calculus due to Lukasiewicz, derived from
     Meredith's sole axiom.  (Contributed by NM, 14-Dec-2002.)
     (Proof modification is discouraged.)  (New usage is discouraged.) $)
  luk-1 $p |- ( ( ph -> ps ) -> ( ( ps -> ch ) -> ( ph -> ch ) ) ) $=
    ( wi wn ax-meredith merlem13 ax-mp ) CCDZAEZEZEJDDKDBDZBCDACDDZDZABDZMDZCCK
    ABFMADZOEZEZERDDSDLDZNPDOLDTABJIGOLRQGHMASOLFHH $.

  $( 2 of 3 axioms for propositional calculus due to Lukasiewicz, derived from
     Meredith's sole axiom.  (Contributed by NM, 14-Dec-2002.)
     (Proof modification is discouraged.)  (New usage is discouraged.) $)
  luk-2 $p |- ( ( -. ph -> ph ) -> ph ) $=
    ( wn wi merlem5 merlem4 ax-mp merlem11 ax-meredith ) ABZACZJACZCZKAJBZCIBMC
    CZICZICZLOPCZPNQAMDIONEFOIGFAMIJIHFJAGF $.

  $( 3 of 3 axioms for propositional calculus due to Lukasiewicz, derived from
     Meredith's sole axiom.  (Contributed by NM, 14-Dec-2002.)
     (Proof modification is discouraged.)  (New usage is discouraged.) $)
  luk-3 $p |- ( ph -> ( -. ph -> ps ) ) $=
    ( wn wi merlem11 merlem1 ax-mp ) ACZHBDZDIDAIDHBEABHIFG $.

$(
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
      Derive the standard axioms from the Lukasiewicz axioms
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
$)

  ${
    luklem1.1 $e |- ( ph -> ps ) $.
    luklem1.2 $e |- ( ps -> ch ) $.
    $( Used to rederive standard propositional axioms from Lukasiewicz'.
       (Contributed by NM, 23-Dec-2002.)  (Proof modification is discouraged.)
       (New usage is discouraged.) $)
    luklem1 $p |- ( ph -> ch ) $=
      ( wi luk-1 ax-mp ) BCFZACFZEABFIJFDABCGHH $.
  $}

  $( Used to rederive standard propositional axioms from Lukasiewicz'.
     (Contributed by NM, 22-Dec-2002.)  (Proof modification is discouraged.)
     (New usage is discouraged.) $)
  luklem2 $p |- ( ( ph -> -. ps ) ->
                ( ( ( ph -> ch ) -> th ) -> ( ps -> th ) ) ) $=
    ( wn wi luk-1 luk-3 ax-mp luklem1 ) ABEZFZBACFZFZMDFBDFFLKCFZMFZNAKCGBOFPNF
    BCHBOMGIJBMDGJ $.

  $( Used to rederive standard propositional axioms from Lukasiewicz'.
     (Contributed by NM, 22-Dec-2002.)  (Proof modification is discouraged.)
     (New usage is discouraged.) $)
  luklem3 $p |- ( ph -> ( ( ( -. ph -> ps ) -> ch ) -> ( th -> ch ) ) ) $=
    ( wn wi luk-3 luklem2 luklem1 ) AAEZDEZFJBFCFDCFFAKGJDBCHI $.

  $( Used to rederive standard propositional axioms from Lukasiewicz'.
     (Contributed by NM, 22-Dec-2002.)  (Proof modification is discouraged.)
     (New usage is discouraged.) $)
  luklem4 $p |- ( ( ( ( -. ph -> ph ) -> ph ) -> ps ) -> ps ) $=
    ( wn wi luk-2 luklem3 ax-mp luk-1 luklem1 ) ACADADZBDZBCZBDZBLJDZKMDJCJDJDZ
    NJEJONDAEJJJLFGGLJBHGBEI $.

  $( Used to rederive standard propositional axioms from Lukasiewicz'.
     (Contributed by NM, 22-Dec-2002.)  (Proof modification is discouraged.)
     (New usage is discouraged.) $)
  luklem5 $p |- ( ph -> ( ps -> ph ) ) $=
    ( wn wi luklem3 luklem4 luklem1 ) AACADADBADZDHAAABEAHFG $.

  $( Used to rederive standard propositional axioms from Lukasiewicz'.
     (Contributed by NM, 22-Dec-2002.)  (Proof modification is discouraged.)
     (New usage is discouraged.) $)
  luklem6 $p |- ( ( ph -> ( ph -> ps ) ) -> ( ph -> ps ) ) $=
    ( wi luk-1 wn luklem5 luklem2 luklem4 luklem1 ax-mp ) AABCZCKBCZKCZKAKBDKEZ
    KCZKCMKCZCZPMOCZQNLCRNBEZNCZLNSFTSBCBCLCLSKBBGBLHIINLKDJMOKDJKPHJI $.

  $( Used to rederive standard propositional axioms from Lukasiewicz'.
     (Contributed by NM, 22-Dec-2002.)  (Proof modification is discouraged.)
     (New usage is discouraged.) $)
  luklem7 $p |- ( ( ph -> ( ps -> ch ) ) -> ( ps -> ( ph -> ch ) ) ) $=
    ( wi luk-1 luklem5 luklem1 luklem6 ax-mp ) ABCDZDJCDZACDZDZBLDZAJCEBKDMNDBJ
    KDZKBJBDOBJFJBCEGJCHGBKLEIG $.

  $( Used to rederive standard propositional axioms from Lukasiewicz'.
     (Contributed by NM, 22-Dec-2002.)  (Proof modification is discouraged.)
     (New usage is discouraged.) $)
  luklem8 $p |- ( ( ph -> ps ) -> ( ( ch -> ph ) -> ( ch -> ps ) ) ) $=
    ( wi luk-1 luklem7 ax-mp ) CADZABDZCBDZDDIHJDDCABEHIJFG $.

  $( Standard propositional axiom derived from Lukasiewicz axioms.
     (Contributed by NM, 22-Dec-2002.)  (Proof modification is discouraged.)
     (New usage is discouraged.) $)
  ax1 $p |- ( ph -> ( ps -> ph ) ) $=
    ( luklem5 ) ABC $.

  $( Standard propositional axiom derived from Lukasiewicz axioms.
     (Contributed by NM, 22-Dec-2002.)  (Proof modification is discouraged.)
     (New usage is discouraged.) $)
  ax2 $p |- ( ( ph -> ( ps -> ch ) ) -> ( ( ph -> ps ) -> ( ph -> ch ) ) ) $=
    ( wi luklem7 luklem8 luklem6 ax-mp luklem1 ) ABCDDBACDZDZABDZJDZABCEKLAJDZD
    ZMBJAFNJDOMDACGNJLFHII $.

  $( Standard propositional axiom derived from Lukasiewicz axioms.
     (Contributed by NM, 22-Dec-2002.)  (Proof modification is discouraged.)
     (New usage is discouraged.) $)
  ax3 $p |- ( ( -. ph -> -. ps ) -> ( ps -> ph ) ) $=
    ( wn wi luklem2 luklem4 luklem1 ) ACZBCDHADADBADZDIHBAAEAIFG $.

$(
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
           Derive Nicod's axiom from the standard axioms
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=

Prove Nicod's axiom and implication and negation definitions.

$)

  $( Define implication in terms of 'nand'.  Analogous to
     ` ( ( ph -/\ ( ps -/\ ps ) ) <-> ( ph -> ps ) ) ` .  In a pure
     (standalone) treatment of Nicod's axiom, this theorem would be changed to
     a definition ($a statement).  (Contributed by NM, 11-Dec-2008.)
     (Proof modification is discouraged.)  (New usage is discouraged.) $)
  nic-dfim $p |- ( ( ( ph -/\ ( ps -/\ ps ) ) -/\ ( ph -> ps ) ) -/\
                   ( ( ( ph -/\ ( ps -/\ ps ) ) -/\ ( ph -/\ ( ps -/\ ps ) ) )
                          -/\
                     ( ( ph -> ps ) -/\ ( ph -> ps ) ) ) ) $=
    ( wnan wi wb nanim bicomi nanbi mpbi ) ABBCCZABDZEJKCJJCKKCCCKJABFGJKHI $.

  $( Define negation in terms of 'nand'.  Analogous to
     ` ( ( ph -/\ ph ) <-> -. ph ) ` .  In a pure (standalone) treatment of
     Nicod's axiom, this theorem would be changed to a definition ($a
     statement).  (Contributed by NM, 11-Dec-2008.)
     (Proof modification is discouraged.)  (New usage is discouraged.) $)
  nic-dfneg $p |- ( ( ( ph -/\ ph ) -/\ -. ph ) -/\
                    ( ( ( ph -/\ ph ) -/\ ( ph -/\ ph ) ) -/\
                      ( -. ph -/\ -. ph ) ) ) $=
    ( wnan wn wb nannot bicomi nanbi mpbi ) AABZACZDIJBIIBJJBBBJIAEFIJGH $.

  ${
    $( Minor premise. $)
    nic-jmin $e |- ph $.
    $( Major premise. $)
    nic-jmaj $e |- ( ph -/\ ( ch -/\ ps ) ) $.
    $( Derive Nicod's rule of modus ponens using 'nand', from the standard
       one.  Although the major and minor premise together also imply ` ch ` ,
       this form is necessary for useful derivations from ~ nic-ax .  In a pure
       (standalone) treatment of Nicod's axiom, this theorem would be changed
       to an axiom ($a statement).  (Contributed by Jeff Hoffman,
       19-Nov-2007.)  (Proof modification is discouraged.)
       (New usage is discouraged.) $)
    nic-mp $p |- ps $=
      ( wnan wa wi nannan mpbi simprd ax-mp ) ABDACBACBFFACBGHEABCIJKL $.

    $( A direct proof of ~ nic-mp .  (Contributed by NM, 30-Dec-2008.)
       (Proof modification is discouraged.)  (New usage is discouraged.) $)
    nic-mpALT $p |- ps $=
      ( wa wi wn wnan df-nan anbi2i xchbinx mpbi iman mpbir simprd ax-mp ) ABDA
      CBACBFZGARHZFZHZACBIZIZUAEUCAUBFTAUBJUBSACBJKLMARNOPQ $.
  $}

  $( Nicod's axiom derived from the standard ones.  See _Intro. to Math.
     Phil._ by B. Russell, p. 152.  Like ~ meredith , the usual axioms can be
     derived from this and vice versa.  Unlike ~ meredith , Nicod uses a
     different connective ('nand'), so another form of modus ponens must be
     used in proofs, e.g. ` { ` ~ nic-ax , ~ nic-mp ` } ` is equivalent to
     ` { ` ~ luk-1 , ~ luk-2 , ~ luk-3 , ~ ax-mp ` } ` .  In a pure
     (standalone) treatment of Nicod's axiom, this theorem would be changed to
     an axiom ($a statement).  (Contributed by Jeff Hoffman, 19-Nov-2007.)
     (Proof modification is discouraged.)  (New usage is discouraged.) $)
  nic-ax $p |- ( ( ph -/\ ( ch -/\ ps ) ) -/\
                   ( ( ta -/\ ( ta -/\ ta ) ) -/\
                     ( ( th -/\ ch ) -/\
                       ( ( ph -/\ th ) -/\ ( ph -/\ th ) ) ) ) ) $=
    ( wnan wa wi nannan biimpi simpl imim2i wn imnan df-nan bitr4i imim2d con2b
    con3 mpbir 3bitr4ri syl6ibr syl5bir nanim sylib 3syl pm4.24 jctil ) ACBFFZE
    EEFFZDCFZADFZULFFZFFUIUJUMGHUIUMUJUIACBGZHZACHZUMUIUOABCIJUNCACBKLUPUKULHUM
    UKDCMZHZUPULURDCGMUKDCNDCOPUPURDAMZHZULUPUQUSDACSQADMHADGMUTULADNDARADOUAUB
    UCUKULUDUEUFUJEEEGZHEVAEUGJEEEITUHUIUMUJIT $.

  $( A direct proof of ~ nic-ax .  (Contributed by NM, 11-Dec-2008.)
     (Proof modification is discouraged.)  (New usage is discouraged.) $)
  nic-axALT $p |- ( ( ph -/\ ( ch -/\ ps ) ) -/\ ( ( ta -/\ ( ta -/\ ta ) )
          -/\ ( ( th -/\ ch ) -/\ ( ( ph -/\ th ) -/\ ( ph -/\ th ) ) ) ) ) $=
    ( wnan wa wn anidm df-nan anbi2i notbii iman 3bitr4i bitr4i xchbinx anbi12i
    wi imnan mpbir simpl imim2i con3 imim2d biimpri jctil con2b bitr3i 3bitri
    syl ) ACBFZFZEEEFZFZDCFZADFZUPFZFZFZFULUSGZHZVAACBGZRZEEEGZRZDCHZRZDAHZRZRZ
    GZRZVCVJVEVCACRZVJVBCACBUAUBVMVFVHDACUCUDUJVDEEIUEUFVAVCVKHZGZHVLUTVOULVCUS
    VNAUKGZHAVBHZGZHULVCVPVRUKVQACBJKLAUKJAVBMNUSUNURGVKUNURJUNVEURVJEUMGZHEVDH
    ZGZHUNVEVSWAUMVTEEEJKLEUMJEVDMNUOUQGZHVGVIHZGZHURVJWBWDUOVGUQWCUODCGHVGDCJD
    CSOUQUPUPGZVIUPUPJWEUPADGHZVIUPIADJWFADHRVIADSADUGUHUIPQLUOUQJVGVIMNQPQLVCV
    KMOTULUSJT $.


$(
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
          Derive the Lukasiewicz axioms from Nicod's axiom
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
$)

  ${
    $( Minor premise. $)
    nic-imp.1 $e |- ( ph -/\ ( ch -/\ ps ) ) $.
    $( Inference for ~ nic-mp using ~ nic-ax as major premise.  (Contributed by
       Jeff Hoffman, 17-Nov-2007.)  (Proof modification is discouraged.)
       (New usage is discouraged.) $)
    nic-imp $p |- ( ( th -/\ ch ) -/\ ( ( ph -/\ th ) -/\ ( ph -/\ th ) ) ) $=
      ( wta wnan nic-ax nic-mp ) ACBGGDCGADGZJGGFFFGGEABCDFHI $.
  $}

  $( Lemma for ~ nic-id .  (Contributed by Jeff Hoffman, 17-Nov-2007.)
     (Proof modification is discouraged.)  (New usage is discouraged.) $)
  nic-idlem1 $p |- ( ( th -/\ ( ta -/\ ( ta -/\ ta ) ) ) -/\
                 ( ( ( ph -/\ ( ch -/\ ps ) ) -/\ th ) -/\
                   ( ( ph -/\ ( ch -/\ ps ) ) -/\ th ) ) ) $=
    ( wnan nic-ax nic-imp ) ACBFFACFAAFZIFFEEEFFDABCAEGH $.

  ${
    nic-idlem2.1 $e |- ( et -/\ ( ( ph -/\ ( ch -/\ ps ) ) -/\ th ) ) $.
    $( Lemma for ~ nic-id .  Inference used by ~ nic-id .  (Contributed by Jeff
       Hoffman, 17-Nov-2007.)  (Proof modification is discouraged.)
       (New usage is discouraged.) $)
    nic-idlem2 $p |- ( ( th -/\ ( ta -/\ ( ta -/\ ta ) ) ) -/\ et ) $=
      ( wnan nic-ax nic-imp nic-mp ) FACBHHZDHZHDEEEHHZHZFHZPGOMMFLACHAAHZQHHND
      ABCAEIJJK $.
  $}

  $( Theorem ~ id expressed with ` -/\ ` .  (Contributed by Jeff Hoffman,
     17-Nov-2007.)  (Proof modification is discouraged.)
     (New usage is discouraged.) $)
  nic-id $p |- ( ta -/\ ( ta -/\ ta ) ) $=
    ( wph wps wch wth wnan nic-ax nic-idlem2 nic-idlem1 nic-mp ) BCFZCBFZLFFZDD
    DFZFZFZCCCFFZFAAAFFZOEEEMDQCCCBEGHMNDPCORFKLLOAIHJ $.

  $( ` -/\ ` is symmetric.  (Contributed by Jeff Hoffman, 17-Nov-2007.)
     (Proof modification is discouraged.)  (New usage is discouraged.) $)
  nic-swap $p |- ( ( th -/\ ph ) -/\ ( ( ph -/\ th ) -/\ ( ph -/\ th ) ) ) $=
    ( wta wnan nic-id nic-ax nic-mp ) AAADDBADABDZHDDCCCDDAEAAABCFG $.

  ${
    nic-isw1.1 $e |- ( th -/\ ph ) $.
    $( Inference version of ~ nic-swap .  (Contributed by Jeff Hoffman,
       17-Nov-2007.)  (Proof modification is discouraged.)
       (New usage is discouraged.) $)
    nic-isw1 $p |- ( ph -/\ th ) $=
      ( wnan nic-swap nic-mp ) BADABDZGCABEF $.
  $}

  ${
    nic-isw2.1 $e |- ( ps -/\ ( th -/\ ph ) ) $.
    $( Inference for swapping nested terms.  (Contributed by Jeff Hoffman,
       17-Nov-2007.)  (Proof modification is discouraged.)
       (New usage is discouraged.) $)
    nic-isw2 $p |- ( ps -/\ ( ph -/\ th ) ) $=
      ( wnan nic-swap nic-imp nic-mp nic-isw1 ) BACEZBCAEZEJBEZLDJKKBCAFGHI $.
  $}

  ${
    nic-iimp1.1 $e |- ( ph -/\ ( ch -/\ ps ) ) $.
    nic-iimp1.2 $e |- ( th -/\ ch ) $.
    $( Inference version of ~ nic-imp using right-handed term.  (Contributed by
       Jeff Hoffman, 17-Nov-2007.)  (Proof modification is discouraged.)
       (New usage is discouraged.) $)
    nic-iimp1 $p |- ( th -/\ ph ) $=
      ( wnan nic-imp nic-mp nic-isw1 ) DADCGADGZKFABCDEHIJ $.
  $}

  ${
    nic-iimp2.1 $e |- ( ( ph -/\ ps ) -/\ ( ch -/\ ch ) ) $.
    nic-iimp2.2 $e |- ( th -/\ ph ) $.
    $( Inference version of ~ nic-imp using left-handed term.  (Contributed by
       Jeff Hoffman, 17-Nov-2007.)  (Proof modification is discouraged.)
       (New usage is discouraged.) $)
    nic-iimp2 $p |- ( th -/\ ( ch -/\ ch ) ) $=
      ( wnan nic-isw1 nic-iimp1 ) CCGZBADJABGEHFI $.
  $}

  ${
    nic-idel.1 $e |- ( ph -/\ ( ch -/\ ps ) ) $.
    $( Inference to remove the trailing term.  (Contributed by Jeff Hoffman,
       17-Nov-2007.)  (Proof modification is discouraged.)
       (New usage is discouraged.) $)
    nic-idel $p |- ( ph -/\ ( ch -/\ ch ) ) $=
      ( wnan nic-id nic-isw1 nic-imp nic-mp ) CCEZCEAJEZKJCCFGABCJDHI $.
  $}

  ${
    nic-ich.1 $e |- ( ph -/\ ( ps -/\ ps ) ) $.
    nic-ich.2 $e |- ( ps -/\ ( ch -/\ ch ) ) $.
    $( Chained inference.  (Contributed by Jeff Hoffman, 17-Nov-2007.)
       (Proof modification is discouraged.)  (New usage is discouraged.) $)
    nic-ich $p |- ( ph -/\ ( ch -/\ ch ) ) $=
      ( wnan nic-isw1 nic-imp nic-mp ) CCFZBFAJFZKJBEGABBJDHI $.
  $}

  ${
    nic-idbl.1 $e |- ( ph -/\ ( ps -/\ ps ) ) $.
    $( Double the terms.  Since doubling is the same as negation, this can be
       viewed as a contraposition inference.  (Contributed by Jeff Hoffman,
       17-Nov-2007.)  (Proof modification is discouraged.)
       (New usage is discouraged.) $)
    nic-idbl $p |- ( ( ps -/\ ps ) -/\ ( ( ph -/\ ph ) -/\ ( ph -/\ ph ) ) ) $=
      ( wnan nic-imp nic-ich ) BBDABDAADABBBCEABBACEF $.
  $}

$( (not in Table of Contents)
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
        Biconditional justification from Nicod's axiom
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
$)

  $( For nic-* definitions, the biconditional connective is not used.  Instead,
     definitions are made based on this form. ~ nic-bi1 and ~ nic-bi2 are used
     to convert the definitions into usable theorems about one side of the
     implication.  (Contributed by Jeff Hoffman, 18-Nov-2007.)
     (Proof modification is discouraged.)  (New usage is discouraged.) $)
  nic-bijust $p |- ( ( ta -/\ ta ) -/\ ( ( ta -/\ ta ) -/\ ( ta -/\ ta ) ) ) $=
    ( nic-swap ) AAB $.

  ${
    $( 'Biconditional' premise. $)
    nic-bi1.1 $e |- ( ( ph -/\ ps ) -/\ ( ( ph -/\ ph )
         -/\ ( ps -/\ ps ) ) ) $.
    $( Inference to extract one side of an implication from a definition.
       (Contributed by Jeff Hoffman, 18-Nov-2007.)
       (Proof modification is discouraged.)  (New usage is discouraged.) $)
    nic-bi1 $p |- ( ph -/\ ( ps -/\ ps ) ) $=
      ( wnan nic-id nic-iimp1 nic-isw2 nic-idel ) AABBAAABDBBDAADACAEFGH $.
  $}

  ${
    $( 'Biconditional' premise.  $)
    nic-bi2.1 $e |- ( ( ph -/\ ps ) -/\ ( ( ph -/\ ph )
         -/\ ( ps -/\ ps ) ) ) $.
    $( Inference to extract the other side of an implication from a
       'biconditional' definition.  (Contributed by Jeff Hoffman,
       18-Nov-2007.)  (Proof modification is discouraged.)
       (New usage is discouraged.) $)
    nic-bi2 $p |- ( ps -/\ ( ph -/\ ph ) ) $=
      ( wnan nic-isw2 nic-id nic-iimp1 nic-idel ) BBAABDZAADZBBDZBKIJCEBFGH $.
  $}

$( (not in Table of Contents)
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
             Prove the Lukasiewicz axioms from Nicod's axiom
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
$)

  ${
    $( Minor premise. $)
    nic-smin $e |- ph $.
    $( Major premise. $)
    nic-smaj $e |- ( ph -> ps ) $.
    $( Derive the standard modus ponens from ~ nic-mp .  (Contributed by Jeff
       Hoffman, 18-Nov-2007.)  (Proof modification is discouraged.)
       (New usage is discouraged.) $)
    nic-stdmp $p |- ps $=
      ( wi wnan nic-dfim nic-bi2 nic-mp ) ABBCABEZABBFFZKDKJABGHII $.
  $}

  $( Proof of ~ luk-1 from ~ nic-ax and ~ nic-mp (and definitions ~ nic-dfim
     and ~ nic-dfneg ).  Note that the standard axioms ~ ax-1 , ~ ax-2 , and
     ~ ax-3 are proved from the Lukasiewicz axioms by theorems ~ ax1 , ~ ax2 ,
     and ~ ax3 .  (Contributed by Jeff Hoffman, 18-Nov-2007.)
     (Proof modification is discouraged.)  (New usage is discouraged.) $)
  nic-luk1 $p |- ( ( ph -> ps ) -> ( ( ps -> ch ) -> ( ph -> ch ) ) ) $=
    ( wta wi nic-dfim nic-bi2 nic-ax nic-isw2 nic-idel nic-bi1 nic-idbl nic-imp
    wnan nic-swap nic-ich nic-mp ) ABEZBCEZACEZEZUANNZRUAEZUCRABBNNZUAUDRABFGUD
    STTNZNZUAUDCCNZBNZAUGNZUINZNZUFUDDDDNNZUKUKUDULABBUGDHIJUKUEUHNUFUEUJUJUHUI
    TUITACFKLMSUHUHUESBUGNZUHUMSBCFGUGBOPMPPUFUASTFKPPUBUCRUAFKQ $.

  $( Proof of ~ luk-2 from ~ nic-ax and ~ nic-mp .  (Contributed by Jeff
     Hoffman, 18-Nov-2007.)  (Proof modification is discouraged.)
     (New usage is discouraged.) $)
  nic-luk2 $p |- ( ( -. ph -> ph ) -> ph ) $=
    ( wn wi wnan nic-dfim nic-bi2 nic-dfneg nic-iimp1 nic-isw2 nic-isw1 nic-bi1
    nic-id nic-mp ) ABZACZAADZDZOACZROPONPDZSPSONAEFNPPPNDNNDPPDPAGPLHIHJQROAEK
    M $.

  $( Proof of ~ luk-3 from ~ nic-ax and ~ nic-mp .  (Contributed by Jeff
     Hoffman, 18-Nov-2007.)  (Proof modification is discouraged.)
     (New usage is discouraged.) $)
  nic-luk3 $p |- ( ph -> ( -. ph -> ps ) ) $=
    ( wnan nic-dfim nic-bi1 nic-dfneg nic-bi2 nic-id nic-iimp1 nic-iimp2 nic-mp
    wn wi ) AALZBMZOCCZAOMZQNBBCZOANRCONBDENAACZSASNAFGAHIJPQAODEK $.

$(
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
        Derive Nicod's Axiom from Lukasiewicz's First Sheffer Stroke Axiom
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
$)

  $( This alternative axiom for propositional calculus using the Sheffer Stroke
     was offered by Lukasiewicz in his Selected Works.  It improves on Nicod's
     axiom by reducing its number of variables by one.

     This axiom also uses ~ nic-mp for its constructions.

     Here, the axiom is proved as a substitution instance of ~ nic-ax .
     (Contributed by Anthony Hart, 31-Jul-2011.)
     (Proof modification is discouraged.)  (New usage is discouraged.) $)
  lukshef-ax1 $p |- ( ( ph -/\ ( ch -/\ ps ) ) -/\ ( ( th -/\ ( th -/\ th ) )
          -/\ ( ( th -/\ ch ) -/\ ( ( ph -/\ th ) -/\ ( ph -/\ th ) ) ) ) ) $=
    ( nic-ax ) ABCDDE $.

  $( Lemma for ~ renicax .  (Contributed by NM, 31-Jul-2011.)
     (Proof modification is discouraged.)  (New usage is discouraged.) $)
  lukshefth1 $p |- ( ( ( ( ta -/\ ps ) -/\ ( ( ph -/\ ta ) -/\ ( ph
          -/\ ta ) ) ) -/\ ( th -/\ ( th -/\ th ) ) ) -/\ ( ph -/\ ( ps
          -/\ ch ) ) ) $=
    ( wnan lukshef-ax1 nic-mp ) ABCFFZEEEFFZEBFAEFZKFFZFZFZLDDDFFZFZIFZQACBEGPM
    MFFZNQQFFIIIFFJODEFEDFZSFFZFFRLLLFFEEEDGJTOLGHPMMIGHH $.

  $( Lemma for ~ renicax .  (Contributed by NM, 31-Jul-2011.)
     (Proof modification is discouraged.)  (New usage is discouraged.) $)
  lukshefth2 $p |- ( ( ta -/\ th ) -/\ ( ( th -/\ ta ) -/\ ( th
          -/\ ta ) ) ) $=
    ( wps wch wph wnan lukshef-ax1 nic-mp lukshefth1 ) AAAFFZBAFABFZKFFBBBFFAJF
    ZCDEFFZAFZNFFZJBEFEBFZPFFZMJADFCAFZRFFZFFOJCEDAGMSJAGHQJFZEEEFFZFZOTFZUCEEE
    ABIOUAENFLEFZUDFFZFFUBUCUCFFTTTFFLNNEGOUEUATGHHHAAABGH $.

  $( A rederivation of ~ nic-ax from ~ lukshef-ax1 , proving that ~ lukshef-ax1
     with ~ nic-mp can be used as a complete axiomatization of propositional
     calculus.  (Contributed by Anthony Hart, 31-Jul-2011.)
     (Proof modification is discouraged.)  (New usage is discouraged.) $)
  renicax $p |- ( ( ph -/\ ( ch -/\ ps ) ) -/\ ( ( ta -/\ ( ta -/\ ta ) )
          -/\ ( ( th -/\ ch ) -/\ ( ( ph -/\ th ) -/\ ( ph -/\ th ) ) ) ) ) $=
    ( wnan lukshefth1 lukshefth2 nic-mp lukshef-ax1 ) EEEFFZDCFADFZLFFZFZACBFFZ
    FZONFZQOMKFZFZPPROFSSACBEDGORHINRRFFSPPFFOOOFFMKHNRROJIIONHI $.

$(
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
      Derive the Lukasiewicz Axioms from the Tarski-Bernays-Wajsberg Axioms
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
$)

  $( Justification for ~ tbw-negdf .  (Contributed by Anthony Hart,
     15-Aug-2011.)  (Proof modification is discouraged.)
     (New usage is discouraged.) $)
  tbw-bijust $p |- ( ( ph <-> ps ) <-> ( ( ( ph -> ps )
    -> ( ( ps -> ph ) -> F. ) ) -> F. ) ) $=
    ( wb wi wn wfal dfbi1 pm2.21 imim2i falim impbii notbii ax-1 pm2.43i 3bitri
    id ja ) ABCABDZBADZEZDZERSFDZDZEZUCFDZABGUAUCUAUCTUBRSFHIUBTRSFTTPTJQIKLUDU
    EUCFHUEUDUCFUEUDDZUDUEMUFJQNKO $.

  $( The definition of negation, in terms of ` -> ` and ` F. ` .  (Contributed
     by Anthony Hart, 15-Aug-2011.)  (Proof modification is discouraged.)
     (New usage is discouraged.) $)
  tbw-negdf $p |- ( ( ( -. ph -> ( ph -> F. ) )
    -> ( ( ( ph -> F. ) -> -. ph ) -> F. ) ) -> F. ) $=
    ( wn wfal wi wb pm2.21 ax-1 falim ja pm2.43i impbii tbw-bijust mpbi ) ABZAC
    DZENODONDZCDDCDNOACFONACPNOGPHIJKNOLM $.

  $( The first of four axioms in the Tarski-Bernays-Wajsberg system.
     (Contributed by Anthony Hart, 13-Aug-2011.)
     (Proof modification is discouraged.)  (New usage is discouraged.) $)
  tbw-ax1 $p |- ( ( ph -> ps ) -> ( ( ps -> ch ) -> ( ph -> ch ) ) ) $=
    ( imim1 ) ABCD $.

  $( The second of four axioms in the Tarski-Bernays-Wajsberg system.
     (Contributed by Anthony Hart, 13-Aug-2011.)
     (Proof modification is discouraged.)  (New usage is discouraged.) $)
  tbw-ax2 $p |- ( ph -> ( ps -> ph ) ) $=
    ( ax-1 ) ABC $.

  $( The third of four axioms in the Tarski-Bernays-Wajsberg system.
     (Contributed by Anthony Hart, 13-Aug-2011.)
     (Proof modification is discouraged.)  (New usage is discouraged.) $)
  tbw-ax3 $p |- ( ( ( ph -> ps ) -> ph ) -> ph ) $=
    ( peirce ) ABC $.

  $( The fourth of four axioms in the Tarski-Bernays-Wajsberg system.

     This axiom was added to the Tarski-Bernays axiom system ( see tb-ax1 ,
     tb-ax2 , and tb-ax3 in set.mm) by Wajsberg for completeness.  (Contributed
     by Anthony Hart, 13-Aug-2011.)  (Proof modification is discouraged.)
     (New usage is discouraged.) $)
  tbw-ax4 $p |- ( F. -> ph ) $=
    ( falim ) AB $.

  ${
    tbwsyl.1 $e |- ( ph -> ps ) $.
    tbwsyl.2 $e |- ( ps -> ch ) $.
    $( Used to rederive the Lukasiewicz axioms from Tarski-Bernays-Wajsberg'.
       (Contributed by Anthony Hart, 16-Aug-2011.)
       (Proof modification is discouraged.)  (New usage is discouraged.) $)
    tbwsyl $p |- ( ph -> ch ) $=
      ( wi tbw-ax1 ax-mp ) BCFZACFZEABFIJFDABCGHH $.
  $}

  $( Used to rederive the Lukasiewicz axioms from Tarski-Bernays-Wajsberg'.
     (Contributed by Anthony Hart, 16-Aug-2011.)
     (Proof modification is discouraged.)  (New usage is discouraged.) $)
  tbwlem1 $p |- ( ( ph -> ( ps -> ch ) ) -> ( ps -> ( ph -> ch ) ) ) $=
    ( wi tbw-ax2 tbw-ax1 tbwsyl tbw-ax3 mpsyl ) BBCDZCDZDAJDKACDZDBLDBJKDZKBJBD
    MBJEJBCFGMKCDKDKJKCFKCHGGAJCFBKLFI $.

  $( Used to rederive the Lukasiewicz axioms from Tarski-Bernays-Wajsberg'.
     (Contributed by Anthony Hart, 16-Aug-2011.)
     (Proof modification is discouraged.)  (New usage is discouraged.) $)
  tbwlem2 $p |- ( ( ph -> ( ps -> F. ) ) -> ( ( ( ph -> ch ) -> th )
    -> ( ps -> th ) ) ) $=
    ( wfal wi tbw-ax4 tbw-ax1 tbwlem1 ax-mp mpsyl tbwsyl ) ABEFZFZBACFZFZODFBDF
    FBMCFZFZNQOFPMBCFZFZRECFZTCGMUASFFUATFBECHMUASIJJMBCIJAMCHBQOHKBODHL $.

  $( Used to rederive the Lukasiewicz axioms from Tarski-Bernays-Wajsberg'.
     (Contributed by Anthony Hart, 16-Aug-2011.)
     (Proof modification is discouraged.)  (New usage is discouraged.) $)
  tbwlem3 $p |- ( ( ( ( ( ph -> F. ) -> ph ) -> ph ) -> ps ) -> ps ) $=
    ( wfal wi tbw-ax3 tbw-ax2 tbw-ax1 tbwsyl ax-mp ) ACDADADZBDZKBDZDZLJMACEJKJ
    DMJKFKJBGHIMLBDLDLKLBGLBEHI $.

  $( Used to rederive the Lukasiewicz axioms from Tarski-Bernays-Wajsberg'.
     (Contributed by Anthony Hart, 16-Aug-2011.)
     (Proof modification is discouraged.)  (New usage is discouraged.) $)
  tbwlem4 $p |- ( ( ( ph -> F. ) -> ps ) -> ( ( ps -> F. ) -> ph ) ) $=
    ( wfal wi tbw-ax4 tbw-ax1 tbwlem1 ax-mp tbwlem2 tbwlem3 tbwsyl ) ACDZBDZLBC
    DZCDZDZNADZBODZMPDZNNDZRCCDZTCENUANDDUATDBCCFNUANGHHNBCGHMRPDDRSDLBOFMRPGHH
    PLADADQDQLNAAIAQJKK $.

  $( Used to rederive the Lukasiewicz axioms from Tarski-Bernays-Wajsberg'.
     (Contributed by Anthony Hart, 16-Aug-2011.)
     (Proof modification is discouraged.)  (New usage is discouraged.) $)
  tbwlem5 $p |- ( ( ( ph -> ( ps -> F. ) ) -> F. ) -> ph ) $=
    ( wfal wi tbw-ax2 tbw-ax1 tbwsyl tbwlem1 ax-mp tbwlem4 ) ACDZABCDZDZDZMCDAD
    AKLDZDNABADOABEBACFGAKLHIAMJI $.

  $( ~ luk-1 derived from the Tarski-Bernays-Wajsberg axioms.  (Contributed by
     Anthony Hart, 16-Aug-2011.)  (Proof modification is discouraged.)
     (New usage is discouraged.) $)
  re1luk1 $p |- ( ( ph -> ps ) -> ( ( ps -> ch ) -> ( ph -> ch ) ) ) $=
    ( tbw-ax1 ) ABCD $.

  $( ~ luk-2 derived from the Tarski-Bernays-Wajsberg axioms.  (Contributed by
     Anthony Hart, 16-Aug-2011.)  (Proof modification is discouraged.)
     (New usage is discouraged.) $)
  re1luk2 $p |- ( ( -. ph -> ph ) -> ph ) $=
    ( wn wi wfal tbw-negdf tbw-ax2 tbwlem4 ax-mp tbw-ax1 tbw-ax3 tbwsyl ) ABZAC
    ZADCZACZANLCZMOCLNCZPDCZCZDCZPAERSCTPCRQFPSGHHNLAIHADJK $.

  $( ~ luk-3 derived from the Tarski-Bernays-Wajsberg axioms.

     This theorem, along with ~ re1luk1 and ~ re1luk2 proves that ~ tbw-ax1 ,
     ~ tbw-ax2 , ~ tbw-ax3 , and ~ tbw-ax4 , with ~ ax-mp can be used as a
     complete axiom system for all of propositional calculus.  (Contributed by
     Anthony Hart, 16-Aug-2011.)  (Proof modification is discouraged.)
     (New usage is discouraged.) $)
  re1luk3 $p |- ( ph -> ( -. ph -> ps ) ) $=
    ( wn wfal wi tbw-negdf tbwlem5 ax-mp tbw-ax4 tbw-ax1 tbwlem1 mpsyl ) ACZADE
    ZEZANBEZMBEONMEZDEEDEOAFOQGHNABEZEZAPEDBEZSBINTREETSEADBJNTRKHHNABKHMNBJL
    $.

$(
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
  Derive the Tarski-Bernays-Wajsberg axioms from Meredith's First CO Axiom
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
$)

  $( A single axiom for propositional calculus offered by Meredith.

     This axiom is worthy of note, due to it having only 19 symbols, not
     counting parentheses.  The more well-known ~ meredith has 21 symbols, sans
     parentheses.

     See ~ merco2 for another axiom of equal length.  (Contributed by Anthony
     Hart, 13-Aug-2011.)  (Proof modification is discouraged.)
     (New usage is discouraged.) $)
  merco1 $p |- ( ( ( ( ( ph -> ps ) -> ( ch -> F. ) ) -> th ) -> ta )
         -> ( ( ta -> ph ) -> ( ch -> ph ) ) ) $=
    ( wi wfal wn ax-1 falim ja imim2i imim1i meredith syl ) ABFZCGFZFZDFZEFPDHZ
    CHZFZFZDFZEFEAFCAFFUDSERUCDQUBPCGUBUATIUBJKLMMABDCENO $.

  $( Used to rederive the Tarski-Bernays-Wajsberg axioms from ~ merco1 .
     (Contributed by Anthony Hart, 17-Sep-2011.)
     (Proof modification is discouraged.)  (New usage is discouraged.) $)
  merco1lem1 $p |- ( ph -> ( F. -> ch ) ) $=
    ( wfal wi merco1 ax-mp ) AACADZDZDZACBDZDZHGDZHDZIGCDACDZDZGDHDZMGNDZNDZGDO
    DPCAANGEGNAGOEFGCAGHEFHCDZNDZGDLDZMIDQSDHDTDUACAASHEGNHHTEFHCAGLEFFHJDZKDZI
    KDZJCDNDZGDHDZUCRJDUEDUFCAANJEGNAJUEEFJCAGHEFKCDICDZDZJDUBDZUCUDDJUGDSDKDUH
    DUICBISKEJUGHKUHEFKCIJUBEFFF $.

  $( ~ tbw-ax4 rederived from ~ merco1 .  (Contributed by Anthony Hart,
     17-Sep-2011.)  (Proof modification is discouraged.)
     (New usage is discouraged.) $)
  retbwax4 $p |- ( F. -> ph ) $=
    ( wfal wi merco1lem1 ax-mp ) ABACZCZFAADGADE $.

  $( ~ tbw-ax2 rederived from ~ merco1 .  (Contributed by Anthony Hart,
     17-Sep-2011.)  (Proof modification is discouraged.)
     (New usage is discouraged.) $)
  retbwax2 $p |- ( ph -> ( ps -> ph ) ) $=
    ( wi wfal merco1lem1 merco1 ax-mp ) AAAACZCZCZABACZCZDACZHCZICZJHACADCZCACZ
    MCOQAEHAAAMFGIPCPCDCNCOJCAHAPDFIPADNFGGMKCZLCZJLCZKACPCACZMCSUAAEKAAAMFGLBD
    CZCJDCZCDCRCSTCAKBUCDFLUBJDRFGGG $.

  $( Used to rederive the Tarski-Bernays-Wajsberg axioms from ~ merco1 .
     (Contributed by Anthony Hart, 17-Sep-2011.)
     (Proof modification is discouraged.)  (New usage is discouraged.) $)
  merco1lem2 $p |- ( ( ( ph -> ps ) -> ch ) -> ( ( ( ps -> ta ) -> ( ph ->
    F. ) ) -> ch ) ) $=
    ( wi wfal retbwax2 merco1 ax-mp ) CAEZBDEAFEEZFEZEZBEABEZEZNCEKCEELMEOLJGBD
    AFMHICAKBNHI $.

  $( Used to rederive the Tarski-Bernays-Wajsberg axioms from ~ merco1 .
     (Contributed by Anthony Hart, 17-Sep-2011.)
     (Proof modification is discouraged.)  (New usage is discouraged.) $)
  merco1lem3 $p |- ( ( ( ph -> ps ) -> ( ch -> F. ) ) -> ( ch -> ph ) ) $=
    ( wi wfal merco1lem2 retbwax2 ax-mp ) AAADZAEDDZIDZDZABDCEDDZCADZDZIEDJEDDZ
    LAAEAFKLDPLDKAGJILEFHHNEDMEDDZLODZCAEBFORDQRDOLGMNREFHHH $.

  $( Used to rederive the Tarski-Bernays-Wajsberg axioms from ~ merco1 .
     (Contributed by Anthony Hart, 17-Sep-2011.)
     (Proof modification is discouraged.)  (New usage is discouraged.) $)
  merco1lem4 $p |- ( ( ( ph -> ps ) -> ch ) -> ( ps -> ch ) ) $=
    ( wi wfal merco1lem3 merco1 ax-mp ) CADZBEDZDZBDABDZDZLCDBCDDJAEDZDIEDZDKDM
    JNIFBEAOKGHCABBLGH $.

  $( Used to rederive the Tarski-Bernays-Wajsberg axioms from ~ merco1 .
     (Contributed by Anthony Hart, 17-Sep-2011.)
     (Proof modification is discouraged.)  (New usage is discouraged.) $)
  merco1lem5 $p |- ( ( ( ( ph -> F. ) -> ch ) -> ta ) -> ( ph -> ta ) ) $=
    ( wi wfal merco1lem4 merco1 ax-mp ) CADZAEDZDBDJBDZDKCDACDDIJBFCAABKGH $.

  $( Used to rederive the Tarski-Bernays-Wajsberg axioms from ~ merco1 .
     (Contributed by Anthony Hart, 17-Sep-2011.)
     (Proof modification is discouraged.)  (New usage is discouraged.) $)
  merco1lem6 $p |- ( ( ph -> ( ph -> ps ) ) -> ( ch -> ( ph -> ps ) ) ) $=
    ( wi wfal merco1lem5 merco1lem3 ax-mp merco1 ) ABDZEDCEDZDZEDZADZAJDCJDDJME
    DZDZNLODZPOEDMDQLEEFOELGHJKOFHABMGHJECEAIH $.

  $( Used to rederive the Tarski-Bernays-Wajsberg axioms from ~ merco1 .
     (Contributed by Anthony Hart, 17-Sep-2011.)
     (Proof modification is discouraged.)  (New usage is discouraged.) $)
  merco1lem7 $p |- ( ph -> ( ( ( ps -> ch ) -> ps ) -> ps ) ) $=
    ( wi wfal merco1lem5 merco1 ax-mp merco1lem6 ) BCDZBDZKBDZDZALDBEDKEDZDCDJD
    MBNCFBEKCJGHKBAIH $.

  $( ~ tbw-ax3 rederived from ~ merco1 .  (Contributed by Anthony Hart,
     17-Sep-2011.)  (Proof modification is discouraged.)
     (New usage is discouraged.) $)
  retbwax3 $p |- ( ( ( ph -> ps ) -> ph ) -> ph ) $=
    ( wi retbwax2 merco1lem7 ax-mp ) AAACCZABCACACAADGABEF $.

  $( Used to rederive the Tarski-Bernays-Wajsberg axioms from ~ merco1 .
     (Contributed by Anthony Hart, 17-Sep-2011.)
     (Proof modification is discouraged.)  (New usage is discouraged.) $)
  merco1lem8 $p |- ( ph -> ( ( ps -> ( ps -> ch ) ) -> ( ps -> ch ) ) ) $=
    ( wi merco1lem6 ax-mp ) BBCDZDZHGDZDAIDBCHEHGAEF $.

  $( Used to rederive the Tarski-Bernays-Wajsberg axioms from ~ merco1 .
     (Contributed by Anthony Hart, 18-Sep-2011.)
     (Proof modification is discouraged.)  (New usage is discouraged.) $)
  merco1lem9 $p |- ( ( ph -> ( ph -> ps ) ) -> ( ph -> ps ) ) $=
    ( wfal wi merco1lem8 ax-mp ) CADZAABDZDHDZDZIGABEJABEF $.

  $( Used to rederive the Tarski-Bernays-Wajsberg axioms from ~ merco1 .
     (Contributed by Anthony Hart, 18-Sep-2011.)
     (Proof modification is discouraged.)  (New usage is discouraged.) $)
  merco1lem10 $p |- ( ( ( ( ( ph -> ps ) -> ch ) -> ( ta -> ch ) ) -> ph ) ->
    ( th -> ph ) ) $=
    ( wi wfal merco1 merco1lem2 ax-mp ) ABFZDGFZFCAFEGFFAFZGFZFKCFECFFZFZOAFDAF
    FMKFOFPCAEAKHMKOLIJABDNOHJ $.

  $( Used to rederive the Tarski-Bernays-Wajsberg axioms from ~ merco1 .
     (Contributed by Anthony Hart, 18-Sep-2011.)
     (Proof modification is discouraged.)  (New usage is discouraged.) $)
  merco1lem11 $p |- ( ( ph -> ps ) -> ( ( ( ch -> ( ph -> ta ) ) -> F. ) -> ps
    ) ) $=
    ( wi wfal merco1lem5 merco1lem3 ax-mp merco1lem4 merco1 merco1lem2 ) ADEZBA
    EZCMEZFEZFEZEZFEZFEZEZABEPBEEZOTEZUAQTEZUCRTEZUDTFESEUERFFGTFRHINQTJIOFTGIC
    MTJISAEUBEUAUBEBAPFAKSAUBDLII $.

  $( Used to rederive the Tarski-Bernays-Wajsberg axioms from ~ merco1 .
     (Contributed by Anthony Hart, 18-Sep-2011.)
     (Proof modification is discouraged.)  (New usage is discouraged.) $)
  merco1lem12 $p |- ( ( ph -> ps ) -> ( ( ( ch -> ( ph -> ta ) ) -> ph ) -> ps
    ) ) $=
    ( wi wfal merco1lem3 merco1 ax-mp merco1lem9 merco1lem11 ) BAEZCADEZEZAEZFE
    ZEFEAEZABEOBEEOAEZQOREZRMPECFEZENESMPCGADOTNHIOAJIOALFKIBAOFAHI $.

  $( Used to rederive the Tarski-Bernays-Wajsberg axioms from ~ merco1 .
     (Contributed by Anthony Hart, 18-Sep-2011.)
     (Proof modification is discouraged.)  (New usage is discouraged.) $)
  merco1lem13 $p |- ( ( ( ( ph -> ps ) -> ( ch -> ps ) ) -> ta ) -> ( ph ->
    ta ) ) $=
    ( wi wfal merco1 merco1lem4 ax-mp merco1lem12 ) DAEZAFEEAEABECBEEZEZLDEADEE
    ALEZMBAECFEEAEZAELENBACAAGOALHIALKFJIDAAALGI $.

  $( Used to rederive the Tarski-Bernays-Wajsberg axioms from ~ merco1 .
     (Contributed by Anthony Hart, 18-Sep-2011.)
     (Proof modification is discouraged.)  (New usage is discouraged.) $)
  merco1lem14 $p |- ( ( ( ( ph -> ps ) -> ps ) -> ch ) -> ( ph -> ch ) ) $=
    ( wi wfal merco1lem13 merco1lem8 merco1 ax-mp merco1lem9 merco1lem12 ) CADZ
    AEDDADABDZBDZDZNCDACDDANDZOMNDNDZPDZPABMNFRRPDZDZSPADREDDADZQDTUAMBGPARAQHI
    RPJIIANLEKICAAANHI $.

  $( Used to rederive the Tarski-Bernays-Wajsberg axioms from ~ merco1 .
     (Contributed by Anthony Hart, 18-Sep-2011.)
     (Proof modification is discouraged.)  (New usage is discouraged.) $)
  merco1lem15 $p |- ( ( ph -> ps ) -> ( ph -> ( ch -> ps ) ) ) $=
    ( wi merco1lem14 merco1lem13 ax-mp ) ABDZBDCBDZDAIDZDHJDABIEHBCJFG $.

  $( Used to rederive the Tarski-Bernays-Wajsberg axioms from ~ merco1 .
     (Contributed by Anthony Hart, 18-Sep-2011.)
     (Proof modification is discouraged.)  (New usage is discouraged.) $)
  merco1lem16 $p |- ( ( ( ph -> ( ps -> ch ) ) -> ta ) -> ( ( ph -> ch ) -> ta
    ) ) $=
    ( wi wfal merco1lem15 merco1lem11 ax-mp merco1 ) DAEZACEZFEEFEABCEEZEZMDELD
    EELMENACBGLMKFHIDALFMJI $.

  $( Used to rederive the Tarski-Bernays-Wajsberg axioms from ~ merco1 .
     (Contributed by Anthony Hart, 18-Sep-2011.)
     (Proof modification is discouraged.)  (New usage is discouraged.) $)
  merco1lem17 $p |- ( ( ( ( ( ph -> ps ) -> ph ) -> ch ) -> ta ) -> ( ( ph ->
    ch ) -> ta ) ) $=
    ( wfal merco1lem11 merco1lem7 ax-mp merco1lem9 merco1lem4 merco1lem16 mpsyl
    wi merco1 ) DAMZACMZEMZMCMZABMAMZCMZMTDMPDMMQPMZTMZRQCMTPTMZUBCAMZSEMMEMAMZ
    UCSAMZUEMZUESAUDEFUGUGUEMZMZUHUEAMUGEMMAMZUFMUIUJABGUEAUGAUFNHUGUEIHHCASEAN
    HTAMZUAEMMEMPMZUCUBMUAPMZULMZULUAPUKEFUNUNULMZMZUOULAMUNEMMAMZUMMUPUQPEGULA
    UNAUMNHUNULIHHTAUAEPNHHOQCJQACTKLDAPCTNH $.

  $( Used to rederive the Tarski-Bernays-Wajsberg axioms from ~ merco1 .
     (Contributed by Anthony Hart, 18-Sep-2011.)
     (Proof modification is discouraged.)  (New usage is discouraged.) $)
  merco1lem18 $p |- ( ( ph -> ( ps -> ch ) ) -> ( ( ps -> ph ) -> ( ps ->
    ch ) ) ) $=
    ( wfal merco1 merco1lem17 ax-mp merco1lem5 merco1lem3 merco1lem4 merco1lem2
    wi merco1lem9 ) BALZABCLZLZNOLZLZLZROBLZALRLZSTNDLZLTLALRLUAOBNTAETUBARFGBC
    ARFGSSRLZLZUCQRDLSDLZLZDLZDLZLZUDRUHLZUIUFUHLZUJUHDLUGLUKUFDDHUHDUFIGRUEUHH
    GPQUHJGUGNLUDLUIUDLRDSDNEUGNUDOKGGSRMGG $.

  $( ~ tbw-ax1 rederived from ~ merco1 .

     This theorem, along with ~ retbwax2 , ~ retbwax3 , and ~ retbwax4 , shows
     that ~ merco1 with ~ ax-mp can be used as a complete axiomatization of
     propositional calculus.  (Contributed by Anthony Hart, 18-Sep-2011.)
     (Proof modification is discouraged.)  (New usage is discouraged.) $)
  retbwax1 $p |- ( ( ph -> ps ) -> ( ( ps -> ch ) -> ( ph -> ch ) ) ) $=
    ( wi merco1lem18 merco1lem16 ax-mp merco1lem15 merco1lem14 wfal merco1lem10
    merco1 merco1lem9 merco1lem13 ) BCDZABDZACDZDZDZPOQDZDZBQDRDSBACEBACRFGOSUA
    DZDZUBSRDUBDZUCRUBDZUDRUADUEPQOHRUASHGRSUAEGORUBIGUCUBDZJDZUADZUFUGTDZUHUFQ
    DZTDZUIOUBQITADZUGJDZDZQDUJDZUKUIDQADZUGDZUMDUNDZUOUMJDULJDDUGDUQDURUGJJUPU
    LKUMJULUGUQLGQAUFUMUNLGTAUGQUJLGGUGTPHGUHUBDUFDZUFDZUHUFDUSUTDUTUFJUAUSSKUS
    UFMGUHUBUCUFNGGGG $.

$(
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
  Derive the Tarski-Bernays-Wajsberg axioms from Meredith's Second CO Axiom
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
$)

  $( A single axiom for propositional calculus offered by Meredith.

     This axiom has 19 symbols, sans auxiliaries.  See notes in ~ merco1 .
     (Contributed by Anthony Hart, 7-Aug-2011.)
     (Proof modification is discouraged.)  (New usage is discouraged.) $)
  merco2 $p |- ( ( ( ph -> ps ) -> ( ( F. -> ch ) -> th ) ) -> ( ( th
         -> ph ) -> ( ta -> ( et -> ph ) ) ) ) $=
    ( wi wfal falim pm2.04 mpi jarl idd jad looinv 3syl a1dd a1i com4l ) FABGZH
    CGZDGGZDAGZEAUBUCEAGGGFUBUCAEUBTDGZADGDGUCAGUBUAUDCITUADJKUDADDABDLUDDMNADO
    PQRS $.

  $( Used to rederive the Tarski-Bernays-Wajsberg axioms from ~ merco2 .
     (Contributed by Anthony Hart, 16-Aug-2011.)
     (Proof modification is discouraged.)  (New usage is discouraged.) $)
  mercolem1 $p |- ( ( ( ph -> ps ) -> ch ) -> ( ps -> ( th -> ch ) ) ) $=
    ( wi wfal merco2 ax-mp ) AAEZFAEZAEEIAIEEEZABEZCEZBDCEZEZEZAAAAAAGZKKPEZQCA
    EZJLEZEZPEZKREZCAALBDGPTEJUAEEZUBUCETOEJPEEZUDOJFEZEFBETEEUEBNAFJAGOUFBTJMG
    HTOAPJSGHPTAUAKKGHHHH $.

  $( Used to rederive the Tarski-Bernays-Wajsberg axioms from ~ merco2 .
     (Contributed by Anthony Hart, 16-Aug-2011.)
     (Proof modification is discouraged.)  (New usage is discouraged.) $)
  mercolem2 $p |- ( ( ( ph -> ps ) -> ph ) -> ( ch -> ( th -> ph ) ) ) $=
    ( wi wfal merco2 ax-mp ) AAEZFAEZAEEIAIEEEZABEZAEZCDAEEZEZAAAAAAGZKKOEZPIJL
    EZEZOEZKQEZAAALCDGOREJSEEZTUAERNEJOEEZUBNLEJREEZUCLJFEZEJNEEUDABAFCDGLUEANJ
    JGHNLARJMGHRNAOJIGHORASKKGHHHH $.

  $( Used to rederive the Tarski-Bernays-Wajsberg axioms from ~ merco2 .
     (Contributed by Anthony Hart, 16-Aug-2011.)
     (Proof modification is discouraged.)  (New usage is discouraged.) $)
  mercolem3 $p |- ( ( ps -> ch ) -> ( ps -> ( ph -> ch ) ) ) $=
    ( wi wfal merco2 mercolem2 ax-mp ) AADZEADZADDIAIDDDZBCDZBACDZDZDZAAAAAAFZK
    KODZPCADZJBDZDZODZKQDZCAABBAFOSDJTDDZUAUBDSNDJODDZUCNBDJSDDUDBMJJGNBASJLFHS
    NAOJRFHOSATKKFHHHH $.

  $( Used to rederive the Tarski-Bernays-Wajsberg axioms from ~ merco2 .
     (Contributed by Anthony Hart, 16-Aug-2011.)
     (Proof modification is discouraged.)  (New usage is discouraged.) $)
  mercolem4 $p |- ( ( th -> ( et -> ph ) ) -> ( ( ( th -> ch )
  -> ph ) -> ( ta -> ( et -> ph ) ) ) ) $=
    ( wi wfal merco2 mercolem1 ax-mp mercolem3 ) AAFZGAFZAFFLALFFFZCEAFZFZCBFZA
    FZDOFFZFZAAAAAAHZNNTFZUAOAFZMCFFZTFZNUBFZOAACRDHTCFZMUDFFZUEUFFUGUDFZUHQMTF
    FZUIMQFZTFZUJLUKFSFULAAAQDEHLUKSPIJMQTMIJCBATUCMHJMUGUDKJTCAUDNNHJJJJ $.

  $( Used to rederive the Tarski-Bernays-Wajsberg axioms from ~ merco2 .
     (Contributed by Anthony Hart, 16-Aug-2011.)
     (Proof modification is discouraged.)  (New usage is discouraged.) $)
  mercolem5 $p |- ( th -> ( ( th -> ph ) -> ( ta -> ( ch -> ph ) ) ) ) $=
    ( wi wfal merco2 mercolem1 ax-mp mercolem2 ) AAEZFAEZAEEKAKEEEZCCAEDBAEEEZE
    ZAAAAAAGZMMOEZPLCEZOEZMQEZKRENESAAACDBGKRNCHIOCELREESTECNLLJOCARMMGIIII $.

  $( Used to rederive the Tarski-Bernays-Wajsberg axioms from ~ merco2 .
     (Contributed by Anthony Hart, 16-Aug-2011.)
     (Proof modification is discouraged.)  (New usage is discouraged.) $)
  mercolem6 $p |- ( ( ph -> ( ps -> ( ph -> ch ) ) )
  -> ( ps -> ( ph -> ch ) ) ) $=
    ( wi wfal merco2 mercolem1 ax-mp mercolem5 mercolem4 ) AADZEADADDKAKDDDZABA
    CDZDZDZNDZAAAAAAFZLLPDZQLLRDZQORDZLSDZLTQMRDZLTDZAODZMDPDUBAOMBGUDMPLGHATDU
    BUCDNOALIRCALOJHHHLTUADZQPUADZLUEDZALDZPDSDUFALPLGUHPSLGHOUEDUFUGDRLOLIUANO
    LTJHHHHHHH $.

  $( Used to rederive the Tarski-Bernays-Wajsberg axioms from ~ merco2 .
     (Contributed by Anthony Hart, 16-Aug-2011.)
     (Proof modification is discouraged.)  (New usage is discouraged.) $)
  mercolem7 $p |- ( ( ph -> ps ) -> ( ( ( ph -> ch )
  -> ( th -> ps ) ) -> ( th -> ps ) ) ) $=
    ( wi wfal merco2 mercolem3 mercolem6 ax-mp mercolem5 mercolem4 ) AAEZFAEAEE
    MAMEEEZABEZACEZDBEZEZQEZEZAAAAAAGPSEZNTEZRUAEUARPQHRPQIJATEUAUBEBDARKSCANOL
    JJJ $.

  $( Used to rederive the Tarski-Bernays-Wajsberg axioms from ~ merco2 .
     (Contributed by Anthony Hart, 16-Aug-2011.)
     (Proof modification is discouraged.)  (New usage is discouraged.) $)
  mercolem8 $p |- ( ( ph -> ps ) -> ( ( ps -> ( ph -> ch ) )
  -> ( ta -> ( th -> ( ph -> ch ) ) ) ) ) $=
    ( wi wfal merco2 mercolem3 ax-mp mercolem7 ) AAFZGAFZAFFLALFFFZABFZBACFZFED
    PFFFZFZAAAAAAHZNNRFZSPMBFZFUAFZRFZNTFZUBQFUCPUAABEDHOUBQIJRMUBFZFUEFZUCUDFO
    UBFUFABCMKOUBQMKJRUEAUBNNHJJJJ $.

  $( ~ tbw-ax1 rederived from ~ merco2 .  (Contributed by Anthony Hart,
     16-Aug-2011.)  (Proof modification is discouraged.)
     (New usage is discouraged.) $)
  re1tbw1 $p |- ( ( ph -> ps ) -> ( ( ps -> ch ) -> ( ph -> ch ) ) ) $=
    ( wi mercolem8 mercolem3 mercolem6 mpsyl ax-mp ) BCDZABDZJACDZDZDZDNKBLDZND
    DJONABCJKEABCFKOMGHJKLGI $.

  $( ~ tbw-ax2 rederived from ~ merco2 .  (Contributed by Anthony Hart,
     16-Aug-2011.)  (Proof modification is discouraged.)
     (New usage is discouraged.) $)
  re1tbw2 $p |- ( ph -> ( ps -> ph ) ) $=
    ( wi mercolem1 ax-mp mercolem6 ) BABACZCZCZHAICZIAACZACHCJAAABDKAHBDEABGFEB
    AAFE $.

  $( ~ tbw-ax3 rederived from ~ merco2 .  (Contributed by Anthony Hart,
     16-Aug-2011.)  (Proof modification is discouraged.)
     (New usage is discouraged.) $)
  re1tbw3 $p |- ( ( ( ph -> ps ) -> ph ) -> ph ) $=
    ( wi mercolem2 mercolem6 ax-mp ) AACZACAGCCZABCACZACZAAAADIHJCZCKABHIDIHAEF
    F $.

  $( ~ tbw-ax4 rederived from ~ merco2 .

     This theorem, along with ~ re1tbw1 , ~ re1tbw2 , and ~ re1tbw3 , shows
     that ~ merco2 , along with ~ ax-mp , can be used as a complete
     axiomatization of propositional calculus.  (Contributed by Anthony Hart,
     16-Aug-2011.)  (Proof modification is discouraged.)
     (New usage is discouraged.) $)
  re1tbw4 $p |- ( F. -> ph ) $=
    ( wi wfal re1tbw3 re1tbw2 re1tbw1 ax-mp mercolem3 merco2 ) AABZCABZJABZABZJ
    AADALBMJBAJEALAFGGZJJKBZNKKBZJOBZKABZKBZKBZPKADKSBTPBKREKSKFGGRPBPQBCKAHKAA
    KJJIGGGG $.

$(
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
       Derive the Lukasiewicz axioms from the The Russell-Bernays Axioms
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
$)

  $( Justification for ~ rb-imdf .  (Contributed by Anthony Hart,
     17-Aug-2011.)  (Proof modification is discouraged.)
     (New usage is discouraged.) $)
  rb-bijust $p |- ( ( ph <-> ps ) <-> -. ( -. ( -. ph \/ ps )
    \/ -. ( -. ps \/ ph ) ) ) $=
    ( wb wi wn wo dfbi1 imor notbii imbi12i pm4.62 3bitri ) ABCABDZBADZEZDZEAEB
    FZBEAFZEZDZEQESFZEABGPTMQOSABHNRBAHIJITUAQRKIL $.

  $( The definition of implication, in terms of ` \/ ` and ` -. ` .
     (Contributed by Anthony Hart, 17-Aug-2011.)
     (Proof modification is discouraged.)  (New usage is discouraged.) $)
  rb-imdf $p |- -. ( -. ( -. ( ph -> ps ) \/ ( -. ph \/ ps ) )
    \/ -. ( -. ( -. ph \/ ps ) \/ ( ph -> ps ) ) ) $=
    ( wi wn wo wb imor rb-bijust mpbi ) ABCZADBEZFJDKEDKDJEDEDABGJKHI $.

  ${
    anmp.min $e |- ph $.
    anmp.maj $e |- ( -. ph \/ ps ) $.
    $( Modus ponens for ` \/ ` ` -. ` axiom systems.  (Contributed by Anthony
       Hart, 12-Aug-2011.)  (Proof modification is discouraged.)
       (New usage is discouraged.) $)
    anmp $p |- ps $=
      ( imorri ax-mp ) ABCABDEF $.
  $}

  $( The first of four axioms in the Russell-Bernays axiom system.
     (Contributed by Anthony Hart, 13-Aug-2011.)
     (Proof modification is discouraged.)  (New usage is discouraged.) $)
  rb-ax1 $p |- ( -. ( -. ps \/ ch ) \/ ( -. ( ph \/ ps ) \/ ( ph \/ ch ) ) ) $=
    ( wn wo wi orim2 imor 3imtr3i imori ) BDCEZABEZDACEZEZBCFLMFKNABCGBCHLMHIJ
    $.

  $( The second of four axioms in the Russell-Bernays axiom system.
     (Contributed by Anthony Hart, 13-Aug-2011.)
     (Proof modification is discouraged.)  (New usage is discouraged.) $)
  rb-ax2 $p |- ( -. ( ph \/ ps ) \/ ( ps \/ ph ) ) $=
    ( wo wn pm1.4 con3i con1i orri ) ABCZDZBACZKJIKABEFGH $.

  $( The third of four axioms in the Russell-Bernays axiom system.
     (Contributed by Anthony Hart, 13-Aug-2011.)
     (Proof modification is discouraged.)  (New usage is discouraged.) $)
  rb-ax3 $p |- ( -. ph \/ ( ps \/ ph ) ) $=
    ( wn wo pm2.46 con1i orri ) ACZBADZIHBAEFG $.

  $( The fourth of four axioms in the Russell-Bernays axiom system.
     (Contributed by Anthony Hart, 13-Aug-2011.)
     (Proof modification is discouraged.)  (New usage is discouraged.) $)
  rb-ax4 $p |- ( -. ( ph \/ ph ) \/ ph ) $=
    ( wo wn pm1.2 con3i con1i orri ) AABZCZAAIHAADEFG $.

  ${
    rbsyl.1 $e |- ( -. ps \/ ch ) $.
    rbsyl.2 $e |- ( ph \/ ps ) $.
    $( Used to rederive the Lukasiewicz axioms from Russell-Bernays'.
       (Contributed by Anthony Hart, 18-Aug-2011.)
       (Proof modification is discouraged.)  (New usage is discouraged.) $)
    rbsyl $p |- ( ph \/ ch ) $=
      ( wo wn rb-ax1 anmp ) ABFZACFZEBGCFJGKFDABCHII $.
  $}

  ${
    rblem1.1 $e |- ( -. ph \/ ps ) $.
    rblem1.2 $e |- ( -. ch \/ th ) $.
    $( Used to rederive the Lukasiewicz axioms from Russell-Bernays'.
       (Contributed by Anthony Hart, 18-Aug-2011.)
       (Proof modification is discouraged.)  (New usage is discouraged.) $)
    rblem1 $p |- ( -. ( ph \/ ch ) \/ ( ps \/ th ) ) $=
      ( wo wn rb-ax1 anmp rb-ax2 rbsyl ) ACGHZBCGZBDGZCHDGNHOGFBCDIJMCBGZNCBKMC
      AGZPAHBGQHPGECABIJACKLLL $.
  $}

  $( Used to rederive the Lukasiewicz axioms from Russell-Bernays'.
     (Contributed by Anthony Hart, 18-Aug-2011.)
     (Proof modification is discouraged.)  (New usage is discouraged.) $)
  rblem2 $p |- ( -. ( ch \/ ph ) \/ ( ch \/ ( ph \/ ps ) ) ) $=
    ( wn wo rb-ax2 rb-ax3 rbsyl rb-ax1 anmp ) ADZABEZECAEDCLEEKBAELBAFABGHCALIJ
    $.

  $( Used to rederive the Lukasiewicz axioms from Russell-Bernays'.
     (Contributed by Anthony Hart, 18-Aug-2011.)
     (Proof modification is discouraged.)  (New usage is discouraged.) $)
  rblem3 $p |- ( -. ( ch \/ ph ) \/ ( ( ch \/ ps ) \/ ph ) ) $=
    ( wo wn rb-ax2 rblem2 rbsyl ) CADEZACBDZDZJADAJFIACDKCBAGCAFHH $.

  ${
    rblem4.1 $e |- ( -. ph \/ th ) $.
    rblem4.2 $e |- ( -. ps \/ ta ) $.
    rblem4.3 $e |- ( -. ch \/ et ) $.
    $( Used to rederive the Lukasiewicz axioms from Russell-Bernays'.
       (Contributed by Anthony Hart, 18-Aug-2011.)
       (Proof modification is discouraged.)  (New usage is discouraged.) $)
    rblem4 $p |- ( -. ( ( ph \/ ps ) \/ ch ) \/ ( ( et \/ ta ) \/ th ) ) $=
      ( wo wn rblem1 rb-ax2 rb-ax1 anmp rbsyl rb-ax4 rblem2 rb-ax3 ) ABJZCJKZCB
      JZAJZFEJZDJUBUDADCFBEIHLGLUABCJZAJZUCUFKZAUBJZUCAUBMUGAUEJZUHUEKUBJUIKUHJ
      BCMAUEUBNOUEAMPPUAUFUFJUFUFQTUFCUFTKUIUFAUEMBCARPCKZUEJUJUFJCBSUEAUJROLPP
      P $.
  $}

  $( Used to rederive the Lukasiewicz axioms from Russell-Bernays'.
     (Contributed by Anthony Hart, 19-Aug-2011.)
     (Proof modification is discouraged.)  (New usage is discouraged.) $)
  rblem5 $p |- ( -. ( -. -. ph \/ ps ) \/ ( -. -. ps \/ ph ) ) $=
    ( wn wo rb-ax2 rb-ax4 rb-ax3 rbsyl anmp rblem1 ) ACZCZBDCABCZCZDNADANELABNK
    ADLCZADKAADAAFAAGHZKOAAOLDLODOLLDLLFLLGHOLEIPJINMDMNDNMMDMMFMMGHNMEIJH $.

  ${
    rblem6.1 $e |- -. ( -. ( -. ph \/ ps ) \/ -. ( -. ps \/ ph ) ) $.
    $( Used to rederive the Lukasiewicz axioms from Russell-Bernays'.
       (Contributed by Anthony Hart, 19-Aug-2011.)
       (Proof modification is discouraged.)  (New usage is discouraged.) $)
    rblem6 $p |- ( -. ph \/ ps ) $=
      ( wn wo rb-ax4 rb-ax3 rbsyl rb-ax2 anmp rblem3 rblem5 ) ADBEZDZBDAEDZEZDZ
      MCNDZPEZQDMEPREZSNREZTRNEUARNNENNFNNGHRNIJRONKJPRIJMPLJJ $.
  $}

  ${
    rblem7.1 $e |- -. ( -. ( -. ph \/ ps ) \/ -. ( -. ps \/ ph ) ) $.
    $( Used to rederive the Lukasiewicz axioms from Russell-Bernays'.
       (Contributed by Anthony Hart, 19-Aug-2011.)
       (Proof modification is discouraged.)  (New usage is discouraged.) $)
    rblem7 $p |- ( -. ps \/ ph ) $=
      ( wn wo rb-ax3 rblem5 anmp ) ADBEDZBDAEZDZEZDZJCKDLEMDJEKIFJLGHH $.
  $}

  ${
    re1axmp.min $e |- ph $.
    re1axmp.maj $e |- ( ph -> ps ) $.
    $( ~ ax-mp derived from Russell-Bernays'.  (Contributed by Anthony Hart,
       19-Aug-2011.)  (Proof modification is discouraged.)
       (New usage is discouraged.) $)
    re1axmp $p |- ps $=
      ( wi wn wo rb-imdf rblem6 anmp ) ABCABEZAFBGZDKLABHIJJ $.
  $}

  $( ~ luk-1 derived from Russell-Bernays'.  (Contributed by Anthony Hart,
     19-Aug-2011.)  (Proof modification is discouraged.)
     (New usage is discouraged.) $)
  re2luk1 $p |- ( ( ph -> ps ) -> ( ( ps -> ch ) -> ( ph -> ch ) ) ) $=
    ( wi wn rb-imdf rblem7 rblem6 rb-ax2 rb-ax4 rb-ax3 rbsyl anmp rblem1 rb-ax1
    wo rblem4 ) ABDZEZBCDZACDZDZPZRUBDZSTEZUAPZUBUBUFTUAFGSAEZBPZUFUHEZBECPZEZU
    GCPZPZUFUKUEULUAUEUJPZUKEZUEPZTUJBCFHUNEUEUOPUPUEUOIUEUEUJUOUEEUEUEPUEUEJUE
    UEKLUOUKPUKUOPUOUKUKPUKUKJUKUKKLZUOUKIMNLMUAULACFGNUKUIULPZPZUIUMPZUGBCOUSE
    ZUMUIPZUTUMUIIVAURUKPVBUIULUKUIULUKUIEUIUIPUIUIJUIUIKLULEULULPULULJULULKLUQ
    QUKURILLMLRUHABFHLLUDUCRUBFGM $.

  $( ~ luk-2 derived from Russell-Bernays'.  (Contributed by Anthony Hart,
     19-Aug-2011.)  (Proof modification is discouraged.)
     (New usage is discouraged.) $)
  re2luk2 $p |- ( ( -. ph -> ph ) -> ph ) $=
    ( wn wi wo rb-ax4 rb-ax3 rbsyl rb-ax2 anmp rblem1 rb-imdf rblem6 rblem7 ) A
    BZACZBZADZOACZPNBZADZATBAADZAAEZSAAANADSBZADNUAAUBAAFGZNUCAAUCSDSUCDUCSSDSS
    ESSFGUCSHIUDJIUDJGOTNAKLGRQOAKMI $.

  $( ~ luk-3 derived from Russell-Bernays'.

     This theorem, along with ~ re1axmp , ~ re2luk1 , and ~ re2luk2 shows that
     ~ rb-ax1 , ~ rb-ax2 , ~ rb-ax3 , and ~ rb-ax4 , along with ~ anmp , can be
     used as a complete axiomatization of propositional calculus.  (Contributed
     by Anthony Hart, 19-Aug-2011.)  (Proof modification is discouraged.)
     (New usage is discouraged.) $)
  re2luk3 $p |- ( ph -> ( -. ph -> ps ) ) $=
    ( wn wi wo rb-imdf rblem7 rb-ax4 rb-ax3 rbsyl rb-ax2 anmp rblem2 ) ACZNBDZE
    ZAODZNNCZBEZOOSNBFGNREZNSERNETRNNENNHNNIJRNKLRBNMLJQPAOFGL $.

$(
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
                Stoic logic indemonstrables (Chrysippus of Soli)
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=

  The Greek Stoics developed a system of logic.
  The Stoic Chrysippus, in particular, was often considered one of the greatest
  logicians of antiquity.
  Stoic logic is different from Aristotle's system, since it focuses
  on propositional logic,
  though later thinkers did combine the systems of the Stoics with Aristotle.
  Jan Lukasiewicz reports,
  "For anybody familiar with mathematical logic it is self-evident
  that the Stoic dialectic is the ancient form of modern propositional logic"
  ( _On the history of the logic of proposition_ by Jan Lukasiewicz (1934),
  translated in: _Selected Works_ - Edited by Ludwik Borkowski -
  Amsterdam, North-Holland, 1970 pp. 197-217,
  referenced in "History of Logic"
  ~ https://www.historyoflogic.com/logic-stoics.htm ).
  For more about Aristotle's system, see ~ barbara and related theorems.

  A key part of the Stoic logic system is a set of five "indemonstrables"
  assigned to Chrysippus of Soli by Diogenes Laertius, though in
  general it is difficult to assign specific
  ideas to specific thinkers.
  The indemonstrables are described in, for example,
  [Lopez-Astorga] p. 11 , [Sanford] p. 39, and [Hitchcock] p. 5.
  These indemonstrables are
  modus ponendo ponens (modus ponens) ~ ax-mp ,
  modus tollendo tollens (modus tollens) ~ mto ,
  modus ponendo tollens I ~ mpto1 ,
  modus ponendo tollens II ~ mpto2 , and
  modus tollendo ponens (exclusive-or version) ~ mtp-xor .
  The first is an axiom, the second is already proved; in this section
  we prove the other three.
  Since we assume or prove all of indemonstrables, the system of logic we use
  here is as at least as strong as the set of Stoic indemonstrables.
  Note that modus tollendo ponens ~ mtp-xor originally used exclusive-or,
  but over time the name modus tollendo ponens has increasingly referred
  to an inclusive-or variation, which is proved in ~ mtp-or .
  This set of indemonstrables is not the entire system of Stoic logic.

$)

  ${
    $( Minor premise for modus ponendo tollens 1. $)
    mpto1.1 $e |- ph $.
    $( Major premise for modus ponendo tollens 1. $)
    mpto1.2 $e |- -. ( ph /\ ps ) $.
    $( Modus ponendo tollens 1, one of the "indemonstrables" in Stoic logic.
       See rule 1 on [Lopez-Astorga] p. 12 , rule 1 on [Sanford] p. 40, and
       rule A3 in [Hitchcock] p. 5.  Sanford describes this rule second (after
       ~ mpto2 ) as a "safer, and these days much more common" version of modus
       ponendo tollens because it avoids confusion between inclusive-or and
       exclusive-or.  (Contributed by David A. Wheeler, 3-Jul-2016.) $)
    mpto1 $p |- -. ps $=
      ( wn imnani ax-mp ) ABECABDFG $.
  $}

  ${
    $( Minor premise for modus ponendo tollens 2. $)
    mpto2.1 $e |- ph $.
    $( Major premise for modus ponendo tollens 2. $)
    mpto2.2 $e |- ( ph \/_ ps ) $.
    $( Modus ponendo tollens 2, one of the "indemonstrables" in Stoic logic.
       Note that this uses exclusive-or ` \/_ ` .  See rule 2 on
       [Lopez-Astorga] p. 12 , rule 4 on [Sanford] p. 39 and rule A4 in
       [Hitchcock] p. 5 .  (Contributed by David A. Wheeler, 3-Jul-2016.)
       (Proof shortened by Wolf Lammen, 12-Nov-2017.) $)
    mpto2 $p |- -. ps $=
      ( wn wb wxo df-xor mpbi xor3 ) ABEZCABFEZAKFABGLDABHIABJII $.
  $}

  ${
    $( Minor premise for modus ponendo tollens 2. $)
    mpto2OLD.1 $e |- ph $.
    $( Major premise for modus ponendo tollens 2. $)
    mpto2OLD.2 $e |- ( ph \/_ ps ) $.
    $( Obsolete version of ~ mpto2 as of 12-Nov-2017.  (Contributed by David A.
       Wheeler, 3-Jul-2016.)  (New usage is discouraged.)
       (Proof modification is discouraged.) $)
    mpto2OLD $p |- -. ps $=
      ( wn wb wxo df-xor mpbi nbbn mpbir con1bii ) BEACABAEBFABFEZABGMDABHIABJK
      LK $.
  $}

  ${
    $( Minor premise for modus tollendo ponens (original exclusive-or version).
    $)
    mtp-xor.1 $e |- -. ph $.
    $( Major premise for modus tollendo ponens (original exclusive-or version).
    $)
    mtp-xor.2 $e |- ( ph \/_ ps ) $.
    $( Modus tollendo ponens (original exclusive-or version), aka disjunctive
       syllogism, one of the five "indemonstrables" in Stoic logic.  The rule
       says, "if ` ph ` is not true, and either ` ph ` or ` ps ` (exclusively)
       are true, then ` ps ` must be true."  Today the name "modus tollendo
       ponens" often refers to a variant, the inclusive-or version as defined
       in ~ mtp-or .  See rule 3 on [Lopez-Astorga] p. 12 (note that the "or"
       is the same as ~ mpto2 , that is, it is exclusive-or ~ df-xor ), rule 3
       of [Sanford] p. 39 (where it is not as clearly stated which kind of "or"
       is used but it appears to be in the same sense as ~ mpto2 ), and rule A5
       in [Hitchcock] p. 5 (exclusive-or is expressly used).  (Contributed by
       David A. Wheeler, 4-Jul-2016.)  (Proof shortened by Wolf Lammen,
       11-Nov-2017.) $)
    mtp-xor $p |- ps $=
      ( wn wxo xorneg mpbir mpto2 notnotri ) BAEZBEZCKLFABFDABGHIJ $.

    $( Obsolete version of ~ mtp-xor as of 11-Nov-2017.  (Contributed by David
       A. Wheeler, 4-Jul-2016.)  (New usage is discouraged.)
       (Proof modification is discouraged.) $)
    mtp-xorOLD $p |- ps $=
      ( wn wb wxo df-xor mpbi bicom mtbi xor3 mpbir ) BAEZCBAFZEBNFABFZOABGPEDA
      BHIABJKBALIM $.
  $}

  ${
    $( Minor premise for modus tollendo ponens (inclusive-or version). $)
    mtp-or.1 $e |- -. ph $.
    $( Major premise for modus tollendo ponens (inclusive-or version). $)
    mtp-or.2 $e |- ( ph \/ ps ) $.
    $( Modus tollendo ponens (inclusive-or version), aka disjunctive
       syllogism.  This is similar to ~ mtp-xor , one of the five original
       "indemonstrables" in Stoic logic.  However, in Stoic logic this rule
       used exclusive-or, while the name modus tollendo ponens often refers to
       a variant of the rule that uses inclusive-or instead.  The rule says,
       "if ` ph ` is not true, and ` ph ` or ` ps ` (or both) are true, then
       ` ps ` must be true."  An alternative phrasing is, "Once you eliminate
       the impossible, whatever remains, no matter how improbable, must be the
       truth." -- Sherlock Holmes (Sir Arthur Conan Doyle, 1890:  The Sign of
       the Four, ch. 6).  (Contributed by David A. Wheeler, 3-Jul-2016.)
       (Proof shortened by Wolf Lammen, 11-Nov-2017.) $)
    mtp-or $p |- ps $=
      ( wn ori ax-mp ) AEBCABDFG $.

    $( Obsolete version of ~ mtp-or as of 11-Nov-2017.  (Contributed by David
       A. Wheeler, 3-Jul-2016.)  (New usage is discouraged.)
       (Proof modification is discouraged.) $)
    mtp-orOLD $p |- ps $=
      ( wn wo wi pm2.53 ax-mp ) AEZBCABFJBGDABHII $.
  $}


$(
#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#
    Predicate calculus with equality:  Tarski's system S2 (1 rule, 6 schemes)
#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#

  Here we extend the language of wffs with predicate calculus, which allows us
  to talk about individual objects in a domain of discussion (which for us will
  be the universe of all sets, so we call them "setvar variables") and make
  true/false statements about predicates, which are relationships between
  objects, such as whether or not two objects are equal.  In addition, we
  introduce universal quantification ("for all") in order to make statements
  about whether a wff holds for every object in the domain of discussion.
  Later we introduce existential quantification ("there exists", ~ df-ex )
  which is defined in terms of universal quantification.

  Our axioms are really axiom _schemes_, and our wff and setvar variables are
  metavariables ranging over expressions in an underlying "object language."
  This is explained here:  ~ http://us.metamath.org/mpeuni/mmset.html#axiomnote

  Our axiom system starts with the predicate calculus axiom schemes system S2
  of Tarski defined in his 1965 paper, "A Simplified Formalization of Predicate
  Logic with Identity" [Tarski].  System S2 is defined in the last paragraph on
  p. 77, and repeated on p. 81 of [KalishMontague].  We do not include scheme
  B5 (our ~ sp ) since [KalishMontague] shows it to be logically redundant
  (Lemma 9, p. 87, which we prove as theorem ~ spw below).

  Theorem ~ spw can be used to prove any instance of ~ sp having no wff
  metavariables and mutually distinct setvar variables.  However, it seems that
  ~ sp in its general form cannot be derived from only Tarski's schemes.  We
  do not include B5 i.e.  ~ sp as part of what we call "Tarski's system"
  because we want it to be the smallest set of axioms that is logically
  complete with no redundancies.  We later prove ~ sp as theorem ~ ax4
  using the auxiliary axioms that make our system metalogically complete.

  Our version of Tarski's system S2 consists of propositional calculus plus
  ~ ax-gen , ~ ax-5 , ~ ax-17 , ~ ax-9 , ~ ax-8 , ~ ax-13 , and ~ ax-14 . The
  last 3 are equality axioms that represent 3 sub-schemes of Tarski's scheme
  B8.  Due to its side-condition ("where ` ph ` is an atomic formula and ` ps `
  is obtained by replacing an occurrence of the variable ` x ` by the variable
  ` y ` "), we cannot represent his B8 directly without greatly complicating
  our scheme language, but the simpler schemes ~ ax-8 , ~ ax-13 , and ~ ax-14
  are sufficient for set theory.

  Tarski's system is exactly equivalent to the traditional axiom system in most
  logic textbooks but has the advantage of being easy to manipulate with a
  computer program, and its simpler metalogic (with no built-in notions of free
  variable and proper substitution) is arguably easier for a non-logician human
  to follow step by step in a proof.

  However, in our system that derives schemes (rather than object language
  theorems) from other schemes, Tarski's S2 is not complete.  For example, we
  cannot derive scheme ~ sp , even though (using ~ spw ) we can derive all
  instances of it that don't involve wff metavariables or bundled setvar
  metavariables.  (Two setvar metavariables are "bundled" if they can be
  substituted with the same setvar metavariable i.e. do not have a $d distinct
  variable proviso.)  Later we will introduce auxiliary axiom schemes ~ ax-6 ,
  ~ ax-7 , ~ ax-12 , and ~ ax-11 that are metatheorems of Tarski's system (i.e.
  are logically redundant) but which give our system the property of
  "metalogical completeness," allowing us to prove directly (instead of, say,
  by induction on formula length) all possible schemes that can be expressed in
  our language.

$)

$(
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
    Universal quantifier; define "exists" and "not free"
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
$)

  $( Declare new symbols needed for pure predicate calculus. $)
  $c A. $. $( "inverted A" universal quantifier (read:  "for all") $)
  $c setvar $. $( Individual variable type (read:  "the following is an
             individual (setvar) variable" $)

  $( Add 'setvar' as a typecode. $)
  $( $j syntax 'setvar'; $)

  $( Declare some names for individual variables. $)
  $v x $.
  $v y $.
  $v z $.
  $v w $.
  $v v $.
  $v u $.
  $v t $.
  $( Let ` x ` be an individual variable. $)
  vx $f setvar x $.
  $( Let ` y ` be an individual variable. $)
  vy $f setvar y $.
  $( Let ` z ` be an individual variable. $)
  vz $f setvar z $.
  $( Let ` w ` be an individual variable. $)
  vw $f setvar w $.
  $( Let ` v ` be an individual variable. $)
  vv $f setvar v $.
  $( Let ` u ` be an individual variable. $)
  vu $f setvar u $.
  $( Let ` t ` be an individual variable. $)
  vt $f setvar t $.

  $( Extend wff definition to include the universal quantifier ('for all').
     ` A. x ph ` is read " ` ph ` (phi) is true for all ` x ` ."  Typically, in
     its final application ` ph ` would be replaced with a wff containing a
     (free) occurrence of the variable ` x ` , for example ` x = y ` .  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 ` x ` .  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. $)
  wal $a wff A. x ph $.

  $( Register 'A.' as a primitive expression (lacking a definition). $)
  $( $j primitive 'wal'; $)

  $( Declare the existential quantifier symbol. $)
  $c E. $.   $( Backwards E (read:  "there exists") $)

  $( Extend wff definition to include the existential quantifier ("there
     exists"). $)
  wex $a wff E. x ph $.

  $( Define existential quantification. ` E. x ph ` means "there exists at
     least one set ` x ` such that ` ph ` is true."  Definition of [Margaris]
     p. 49.  (Contributed by NM, 5-Aug-1993.) $)
  df-ex $a |- ( E. x ph <-> -. A. x -. ph ) $.

  $( Theorem 19.7 of [Margaris] p. 89.  (Contributed by NM, 5-Aug-1993.) $)
  alnex $p |- ( A. x -. ph <-> -. E. x ph ) $=
    ( wex wn wal df-ex con2bii ) ABCADBEABFG $.

  $c F/ $.  $( The not-free symbol. $)

  $( Extend wff definition to include the not-free predicate. $)
  wnf $a wff F/ x ph $.

  $( Define the not-free predicate for wffs.  This is read " ` x ` is not free
     in ` ph ` ".  Not-free means that the value of ` x ` cannot affect the
     value of ` ph ` , e.g., any occurrence of ` x ` in ` ph ` is effectively
     bound by a "for all" or something that expands to one (such as "there
     exists").  In particular, substitution for a variable not free in a wff
     does not affect its value ( ~ sbf ).  An example of where this is used is
     ~ stdpc5 .  See ~ nf2 for an alternative definition which does not involve
     nested quantifiers on the same variable.

     Not-free is a commonly used constraint, so it is useful to have a notation
     for it.  Surprisingly, there is no common formal notation for it, so here
     we devise one.  Our definition lets us work with the not-free notion
     within the logic itself rather than as a metalogical side condition.

     To be precise, our definition really means "effectively not free," because
     it is slightly less restrictive than the usual textbook definition for
     not-free (which only considers syntactic freedom).  For example, ` x ` is
     effectively not free in the bare expression ` x = x ` (see ~ nfequid ),
     even though ` x ` would be considered free in the usual textbook
     definition, because the value of ` x ` in the expression ` x = x ` cannot
     affect the truth of the expression (and thus substitution will not change
     the result).

     This predicate only applies to wffs.  See ~ df-nfc for a not-free
     predicate for class variables.  (Contributed by Mario Carneiro,
     11-Aug-2016.) $)
  df-nf $a |- ( F/ x ph <-> A. x ( ph -> A. x ph ) ) $.

$(
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
       Rule scheme ax-gen (Generalization)
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
$)

  ${
    ax-g.1 $e |- ph $.
    $( Rule of Generalization.  The postulated inference rule of pure predicate
       calculus.  See e.g.  Rule 2 of [Hamilton] p. 74.  This rule says that if
       something is unconditionally true, then it is true for all values of a
       variable.  For example, if we have proved ` x = x ` , we can conclude
       ` A. x x = x ` or even ` A. y x = x ` .  Theorem allt in set.mm shows
       the special case ` A. x T. ` .  Theorem ~ spi shows we can go the other
       way also: in other words we can add or remove universal quantifiers from
       the beginning of any theorem as required.  (Contributed by NM,
       5-Aug-1993.) $)
    ax-gen $a |- A. x ph $.
  $}

  ${
    gen2.1 $e |- ph $.
    $( Generalization applied twice.  (Contributed by NM, 30-Apr-1998.) $)
    gen2 $p |- A. x A. y ph $=
      ( wal ax-gen ) ACEBACDFF $.
  $}

  ${
    mpg.1 $e |- ( A. x ph -> ps ) $.
    mpg.2 $e |- ph $.
    $( Modus ponens combined with generalization.  (Contributed by NM,
       24-May-1994.) $)
    mpg $p |- ps $=
      ( wal ax-gen ax-mp ) ACFBACEGDH $.
  $}

  ${
    mpgbi.1 $e |- ( A. x ph <-> ps ) $.
    mpgbi.2 $e |- ph $.
    $( Modus ponens on biconditional combined with generalization.
       (Contributed by NM, 24-May-1994.)  (Proof shortened by Stefan Allan,
       28-Oct-2008.) $)
    mpgbi $p |- ps $=
      ( wal ax-gen mpbi ) ACFBACEGDH $.
  $}

  ${
    mpgbir.1 $e |- ( ph <-> A. x ps ) $.
    mpgbir.2 $e |- ps $.
    $( Modus ponens on biconditional combined with generalization.
       (Contributed by NM, 24-May-1994.)  (Proof shortened by Stefan Allan,
       28-Oct-2008.) $)
    mpgbir $p |- ph $=
      ( wal ax-gen mpbir ) ABCFBCEGDH $.
  $}

  ${
    nfi.1 $e |- ( ph -> A. x ph ) $.
    $( Deduce that ` x ` is not free in ` ph ` from the definition.
       (Contributed by Mario Carneiro, 11-Aug-2016.) $)
    nfi $p |- F/ x ph $=
      ( wnf wal wi df-nf mpgbir ) ABDAABEFBABGCH $.
  $}

  ${
    hbth.1 $e |- ph $.
    $( No variable is (effectively) free in a theorem.

       This and later "hypothesis-building" lemmas, with labels starting
       "hb...", allow us to construct proofs of formulas of the form
       ` |- ( ph -> A. x ph ) ` from smaller formulas of this form.  These are
       useful for constructing hypotheses that state " ` x ` is (effectively)
       not free in ` ph ` ."  (Contributed by NM, 5-Aug-1993.) $)
    hbth $p |- ( ph -> A. x ph ) $=
      ( wal ax-gen a1i ) ABDAABCEF $.

    $( No variable is (effectively) free in a theorem.  (Contributed by Mario
       Carneiro, 11-Aug-2016.) $)
    nfth $p |- F/ x ph $=
      ( hbth nfi ) ABABCDE $.
  $}

  $( The true constant has no free variables.  (This can also be proven in one
     step with ~ nfv , but this proof does not use ~ ax-17 .)  (Contributed by
     Mario Carneiro, 6-Oct-2016.) $)
  nftru $p |- F/ x T. $=
    ( wtru tru nfth ) BACD $.

  ${
    nex.1 $e |- -. ph $.
    $( Generalization rule for negated wff.  (Contributed by NM,
       18-May-1994.) $)
    nex $p |- -. E. x ph $=
      ( wn wex alnex mpgbi ) ADABEDBABFCG $.
  $}

  ${
    nfnth.1 $e |- -. ph $.
    $( No variable is (effectively) free in a non-theorem.  (Contributed by
       Mario Carneiro, 6-Dec-2016.) $)
    nfnth $p |- F/ x ph $=
      ( wal pm2.21i nfi ) ABAABDCEF $.
  $}

$(
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
         Axiom scheme ax-5 (Quantified Implication)
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
$)

  $( Axiom of Quantified Implication.  Axiom C4 of [Monk2] p. 105.
     (Contributed by NM, 5-Aug-1993.) $)
  ax-5 $a |- ( A. x ( ph -> ps ) -> ( A. x ph -> A. x ps ) ) $.

  $( Theorem 19.20 of [Margaris] p. 90.  (Contributed by NM, 5-Aug-1993.)
     (Proof shortened by O'Cat, 30-Mar-2008.) $)
  alim $p |- ( A. x ( ph -> ps ) -> ( A. x ph -> A. x ps ) ) $=
    ( ax-5 ) ABCD $.

  ${
    alimi.1 $e |- ( ph -> ps ) $.
    $( Inference quantifying both antecedent and consequent.  (Contributed by
       NM, 5-Aug-1993.) $)
    alimi $p |- ( A. x ph -> A. x ps ) $=
      ( wi wal ax-5 mpg ) ABEACFBCFECABCGDH $.

    $( Inference doubly quantifying both antecedent and consequent.
       (Contributed by NM, 3-Feb-2005.) $)
    2alimi $p |- ( A. x A. y ph -> A. x A. y ps ) $=
      ( wal alimi ) ADFBDFCABDEGG $.
  $}

  ${
    al2imi.1 $e |- ( ph -> ( ps -> ch ) ) $.
    $( Inference quantifying antecedent, nested antecedent, and consequent.
       (Contributed by NM, 5-Aug-1993.) $)
    al2imi $p |- ( A. x ph -> ( A. x ps -> A. x ch ) ) $=
      ( wal wi alimi alim syl ) ADFBCGZDFBDFCDFGAKDEHBCDIJ $.
  $}

  ${
    alanimi.1 $e |- ( ( ph /\ ps ) -> ch ) $.
    $( Variant of ~ al2imi with conjunctive antecedent.  (Contributed by Andrew
       Salmon, 8-Jun-2011.) $)
    alanimi $p |- ( ( A. x ph /\ A. x ps ) -> A. x ch ) $=
      ( wal ex al2imi imp ) ADFBDFCDFABCDABCEGHI $.
  $}

  ${
    alimdh.1 $e |- ( ph -> A. x ph ) $.
    alimdh.2 $e |- ( ph -> ( ps -> ch ) ) $.
    $( Deduction from Theorem 19.20 of [Margaris] p. 90.  (Contributed by NM,
       4-Jan-2002.) $)
    alimdh $p |- ( ph -> ( A. x ps -> A. x ch ) ) $=
      ( wal wi al2imi syl ) AADGBDGCDGHEABCDFIJ $.
  $}

  $( Theorem 19.15 of [Margaris] p. 90.  (Contributed by NM, 5-Aug-1993.) $)
  albi $p |- ( A. x ( ph <-> ps ) -> ( A. x ph <-> A. x ps ) ) $=
    ( wb wal bi1 al2imi bi2 impbid ) ABDZCEACEBCEJABCABFGJBACABHGI $.

  ${
    alrimih.1 $e |- ( ph -> A. x ph ) $.
    alrimih.2 $e |- ( ph -> ps ) $.
    $( Inference from Theorem 19.21 of [Margaris] p. 90.  (Contributed by NM,
       5-Aug-1993.) $)
    alrimih $p |- ( ph -> A. x ps ) $=
      ( wal alimi syl ) AACFBCFDABCEGH $.
  $}

  ${
    albii.1 $e |- ( ph <-> ps ) $.
    $( Inference adding universal quantifier to both sides of an equivalence.
       (Contributed by NM, 7-Aug-1994.) $)
    albii $p |- ( A. x ph <-> A. x ps ) $=
      ( wb wal albi mpg ) ABEACFBCFECABCGDH $.

    $( Theorem albii is the congruence law for universal quantification. $)
    $( $j congruence 'albii'; $)

    $( Inference adding two universal quantifiers to both sides of an
       equivalence.  (Contributed by NM, 9-Mar-1997.) $)
    2albii $p |- ( A. x A. y ph <-> A. x A. y ps ) $=
      ( wal albii ) ADFBDFCABDEGG $.
  $}

  ${
    hbxfrbi.1 $e |- ( ph <-> ps ) $.
    hbxfrbi.2 $e |- ( ps -> A. x ps ) $.
    $( A utility lemma to transfer a bound-variable hypothesis builder into a
       definition.  See ~ hbxfreq for equality version.  (Contributed by
       Jonathan Ben-Naim, 3-Jun-2011.) $)
    hbxfrbi $p |- ( ph -> A. x ph ) $=
      ( wal albii 3imtr4i ) BBCFAACFEDABCDGH $.
  $}

  ${
    nfbii.1 $e |- ( ph <-> ps ) $.
    $( Equality theorem for not-free.  (Contributed by Mario Carneiro,
       11-Aug-2016.) $)
    nfbii $p |- ( F/ x ph <-> F/ x ps ) $=
      ( wal wi wnf albii imbi12i df-nf 3bitr4i ) AACEZFZCEBBCEZFZCEACGBCGMOCABL
      NDABCDHIHACJBCJK $.

    ${
      nfxfr.2 $e |- F/ x ps $.
      $( A utility lemma to transfer a bound-variable hypothesis builder into a
         definition.  (Contributed by Mario Carneiro, 11-Aug-2016.) $)
      nfxfr $p |- F/ x ph $=
        ( wnf nfbii mpbir ) ACFBCFEABCDGH $.
    $}

    ${
      nfxfrd.2 $e |- ( ch -> F/ x ps ) $.
      $( A utility lemma to transfer a bound-variable hypothesis builder into a
         definition.  (Contributed by Mario Carneiro, 24-Sep-2016.) $)
      nfxfrd $p |- ( ch -> F/ x ph ) $=
        ( wnf nfbii sylibr ) CBDGADGFABDEHI $.
    $}
  $}

  $( Theorem 19.6 of [Margaris] p. 89.  (Contributed by NM, 5-Aug-1993.) $)
  alex $p |- ( A. x ph <-> -. E. x -. ph ) $=
    ( wal wn wex notnot albii alnex bitri ) ABCADZDZBCJBEDAKBAFGJBHI $.

  $( Part of theorem *11.5 in [WhiteheadRussell] p. 164.  (Contributed by
     Andrew Salmon, 24-May-2011.) $)
  2nalexn $p |- ( -. A. x A. y ph <-> E. x E. y -. ph ) $=
    ( wn wex wal df-ex alex albii xchbinxr bicomi ) ADCEZBEZACFZBFZDMLDZBFOLBGN
    PBACHIJK $.

  $( Theorem 19.14 of [Margaris] p. 90.  (Contributed by NM, 5-Aug-1993.) $)
  exnal $p |- ( E. x -. ph <-> -. A. x ph ) $=
    ( wal wn wex alex con2bii ) ABCADBEABFG $.

  $( Theorem 19.22 of [Margaris] p. 90.  (Contributed by NM, 5-Aug-1993.)
     (Proof shortened by Wolf Lammen, 4-Jul-2014.) $)
  exim $p |- ( A. x ( ph -> ps ) -> ( E. x ph -> E. x ps ) ) $=
    ( wi wal wex wn con3 al2imi alnex 3imtr3g con4d ) ABDZCEZBCFZACFZNBGZCEAGZC
    EOGPGMQRCABHIBCJACJKL $.

  ${
    eximi.1 $e |- ( ph -> ps ) $.
    $( Inference adding existential quantifier to antecedent and consequent.
       (Contributed by NM, 5-Aug-1993.) $)
    eximi $p |- ( E. x ph -> E. x ps ) $=
      ( wi wex exim mpg ) ABEACFBCFECABCGDH $.

    $( Inference adding two existential quantifiers to antecedent and
       consequent.  (Contributed by NM, 3-Feb-2005.) $)
    2eximi $p |- ( E. x E. y ph -> E. x E. y ps ) $=
      ( wex eximi ) ADFBDFCABDEGG $.
  $}

  $( A transformation of quantifiers and logical connectives.  (Contributed by
     NM, 19-Aug-1993.) $)
  alinexa $p |- ( A. x ( ph -> -. ps ) <-> -. E. x ( ph /\ ps ) ) $=
    ( wn wi wal wa wex imnan albii alnex bitri ) ABDEZCFABGZDZCFNCHDMOCABIJNCKL
    $.

  $( A relationship between two quantifiers and negation.  (Contributed by NM,
     18-Aug-1993.) $)
  alexn $p |- ( A. x E. y -. ph <-> -. E. x A. y ph ) $=
    ( wn wex wal exnal albii alnex bitri ) ADCEZBFACFZDZBFLBEDKMBACGHLBIJ $.

  $( Theorem *11.51 in [WhiteheadRussell] p. 164.  (Contributed by Andrew
     Salmon, 24-May-2011.)  (Proof shortened by Wolf Lammen, 25-Sep-2014.) $)
  2exnexn $p |- ( E. x A. y ph <-> -. A. x E. y -. ph ) $=
    ( wn wex wal alexn con2bii ) ADCEBFACFBEABCGH $.

  $( Theorem 19.18 of [Margaris] p. 90.  (Contributed by NM, 5-Aug-1993.) $)
  exbi $p |- ( A. x ( ph <-> ps ) -> ( E. x ph <-> E. x ps ) ) $=
    ( wb wal wex wi bi1 alimi exim syl bi2 impbid ) ABDZCEZACFZBCFZOABGZCEPQGNR
    CABHIABCJKOBAGZCEQPGNSCABLIBACJKM $.

  ${
    exbii.1 $e |- ( ph <-> ps ) $.
    $( Inference adding existential quantifier to both sides of an
       equivalence.  (Contributed by NM, 24-May-1994.) $)
    exbii $p |- ( E. x ph <-> E. x ps ) $=
      ( wb wex exbi mpg ) ABEACFBCFECABCGDH $.
  $}

  ${
    2exbii.1 $e |- ( ph <-> ps ) $.
    $( Inference adding two existential quantifiers to both sides of an
       equivalence.  (Contributed by NM, 16-Mar-1995.) $)
    2exbii $p |- ( E. x E. y ph <-> E. x E. y ps ) $=
      ( wex exbii ) ADFBDFCABDEGG $.
  $}

  ${
    3exbii.1 $e |- ( ph <-> ps ) $.
    $( Inference adding 3 existential quantifiers to both sides of an
       equivalence.  (Contributed by NM, 2-May-1995.) $)
    3exbii $p |- ( E. x E. y E. z ph <-> E. x E. y E. z ps ) $=
      ( wex exbii 2exbii ) AEGBEGCDABEFHI $.
  $}

  $( A transformation of quantifiers and logical connectives.  (Contributed by
     NM, 25-Mar-1996.)  (Proof shortened by Wolf Lammen, 4-Sep-2014.) $)
  exanali $p |- ( E. x ( ph /\ -. ps ) <-> -. A. x ( ph -> ps ) ) $=
    ( wn wa wex wi wal annim exbii exnal bitri ) ABDEZCFABGZDZCFNCHDMOCABIJNCKL
    $.

  $( Commutation of conjunction inside an existential quantifier.  (Contributed
     by NM, 18-Aug-1993.) $)
  exancom $p |- ( E. x ( ph /\ ps ) <-> E. x ( ps /\ ph ) ) $=
    ( wa ancom exbii ) ABDBADCABEF $.

  ${
    alrimdh.1 $e |- ( ph -> A. x ph ) $.
    alrimdh.2 $e |- ( ps -> A. x ps ) $.
    alrimdh.3 $e |- ( ph -> ( ps -> ch ) ) $.
    $( Deduction from Theorem 19.21 of [Margaris] p. 90.  (Contributed by NM,
       10-Feb-1997.)  (Proof shortened by Andrew Salmon, 13-May-2011.) $)
    alrimdh $p |- ( ph -> ( ps -> A. x ch ) ) $=
      ( wal alimdh syl5 ) BBDHACDHFABCDEGIJ $.
  $}

  ${
    eximdh.1 $e |- ( ph -> A. x ph ) $.
    eximdh.2 $e |- ( ph -> ( ps -> ch ) ) $.
    $( Deduction from Theorem 19.22 of [Margaris] p. 90.  (Contributed by NM,
       20-May-1996.) $)
    eximdh $p |- ( ph -> ( E. x ps -> E. x ch ) ) $=
      ( wi wal wex alrimih exim syl ) ABCGZDHBDICDIGAMDEFJBCDKL $.
  $}

  ${
    nexdh.1 $e |- ( ph -> A. x ph ) $.
    nexdh.2 $e |- ( ph -> -. ps ) $.
    $( Deduction for generalization rule for negated wff.  (Contributed by NM,
       2-Jan-2002.) $)
    nexdh $p |- ( ph -> -. E. x ps ) $=
      ( wn wal wex alrimih alnex sylib ) ABFZCGBCHFALCDEIBCJK $.
  $}

  ${
    albidh.1 $e |- ( ph -> A. x ph ) $.
    albidh.2 $e |- ( ph -> ( ps <-> ch ) ) $.
    $( Formula-building rule for universal quantifier (deduction rule).
       (Contributed by NM, 5-Aug-1993.) $)
    albidh $p |- ( ph -> ( A. x ps <-> A. x ch ) ) $=
      ( wb wal alrimih albi syl ) ABCGZDHBDHCDHGALDEFIBCDJK $.
  $}

  ${
    exbidh.1 $e |- ( ph -> A. x ph ) $.
    exbidh.2 $e |- ( ph -> ( ps <-> ch ) ) $.
    $( Formula-building rule for existential quantifier (deduction rule).
       (Contributed by NM, 5-Aug-1993.) $)
    exbidh $p |- ( ph -> ( E. x ps <-> E. x ch ) ) $=
      ( wb wal wex alrimih exbi syl ) ABCGZDHBDICDIGAMDEFJBCDKL $.
  $}

  $( Simplification of an existentially quantified conjunction.  (Contributed
     by Rodolfo Medina, 25-Sep-2010.)  (Proof shortened by Andrew Salmon,
     29-Jun-2011.) $)
  exsimpl $p |- ( E. x ( ph /\ ps ) -> E. x ph ) $=
    ( wa simpl eximi ) ABDACABEF $.

  $( Theorem 19.26 of [Margaris] p. 90.  Also Theorem *10.22 of
     [WhiteheadRussell] p. 147.  (Contributed by NM, 5-Aug-1993.)  (Proof
     shortened by Wolf Lammen, 4-Jul-2014.) $)
  19.26 $p |- ( A. x ( ph /\ ps ) <-> ( A. x ph /\ A. x ps ) ) $=
    ( wa wal simpl alimi simpr jca id alanimi impbii ) ABDZCEZACEZBCEZDNOPMACAB
    FGMBCABHGIABMCMJKL $.

  $( Theorem 19.26 of [Margaris] p. 90 with two quantifiers.  (Contributed by
     NM, 3-Feb-2005.) $)
  19.26-2 $p |- ( A. x A. y ( ph /\ ps ) <->
                ( A. x A. y ph /\ A. x A. y ps ) ) $=
    ( wa wal 19.26 albii bitri ) ABEDFZCFADFZBDFZEZCFKCFLCFEJMCABDGHKLCGI $.

  $( Theorem 19.26 of [Margaris] p. 90 with triple conjunction.  (Contributed
     by NM, 13-Sep-2011.) $)
  19.26-3an $p |- ( A. x ( ph /\ ps /\ ch )
                   <-> ( A. x ph /\ A. x ps /\ A. x ch ) ) $=
    ( wa wal w3a 19.26 anbi1i bitri df-3an albii 3bitr4i ) ABEZCEZDFZADFZBDFZEZ
    CDFZEZABCGZDFQRTGPNDFZTEUANCDHUCSTABDHIJUBODABCKLQRTKM $.

  $( Theorem 19.29 of [Margaris] p. 90.  (Contributed by NM, 5-Aug-1993.)
     (Proof shortened by Andrew Salmon, 13-May-2011.) $)
  19.29 $p |- ( ( A. x ph /\ E. x ps ) -> E. x ( ph /\ ps ) ) $=
    ( wal wex wa wi pm3.2 alimi exim syl imp ) ACDZBCEZABFZCEZMBOGZCDNPGAQCABHI
    BOCJKL $.

  $( Variation of Theorem 19.29 of [Margaris] p. 90.  (Contributed by NM,
     18-Aug-1993.) $)
  19.29r $p |- ( ( E. x ph /\ A. x ps ) -> E. x ( ph /\ ps ) ) $=
    ( wex wal wa 19.29 ancoms exancom sylibr ) ACDZBCEZFBAFCDZABFCDLKMBACGHABCI
    J $.

  $( Variation of Theorem 19.29 of [Margaris] p. 90 with double
     quantification.  (Contributed by NM, 3-Feb-2005.) $)
  19.29r2 $p |- ( ( E. x E. y ph /\ A. x A. y ps ) ->
             E. x E. y ( ph /\ ps ) ) $=
    ( wex wal wa 19.29r eximi syl ) ADEZCEBDFZCFGKLGZCEABGDEZCEKLCHMNCABDHIJ $.

  $( Variation of Theorem 19.29 of [Margaris] p. 90 with mixed quantification.
     (Contributed by NM, 11-Feb-2005.) $)
  19.29x $p |- ( ( E. x A. y ph /\ A. x E. y ps ) ->
             E. x E. y ( ph /\ ps ) ) $=
    ( wal wex wa 19.29r 19.29 eximi syl ) ADEZCFBDFZCEGLMGZCFABGDFZCFLMCHNOCABD
    IJK $.

  $( Theorem 19.35 of [Margaris] p. 90.  This theorem is useful for moving an
     implication (in the form of the right-hand side) into the scope of a
     single existential quantifier.  (Contributed by NM, 5-Aug-1993.)  (Proof
     shortened by Wolf Lammen, 27-Jun-2014.) $)
  19.35 $p |- ( E. x ( ph -> ps ) <-> ( A. x ph -> E. x ps ) ) $=
    ( wi wex wal wn wa 19.26 annim albii alnex anbi2i 3bitr3i con4bii ) ABDZCEZ
    ACFZBCEZDZPGZCFZRSGZHZQGTGABGZHZCFRUECFZHUBUDAUECIUFUACABJKUGUCRBCLMNPCLRSJ
    NO $.

  ${
    19.35i.1 $e |- E. x ( ph -> ps ) $.
    $( Inference from Theorem 19.35 of [Margaris] p. 90.  (Contributed by NM,
       5-Aug-1993.) $)
    19.35i $p |- ( A. x ph -> E. x ps ) $=
      ( wi wex wal 19.35 mpbi ) ABECFACGBCFEDABCHI $.
  $}

  ${
    19.35ri.1 $e |- ( A. x ph -> E. x ps ) $.
    $( Inference from Theorem 19.35 of [Margaris] p. 90.  (Contributed by NM,
       5-Aug-1993.) $)
    19.35ri $p |- E. x ( ph -> ps ) $=
      ( wi wex wal 19.35 mpbir ) ABECFACGBCFEDABCHI $.
  $}

  $( Theorem 19.25 of [Margaris] p. 90.  (Contributed by NM, 5-Aug-1993.) $)
  19.25 $p |- ( A. y E. x ( ph -> ps ) ->
              ( E. y A. x ph -> E. y E. x ps ) ) $=
    ( wi wex wal 19.35 biimpi alimi exim syl ) ABECFZDGACGZBCFZEZDGNDFODFEMPDMP
    ABCHIJNODKL $.

  $( Theorem 19.30 of [Margaris] p. 90.  (Contributed by NM, 5-Aug-1993.)
     (Proof shortened by Andrew Salmon, 25-May-2011.) $)
  19.30 $p |- ( A. x ( ph \/ ps ) -> ( A. x ph \/ E. x ps ) ) $=
    ( wn wi wal wex wo exnal exim syl5bir df-or albii 3imtr4i ) ADZBEZCFZACFZDZ
    BCGZEABHZCFRTHSOCGQTACIOBCJKUAPCABLMRTLN $.

  $( Theorem 19.43 of [Margaris] p. 90.  (Contributed by NM, 5-Aug-1993.)
     (Proof shortened by Wolf Lammen, 27-Jun-2014.) $)
  19.43 $p |- ( E. x ( ph \/ ps ) <-> ( E. x ph \/ E. x ps ) ) $=
    ( wo wex wn wi wal df-or exbii 19.35 alnex imbi1i 3bitri bitr4i ) ABDZCEZAC
    EZFZBCEZGZRTDQAFZBGZCEUBCHZTGUAPUCCABIJUBBCKUDSTACLMNRTIO $.

  $( Obsolete proof of ~ 19.43 as of 3-May-2016.  Leave this in for the example
     on the mmrecent.html page.  (Contributed by NM, 5-Aug-1993.)
     (Proof modification is discouraged.)  (New usage is discouraged.) $)
  19.43OLD $p |- ( E. x ( ph \/ ps ) <-> ( E. x ph \/ E. x ps ) ) $=
    ( wo wn wal wex wa ioran albii 19.26 alnex anbi12i 3bitri notbii df-ex oran
    3bitr4i ) ABDZEZCFZEACGZEZBCGZEZHZESCGUBUDDUAUFUAAEZBEZHZCFUGCFZUHCFZHUFTUI
    CABIJUGUHCKUJUCUKUEACLBCLMNOSCPUBUDQR $.

  $( Theorem 19.33 of [Margaris] p. 90.  (Contributed by NM, 5-Aug-1993.) $)
  19.33 $p |- ( ( A. x ph \/ A. x ps ) -> A. x ( ph \/ ps ) ) $=
    ( wal wo orc alimi olc jaoi ) ACDABEZCDBCDAJCABFGBJCBAHGI $.

  $( The antecedent provides a condition implying the converse of ~ 19.33 .
     Compare Theorem 19.33 of [Margaris] p. 90.  (Contributed by NM,
     27-Mar-2004.)  (Proof shortened by Andrew Salmon, 25-May-2011.)  (Proof
     shortened by Wolf Lammen, 5-Jul-2014.) $)
  19.33b $p |- ( -. ( E. x ph /\ E. x ps ) ->
               ( A. x ( ph \/ ps ) <-> ( A. x ph \/ A. x ps ) ) ) $=
    ( wex wa wn wo wal ianor alnex pm2.53 al2imi syl5bir olc syl6com orcomd ord
    wi 19.30 orc jaoi sylbi 19.33 impbid1 ) ACDZBCDZEFZABGZCHZACHZBCHZGZUGUEFZU
    FFZGUIULRZUEUFIUMUOUNUIUMUKULUMAFZCHUIUKACJUHUPBCABKLMUKUJNOUIUNUJULUIUFUJU
    IUJUFABCSPQUJUKTOUAUBABCUCUD $.

  $( Theorem 19.40 of [Margaris] p. 90.  (Contributed by NM, 5-Aug-1993.) $)
  19.40 $p |- ( E. x ( ph /\ ps ) -> ( E. x ph /\ E. x ps ) ) $=
    ( wa wex exsimpl simpr eximi jca ) ABDZCEACEBCEABCFJBCABGHI $.

  $( Theorem *11.42 in [WhiteheadRussell] p. 163.  Theorem 19.40 of [Margaris]
     p. 90 with 2 quantifiers.  (Contributed by Andrew Salmon, 24-May-2011.) $)
  19.40-2 $p |- ( E. x E. y ( ph /\ ps ) ->
        ( E. x E. y ph /\ E. x E. y ps ) ) $=
    ( wa wex 19.40 eximi syl ) ABEDFZCFADFZBDFZEZCFKCFLCFEJMCABDGHKLCGI $.

  $( Split a biconditional and distribute quantifier.  (Contributed by NM,
     18-Aug-1993.) $)
  albiim $p |- ( A. x ( ph <-> ps ) <->
             ( A. x ( ph -> ps ) /\ A. x ( ps -> ph ) ) ) $=
    ( wb wal wi wa dfbi2 albii 19.26 bitri ) ABDZCEABFZBAFZGZCEMCENCEGLOCABHIMN
    CJK $.

  $( Split a biconditional and distribute 2 quantifiers.  (Contributed by NM,
     3-Feb-2005.) $)
  2albiim $p |- ( A. x A. y ( ph <-> ps ) <->
             ( A. x A. y ( ph -> ps ) /\ A. x A. y ( ps -> ph ) ) ) $=
    ( wb wal wi wa albiim albii 19.26 bitri ) ABEDFZCFABGDFZBAGDFZHZCFNCFOCFHMP
    CABDIJNOCKL $.

  $( Add/remove a conjunct in the scope of an existential quantifier.
     (Contributed by Raph Levien, 3-Jul-2006.) $)
  exintrbi $p |- ( A. x ( ph -> ps ) -> ( E. x ph <-> E. x ( ph /\ ps ) ) ) $=
    ( wi wal wa wb wex pm4.71 albii exbi sylbi ) ABDZCEAABFZGZCEACHNCHGMOCABIJA
    NCKL $.

  $( Introduce a conjunct in the scope of an existential quantifier.
     (Contributed by NM, 11-Aug-1993.) $)
  exintr $p |- ( A. x ( ph -> ps ) -> ( E. x ph -> E. x ( ph /\ ps ) ) ) $=
    ( wi wal wex wa exintrbi biimpd ) ABDCEACFABGCFABCHI $.

  $( Theorem *10.3 in [WhiteheadRussell] p. 150.  (Contributed by Andrew
     Salmon, 8-Jun-2011.) $)
  alsyl $p |- ( ( A. x ( ph -> ps ) /\ A. x ( ps -> ch ) ) ->
        A. x ( ph -> ch ) ) $=
    ( wi pm3.33 alanimi ) ABEBCEACEDABCFG $.

$(
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
  Axiom scheme ax-17 (Distinctness) - first use of $d
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
$)

  ${
    $d x ph $.
    $( Axiom of Distinctness.  This axiom quantifies a variable over a formula
       in which it does not occur.  Axiom C5 in [Megill] p. 444 (p. 11 of the
       preprint).  Also appears as Axiom B6 (p. 75) of system S2 of [Tarski]
       p. 77 and Axiom C5-1 of [Monk2] p. 113.

       (See comments in ~ ax17o about the logical redundancy of ~ ax-17 in the
       presence of our obsolete axioms.)

       This axiom essentially says that if ` x ` does not occur in ` ph ` ,
       i.e. ` ph ` does not depend on ` x ` in any way, then we can add the
       quantifier ` A. x ` to ` ph ` with no further assumptions.  By ~ sp , we
       can also remove the quantifier (unconditionally).  (Contributed by NM,
       5-Aug-1993.) $)
    ax-17 $a |- ( ph -> A. x ph ) $.
  $}

  ${
    $d x ps $.
    $( ~ ax-17 with antecedent.  Useful in proofs of deduction versions of
       bound-variable hypothesis builders.  (Contributed by NM, 1-Mar-2013.) $)
    a17d $p |- ( ph -> ( ps -> A. x ps ) ) $=
      ( wal wi ax-17 a1i ) BBCDEABCFG $.
  $}

  ${
    $d x ph $.
    $( A rephrasing of ~ ax-17 using the existential quantifier.  (Contributed
       by Wolf Lammen, 4-Dec-2017.) $)
    ax17e $p |- ( E. x ph -> ph ) $=
      ( wex wn wal df-ex ax-17 con1i sylbi ) ABCADZBEZDAABFAKJBGHI $.
  $}

  ${
    $d x ph $.
    $( If ` x ` is not present in ` ph ` , then ` x ` is not free in ` ph ` .
       (Contributed by Mario Carneiro, 11-Aug-2016.) $)
    nfv $p |- F/ x ph $=
      ( ax-17 nfi ) ABABCD $.
  $}

  ${
    $d x ps $.
    $( ~ nfv with antecedent.  Useful in proofs of deduction versions of
       bound-variable hypothesis builders such as ~ nfimd .  (Contributed by
       Mario Carneiro, 6-Oct-2016.) $)
    nfvd $p |- ( ph -> F/ x ps ) $=
      ( wnf nfv a1i ) BCDABCEF $.
  $}

  ${
    $d x ph $.
    alimdv.1 $e |- ( ph -> ( ps -> ch ) ) $.
    $( Deduction from Theorem 19.20 of [Margaris] p. 90.  (Contributed by NM,
       3-Apr-1994.) $)
    alimdv $p |- ( ph -> ( A. x ps -> A. x ch ) ) $=
      ( ax-17 alimdh ) ABCDADFEG $.

    $( Deduction from Theorem 19.22 of [Margaris] p. 90.  (Contributed by NM,
       27-Apr-1994.) $)
    eximdv $p |- ( ph -> ( E. x ps -> E. x ch ) ) $=
      ( ax-17 eximdh ) ABCDADFEG $.
  $}

  ${
    $d x ph $.  $d y ph $.
    2alimdv.1 $e |- ( ph -> ( ps -> ch ) ) $.
    $( Deduction from Theorem 19.22 of [Margaris] p. 90.  (Contributed by NM,
       27-Apr-2004.) $)
    2alimdv $p |- ( ph -> ( A. x A. y ps -> A. x A. y ch ) ) $=
      ( wal alimdv ) ABEGCEGDABCEFHH $.

    $( Deduction from Theorem 19.22 of [Margaris] p. 90.  (Contributed by NM,
       3-Aug-1995.) $)
    2eximdv $p |- ( ph -> ( E. x E. y ps -> E. x E. y ch ) ) $=
      ( wex eximdv ) ABEGCEGDABCEFHH $.
  $}

  ${
    $d x ph $.
    albidv.1 $e |- ( ph -> ( ps <-> ch ) ) $.
    $( Formula-building rule for universal quantifier (deduction rule).
       (Contributed by NM, 5-Aug-1993.) $)
    albidv $p |- ( ph -> ( A. x ps <-> A. x ch ) ) $=
      ( ax-17 albidh ) ABCDADFEG $.

    $( Formula-building rule for existential quantifier (deduction rule).
       (Contributed by NM, 5-Aug-1993.) $)
    exbidv $p |- ( ph -> ( E. x ps <-> E. x ch ) ) $=
      ( ax-17 exbidh ) ABCDADFEG $.
  $}

  ${
    $d x ph $.  $d y ph $.
    2albidv.1 $e |- ( ph -> ( ps <-> ch ) ) $.
    $( Formula-building rule for 2 universal quantifiers (deduction rule).
       (Contributed by NM, 4-Mar-1997.) $)
    2albidv $p |- ( ph -> ( A. x A. y ps <-> A. x A. y ch ) ) $=
      ( wal albidv ) ABEGCEGDABCEFHH $.

    $( Formula-building rule for 2 existential quantifiers (deduction rule).
       (Contributed by NM, 1-May-1995.) $)
    2exbidv $p |- ( ph -> ( E. x E. y ps <-> E. x E. y ch ) ) $=
      ( wex exbidv ) ABEGCEGDABCEFHH $.
  $}

  ${
    $d x ph $.  $d y ph $.  $d z ph $.
    3exbidv.1 $e |- ( ph -> ( ps <-> ch ) ) $.
    $( Formula-building rule for 3 existential quantifiers (deduction rule).
       (Contributed by NM, 1-May-1995.) $)
    3exbidv $p |- ( ph -> ( E. x E. y E. z ps <-> E. x E. y E. z ch ) ) $=
      ( wex exbidv 2exbidv ) ABFHCFHDEABCFGIJ $.
  $}

  ${
    $d x ph $.  $d y ph $.  $d z ph $.  $d w ph $.
    4exbidv.1 $e |- ( ph -> ( ps <-> ch ) ) $.
    $( Formula-building rule for 4 existential quantifiers (deduction rule).
       (Contributed by NM, 3-Aug-1995.) $)
    4exbidv $p |- ( ph ->
                     ( E. x E. y E. z E. w ps <-> E. x E. y E. z E. w ch ) ) $=
      ( wex 2exbidv ) ABGIFICGIFIDEABCFGHJJ $.
  $}

  ${
    $d x ph $.
    alrimiv.1 $e |- ( ph -> ps ) $.
    $( Inference from Theorem 19.21 of [Margaris] p. 90.  (Contributed by NM,
       5-Aug-1993.) $)
    alrimiv $p |- ( ph -> A. x ps ) $=
      ( ax-17 alrimih ) ABCACEDF $.
  $}

  ${
    $d x ph $.  $d y ph $.
    alrimivv.1 $e |- ( ph -> ps ) $.
    $( Inference from Theorem 19.21 of [Margaris] p. 90.  (Contributed by NM,
       31-Jul-1995.) $)
    alrimivv $p |- ( ph -> A. x A. y ps ) $=
      ( wal alrimiv ) ABDFCABDEGG $.
  $}

  ${
    $d x ph $.  $d x ps $.
    alrimdv.1 $e |- ( ph -> ( ps -> ch ) ) $.
    $( Deduction from Theorem 19.21 of [Margaris] p. 90.  (Contributed by NM,
       10-Feb-1997.) $)
    alrimdv $p |- ( ph -> ( ps -> A. x ch ) ) $=
      ( ax-17 alrimdh ) ABCDADFBDFEG $.
  $}

  ${
    $d x ps $.
    exlimiv.1 $e |- ( ph -> ps ) $.
    $( Inference from Theorem 19.23 of [Margaris] p. 90.

       This inference, along with our many variants such as ~ rexlimdv , is
       used to implement a metatheorem called "Rule C" that is given in many
       logic textbooks.  See, for example, Rule C in [Mendelson] p. 81, Rule C
       in [Margaris] p. 40, or Rule C in Hirst and Hirst's _A Primer for Logic
       and Proof_ p. 59 (PDF p. 65) at
       ~ http://www.mathsci.appstate.edu/~~hirstjl/primer/hirst.pdf .

       In informal proofs, the statement "Let ` C ` be an element such that..."
       almost always means an implicit application of Rule C.

       In essence, Rule C states that if we can prove that some element ` x `
       exists satisfying a wff, i.e. ` E. x ph ( x ) ` where ` ph ( x ) ` has
       ` x ` free, then we can use ` ph ( C ) ` as a hypothesis for the proof
       where ` C ` is a new (ficticious) constant not appearing previously in
       the proof, nor in any axioms used, nor in the theorem to be proved.  The
       purpose of Rule C is to get rid of the existential quantifier.

       We cannot do this in Metamath directly.  Instead, we use the original
       ` ph ` (containing ` x ` ) as an antecedent for the main part of the
       proof.  We eventually arrive at ` ( ph -> ps ) ` where ` ps ` is the
       theorem to be proved and does not contain ` x ` .  Then we apply
       ~ exlimiv to arrive at ` ( E. x ph -> ps ) ` .  Finally, we separately
       prove ` E. x ph ` and detach it with modus ponens ~ ax-mp to arrive at
       the final theorem ` ps ` .  (Contributed by NM, 5-Aug-1993.)  (Revised
       by Wolf Lammen to remove dependency on ax-9 and ax-8, 4-Dec-2017.) $)
    exlimiv $p |- ( E. x ph -> ps ) $=
      ( wex eximi ax17e syl ) ACEBCEBABCDFBCGH $.
  $}

  ${
    $d x ps $.  $d y ps $.
    exlimivv.1 $e |- ( ph -> ps ) $.
    $( Inference from Theorem 19.23 of [Margaris] p. 90.  (Contributed by NM,
       1-Aug-1995.) $)
    exlimivv $p |- ( E. x E. y ph -> ps ) $=
      ( wex exlimiv ) ADFBCABDEGG $.
  $}

  ${
    $d x ch $.  $d x ph $.
    exlimdv.1 $e |- ( ph -> ( ps -> ch ) ) $.
    $( Deduction from Theorem 19.23 of [Margaris] p. 90.  (Contributed by NM,
       27-Apr-1994.)  (Revised by Wolf Lammen to remove dependency on ax-9 and
       ax-8, 4-Dec-2017.) $)
    exlimdv $p |- ( ph -> ( E. x ps -> ch ) ) $=
      ( wex eximdv ax17e syl6 ) ABDFCDFCABCDEGCDHI $.
  $}

  ${
    $d x ch $.  $d x ph $.  $d y ch $.  $d y ph $.
    exlimdvv.1 $e |- ( ph -> ( ps -> ch ) ) $.
    $( Deduction from Theorem 19.23 of [Margaris] p. 90.  (Contributed by NM,
       31-Jul-1995.) $)
    exlimdvv $p |- ( ph -> ( E. x E. y ps -> ch ) ) $=
      ( wex exlimdv ) ABEGCDABCEFHH $.
  $}

  ${
    $d x ch $.  $d x ph $.
    exlimddv.1 $e |- ( ph -> E. x ps ) $.
    exlimddv.2 $e |- ( ( ph /\ ps ) -> ch ) $.
    $( Existential elimination rule of natural deduction.  (Contributed by
       Mario Carneiro, 15-Jun-2016.) $)
    exlimddv $p |- ( ph -> ch ) $=
      ( wex ex exlimdv mpd ) ABDGCEABCDABCFHIJ $.
  $}

  ${
    $d x ph $.
    nfdv.1 $e |- ( ph -> ( ps -> A. x ps ) ) $.
    $( Apply the definition of not-free in a context.  (Contributed by Mario
       Carneiro, 11-Aug-2016.) $)
    nfdv $p |- ( ph -> F/ x ps ) $=
      ( wal wi wnf alrimiv df-nf sylibr ) ABBCEFZCEBCGAKCDHBCIJ $.
  $}

  ${
    $d x ph $.  $d y ph $.
    $( Quantification of two variables over a formula in which they do not
       occur.  (Contributed by Alan Sare, 12-Apr-2011.) $)
    2ax17 $p |- ( ph -> A. x A. y ph ) $=
      ( id alrimivv ) AABCADE $.
  $}

$(
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
        Equality predicate; define substitution
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
$)

  $( --- Start of patch to prevent connective overloading $)
  $c class $.

  $( Add 'class' as a typecode. $)
  $( $j syntax 'class'; $)

  $( This syntax construction states that a variable ` x ` , 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 ` { y | y e. x } ` is a class by ~ cab .  Since (when
     ` y ` is distinct from ` x ` ) we have ` x = { y | y e. x } ` by
     ~ cvjust , we can argue that the syntax " ` class x ` " can be viewed as
     an abbreviation for " ` class { y | y e. x } ` ".  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 as a
     "type conversion" from a setvar variable to a class variable, keep in mind
     that ~ cv is intrinsically no different from any other class-building
     syntax such as ~ cab , ~ cun , or ~ c0 .

     For a general discussion of the theory of classes and the role of ~ cv ,
     see ~ http://us.metamath.org/mpeuni/mmset.html#class .

     (The description above applies to set theory, not predicate calculus.  The
     purpose of introducing ` class x ` here, and not in set theory where it
     belongs, is to allow us to express i.e.  "prove" the ~ weq of predicate
     calculus from the ~ wceq of set theory, so that we don't "overload" the
     ` = ` connective with two syntax definitions.  This is done to prevent
     ambiguity that would complicate some Metamath parsers.) $)
  cv $a class x $.
  $( --- End of patch to prevent connective overloading $)

  $( --- Start of old code before overloading prevention patch. $)
  $(          (None - the above patch had no old code.) $)
  $( --- End of old code before overloading prevention patch. $)

  $( Declare the equality predicate symbol. $)
  $c = $.  $( Equal sign (read:  'is equal to') $)

  $( --- Start of patch to prevent connective overloading $)
  ${
    $v A $.
    $v B $.
    wceq.cA $f class A $.
    wceq.cB $f class B $.
    $( Extend wff definition to include class equality.

       For a general discussion of the theory of classes, see
       ~ http://us.metamath.org/mpeuni/mmset.html#class .

       (The purpose of introducing ` wff A = B ` here, and not in set theory
       where it belongs, is to allow us to express i.e.  "prove" the ~ weq of
       predicate calculus in terms of the ~ wceq of set theory, so that we
       don't "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 ` x = y ` could be the ` = ` of
       either ~ weq or ~ wceq , although mathematically it makes no
       difference.  The class variables ` A ` and ` B ` are introduced
       temporarily for the purpose of this definition but otherwise not used in
       predicate calculus.  See ~ df-cleq for more information on the set
       theory usage of ~ wceq .) $)
    wceq $a wff A = B $.
  $}

  $( Extend wff definition to include atomic formulas using the equality
     predicate.

     (Instead of introducing ~ weq as an axiomatic statement, as was done in an
     older version of this database, we introduce it by "proving" a special
     case of set theory's more general ~ wceq .  This lets us avoid overloading
     the ` = ` connective, thus preventing ambiguity that would complicate
     certain Metamath parsers.  However, logically ~ weq is considered to be a
     primitive syntax, even though here it is artificially "derived" from
     ~ wceq .  Note:  To see the proof steps of this syntax proof, type "show
     proof weq /all" in the Metamath program.)  (Contributed by NM,
     24-Jan-2006.) $)
  weq $p wff x = y $=
    ( cv wceq ) ACBCD $.
  $( --- End of patch to prevent connective overloading $)

  $( --- Start of old code before overloading prevention patch. $)
  $(
  @( Extend wff definition to include atomic formulas using the equality
     predicate.

     After we introduce ~ cv and ~ wceq in set theory, this syntax construction
     becomes redundant, since it can be derived with the proof
     "vx cv vy cv wceq". @)
  weq @a wff x = y @.
  $)
  $( --- End of old code before overloading prevention patch. $)

  $( Lemma used in proofs of substitution properties.  (Contributed by NM,
     5-Aug-1993.) $)
  equs3 $p |- ( E. x ( x = y /\ ph ) <-> -. A. x ( x = y -> -. ph ) ) $=
    ( weq wn wi wal wa wex alinexa con2bii ) BCDZAEFBGLAHBILABJK $.

  ${
    speimfw.2 $e |- ( x = y -> ( ph -> ps ) ) $.
    $( Specialization, with additional weakening to allow bundling of ` x ` and
       ` y ` .  Uses only Tarski's FOL axiom schemes.  (Contributed by NM,
       23-Apr-2017.)  (Proof shortened by Wolf Lammen, 5-Aug-2017.) $)
    speimfw $p |- ( -. A. x -. x = y -> ( A. x ph -> E. x ps ) ) $=
      ( weq wex wi wn wal eximi df-ex 19.35 3imtr3i ) CDFZCGABHZCGOICJIACJBCGHO
      PCEKOCLABCMN $.
  $}

  ${
    spimfw.1 $e |- ( -. ps -> A. x -. ps ) $.
    spimfw.2 $e |- ( x = y -> ( ph -> ps ) ) $.
    $( Specialization, with additional weakening to allow bundling of ` x ` and
       ` y ` .  Uses only Tarski's FOL axiom schemes.  (Contributed by NM,
       23-Apr-1017.)  (Proof shortened by Wolf Lammen, 7-Aug-2017.) $)
    spimfw $p |- ( -. A. x -. x = y -> ( A. x ph -> ps ) ) $=
      ( weq wn wal wex speimfw df-ex con1i sylbi syl6 ) CDGHCIHACIBCJZBABCDFKPB
      HCIZHBBCLBQEMNO $.
  $}

  ${
    ax11i.1 $e |- ( x = y -> ( ph <-> ps ) ) $.
    ax11i.2 $e |- ( ps -> A. x ps ) $.
    $( Inference that has ~ ax-11 (without ` A. y ` ) as its conclusion.  Uses
       only Tarski's FOL axiom schemes.  The hypotheses may be eliminable
       without one or more of these axioms in special cases.  Proof similar to
       Lemma 16 of [Tarski] p. 70.  (Contributed by NM, 20-May-2008.) $)
    ax11i $p |- ( x = y -> ( ph -> A. x ( x = y -> ph ) ) ) $=
      ( weq wi wal biimprcd alrimih syl6bi ) CDGZABMAHZCIEBNCFMABEJKL $.
  $}

  $c [ $. $( Left bracket $)
  $c / $. $( Slash. $)
  $c ] $.  $( Right bracket $)

  $( Extend wff definition to include proper substitution (read "the wff that
     results when ` y ` is properly substituted for ` x ` in wff ` ph ` ").
     (Contributed by NM, 24-Jan-2006.) $)
  wsb $a wff [ y / x ] ph $.

  $( Define proper substitution.  Remark 9.1 in [Megill] p. 447 (p. 15 of the
     preprint).  For our notation, we use ` [ y / x ] ph ` to mean "the wff
     that results from the proper substitution of ` y ` for ` x ` in the wff
     ` ph ` ."  We can also use ` [ y / x ] ph ` in place of the "free for"
     side condition used in traditional predicate calculus; see, for example,
     ~ stdpc4 .

     Our notation was introduced in Haskell B. Curry's _Foundations of
     Mathematical Logic_ (1977), p. 316 and is frequently used in textbooks of
     lambda calculus and combinatory logic.  This notation improves the common
     but ambiguous notation, " ` ph ( y ) ` is the wff that results when ` y `
     is properly substituted for ` x ` in ` ph ( x ) ` ."  For example, if the
     original ` ph ( x ) ` is ` x = y ` , then ` ph ( y ) ` is ` y = y ` , from
     which we obtain that ` ph ( x ) ` is ` x = x ` .  So what exactly does
     ` ph ( x ) ` mean?  Curry's notation solves this problem.

     In most books, proper substitution has a somewhat complicated recursive
     definition with multiple cases based on the occurrences of free and bound
     variables in the wff.  Instead, we use a single formula that is exactly
     equivalent and gives us a direct definition.  We later prove that our
     definition has the properties we expect of proper substitution (see
     theorems ~ sbequ , ~ sbcom2 and ~ sbid2v ).

     Note that our definition is valid even when ` x ` and ` y ` are replaced
     with the same variable, as ~ sbid shows.  We achieve this by having ` x `
     free in the first conjunct and bound in the second.  We can also achieve
     this by using a dummy variable, as the alternate definition ~ dfsb7 shows
     (which some logicians may prefer because it doesn't mix free and bound
     variables).  Another version that mixes free and bound variables is
     ~ dfsb3 .  When ` x ` and ` y ` are distinct, we can express proper
     substitution with the simpler expressions of ~ sb5 and ~ sb6 .

     There are no restrictions on any of the variables, including what
     variables may occur in wff ` ph ` .  (Contributed by NM, 5-Aug-1993.) $)
  df-sb $a |- ( [ y / x ] ph <->
              ( ( x = y -> ph ) /\ E. x ( x = y /\ ph ) ) ) $.

  $( An equality theorem for substitution.  (Contributed by NM, 5-Aug-1993.) $)
  sbequ2 $p |- ( x = y -> ( [ y / x ] ph -> ph ) ) $=
    ( wsb weq wi wa wex df-sb simpl com12 syl5bi ) ABCDBCEZAFZMAGBHZGZMAABCIPMA
    NOJKL $.

  $( One direction of a simplified definition of substitution.  (Contributed by
     NM, 5-Aug-1993.) $)
  sb1 $p |- ( [ y / x ] ph -> E. x ( x = y /\ ph ) ) $=
    ( wsb weq wi wa wex df-sb simprbi ) ABCDBCEZAFKAGBHABCIJ $.

  ${
    sbimi.1 $e |- ( ph -> ps ) $.
    $( Infer substitution into antecedent and consequent of an implication.
       (Contributed by NM, 25-Jun-1998.) $)
    sbimi $p |- ( [ y / x ] ph -> [ y / x ] ps ) $=
      ( weq wi wa wex wsb imim2i anim2i eximi anim12i df-sb 3imtr4i ) CDFZAGZQA
      HZCIZHQBGZQBHZCIZHACDJBCDJRUATUCABQEKSUBCABQELMNACDOBCDOP $.
  $}

  ${
    sbbii.1 $e |- ( ph <-> ps ) $.
    $( Infer substitution into both sides of a logical equivalence.
       (Contributed by NM, 5-Aug-1993.) $)
    sbbii $p |- ( [ y / x ] ph <-> [ y / x ] ps ) $=
      ( wsb biimpi sbimi biimpri impbii ) ACDFBCDFABCDABEGHBACDABEIHJ $.
  $}

$(
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
                Axiom scheme ax-9 (Existence)
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
$)

  $( Axiom of Existence.  One of the equality and substitution axioms of
     predicate calculus with equality.  This axiom tells us is that at least
     one thing exists.  In this form (not requiring that ` x ` and ` y ` be
     distinct) it was used in an axiom system of Tarski (see Axiom B7' in
     footnote 1 of [KalishMontague] p. 81.)  It is equivalent to axiom scheme
     C10' in [Megill] p. 448 (p. 16 of the preprint); the equivalence is
     established by ~ ax9o and ~ ax9from9o .  A more convenient form of this
     axiom is ~ a9e , which has additional remarks.

     Raph Levien proved the independence of this axiom from the other logical
     axioms on 12-Apr-2005.  See item 16 at
     ~ http://us.metamath.org/award2003.html .

     ~ ax-9 can be proved from the weaker version ~ ax9v requiring that the
     variables be distinct; see theorem ~ ax9 .

     ~ ax-9 can also be proved from the Axiom of Separation (in the form that
     we use that axiom, where free variables are not universally quantified).
     See theorem ax9vsep in set.mm.

     Except by ~ ax9v , this axiom should not be referenced directly.  Instead,
     use theorem ~ ax9 .  (Contributed by NM, 5-Aug-1993.)
     (New usage is discouraged.) $)
  ax-9 $a |- -. A. x -. x = y $.

  ${
    $d x y $.
    $( Axiom B7 of [Tarski] p. 75, which requires that ` x ` and ` y ` be
       distinct.  This trivial proof is intended merely to weaken axiom ~ ax-9
       by adding a distinct variable restriction.  From here on, ~ ax-9 should
       not be referenced directly by any other proof, so that theorem ~ ax9
       will show that we can recover ~ ax-9 from this weaker version if it were
       an axiom (as it is in the case of Tarski).

       Note:  Introducing ` x y ` as a distinct variable group "out of the
       blue" with no apparent justification has puzzled some people, but it is
       perfectly sound.  All we are doing is adding an additional redundant
       requirement, no different from adding a redundant logical hypothesis,
       that results in a weakening of the theorem.  This means that any
       _future_ theorem that references ~ ax9v must have a $d specified for the
       two variables that get substituted for ` x ` and ` y ` .  The $d does
       not propagate "backwards" i.e. it does not impose a requirement on
       ~ ax-9 .

       When possible, use of this theorem rather than ~ ax9 is preferred since
       its derivation from axioms is much shorter.  (Contributed by NM,
       7-Aug-2015.) $)
    ax9v $p |- -. A. x -. x = y $=
      ( ax-9 ) ABC $.
  $}

  ${
    $d x y $.
    $( At least one individual exists.  Weaker version of ~ a9e .  When
       possible, use of this theorem rather than ~ a9e is preferred since its
       derivation from axioms is much shorter.  (Contributed by NM,
       3-Aug-2017.) $)
    a9ev $p |- E. x x = y $=
      ( weq wex wn wal ax9v df-ex mpbir ) ABCZADJEAFEABGJAHI $.
  $}

  ${
    $d x y $.
    exiftru.1 $e |- ph $.
    $( A companion rule to ax-gen, valid only if an individual exists.  Unlike
       ~ ax-9 , it does not require equality on its interface.  Some
       fundamental theorems of predicate logic can be proven from ~ ax-gen ,
       ~ ax-5 and this theorem alone, not requiring ~ ax-8 or excessive
       distinct variable conditions.  (Contributed by Wolf Lammen,
       12-Nov-2017.)  (Proof shortened by Wolf Lammen, 9-Dec-2017.) $)
    exiftru $p |- E. x ph $=
      ( vy weq wex a9ev a1i eximi ax-mp ) BDEZBFABFBDGKABAKCHIJ $.
  $}

  ${
    $d x y $.
    exiftruOLD.1 $e |- ph $.
    $( Obsolete proof of ~ exiftru as of 9-Dec-2017.  (Contributed by Wolf
       Lammen, 12-Nov-2017.)  (New usage is discouraged.) $)
    exiftruOLD $p |- E. x ph $=
      ( vy wex weq wi wal a9ev a1i 19.35ri id 2th exbii mpbir ) ABEBDFZPGZBEPPB
      PBEPBHBDIJKAQBAQCPLMNO $.
  $}

  $( Theorem 19.2 of [Margaris] p. 89.  Note:  This proof is very different
     from Margaris' because we only have Tarski's FOL axiom schemes available
     at this point.  See the later ~ 19.2g for a more conventional proof.
     (Contributed by NM, 2-Aug-2017.)  (Revised by Wolf Lammen to remove
     dependency on ax-8, 4-Dec-2017.) $)
  19.2 $p |- ( A. x ph -> E. x ph ) $=
    ( wi id exiftru 19.35i ) AABAACBADEF $.

  ${
    19.8w.1 $e |- ( ph -> A. x ph ) $.
    $( Weak version of ~ 19.8a .  Uses only Tarski's FOL axiom schemes.
       (Contributed by NM, 1-Aug-2017.)  (Proof shortened by Wolf Lammen,
       4-Dec-2017.) $)
    19.8w $p |- ( ph -> E. x ph ) $=
      ( wal wex 19.2 syl ) AABDABECABFG $.
  $}

  $( Theorem 19.39 of [Margaris] p. 90.  (Contributed by NM, 5-Aug-1993.) $)
  19.39 $p |- ( ( E. x ph -> E. x ps ) -> E. x ( ph -> ps ) ) $=
    ( wex wi wal 19.2 imim1i 19.35 sylibr ) ACDZBCDZEACFZLEABECDMKLACGHABCIJ $.

  $( Theorem 19.24 of [Margaris] p. 90.  (Contributed by NM, 5-Aug-1993.) $)
  19.24 $p |- ( ( A. x ph -> A. x ps ) -> E. x ( ph -> ps ) ) $=
    ( wal wi wex 19.2 imim2i 19.35 sylibr ) ACDZBCDZEKBCFZEABECFLMKBCGHABCIJ $.

  $( Theorem 19.34 of [Margaris] p. 90.  (Contributed by NM, 5-Aug-1993.) $)
  19.34 $p |- ( ( A. x ph \/ E. x ps ) -> E. x ( ph \/ ps ) ) $=
    ( wal wex wo 19.2 orim1i 19.43 sylibr ) ACDZBCEZFACEZLFABFCEKMLACGHABCIJ $.

  ${
    $d x ph $.
    $( Special case of Theorem 19.9 of [Margaris] p. 89.  (Contributed by NM,
       28-May-1995.)  (Revised by NM, 1-Aug-2017.)  (Revised by Wolf Lammen to
       remove dependency on ax-8, 4-Dec-2017.) $)
    19.9v $p |- ( E. x ph <-> ph ) $=
      ( wex ax17e ax-17 19.8w impbii ) ABCAABDABABEFG $.

    $( Special case of Theorem 19.3 of [Margaris] p. 89.  (Contributed by NM,
       1-Aug-2017.)  (Revised by Wolf Lammen to remove dependency on ax-8,
       4-Dec-2017.) $)
    19.3v $p |- ( A. x ph <-> ph ) $=
      ( wal wn wex alex 19.9v con2bii bitr4i ) ABCADZBEZDAABFKAJBGHI $.

    $( Version of ~ sp when ` x ` does not occur in ` ph ` .  This provides the
       other direction of ~ ax-17 .  Uses only Tarski's FOL axiom schemes.
       (Contributed by NM, 10-Apr-2017.)  (Proof shortened by Wolf Lammen,
       4-Dec-2017.) $)
    spvw $p |- ( A. x ph -> ph ) $=
      ( wal 19.3v biimpi ) ABCAABDE $.
  $}

  ${
    $d x z $.
    spimeh.1 $e |- ( ph -> A. x ph ) $.
    spimeh.2 $e |- ( x = z -> ( ph -> ps ) ) $.
    $( Existential introduction, using implicit substitution.  Compare Lemma 14
       of [Tarski] p. 70.  (Contributed by NM, 7-Aug-1994.)  (Proof shortened
       by Wolf Lammen, 10-Dec-2017.) $)
    spimeh $p |- ( ph -> E. x ps ) $=
      ( wal wex weq wi a9ev eximi ax-mp 19.35i syl ) AACGBCHEABCCDIZCHABJZCHCDK
      PQCFLMNO $.
  $}

  ${
    $d x y $.
    spimw.1 $e |- ( -. ps -> A. x -. ps ) $.
    spimw.2 $e |- ( x = y -> ( ph -> ps ) ) $.
    $( Specialization.  Lemma 8 of [KalishMontague] p. 87.  Uses only Tarski's
       FOL axiom schemes.  (Contributed by NM, 19-Apr-2017.)  (Proof shortened
       by Wolf Lammen, 7-Aug-2017.) $)
    spimw $p |- ( A. x ph -> ps ) $=
      ( weq wn wal wi ax9v spimfw ax-mp ) CDGHCIHACIBJCDKABCDEFLM $.
  $}

  ${
    $d x y $.  $d x ps $.
    spimvw.1 $e |- ( x = y -> ( ph -> ps ) ) $.
    $( Specialization.  Lemma 8 of [KalishMontague] p. 87.  Uses only Tarski's
       FOL axiom schemes.  (Contributed by NM, 9-Apr-2017.) $)
    spimvw $p |- ( A. x ph -> ps ) $=
      ( wn ax-17 spimw ) ABCDBFCGEH $.
  $}

  ${
    $d x y $.  $d y ph $.
    spnfw.1 $e |- ( -. ph -> A. x -. ph ) $.
    $( Weak version of ~ sp .  Uses only Tarski's FOL axiom schemes.
       (Contributed by NM, 1-Aug-2017.)  (Proof shortened by Wolf Lammen,
       13-Aug-2017.) $)
    spnfw $p |- ( A. x ph -> ph ) $=
      ( vy weq idd spimw ) AABDCBDEAFG $.
  $}

  ${
    sptruw.1 $e |- ph $.
    $( Version of ~ sp when ` ph ` is true.  Uses only Tarski's FOL axiom
       schemes.  (Contributed by NM, 23-Apr-1017.) $)
    sptruw $p |- ( A. x ph -> ph ) $=
      ( wal a1i ) AABDCE $.
  $}

  ${
    spfalw.1 $e |- -. ph $.
    $( Version of ~ sp when ` ph ` is false.  Uses only Tarski's FOL axiom
       schemes.  (Contributed by NM, 23-Apr-1017.)  (Proof shortened by Wolf
       Lammen, 25-Dec-2017.) $)
    spfalw $p |- ( A. x ph -> ph ) $=
      ( wn hbth spnfw ) ABADBCEF $.
  $}

  ${
    $d x y $.
    cbvaliw.1 $e |- ( A. x ph -> A. y A. x ph ) $.
    cbvaliw.2 $e |- ( -. ps -> A. x -. ps ) $.
    cbvaliw.3 $e |- ( x = y -> ( ph -> ps ) ) $.
    $( Change bound variable.  Uses only Tarski's FOL axiom schemes.  Part of
       Lemma 7 of [KalishMontague] p. 86.  (Contributed by NM, 19-Apr-2017.) $)
    cbvaliw $p |- ( A. x ph -> A. y ps ) $=
      ( wal spimw alrimih ) ACHBDEABCDFGIJ $.
  $}

  ${
    $d x y $.  $d x ps $.  $d y ph $.
    cbvalivw.1 $e |- ( x = y -> ( ph -> ps ) ) $.
    $( Change bound variable.  Uses only Tarski's FOL axiom schemes.  Part of
       Lemma 7 of [KalishMontague] p. 86.  (Contributed by NM, 9-Apr-2017.) $)
    cbvalivw $p |- ( A. x ph -> A. y ps ) $=
      ( wal spimvw alrimiv ) ACFBDABCDEGH $.
  $}


$(
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
                   Axiom scheme ax-8 (Equality)
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
$)

  $( Axiom of Equality.  One of the equality and substitution axioms of
     predicate calculus with equality.  This is similar to, but not quite, a
     transitive law for equality (proved later as ~ equtr ).  This axiom scheme
     is a sub-scheme of Axiom Scheme B8 of system S2 of [Tarski], p. 75, whose
     general form cannot be represented with our notation.  Also appears as
     Axiom C7 of [Monk2] p. 105 and Axiom Scheme C8' in [Megill] p. 448 (p. 16
     of the preprint).

     The equality symbol was invented in 1527 by Robert Recorde.  He chose a
     pair of parallel lines of the same length because "noe .2. thynges, can be
     moare equalle."

     Note that this axiom is still valid even when any two or all three of
     ` x ` , ` y ` , and ` z ` are replaced with the same variable since they
     do not have any distinct variable (Metamath's $d) restrictions.  Because
     of this, we say that these three variables are "bundled" (a term coined by
     Raph Levien).  (Contributed by NM, 5-Aug-1993.) $)
  ax-8 $a |- ( x = y -> ( x = z -> y = z ) ) $.

  ${
    $d x y $.
    $( Identity law for equality.  Lemma 2 of [KalishMontague] p. 85.  See also
       Lemma 6 of [Tarski] p. 68.  (Contributed by NM, 1-Apr-2005.)  (Revised
       by NM, 9-Apr-2017.)  (Proof shortened by Wolf Lammen, 9-Dec-2017.) $)
    equid $p |- x = x $=
      ( vy weq wex a9ev ax-8 pm2.43i eximi ax17e mp2b ) BACZBDAACZBDLBAEKLBKLBA
      AFGHLBIJ $.
  $}

  ${
    $d x y $.
    $( Obsolete proof of ~ equid as of 9-Dec-2017.  (Contributed by NM,
       1-Apr-2005.)  (New usage is discouraged.) $)
    equidOLD $p |- x = x $=
      ( vy weq wn wal ax9v ax-8 pm2.43i con3i alimi mto ax-17 mt3 ) AACZNDZBEZP
      BACZDZBEBAFORBQNQNBAAGHIJKOBLM $.
  $}

  $( Bound-variable hypothesis builder for ` x = x ` .  This theorem tells us
     that any variable, including ` x ` , is effectively not free in
     ` x = x ` , even though ` x ` is technically free according to the
     traditional definition of free variable.  (Contributed by NM,
     13-Jan-2011.)  (Revised by NM, 21-Aug-2017.) $)
  nfequid $p |- F/ y x = x $=
    ( weq equid nfth ) AACBADE $.

  $( Commutative law for equality.  Lemma 3 of [KalishMontague] p. 85.  See
     also Lemma 7 of [Tarski] p. 69.  (Contributed by NM, 5-Aug-1993.)
     (Revised by NM, 9-Apr-2017.) $)
  equcomi $p |- ( x = y -> y = x ) $=
    ( weq equid ax-8 mpi ) ABCAACBACADABAEF $.

  $( Commutative law for equality.  (Contributed by NM, 20-Aug-1993.) $)
  equcom $p |- ( x = y <-> y = x ) $=
    ( weq equcomi impbii ) ABCBACABDBADE $.

  ${
    equcoms.1 $e |- ( x = y -> ph ) $.
    $( An inference commuting equality in antecedent.  Used to eliminate the
       need for a syllogism.  (Contributed by NM, 5-Aug-1993.) $)
    equcoms $p |- ( y = x -> ph ) $=
      ( weq equcomi syl ) CBEBCEACBFDG $.
  $}

  $( A transitive law for equality.  (Contributed by NM, 23-Aug-1993.) $)
  equtr $p |- ( x = y -> ( y = z -> x = z ) ) $=
    ( weq wi ax-8 equcoms ) BCDACDEBABACFG $.

  $( A transitive law for equality.  Lemma L17 in [Megill] p. 446 (p. 14 of the
     preprint).  (Contributed by NM, 23-Aug-1993.) $)
  equtrr $p |- ( x = y -> ( z = x -> z = y ) ) $=
    ( weq equtr com12 ) CADABDCBDCABEF $.

  $( An equivalence law for equality.  (Contributed by NM, 5-Aug-1993.)  (Proof
     shortened by Wolf Lammen, 10-Dec-2017.) $)
  equequ1 $p |- ( x = y -> ( x = z <-> y = z ) ) $=
    ( weq ax-8 equtr impbid ) ABDACDBCDABCEABCFG $.

  $( Obsolete version of ~ equequ1 as of 12-Nov-2017.  (Contributed by NM,
     5-Aug-1993.)  (New usage is discouraged.)
     (Proof modification is discouraged.) $)
  equequ1OLD $p |- ( x = y -> ( x = z <-> y = z ) ) $=
    ( weq ax-8 wi equcomi syl impbid ) ABDZACDZBCDZABCEJBADLKFABGBACEHI $.

  $( An equivalence law for equality.  (Contributed by NM, 5-Aug-1993.)  (Proof
     shortened by Wolf Lammen, 4-Aug-2017.) $)
  equequ2 $p |- ( x = y -> ( z = x <-> z = y ) ) $=
    ( weq equequ1 equcom 3bitr3g ) ABDACDBCDCADCBDABCEACFBCFG $.

  $( One of the two equality axioms of standard predicate calculus, called
     reflexivity of equality.  (The other one is ~ stdpc7 .)  Axiom 6 of
     [Mendelson] p. 95.  Mendelson doesn't say why he prepended the redundant
     quantifier, but it was probably to be compatible with free logic (which is
     valid in the empty domain).  (Contributed by NM, 16-Feb-2005.) $)
  stdpc6 $p |- A. x x = x $=
    ( weq equid ax-gen ) AABAACD $.

  $( A transitive law for equality.  (Contributed by NM, 12-Aug-1993.)  (Proof
     shortened by Andrew Salmon, 25-May-2011.) $)
  equtr2 $p |- ( ( x = z /\ y = z ) -> x = y ) $=
    ( weq wi equtrr equcoms impcom ) BCDACDZABDZIJECBCBAFGH $.

  $( Two equivalent ways of expressing ~ ax-12 .  See the comment for
     ~ ax-12 .  (Contributed by NM, 2-May-2017.)  (Proof shortened by Wolf
     Lammen, 12-Aug-2017.) $)
  ax12b $p |- ( ( -. x = y -> ( y = z -> A. x y = z ) )
     <-> ( -. x = y -> ( -. x = z -> ( y = z -> A. x y = z ) ) ) ) $=
    ( weq wn wal wi a1dd equtrr equcoms con3rr3 com4l com23 mpdd com3r impbii
    id ) ABDZEZBCDZTAFZGZGZSACDZEZUBGGZUCSUBUEUCQHSTUFUASTUEUFUAGZTUDRUDRGCBCBA
    IJKSUETUGUFSUETUAUFQLMNOP $.

  $( Obsolete version of ~ ax12b as of 12-Aug-2017.  (Contributed by NM,
     2-May-2017.)  (New usage is discouraged.) $)
  ax12bOLD $p |- ( ( -. x = y -> ( y = z -> A. x y = z ) )
     <-> ( -. x = y -> ( -. x = z -> ( y = z -> A. x y = z ) ) ) ) $=
    ( weq wn wal wi wa bi2.04 equtrr equcoms con3d pm4.71d imbi1d pm5.74i bitri
    impexp ) ABDZEZBCDZTAFZGZGZSACDZEZHZUBGZSUEUBGGUCTUFUAGZGZUGUCTSUAGZGUISTUA
    ITUJUHTSUFUATSUETUDRUDRGCBCBAJKLMNOPTUFUAIPSUEUBQP $.

  ${
    $d x y $.
    spfw.1 $e |- ( -. ps -> A. x -. ps ) $.
    spfw.2 $e |- ( A. x ph -> A. y A. x ph ) $.
    spfw.3 $e |- ( -. ph -> A. y -. ph ) $.
    spfw.4 $e |- ( x = y -> ( ph <-> ps ) ) $.
    $( Weak version of ~ sp .  Uses only Tarski's FOL axiom schemes.  Lemma 9
       of [KalishMontague] p. 87.  This may be the best we can do with minimal
       distinct variable conditions.  TO DO:  Do we need this theorem?  If not,
       maybe it should be deleted.  (Contributed by NM, 19-Apr-2017.) $)
    spfw $p |- ( A. x ph -> ph ) $=
      ( wal wi ax-5 weq biimprd equcoms spimw syl56 biimpd mpg ) ACIZBJZSAJDSSD
      ITDIBDIAFSBDKBADCGBAJCDCDLZABHMNOPABCDEUAABHQOR $.
  $}

  ${
    $d x y $.  $d y ph $.
    spnfw.3 $e |- ( -. ph -> A. x -. ph ) $.
    $( Weak version of ~ sp .  Uses only Tarski's FOL axiom schemes.  Obsolete
       version of ~ spnfw as of 13-Aug-2017.  (Contributed by NM, 1-Aug-2017.)
       (New usage is discouraged.) $)
    spnfwOLD $p |- ( A. x ph -> ph ) $=
      ( vy wal ax-17 wn weq biidd spfw ) AABDCABEDFAGDFBDHAIJ $.
  $}

  ${
    19.8wOLD.1 $e |- ( ph -> A. x ph ) $.
    $( Obsolete version of ~ 19.8w as of 4-Dec-2017.  (Contributed by NM,
       1-Aug-2017.)  (New usage is discouraged.)
       (Proof modification is discouraged.) $)
    19.8wOLD $p |- ( ph -> E. x ph ) $=
      ( wn wal wex notnot albii 3imtr3i spnfw con2i df-ex sylibr ) AADZBEZDABFO
      ANBAABENDZPBECAGZAPBQHIJKABLM $.
  $}

  ${
    $d x y $.  $d x ps $.  $d y ph $.
    spw.1 $e |- ( x = y -> ( ph <-> ps ) ) $.
    $( Weak version of specialization scheme ~ sp .  Lemma 9 of
       [KalishMontague] p. 87.  While it appears that ~ sp in its general form
       does not follow from Tarski's FOL axiom schemes, from this theorem we
       can prove any instance of ~ sp having no wff metavariables and mutually
       distinct setvar variables (see ~ ax11wdemo for an example of the
       procedure to eliminate the hypothesis).  Other approximations of ~ sp
       are ~ spfw (minimal distinct variable requirements), ~ spnfw (when ` x `
       is not free in ` -. ph ` ), ~ spvw (when ` x ` does not appear in
       ` ph ` ), ~ sptruw (when ` ph ` is true), and ~ spfalw (when ` ph ` is
       false).  (Contributed by NM, 9-Apr-2017.) $)
    spw $p |- ( A. x ph -> ph ) $=
      ( wal wi ax-17 ax-5 weq biimprd equcoms spimvw syl56 biimpd mpg ) ACFZBGZ
      QAGDQQDFRDFBDFAQDHQBDIBADCBAGCDCDJZABEKLMNABCDSABEOMP $.
  $}

  ${
    $d x y ph $.
    $( Obsolete version of ~ spvw as of 4-Dec-2017.  (Contributed by NM,
       10-Apr-2017.)  (New usage is discouraged.)
       (Proof modification is discouraged.) $)
    spvwOLD $p |- ( A. x ph -> ph ) $=
      ( vy weq biidd spw ) AABCBCDAEF $.

    $( Obsolete version of ~ 19.3v as of 4-Dec-2017.  (Contributed by NM,
       1-Aug-2017.)  (New usage is discouraged.)
       (Proof modification is discouraged.) $)
    19.3vOLD $p |- ( A. x ph <-> ph ) $=
      ( wal spvw ax-17 impbii ) ABCAABDABEF $.

    $( Obsolete version of ~ 19.9v as of 4-Dec-2017.  (Contributed by NM,
       28-May-1995.)  (Revised by NM, 1-Aug-2017.)
       (New usage is discouraged.)  (Proof modification is discouraged.) $)
    19.9vOLD $p |- ( E. x ph <-> ph ) $=
      ( wex wn wal df-ex 19.3v con2bii bitr4i ) ABCADZBEZDAABFKAJBGHI $.
  $}

  ${
    $d x ps $.
    exlimivOLD.1 $e |- ( ph -> ps ) $.
    $( Obsolete version of ~ exlimiv as of 4-Dec-2017.  (Contributed by NM,
       5-Aug-1993.)  (New usage is discouraged.)
       (Proof modification is discouraged.) $)
    exlimivOLD $p |- ( E. x ph -> ps ) $=
      ( wex eximi 19.9v sylib ) ACEBCEBABCDFBCGH $.
  $}

  ${
    $d x y $.  $d y ph $.
    spfalwOLD.1 $e |- -. ph $.
    $( Obsolete proof of ~ spfalw as of 25-Dec-2017.  (Contributed by NM,
       23-Apr-1017.)  (New usage is discouraged.) $)
    spfalwOLD $p |- ( A. x ph -> ph ) $=
      ( vy wfal wb weq bifal a1i spw ) AEBDAEFBDGACHIJ $.
  $}

  $( Obsolete version of ~ 19.2 as of 4-Dec-2017.  (Contributed by NM,
     2-Aug-2017.)  (New usage is discouraged.)
     (Proof modification is discouraged.) $)
  19.2OLD $p |- ( A. x ph -> E. x ph ) $=
    ( weq wn wal wex wi equid notnoti spfalw mt2 idd speimfw ax-mp ) BBCZDZBEZD
    ABEABFGQOBHZPBORIJKAABBOALMN $.

  ${
    $d x y $.
    cbvalw.1 $e |- ( A. x ph -> A. y A. x ph ) $.
    cbvalw.2 $e |- ( -. ps -> A. x -. ps ) $.
    cbvalw.3 $e |- ( A. y ps -> A. x A. y ps ) $.
    cbvalw.4 $e |- ( -. ph -> A. y -. ph ) $.
    cbvalw.5 $e |- ( x = y -> ( ph <-> ps ) ) $.
    $( Change bound variable.  Uses only Tarski's FOL axiom schemes.
       (Contributed by NM, 9-Apr-2017.) $)
    cbvalw $p |- ( A. x ph <-> A. y ps ) $=
      ( wal weq biimpd cbvaliw wi biimprd equcoms impbii ) ACJBDJABCDEFCDKZABIL
      MBADCGHBANCDRABIOPMQ $.
  $}

  ${
    $d x y $.  $d x ps $.  $d y ph $.
    cbvalvw.1 $e |- ( x = y -> ( ph <-> ps ) ) $.
    $( Change bound variable.  Uses only Tarski's FOL axiom schemes.
       (Contributed by NM, 9-Apr-2017.) $)
    cbvalvw $p |- ( A. x ph <-> A. y ps ) $=
      ( wal weq biimpd cbvalivw wi biimprd equcoms impbii ) ACFBDFABCDCDGZABEHI
      BADCBAJCDNABEKLIM $.

    $( Change bound variable.  Uses only Tarski's FOL axiom schemes.
       (Contributed by NM, 19-Apr-2017.) $)
    cbvexvw $p |- ( E. x ph <-> E. y ps ) $=
      ( wn wal wex weq notbid cbvalvw notbii df-ex 3bitr4i ) AFZCGZFBFZDGZFACHB
      DHPROQCDCDIABEJKLACMBDMN $.
  $}

  ${
    $d y z $.  $d x y $.  $d z ph $.  $d y ps $.
    alcomiw.1 $e |- ( y = z -> ( ph <-> ps ) ) $.
    $( Weak version of ~ alcom .  Uses only Tarski's FOL axiom schemes.
       (Contributed by NM, 10-Apr-2017.) $)
    alcomiw $p |- ( A. x A. y ph -> A. y A. x ph ) $=
      ( wal weq biimpd cbvalivw alimi ax-17 wi biimprd equcoms spimvw 3syl ) AD
      GZCGBEGZCGZTDGACGZDGRSCABDEDEHZABFIJKTDLTUADSACBAEDBAMDEUBABFNOPKKQ $.
  $}

  ${
    $d x y $.
    hbn1fw.1 $e |- ( A. x ph -> A. y A. x ph ) $.
    hbn1fw.2 $e |- ( -. ps -> A. x -. ps ) $.
    hbn1fw.3 $e |- ( A. y ps -> A. x A. y ps ) $.
    hbn1fw.4 $e |- ( -. ph -> A. y -. ph ) $.
    hbn1fw.5 $e |- ( -. A. y ps -> A. x -. A. y ps ) $.
    hbn1fw.6 $e |- ( x = y -> ( ph <-> ps ) ) $.
    $( Weak version of ~ ax-6 from which we can prove any ~ ax-6 instance not
       involving wff variables or bundling.  Uses only Tarski's FOL axiom
       schemes.  (Contributed by NM, 19-Apr-2017.) $)
    hbn1fw $p |- ( -. A. x ph -> A. x -. A. x ph ) $=
      ( wal wn cbvalw biimpri con3i biimpi alimi 3syl ) ACKZLZBDKZLZUBCKTCKUASS
      UAABCDEFGHJMZNOIUBTCSUASUAUCPOQR $.
  $}

  ${
    $d y ph $.  $d x ps $.  $d x y $.
    hbn1w.1 $e |- ( x = y -> ( ph <-> ps ) ) $.
    $( Weak version of ~ hbn1 .  Uses only Tarski's FOL axiom schemes.
       (Contributed by NM, 9-Apr-2017.) $)
    hbn1w $p |- ( -. A. x ph -> A. x -. A. x ph ) $=
      ( wal ax-17 wn hbn1fw ) ABCDACFDGBHCGBDFZCGAHDGJHCGEI $.

    $( Weak version of ~ hba1 .  See comments for ~ ax6w .  Uses only Tarski's
       FOL axiom schemes.  (Contributed by NM, 9-Apr-2017.) $)
    hba1w $p |- ( A. x ph -> A. x A. x ph ) $=
      ( wal wn weq wb cbvalvw a1i notbid spw con2i hbn1w con1i alimi 3syl ) ACF
      ZSGZCFZGZUBCFSCFUASTBDFZGZCDCDHZSUCSUCIUEABCDEJKLZMNTUDCDUFOUBSCSUAABCDEO
      PQR $.

    $( Weak version of ~ hbe1 .  See comments for ~ ax6w .  Uses only Tarski's
       FOL axiom schemes.  (Contributed by NM, 19-Apr-2017.) $)
    hbe1w $p |- ( E. x ph -> A. x E. x ph ) $=
      ( wex wn wal df-ex weq notbid hbn1w hbxfrbi ) ACFAGZCHGCACINBGCDCDJABEKLM
      $.
  $}

  ${
    $d x z $.  $d x y $.  $d z ph $.  $d x ps $.
    hbalw.1 $e |- ( x = z -> ( ph <-> ps ) ) $.
    hbalw.2 $e |- ( ph -> A. x ph ) $.
    $( Weak version of ~ hbal .  Uses only Tarski's FOL axiom schemes.  Unlike
       ~ hbal , this theorem requires that ` x ` and ` y ` be distinct i.e. are
       not bundled.  (Contributed by NM, 19-Apr-2017.) $)
    hbalw $p |- ( A. y ph -> A. x A. y ph ) $=
      ( wal alimi alcomiw syl ) ADHZACHZDHLCHAMDGIABDCEFJK $.
  $}

$(
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
                  Membership predicate
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
$)

  $( Declare the membership predicate symbol. $)
  $c e. $. $( Stylized epsilon $)

  $( --- Start of patch to prevent connective overloading $)
  ${
    $v A $.
    $v B $.
    wcel.cA $f class A $.
    wcel.cB $f class B $.
    $( Extend wff definition to include the membership connective between
       classes.

       For a general discussion of the theory of classes, see
       ~ http://us.metamath.org/mpeuni/mmset.html#class .

       (The purpose of introducing ` wff A e. B ` here is to allow us to
       express i.e.  "prove" the ~ wel of predicate calculus in terms of the
       ~ wceq of set theory, so that we don't "overload" the ` e. ` connective
       with two syntax definitions.  This is done to prevent ambiguity that
       would complicate some Metamath parsers.  The class variables ` A ` and
       ` B ` are introduced temporarily for the purpose of this definition but
       otherwise not used in predicate calculus.  See ~ df-clab for more
       information on the set theory usage of ~ wcel .) $)
    wcel $a wff A e. B $.
  $}

  $( Extend wff definition to include atomic formulas with the epsilon
     (membership) predicate.  This is read " ` x ` is an element of
     ` y ` ," " ` x ` is a member of ` y ` ," " ` x ` belongs to ` y ` ,"
     or " ` y ` contains ` x ` ."  Note:  The phrase " ` y ` includes
     ` x ` " means " ` x ` is a subset of ` y ` ;" to use it also for
     ` x e. y ` , as some authors occasionally do, is poor form and causes
     confusion, according to George Boolos (1992 lecture at MIT).

     This syntactical construction introduces a binary non-logical predicate
     symbol ` e. ` (epsilon) into our predicate calculus.  We will eventually
     use it for the membership predicate of set theory, but that is irrelevant
     at this point: the predicate calculus axioms for ` e. ` apply to any
     arbitrary binary predicate symbol.  "Non-logical" means that the predicate
     is presumed to have additional properties beyond the realm of predicate
     calculus, although these additional properties are not specified by
     predicate calculus itself but rather by the axioms of a theory (in our
     case set theory) added to predicate calculus.  "Binary" means that the
     predicate has two arguments.

     (Instead of introducing ~ wel as an axiomatic statement, as was done in an
     older version of this database, we introduce it by "proving" a special
     case of set theory's more general ~ wcel .  This lets us avoid overloading
     the ` e. ` connective, thus preventing ambiguity that would complicate
     certain Metamath parsers.  However, logically ~ wel is considered to be a
     primitive syntax, even though here it is artificially "derived" from
     ~ wcel .  Note:  To see the proof steps of this syntax proof, type "show
     proof wel /all" in the Metamath program.)  (Contributed by NM,
     24-Jan-2006.) $)
  wel $p wff x e. y $=
    ( cv wcel ) ACBCD $.
  $( --- End of patch to prevent connective overloading $)

  $( --- Start of old code before overloading prevention patch. $)
  $(
  @( Extend wff definition to include atomic formulas with the epsilon
     (membership) predicate.  This is read " ` x ` is an element of ` y ` ,"
     " ` x ` is a member of ` y ` ," " ` x ` belongs to ` y ` ," or " ` y `
     contains ` x ` ."  Note:  The phrase " ` y ` includes ` x ` " means
     " ` x ` is a subset of ` y ` "; to use it also for ` x e. y ` (as some
     authors occasionally do) is poor form and causes confusion.

     After we introduce ~ cv and ~ wcel in set theory, this syntax construction
     becomes redundant, since it can be derived with the proof
     "vx cv vy cv wcel". @)
  wel @a wff x e. y @.
  $)
  $( --- End of old code before overloading prevention patch. $)

  $( Register class-to-set promotion and class equality and membership as
     primitive expressions. Although these are actually definitions, the above
     ambiguity prevention necessitates our taking class equality as the
     primitive, instead of set equality. $)
  $( $j primitive 'weq' 'wel'; $)


$(
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
        Axiom schemes ax-13 (Left Equality for Binary Predicate)
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
$)

  $( Axiom of Left Equality for Binary Predicate.  One of the equality and
     substitution axioms for a non-logical predicate in our predicate calculus
     with equality.  It substitutes equal variables into the left-hand side of
     an arbitrary binary predicate ` e. ` , which we will use for the set
     membership relation when set theory is introduced.  This axiom scheme is a
     sub-scheme of Axiom Scheme B8 of system S2 of [Tarski], p. 75, whose
     general form cannot be represented with our notation.  Also appears as
     Axiom scheme C12' in [Megill] p. 448 (p. 16 of the preprint).
     "Non-logical" means that the predicate is not a primitive of predicate
     calculus proper but instead is an extension to it.  "Binary" means that
     the predicate has two arguments.  In a system of predicate calculus with
     equality, like ours, equality is not usually considered to be a
     non-logical predicate.  In systems of predicate calculus without equality,
     it typically would be.  (Contributed by NM, 5-Aug-1993.) $)
  ax-13 $a |- ( x = y -> ( x e. z -> y e. z ) ) $.

  $( An identity law for the non-logical predicate.  (Contributed by NM,
     5-Aug-1993.) $)
  elequ1 $p |- ( x = y -> ( x e. z <-> y e. z ) ) $=
    ( weq wel ax-13 wi equcoms impbid ) ABDACEZBCEZABCFKJGBABACFHI $.


$(
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
        Axiom schemes ax-14 (Right Equality for Binary Predicate)
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
$)

  $( Axiom of Right Equality for Binary Predicate.  One of the equality and
     substitution axioms for a non-logical predicate in our predicate calculus
     with equality.  It substitutes equal variables into the right-hand side of
     an arbitrary binary predicate ` e. ` , which we will use for the set
     membership relation when set theory is introduced.  This axiom scheme is a
     sub-scheme of Axiom Scheme B8 of system S2 of [Tarski], p. 75, whose
     general form cannot be represented with our notation.  Also appears as
     Axiom scheme C13' in [Megill] p. 448 (p. 16 of the preprint).
     (Contributed by NM, 5-Aug-1993.) $)
  ax-14 $a |- ( x = y -> ( z e. x -> z e. y ) ) $.

  $( An identity law for the non-logical predicate.  (Contributed by NM,
     5-Aug-1993.) $)
  elequ2 $p |- ( x = y -> ( z e. x <-> z e. y ) ) $=
    ( weq wel ax-14 wi equcoms impbid ) ABDCAEZCBEZABCFKJGBABACFHI $.


$(
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
      Logical redundancy of ax-6 , ax-7 , ax-11 , ax-12
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=

  The orginal axiom schemes of Tarski's predicate calculus are ~ ax-5 ,
  ~ ax-17 , ~ ax9v , ~ ax-8 , ~ ax-13 , and ~ ax-14 , together with rule
  ~ ax-gen .  See ~ http://us.metamath.org/mpeuni/mmset.html#compare .  They
  are given as axiom schemes B4 through B8 in [KalishMontague] p. 81.  These
  are shown to be logically complete by Theorem 1 of [KalishMontague] p. 85.

  The axiom system of set.mm includes the auxiliary axiom schemes ~ ax-6 ,
  ~ ax-7 , ~ ax-12 , and ~ ax-11 , which are not part of Tarski's axiom
  schemes.  They are used (and we conjecture are required) to make our system
  "metalogically complete" i.e. able to prove directly all possible schemes
  with wff and setvar metavariables, bundled or not, whose object-language
  instances are valid.  ( ~ ax-11 has been proved to be required; see
  ~ http://us.metamath.org/award2003.html#9a .  Metalogical independence of the
  other three are open problems.)

  (There are additional predicate calculus axiom schemes included in set.mm
  such as ~ ax-4 , but they can all be proved as theorems from the above.)

  Terminology:  Two setvar (individual) metavariables are "bundled" in an axiom
  or theorem scheme when there is no distinct variable constraint ($d) imposed
  on them.  (The term "bundled" is due to Raph Levien.)  For example, the ` x `
  and ` y ` in ~ ax9 are bundled, but they are not in ~ ax9v . We also say that
  a scheme is bundled when it has at least one pair of bundled setvar
  metavariables.  If distinct variable conditions are added to all setvar
  metavariable pairs in a bundled scheme, we call that the "principal" instance
  of the bundled scheme.  For example, ~ ax9v is the principal instance of
  ~ ax9 . Whenever a common variable is substituted for two or more bundled
  variables in an axiom or theorem scheme, we call the substitution instance
  "degenerate".  For example, the instance ` -. A. x -. x = x ` of ~ ax9 is
  degenerate.  An advantage of bundling is ease of use since there are fewer
  distinct variable restrictions ($d) to be concerned with.  There is also a
  small economy in being able to state principal and degenerate instances
  simultaneously.  A disadvantage is that bundling may present difficulties in
  translations to other proof languages, which typically lack the concept (in
  part because their variables often represent the variables of the object
  language rather than metavariables ranging over them).

  Because Tarski's axiom schemes are logically complete, they can be used to
  prove any object-language instance of ~ ax-6 , ~ ax-7 , ~ ax-11 , and ~ ax-12
  . "Translating" this to Metamath, it means that Tarski's axioms can prove any
  substitution instance of ~ ax-6 , ~ ax-7 , ~ ax-11 , or ~ ax-12 in which (1)
  there are no wff metavariables and (2) all setvr metavariables are mutually
  distinct i.e. are not bundled.  In effect this is mimicking the object
  language by pretending that each setvar metavariable is an object-language
  variable.  (There may also be specific instances with wff metavariables
  and/or bundling that are directly provable from Tarski's axiom schemes, but
  it isn't guaranteed.  Whether all of them are possible is part of the still
  open metalogical independence problem for our additional axiom schemes.)

  It can be useful to see how this can be done, both to show that our
  additional schemes are valid metatheorems of Tarski's system and to be able
  to translate object language instances of our proofs into proofs that would
  work with a system using only Tarski's original schemes.  In addition, it may
  (or may not) provide insight into the conjectured metalogical independence of
  our additional schemes.

  The new theorem schemes ~ ax6w , ~ ax7w , ~ ax11w , and ~ ax12w are
  derived using only Tarski's axiom schemes, showing that Tarski's schemes can
  be used to derive all substitution instances of ~ ax-6 , ~ ax-7 , ~ ax-11 ,
  and ~ ax-12 meeting conditions (1) and (2).  (The "w" suffix stands for "weak
  version".)  Each hypothesis of ~ ax6w , ~ ax7w , and ~ ax11w is of the
  form ` ( x = y -> ( ph <-> ps ) ) ` where ` ps ` is an auxiliary or "dummy"
  wff metavariable in which ` x ` doesn't occur.  We can show by induction on
  formula length that the hypotheses can be eliminated in all cases meeting
  conditions (1) and (2).  The example ~ ax11wdemo illustrates the techniques
  (equality theorems and bound variable renaming) used to achieve this.

  We also show the degenerate instances for axioms with bundled variables in
  ~ ax7dgen , ~ ax11dgen , ~ ax12dgen1 , ~ ax12dgen2 , ~ ax12dgen3 , and
  ~ ax12dgen4 . (Their proofs are trivial, but we include them to be thorough.)
  Combining the principal and degenerate cases _outside_ of Metamath, we show
  that the bundled schemes ~ ax-6 , ~ ax-7 , ~ ax-11 , and ~ ax-12 are schemes
  of Tarski's system, meaning that all object language instances they generate
  are theorems of Tarski's system.

  It is interesting that Tarski used the bundled scheme ~ ax-9 in an older
  system, so it seems the main purpose of his later ~ ax9v was just to show
  that the weaker unbundled form is sufficient rather than an aesthetic
  objection to bundled free and bound variables.  Since we adopt the
  bundled ~ ax-9 as our official axiom, we  show that the degenerate
  instance holds in ~ ax9dgen .

  The case of ~ sp is curious:  originally an axiom of Tarski's system, it
  was proved redundant by Lemma 9 of [KalishMontague] p. 86.  However, the
  proof is by induction on formula length, and the compact scheme form
  ` A. x ph -> ph ` apparently cannot be proved directly from Tarski's other
  axioms.  The best we can do seems to be ~ spw , again requiring
  substitution instances of ` ph ` that meet conditions (1) and (2) above.
  Note that our direct proof ~ sp requires ~ ax-11 , which is not part of
  Tarski's system.

$)

  $( Tarski's system uses the weaker ~ ax9v instead of the bundled ~ ax-9 , so
     here we show that the degenerate case of ~ ax-9 can be derived.
     (Contributed by NM, 23-Apr-2017.) $)
  ax9dgen $p |- -. A. x -. x = x $=
    ( weq wn wal equid notnoti spfalw mt2 ) AABZCZADIAEZJAIKFGH $.

  ${
    $d y ph $.  $d x ps $.  $d x y $.
    ax6w.1 $e |- ( x = y -> ( ph <-> ps ) ) $.
    $( Weak version of ~ ax-6 from which we can prove any ~ ax-6 instance not
       involving wff variables or bundling.  Uses only Tarski's FOL axiom
       schemes.  (Contributed by NM, 9-Apr-2017.) $)
    ax6w $p |- ( -. A. x ph -> A. x -. A. x ph ) $=
      ( hbn1w ) ABCDEF $.
  $}

  ${
    $d y z $.  $d x y $.  $d z ph $.  $d y ps $.
    ax7w.1 $e |- ( y = z -> ( ph <-> ps ) ) $.
    $( Weak version of ~ ax-7 from which we can prove any ~ ax-7 instance not
       involving wff variables or bundling.  Uses only Tarski's FOL axiom
       schemes.  Unlike ~ ax-7 , this theorem requires that ` x ` and ` y ` be
       distinct i.e. are not bundled.  (Contributed by NM, 10-Apr-2017.) $)
    ax7w $p |- ( A. x A. y ph -> A. y A. x ph ) $=
      ( alcomiw ) ABCDEFG $.
  $}

  $( Degenerate instance of ~ ax-7 where bundled variables ` x ` and ` y ` have
     a common substitution.  Uses only Tarski's FOL axiom schemes.
     (Contributed by NM, 13-Apr-2017.) $)
  ax7dgen $p |- ( A. x A. x ph -> A. x A. x ph ) $=
    ( wal id ) ABCBCD $.

  ${
    $d x ps $.
    ax11wlemw.1 $e |- ( x = y -> ( ph <-> ps ) ) $.
    $( Lemma for weak version of ~ ax-11 .  Uses only Tarski's FOL axiom
       schemes.  In some cases, this lemma may lead to shorter proofs than
       ~ ax11w .  (Contributed by NM, 10-Apr-2017.) $)
    ax11wlem $p |- ( x = y -> ( ph -> A. x ( x = y -> ph ) ) ) $=
      ( ax-17 ax11i ) ABCDEBCFG $.
  $}

  ${
    $d y z $.  $d x ps $.  $d z ph $.  $d y ch $.
    ax11w.1 $e |- ( x = y -> ( ph <-> ps ) ) $.
    ax11w.2 $e |- ( y = z -> ( ph <-> ch ) ) $.
    $( Weak version of ~ ax-11 from which we can prove any ~ ax-11 instance not
       involving wff variables or bundling.  Uses only Tarski's FOL axiom
       schemes.  An instance of the first hypothesis will normally require that
       ` x ` and ` y ` be distinct (unless ` x ` does not occur in ` ph ` ).
       (Contributed by NM, 10-Apr-2017.) $)
    ax11w $p |- ( x = y -> ( A. y ph -> A. x ( x = y -> ph ) ) ) $=
      ( wal weq wi spw ax11wlem syl5 ) AEIADEJZOAKDIACEFHLABDEGMN $.
  $}

  $( Degenerate instance of ~ ax-11 where bundled variables ` x ` and ` y `
     have a common substitution.  Uses only Tarski's FOL axiom schemes.
     (Contributed by NM, 13-Apr-2017.) $)
  ax11dgen $p |- ( x = x -> ( A. x ph -> A. x ( x = x -> ph ) ) ) $=
    ( wal weq wi ax-1 alimi a1i ) ABCBBDZAEZBCEIAJBAIFGH $.

  ${
    $d x y z w v $.
    $( Example of an application of ~ ax11w that results in an instance of
       ~ ax-11 for a contrived formula with mixed free and bound variables,
       ` ( x e. y /\ A. x z e. x /\ A. y A. z y e. x ) ` , in place of
       ` ph ` .  The proof illustrates bound variable renaming with ~ cbvalvw
       to obtain fresh variables to avoid distinct variable clashes.  Uses only
       Tarski's FOL axiom schemes.  (Contributed by NM, 14-Apr-2017.) $)
    ax11wdemo $p |- ( x = y
              -> ( A. y ( x e. y /\ A. x z e. x /\ A. y A. z y e. x )
     -> A. x ( x = y -> ( x e. y /\ A. x z e. x /\ A. y A. z y e. x ) ) ) ) $=
      ( vw vv wel wal w3a weq elequ1 elequ2 cbvalvw a1i albidv syl5bb 3anbi123d
      wb 3anbi13d ax11w ) ABFZCAFZAGZBAFZCGZBGZHBBFZCDFZDGZEBFZCGZEGZHAEFZUBEAF
      ZCGZEGZHABEABIZTUFUBUHUEUKABBJUBUHQUPUAUGADADCKLMUEUOUPUKUDUNBEBEIZUCUMCB
      EAJNLZUPUNUJEUPUMUICABEKNNOPUQTULUEUOUBBEAKUEUOQUQURMRS $.
  $}

  ${
    $d x y $.  $d x z $.
    $( Weak version (principal instance) of ~ ax-12 .  (Because ` y ` and ` z `
       don't need to be distinct, this actually bundles the principal instance
       and the degenerate instance
       ` ( -. x = y -> ( y = y -> A. x y = y ) ) ` .)  Uses only Tarski's FOL
       axiom schemes.  The proof is trivial but is included to complete the set
       ~ ax6w , ~ ax7w , and ~ ax11w .  (Contributed by NM, 10-Apr-2017.) $)
    ax12w $p |- ( -. x = y -> ( y = z -> A. x y = z ) ) $=
      ( weq wn a17d ) ABDEBCDAF $.
  $}

  $( Degenerate instance of ~ ax-12 where bundled variables ` x ` and ` y `
     have a common substitution.  Uses only Tarski's FOL axiom schemes.
     (Contributed by NM, 13-Apr-2017.) $)
  ax12dgen1 $p |- ( -. x = x -> ( x = z -> A. x x = z ) ) $=
    ( weq wal wi equid pm2.24i ) AACABCZHADEAFG $.

  $( Degenerate instance of ~ ax-12 where bundled variables ` x ` and ` z `
     have a common substitution.  Uses only Tarski's FOL axiom schemes.
     (Contributed by NM, 13-Apr-2017.) $)
  ax12dgen2 $p |- ( -. x = y -> ( y = x -> A. x y = x ) ) $=
    ( weq wn wal equcomi pm2.21 syl5 ) BACZABCZJDIAEZBAFJKGH $.

  $( Degenerate instance of ~ ax-12 where bundled variables ` y ` and ` z `
     have a common substitution.  Uses only Tarski's FOL axiom schemes.
     (Contributed by NM, 13-Apr-2017.) $)
  ax12dgen3 $p |- ( -. x = y -> ( y = y -> A. x y = y ) ) $=
    ( weq wn wal equid ax-gen 2a1i ) ABCDBBCZIAEIABFGH $.

  $( Degenerate instance of ~ ax-12 where bundled variables ` x ` , ` y ` , and
     ` z ` have a common substitution.  Uses only Tarski's FOL axiom schemes .
     (Contributed by NM, 13-Apr-2017.) $)
  ax12dgen4 $p |- ( -. x = x -> ( x = x -> A. x x = x ) ) $=
    ( ax12dgen1 ) AAB $.


$(
#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#
   Predicate calculus with equality:  Auxiliary axiom schemes (4 schemes)
#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#

  In this section we introduce four additional schemes ~ ax-6 , ~ ax-7 ,
  ~ ax-11 , and ~ ax-12 that are not part of Tarski's system but can be proved
  (outside of Metamath) as theorem schemes of Tarski's system.  These are
  needed to give our system the property of "metalogical completeness," which
  means that we can prove (with Metamath) all possible schemes expressible in
  our language of wff metavariables ranging over object-language wffs and
  setvar metavariables ranging over object-language individual variables.

  To show that these schemes are valid metatheorems of Tarski's system S2,
  above we proved from Tarski's system theorems ~ ax6w , ~ ax7w , ~ ax12w ,
  and ~ ax11w , which show that any object-language instance of these schemes
  (emulated by having no wff metavariables and requiring all setvar
  metavariables to be mutually distinct) can be proved using only the schemes
  in Tarski's system S2.

  An open problem is to show that these four additional schemes are
  metalogically independent from Tarski's.  So far, independence of ~ ax-11
  from all others has been shown, and independence of Tarski's ~ ax-9 from all
  others has been shown.

$)

$(
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
              Axiom scheme ax-6 (Quantified Negation)
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
$)

  $( Axiom of Quantified Negation.  Axiom C5-2 of [Monk2] p. 113.  This axiom
     scheme is logically redundant (see ~ ax6w ) but is used as an auxiliary
     axiom to achieve metalogical completeness.  (Contributed by NM,
     5-Aug-1993.) $)
  ax-6 $a |- ( -. A. x ph -> A. x -. A. x ph ) $.

  $( ` x ` is not free in ` -. A. x ph ` .  (Contributed by NM, 5-Aug-1993.)
     (Proof shortened by Wolf Lammen, 18-Aug-2014.) $)
  hbn1 $p |- ( -. A. x ph -> A. x -. A. x ph ) $=
    ( ax-6 ) ABC $.

  $( ` x ` is not free in ` E. x ph ` .  (Contributed by NM, 5-Aug-1993.) $)
  hbe1 $p |- ( E. x ph -> A. x E. x ph ) $=
    ( wex wn wal df-ex hbn1 hbxfrbi ) ABCADZBEDBABFIBGH $.

  $( ` x ` is not free in ` E. x ph ` .  (Contributed by Mario Carneiro,
     11-Aug-2016.) $)
  nfe1 $p |- F/ x E. x ph $=
    ( wex hbe1 nfi ) ABCBABDE $.

  $( The analog in our "pure" predicate calculus of axiom 5 of modal logic S5.
     (Contributed by NM, 5-Oct-2005.) $)
  modal-5 $p |- ( -. A. x -. ph -> A. x -. A. x -. ph ) $=
    ( wn hbn1 ) ACBD $.

$(
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
            Axiom scheme ax-7 (Quantifier Commutation)
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
$)

  $( Axiom of Quantifier Commutation.  This axiom says universal quantifiers
     can be swapped.  One of the 4 axioms of pure predicate calculus.  Axiom
     scheme C6' in [Megill] p. 448 (p. 16 of the preprint).  Also appears as
     Lemma 12 of [Monk2] p. 109 and Axiom C5-3 of [Monk2] p. 113.  This axiom
     scheme is logically redundant (see ~ ax7w ) but is used as an auxiliary
     axiom to achieve metalogical completeness.  (Contributed by NM,
     5-Aug-1993.) $)
  ax-7 $a |- ( A. x A. y ph -> A. y A. x ph ) $.

  ${
    a7s.1 $e |- ( A. x A. y ph -> ps ) $.
    $( Swap quantifiers in an antecedent.  (Contributed by NM, 5-Aug-1993.) $)
    a7s $p |- ( A. y A. x ph -> ps ) $=
      ( wal ax-7 syl ) ACFDFADFCFBADCGEH $.
  $}

  ${
    hbal.1 $e |- ( ph -> A. x ph ) $.
    $( If ` x ` is not free in ` ph ` , it is not free in ` A. y ph ` .
       (Contributed by NM, 5-Aug-1993.) $)
    hbal $p |- ( A. y ph -> A. x A. y ph ) $=
      ( wal alimi ax-7 syl ) ACEZABEZCEIBEAJCDFACBGH $.
  $}

  $( Theorem 19.5 of [Margaris] p. 89.  (Contributed by NM, 5-Aug-1993.) $)
  alcom $p |- ( A. x A. y ph <-> A. y A. x ph ) $=
    ( wal ax-7 impbii ) ACDBDABDCDABCEACBEF $.

  $( Theorem *11.21 in [WhiteheadRussell] p. 160.  (Contributed by Andrew
     Salmon, 24-May-2011.) $)
  alrot3 $p |- ( A. x A. y A. z ph <-> A. y A. z A. x ph ) $=
    ( wal alcom albii bitri ) ADEZCEBEIBEZCEABEDEZCEIBCFJKCABDFGH $.

  $( Rotate 4 universal quantifiers twice.  (Contributed by NM, 2-Feb-2005.)
     (Proof shortened by Fan Zheng, 6-Jun-2016.) $)
  alrot4 $p |- ( A. x A. y A. z A. w ph <-> A. z A. w A. x A. y ph ) $=
    ( wal alrot3 albii bitri ) AEFDFCFZBFACFZEFDFZBFKBFEFDFJLBACDEGHKBDEGI $.

  ${
    hbald.1 $e |- ( ph -> A. y ph ) $.
    hbald.2 $e |- ( ph -> ( ps -> A. x ps ) ) $.
    $( Deduction form of bound-variable hypothesis builder ~ hbal .
       (Contributed by NM, 2-Jan-2002.) $)
    hbald $p |- ( ph -> ( A. y ps -> A. x A. y ps ) ) $=
      ( wal alimdh ax-7 syl6 ) ABDGZBCGZDGKCGABLDEFHBDCIJ $.
  $}

  $( Theorem 19.11 of [Margaris] p. 89.  (Contributed by NM, 5-Aug-1993.)
     (Revised by Wolf Lammen to remove dependency on ~ ax-11 ~ ax-6 ~ ax-9
     ~ ax-8 and ~ ax-17 , 8-Jan-2018.) $)
  excom $p |- ( E. x E. y ph <-> E. y E. x ph ) $=
    ( wn wal wex alcom notbii exnal 3bitr4i df-ex exbii ) ADZCEZDZBFZMBEZDZCFZA
    CFZBFABFZCFNBEZDQCEZDPSUBUCMBCGHNBIQCIJTOBACKLUARCABKLJ $.

  $( One direction of Theorem 19.11 of [Margaris] p. 89.  (Contributed by NM,
     5-Aug-1993.)  (Revised by Mario Carneiro, 24-Sep-2016.)  (Revised by Wolf
     Lammen to remove dependency on ~ ax-11 ~ ax-6 ~ ax-9 ~ ax-8 and ~ ax-17 ,
     8-Jan-2018.) $)
  excomim $p |- ( E. x E. y ph -> E. y E. x ph ) $=
    ( wex excom biimpi ) ACDBDABDCDABCEF $.

  $( Swap 1st and 3rd existential quantifiers.  (Contributed by NM,
     9-Mar-1995.) $)
  excom13 $p |- ( E. x E. y E. z ph <-> E. z E. y E. x ph ) $=
    ( wex excom exbii 3bitri ) ADEZCEBEIBEZCEABEZDEZCEKCEDEIBCFJLCABDFGKCDFH $.

  $( Rotate existential quantifiers.  (Contributed by NM, 17-Mar-1995.) $)
  exrot3 $p |- ( E. x E. y E. z ph <-> E. y E. z E. x ph ) $=
    ( wex excom13 excom bitri ) ADECEBEABEZCEDEIDECEABCDFIDCGH $.

  $( Rotate existential quantifiers twice.  (Contributed by NM, 9-Mar-1995.) $)
  exrot4 $p |- ( E. x E. y E. z E. w ph <-> E. z E. w E. x E. y ph ) $=
    ( wex excom13 exbii bitri ) AEFDFCFZBFACFZDFEFZBFKBFEFDFJLBACDEGHKBEDGI $.

$(
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
           Axiom scheme ax-11 (Substitution)
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
$)

  $( Axiom of Substitution.  One of the 5 equality axioms of predicate
     calculus.  The final consequent ` A. x ( x = y -> ph ) ` is a way of
     expressing " ` y ` substituted for ` x ` in wff ` ph ` " (cf. ~ sb6 ).  It
     is based on Lemma 16 of [Tarski] p. 70 and Axiom C8 of [Monk2] p. 105,
     from which it can be proved by cases.

     The original version of this axiom was ~ ax-11o ("o" for "old") and was
     replaced with this shorter ~ ax-11 in Jan. 2007.  The old axiom is proved
     from this one as theorem ~ ax11o .  Conversely, this axiom is proved from
     ~ ax-11o as theorem ~ ax11 .

     Juha Arpiainen proved the metalogical independence of this axiom (in the
     form of the older axiom ~ ax-11o ) from the others on 19-Jan-2006.  See
     item 9a at ~ http://us.metamath.org/award2003.html .

     See ~ ax11v and ~ ax11v2 for other equivalents of this axiom that (unlike
     this axiom) have distinct variable restrictions.

     This axiom scheme is logically redundant (see ~ ax11w ) but is used as an
     auxiliary axiom to achieve metalogical completeness.  (Contributed by NM,
     22-Jan-2007.) $)
  ax-11 $a |- ( x = y -> ( A. y ph -> A. x ( x = y -> ph ) ) ) $.

  ${
    $d x w $.  $d w ph $.
    $( Specialization.  A universally quantified wff implies the wff without a
       quantifier Axiom scheme B5 of [Tarski] p. 67 (under his system S2,
       defined in the last paragraph on p. 77).  Also appears as Axiom scheme
       C5' in [Megill] p. 448 (p. 16 of the preprint).

       For the axiom of specialization presented in many logic textbooks, see
       theorem ~ stdpc4 .

       This theorem shows that our obsolete axiom ~ ax-4 can be derived from
       the others.  The proof uses ideas from the proof of Lemma 21 of [Monk2]
       p. 114.

       It appears that this scheme cannot be derived directly from Tarski's
       axioms without auxiliary axiom scheme ~ ax-11 .  It is thought the best
       we can do using only Tarski's axioms is ~ spw .  (Contributed by NM,
       21-May-2008.)  (Proof shortened by Scott Fenton, 24-Jan-2011.)  (Proof
       shortened by Wolf Lammen, 23-Dec-2017.) $)
    sp $p |- ( A. x ph -> ph ) $=
      ( vw weq wex wal wi a9ev equcomi ax-17 ax-11 syl2im ax9v con2 al2imi mtoi
      wn syl6 con4d exlimiv ax-mp ) CBDZCEABFZAGZCBHUBUDCUBAUCUBAQZBCDZUEGZBFZU
      CQUBUFUEUECFUHCBIUECJUEBCKLUHUCUFQZBFBCMUGAUIBUFANOPRSTUA $.
  $}

  ${
    $d x w $.  $d w ph $.
    $( Obsolete proof of ~ sp as of 23-Dec-2017.  (Contributed by NM,
       21-May-2008.)  (Proof shortened by Scott Fenton, 24-Jan-2011.)
       (New usage is discouraged.) $)
    spOLD $p |- ( A. x ph -> ph ) $=
      ( vw wal wi weq wn ax9v equcomi ax-17 ax-11 syl2im con2 al2imi mtoi con4d
      syl6 con3i alrimiv mt3 ) ABDZAEZCBFZGZCDCBHUBGUDCUCUBUCAUAUCAGZBCFZUEEZBD
      ZUAGUCUFUEUECDUHCBIUECJUEBCKLUHUAUFGZBDBCHUGAUIBUFAMNOQPRST $.
  $}

  $( Show that the original axiom ~ ax-5o can be derived from ~ ax-5 and
     others.  See ~ ax5 for the rederivation of ~ ax-5 from ~ ax-5o .

     Part of the proof is based on the proof of Lemma 22 of [Monk2] p. 114.
     (Contributed by NM, 21-May-2008.)  (Proof modification is discouraged.) $)
  ax5o $p |- ( A. x ( A. x ph -> ps ) -> ( A. x ph -> A. x ps ) ) $=
    ( wal wi wn sp con2i hbn1 con1i alimi 3syl ax-5 syl5 ) ACDZOCDZOBECDBCDOOFZ
    CDZFZSCDPROQCGHQCISOCORACIJKLOBCMN $.

  $( Show that the original axiom ~ ax-6o can be derived from ~ ax-6 and
     others.  See ~ ax6 for the rederivation of ~ ax-6 from ~ ax-6o .

     Normally, ~ ax6o should be used rather than ~ ax-6o , except by theorems
     specifically studying the latter's properties.  (Contributed by NM,
     21-May-2008.) $)
  ax6o $p |- ( -. A. x -. A. x ph -> ph ) $=
    ( wal wn sp ax-6 nsyl4 ) ABCZAHDBCABEABFG $.

  $( Abbreviated version of ~ ax6o .  (Contributed by NM, 5-Aug-1993.) $)
  a6e $p |- ( E. x A. x ph -> ph ) $=
    ( wal wex wn df-ex ax6o sylbi ) ABCZBDIEBCEAIBFABGH $.

  $( The analog in our "pure" predicate calculus of the Brouwer axiom (B) of
     modal logic S5.  (Contributed by NM, 5-Oct-2005.) $)
  modal-b $p |- ( ph -> A. x -. A. x -. ph ) $=
    ( wn wal ax6o con4i ) ACZBDCBDAGBEF $.

  ${
    spi.1 $e |- A. x ph $.
    $( Inference rule reversing generalization.  (Contributed by NM,
       5-Aug-1993.) $)
    spi $p |- ph $=
      ( wal sp ax-mp ) ABDACABEF $.
  $}

  ${
    sps.1 $e |- ( ph -> ps ) $.
    $( Generalization of antecedent.  (Contributed by NM, 5-Aug-1993.) $)
    sps $p |- ( A. x ph -> ps ) $=
      ( wal sp syl ) ACEABACFDG $.
  $}

  ${
    spsd.1 $e |- ( ph -> ( ps -> ch ) ) $.
    $( Deduction generalizing antecedent.  (Contributed by NM, 17-Aug-1994.) $)
    spsd $p |- ( ph -> ( A. x ps -> ch ) ) $=
      ( wal sp syl5 ) BDFBACBDGEH $.
  $}

  $( If a wff is true, it is true for at least one instance.  Special case of
     Theorem 19.8 of [Margaris] p. 89.  (Contributed by NM, 5-Aug-1993.) $)
  19.8a $p |- ( ph -> E. x ph ) $=
    ( wn wal wex sp con2i df-ex sylibr ) AACZBDZCABEKAJBFGABHI $.

  $( Theorem 19.2 of [Margaris] p. 89, generalized to use two setvar
     variables.  (Contributed by O'Cat, 31-Mar-2008.) $)
  19.2g $p |- ( A. x ph -> E. y ph ) $=
    ( wex 19.8a sps ) AACDBACEF $.

  ${
    19.21bi.1 $e |- ( ph -> A. x ps ) $.
    $( Inference from Theorem 19.21 of [Margaris] p. 90.  (Contributed by NM,
       5-Aug-1993.) $)
    19.21bi $p |- ( ph -> ps ) $=
      ( wal sp syl ) ABCEBDBCFG $.
  $}

  ${
    19.23bi.1 $e |- ( E. x ph -> ps ) $.
    $( Inference from Theorem 19.23 of [Margaris] p. 90.  (Contributed by NM,
       5-Aug-1993.) $)
    19.23bi $p |- ( ph -> ps ) $=
      ( wex 19.8a syl ) AACEBACFDG $.
  $}

  ${
    nexr.1 $e |- -. E. x ph $.
    $( Inference from ~ 19.8a .  (Contributed by Jeff Hankins, 26-Jul-2009.) $)
    nexr $p |- -. ph $=
      ( wex 19.8a mto ) AABDCABEF $.
  $}

  $( Consequence of the definition of not-free.  (Contributed by Mario
     Carneiro, 26-Sep-2016.) $)
  nfr $p |- ( F/ x ph -> ( ph -> A. x ph ) ) $=
    ( wnf wal wi df-nf sp sylbi ) ABCAABDEZBDIABFIBGH $.

  ${
    nfri.1 $e |- F/ x ph $.
    $( Consequence of the definition of not-free.  (Contributed by Mario
       Carneiro, 11-Aug-2016.) $)
    nfri $p |- ( ph -> A. x ph ) $=
      ( wnf wal wi nfr ax-mp ) ABDAABEFCABGH $.
  $}

  ${
    nfrd.1 $e |- ( ph -> F/ x ps ) $.
    $( Consequence of the definition of not-free in a context.  (Contributed by
       Mario Carneiro, 11-Aug-2016.) $)
    nfrd $p |- ( ph -> ( ps -> A. x ps ) ) $=
      ( wnf wal wi nfr syl ) ABCEBBCFGDBCHI $.
  $}

  ${
    alimd.1 $e |- F/ x ph $.
    alimd.2 $e |- ( ph -> ( ps -> ch ) ) $.
    $( Deduction from Theorem 19.20 of [Margaris] p. 90.  (Contributed by Mario
       Carneiro, 24-Sep-2016.) $)
    alimd $p |- ( ph -> ( A. x ps -> A. x ch ) ) $=
      ( nfri alimdh ) ABCDADEGFH $.
  $}

  ${
    alrimi.1 $e |- F/ x ph $.
    alrimi.2 $e |- ( ph -> ps ) $.
    $( Inference from Theorem 19.21 of [Margaris] p. 90.  (Contributed by Mario
       Carneiro, 24-Sep-2016.) $)
    alrimi $p |- ( ph -> A. x ps ) $=
      ( nfri alrimih ) ABCACDFEG $.
  $}

  ${
    nfd.1 $e |- F/ x ph $.
    nfd.2 $e |- ( ph -> ( ps -> A. x ps ) ) $.
    $( Deduce that ` x ` is not free in ` ps ` in a context.  (Contributed by
       Mario Carneiro, 24-Sep-2016.) $)
    nfd $p |- ( ph -> F/ x ps ) $=
      ( wal wi wnf alrimi df-nf sylibr ) ABBCFGZCFBCHALCDEIBCJK $.
  $}

  ${
    nfdh.1 $e |- ( ph -> A. x ph ) $.
    nfdh.2 $e |- ( ph -> ( ps -> A. x ps ) ) $.
    $( Deduce that ` x ` is not free in ` ps ` in a context.  (Contributed by
       Mario Carneiro, 24-Sep-2016.) $)
    nfdh $p |- ( ph -> F/ x ps ) $=
      ( nfi nfd ) ABCACDFEG $.
  $}

  ${
    alrimdd.1 $e |- F/ x ph $.
    alrimdd.2 $e |- ( ph -> F/ x ps ) $.
    alrimdd.3 $e |- ( ph -> ( ps -> ch ) ) $.
    $( Deduction from Theorem 19.21 of [Margaris] p. 90.  (Contributed by Mario
       Carneiro, 24-Sep-2016.) $)
    alrimdd $p |- ( ph -> ( ps -> A. x ch ) ) $=
      ( wal nfrd alimd syld ) ABBDHCDHABDFIABCDEGJK $.
  $}

  ${
    alrimd.1 $e |- F/ x ph $.
    alrimd.2 $e |- F/ x ps $.
    alrimd.3 $e |- ( ph -> ( ps -> ch ) ) $.
    $( Deduction from Theorem 19.21 of [Margaris] p. 90.  (Contributed by Mario
       Carneiro, 24-Sep-2016.) $)
    alrimd $p |- ( ph -> ( ps -> A. x ch ) ) $=
      ( wnf a1i alrimdd ) ABCDEBDHAFIGJ $.
  $}

  ${
    eximd.1 $e |- F/ x ph $.
    eximd.2 $e |- ( ph -> ( ps -> ch ) ) $.
    $( Deduction from Theorem 19.22 of [Margaris] p. 90.  (Contributed by Mario
       Carneiro, 24-Sep-2016.) $)
    eximd $p |- ( ph -> ( E. x ps -> E. x ch ) ) $=
      ( nfri eximdh ) ABCDADEGFH $.
  $}

  ${
    nexd.1 $e |- F/ x ph $.
    nexd.2 $e |- ( ph -> -. ps ) $.
    $( Deduction for generalization rule for negated wff.  (Contributed by
       Mario Carneiro, 24-Sep-2016.) $)
    nexd $p |- ( ph -> -. E. x ps ) $=
      ( nfri nexdh ) ABCACDFEG $.
  $}

  ${
    albid.1 $e |- F/ x ph $.
    albid.2 $e |- ( ph -> ( ps <-> ch ) ) $.
    $( Formula-building rule for universal quantifier (deduction rule).
       (Contributed by Mario Carneiro, 24-Sep-2016.) $)
    albid $p |- ( ph -> ( A. x ps <-> A. x ch ) ) $=
      ( nfri albidh ) ABCDADEGFH $.
  $}

  ${
    exbid.1 $e |- F/ x ph $.
    exbid.2 $e |- ( ph -> ( ps <-> ch ) ) $.
    $( Formula-building rule for existential quantifier (deduction rule).
       (Contributed by Mario Carneiro, 24-Sep-2016.) $)
    exbid $p |- ( ph -> ( E. x ps <-> E. x ch ) ) $=
      ( nfri exbidh ) ABCDADEGFH $.
  $}

  ${
    nfbidf.1 $e |- F/ x ph $.
    nfbidf.2 $e |- ( ph -> ( ps <-> ch ) ) $.
    $( An equality theorem for effectively not free.  (Contributed by Mario
       Carneiro, 4-Oct-2016.) $)
    nfbidf $p |- ( ph -> ( F/ x ps <-> F/ x ch ) ) $=
      ( wal wi wnf albid imbi12d df-nf 3bitr4g ) ABBDGZHZDGCCDGZHZDGBDICDIAOQDE
      ABCNPFABCDEFJKJBDLCDLM $.
  $}

  $( Closed theorem version of bound-variable hypothesis builder ~ hbn .
     (Contributed by NM, 5-Aug-1993.) $)
  hbnt $p |- ( A. x ( ph -> A. x ph ) -> ( -. ph -> A. x -. ph ) ) $=
    ( wn wal wi ax6o con1i con3 al2imi syl5 ) ACZABDZCZBDZALEZBDKBDNAABFGOMKBAL
    HIJ $.

  ${
    hbn.1 $e |- ( ph -> A. x ph ) $.
    $( If ` x ` is not free in ` ph ` , it is not free in ` -. ph ` .
       (Contributed by NM, 5-Aug-1993.)  (Proof shortened by Wolf Lammen,
       17-Dec-2017.) $)
    hbn $p |- ( -. ph -> A. x -. ph ) $=
      ( wal wi wn hbnt mpg ) AABDEAFZIBDEBABGCH $.

    $( Obsolete proof of ~ hbn as of 16-Dec-2017.  (Contributed by NM,
       5-Aug-1993.)  (New usage is discouraged.) $)
    hbnOLD $p |- ( -. ph -> A. x -. ph ) $=
      ( wn wal sp con3i hbn1 alrimih syl ) ADZABEZDZKBELAABFGMKBABHALCGIJ $.
  $}

  $( A closed version of ~ 19.9 .  (Contributed by NM, 5-Aug-1993.) $)
  19.9ht $p |- ( A. x ( ph -> A. x ph ) -> ( E. x ph -> ph ) ) $=
    ( wex wn wal wi df-ex hbnt con1d syl5bi ) ABCADBEZDAABEFBEZAABGLAKABHIJ $.

  $( A closed version of ~ 19.9 .  (Contributed by NM, 5-Aug-1993.)  (Revised
     by Mario Carneiro, 24-Sep-2016.)  (Proof shortended by Wolf Lammen,
     30-Dec-2017.) $)
  19.9t $p |- ( F/ x ph -> ( E. x ph <-> ph ) ) $=
    ( wnf wex wal wi df-nf 19.9ht sylbi 19.8a impbid1 ) ABCZABDZALAABEFBEMAFABG
    ABHIABJK $.

  ${
    19.9h.1 $e |- ( ph -> A. x ph ) $.
    $( A wff may be existentially quantified with a variable not free in it.
       Theorem 19.9 of [Margaris] p. 89.  (Contributed by FL, 24-Mar-2007.)
       (Proof shortened by Wolf Lammen, 5-Jan-2018.) $)
    19.9h $p |- ( E. x ph <-> ph ) $=
      ( wnf wex wb nfi 19.9t ax-mp ) ABDABEAFABCGABHI $.
    $( Obsolete proof of ~ 19.9h as of 5-Jan-2018.  (Contributed by FL,
       24-Mar-2007.)  (New usage is discouraged.) $)
    19.9hOLD $p |- ( E. x ph <-> ph ) $=
      ( wex wal wi 19.9ht mpg 19.8a impbii ) ABDZAAABEFKAFBABGCHABIJ $.
  $}

  ${
    19.9d.1 $e |- ( ps -> F/ x ph ) $.
    $( A deduction version of one direction of ~ 19.9 .  (Contributed by NM,
       5-Aug-1993.)  (Revised by Mario Carneiro, 24-Sep-2016.) $)
    19.9d $p |- ( ps -> ( E. x ph -> ph ) ) $=
      ( wex wnf wb 19.9t syl biimpd ) BACEZABACFKAGDACHIJ $.
  $}

  ${
    19.9.1 $e |- F/ x ph $.
    $( A wff may be existentially quantified with a variable not free in it.
       Theorem 19.9 of [Margaris] p. 89.  (Contributed by FL, 24-Mar-2007.)
       (Revised by Mario Carneiro, 24-Sep-2016.)  (Proof shortened by Wolf
       Lammen, 30-Dec-2017.) $)
    19.9 $p |- ( E. x ph <-> ph ) $=
      ( nfri 19.9h ) ABABCDE $.

    $( Obsolete proof of ~ 19.9 as of 30-Dec-2017.  (Contributed by FL,
       24-Mar-2007.)  (Revised by Mario Carneiro, 24-Sep-2016.)
       (New usage is discouraged.) $)
    19.9OLD $p |- ( E. x ph <-> ph ) $=
      ( wnf wex wb 19.9t ax-mp ) ABDABEAFCABGH $.
  $}

  ${
    19.3.1 $e |- F/ x ph $.
    $( A wff may be quantified with a variable not free in it.  Theorem 19.3 of
       [Margaris] p. 89.  (Contributed by NM, 5-Aug-1993.)  (Revised by Mario
       Carneiro, 24-Sep-2016.) $)
    19.3 $p |- ( A. x ph <-> ph ) $=
      ( wal sp nfri impbii ) ABDAABEABCFG $.
  $}

  $( ` x ` is not free in ` A. x ph ` .  Example in Appendix in [Megill] p. 450
     (p. 19 of the preprint).  Also Lemma 22 of [Monk2] p. 114.  (Contributed
     by NM, 5-Aug-1993.)  (Proof shortened by Wolf Lammen, 15-Dec-2017.) $)
  hba1 $p |- ( A. x ph -> A. x A. x ph ) $=
    ( wn wex wal hbe1 hbn alex albii 3imtr4i ) ACZBDZCZMBEABEZNBELBKBFGABHZNMBO
    IJ $.

  $( Obsolete proof of ~ hba1 as of 15-Dec-2017 (Contributed by NM,
     5-Aug-1993.)  (New usage is discouraged.) $)
  hba1OLD $p |- ( A. x ph -> A. x A. x ph ) $=
    ( wal wn sp con2i hbn1 con1i alimi 3syl ) ABCZKDZBCZDZNBCKBCMKLBEFLBGNKBKMA
    BGHIJ $.

  $( ` x ` is not free in ` A. x ph ` .  (Contributed by Mario Carneiro,
     11-Aug-2016.) $)
  nfa1 $p |- F/ x A. x ph $=
    ( wal hba1 nfi ) ABCBABDE $.

  ${
    a5i.1 $e |- ( A. x ph -> ps ) $.
    $( Inference version of ~ ax5o .  (Contributed by NM, 5-Aug-1993.) $)
    a5i $p |- ( A. x ph -> A. x ps ) $=
      ( wal nfa1 alrimi ) ACEBCACFDG $.
  $}

  $( ` x ` is not free in ` F/ x ph ` .  (Contributed by Mario Carneiro,
     11-Aug-2016.) $)
  nfnf1 $p |- F/ x F/ x ph $=
    ( wnf wal wi df-nf nfa1 nfxfr ) ABCAABDEZBDBABFIBGH $.

  ${
    nfnd.1 $e |- ( ph -> F/ x ps ) $.
    $( If in a context ` x ` is not free in ` ps ` , it is not free in
       ` -. ps ` .  (Contributed by Mario Carneiro, 24-Sep-2016.)  (Proof
       shortened by Wolf Lammen, 28-Dec-2017.) $)
    nfnd $p |- ( ph -> F/ x -. ps ) $=
      ( wnf wn nfnf1 wal wi df-nf hbnt sylbi nfd syl ) ABCEZBFZCEDOPCBCGOBBCHIC
      HPPCHIBCJBCKLMN $.

    $( Obsolete proof of ~ nfnd as of 28-Dec-2017.  (Contributed by Mario
       Carneiro, 24-Sep-2016.)  (New usage is discouraged.) $)
    nfndOLD $p |- ( ph -> F/ x -. ps ) $=
      ( wnf wn nfnf1 wal ax6o con1i wi df-nf con3 al2imi sylbi syl5 nfd syl ) A
      BCEZBFZCEDSTCBCGTBCHZFZCHZSTCHZUCBBCIJSBUAKZCHUCUDKBCLUEUBTCBUAMNOPQR $.

  $}

  ${
    nfn.1 $e |- F/ x ph $.
    $( If ` x ` is not free in ` ph ` , it is not free in ` -. ph ` .
       (Contributed by Mario Carneiro, 11-Aug-2016.) $)
    nfn $p |- F/ x -. ph $=
      ( wn wnf wtru a1i nfnd trud ) ADBEFABABEFCGHI $.
  $}

  $( Theorem 19.38 of [Margaris] p. 90.  (Contributed by NM, 5-Aug-1993.)
     (Revised by Wolf Lammen, 2-Jan-2018.) $)
  19.38 $p |- ( ( E. x ph -> A. x ps ) -> A. x ( ph -> ps ) ) $=
    ( wex wal wi wn alnex pm2.21 alimi sylbir ax-1 ja ) ACDZBCEABFZCEZNGAGZCEPA
    CHQOCABIJKBOCBALJM $.

  $( Closed form of Theorem 19.21 of [Margaris] p. 90.  (Contributed by NM,
     27-May-1997.)  (Revised by Mario Carneiro, 24-Sep-2016.)  (Proof shortened
     by Wolf Lammen, 3-Jan-2018.) $)
  19.21t $p |- ( F/ x ph -> ( A. x ( ph -> ps ) <-> ( ph -> A. x ps ) ) ) $=
    ( wnf wi wal nfr ax-5 syl9 wex 19.9t imbi1d 19.38 syl6bir impbid ) ACDZABEC
    FZABCFZEZPAACFQRACGABCHIPSACJZREQPTARACKLABCMNO $.

  ${
    19.21.1 $e |- F/ x ph $.
    $( Theorem 19.21 of [Margaris] p. 90.  The hypothesis can be thought of
       as " ` x ` is not free in ` ph ` ."  (Contributed by NM, 5-Aug-1993.)
       (Revised by Mario Carneiro, 24-Sep-2016.) $)
    19.21 $p |- ( A. x ( ph -> ps ) <-> ( ph -> A. x ps ) ) $=
      ( wnf wi wal wb 19.21t ax-mp ) ACEABFCGABCGFHDABCIJ $.
  $}

  ${
    19.21h.1 $e |- ( ph -> A. x ph ) $.
    $( Theorem 19.21 of [Margaris] p. 90.  The hypothesis can be thought of
       as " ` x ` is not free in ` ph ` ."  (Contributed by NM, 1-Aug-2017.)
       (Proof shortened by Wolf Lammen, 1-Jan-2018.) $)
    19.21h $p |- ( A. x ( ph -> ps ) <-> ( ph -> A. x ps ) ) $=
      ( nfi 19.21 ) ABCACDEF $.
  $}

  ${
    stdpc5.1 $e |- F/ x ph $.
    $( An axiom scheme of standard predicate calculus that emulates Axiom 5 of
       [Mendelson] p. 69.  The hypothesis ` F/ x ph ` can be thought of as
       emulating " ` x ` is not free in ` ph ` ."  With this definition, the
       meaning of "not free" is less restrictive than the usual textbook
       definition; for example ` x ` would not (for us) be free in ` x = x ` by
       ~ nfequid .  This theorem scheme can be proved as a metatheorem of
       Mendelson's axiom system, even though it is slightly stronger than his
       Axiom 5.  (Contributed by NM, 22-Sep-1993.)  (Revised by Mario Carneiro,
       12-Oct-2016.)  (Proof shortened by Wolf Lammen, 1-Jan-2018.) $)
    stdpc5 $p |- ( A. x ( ph -> ps ) -> ( ph -> A. x ps ) ) $=
      ( wi wal 19.21 biimpi ) ABECFABCFEABCDGH $.

    $( Obsolete proof of ~ stdpc5 as of 1-Jan-2018.  (Contributed by NM,
       22-Sep-1993.)  (Revised by Mario Carneiro, 12-Oct-2016.)
       (New usage is discouraged.) $)
    stdpc5OLD $p |- ( A. x ( ph -> ps ) -> ( ph -> A. x ps ) ) $=
      ( wal wi nfri alim syl5 ) AACEABFCEBCEACDGABCHI $.
  $}

  $( Closed form of Theorem 19.23 of [Margaris] p. 90.  (Contributed by NM,
     7-Nov-2005.)  (Proof shortened by Wolf Lammen, 2-Jan-2018.) $)
  19.23t $p |- ( F/ x ps -> ( A. x ( ph -> ps ) <-> ( E. x ph -> ps ) ) ) $=
    ( wnf wi wal wex exim 19.9t biimpd syl9r nfr imim2d 19.38 syl6 impbid ) BCD
    ZABECFZACGZBEZRSBCGZQBABCHQUABBCIJKQTSBCFZERQBUBSBCLMABCNOP $.

  ${
    19.23.1 $e |- F/ x ps $.
    $( Theorem 19.23 of [Margaris] p. 90.  (Contributed by NM, 5-Aug-1993.)
       (Revised by Mario Carneiro, 24-Sep-2016.) $)
    19.23 $p |- ( A. x ( ph -> ps ) <-> ( E. x ph -> ps ) ) $=
      ( wnf wi wal wex wb 19.23t ax-mp ) BCEABFCGACHBFIDABCJK $.
  $}

  ${
    19.23h.1 $e |- ( ps -> A. x ps ) $.
    $( Theorem 19.23 of [Margaris] p. 90.  (Contributed by NM, 5-Aug-1993.)
       (Revised by Mario Carneiro, 24-Sep-2016.)  (Proof shortened by Wolf
       Lammen, 1-Jan-2018.) $)
    19.23h $p |- ( A. x ( ph -> ps ) <-> ( E. x ph -> ps ) ) $=
      ( nfi 19.23 ) ABCBCDEF $.
  $}

  ${
    exlimi.1 $e |- F/ x ps $.
    exlimi.2 $e |- ( ph -> ps ) $.
    $( Inference from Theorem 19.23 of [Margaris] p. 90.  (Contributed by Mario
       Carneiro, 24-Sep-2016.) $)
    exlimi $p |- ( E. x ph -> ps ) $=
      ( wi wex 19.23 mpgbi ) ABFACGBFCABCDHEI $.
  $}

  ${
    exlimih.1 $e |- ( ps -> A. x ps ) $.
    exlimih.2 $e |- ( ph -> ps ) $.
    $( Inference from Theorem 19.23 of [Margaris] p. 90.  (Contributed by NM,
       5-Aug-1993.)  (Proof shortened by Andrew Salmon, 13-May-2011.)  (Proof
       shortened by Wolf Lammen, 1-Jan-2018.) $)
    exlimih $p |- ( E. x ph -> ps ) $=
      ( nfi exlimi ) ABCBCDFEG $.

    $( Obsolete proof of ~ exlimih as of 1-Jan-2018.  (Contributed by NM,
       5-Aug-1993.)  (Proof shortened by Andrew Salmon, 13-May-2011.)
       (New usage is discouraged.) $)
    exlimihOLD $p |- ( E. x ph -> ps ) $=
      ( wi wex 19.23h mpgbi ) ABFACGBFCABCDHEI $.
  $}

  ${
    exlimd.1 $e |- F/ x ph $.
    exlimd.2 $e |- F/ x ch $.
    exlimd.3 $e |- ( ph -> ( ps -> ch ) ) $.
    $( Deduction from Theorem 19.23 of [Margaris] p. 90.  (Contributed by Mario
       Carneiro, 24-Sep-2016.) $)
    exlimd $p |- ( ph -> ( E. x ps -> ch ) ) $=
      ( wi wal wex alrimi 19.23 sylib ) ABCHZDIBDJCHANDEGKBCDFLM $.
  $}

  ${
    exlimdh.1 $e |- ( ph -> A. x ph ) $.
    exlimdh.2 $e |- ( ch -> A. x ch ) $.
    exlimdh.3 $e |- ( ph -> ( ps -> ch ) ) $.
    $( Deduction from Theorem 19.23 of [Margaris] p. 90.  (Contributed by NM,
       28-Jan-1997.) $)
    exlimdh $p |- ( ph -> ( E. x ps -> ch ) ) $=
      ( nfi exlimd ) ABCDADEHCDFHGI $.
  $}

  ${
    nfimd.1 $e |- ( ph -> F/ x ps ) $.
    nfimd.2 $e |- ( ph -> F/ x ch ) $.
    $( If in a context ` x ` is not free in ` ps ` and ` ch ` , it is not free
       in ` ( ps -> ch ) ` .  (Contributed by Mario Carneiro, 24-Sep-2016.)
       (Proof shortened by Wolf Lammen, 30-Dec-2017.) $)
    nfimd $p |- ( ph -> F/ x ( ps -> ch ) ) $=
      ( wnf wal nfnf1 nfr imim2d 19.21t biimprd syl9r alrimd df-nf syl6ibr sylc
      wi ) ABDGZCDGZBCSZDGZEFTUAUBUBDHZSZDHUCTUAUEDBDICDIUAUBBCDHZSZTUDUACUFBCD
      JKTUDUGBCDLMNOUBDPQR $.

    $( Obsolete proof of ~ nfimd as of 29-Dec-2017.  (Contributed by Mario
       Carneiro, 24-Sep-2016.)  (New usage is discouraged.) $)
    nfimdOLD $p |- ( ph -> F/ x ( ps -> ch ) ) $=
      ( wnf wi wal wa nfa1 wn hbnt pm2.21 alimi imim2i adantr ax-1 adantl df-nf
      jad ex syl alimd imp anbi12i 3imtr4i syl2anc ) ABDGZCDGZBCHZDGZEFBBDIHZDI
      ZCCDIZHZDIZJUKUKDIZHZDIZUIUJJULUNUQUTUNUPUSDUMDKUNBLZVADIZHZUPUSHBDMVCUPU
      SVCUPJBCURVCVAURHUPVBURVAVAUKDBCNOPQUPCURHVCUOURCCUKDCBROPSUAUBUCUDUEUIUN
      UJUQBDTCDTUFUKDTUGUH $.
  $}

  ${
    hbim1.1 $e |- ( ph -> A. x ph ) $.
    hbim1.2 $e |- ( ph -> ( ps -> A. x ps ) ) $.
    $( A closed form of ~ hbim .  (Contributed by NM, 5-Aug-1993.) $)
    hbim1 $p |- ( ( ph -> ps ) -> A. x ( ph -> ps ) ) $=
      ( wi wal a2i 19.21h sylibr ) ABFZABCGZFKCGABLEHABCDIJ $.
  $}

  ${
    nfim1.1 $e |- F/ x ph $.
    nfim1.2 $e |- ( ph -> F/ x ps ) $.
    $( A closed form of ~ nfim .  (Contributed by NM, 5-Aug-1993.)  (Revised by
       Mario Carneiro, 24-Sep-2016.)  (Proof shortened by Wolf Lammen,
       2-Jan-2018.) $)
    nfim1 $p |- F/ x ( ph -> ps ) $=
      ( wi nfri nfrd hbim1 nfi ) ABFCABCACDGABCEHIJ $.

    $( A closed form of ~ nfim .  (Contributed by NM, 5-Aug-1993.)  (Revised by
       Mario Carneiro, 24-Sep-2016.)  (New usage is discouraged.) $)
    nfim1OLD $p |- F/ x ( ph -> ps ) $=
      ( wi wal nfrd a2i 19.21 sylibr nfi ) ABFZCMABCGZFMCGABNABCEHIABCDJKL $.
  $}

  ${
    nfim.1 $e |- F/ x ph $.
    nfim.2 $e |- F/ x ps $.
    $( If ` x ` is not free in ` ph ` and ` ps ` , it is not free in
       ` ( ph -> ps ) ` .  (Contributed by Mario Carneiro, 11-Aug-2016.)
       (Proof shortened by Wolf Lammen, 2-Jan-2018.) $)
    nfim $p |- F/ x ( ph -> ps ) $=
      ( wnf a1i nfim1 ) ABCDBCFAEGH $.

    $( If ` x ` is not free in ` ph ` and ` ps ` , it is not free in
       ` ( ph -> ps ) ` .  (Contributed by Mario Carneiro, 11-Aug-2016.)
       (New usage is discouraged.) $)
    nfimOLD $p |- F/ x ( ph -> ps ) $=
      ( wi wnf wtru a1i nfimd trud ) ABFCGHABCACGHDIBCGHEIJK $.
  $}

  ${
    hbimd.1 $e |- ( ph -> A. x ph ) $.
    hbimd.2 $e |- ( ph -> ( ps -> A. x ps ) ) $.
    hbimd.3 $e |- ( ph -> ( ch -> A. x ch ) ) $.
    $( Deduction form of bound-variable hypothesis builder ~ hbim .
       (Contributed by NM, 1-Jan-2002.)  (Proof shortened by Wolf Lammen,
       3-Jan-2018.) $)
    hbimd $p |- ( ph -> ( ( ps -> ch ) -> A. x ( ps -> ch ) ) ) $=
      ( wi nfdh nfimd nfrd ) ABCHDABCDABDEFIACDEGIJK $.

    $( Obsolete proof of ~ hbimd as of 16-Dec-2017.  (Contributed by NM,
       1-Jan-2002.)  (New usage is discouraged.) $)
    hbimdOLD $p |- ( ph -> ( ( ps -> ch ) -> A. x ( ps -> ch ) ) ) $=
      ( wi wal wn alrimih sp hbn1 nsyl4 con1i con3 al2imi syl2im alimi syl6 jad
      pm2.21 ax-1 ) ABCBCHZDIZABJZUFDIZUEABBDIZHZDIUFUHJZDIZUGAUIDEFKUKBUHBUKBD
      LBDMNOUIUJUFDBUHPQRUFUDDBCUBSTACCDIUEGCUDDCBUCSTUA $.
  $}

  ${
    hbim.1 $e |- ( ph -> A. x ph ) $.
    hbim.2 $e |- ( ps -> A. x ps ) $.
    $( If ` x ` is not free in ` ph ` and ` ps ` , it is not free in
       ` ( ph -> ps ) ` .  (Contributed by NM, 5-Aug-1993.)  (Proof shortened
       by O'Cat, 3-Mar-2008.)  (Proof shortened by Wolf Lammen, 1-Jan-2018.) $)
    hbim $p |- ( ( ph -> ps ) -> A. x ( ph -> ps ) ) $=
      ( wal wi a1i hbim1 ) ABCDBBCFGAEHI $.

    $( Obsolete proof of ~ hbim as of 1-Jan-2018.  (Contributed by NM,
       5-Aug-1993.)  (Proof shortened by O'Cat, 3-Mar-2008.)
       (New usage is discouraged.) $)
    hbimOLD $p |- ( ( ph -> ps ) -> A. x ( ph -> ps ) ) $=
      ( wi wal wn hbn pm2.21 alrimih ax-1 ja ) ABABFZCGAHNCACDIABJKBNCEBALKM $.
  $}

  $( Obsolete proof of ~ 19.23t as of 1-Jan-2018.  (Contributed by NM,
     7-Nov-2005.)  (New usage is discouraged.) $)
  19.23tOLD $p |- ( F/ x ps -> ( A. x ( ph -> ps ) <-> ( E. x ph -> ps ) ) ) $=
    ( wnf wi wal wex exim 19.9t imbi2d syl5ib nfnf1 nfe1 a1i nfimd 19.8a imim1d
    id alrimdd impbid ) BCDZABEZCFZACGZBEZUCUDBCGZEUAUEABCHUAUFBUDBCIJKUAUEUBCB
    CLUAUDBCUDCDUAACMNUAROUAAUDBAUDEUAACPNQST $.

  ${
    19.23hOLD.1 $e |- ( ps -> A. x ps ) $.
    $( Obsolete proof of ~ 19.23h as of 1-Jan-2018.  (Contributed by NM,
       5-Aug-1993.)  (Revised by Mario Carneiro, 24-Sep-2016.)
       (New usage is discouraged.) $)
    19.23hOLD $p |- ( A. x ( ph -> ps ) <-> ( E. x ph -> ps ) ) $=
      ( wi wal wex exim 19.9h syl6ib hbe1 hbim 19.8a imim1i alrimih impbii ) AB
      EZCFZACGZBEZRSBCGBABCHBCDIJTQCSBCACKDLASBACMNOP $.
  $}

  ${
    $d x z $.
    spimehOLD.1 $e |- ( ph -> A. x ph ) $.
    spimehOLD.2 $e |- ( x = z -> ( ph -> ps ) ) $.
    $( Obsolete proof of ~ spimeh as of 10-Dec-2017.  (Contributed by NM,
       7-Aug-1994.)  (New usage is discouraged.) $)
    spimehOLD $p |- ( ph -> E. x ps ) $=
      ( wn wal wex wi weq ax9v id hbth hba1 a1i hbn hbimd ax-mp sp nsyli sylibr
      con3i alrimih mt3 con2i df-ex ) ABGZCHZGBCIUIAUIAGZJZCDKZGZCHCDLUKGUMCUKC
      AAJZUKUKCHJAMZUNUIUJCUNCUONUIUICHJUNUHCOPUJUJCHJUNACEQPRSQULUKULABUIFUHCT
      UAUCUDUEUFBCUGUB $.
  $}

  ${
    nfand.1 $e |- ( ph -> F/ x ps ) $.
    nfand.2 $e |- ( ph -> F/ x ch ) $.
    $( If in a context ` x ` is not free in ` ps ` and ` ch ` , it is not free
       in ` ( ps /\ ch ) ` .  (Contributed by Mario Carneiro, 7-Oct-2016.) $)
    nfand $p |- ( ph -> F/ x ( ps /\ ch ) ) $=
      ( wa wn wi df-an nfnd nfimd nfxfrd ) BCGBCHZIZHADBCJAODABNDEACDFKLKM $.

    nfand.3 $e |- ( ph -> F/ x th ) $.
    $( Deduction form of bound-variable hypothesis builder ~ nf3an .
       (Contributed by NM, 17-Feb-2013.)  (Revised by Mario Carneiro,
       16-Oct-2016.) $)
    nf3and $p |- ( ph -> F/ x ( ps /\ ch /\ th ) ) $=
      ( w3a wa df-3an nfand nfxfrd ) BCDIBCJZDJAEBCDKANDEABCEFGLHLM $.
  $}

  ${
    nfan.1 $e |- F/ x ph $.
    nfan.2 $e |- F/ x ps $.
    $( If ` x ` is not free in ` ph ` and ` ps ` , it is not free in
       ` ( ph /\ ps ) ` .  (Contributed by Mario Carneiro, 11-Aug-2016.)
       (Proof shortned by Wolf Lammen, 2-Jan-2018.) $)
    nfan $p |- F/ x ( ph /\ ps ) $=
      ( wa wnf wtru a1i nfand trud ) ABFCGHABCACGHDIBCGHEIJK $.

    $( If ` x ` is not free in ` ph ` and ` ps ` , then it is not free in
       ` ( ph -/\ ps ) ` .  (Contributed by Scott Fenton, 2-Jan-2018.) $)
    nfnan $p |- F/ x ( ph -/\ ps ) $=
      ( wnan wa wn df-nan nfan nfn nfxfr ) ABFABGZHCABIMCABCDEJKL $.

    $( Obsolete proof of ~ nfan as of 2-Jan-2018.  (Contributed by Mario
       Carneiro, 11-Aug-2016.)  (New usage is discouraged.) $)
    nfanOLD $p |- F/ x ( ph /\ ps ) $=
      ( wa wn wi df-an nfn nfim nfxfr ) ABFABGZHZGCABINCAMCDBCEJKJL $.

    nfan.3 $e |- F/ x ch $.
    $( If ` x ` is not free in ` ph ` , ` ps ` , and ` ch ` , it is not free in
       ` ( ph /\ ps /\ ch ) ` .  (Contributed by Mario Carneiro,
       11-Aug-2016.) $)
    nf3an $p |- F/ x ( ph /\ ps /\ ch ) $=
      ( w3a wa df-3an nfan nfxfr ) ABCHABIZCIDABCJMCDABDEFKGKL $.
  $}

  ${
    hb.1 $e |- ( ph -> A. x ph ) $.
    hb.2 $e |- ( ps -> A. x ps ) $.
    $( If ` x ` is not free in ` ph ` and ` ps ` , it is not free in
       ` ( ph /\ ps ) ` .  (Contributed by NM, 5-Aug-1993.)  (Proof shortened
       by Wolf Lammen, 2-Jan-2018.) $)
    hban $p |- ( ( ph /\ ps ) -> A. x ( ph /\ ps ) ) $=
      ( wa nfi nfan nfri ) ABFCABCACDGBCEGHI $.
    $( Obsolete proof of ~ hban as of 2-Jan-2018.  (Contributed by NM,
       5-Aug-1993.)  (New usage is discouraged.) $)
    hbanOLD $p |- ( ( ph /\ ps ) -> A. x ( ph /\ ps ) ) $=
      ( wa wn wi df-an hbn hbim hbxfrbi ) ABFABGZHZGCABINCAMCDBCEJKJL $.
    hb.3 $e |- ( ch -> A. x ch ) $.
    $( If ` x ` is not free in ` ph ` , ` ps ` , and ` ch ` , it is not free in
       ` ( ph /\ ps /\ ch ) ` .  (Contributed by NM, 14-Sep-2003.)  (Proof
       shortened by Wolf Lammen, 2-Jan-2018.) $)
    hb3an $p |- ( ( ph /\ ps /\ ch ) -> A. x ( ph /\ ps /\ ch ) ) $=
      ( w3a nfi nf3an nfri ) ABCHDABCDADEIBDFICDGIJK $.

    $( Obsolete proof of ~ hb3an as of 2-Jan-2018.  (Contributed by NM,
       14-Sep-2003.)  (New usage is discouraged.) $)
    hb3anOLD $p |- ( ( ph /\ ps /\ ch ) -> A. x ( ph /\ ps /\ ch ) ) $=
      ( w3a wa df-3an hban hbxfrbi ) ABCHABIZCIDABCJMCDABDEFKGKL $.
  $}

  ${
    nfbid.1 $e |- ( ph -> F/ x ps ) $.
    nfbid.2 $e |- ( ph -> F/ x ch ) $.
    $( If in a context ` x ` is not free in ` ps ` and ` ch ` , it is not free
       in ` ( ps <-> ch ) ` .  (Contributed by Mario Carneiro, 24-Sep-2016.)
       (Proof shortened by Wolf Lammen, 29-Dec-2017.) $)
    nfbid $p |- ( ph -> F/ x ( ps <-> ch ) ) $=
      ( wb wi wa dfbi2 nfimd nfand nfxfrd ) BCGBCHZCBHZIADBCJANODABCDEFKACBDFEK
      LM $.

    $( Obsolete proof of ~ nfbid as of 29-Dec-2017.  (Contributed by Mario
       Carneiro, 24-Sep-2016.)  (New usage is discouraged.) $)
    nfbidOLD $p |- ( ph -> F/ x ( ps <-> ch ) ) $=
      ( wb wi wn dfbi1 nfimd nfnd nfxfrd ) BCGBCHZCBHZIZHZIADBCJAQDANPDABCDEFKA
      ODACBDFEKLKLM $.
  $}

  ${
    nf.1 $e |- F/ x ph $.
    nf.2 $e |- F/ x ps $.
    $( If ` x ` is not free in ` ph ` and ` ps ` , it is not free in
       ` ( ph <-> ps ) ` .  (Contributed by Mario Carneiro, 11-Aug-2016.)
       (Proof shortened by Wolf Lammen, 2-Jan-2018.) $)
    nfbi $p |- F/ x ( ph <-> ps ) $=
      ( wb wnf wtru a1i nfbid trud ) ABFCGHABCACGHDIBCGHEIJK $.

    $( If ` x ` is not free in ` ph ` and ` ps ` , it is not free in
       ` ( ph <-> ps ) ` .  (Contributed by Mario Carneiro, 11-Aug-2016.)
       (New usage is discouraged.) $)
    nfbiOLD $p |- F/ x ( ph <-> ps ) $=
      ( wb wi wa dfbi2 nfim nfan nfxfr ) ABFABGZBAGZHCABIMNCABCDEJBACEDJKL $.

    $( If ` x ` is not free in ` ph ` and ` ps ` , it is not free in
       ` ( ph \/ ps ) ` .  (Contributed by Mario Carneiro, 11-Aug-2016.) $)
    nfor $p |- F/ x ( ph \/ ps ) $=
      ( wo wn wi df-or nfn nfim nfxfr ) ABFAGZBHCABIMBCACDJEKL $.

    nf.3 $e |- F/ x ch $.
    $( If ` x ` is not free in ` ph ` , ` ps ` , and ` ch ` , it is not free in
       ` ( ph \/ ps \/ ch ) ` .  (Contributed by Mario Carneiro,
       11-Aug-2016.) $)
    nf3or $p |- F/ x ( ph \/ ps \/ ch ) $=
      ( w3o wo df-3or nfor nfxfr ) ABCHABIZCIDABCJMCDABDEFKGKL $.
  $}

  ${
    $d x y $.
    equsalhw.1 $e |- ( ps -> A. x ps ) $.
    equsalhw.2 $e |- ( x = y -> ( ph <-> ps ) ) $.
    $( Weaker version of ~ equsalh (requiring distinct variables) without using
       ~ ax-12 .  (Contributed by NM, 29-Nov-2015.)  (Proof shortened by Wolf
       Lammen, 28-Dec-2017.) $)
    equsalhw $p |- ( A. x ( x = y -> ph ) <-> ps ) $=
      ( weq wi wal wex 19.23h pm5.74i albii a9ev a1bi 3bitr4i ) CDGZBHZCIQCJZBH
      QAHZCIBQBCEKTRCQABFLMSBCDNOP $.
  $}

  ${
    $d x y $.
    equsalhwOLD.1 $e |- ( ps -> A. x ps ) $.
    equsalhwOLD.2 $e |- ( x = y -> ( ph <-> ps ) ) $.
    $( Obsolete proof of ~ equsalhw as of 28-Dec-2017.  (Contributed by NM,
       29-Nov-2015.)  (New usage is discouraged.) $)
    equsalhwOLD $p |- ( A. x ( x = y -> ph ) <-> ps ) $=
      ( weq wi wal sp impbii syl6bbr pm5.74i albii a1d alrimih ax9v con3 al2imi
      wn mtoi ax6o syl bitr4i ) CDGZAHZCIUEBCIZHZCIZBUFUHCUEAUGUEABUGFUGBBCJEKL
      MNBUIBUHCEBUGUEEOPUIUGTZCIZTBUIUKUETZCICDQUHUJULCUEUGRSUABCUBUCKUD $.
  $}

  ${
    19.21hOLD.1 $e |- ( ph -> A. x ph ) $.
    $( Obsolete proof of ~ 19.21h as of 1-Jan-2018.  (Contributed by NM,
       1-Aug-2017.)  (New usage is discouraged.) $)
    19.21hOLD $p |- ( A. x ( ph -> ps ) <-> ( ph -> A. x ps ) ) $=
      ( wi wal alim syl5 hba1 hbim sp imim2i alrimih impbii ) ABEZCFZABCFZEZAAC
      FPQDABCGHROCAQCDBCIJQBABCKLMN $.
  $}

  ${
    hbex.1 $e |- ( ph -> A. x ph ) $.
    $( If ` x ` is not free in ` ph ` , it is not free in ` E. y ph ` .
       (Contributed by NM, 5-Aug-1993.) $)
    hbex $p |- ( E. y ph -> A. x E. y ph ) $=
      ( wex wn wal df-ex hbn hbal hbxfrbi ) ACEAFZCGZFBACHMBLBCABDIJIK $.
  $}

  ${
    nfal.1 $e |- F/ x ph $.
    $( If ` x ` is not free in ` ph ` , it is not free in ` A. y ph ` .
       (Contributed by Mario Carneiro, 11-Aug-2016.) $)
    nfal $p |- F/ x A. y ph $=
      ( wal nfri hbal nfi ) ACEBABCABDFGH $.

    $( If ` x ` is not free in ` ph ` , it is not free in ` E. y ph ` .
       (Contributed by Mario Carneiro, 11-Aug-2016.)  (Proof shortened by Wolf
       Lammen, 30-Dec-2017.) $)
    nfex $p |- F/ x E. y ph $=
      ( wex nfri hbex nfi ) ACEBABCABDFGH $.

    $( Obsolete proof of ~ nfex as of 30-Dec-2017.  (Contributed by Mario
       Carneiro, 11-Aug-2016.)  (New usage is discouraged.) $)
    nfexOLD $p |- F/ x E. y ph $=
      ( wex wn wal df-ex nfn nfal nfxfr ) ACEAFZCGZFBACHMBLBCABDIJIK $.

    $( If ` x ` is not free in ` ph ` , it is not free in ` F/ y ph ` .
       (Contributed by Mario Carneiro, 11-Aug-2016.)  (Proof shortened by Wolf
       Lammen, 30-Dec-2017.) $)
    nfnf $p |- F/ x F/ y ph $=
      ( wnf wal wi df-nf nfal nfim nfxfr ) ACEAACFZGZCFBACHMBCALBDABCDIJIK $.

    $( Obsolete proof of ~ nfnf as of 30-Dec-2017.  (Contributed by Mario
       Carneiro, 11-Aug-2016.)  (New usage is discouraged.) $)
    nfnfOLD $p |- F/ x F/ y ph $=
      ( wnf wal wi df-nf wtru a1i nfal nfimd trud nfxfr ) ACEAACFZGZCFBACHPBCPB
      EIAOBABEIDJOBEIABCDKJLMKN $.
  $}

  $( Theorem 19.12 of [Margaris] p. 89.  Assuming the converse is a mistake
     sometimes made by beginners!  But sometimes the converse does hold, as in
     ~ 19.12vv and ~ r19.12sn .  (Contributed by NM, 5-Aug-1993.)  (Proof
     shortened by Wolf Lammen, 3-Jan-2018.) $)
  19.12 $p |- ( E. x A. y ph -> A. y E. x ph ) $=
    ( wal wex nfa1 nfex sp eximi alrimi ) ACDZBEABECKCBACFGKABACHIJ $.

  $( Obsolete proof of ~ 19.12 as of 3-Jan-2018.  (Contributed by NM,
     5-Aug-1993.)  (New usage is discouraged.) $)
  19.12OLD $p |- ( E. x A. y ph -> A. y E. x ph ) $=
    ( wal wex hba1 hbex sp eximi alrimih ) ACDZBEABECKCBACFGKABACHIJ $.

  ${
    $d x z $.  $d y z $.
    dvelimhw.1 $e |- ( ph -> A. x ph ) $.
    dvelimhw.2 $e |- ( ps -> A. z ps ) $.
    dvelimhw.3 $e |- ( z = y -> ( ph <-> ps ) ) $.
    $(  dvelimhw.4 $e |- ( -. A. x x = y -> ( z = y -> A. x z = y ) ) $. $)
    dvelimhw.4 $e |- ( -. A. x x = y -> ( y = z -> A. x y = z ) ) $.
    $( Proof of ~ dvelimh without using ~ ax-12 but with additional distinct
       variable conditions.  (Contributed by Andrew Salmon, 21-Jul-2011.)
       (Revised by NM, 1-Aug-2017.) $)
    dvelimhw $p |- ( -. A. x x = y -> ( ps -> A. x ps ) ) $=
      ( weq wal wn wi ax-17 hbn1 equcomi alimi syl56 a1i hbimd equsalhw 3imtr3g
      hbald albii ) CDJZCKLZEDJZAMZEKZUICKBBCKUFUHCEUFENUFUGACUECOUGDEJZUFUJCKU
      GCKEDPIUJUGCDEPQRAACKMUFFSTUCABEDGHUAZUIBCUKUDUB $.
  $}

  ${
    $d x y $.
    cbv3hv.1 $e |- ( ph -> A. y ph ) $.
    cbv3hv.2 $e |- ( ps -> A. x ps ) $.
    cbv3hv.3 $e |- ( x = y -> ( ph -> ps ) ) $.
    $( Lemma for ~ ax10 .  Similar to ~ cbv3h .  Requires distinct variables
       but avoids ~ ax-12 .  (Contributed by NM, 25-Jul-2015.)  (Proof
       shortened by Wolf Lammen, 29-Dec-2017.) $)
    cbv3hv $p |- ( A. x ph -> A. y ps ) $=
      ( wal alimi wex weq wi a9ev eximi ax-mp 19.35i 19.9h sylib a7s syl ) ACHZ
      ADHZCHBDHZAUBCEIAUCDCUABDUABCJBABCCDKZCJABLZCJCDMUDUECGNOPBCFQRIST $.

    $( Obsolete proof of ~ cbv3hv as of 29-Dec-2017.  (Contributed by NM,
       25-Jul-2015.)  (New usage is discouraged.) $)
    cbv3hvOLD $p |- ( A. x ph -> A. y ps ) $=
      ( wal alimi wi weq wn ax9v hba1 hbim hbn sp syl5 con3i alrimih mt3 a7s
      syl ) ACHZADHZCHBDHZAUECEIAUFDCUDBDUDBJZCDKZLZCHCDMUGLUICUGCUDBCACNFOPUHU
      GUDAUHBACQGRSTUAIUBUC $.
  $}

  ${
    nfald.1 $e |- F/ y ph $.
    nfald.2 $e |- ( ph -> F/ x ps ) $.
    $( If ` x ` is not free in ` ph ` , it is not free in ` A. y ph ` .
       (Contributed by Mario Carneiro, 24-Sep-2016.)  (Proof shortened by Wolf
       Lammen, 6-Jan-2018.) $)
    nfald $p |- ( ph -> F/ x A. y ps ) $=
      ( wnf wal alrimi nfnf1 nfal hba1 sp nfrd hbald nfd syl ) ABCGZDHZBDHZCGAR
      DEFISTCRCDBCJKSBCDRDLSBCRDMNOPQ $.

    $( Obsolete proof of ~ nfald as of 6-Jan-2018.  (Contributed by Mario
       Carneiro, 24-Sep-2016.)  (New usage is discouraged.) $)
    nfaldOLD $p |- ( ph -> F/ x A. y ps ) $=
      ( wnf wal alrimi nfnf1 nfal nfr al2imi ax-7 syl6 nfd syl ) ABCGZDHZBDHZCG
      ARDEFISTCRCDBCJKSTBCHZDHTCHRBUADBCLMBDCNOPQ $.

    $( If ` x ` is not free in ` ph ` , it is not free in ` E. y ph ` .
       (Contributed by Mario Carneiro, 24-Sep-2016.) $)
    nfexd $p |- ( ph -> F/ x E. y ps ) $=
      ( wex wn wal df-ex nfnd nfald nfxfrd ) BDGBHZDIZHACBDJAOCANCDEABCFKLKM $.
  $}

  $( Lemma 24 of [Monk2] p. 114.  (Contributed by Mario Carneiro,
     24-Sep-2016.) $)
  nfa2 $p |- F/ x A. y A. x ph $=
    ( wal nfa1 nfal ) ABDBCABEF $.

  $( Lemma 23 of [Monk2] p. 114.  (Contributed by Mario Carneiro,
     24-Sep-2016.) $)
  nfia1 $p |- F/ x ( A. x ph -> A. x ps ) $=
    ( wal nfa1 nfim ) ACDBCDCACEBCEF $.

  $( Obsolete proof of ~ 19.9t as of 30-Dec-2017.  (Contributed by NM,
     5-Aug-1993.)  (Revised by Mario Carneiro, 24-Sep-2016.)
     (New usage is discouraged.) $)
  19.9tOLD $p |- ( F/ x ph -> ( E. x ph <-> ph ) ) $=
    ( wnf wex wn wal df-ex id nfnd nfrd con1d syl5bi 19.8a impbid1 ) ABCZABDZAP
    AEZBFZEOAABGOAROQBOABOHIJKLABMN $.

  $( Obsolete proof of ~ excomim as of 8-Jan-2018.  (Contributed by NM,
     5-Aug-1993.)  (Revised by Mario Carneiro, 24-Sep-2016.)
     (New usage is discouraged.) $)
  excomimOLD $p |- ( E. x E. y ph -> E. y E. x ph ) $=
    ( wex 19.8a 2eximi nfe1 nfex 19.9 sylib ) ACDBDABDZCDZBDLAKBCABEFLBKBCABGHI
    J $.

  $( Obsolete proof of ~ excom as of 8-Jan-2018.  (Contributed by NM,
     5-Aug-1993.)  (New usage is discouraged.) $)
  excomOLD $p |- ( E. x E. y ph <-> E. y E. x ph ) $=
    ( wex excomim impbii ) ACDBDABDCDABCEACBEF $.

  ${
    19.16.1 $e |- F/ x ph $.
    $( Theorem 19.16 of [Margaris] p. 90.  (Contributed by NM, 5-Aug-1993.) $)
    19.16 $p |- ( A. x ( ph <-> ps ) -> ( ph <-> A. x ps ) ) $=
      ( wal wb 19.3 albi syl5bbr ) AACEABFCEBCEACDGABCHI $.
  $}

  ${
    19.17.1 $e |- F/ x ps $.
    $( Theorem 19.17 of [Margaris] p. 90.  (Contributed by NM, 5-Aug-1993.) $)
    19.17 $p |- ( A. x ( ph <-> ps ) -> ( A. x ph <-> ps ) ) $=
      ( wb wal albi 19.3 syl6bb ) ABECFACFBCFBABCGBCDHI $.
  $}

  ${
    19.19.1 $e |- F/ x ph $.
    $( Theorem 19.19 of [Margaris] p. 90.  (Contributed by NM, 5-Aug-1993.) $)
    19.19 $p |- ( A. x ( ph <-> ps ) -> ( ph <-> E. x ps ) ) $=
      ( wex wb wal 19.9 exbi syl5bbr ) AACEABFCGBCEACDHABCIJ $.
  $}

  $( Obsolete proof of ~ 19.21t as of 30-Dec-2017.  (Contributed by NM,
     27-May-1997.)  (Revised by Mario Carneiro, 24-Sep-2016.)
     (New usage is discouraged.) $)
  19.21tOLD $p |- ( F/ x ph -> ( A. x ( ph -> ps ) <-> ( ph -> A. x ps ) ) ) $=
    ( wnf wi wal id nfrd alim syl9 nfa1 a1i nfimd sp imim2i alimi syl6 impbid )
    ACDZABEZCFZABCFZEZSAACFUAUBSACSGZHABCIJSUCUCCFUASUCCSAUBCUDUBCDSBCKLMHUCTCU
    BBABCNOPQR $.

  ${
    19.21-2.1 $e |- F/ x ph $.
    19.21-2.2 $e |- F/ y ph $.
    $( Theorem 19.21 of [Margaris] p. 90 but with 2 quantifiers.  (Contributed
       by NM, 4-Feb-2005.) $)
    19.21-2 $p |- ( A. x A. y ( ph -> ps ) <-> ( ph -> A. x A. y ps ) ) $=
      ( wi wal 19.21 albii bitri ) ABGDHZCHABDHZGZCHAMCHGLNCABDFIJAMCEIK $.
  $}

  ${
    19.21bbi.1 $e |- ( ph -> A. x A. y ps ) $.
    $( Inference removing double quantifier.  (Contributed by NM,
       20-Apr-1994.) $)
    19.21bbi $p |- ( ph -> ps ) $=
      ( wal 19.21bi ) ABDABDFCEGG $.
  $}

  $( An alternative definition of ~ df-nf , which does not involve nested
     quantifiers on the same variable.  (Contributed by Mario Carneiro,
     24-Sep-2016.) $)
  nf2 $p |- ( F/ x ph <-> ( E. x ph -> A. x ph ) ) $=
    ( wnf wal wi wex df-nf nfa1 19.23 bitri ) ABCAABDZEBDABFKEABGAKBABHIJ $.

  $( An alternative definition of ~ df-nf .  (Contributed by Mario Carneiro,
     24-Sep-2016.) $)
  nf3 $p |- ( F/ x ph <-> A. x ( E. x ph -> ph ) ) $=
    ( wnf wex wal wi nf2 nfe1 19.21 bitr4i ) ABCABDZABEFKAFBEABGKABABHIJ $.

  $( Variable ` x ` is effectively not free in ` ph ` iff ` ph ` is always true
     or always false.  (Contributed by Mario Carneiro, 24-Sep-2016.) $)
  nf4 $p |- ( F/ x ph <-> ( A. x ph \/ A. x -. ph ) ) $=
    ( wnf wex wal wi wn wo nf2 imor orcom alnex orbi2i bitr4i 3bitri ) ABCABDZA
    BEZFPGZQHZQAGBEZHZABIPQJSQRHUARQKTRQABLMNO $.

  ${
    19.27.1 $e |- F/ x ps $.
    $( Theorem 19.27 of [Margaris] p. 90.  (Contributed by NM, 5-Aug-1993.) $)
    19.27 $p |- ( A. x ( ph /\ ps ) <-> ( A. x ph /\ ps ) ) $=
      ( wa wal 19.26 19.3 anbi2i bitri ) ABECFACFZBCFZEKBEABCGLBKBCDHIJ $.
  $}

  ${
    19.28.1 $e |- F/ x ph $.
    $( Theorem 19.28 of [Margaris] p. 90.  (Contributed by NM, 5-Aug-1993.) $)
    19.28 $p |- ( A. x ( ph /\ ps ) <-> ( ph /\ A. x ps ) ) $=
      ( wa wal 19.26 19.3 anbi1i bitri ) ABECFACFZBCFZEALEABCGKALACDHIJ $.
  $}

  ${
    19.36.1 $e |- F/ x ps $.
    $( Theorem 19.36 of [Margaris] p. 90.  (Contributed by NM, 5-Aug-1993.) $)
    19.36 $p |- ( E. x ( ph -> ps ) <-> ( A. x ph -> ps ) ) $=
      ( wi wex wal 19.35 19.9 imbi2i bitri ) ABECFACGZBCFZELBEABCHMBLBCDIJK $.

    19.36i.2 $e |- E. x ( ph -> ps ) $.
    $( Inference from Theorem 19.36 of [Margaris] p. 90.  (Contributed by NM,
       5-Aug-1993.) $)
    19.36i $p |- ( A. x ph -> ps ) $=
      ( wi wex wal 19.36 mpbi ) ABFCGACHBFEABCDIJ $.
  $}

  ${
    19.37.1 $e |- F/ x ph $.
    $( Theorem 19.37 of [Margaris] p. 90.  (Contributed by NM, 5-Aug-1993.) $)
    19.37 $p |- ( E. x ( ph -> ps ) <-> ( ph -> E. x ps ) ) $=
      ( wi wex wal 19.35 19.3 imbi1i bitri ) ABECFACGZBCFZEAMEABCHLAMACDIJK $.
  $}

  $( Obsolete proof of 19.38 as of 2-Jan-2018.  (Contributed by NM,
     5-Aug-1993.)  (New usage is discouraged.) $)
  19.38OLD $p |- ( ( E. x ph -> A. x ps ) -> A. x ( ph -> ps ) ) $=
    ( wex wal wi nfe1 nfa1 nfim 19.8a sp imim12i alrimi ) ACDZBCEZFABFCNOCACGBC
    HIANOBACJBCKLM $.

  ${
    19.32.1 $e |- F/ x ph $.
    $( Theorem 19.32 of [Margaris] p. 90.  (Contributed by NM, 5-Aug-1993.)
       (Revised by Mario Carneiro, 24-Sep-2016.) $)
    19.32 $p |- ( A. x ( ph \/ ps ) <-> ( ph \/ A. x ps ) ) $=
      ( wn wi wal wo nfn 19.21 df-or albii 3bitr4i ) AEZBFZCGNBCGZFABHZCGAPHNBC
      ACDIJQOCABKLAPKM $.
  $}

  ${
    19.31.1 $e |- F/ x ps $.
    $( Theorem 19.31 of [Margaris] p. 90.  (Contributed by NM, 5-Aug-1993.) $)
    19.31 $p |- ( A. x ( ph \/ ps ) <-> ( A. x ph \/ ps ) ) $=
      ( wo wal 19.32 orcom albii 3bitr4i ) BAEZCFBACFZEABEZCFLBEBACDGMKCABHILBH
      J $.
  $}

  ${
    19.44.1 $e |- F/ x ps $.
    $( Theorem 19.44 of [Margaris] p. 90.  (Contributed by NM, 5-Aug-1993.) $)
    19.44 $p |- ( E. x ( ph \/ ps ) <-> ( E. x ph \/ ps ) ) $=
      ( wo wex 19.43 19.9 orbi2i bitri ) ABECFACFZBCFZEKBEABCGLBKBCDHIJ $.
  $}

  ${
    19.45.1 $e |- F/ x ph $.
    $( Theorem 19.45 of [Margaris] p. 90.  (Contributed by NM, 5-Aug-1993.) $)
    19.45 $p |- ( E. x ( ph \/ ps ) <-> ( ph \/ E. x ps ) ) $=
      ( wo wex 19.43 19.9 orbi1i bitri ) ABECFACFZBCFZEALEABCGKALACDHIJ $.
  $}

  ${
    19.41.1 $e |- F/ x ps $.
    $( Theorem 19.41 of [Margaris] p. 90.  (Contributed by NM, 5-Aug-1993.)
       (Proof shortened by Andrew Salmon, 25-May-2011.) $)
    19.41 $p |- ( E. x ( ph /\ ps ) <-> ( E. x ph /\ ps ) ) $=
      ( wa wex 19.40 id exlimi anim2i syl pm3.21 eximd impcom impbii ) ABEZCFZA
      CFZBEZQRBCFZESABCGTBRBBCDBHIJKBRQBAPCDBALMNO $.
  $}

  ${
    19.42.1 $e |- F/ x ph $.
    $( Theorem 19.42 of [Margaris] p. 90.  (Contributed by NM, 18-Aug-1993.) $)
    19.42 $p |- ( E. x ( ph /\ ps ) <-> ( ph /\ E. x ps ) ) $=
      ( wa wex 19.41 exancom ancom 3bitr4i ) BAECFBCFZAEABECFAKEBACDGABCHAKIJ
      $.
  $}

  ${
    nfan1.1 $e |- F/ x ph $.
    nfan1.2 $e |- ( ph -> F/ x ps ) $.
    $( A closed form of ~ nfan .  (Contributed by Mario Carneiro,
       3-Oct-2016.) $)
    nfan1 $p |- F/ x ( ph /\ ps ) $=
      ( wa wal nfrd imdistani 19.28 sylibr nfi ) ABFZCMABCGZFMCGABNABCEHIABCDJK
      L $.
  $}

  ${
    exan.1 $e |- ( E. x ph /\ ps ) $.
    $( Place a conjunct in the scope of an existential quantifier.
       (Contributed by NM, 18-Aug-1993.)  (Proof shortened by Andrew Salmon,
       25-May-2011.) $)
    exan $p |- E. x ( ph /\ ps ) $=
      ( wex wal wa nfe1 19.28 mpgbi 19.29r ax-mp ) ACEZBCFGZABGCEMBGNCMBCACHIDJ
      ABCKL $.
  $}

  ${
    hbnd.1 $e |- ( ph -> A. x ph ) $.
    hbnd.2 $e |- ( ph -> ( ps -> A. x ps ) ) $.
    $( Deduction form of bound-variable hypothesis builder ~ hbn .
       (Contributed by NM, 3-Jan-2002.) $)
    hbnd $p |- ( ph -> ( -. ps -> A. x -. ps ) ) $=
      ( wal wi wn alrimih hbnt syl ) ABBCFGZCFBHZMCFGALCDEIBCJK $.
  $}

  ${
    aaan.1 $e |- F/ y ph $.
    aaan.2 $e |- F/ x ps $.
    $( Rearrange universal quantifiers.  (Contributed by NM, 12-Aug-1993.) $)
    aaan $p |- ( A. x A. y ( ph /\ ps ) <-> ( A. x ph /\ A. y ps ) ) $=
      ( wa wal 19.28 albii nfal 19.27 bitri ) ABGDHZCHABDHZGZCHACHOGNPCABDEIJAO
      CBCDFKLM $.
  $}

  ${
    eeor.1 $e |- F/ y ph $.
    eeor.2 $e |- F/ x ps $.
    $( Rearrange existential quantifiers.  (Contributed by NM, 8-Aug-1994.) $)
    eeor $p |- ( E. x E. y ( ph \/ ps ) <-> ( E. x ph \/ E. y ps ) ) $=
      ( wo wex 19.45 exbii nfex 19.44 bitri ) ABGDHZCHABDHZGZCHACHOGNPCABDEIJAO
      CBCDFKLM $.
  $}

  $( Quantified "excluded middle."  Exercise 9.2a of Boolos, p. 111,
     _Computability and Logic_.  (Contributed by NM, 10-Dec-2000.) $)
  qexmid $p |- E. x ( ph -> A. x ph ) $=
    ( wal 19.8a 19.35ri ) AABCZBFBDE $.

  $( A property related to substitution that unlike ~ equs5 doesn't require a
     distinctor antecedent.  (Contributed by NM, 2-Feb-2007.) $)
  equs5a $p |- ( E. x ( x = y /\ A. y ph ) -> A. x ( x = y -> ph ) ) $=
    ( weq wal wa wi nfa1 ax-11 imp exlimi ) BCDZACEZFLAGZBEZBNBHLMOABCIJK $.

  $( A property related to substitution that unlike ~ equs5 doesn't require a
     distinctor antecedent.  (Contributed by NM, 2-Feb-2007.) $)
  equs5e $p |- ( E. x ( x = y /\ ph ) -> A. x ( x = y -> E. y ph ) ) $=
    ( weq wa wex wi nfe1 wn wal equs3 ax-11 con3rr3 df-ex syl6ibr sylbi alrimi
    ) BCDZAEZBFZRACFZGZBSBHTRAIZGBJZIZUBABCKUERUCCJZIUARUFUDUCBCLMACNOPQ $.

  ${
    exlimdd.1 $e |- F/ x ph $.
    exlimdd.2 $e |- F/ x ch $.
    exlimdd.3 $e |- ( ph -> E. x ps ) $.
    exlimdd.4 $e |- ( ( ph /\ ps ) -> ch ) $.
    $( Existential elimination rule of natural deduction.  (Contributed by
       Mario Carneiro, 9-Feb-2017.) $)
    exlimdd $p |- ( ph -> ch ) $=
      ( wex ex exlimd mpd ) ABDICGABCDEFABCHJKL $.
  $}

  ${
    $d x ph $.
    $( Special case of Theorem 19.21 of [Margaris] p. 90. _Notational
       convention_:  We sometimes suffix with "v" the label of a theorem
       eliminating a hypothesis such as ` F/ x ph ` in ~ 19.21 via the use of
       distinct variable conditions combined with ~ nfv .  Conversely, we
       sometimes suffix with "f" the label of a theorem introducing such a
       hypothesis to eliminate the need for the distinct variable condition;
       e.g. ~ euf derived from ~ df-eu .  The "f" stands for "not free in"
       which is less restrictive than "does not occur in."  (Contributed by NM,
       5-Aug-1993.) $)
    19.21v $p |- ( A. x ( ph -> ps ) <-> ( ph -> A. x ps ) ) $=
      ( nfv 19.21 ) ABCACDE $.
  $}

  ${
    $d x ps $.
    $( Special case of Theorem 19.23 of [Margaris] p. 90.  (Contributed by NM,
       28-Jun-1998.) $)
    19.23v $p |- ( A. x ( ph -> ps ) <-> ( E. x ph -> ps ) ) $=
      ( nfv 19.23 ) ABCBCDE $.
  $}

  ${
    $d x ps $.  $d y ps $.
    $( Theorem 19.23 of [Margaris] p. 90 extended to two variables.
       (Contributed by NM, 10-Aug-2004.) $)
    19.23vv $p |- ( A. x A. y ( ph -> ps ) <-> ( E. x E. y ph -> ps ) ) $=
      ( wi wal wex 19.23v albii bitri ) ABEDFZCFADGZBEZCFLCGBEKMCABDHILBCHJ $.
  $}

  ${
    $d ph y $.  $d ps x $.
    $( Theorem *11.53 in [WhiteheadRussell] p. 164.  (Contributed by Andrew
       Salmon, 24-May-2011.) $)
    pm11.53 $p |- ( A. x A. y ( ph -> ps ) <-> ( E. x ph -> A. y ps ) ) $=
      ( wi wal wex 19.21v albii nfv nfal 19.23 bitri ) ABEDFZCFABDFZEZCFACGOENP
      CABDHIAOCBCDBCJKLM $.
  $}

  ${
    $d x ps $.
    $( Theorem 19.27 of [Margaris] p. 90.  (Contributed by NM, 3-Jun-2004.) $)
    19.27v $p |- ( A. x ( ph /\ ps ) <-> ( A. x ph /\ ps ) ) $=
      ( nfv 19.27 ) ABCBCDE $.
  $}

  ${
    $d x ph $.
    $( Theorem 19.28 of [Margaris] p. 90.  (Contributed by NM, 25-Mar-2004.) $)
    19.28v $p |- ( A. x ( ph /\ ps ) <-> ( ph /\ A. x ps ) ) $=
      ( nfv 19.28 ) ABCACDE $.
  $}

  ${
    $d x ps $.
    $( Special case of Theorem 19.36 of [Margaris] p. 90.  (Contributed by NM,
       18-Aug-1993.) $)
    19.36v $p |- ( E. x ( ph -> ps ) <-> ( A. x ph -> ps ) ) $=
      ( nfv 19.36 ) ABCBCDE $.
  $}

  ${
    $d x ps $.
    19.36aiv.1 $e |- E. x ( ph -> ps ) $.
    $( Inference from Theorem 19.36 of [Margaris] p. 90.  (Contributed by NM,
       5-Aug-1993.) $)
    19.36aiv $p |- ( A. x ph -> ps ) $=
      ( nfv 19.36i ) ABCBCEDF $.
  $}

  ${
    $d x ps $.  $d y ph $.
    $( Special case of ~ 19.12 where its converse holds.  (Contributed by NM,
       18-Jul-2001.)  (Revised by Andrew Salmon, 11-Jul-2011.) $)
    19.12vv $p |- ( E. x A. y ( ph -> ps ) <-> A. y E. x ( ph -> ps ) ) $=
      ( wi wal wex 19.21v exbii nfv nfal 19.36 19.36v albii 19.21 bitr2i 3bitri
      ) ABEZDFZCGABDFZEZCGACFZTEZRCGZDFZSUACABDHIATCBCDBCJKLUEUBBEZDFUCUDUFDABC
      MNUBBDADCADJKOPQ $.
  $}

  ${
    $d x ph $.
    $( Special case of Theorem 19.37 of [Margaris] p. 90.  (Contributed by NM,
       5-Aug-1993.) $)
    19.37v $p |- ( E. x ( ph -> ps ) <-> ( ph -> E. x ps ) ) $=
      ( nfv 19.37 ) ABCACDE $.
  $}

  ${
    $d x ph $.
    19.37aiv.1 $e |- E. x ( ph -> ps ) $.
    $( Inference from Theorem 19.37 of [Margaris] p. 90.  (Contributed by NM,
       5-Aug-1993.) $)
    19.37aiv $p |- ( ph -> E. x ps ) $=
      ( wi wex 19.37v mpbi ) ABECFABCFEDABCGH $.
  $}

  ${
    $d x ps $.
    $( Special case of Theorem 19.41 of [Margaris] p. 90.  (Contributed by NM,
       5-Aug-1993.) $)
    19.41v $p |- ( E. x ( ph /\ ps ) <-> ( E. x ph /\ ps ) ) $=
      ( nfv 19.41 ) ABCBCDE $.
  $}

  ${
    $d x ps $.  $d y ps $.
    $( Theorem 19.41 of [Margaris] p. 90 with 2 quantifiers.  (Contributed by
       NM, 30-Apr-1995.) $)
    19.41vv $p |- ( E. x E. y ( ph /\ ps ) <-> ( E. x E. y ph /\ ps ) ) $=
      ( wa wex 19.41v exbii bitri ) ABEDFZCFADFZBEZCFKCFBEJLCABDGHKBCGI $.
  $}

  ${
    $d x ps $.  $d y ps $.  $d z ps $.
    $( Theorem 19.41 of [Margaris] p. 90 with 3 quantifiers.  (Contributed by
       NM, 30-Apr-1995.) $)
    19.41vvv $p |- ( E. x E. y E. z ( ph /\ ps ) <->
                     ( E. x E. y E. z ph /\ ps ) ) $=
      ( wa wex 19.41vv exbii 19.41v bitri ) ABFEGDGZCGAEGDGZBFZCGMCGBFLNCABDEHI
      MBCJK $.
  $}

  ${
    $d w ps $.  $d x ps $.  $d y ps $.  $d z ps $.
    $( Theorem 19.41 of [Margaris] p. 90 with 4 quantifiers.  (Contributed by
       FL, 14-Jul-2007.) $)
    19.41vvvv $p |- ( E. w E. x E. y E. z ( ph /\ ps ) <->
                     ( E. w E. x E. y E. z ph /\ ps ) ) $=
      ( wa wex 19.41vvv exbii 19.41v bitri ) ABGEHDHCHZFHAEHDHCHZBGZFHNFHBGMOFA
      BCDEIJNBFKL $.
  $}

  ${
    $d x ph $.
    $( Special case of Theorem 19.42 of [Margaris] p. 90.  (Contributed by NM,
       5-Aug-1993.) $)
    19.42v $p |- ( E. x ( ph /\ ps ) <-> ( ph /\ E. x ps ) ) $=
      ( nfv 19.42 ) ABCACDE $.
  $}

  ${
    $d y ph $.
    $( Distribution of existential quantifiers.  (Contributed by NM,
       9-Mar-1995.) $)
    exdistr $p |- ( E. x E. y ( ph /\ ps ) <-> E. x ( ph /\ E. y ps ) ) $=
      ( wa wex 19.42v exbii ) ABEDFABDFECABDGH $.
  $}

  ${
    $d x ph $.  $d y ph $.
    $( Theorem 19.42 of [Margaris] p. 90 with 2 quantifiers.  (Contributed by
       NM, 16-Mar-1995.) $)
    19.42vv $p |- ( E. x E. y ( ph /\ ps ) <-> ( ph /\ E. x E. y ps ) ) $=
      ( wa wex exdistr 19.42v bitri ) ABEDFCFABDFZECFAJCFEABCDGAJCHI $.
  $}

  ${
    $d x ph $.  $d y ph $.  $d z ph $.
    $( Theorem 19.42 of [Margaris] p. 90 with 3 quantifiers.  (Contributed by
       NM, 21-Sep-2011.) $)
    19.42vvv $p |- ( E. x E. y E. z ( ph /\ ps )
                       <-> ( ph /\ E. x E. y E. z ps ) ) $=
      ( wa wex 19.42vv exbii 19.42v bitri ) ABFEGDGZCGABEGDGZFZCGAMCGFLNCABDEHI
      AMCJK $.
  $}

  ${
    $d y ph $.  $d z ph $.
    $( Distribution of existential quantifiers.  (Contributed by NM,
       17-Mar-1995.) $)
    exdistr2 $p |- ( E. x E. y E. z ( ph /\ ps ) <->
                   E. x ( ph /\ E. y E. z ps ) ) $=
      ( wa wex 19.42vv exbii ) ABFEGDGABEGDGFCABDEHI $.
  $}

  ${
    $d y ph $.  $d z ph $.  $d z ps $.
    $( Distribution of existential quantifiers.  (Contributed by NM,
       9-Mar-1995.)  (Proof shortened by Andrew Salmon, 25-May-2011.) $)
    3exdistr $p |- ( E. x E. y E. z ( ph /\ ps /\ ch ) <->
                E. x ( ph /\ E. y ( ps /\ E. z ch ) ) ) $=
      ( w3a wex wa 3anass 2exbii 19.42vv exdistr anbi2i 3bitri exbii ) ABCGZFHE
      HZABCFHIEHZIZDRABCIZIZFHEHAUAFHEHZITQUBEFABCJKAUAEFLUCSABCEFMNOP $.
  $}

  ${
    $d y ph $.  $d z ph $.  $d w ph $.  $d z ps $.  $d w ps $.  $d w ch $.
    $( Distribution of existential quantifiers.  (Contributed by NM,
       9-Mar-1995.) $)
    4exdistr $p |- ( E. x E. y E. z E. w ( ( ph /\ ps ) /\ ( ch /\ th ) ) <->
                E. x ( ph /\ E. y ( ps /\ E. z ( ch /\ E. w th ) ) ) ) $=
      ( wa wex anass exbii 19.42v anbi2i 3bitri bitri ) ABICDIZIZHJZGJZFJZABCDH
      JIZGJIZFJIZEUAAUCIZFJUDTUEFTABUBIZIZGJAUFGJZIUESUGGSABQIZIZHJZUGRUJHABQKL
      UKAUIHJZIABQHJZIZIUGAUIHMULUNABQHMNUNUFAUMUBBCDHMNNOPLAUFGMUHUCABUBGMNOLA
      UCFMPL $.
  $}

  ${
    eean.1 $e |- F/ y ph $.
    eean.2 $e |- F/ x ps $.
    $( Rearrange existential quantifiers.  (Contributed by NM, 27-Oct-2010.)
       (Revised by Mario Carneiro, 6-Oct-2016.) $)
    eean $p |- ( E. x E. y ( ph /\ ps ) <-> ( E. x ph /\ E. y ps ) ) $=
      ( wa wex 19.42 exbii nfex 19.41 bitri ) ABGDHZCHABDHZGZCHACHOGNPCABDEIJAO
      CBCDFKLM $.
  $}

  ${
    $d y ph $.  $d x ps $.
    $( Rearrange existential quantifiers.  (Contributed by NM, 26-Jul-1995.) $)
    eeanv $p |- ( E. x E. y ( ph /\ ps ) <-> ( E. x ph /\ E. y ps ) ) $=
      ( nfv eean ) ABCDADEBCEF $.
  $}

  ${
    $d y ph $.  $d z ph $.  $d x z ps $.  $d x y ch $.
    $( Rearrange existential quantifiers.  (Contributed by NM, 26-Jul-1995.)
       (Proof shortened by Andrew Salmon, 25-May-2011.) $)
    eeeanv $p |- ( E. x E. y E. z ( ph /\ ps /\ ch ) <->
                 ( E. x ph /\ E. y ps /\ E. z ch ) ) $=
      ( w3a wex wa df-3an 3exbii eeanv exbii anbi1i 19.41v 3bitr4i 3bitri ) ABC
      GZFHEHDHABIZCIZFHEHZDHSEHZCFHZIZDHZADHZBEHZUCGZRTDEFABCJKUAUDDSCEFLMUBDHZ
      UCIUFUGIZUCIUEUHUIUJUCABDELNUBUCDOUFUGUCJPQ $.
  $}

  ${
    $d z ph $.  $d w ph $.  $d x ps $.  $d y ps $.  $d y z $.  $d w x $.
    $( Rearrange existential quantifiers.  (Contributed by NM, 31-Jul-1995.) $)
    ee4anv $p |- ( E. x E. y E. z E. w ( ph /\ ps ) <->
                  ( E. x E. y ph /\ E. z E. w ps ) ) $=
      ( wa wex excom exbii eeanv 2exbii 3bitri ) ABGFHZEHDHZCHNDHZEHZCHADHZBFHZ
      GZEHCHRCHSEHGOQCNDEIJPTCEABDFKLRSCEKM $.
  $}

  ${
    $d x ph $.
    nexdv.1 $e |- ( ph -> -. ps ) $.
    $( Deduction for generalization rule for negated wff.  (Contributed by NM,
       5-Aug-1993.) $)
    nexdv $p |- ( ph -> -. E. x ps ) $=
      ( nfv nexd ) ABCACEDF $.
  $}

  $( One of the two equality axioms of standard predicate calculus, called
     substitutivity of equality.  (The other one is ~ stdpc6 .)  Translated to
     traditional notation, it can be
     read:  " ` x = y -> ( ph ( x , x ) -> ph ( x , y ) ) ` , provided that
     ` y ` is free for ` x ` in ` ph ( x , x ) ` ."  Axiom 7 of [Mendelson]
     p. 95.  (Contributed by NM, 15-Feb-2005.) $)
  stdpc7 $p |- ( x = y -> ( [ x / y ] ph -> ph ) ) $=
    ( wsb wi sbequ2 equcoms ) ACBDAECBACBFG $.

  $( An equality theorem for substitution.  (Contributed by NM, 5-Aug-1993.) $)
  sbequ1 $p |- ( x = y -> ( ph -> [ y / x ] ph ) ) $=
    ( weq wsb wa wi wex pm3.4 19.8a df-sb sylanbrc ex ) BCDZAABCEZNAFZNAGPBHONA
    IPBJABCKLM $.

  $( An equality theorem for substitution.  (Contributed by NM, 5-Aug-1993.) $)
  sbequ12 $p |- ( x = y -> ( ph <-> [ y / x ] ph ) ) $=
    ( weq wsb sbequ1 sbequ2 impbid ) BCDAABCEABCFABCGH $.

  $( An equality theorem for substitution.  (Contributed by NM, 6-Oct-2004.)
     (Proof shortened by Andrew Salmon, 21-Jun-2011.) $)
  sbequ12r $p |- ( x = y -> ( [ x / y ] ph <-> ph ) ) $=
    ( wsb wb weq sbequ12 bicomd equcoms ) ACBDZAECBCBFAJACBGHI $.

  $( An equality theorem for substitution.  (Contributed by NM, 5-Aug-1993.) $)
  sbequ12a $p |- ( x = y -> ( [ y / x ] ph <-> [ x / y ] ph ) ) $=
    ( weq wsb sbequ12 wb equcoms bitr3d ) BCDAABCEACBEZABCFAJGCBACBFHI $.

  $( An identity theorem for substitution.  Remark 9.1 in [Megill] p. 447 (p.
     15 of the preprint).  (Contributed by NM, 5-Aug-1993.) $)
  sbid $p |- ( [ x / x ] ph <-> ph ) $=
    ( wsb weq wb equid sbequ12 ax-mp bicomi ) AABBCZBBDAJEBFABBGHI $.

  $( A version of ~ sb4 that doesn't require a distinctor antecedent.
     (Contributed by NM, 2-Feb-2007.) $)
  sb4a $p |- ( [ y / x ] A. y ph -> A. x ( x = y -> ph ) ) $=
    ( wal wsb weq wa wex wi sb1 equs5a syl ) ACDZBCEBCFZMGBHNAIBDMBCJABCKL $.

  $( One direction of a simplified definition of substitution that unlike ~ sb4
     doesn't require a distinctor antecedent.  (Contributed by NM,
     2-Feb-2007.) $)
  sb4e $p |- ( [ y / x ] ph -> A. x ( x = y -> E. y ph ) ) $=
    ( wsb weq wa wex wi wal sb1 equs5e syl ) ABCDBCEZAFBGMACGHBIABCJABCKL $.

$(
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
          Axiom scheme ax-12 (Quantified Equality)
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
$)

  $( Axiom of Quantified Equality.  One of the equality and substitution axioms
     of predicate calculus with equality.

     An equivalent way to express this axiom that may be easier to understand
     is ` ( -. x = y -> ( -. x = z -> ( y = z -> A. x y = z ) ) ) ` (see
     ~ ax12b ).  Recall that in the intended interpretation, our variables are
     metavariables ranging over the variables of predicate calculus (the object
     language).  In order for the first antecedent ` -. x = y ` to hold, ` x `
     and ` y ` must have different values and thus cannot be the same
     object-language variable.  Similarly, ` x ` and ` z ` cannot be the same
     object-language variable.  Therefore, ` x ` will not occur in the wff
     ` y = z ` when the first two antecedents hold, so analogous to ~ ax-17 ,
     the conclusion ` ( y = z -> A. x y = z ) ` follows.

     The original version of this axiom was ~ ax-12o and was replaced with this
     shorter ~ ax-12 in December 2015.  The old axiom is proved from this one
     as theorem ~ ax12o .  Conversely, this axiom is proved from ~ ax-12o as
     theorem ~ ax12 .

     The primary purpose of this axiom is to provide a way to introduce the
     quantifier ` A. x ` on ` y = z ` even when ` x ` and ` y ` are substituted
     with the same variable.  In this case, the first antecedent becomes
     ` -. x = x ` and the axiom still holds.

     Although this version is shorter, the original version ~ ax12o may be more
     practical to work with because of the "distinctor" form of its
     antecedents.  A typical application of ~ ax12o is in ~ dvelimh which
     converts a distinct variable pair to the distinctor antecendent
     ` -. A. x x = y ` .

     This axiom can be weakened if desired by adding distinct variable
     restrictions on pairs ` x , z ` and ` y , z ` .  To show that, we add
     these restrictions to theorem ~ ax12v and use only ~ ax12v for further
     derivations.  Thus, ~ ax12v should be the only theorem referencing this
     axiom.  Other theorems can reference either ~ ax12v or ~ ax12o .

     This axiom scheme is logically redundant (see ~ ax12w ) but is used as an
     auxiliary axiom to achieve metalogical completeness.  (Contributed by NM,
     21-Dec-2015.)  (New usage is discouraged.) $)
  ax-12 $a |- ( -. x = y -> ( y = z -> A. x y = z ) ) $.

  ${
    $d x z $.  $d y z $.
    $( A weaker version of ~ ax-12 with distinct variable restrictions on pairs
       ` x , z ` and ` y , z ` .  In order to show that this weakening is
       adequate, this should be the only theorem referencing ~ ax-12 directly.
       (Contributed by NM, 30-Jun-2016.) $)
    ax12v $p |- ( -. x = y -> ( y = z -> A. x y = z ) ) $=
      ( ax-12 ) ABCD $.
  $}

  ${
    $d w y $.  $d w z $.
    $( Lemma for ~ ax12o .  Similar to ~ equvin but with a negated equality.
       (Contributed by NM, 24-Dec-2015.) $)
    ax12olem1 $p |- ( E. w ( y = w /\ -. z = w ) <-> -. y = z ) $=
      ( weq wn wa wex ax-8 equcomi con3and exlimiv ax-17 wi equcoms com12 con3d
      syl6 jctild spimeh impbii ) ACDZBCDZEZFZCGABDZEZUDUFCUAUEUBUAUECBDZUBACBH
      CBIQJKUFUDCAUFCLCADZUFUCUAUHUBUEUBUHUEUHUEMCBUGUHBADUECBAHBAIQNOPCAIRST
      $.
  $}

  ${
    $d w x z $.  $d w y $.
    ax12olem2.1 $e |- ( -. x = y -> ( y = w -> A. x y = w ) ) $.
    $( Lemma for ~ ax12o .  Negate the equalities in ~ ax-12 , shown as the
       hypothesis.  (Contributed by NM, 24-Dec-2015.) $)
    ax12olem2 $p |- ( -. x = y -> ( -. y = z -> A. x -. y = z ) ) $=
      ( weq wn wa wex wal anim1d ax-17 anim2i 19.26 sylibr syl6 19.12 ax12olem1
      eximdv albii 3imtr3g ) ABFGZBDFZCDFGZHZDIZUFAJZBCFGZUHAJUBUFUEAJZDIUGUBUE
      UIDUBUEUCAJZUDHZUIUBUCUJUDEKUKUJUDAJZHUIUDULUJUDALMUCUDANOPSUEDAQPBCDRZUF
      UHAUMTUA $.
  $}

  $( Lemma for ~ ax12o .  Show the equivalence of an intermediate equivalent to
     ~ ax12o with the conjunction of ~ ax-12 and a variant with negated
     equalities.  (Contributed by NM, 24-Dec-2015.) $)
  ax12olem3 $p |- ( ( -. x = y -> ( -. A. x -. y = z -> A. x y = z ) )
         <-> ( ( -. x = y -> ( y = z -> A. x y = z ) )
            /\ ( -. x = y -> ( -. y = z -> A. x -. y = z ) ) ) ) $=
    ( weq wn wal wi wa sp con2i imim1i imim2i con1d jca imim1d com12 imim3i imp
    con1 impbii ) ABDEZBCDZEZAFZEZUBAFZGZGZUAUBUFGZGZUAUCUDGZGZHUHUJULUGUIUAUBU
    EUFUDUBUCAIJKLUGUKUAUGUDUBUFUBUEUBAILMLNUJULUHUIUKUGUAUKUIUGUKUEUBUFUBUDSOP
    QRT $.

  ${
    $d w x z $.  $d w y z $.
    ax12olem4.1 $e |- ( -. x = y -> ( y = z -> A. x y = z ) ) $.
    ax12olem4.2 $e |- ( -. x = y -> ( y = w -> A. x y = w ) ) $.
    $( Lemma for ~ ax12o .  Construct an intermediate equivalent to ~ ax-12
       from two instances of ~ ax-12 .  (Contributed by NM, 24-Dec-2015.) $)
    ax12olem4 $p |- ( -. x = y -> ( -. A. x -. y = z -> A. x y = z ) ) $=
      ( weq wn wal wi ax12olem2 ax12olem3 mpbir2an ) ABGHZBCGZHZAIZHOAIZJJNORJJ
      NPQJJEABCDFKABCLM $.
  $}

  ${
    ax12olem5.1 $e |- ( -. x = y -> ( -. A. x -. y = z -> A. x y = z ) ) $.
    $( Lemma for ~ ax12o .  See ~ ax12olem6 for derivation of ~ ax12o from the
       conclusion.  (Contributed by NM, 24-Dec-2015.) $)
    ax12olem5 $p |- ( -. A. x x = y -> ( y = z -> A. x y = z ) ) $=
      ( weq wal wn wex wi exnal 19.8a hbe1 hba1 hbim syl5bi exlimih syl5 sylbir
      df-ex ) ABEZAFGTGZAHZBCEZUCAFZITAJUCUCAHZUBUDUCAKUAUEUDIAUEUDAUCALUCAMNUE
      UCGAFGUAUDUCASDOPQR $.
  $}

  ${
    $d w x $.  $d w y $.  $d w z $.
    ax12olem6.1 $e |- ( -. A. x x = z -> ( z = w -> A. x z = w ) ) $.
    ax12olem6.2 $e |- ( -. A. x x = y -> ( y = w -> A. x y = w ) ) $.
    $( Lemma for ~ ax12o .  Derivation of ~ ax12o from the hypotheses, without
       using ~ ax12o .  (Contributed by Andrew Salmon, 21-Jul-2011.)  (Revised
       by NM, 24-Dec-2015.) $)
    ax12olem6 $p |- ( -. A. x x = y
      -> ( -. A. x x = z -> ( y = z -> A. x y = z ) ) ) $=
      ( weq wn wi hbn1 hbim1 ax-17 equcom equequ1 syl5bb imbi2d dvelimhw 19.21h
      wal syl6ib pm2.86d ) ABGASHZACGZASHZBCGZUEASZUBUDUEIZUGASUDUFIUDCDGZIUGAB
      DUDUHAUCAJZEKUGDLDBGZUHUEUDUHDCGUJUECDMDBCNOPFQUDUEAUIRTUA $.
  $}

  ${
    $d w x $.  $d w y $.  $d w z $.
    ax12olem7.1 $e |- ( -. x = z -> ( -. A. x -. z = w -> A. x z = w ) ) $.
    ax12olem7.2 $e |- ( -. x = y -> ( -. A. x -. y = w -> A. x y = w ) ) $.
    $( Lemma for ~ ax12o .  Derivation of ~ ax12o from the hypotheses, without
       using ~ ax12o .  (Contributed by NM, 24-Dec-2015.) $)
    ax12olem7 $p |- ( -. A. x x = y
              -> ( -. A. x x = z -> ( y = z -> A. x y = z ) ) ) $=
      ( ax12olem5 ax12olem6 ) ABCDACDEGABDFGH $.
  $}

  ${
    $d x w v $.  $d y w v $.  $d z w v $.
    $( Derive set.mm's original ~ ax-12o from the shorter ~ ax-12 .
       (Contributed by NM, 29-Nov-2015.)  (Revised by NM, 24-Dec-2015.) $)
    ax12o $p |- ( -. A. z z = x -> ( -. A. z z = y
              -> ( x = y -> A. z x = y ) ) ) $=
      ( vw vv ax12v ax12olem4 ax12olem7 ) CABDCBDECBDFCBEFGCADECADFCAEFGH $.
  $}

  $( Derive ~ ax-12 from ~ ax12v via ~ ax12o .  This shows that the weakening
     in ~ ax12v is still sufficient for a complete system.  (Contributed by NM,
     21-Dec-2015.) $)
  ax12 $p |- ( -. x = y -> ( y = z -> A. x y = z ) ) $=
    ( weq wn wal wi wa sp con3i adantr equtrr equcoms con3rr3 imp nsyl ax12o ex
    sylc pm2.43d ) ABDZEZBCDZUCAFZUBUCUCUDGZUBUCHZUAAFZEZACDZAFZEUEUBUHUCUGUAUA
    AIJKUFUIUJUBUCUIEUCUIUAUIUAGCBCBALMNOUIAIPBCAQSRT $.

  ${
    $d x v w $.  $d y v w $.
    $( Lemma for ~ ax10 .  Change bound variable.  (Contributed by NM,
       22-Jul-2015.) $)
    ax10lem1 $p |- ( A. x x = w -> A. y y = w ) $=
      ( vv weq wal ax-8 cbvalivw syl ) ACEZAFDCEZDFBCEZBFJKADADCGHKLDBDBCGHI $.
  $}

  ${
    $d x y $.  $d x z $.
    $( Lemma for ~ ax10 .  Change free variable.  (Contributed by NM,
       25-Jul-2015.) $)
    ax10lem2 $p |- ( A. x x = y -> A. x x = z ) $=
      ( weq wal wn hbe1 equequ2 biimprd con3rr3 19.8a syl6 ax-17 equequ1 notbid
      wex spimeh pm2.61d1 exlimih exnal 3imtr3i con4i ) ACDZAEZABDZAEZUCFZAPUEF
      ZAPZUDFUFFUGUIAUHAGUGCBDZUIUGUJUHUIUJUEUCUJUCUECBAHIJUHAKLUJFZUHACUKAMUCU
      HUKUCUEUJACBNOIQRSUCATUEATUAUB $.
  $}

  ${
    $d w x y $.  $d w x z $.
    $( Lemma for ~ ax10 .  Similar to ~ ax-10 but with distinct variables.
       (Contributed by NM, 25-Jul-2015.) $)
    ax10lem3 $p |- ( A. x x = y -> A. y y = x ) $=
      ( vz vw weq wal ax10lem2 ax10lem1 syl ) ABEAFACEAFZBAEBFZABCGJDAEDFZKJDCE
      DFLADCHDCAGIDBAHII $.
  $}

  ${
    $d x z $.  $d y z $.  $d z ps $.  $d x ph $.
    dvelimv.1 $e |- ( z = y -> ( ph <-> ps ) ) $.
    $( Similar to ~ dvelim with first hypothesis replaced by distinct variable
       condition.  (Contributed by NM, 25-Jul-2015.) $)
    dvelimv $p |- ( -. A. x x = y -> ( ps -> A. x ps ) ) $=
      ( weq wal wn wi ax-17 alrimih sp a2i alimi syl ax10lem3 con3i hbn1 hban
      a1d syl5ibr ax12o imp a17d hbimd hbald biimpd ax9v con3 al2imi mtoi nsyl2
      wa syl56 expcom ax-11 syl2im pm2.27 syld pm2.61d2 ) CDGZCHIZCEGZCHZBBCHZJ
      ZVEIZVCVGBEDGZAJZEHZVHVCUNZVKCHVFBVIBEHZJZEHVKBVNEBEKZBVMVIVOUALVNVJEVIVM
      AVMAVIBBEMFUBNOPVLVJCEVHVCEVHECGZEHZIZVHEHVQVEECQRVRVHEVPESVEVQCEQRLPVCEK
      TVLVIACVHVCCVDCSVBCSTVHVCVIVICHJEDCUCUDVLACUEUFUGVKBCVKBIZEHZBVKVIBJZEHZV
      TIVJWAEVIABVIABFUHNOWBVTVIIZEHEDUIWAVSWCEVIBUJUKULPVSEKUMOUOUPVEBVDBJZCHZ
      VFVEVDBVMWEVDCMVOBCEUQURVDWDBCVDBUSUKUTVA $.
  $}

  ${
    $d w z x $.  $d w y $.
    $( Quantifier introduction when one pair of variables is distinct.
       (Contributed by NM, 2-Jan-2002.)  (Revised by NM, 20-Jul-2015.) $)
    dveeq2 $p |- ( -. A. x x = y -> ( z = y -> A. x z = y ) ) $=
      ( vw weq equequ2 dvelimv ) CDECBEABDDBCFG $.
  $}

  ${
    $d w z x $.  $d w z y $.
    $( Lemma for ~ ax10 .  Change bound variable.  (Contributed by NM,
       8-Jul-2016.) $)
    ax10lem4 $p |- ( A. x x = w -> A. y y = x ) $=
      ( vz weq wal wn wi ax10lem1 equequ1 dvelimv wb equequ2 sps albidh biimprd
      hba1 syl6 syl7 spsd pm2.43d com12 pm2.18d ) ACEZAFZBAEZBFZUGGZUEUGUHUEUGU
      HUDUEUGHAUEBCEZBFZUHUDUGABCIUHUDUDBFZUJUGHDCEUDBADDACJKUKUGUJUKUFUIBUDBQU
      DUFUILBACBMNOPRSTUAUBUC $.
  $}

  ${
    $d w z $.  $d u v w $.  $d v x $.  $d v y $.
    $( Lemma for ~ ax10 .  Change free and bound variables.  (Contributed by
       NM, 22-Jul-2015.) $)
    ax10lem5 $p |- ( A. z z = w -> A. y y = x ) $=
      ( vv vu weq wal ax10lem1 ax10lem4 syl ) CDGCHZAEGAHZBAGBHLFEGFHZMLEDGEHNC
      EDIEFDJKFAEIKABEJK $.
  $}

  $( Lemma for ~ ax10 .  Similar to ~ ax10o but with reversed antecedent.
     (Contributed by NM, 25-Jul-2015.) $)
  ax10lem6 $p |- ( A. y y = x -> ( A. x ph -> A. y ph ) ) $=
    ( weq wal wi ax-11 sps pm2.27 al2imi syld ) CBDZCEABEZLAFZCEZACELMOFCACBGHL
    NACLAIJK $.

  ${
    $d x z $.  $d y z $.
    $( Derive set.mm's original ~ ax-10 from others.  (Contributed by NM,
       25-Jul-2015.)  (Revised by NM, 7-Nov-2015.) $)
    ax10 $p |- ( A. x x = y -> A. y y = x ) $=
      ( vz weq wal wn ax9v wex df-ex wi wa dveeq2 imp ax10lem6 equcomi ax10lem5
      alimi syl6 syl56 exp3acom23 pm2.18 exlimdv syl5bir mpi ) ABDAEZCADZFCEFZB
      ADBEZCAGUGUFCHUEUHUFCIUEUFUHCUEUFUHFZUHJUHUEUIUFUHUIUFKUFBEZUEACDZAEZUHUI
      UFUJBACLMUEUJUFAEULUFBANUFUKACAOQRABACPSTUHUARUBUCUD $.
  $}

  ${
    $d x y $.  $d w ph $.  $d w z $.
    $( Generalization of ~ ax16 .  (Contributed by NM, 25-Jul-2015.) $)
    a16g $p |- ( A. x x = y -> ( ph -> A. z ph ) ) $=
      ( vw weq wex wal wi a9ev ax10lem5 wn hbn1 pm2.21 alrimih ax-17 ja equcomi
      ax-1 ax-11 syl2im ax-5 syl6 com23 syl5 exlimih mpsyl ) EDFZEGBCFBHUHEHZAA
      DHZIZEDJDEBCKUHUIUKIZEUIUKULEHUILULEUHEMUIUKNOUKULEUKEPUKUISOQUIDEFZDHZUH
      UKEDEDKUHAUNUJUHAUMAIDHZUNUJIUHUMAAEHUOEDRAEPADETUAUMADUBUCUDUEUFUG $.
  $}

  $( Commutation law for identical variable specifiers.  The antecedent and
     consequent are true when ` x ` and ` y ` are substituted with the same
     variable.  Lemma L12 in [Megill] p. 445 (p. 12 of the preprint).
     (Contributed by NM, 5-Aug-1993.) $)
  aecom $p |- ( A. x x = y -> A. y y = x ) $=
    ( ax10 ) ABC $.

  ${
    alequcoms.1 $e |- ( A. x x = y -> ph ) $.
    $( A commutation rule for identical variable specifiers.  (Contributed by
       NM, 5-Aug-1993.) $)
    aecoms $p |- ( A. y y = x -> ph ) $=
      ( weq wal aecom syl ) CBECFBCEBFACBGDH $.
  $}

  ${
    nalequcoms.1 $e |- ( -. A. x x = y -> ph ) $.
    $( A commutation rule for distinct variable specifiers.  (Contributed by
       NM, 2-Jan-2002.) $)
    naecoms $p |- ( -. A. y y = x -> ph ) $=
      ( weq wal aecom nsyl4 con1i ) ACBECFZBCEBFJABCGDHI $.
  $}

  ${
    $d x v $.  $d y v $.
    $( Theorem showing that ~ ax-9 follows from the weaker version ~ ax9v .
       (Even though this theorem depends on ~ ax-9 , all references of ~ ax-9
       are made via ~ ax9v .  An earlier version stated ~ ax9v as a separate
       axiom, but having two axioms caused some confusion.)

       This theorem should be referenced in place of ~ ax-9 so that all proofs
       can be traced back to ~ ax9v .  (Contributed by NM, 12-Nov-2013.)
       (Revised by NM, 25-Jul-2015.) $)
    ax9 $p |- -. A. x -. x = y $=
      ( vv weq wal wn sp nsyl3 wi ax9v dveeq2 hba1 wb equequ2 syl notbid albidh
      mtbii syl6com con3i alrimiv mt3 pm2.61i ) ABDZAEZUDFZAEZFZUGUDUEUFAGUDAGH
      UEFZUHIZCBDZFZCECBJUJFULCUKUJUIUKUKAEZUHABCKUMACDZFZAEUGACJUMUOUFAUKALUMU
      NUDUMUKUNUDMUKAGCBANOPQRSTUAUBUC $.
  $}

  $( Show that the original axiom ~ ax-9o can be derived from ~ ax9 and
     others.  See ~ ax9from9o for the rederivation of ~ ax9 from ~ ax-9o .

     Normally, ~ ax9o should be used rather than ~ ax-9o , except by theorems
     specifically studying the latter's properties.  (Contributed by NM,
     5-Aug-1993.)  (Proof modification is discouraged.) $)
  ax9o $p |- ( A. x ( x = y -> A. x ph ) -> ph ) $=
    ( weq wal wi wn ax9 con3 al2imi mtoi ax6o syl ) BCDZABEZFZBEZOGZBEZGAQSNGZB
    EBCHPRTBNOIJKABLM $.

  $( At least one individual exists.  This is not a theorem of free logic,
     which is sound in empty domains.  For such a logic, we would add this
     theorem as an axiom of set theory (Axiom 0 of [Kunen] p. 10).  In the
     system consisting of ~ ax-5 through ~ ax-14 and ~ ax-17 , all axioms other
     than ~ ax9 are believed to be theorems of free logic, although the system
     without ~ ax9 is probably not complete in free logic.  (Contributed by NM,
     5-Aug-1993.) $)
  a9e $p |- E. x x = y $=
    ( weq wex wn wal ax9 df-ex mpbir ) ABCZADJEAFEABGJAHI $.

  $( Show that ~ ax-10o can be derived from ~ ax-10 in the form of ~ ax10 .
     Normally, ~ ax10o should be used rather than ~ ax-10o , except by theorems
     specifically studying the latter's properties.  (Contributed by NM,
     16-May-2008.)  (Proof modification is discouraged.) $)
  ax10o $p |- ( A. x x = y -> ( A. x ph -> A. y ph ) ) $=
    ( weq wal wi ax10 ax-11 equcoms sps pm2.27 al2imi sylsyld ) BCDZBECBDZCEABE
    ZOAFZCEZACEBCGNPRFZBSCBACBHIJOQACOAKLM $.

  $( All variables are effectively bound in an identical variable specifier.
     (Contributed by NM, 5-Aug-1993.) $)
  hbae $p |- ( A. x x = y -> A. z A. x x = y ) $=
    ( weq wal wi wn ax12o syl7 ax10o aecoms pm2.43i syl5 pm2.61ii a5i ax-7 syl
    sp ) ABDZAEZSCEZAETCESUAACADCEZCBDCEZTUAFZTSUBGUCGUASARABCHIUDACSACJKUDBCTS
    BEZBCDBEUATUESABJLSBCJMKNOSACPQ $.

  $( All variables are effectively bound in an identical variable specifier.
     (Contributed by Mario Carneiro, 11-Aug-2016.) $)
  nfae $p |- F/ z A. x x = y $=
    ( weq wal hbae nfi ) ABDAECABCFG $.

  $( All variables are effectively bound in a distinct variable specifier.
     Lemma L19 in [Megill] p. 446 (p. 14 of the preprint).  (Contributed by NM,
     5-Aug-1993.) $)
  hbnae $p |- ( -. A. x x = y -> A. z -. A. x x = y ) $=
    ( weq wal hbae hbn ) ABDAECABCFG $.

  $( All variables are effectively bound in a distinct variable specifier.
     (Contributed by Mario Carneiro, 11-Aug-2016.) $)
  nfnae $p |- F/ z -. A. x x = y $=
    ( weq wal nfae nfn ) ABDAECABCFG $.

  ${
    hbnalequs.1 $e |- ( A. z -. A. x x = y -> ph ) $.
    $( Rule that applies ~ hbnae to antecedent.  (Contributed by NM,
       5-Aug-1993.) $)
    hbnaes $p |- ( -. A. x x = y -> ph ) $=
      ( weq wal wn hbnae syl ) BCFBGHZKDGABCDIEJ $.
  $}

  $( A variable is effectively not free in an equality if it is not either of
     the involved variables. ` F/ ` version of ~ ax-12o .  (Contributed by
     Mario Carneiro, 6-Oct-2016.) $)
  nfeqf $p |- ( ( -. A. z z = x /\ -. A. z z = y ) -> F/ z x = y ) $=
    ( weq wal wn wa nfnae nfan wi ax12o imp nfd ) CADCEFZCBDCEFZGABDZCNOCCACHCB
    CHINOPPCEJABCKLM $.

  $( Lemma used in proofs of substitution properties.  (Contributed by NM,
     5-Aug-1993.)  (Proof shortened by Mario Carneiro, 20-May-2014.) $)
  equs4 $p |- ( A. x ( x = y -> ph ) -> E. x ( x = y /\ ph ) ) $=
    ( weq wi wal wa wex a9e 19.29 mpan2 ancl imp eximi syl ) BCDZAEZBFZQPGZBHZP
    AGZBHRPBHTBCIQPBJKSUABQPUAPALMNO $.

  ${
    equsal.1 $e |- F/ x ps $.
    equsal.2 $e |- ( x = y -> ( ph <-> ps ) ) $.
    $( A useful equivalence related to substitution.  (Contributed by NM,
       5-Aug-1993.)  (Proof shortened by Andrew Salmon, 12-Aug-2011.)  (Revised
       by Mario Carneiro, 3-Oct-2016.) $)
    equsal $p |- ( A. x ( x = y -> ph ) <-> ps ) $=
      ( weq wal 19.3 syl6bbr pm5.74i albii nfri a1d alrimi ax9o impbii bitr4i
      wi ) CDGZASZCHTBCHZSZCHZBUAUCCTAUBTABUBFBCEIJKLBUDBUCCEBUBTBCEMNOBCDPQR
      $.
  $}

  ${
    equsalh.1 $e |- ( ps -> A. x ps ) $.
    equsalh.2 $e |- ( x = y -> ( ph <-> ps ) ) $.
    $( A useful equivalence related to substitution.  (Contributed by NM,
       5-Aug-1993.) $)
    equsalh $p |- ( A. x ( x = y -> ph ) <-> ps ) $=
      ( nfi equsal ) ABCDBCEGFH $.
  $}

  ${
    equsex.1 $e |- F/ x ps $.
    equsex.2 $e |- ( x = y -> ( ph <-> ps ) ) $.
    $( A useful equivalence related to substitution.  (Contributed by NM,
       5-Aug-1993.)  (Revised by Mario Carneiro, 3-Oct-2016.) $)
    equsex $p |- ( E. x ( x = y /\ ph ) <-> ps ) $=
      ( weq wn wi wex wal exnal df-an exbii nfn notbid equsal con2bii 3bitr4i
      wa ) CDGZAHZIZHZCJUCCKZHUAATZCJBUCCLUFUDCUAAMNUEBUBBHCDBCEOUAABFPQRS $.
  $}

  ${
    equsexh.1 $e |- ( ps -> A. x ps ) $.
    equsexh.2 $e |- ( x = y -> ( ph <-> ps ) ) $.
    $( A useful equivalence related to substitution.  (Contributed by NM,
       5-Aug-1993.) $)
    equsexh $p |- ( E. x ( x = y /\ ph ) <-> ps ) $=
      ( nfi equsex ) ABCDBCEGFH $.
  $}

  ${
    dvelimh.1 $e |- ( ph -> A. x ph ) $.
    dvelimh.2 $e |- ( ps -> A. z ps ) $.
    dvelimh.3 $e |- ( z = y -> ( ph <-> ps ) ) $.
    $( Version of ~ dvelim without any variable restrictions.  (Contributed by
       NM, 1-Oct-2002.) $)
    dvelimh $p |- ( -. A. x x = y -> ( ps -> A. x ps ) ) $=
      ( weq wal wn wi hba1 ax10o aecoms syl5 a1d wa hbnae hban ax12o imp a1i ex
      hbimd hbald pm2.61i equsalh albii 3imtr3g ) CDICJKZEDIZALZEJZUNCJZBBCJCEI
      CJZUKUNUOLZLUPUQUKUNUNEJZUPUOUMEMURUOLECUNECNOPQUPKZUKUQUSUKRZUMCEUSUKECE
      ESCDESTUTULACUSUKCCECSCDCSTUSUKULULCJLEDCUAUBAACJLUTFUCUEUFUDUGABEDGHUHZU
      NBCVAUIUJ $.
  $}

  ${
    dral1.1 $e |- ( A. x x = y -> ( ph <-> ps ) ) $.
    $( Formula-building lemma for use with the Distinctor Reduction Theorem.
       Part of Theorem 9.4 of [Megill] p. 448 (p. 16 of preprint).
       (Contributed by NM, 24-Nov-1994.) $)
    dral1 $p |- ( A. x x = y -> ( A. x ph <-> A. y ps ) ) $=
      ( weq wal hbae biimpd alimdh ax10o syld biimprd wi aecoms impbid ) CDFCGZ
      ACGZBDGZQRBCGSQABCCDCHQABEIJBCDKLQSADGZRQBADCDDHQABEMJTRNDCADCKOLP $.

    $( Formula-building lemma for use with the Distinctor Reduction Theorem.
       Part of Theorem 9.4 of [Megill] p. 448 (p. 16 of preprint).
       (Contributed by NM, 27-Feb-2005.) $)
    dral2 $p |- ( A. x x = y -> ( A. z ph <-> A. z ps ) ) $=
      ( weq wal hbae albidh ) CDGCHABECDEIFJ $.

    $( Formula-building lemma for use with the Distinctor Reduction Theorem.
       Part of Theorem 9.4 of [Megill] p. 448 (p. 16 of preprint).
       (Contributed by NM, 27-Feb-2005.) $)
    drex1 $p |- ( A. x x = y -> ( E. x ph <-> E. y ps ) ) $=
      ( weq wal wn wex notbid dral1 df-ex 3bitr4g ) CDFCGZAHZCGZHBHZDGZHACIBDIN
      PROQCDNABEJKJACLBDLM $.

    $( Formula-building lemma for use with the Distinctor Reduction Theorem.
       Part of Theorem 9.4 of [Megill] p. 448 (p. 16 of preprint).
       (Contributed by NM, 27-Feb-2005.) $)
    drex2 $p |- ( A. x x = y -> ( E. z ph <-> E. z ps ) ) $=
      ( weq wal hbae exbidh ) CDGCHABECDEIFJ $.

    $( Formula-building lemma for use with the Distinctor Reduction Theorem.
       (Contributed by Mario Carneiro, 4-Oct-2016.) $)
    drnf1 $p |- ( A. x x = y -> ( F/ x ph <-> F/ y ps ) ) $=
      ( weq wal wi wnf dral1 imbi12d df-nf 3bitr4g ) CDFCGZAACGZHZCGBBDGZHZDGAC
      IBDIPRCDNABOQEABCDEJKJACLBDLM $.

    $( Formula-building lemma for use with the Distinctor Reduction Theorem.
       (Contributed by Mario Carneiro, 4-Oct-2016.) $)
    drnf2 $p |- ( A. x x = y -> ( F/ z ph <-> F/ z ps ) ) $=
      ( weq wal wi wnf dral2 imbi12d df-nf 3bitr4g ) CDGCHZAAEHZIZEHBBEHZIZEHAE
      JBEJQSCDEOABPRFABCDEFKLKAEMBEMN $.
  $}

  ${
    exdistrf.1 $e |- ( -. A. x x = y -> F/ y ph ) $.
    $( Distribution of existential quantifiers, with a bound-variable
       hypothesis saying that ` y ` is not free in ` ph ` , but ` x ` can be
       free in ` ph ` (and there is no distinct variable condition on ` x ` and
       ` y ` ).  (Contributed by Mario Carneiro, 20-Mar-2013.) $)
    exdistrf $p |- ( E. x E. y ( ph /\ ps ) -> E. x ( ph /\ E. y ps ) ) $=
      ( weq wal wa wex wi biidd drex1 drex2 nfe1 19.9 19.8a eximi sylbi syl6bir
      anim2i wn nfnae 19.40 19.9d anim1d syl5 eximd pm2.61i ) CDFCGZABHZDIZCIZA
      BDIZHZCIZJUIULUJCIZCIZUOUPUKCDCUJUJCDUIUJKLMUQUPUOUPCUJCNOUJUNCBUMABDPTQR
      SUIUAZUKUNCCDCUBUKADIZUMHURUNABDUCURUSAUMAURDEUDUEUFUGUH $.
  $}

  ${
    nfald2.1 $e |- F/ y ph $.
    nfald2.2 $e |- ( ( ph /\ -. A. x x = y ) -> F/ x ps ) $.
    $( Variation on ~ nfald which adds the hypothesis that ` x ` and ` y ` are
       distinct in the inner subproof.  (Contributed by Mario Carneiro,
       8-Oct-2016.) $)
    nfald2 $p |- ( ph -> F/ x A. y ps ) $=
      ( weq wal wnf wn wa nfnae nfan nfald ex nfa1 biidd drnf1 mpbiri pm2.61d2
      ) ACDGCHZBDHZCIZAUAJZUCAUDKBCDAUDDECDDLMFNOUAUCUBDIBDPUBUBCDUAUBQRST $.

    $( Variation on ~ nfexd which adds the hypothesis that ` x ` and ` y ` are
       distinct in the inner subproof.  (Contributed by Mario Carneiro,
       8-Oct-2016.) $)
    nfexd2 $p |- ( ph -> F/ x E. y ps ) $=
      ( wex wn wal df-ex weq wa nfnd nfald2 nfxfrd ) BDGBHZDIZHACBDJAQCAPCDEACD
      KCIHLBCFMNMO $.
  $}

  $( Closed theorem form of ~ spim .  (Contributed by NM, 15-Jan-2008.)
     (Revised by Mario Carneiro, 17-Oct-2016.) $)
  spimt $p |- ( ( F/ x ps /\ A. x ( x = y -> ( ph -> ps ) ) ) ->
              ( A. x ph -> ps ) ) $=
    ( wnf weq wi wal wa nfnf1 nfa1 sp adantl nfr adantr embantd imim2d impancom
    nfan alimd ax9o syl6 ) BCEZCDFZABGZGZCHZIACHZUDBCHZGZCHZBUCUHUGUKUCUHIZUFUJ
    CUCUHCBCJACKSULUEUIUDULABUIUHAUCACLMUCBUIGUHBCNOPQTRBCDUAUB $.

  ${
    spim.1 $e |- F/ x ps $.
    spim.2 $e |- ( x = y -> ( ph -> ps ) ) $.
    $( Specialization, using implicit substitution.  Compare Lemma 14 of
       [Tarski] p. 70.  The ~ spim series of theorems requires that only one
       direction of the substitution hypothesis hold.  (Contributed by NM,
       5-Aug-1993.)  (Revised by Mario Carneiro, 3-Oct-2016.) $)
    spim $p |- ( A. x ph -> ps ) $=
      ( wnf weq wi wal ax-gen spimt mp2an ) BCGCDHABIIZCJACJBIENCFKABCDLM $.
  $}

  ${
    spime.1 $e |- F/ x ph $.
    spime.2 $e |- ( x = y -> ( ph -> ps ) ) $.
    $( Existential introduction, using implicit substitution.  Compare Lemma 14
       of [Tarski] p. 70.  (Contributed by NM, 7-Aug-1994.)  (Revised by Mario
       Carneiro, 3-Oct-2016.) $)
    spime $p |- ( ph -> E. x ps ) $=
      ( wn wal wex nfn weq con3d spim con2i df-ex sylibr ) ABGZCHZGBCIRAQAGCDAC
      EJCDKABFLMNBCOP $.
  $}

  ${
    spimed.1 $e |- ( ch -> F/ x ph ) $.
    spimed.2 $e |- ( x = y -> ( ph -> ps ) ) $.
    $( Deduction version of ~ spime .  (Contributed by NM, 5-Aug-1993.)
       (Revised by Mario Carneiro, 3-Oct-2016.) $)
    spimed $p |- ( ch -> ( ph -> E. x ps ) ) $=
      ( wnf wex wi wa nfnf1 id nfan1 weq adantld spime ex syl ) CADHZABDIZJFTAU
      ATAKBDETADADLTMNDEOABTGPQRS $.
  $}

  ${
    cbv1h.1 $e |- ( ph -> ( ps -> A. y ps ) ) $.
    cbv1h.2 $e |- ( ph -> ( ch -> A. x ch ) ) $.
    cbv1h.3 $e |- ( ph -> ( x = y -> ( ps -> ch ) ) ) $.
    $( Rule used to change bound variables, using implicit substitution.
       (Contributed by NM, 5-Aug-1993.) $)
    cbv1h $p |- ( A. x A. y ph -> ( A. x ps -> A. y ch ) ) $=
      ( wal wi sps al2imi ax-7 syl6 weq com23 syl6d ax9o a7s syld ) AEIZDIZBDIZ
      UCEIZCEIZUBUCBEIZDIUDUABUFDABUFJEFKLBDEMNAUDUEJEDADIZUCCEUGUCDEOZCDIZJZDI
      CABUJDABUHCUIAUHBCHPGQLCDERNLST $.
  $}

  ${
    cbv1.1 $e |- ( ph -> F/ y ps ) $.
    cbv1.2 $e |- ( ph -> F/ x ch ) $.
    cbv1.3 $e |- ( ph -> ( x = y -> ( ps -> ch ) ) ) $.
    $( Rule used to change bound variables, using implicit substitution.
       (Contributed by NM, 5-Aug-1993.)  (Revised by Mario Carneiro,
       3-Oct-2016.) $)
    cbv1 $p |- ( A. x A. y ph -> ( A. x ps -> A. y ch ) ) $=
      ( nfrd cbv1h ) ABCDEABEFIACDGIHJ $.
  $}

  ${
    cbv2h.1 $e |- ( ph -> ( ps -> A. y ps ) ) $.
    cbv2h.2 $e |- ( ph -> ( ch -> A. x ch ) ) $.
    cbv2h.3 $e |- ( ph -> ( x = y -> ( ps <-> ch ) ) ) $.
    $( Rule used to change bound variables, using implicit substitution.
       (Contributed by NM, 5-Aug-1993.) $)
    cbv2h $p |- ( A. x A. y ph -> ( A. x ps <-> A. y ch ) ) $=
      ( wal weq wb wi bi1 syl6 cbv1h equcomi bi2 syl56 a7s impbid ) AEIDIBDIZCE
      IZABCDEFGADEJZBCKZBCLHBCMNOAUBUALEDACBEDGFEDJUCAUDCBLEDPHBCQROST $.
  $}

  ${
    cbv2.1 $e |- ( ph -> F/ y ps ) $.
    cbv2.2 $e |- ( ph -> F/ x ch ) $.
    cbv2.3 $e |- ( ph -> ( x = y -> ( ps <-> ch ) ) ) $.
    $( Rule used to change bound variables, using implicit substitution.
       (Contributed by NM, 5-Aug-1993.)  (Revised by Mario Carneiro,
       3-Oct-2016.) $)
    cbv2 $p |- ( A. x A. y ph -> ( A. x ps <-> A. y ch ) ) $=
      ( nfrd cbv2h ) ABCDEABEFIACDGIHJ $.
  $}

  ${
    cbv3.1 $e |- F/ y ph $.
    cbv3.2 $e |- F/ x ps $.
    cbv3.3 $e |- ( x = y -> ( ph -> ps ) ) $.
    $( Rule used to change bound variables, using implicit substitution, that
       does not use ~ ax-12o .  (Contributed by NM, 5-Aug-1993.) $)
    cbv3 $p |- ( A. x ph -> A. y ps ) $=
      ( wtru wal wi wnf a1i weq cbv1 tru ax-gen mpg ) HDIACIBDIJCHABCDADKHELBCK
      HFLCDMABJJHGLNHDOPQ $.
  $}

  ${
    cbv3h.1 $e |- ( ph -> A. y ph ) $.
    cbv3h.2 $e |- ( ps -> A. x ps ) $.
    cbv3h.3 $e |- ( x = y -> ( ph -> ps ) ) $.
    $( Rule used to change bound variables, using implicit substitution.
       (Contributed by NM, 5-Aug-1993.)  (Proof shortened by Andrew Salmon,
       25-May-2011.)  (Proof modification is discouraged.) $)
    cbv3h $p |- ( A. x ph -> A. y ps ) $=
      ( weq wal wi a1i cbv1h stdpc6 mpg ) DDHZDIACIBDIJCOABCDAADIJOEKBBCIJOFKCD
      HABJJOGKLDMN $.
  $}

  ${
    cbval.1 $e |- F/ y ph $.
    cbval.2 $e |- F/ x ps $.
    cbval.3 $e |- ( x = y -> ( ph <-> ps ) ) $.
    $( Rule used to change bound variables, using implicit substitution.
       (Contributed by NM, 5-Aug-1993.)  (Revised by Mario Carneiro,
       3-Oct-2016.) $)
    cbval $p |- ( A. x ph <-> A. y ps ) $=
      ( wal weq biimpd cbv3 wi biimprd equcoms impbii ) ACHBDHABCDEFCDIZABGJKBA
      DCFEBALCDPABGMNKO $.
  $}

  ${
    cbvex.1 $e |- F/ y ph $.
    cbvex.2 $e |- F/ x ps $.
    cbvex.3 $e |- ( x = y -> ( ph <-> ps ) ) $.
    $( Rule used to change bound variables, using implicit substitution.
       (Contributed by NM, 5-Aug-1993.) $)
    cbvex $p |- ( E. x ph <-> E. y ps ) $=
      ( wn wal wex nfn weq notbid cbval notbii df-ex 3bitr4i ) AHZCIZHBHZDIZHAC
      JBDJSUARTCDADEKBCFKCDLABGMNOACPBDPQ $.
  $}

  ${
    chvar.1 $e |- F/ x ps $.
    chvar.2 $e |- ( x = y -> ( ph <-> ps ) ) $.
    chvar.3 $e |- ph $.
    $( Implicit substitution of ` y ` for ` x ` into a theorem.  (Contributed
       by Raph Levien, 9-Jul-2003.)  (Revised by Mario Carneiro,
       3-Oct-2016.) $)
    chvar $p |- ps $=
      ( weq biimpd spim mpg ) ABCABCDECDHABFIJGK $.
  $}

  $( A variable introduction law for equality.  Lemma 15 of [Monk2] p. 109,
     however we do not require ` z ` to be distinct from ` x ` and ` y `
     (making the proof longer).  (Contributed by NM, 5-Aug-1993.)  (Proof
     shortened by Andrew Salmon, 25-May-2011.) $)
  equvini $p |- ( x = y -> E. z ( x = z /\ z = y ) ) $=
    ( weq wal wa wex wi equcomi alimi a9e jctir a1d 19.29 syl6 eximi ax-mp 2a1i
    anc2ri wn 19.29r wo ioran nfeqf ax-8 anc2li equcoms spimed sylbi ecase3 ) C
    ADZCEZCBDZCEZABDZACDZUMFZCGZHZULUOUPCEZUMCGZFZURULVBUOULUTVAUKUPCCAIZJCBKLM
    UPUMCNOUNUOUPCGZUNFURUNUOVDUNUOVDUKCGVDCAKUKUPCVCPQRSUPUMCUAOULUNUBTULTUNTF
    ZUSULUNUCUOUQVECAABCUDUOUQHACUPUOUMACBUEUFUGUHUIUJ $.

  $( A variable elimination law for equality with no distinct variable
     requirements.  (Compare ~ equvini .)  (Contributed by NM, 1-Mar-2013.)
     (Proof shortened by Mario Carneiro, 17-Oct-2016.) $)
  equveli $p |- ( A. z ( z = x <-> z = y ) -> x = y ) $=
    ( weq wb wal wi wa albiim equequ1 imbi12d sps dral1 equid sp equcomi syl6bi
    mpi wn pm2.61i syl adantld dral2 a1bi biimpri a1d wnf nfeqf equtr ax-8 mpii
    imim12d ax-gen spimt sylancl ex adantrd sylbi ) CADZCBDZECFUSUTGZCFZUTUSGZC
    FZHZABDZUSUTCIUTCFZVEVFGVGVDVFVBVGVDBBDZBADZGZBFZVFVCVJCBUTVCVJECUTUTVHUSVI
    CBBJCBAJKLMVKVIVFVKVHVIBNVJBORBAPUAQUBVGSZVBVFVDUSCFZVLVBVFGZGVMVNVLVMVBAAD
    ZVFGZCFVFVAVPCACUSVAVPECUSUSVOUTVFCAAJCABJKLUCVPVFCVFVPVOVFANZUDUELQUFVMSZV
    LVNVRVLHVFCUGUSVAVFGGZCFVNABCUHVSCUSVAVOVFVQUSVOUSUTVFCAAUICABUJULUKUMVAVFC
    AUNUOUPTUQTUR $.

  ${
    equs45f.1 $e |- F/ y ph $.
    $( Two ways of expressing substitution when ` y ` is not free in ` ph ` .
       (Contributed by NM, 25-Apr-2008.)  (Revised by Mario Carneiro,
       4-Oct-2016.) $)
    equs45f $p |- ( E. x ( x = y /\ ph ) <-> A. x ( x = y -> ph ) ) $=
      ( weq wa wex wi wal nfri anim2i eximi equs5a syl equs4 impbii ) BCEZAFZBG
      ZQAHBIZSQACIZFZBGTRUBBAUAQACDJKLABCMNABCOP $.
  $}

  ${
    $d x ps $.
    spimv.1 $e |- ( x = y -> ( ph -> ps ) ) $.
    $( A version of ~ spim with a distinct variable requirement instead of a
       bound variable hypothesis.  (Contributed by NM, 5-Aug-1993.) $)
    spimv $p |- ( A. x ph -> ps ) $=
      ( nfv spim ) ABCDBCFEG $.
  $}

  ${
    $d u v $.  $d x y $.  $d u w $.
    $( A "distinctor elimination" lemma with no restrictions on variables in
       the consequent.  (Contributed by NM, 8-Nov-2006.) $)
    aev $p |- ( A. x x = y -> A. z w = v ) $=
      ( vu weq wal hbae ax10lem5 ax-8 spimv syl alrimih ) ABGAHZDEGZCABCIOFEGZF
      HPEFABJQPFDFDEKLMN $.
  $}

  ${
    $d x z $.  $d y z $.  $d z ph $.
    ax11v2.1 $e |- ( x = z -> ( ph -> A. x ( x = z -> ph ) ) ) $.
    $( Recovery of ~ ax-11o from ~ ax11v .  This proof uses ~ ax-10 and
       ~ ax-11 .  TODO: figure out if this is useful, or if it should be
       simplified or eliminated.  (Contributed by NM, 2-Feb-2007.) $)
    ax11v2 $p |- ( -. A. x x = y ->
                 ( x = y -> ( ph -> A. x ( x = y -> ph ) ) ) ) $=
      ( weq wal wn wex wi a9ev wa wb equequ2 adantl dveeq2 imp nfa1 imbi1d sps
      albid syl imbi2d imbi12d mpbii ex exlimdv mpi ) BCFZBGHZDCFZDIUIAUIAJZBGZ
      JZJZDCKUJUKUODUJUKUOUJUKLZBDFZAUQAJZBGZJZJUOEUPUQUIUTUNUKUQUIMUJDCBNZOUPU
      SUMAUPUKBGZUSUMMUJUKVBBCDPQVBURULBUKBRUKURULMBUKUQUIAVASTUAUBUCUDUEUFUGUH
      $.
  $}

  ${
    $d x z $.  $d y z $.  $d z ph $.
    ax11a2.1 $e |- ( x = z -> ( A. z ph -> A. x ( x = z -> ph ) ) ) $.
    $( Derive ~ ax-11o from a hypothesis in the form of ~ ax-11 . ~ ax-10 and
       ~ ax-11 are used by the proof, but not ~ ax-10o or ~ ax-11o .  TODO:
       figure out if this is useful, or if it should be simplified or
       eliminated.  (Contributed by NM, 2-Feb-2007.) $)
    ax11a2 $p |- ( -. A. x x = y ->
                 ( x = y -> ( ph -> A. x ( x = y -> ph ) ) ) ) $=
      ( wal weq wi ax-17 syl5 ax11v2 ) ABCDAADFBDGZLAHBFADIEJK $.
  $}

  ${
    $d x z $.  $d y z $.  $d z ph $.
    $( Derivation of set.mm's original ~ ax-11o from ~ ax-10 and the shorter
       ~ ax-11 that has replaced it.

       An open problem is whether this theorem can be proved without relying on
       ~ ax-16 or ~ ax-17 (given all of the original and new versions of ~ sp
       through ~ ax-15 ).

       Another open problem is whether this theorem can be proved without
       relying on ~ ax12o .

       Theorem ~ ax11 shows the reverse derivation of ~ ax-11 from ~ ax-11o .

       Normally, ~ ax11o should be used rather than ~ ax-11o , except by
       theorems specifically studying the latter's properties.  (Contributed by
       NM, 3-Feb-2007.) $)
    ax11o $p |- ( -. A. x x = y ->
               ( x = y -> ( ph -> A. x ( x = y -> ph ) ) ) ) $=
      ( vz ax-11 ax11a2 ) ABCDABDEF $.
  $}

  $( A bidirectional version of ~ ax11o .  (Contributed by NM, 30-Jun-2006.) $)
  ax11b $p |- ( ( -. A. x x = y /\ x = y ) ->
              ( ph <-> A. x ( x = y -> ph ) ) ) $=
    ( weq wal wn wa wi ax11o imp sp com12 adantl impbid ) BCDZBEFZOGAOAHZBEZPOA
    RHABCIJORAHPROAQBKLMN $.

  $( Lemma used in proofs of substitution properties.  (Contributed by NM,
     5-Aug-1993.) $)
  equs5 $p |- ( -. A. x x = y ->
             ( E. x ( x = y /\ ph ) -> A. x ( x = y -> ph ) ) ) $=
    ( weq wal wn wa wi nfnae nfa1 ax11o imp3a exlimd ) BCDZBEFZNAGNAHZBEZBBCBIP
    BJONAQABCKLM $.

  ${
    dvelimf.1 $e |- F/ x ph $.
    dvelimf.2 $e |- F/ z ps $.
    dvelimf.3 $e |- ( z = y -> ( ph <-> ps ) ) $.
    $( Version of ~ dvelimv without any variable restrictions.  (Contributed by
       NM, 1-Oct-2002.)  (Revised by Mario Carneiro, 6-Oct-2016.) $)
    dvelimf $p |- ( -. A. x x = y -> F/ x ps ) $=
      ( weq wi wal wn equsal bicomi nfnae wa nfan ax12o impcom nfd nfimd nfald2
      wnf a1i nfxfrd ) BEDIZAJZEKZCDICKLZCUHBABEDGHMNUIUGCECDEOUICEICKLZPZUFACU
      KUFCUIUJCCDCOCECOQUJUIUFUFCKJEDCRSTACUCUKFUDUAUBUE $.
  $}

  ${
    $d x ps $.
    spv.1 $e |- ( x = y -> ( ph <-> ps ) ) $.
    $( Specialization, using implicit substitution.  (Contributed by NM,
       30-Aug-1993.) $)
    spv $p |- ( A. x ph -> ps ) $=
      ( weq biimpd spimv ) ABCDCDFABEGH $.
  $}

  ${
    $d x ph $.
    spimev.1 $e |- ( x = y -> ( ph -> ps ) ) $.
    $( Distinct-variable version of ~ spime .  (Contributed by NM,
       5-Aug-1993.) $)
    spimev $p |- ( ph -> E. x ps ) $=
      ( nfv spime ) ABCDACFEG $.
  $}

  ${
    $d x ps $.
    speiv.1 $e |- ( x = y -> ( ph <-> ps ) ) $.
    speiv.2 $e |- ps $.
    $( Inference from existential specialization, using implicit substitution.
       (Contributed by NM, 19-Aug-1993.) $)
    speiv $p |- E. x ph $=
      ( wex weq biimprd spimev ax-mp ) BACGFBACDCDHABEIJK $.
  $}

  ${
    $d x z $.  $d y z $.
    $( A variable introduction law for equality.  Lemma 15 of [Monk2] p. 109.
       (Contributed by NM, 5-Aug-1993.) $)
    equvin $p |- ( x = y <-> E. z ( x = z /\ z = y ) ) $=
      ( weq wa wex equvini equtr imp exlimiv impbii ) ABDZACDZCBDZEZCFABCGOLCMN
      LACBHIJK $.
  $}

  ${
    $d y ph $.  $d x ps $.
    cbvalv.1 $e |- ( x = y -> ( ph <-> ps ) ) $.
    $( Rule used to change bound variables, using implicit substitution.
       (Contributed by NM, 5-Aug-1993.) $)
    cbvalv $p |- ( A. x ph <-> A. y ps ) $=
      ( nfv cbval ) ABCDADFBCFEG $.

    $( Rule used to change bound variables, using implicit substitution.
       (Contributed by NM, 5-Aug-1993.) $)
    cbvexv $p |- ( E. x ph <-> E. y ps ) $=
      ( nfv cbvex ) ABCDADFBCFEG $.
  $}

  ${
    $d y x $.  $d y z $.  $d w x $.  $d w z $.
    cbval2.1 $e |- F/ z ph $.
    cbval2.2 $e |- F/ w ph $.
    cbval2.3 $e |- F/ x ps $.
    cbval2.4 $e |- F/ y ps $.
    cbval2.5 $e |- ( ( x = z /\ y = w ) -> ( ph <-> ps ) ) $.
    $( Rule used to change bound variables, using implicit substitution.
       (Contributed by NM, 22-Dec-2003.)  (Revised by Mario Carneiro,
       6-Oct-2016.) $)
    cbval2 $p |- ( A. x A. y ph <-> A. z A. w ps ) $=
      ( wal nfal weq wb wa nfv nfan cbval 19.28v wi expcom pm5.32d pm5.32 mpbir
      3bitr3i ) ADLZBFLZCEAEDGMBCFIMCENZUGUHOUAUIUGPZUIUHPZOUIAPZDLUIBPZFLUJUKU
      LUMDFUIAFUIFQHRUIBDUIDQJRDFNZUIABUIUNABOKUBUCSUIADTUIBFTUFUIUGUHUDUES $.

    $( Rule used to change bound variables, using implicit substitution.
       (Contributed by NM, 14-Sep-2003.)  (Revised by Mario Carneiro,
       6-Oct-2016.) $)
    cbvex2 $p |- ( E. x E. y ph <-> E. z E. w ps ) $=
      ( wex nfex weq wb wa nfv nfan cbvex 19.42v wi expcom pm5.32d pm5.32 mpbir
      3bitr3i ) ADLZBFLZCEAEDGMBCFIMCENZUGUHOUAUIUGPZUIUHPZOUIAPZDLUIBPZFLUJUKU
      LUMDFUIAFUIFQHRUIBDUIDQJRDFNZUIABUIUNABOKUBUCSUIADTUIBFTUFUIUGUHUDUES $.
  $}

  ${
    $d z w ph $.  $d x y ps $.  $d x w $.  $d z y $.
    cbval2v.1 $e |- ( ( x = z /\ y = w ) -> ( ph <-> ps ) ) $.
    $( Rule used to change bound variables, using implicit substitution.
       (Contributed by NM, 4-Feb-2005.) $)
    cbval2v $p |- ( A. x A. y ph <-> A. z A. w ps ) $=
      ( nfv cbval2 ) ABCDEFAEHAFHBCHBDHGI $.

    $( Rule used to change bound variables, using implicit substitution.
       (Contributed by NM, 26-Jul-1995.) $)
    cbvex2v $p |- ( E. x E. y ph <-> E. z E. w ps ) $=
      ( nfv cbvex2 ) ABCDEFAEHAFHBCHBDHGI $.
  $}

  ${
    $d x ph $.  $d x ch $.
    cbvald.1 $e |- F/ y ph $.
    cbvald.2 $e |- ( ph -> F/ y ps ) $.
    cbvald.3 $e |- ( ph -> ( x = y -> ( ps <-> ch ) ) ) $.
    $( Deduction used to change bound variables, using implicit substitution,
       particularly useful in conjunction with ~ dvelim .  (Contributed by NM,
       2-Jan-2002.)  (Revised by Mario Carneiro, 6-Oct-2016.) $)
    cbvald $p |- ( ph -> ( A. x ps <-> A. y ch ) ) $=
      ( wal wb nfri alrimiv nfvd cbv2 syl ) AAEIZDIBDICEIJAPDAEFKLABCDEGACDMHNO
      $.

    $( Deduction used to change bound variables, using implicit substitution,
       particularly useful in conjunction with ~ dvelim .  (Contributed by NM,
       2-Jan-2002.)  (Revised by Mario Carneiro, 6-Oct-2016.) $)
    cbvexd $p |- ( ph -> ( E. x ps <-> E. y ch ) ) $=
      ( wn wal wex nfnd weq wb notbi syl6ib cbvald notbid df-ex 3bitr4g ) ABIZD
      JZICIZEJZIBDKCEKAUBUDAUAUCDEFABEGLADEMBCNUAUCNHBCOPQRBDSCEST $.
  $}

  ${
    $d ps y $.  $d ch x $.  $d ph x $.  $d ph y $.
    cbvaldva.1 $e |- ( ( ph /\ x = y ) -> ( ps <-> ch ) ) $.
    $( Rule used to change the bound variable in a universal quantifier with
       implicit substitution.  Deduction form.  (Contributed by David Moews,
       1-May-2017.) $)
    cbvaldva $p |- ( ph -> ( A. x ps <-> A. y ch ) ) $=
      ( nfv nfvd weq wb ex cbvald ) ABCDEAEGABEHADEIBCJFKL $.

    $( Rule used to change the bound variable in an existential quantifier with
       implicit substitution.  Deduction form.  (Contributed by David Moews,
       1-May-2017.) $)
    cbvexdva $p |- ( ph -> ( E. x ps <-> E. y ch ) ) $=
      ( nfv nfvd weq wb ex cbvexd ) ABCDEAEGABEHADEIBCJFKL $.
  $}

  ${
    $v f $.
    $v g $.
    $( Define temporary individual variables. $)
    cbvex4v.vf $f setvar f $.
    cbvex4v.vg $f setvar g $.
    $d w z ch $.  $d u v ph $.  $d x y ps $.  $d f g ps $.  $d f w $.
    $d g z $.  $d u v w x y z $.
    cbvex4v.1 $e |- ( ( x = v /\ y = u ) -> ( ph <-> ps ) ) $.
    cbvex4v.2 $e |- ( ( z = f /\ w = g ) -> ( ps <-> ch ) ) $.
    $( Rule used to change bound variables, using implicit substitution.
       (Contributed by NM, 26-Jul-1995.) $)
    cbvex4v $p |- ( E. x E. y E. z E. w ph <-> E. v E. u E. f E. g ch ) $=
      ( wex weq wa 2exbidv cbvex2v 2exbii bitri ) AGNFNZENDNBGNFNZINHNCKNJNZINH
      NUAUBDEHIDHOEIOPABFGLQRUBUCHIBCFGJKMRST $.
  $}

  ${
    $d x ps $.
    chv.1 $e |- ( x = y -> ( ph <-> ps ) ) $.
    chv.2 $e |- ph $.
    $( Implicit substitution of ` y ` for ` x ` into a theorem.  (Contributed
       by NM, 20-Apr-1994.) $)
    chvarv $p |- ps $=
      ( spv mpg ) ABCABCDEGFH $.
  $}

  ${
    $d x z $.  $d y z $.
    $( When the class variables in definition ~ df-clel are replaced with
       setvar variables, this theorem of predicate calculus is the result.
       This theorem provides part of the justification for the consistency of
       that definition, which "overloads" the setvar variables in ~ wel with
       the class variables in ~ wcel .  Note:  This proof is referenced on the
       Metamath Proof Explorer Home Page and shouldn't be changed.
       (Contributed by NM, 28-Jan-2004.)
       (Proof modification is discouraged.) $)
    cleljust $p |- ( x e. y <-> E. z ( z = x /\ z e. y ) ) $=
      ( weq wel wa wex ax-17 elequ1 equsexh bicomi ) CADCBEZFCGABEZLMCAMCHCABIJ
      K $.
  $}

  ${
    $d x z $.  $d y z $.
    $( When the class variables in definition ~ df-clel are replaced with
       setvar variables, this theorem of predicate calculus is the result.
       This theorem provides part of the justification for the consistency of
       that definition, which "overloads" the setvar variables in ~ wel with
       the class variables in ~ wcel .  (Contributed by NM, 28-Jan-2004.)
       (Revised by Mario Carneiro, 21-Dec-2016.) $)
    cleljustALT $p |- ( x e. y <-> E. z ( z = x /\ z e. y ) ) $=
      ( weq wel wa wex nfv elequ1 equsex bicomi ) CADCBEZFCGABEZLMCAMCHCABIJK
      $.
  $}

  ${
    $d z ps $.
    dvelim.1 $e |- ( ph -> A. x ph ) $.
    dvelim.2 $e |- ( z = y -> ( ph <-> ps ) ) $.
    $( This theorem can be used to eliminate a distinct variable restriction on
       ` x ` and ` z ` and replace it with the "distinctor" ` -. A. x x = y `
       as an antecedent. ` ph ` normally has ` z ` free and can be read
       ` ph ( z ) ` , and ` ps ` substitutes ` y ` for ` z ` and can be read
       ` ph ( y ) ` .  We don't require that ` x ` and ` y ` be distinct: if
       they aren't, the distinctor will become false (in multiple-element
       domains of discourse) and "protect" the consequent.

       To obtain a closed-theorem form of this inference, prefix the hypotheses
       with ` A. x A. z ` , conjoin them, and apply ~ dvelimdf .

       Other variants of this theorem are ~ dvelimh (with no distinct variable
       restrictions), ~ dvelimhw (that avoids ~ ax-12 ), and ~ dvelimALT (that
       avoids ~ ax-10 ).  (Contributed by NM, 23-Nov-1994.) $)
    dvelim $p |- ( -. A. x x = y -> ( ps -> A. x ps ) ) $=
      ( ax-17 dvelimh ) ABCDEFBEHGI $.
  $}

  ${
    $d z ps $.
    dvelimnf.1 $e |- F/ x ph $.
    dvelimnf.2 $e |- ( z = y -> ( ph <-> ps ) ) $.
    $( Version of ~ dvelim using "not free" notation.  (Contributed by Mario
       Carneiro, 9-Oct-2016.) $)
    dvelimnf $p |- ( -. A. x x = y -> F/ x ps ) $=
      ( nfv dvelimf ) ABCDEFBEHGI $.
  $}

  ${
    $d w z x $.  $d w y $.
    $( Quantifier introduction when one pair of variables is distinct.
       (Contributed by NM, 2-Jan-2002.) $)
    dveeq1 $p |- ( -. A. x x = y -> ( y = z -> A. x y = z ) ) $=
      ( vw weq equequ1 dvelimv ) DCEBCEABDDBCFG $.

    $( Quantifier introduction when one pair of variables is distinct.
       (Contributed by NM, 2-Jan-2002.) $)
    dveel1 $p |- ( -. A. x x = y -> ( y e. z -> A. x y e. z ) ) $=
      ( vw wel elequ1 dvelimv ) DCEBCEABDDBCFG $.

    $( Quantifier introduction when one pair of variables is distinct.
       (Contributed by NM, 2-Jan-2002.) $)
    dveel2 $p |- ( -. A. x x = y -> ( z e. y -> A. x z e. y ) ) $=
      ( vw wel elequ2 dvelimv ) CDECBEABDDBCFG $.
  $}

  ${
    $d w y $.  $d w z $.  $d w x $.  $( ` w ` is dummy. $)
    $( Axiom ~ ax-15 is redundant if we assume ~ ax-17 .  Remark 9.6 in
       [Megill] p. 448 (p. 16 of the preprint), regarding axiom scheme C14'.

       Note that ` w ` is a dummy variable introduced in the proof.  On the web
       page, it is implicitly assumed to be distinct from all other variables.
       (This is made explicit in the database file set.mm).  Its purpose is to
       satisfy the distinct variable requirements of ~ dveel2 and ~ ax-17 .  By
       the end of the proof it has vanished, and the final theorem has no
       distinct variable requirements.  (Contributed by NM, 29-Jun-1995.)
       (Proof modification is discouraged.) $)
    ax15 $p |- ( -. A. z z = x -> ( -. A. z z = y ->
              ( x e. y -> A. z x e. y ) ) ) $=
      ( vw weq wal wn wel hbn1 dveel2 hbim1 elequ1 imbi2d dvelim nfa1 nfn 19.21
      wi syl6ib pm2.86d ) CAECFGZCBEZCFZGZABHZUECFZUAUDUERZUGCFUDUFRUDDBHZRUGCA
      DUDUHCUBCICBDJKDAEUHUEUDDABLMNUDUECUCCUBCOPQST $.
  $}

  $( Formula-building lemma for use with the Distinctor Reduction Theorem.
     Part of Theorem 9.4 of [Megill] p. 448 (p. 16 of preprint).  (Contributed
     by NM, 5-Aug-1993.) $)
  drsb1 $p |- ( A. x x = y -> ( [ z / x ] ph <-> [ z / y ] ph ) ) $=
    ( weq wal wi wa wex wsb wb equequ1 sps imbi1d anbi1d drex1 anbi12d 3bitr4g
    df-sb ) BCEZBFZBDEZAGZUBAHZBIZHCDEZAGZUFAHZCIZHABDJACDJUAUCUGUEUIUAUBUFATUB
    UFKBBCDLMZNUDUHBCUAUBUFAUJOPQABDSACDSR $.

  $( One direction of a simplified definition of substitution.  (Contributed by
     NM, 5-Aug-1993.) $)
  sb2 $p |- ( A. x ( x = y -> ph ) -> [ y / x ] ph ) $=
    ( weq wi wal wa wex wsb sp equs4 df-sb sylanbrc ) BCDZAEZBFONAGBHABCIOBJABC
    KABCLM $.

  $( The specialization axiom of standard predicate calculus.  It states that
     if a statement ` ph ` holds for all ` x ` , then it also holds for the
     specific case of ` y ` (properly) substituted for ` x ` .  Translated to
     traditional notation, it can be read:  " ` A. x ph ( x ) -> ph ( y ) ` ,
     provided that ` y ` is free for ` x ` in ` ph ( x ) ` ."  Axiom 4 of
     [Mendelson] p. 69.  See also ~ spsbc and ~ rspsbc .  (Contributed by NM,
     5-Aug-1993.) $)
  stdpc4 $p |- ( A. x ph -> [ y / x ] ph ) $=
    ( wal weq wi wsb ax-1 alimi sb2 syl ) ABDBCEZAFZBDABCGAMBALHIABCJK $.

  $( Substitution has no effect on a non-free variable.  (Contributed by NM,
     30-May-2009.)  (Revised by Mario Carneiro, 12-Oct-2016.) $)
  sbft $p |- ( F/ x ph -> ( [ y / x ] ph <-> ph ) ) $=
    ( wnf wsb weq wa wex sb1 wal simpr ax-gen 19.23t mpbii syl5 nfr stdpc4 syl6
    wi impbid ) ABDZABCEZAUBBCFZAGZBHZUAAABCIUAUDASZBJUEASUFBUCAKLUDABMNOUAAABJ
    UBABPABCQRT $.

  ${
    sbf.1 $e |- F/ x ph $.
    $( Substitution for a variable not free in a wff does not affect it.
       (Contributed by NM, 5-Aug-1993.)  (Revised by Mario Carneiro,
       4-Oct-2016.) $)
    sbf $p |- ( [ y / x ] ph <-> ph ) $=
      ( wnf wsb wb sbft ax-mp ) ABEABCFAGDABCHI $.
  $}

  ${
    sbh.1 $e |- ( ph -> A. x ph ) $.
    $( Substitution for a variable not free in a wff does not affect it.
       (Contributed by NM, 5-Aug-1993.) $)
    sbh $p |- ( [ y / x ] ph <-> ph ) $=
      ( nfi sbf ) ABCABDEF $.
  $}

  $( Substitution has no effect on a bound variable.  (Contributed by NM,
     1-Jul-2005.) $)
  sbf2 $p |- ( [ y / x ] A. x ph <-> A. x ph ) $=
    ( wal nfa1 sbf ) ABDBCABEF $.

  ${
    sb6x.1 $e |- F/ x ph $.
    $( Equivalence involving substitution for a variable not free.
       (Contributed by NM, 5-Aug-1993.)  (Revised by Mario Carneiro,
       4-Oct-2016.) $)
    sb6x $p |- ( [ y / x ] ph <-> A. x ( x = y -> ph ) ) $=
      ( wsb weq wi wal sbf biidd equsal bitr4i ) ABCEABCFZAGBHABCDIAABCDMAJKL
      $.
  $}

  ${
    nfs1f.1 $e |- F/ x ph $.
    $( If ` x ` is not free in ` ph ` , it is not free in ` [ y / x ] ph ` .
       (Contributed by Mario Carneiro, 11-Aug-2016.) $)
    nfs1f $p |- F/ x [ y / x ] ph $=
      ( wsb sbf nfxfr ) ABCEABABCDFDG $.
  $}

  $( Substitution does not change an identical variable specifier.
     (Contributed by NM, 5-Aug-1993.) $)
  sbequ5 $p |- ( [ w / z ] A. x x = y <-> A. x x = y ) $=
    ( weq wal nfae sbf ) ABEAFCDABCGH $.

  $( Substitution does not change a distinctor.  (Contributed by NM,
     5-Aug-1993.) $)
  sbequ6 $p |- ( [ w / z ] -. A. x x = y <-> -. A. x x = y ) $=
    ( weq wal wn nfnae sbf ) ABEAFGCDABCHI $.

  ${
    sbt.1 $e |- ph $.
    $( A substitution into a theorem remains true.  (See ~ chvar and ~ chvarv
       for versions using implicit substitution.)  (Contributed by NM,
       21-Jan-2004.)  (Proof shortened by Andrew Salmon, 25-May-2011.) $)
    sbt $p |- [ y / x ] ph $=
      ( wsb nfth sbf mpbir ) ABCEADABCABDFGH $.
  $}

  $( Substitution applied to an atomic wff.  (Contributed by NM,
     5-Aug-1993.) $)
  equsb1 $p |- [ y / x ] x = y $=
    ( weq wi wsb sb2 id mpg ) ABCZIDIABEAIABFIGH $.

  $( Substitution applied to an atomic wff.  (Contributed by NM,
     5-Aug-1993.) $)
  equsb2 $p |- [ y / x ] y = x $=
    ( weq wi wsb sb2 equcomi mpg ) ABCBACZDIABEAIABFABGH $.

  ${
    sbied.1 $e |- F/ x ph $.
    sbied.2 $e |- ( ph -> F/ x ch ) $.
    sbied.3 $e |- ( ph -> ( x = y -> ( ps <-> ch ) ) ) $.
    $( Conversion of implicit substitution to explicit substitution (deduction
       version of ~ sbie ).  (Contributed by NM, 30-Jun-1994.)  (Revised by
       Mario Carneiro, 4-Oct-2016.) $)
    sbied $p |- ( ph -> ( [ y / x ] ps <-> ch ) ) $=
      ( wsb wex weq wa sb1 wb wi bi1 syl6 imp3a syld wal eximd syl5 19.9d com23
      nfrd bi2 alimd sb2 impbid ) ABDEIZCAUJCDJZCUJDEKZBLZDJAUKBDEMAUMCDFAULBCA
      ULBCNZBCOHBCPQRUAUBCADGUCSACCDTZUJACDGUEAUOULBOZDTUJACUPDFAULCBAULUNCBOHB
      CUFQUDUGBDEUHQSUI $.
  $}

  ${
    $d x ph $.  $d x ch $.
    sbiedv.1 $e |- ( ( ph /\ x = y ) -> ( ps <-> ch ) ) $.
    $( Conversion of implicit substitution to explicit substitution (deduction
       version of ~ sbie ).  (Contributed by NM, 7-Jan-2017.) $)
    sbiedv $p |- ( ph -> ( [ y / x ] ps <-> ch ) ) $=
      ( nfv nfvd weq wb ex sbied ) ABCDEADGACDHADEIBCJFKL $.
  $}

  ${
    sbie.1 $e |- F/ x ps $.
    sbie.2 $e |- ( x = y -> ( ph <-> ps ) ) $.
    $( Conversion of implicit substitution to explicit substitution.
       (Contributed by NM, 30-Jun-1994.)  (Revised by Mario Carneiro,
       4-Oct-2016.) $)
    sbie $p |- ( [ y / x ] ph <-> ps ) $=
      ( wsb wb wtru nftru wnf a1i weq wi sbied trud ) ACDGBHIABCDCJBCKIELCDMABH
      NIFLOP $.
  $}

  ${
    sb6f.1 $e |- F/ y ph $.
    $( Equivalence for substitution when ` y ` is not free in ` ph ` .
       (Contributed by NM, 5-Aug-1993.)  (Revised by Mario Carneiro,
       4-Oct-2016.) $)
    sb6f $p |- ( [ y / x ] ph <-> A. x ( x = y -> ph ) ) $=
      ( wsb weq wi wal nfri sbimi sb4a syl sb2 impbii ) ABCEZBCFAGBHZOACHZBCEPA
      QBCACDIJABCKLABCMN $.

    $( Equivalence for substitution when ` y ` is not free in ` ph ` .
       (Contributed by NM, 5-Aug-1993.)  (Revised by Mario Carneiro,
       4-Oct-2016.) $)
    sb5f $p |- ( [ y / x ] ph <-> E. x ( x = y /\ ph ) ) $=
      ( wsb weq wi wal wa wex sb6f equs45f bitr4i ) ABCEBCFZAGBHNAIBJABCDKABCDL
      M $.
  $}

  $( Special case of a bound-variable hypothesis builder for substitution.
     (Contributed by NM, 2-Feb-2007.) $)
  hbsb2a $p |- ( [ y / x ] A. y ph -> A. x [ y / x ] ph ) $=
    ( wal wsb weq wi sb4a sb2 a5i syl ) ACDBCEBCFAGZBDABCEZBDABCHLMBABCIJK $.

  $( Special case of a bound-variable hypothesis builder for substitution.
     (Contributed by NM, 2-Feb-2007.) $)
  hbsb2e $p |- ( [ y / x ] ph -> A. x [ y / x ] E. y ph ) $=
    ( wsb weq wex wi wal sb4e sb2 a5i syl ) ABCDBCEACFZGZBHMBCDZBHABCINOBMBCJKL
    $.

  ${
    hbsb3.1 $e |- ( ph -> A. y ph ) $.
    $( If ` y ` is not free in ` ph ` , ` x ` is not free in
       ` [ y / x ] ph ` .  (Contributed by NM, 5-Aug-1993.) $)
    hbsb3 $p |- ( [ y / x ] ph -> A. x [ y / x ] ph ) $=
      ( wsb wal sbimi hbsb2a syl ) ABCEZACFZBCEJBFAKBCDGABCHI $.
  $}

  ${
    nfs1.1 $e |- F/ y ph $.
    $( If ` y ` is not free in ` ph ` , ` x ` is not free in
       ` [ y / x ] ph ` .  (Contributed by Mario Carneiro, 11-Aug-2016.) $)
    nfs1 $p |- F/ x [ y / x ] ph $=
      ( wsb nfri hbsb3 nfi ) ABCEBABCACDFGH $.
  $}

  ${
    $d x y $.
    $( Proof of older axiom ~ ax-16 .  (Contributed by NM, 8-Nov-2006.)
       (Revised by NM, 22-Sep-2017.) $)
    ax16 $p |- ( A. x x = y -> ( ph -> A. x ph ) ) $=
      ( a16g ) ABCBD $.
  $}

  ${
    $d x y z $.  $d z ph $.
    ax16i.1 $e |- ( x = z -> ( ph <-> ps ) ) $.
    ax16i.2 $e |- ( ps -> A. x ps ) $.
    $( Inference with ~ ax16 as its conclusion.  (Contributed by NM,
       20-May-2008.)  (Proof modification is discouraged.) $)
    ax16i $p |- ( A. x x = y -> ( ph -> A. x ph ) ) $=
      ( weq wal wi nfv ax-8 cbv3 spimv equcomi syl syl5com alimdv mpcom alimi
      biimpcd nfi biimprd syl6com 3syl ) CDHZCIEDHZEIZCEHZEIZAACIZJUFUGCEUFEKUG
      CKCEDLMUHECHZEIZUJUFUHUMUGUFECECDLNUFUGULEUFDCHZUGULCDOUGDEHUNULJEDODECLP
      QRSULUIEECOZTPAUJBEIUKAUIBEUIABFUARBAECBCGUBAEKULUIBAJUOUIABFUCPMUDUE $.
  $}

  ${
    $d x y z $.  $d z ph $.
    $( Alternate proof of ~ ax16 .  (Contributed by NM, 17-May-2008.)
       (Proof modification is discouraged.)  (New usage is discouraged.) $)
    ax16ALT $p |- ( A. x x = y -> ( ph -> A. x ph ) ) $=
      ( vz wsb sbequ12 ax-17 hbsb3 ax16i ) AABDEBCDABDFABDADGHI $.
  $}

  ${
    $d x y $.  $d z ph $.
    $( Alternate proof of ~ ax16 .  (Contributed by NM, 8-Nov-2006.)
       (Proof modification is discouraged.)  (New usage is discouraged.) $)
    ax16ALT2 $p |- ( A. x x = y -> ( ph -> A. x ph ) ) $=
      ( weq wal aev wsb sbequ12 biimpcd alimdv nfv nfs1 stdpc7 cbv3 syl6com syl
      vz wi ) BCDBEBQDZQEZAABEZRBCQBQFATABQGZQEUAASUBQSAUBABQHIJUBAQBABQAQKZLUC
      AQBMNOP $.
  $}

  ${
    $d x y $.
    $( A generalization of axiom ~ ax-16 .  Alternate proof of ~ a16g that uses
       ~ df-sb .  (Contributed by NM, 5-Aug-1993.)  (Proof shortened by Andrew
       Salmon, 25-May-2011.)  (Proof modification is discouraged.)
       (New usage is discouraged.) $)
    a16gALT $p |- ( A. x x = y -> ( ph -> A. z ph ) ) $=
      ( weq wal aev ax16ALT2 biidd dral1 biimprd sylsyld ) BCEBFDBEDFZAABFZADFZ
      BCDDBGABCHMONAADBMAIJKL $.

    $( A generalization of axiom ~ ax-16 .  (Contributed by NM, 5-Aug-1993.) $)
    a16gb $p |- ( A. x x = y -> ( ph <-> A. z ph ) ) $=
      ( weq wal a16g sp impbid1 ) BCEBFAADFABCDGADHI $.

    $( If dtru in set.mm is false, then there is only one element in the
       universe, so everything satisfies ` F/ ` .  (Contributed by Mario
       Carneiro, 7-Oct-2016.) $)
    a16nf $p |- ( A. x x = y -> F/ z ph ) $=
      ( weq wal nfae a16g nfd ) BCEBFADBCDGABCDHI $.
  $}

  $( One direction of a simplified definition of substitution when variables
     are distinct.  (Contributed by NM, 5-Aug-1993.) $)
  sb3 $p |- ( -. A. x x = y -> ( E. x ( x = y /\ ph ) -> [ y / x ] ph ) ) $=
    ( weq wal wn wa wex wi wsb equs5 sb2 syl6 ) BCDZBEFNAGBHNAIBEABCJABCKABCLM
    $.

  $( One direction of a simplified definition of substitution when variables
     are distinct.  (Contributed by NM, 5-Aug-1993.) $)
  sb4 $p |- ( -. A. x x = y -> ( [ y / x ] ph -> A. x ( x = y -> ph ) ) ) $=
    ( wsb weq wa wex wal wn wi sb1 equs5 syl5 ) ABCDBCEZAFBGNBHINAJBHABCKABCLM
    $.

  $( Simplified definition of substitution when variables are distinct.
     (Contributed by NM, 27-May-1997.) $)
  sb4b $p |- ( -. A. x x = y -> ( [ y / x ] ph <-> A. x ( x = y -> ph ) ) ) $=
    ( weq wal wn wsb wi sb4 sb2 impbid1 ) BCDZBEFABCGLAHBEABCIABCJK $.

  $( An alternate definition of proper substitution that, like ~ df-sb , mixes
     free and bound variables to avoid distinct variable requirements.
     (Contributed by NM, 17-Feb-2005.) $)
  dfsb2 $p |- ( [ y / x ] ph <->
              ( ( x = y /\ ph ) \/ A. x ( x = y -> ph ) ) ) $=
    ( wsb weq wa wi wal wo sp sbequ2 sps orc ee12an sb4 olc syl6 pm2.61i sbequ1
    wn imp sb2 jaoi impbii ) ABCDZBCEZAFZUFAGBHZIZUFBHZUEUIGUJUFUEAUIUFBJUFUEAG
    BABCKLUGUHMNUJTUEUHUIABCOUHUGPQRUGUEUHUFAUEABCSUAABCUBUCUD $.

  $( An alternate definition of proper substitution ~ df-sb that uses only
     primitive connectives (no defined terms) on the right-hand side.
     (Contributed by NM, 6-Mar-2007.) $)
  dfsb3 $p |- ( [ y / x ] ph <->
              ( ( x = y -> -. ph ) -> A. x ( x = y -> ph ) ) ) $=
    ( weq wa wi wal wo wn wsb df-or dfsb2 imnan imbi1i 3bitr4i ) BCDZAEZPAFBGZH
    QIZRFABCJPAIFZRFQRKABCLTSRPAMNO $.

  $( Bound-variable hypothesis builder for substitution.  (Contributed by NM,
     5-Aug-1993.) $)
  hbsb2 $p |- ( -. A. x x = y -> ( [ y / x ] ph -> A. x [ y / x ] ph ) ) $=
    ( weq wal wn wsb wi sb4 sb2 a5i syl6 ) BCDZBEFABCGZMAHZBENBEABCIONBABCJKL
    $.

  $( Bound-variable hypothesis builder for substitution.  (Contributed by Mario
     Carneiro, 4-Oct-2016.) $)
  nfsb2 $p |- ( -. A. x x = y -> F/ x [ y / x ] ph ) $=
    ( weq wal wn wsb nfnae hbsb2 nfd ) BCDBEFABCGBBCBHABCIJ $.

  $( An equality theorem for substitution.  (Contributed by NM, 5-Aug-1993.) $)
  sbequi $p |- ( x = y -> ( [ x / z ] ph -> [ y / z ] ph ) ) $=
    ( weq wal wsb wi wn wa wex hbsb2 stdpc7 sbequ1 sylan9 sps adantr drsb1 syld
    ex equvini eximi 19.35 sylib nfsb2 19.9d syl9 sbequ2 biimprd sylan9r biimpd
    syl com23 pm2.61ii ) DBEZDFZDCEZDFZBCEZADBGZADCGZHZHUPIZUSURIZVBVCUSVDVBHVC
    USJUTVADKZVDVAVCUTUTDFZUSVEADBLUSVBDKZVFVEHUSBDEZUQJZDKVGBCDUAVIVBDVHUTAUQV
    AABDMADCNZOUBULUTVADUCUDOVAVDDADCUEUFUGTUMUPUSVBUPUSJUTAVAUPUTAHZUSUOVKDADB
    UHPQUSAABCGZUPVAABCNUPVAVLADBCRUIUJSTURUSVBURUSJUTAVAURUTACBGZUSAURUTVMADCB
    RUKABCMOURAVAHZUSUQVNDVJPQSTUN $.

  $( An equality theorem for substitution.  Used in proof of Theorem 9.7 in
     [Megill] p. 449 (p. 16 of the preprint).  (Contributed by NM,
     5-Aug-1993.) $)
  sbequ $p |- ( x = y -> ( [ x / z ] ph <-> [ y / z ] ph ) ) $=
    ( weq wsb sbequi wi equcoms impbid ) BCEADBFZADCFZABCDGLKHCBACBDGIJ $.

  $( Formula-building lemma for use with the Distinctor Reduction Theorem.
     Part of Theorem 9.4 of [Megill] p. 448 (p. 16 of preprint).  (Contributed
     by NM, 27-Feb-2005.) $)
  drsb2 $p |- ( A. x x = y -> ( [ x / z ] ph <-> [ y / z ] ph ) ) $=
    ( weq wsb wb sbequ sps ) BCEADBFADCFGBABCDHI $.

  $( Negation inside and outside of substitution are equivalent.  (Contributed
     by NM, 5-Aug-1993.) $)
  sbn $p |- ( [ y / x ] -. ph <-> -. [ y / x ] ph ) $=
    ( wn wsb weq wal wi sbequ2 nsyld sps sb4 wa wex sb1 equs3 sylib syl6 sylibr
    con2i pm2.61i sbequ1 con3rr3 sb2 notnot sbbii con3i df-sb sylanbrc impbii )
    ADZBCEZABCEZDZBCFZBGZULUNHZUOUQBUOULAUMUKBCIABCIJKUPDULUOUKHZBGZUNUKBCLUMUS
    UMUOAMBNUSDABCOABCPQTRUAUNURUOUKMBNZULUOAUMABCUBUCUNUOUKDZHBGZDUTVBUMVBVABC
    EUMVABCUDAVABCAUEUFSUGUKBCPSUKBCUHUIUJ $.

  $( Removal of implication from substitution.  (Contributed by NM,
     5-Aug-1993.) $)
  sbi1 $p |- ( [ y / x ] ( ph -> ps ) -> ( [ y / x ] ph -> [ y / x ] ps ) ) $=
    ( weq wal wi wsb sbequ2 syl5d sbequ1 syl6d sps sb4 ax-2 al2imi syl6 pm2.61i
    wn sb2 ) CDEZCFZABGZCDHZACDHZBCDHZGGZUAUGCUAUDUEBUFUAUEAUDBACDIUCCDIJBCDKLM
    UBSZUEUAAGZCFZUDUFACDNUHUDUAUCGZCFZUJUFGUCCDNULUJUABGZCFUFUKUIUMCUAABOPBCDT
    QQJR $.

  $( Introduction of implication into substitution.  (Contributed by NM,
     5-Aug-1993.) $)
  sbi2 $p |- ( ( [ y / x ] ph -> [ y / x ] ps ) -> [ y / x ] ( ph -> ps ) ) $=
    ( wsb wi wn sbn pm2.21 sbimi sylbir ax-1 ja ) ACDEZBCDEABFZCDEZNGAGZCDEPACD
    HQOCDABIJKBOCDBALJM $.

  $( Implication inside and outside of substitution are equivalent.
     (Contributed by NM, 5-Aug-1993.) $)
  sbim $p |- ( [ y / x ] ( ph -> ps ) <-> ( [ y / x ] ph -> [ y / x ] ps ) ) $=
    ( wi wsb sbi1 sbi2 impbii ) ABECDFACDFBCDFEABCDGABCDHI $.

  $( Logical OR inside and outside of substitution are equivalent.
     (Contributed by NM, 29-Sep-2002.) $)
  sbor $p |- ( [ y / x ] ( ph \/ ps ) <-> ( [ y / x ] ph \/ [ y / x ] ps ) ) $=
    ( wn wi wsb wo sbim sbn imbi1i bitri df-or sbbii 3bitr4i ) AEZBFZCDGZACDGZE
    ZBCDGZFZABHZCDGSUAHRPCDGZUAFUBPBCDIUDTUAACDJKLUCQCDABMNSUAMO $.

  ${
    sbrim.1 $e |- F/ x ph $.
    $( Substitution with a variable not free in antecedent affects only the
       consequent.  (Contributed by NM, 5-Aug-1993.)  (Revised by Mario
       Carneiro, 4-Oct-2016.) $)
    sbrim $p |- ( [ y / x ] ( ph -> ps ) <-> ( ph -> [ y / x ] ps ) ) $=
      ( wi wsb sbim sbf imbi1i bitri ) ABFCDGACDGZBCDGZFAMFABCDHLAMACDEIJK $.
  $}

  ${
    sblim.1 $e |- F/ x ps $.
    $( Substitution with a variable not free in consequent affects only the
       antecedent.  (Contributed by NM, 14-Nov-2013.)  (Revised by Mario
       Carneiro, 4-Oct-2016.) $)
    sblim $p |- ( [ y / x ] ( ph -> ps ) <-> ( [ y / x ] ph -> ps ) ) $=
      ( wi wsb sbim sbf imbi2i bitri ) ABFCDGACDGZBCDGZFLBFABCDHMBLBCDEIJK $.
  $}

  $( Conjunction inside and outside of a substitution are equivalent.
     (Contributed by NM, 5-Aug-1993.) $)
  sban $p |- ( [ y / x ] ( ph /\ ps ) <-> ( [ y / x ] ph /\ [ y / x ] ps ) ) $=
    ( wn wi wsb wa sbn sbim imbi2i bitri xchbinx df-an sbbii 3bitr4i ) ABEZFZEZ
    CDGZACDGZBCDGZEZFZEABHZCDGUAUBHTRCDGZUDRCDIUFUAQCDGZFUDAQCDJUGUCUABCDIKLMUE
    SCDABNOUAUBNP $.

  $( Conjunction inside and outside of a substitution are equivalent.
     (Contributed by NM, 14-Dec-2006.) $)
  sb3an $p |- ( [ y / x ] ( ph /\ ps /\ ch ) <->
              ( [ y / x ] ph /\ [ y / x ] ps /\ [ y / x ] ch ) ) $=
    ( w3a wsb wa df-3an sbbii sban anbi1i bitr4i 3bitri ) ABCFZDEGABHZCHZDEGPDE
    GZCDEGZHZADEGZBDEGZSFZOQDEABCIJPCDEKTUAUBHZSHUCRUDSABDEKLUAUBSIMN $.

  $( Equivalence inside and outside of a substitution are equivalent.
     (Contributed by NM, 5-Aug-1993.) $)
  sbbi $p |- ( [ y / x ] ( ph <-> ps )
     <-> ( [ y / x ] ph <-> [ y / x ] ps ) ) $=
    ( wb wsb wi wa dfbi2 sbbii sbim anbi12i sban 3bitr4i bitri ) ABEZCDFABGZBAG
    ZHZCDFZACDFZBCDFZEZPSCDABIJQCDFZRCDFZHUAUBGZUBUAGZHTUCUDUFUEUGABCDKBACDKLQR
    CDMUAUBINO $.

  ${
    sblbis.1 $e |- ( [ y / x ] ph <-> ps ) $.
    $( Introduce left biconditional inside of a substitution.  (Contributed by
       NM, 19-Aug-1993.) $)
    sblbis $p |- ( [ y / x ] ( ch <-> ph ) <-> ( [ y / x ] ch <-> ps ) ) $=
      ( wb wsb sbbi bibi2i bitri ) CAGDEHCDEHZADEHZGLBGCADEIMBLFJK $.
  $}

  ${
    sbrbis.1 $e |- ( [ y / x ] ph <-> ps ) $.
    $( Introduce right biconditional inside of a substitution.  (Contributed by
       NM, 18-Aug-1993.) $)
    sbrbis $p |- ( [ y / x ] ( ph <-> ch ) <-> ( ps <-> [ y / x ] ch ) ) $=
      ( wb wsb sbbi bibi1i bitri ) ACGDEHADEHZCDEHZGBMGACDEILBMFJK $.
  $}

  ${
    sbrbif.1 $e |- F/ x ch $.
    sbrbif.2 $e |- ( [ y / x ] ph <-> ps ) $.
    $( Introduce right biconditional inside of a substitution.  (Contributed by
       NM, 18-Aug-1993.)  (Revised by Mario Carneiro, 4-Oct-2016.) $)
    sbrbif $p |- ( [ y / x ] ( ph <-> ch ) <-> ( ps <-> ch ) ) $=
      ( wb wsb sbrbis sbf bibi2i bitri ) ACHDEIBCDEIZHBCHABCDEGJNCBCDEFKLM $.
  $}

  $( A specialization theorem.  (Contributed by NM, 5-Aug-1993.) $)
  spsbe $p |- ( [ y / x ] ph -> E. x ph ) $=
    ( wsb wn wal wex stdpc4 sbn sylib con2i df-ex sylibr ) ABCDZAEZBFZEABGPNPOB
    CDNEOBCHABCIJKABLM $.

  $( Specialization of implication.  (Contributed by NM, 5-Aug-1993.)  (Proof
     shortened by Andrew Salmon, 25-May-2011.) $)
  spsbim $p |- ( A. x ( ph -> ps ) -> ( [ y / x ] ph -> [ y / x ] ps ) ) $=
    ( wi wal wsb stdpc4 sbi1 syl ) ABEZCFKCDGACDGBCDGEKCDHABCDIJ $.

  $( Specialization of biconditional.  (Contributed by NM, 5-Aug-1993.) $)
  spsbbi $p |- ( A. x ( ph <-> ps ) -> ( [ y / x ] ph <-> [ y / x ] ps ) ) $=
    ( wb wal wsb stdpc4 sbbi sylib ) ABEZCFKCDGACDGBCDGEKCDHABCDIJ $.

  ${
    sbbid.1 $e |- F/ x ph $.
    sbbid.2 $e |- ( ph -> ( ps <-> ch ) ) $.
    $( Deduction substituting both sides of a biconditional.  (Contributed by
       NM, 5-Aug-1993.) $)
    sbbid $p |- ( ph -> ( [ y / x ] ps <-> [ y / x ] ch ) ) $=
      ( wb wal wsb alrimi spsbbi syl ) ABCHZDIBDEJCDEJHANDFGKBCDELM $.
  $}

  $( Elimination of equality from antecedent after substitution.  (Contributed
     by NM, 5-Aug-1993.) $)
  sbequ8 $p |- ( [ y / x ] ph <-> [ y / x ] ( x = y -> ph ) ) $=
    ( wsb weq wi equsb1 a1bi sbim bitr4i ) ABCDZBCEZBCDZKFLAFBCDMKBCGHLABCIJ $.

  $( A variable not free remains so after substitution with a distinct variable
     (closed form of ~ nfsb4 ).  (Contributed by NM, 7-Apr-2004.)  (Revised by
     Mario Carneiro, 4-Oct-2016.) $)
  nfsb4t $p |- ( A. x F/ z ph ->
                 ( -. A. z z = y -> F/ z [ y / x ] ph ) ) $=
    ( wnf wal weq wn wsb wi wa sbequ12 sps drnf2 biimpcd a1dd nfa1 nfnae nfan
    wb nfeqf adantl sp adantr nfimd nfald sb4b nfbidf imbi2d syl5ibrcom pm2.61d
    ex exp3a nfsb2 drsb1 syl5ib pm2.61d2 ) ADEZBFZDBGDFZDCGDFHZABCIZDEZJUSUTHZV
    AVCUSBCGZBFZVDVAKZVCJZUSVFVCVGURVFVCJBVFURVCAVBBCDVEAVBTBABCLMNOMPUSVHVFHZV
    GVEAJZBFZDEZJUSVGVLUSVGKZVJDBUSVGBURBQVDVABDBBRDCBRSSVMVEADVGVEDEUSBCDUAUBU
    SURVGURBUCUDUEUFULVIVCVLVGVIVBVKDBCDRABCUGUHUIUJUKUMVAADCIZDEUTVCADCUNVNVBD
    BDADBCUONUPUQ $.

  ${
    nfsb4.1 $e |- F/ z ph $.
    $( A variable not free remains so after substitution with a distinct
       variable.  (Contributed by NM, 5-Aug-1993.)  (Revised by Mario Carneiro,
       4-Oct-2016.) $)
    nfsb4 $p |- ( -. A. z z = y -> F/ z [ y / x ] ph ) $=
      ( wnf weq wal wn wsb wi nfsb4t mpg ) ADFDCGDHIABCJDFKBABCDLEM $.
  $}

  ${
    dvelimdf.1 $e |- F/ x ph $.
    dvelimdf.2 $e |- F/ z ph $.
    dvelimdf.3 $e |- ( ph -> F/ x ps ) $.
    dvelimdf.4 $e |- ( ph -> F/ z ch ) $.
    dvelimdf.5 $e |- ( ph -> ( z = y -> ( ps <-> ch ) ) ) $.
    $( Deduction form of ~ dvelimf .  This version may be useful if we want to
       avoid ~ ax-17 and use ~ ax-16 instead.  (Contributed by NM,
       7-Apr-2004.)  (Revised by Mario Carneiro, 6-Oct-2016.) $)
    dvelimdf $p |- ( ph -> ( -. A. x x = y -> F/ x ch ) ) $=
      ( weq wal wn wnf wa wsb wi alrimi nfsb4t syl imp nfnae nfan adantr nfbidf
      wb sbied mpbid ex ) ADELDMNZCDOZAUKPZBFEQZDOZULAUKUOABDOZFMUKUORAUPFHISBF
      EDTUAUBUMUNCDAUKDGDEDUCUDAUNCUGUKABCFEHJKUHUEUFUIUJ $.
  $}

  $( A composition law for substitution.  (Contributed by NM, 5-Aug-1993.) $)
  sbco $p |- ( [ y / x ] [ x / y ] ph <-> [ y / x ] ph ) $=
    ( wsb wb weq equsb2 sbequ12 bicomd sbimi ax-mp sbbi mpbi ) ACBDZAEZBCDZNBCD
    ABCDECBFZBCDPBCGQOBCQANACBHIJKNABCLM $.

  ${
    sbid2.1 $e |- F/ x ph $.
    $( An identity law for substitution.  (Contributed by NM, 5-Aug-1993.)
       (Revised by Mario Carneiro, 6-Oct-2016.) $)
    sbid2 $p |- ( [ y / x ] [ x / y ] ph <-> ph ) $=
      ( wsb sbco sbf bitri ) ACBEBCEABCEAABCFABCDGH $.
  $}

  $( An idempotent law for substitution.  (Contributed by NM, 30-Jun-1994.)
     (Proof shortened by Andrew Salmon, 25-May-2011.) $)
  sbidm $p |- ( [ y / x ] [ y / x ] ph <-> [ y / x ] ph ) $=
    ( wsb wb weq equsb2 sbequ12r sbimi ax-mp sbbi mpbi ) ABCDZAEZBCDZMBCDMECBFZ
    BCDOBCGPNBCACBHIJMABCKL $.

  ${
    sbco2.1 $e |- F/ z ph $.
    $( A composition law for substitution.  (Contributed by NM, 30-Jun-1994.)
       (Revised by Mario Carneiro, 6-Oct-2016.) $)
    sbco2 $p |- ( [ y / z ] [ z / x ] ph <-> [ y / x ] ph ) $=
      ( weq wal wsb wb sbid2 sbequ syl5bbr sbequ12 bitr3d sps wn nfnae nfsb4 wi
      nfs1 a1i sbied bicomd pm2.61i ) BCFZBGZABDHZDCHZABCHZIZUEUJBUEAUHUIAUGDBH
      UEUHADBEJUGBCDKLZABCMNOUFPZUIUHULAUHBCBCBQUGDCBABDETRUEAUHISULUKUAUBUCUD
      $.
  $}

  ${
    sbco2d.1 $e |- F/ x ph $.
    sbco2d.2 $e |- F/ z ph $.
    sbco2d.3 $e |- ( ph -> F/ z ps ) $.
    $( A composition law for substitution.  (Contributed by NM, 5-Aug-1993.)
       (Revised by Mario Carneiro, 6-Oct-2016.) $)
    sbco2d $p |- ( ph -> ( [ y / z ] [ z / x ] ps <-> [ y / x ] ps ) ) $=
      ( wsb wi nfim1 sbco2 sbrim sbbii bitri 3bitr3i pm5.74ri ) ABCEIZEDIZBCDIZ
      ABJZCEIZEDIZUACDIASJZATJUACDEABEGHKLUCARJZEDIUDUBUEEDABCEFMNAREDGMOABCDFM
      PQ $.
  $}

  $( A composition law for substitution.  (Contributed by NM, 5-Aug-1993.) $)
  sbco3 $p |- ( [ z / y ] [ y / x ] ph <-> [ z / x ] [ x / y ] ph ) $=
    ( weq wal wsb wb drsb1 sbequ12a alimi spsbbi syl bitr3d wn sbco sbbii nfnae
    nfsb2 sbco2d syl5rbbr pm2.61i ) BCEZBFZABCGZCDGZACBGZBDGZHUDUEBDGZUFUHUEBCD
    IUDUEUGHZBFUIUHHUCUJBABCJKUEUGBDLMNUHUECBGZBDGUDOZUFUKUGBDACBPQULUECDBBCCRB
    CBRABCSTUAUB $.

  $( A commutativity law for substitution.  (Contributed by NM,
     27-May-1997.) $)
  sbcom $p |- ( [ y / z ] [ y / x ] ph <-> [ y / x ] [ y / z ] ph ) $=
    ( weq wal wsb wb wn wa drsb1 nfae sbbid bitr3d nfnae albid sb4b sbequ12 sps
    wi adantr wnf nfeqf 19.21t syl adantrr alcom bi2.04 albii aecom con3i sylan
    nfan syl5bb adantrl imbi2d sylan9bbr sylan9bb 3bitr4d pm2.61ian ex pm2.61ii
    adantl ) BCEZBFZDCEZDFZABCGZDCGZADCGZBCGZHZVEIZVGIZVLBDEBFZVMVNJZVLVOVLVPVO
    VHBCGVIVKVHBDCKVOVHVJBCBDBLABDCKMNUAVOIZVPJZVFVDATZBFZTZDFZVDVFATZDFZTZBFZV
    IVKVRVFVSTZBFZDFZWBWFVQVMWIWBHVNVQVMJZWHWADVQVMDBDDOBCDOZUMWJVFBUBWHWAHDCBU
    CVFVSBUDUEPUFVQVNWIWFHVMWIWGDFZBFVQVNJZWFWGDBUGWMWLWEBVQVNBBDBODCBOZUMWLVDW
    CTZDFZWMWEWGWODVFVDAUHUIWMVDDUBZWPWEHVQDBEDFZIVNWQWRVODBUJUKBCDUCULVDWCDUDU
    EUNPUNUONVPVIWBHVQVNVIVFVHTZDFVMWBVHDCQVMWSWADWKVMVHVTVFABCQUPPUQVCVPVKWFHV
    QVMVKVDVJTZBFVNWFVJBCQVNWTWEBWNVNVJWDVDADCQUPPURVCUSUTVAVEVJVIVKVEAVHDCBCDL
    VDAVHHBABCRSMVDVJVKHBVJBCRSNVGVHVIVKVFVHVIHDVHDCRSVGAVJBCDCBLVFAVJHDADCRSMN
    VB $.

  ${
    sb5rf.1 $e |- F/ y ph $.
    $( Reversed substitution.  (Contributed by NM, 3-Feb-2005.)  (Revised by
       Mario Carneiro, 6-Oct-2016.) $)
    sb5rf $p |- ( ph <-> E. y ( y = x /\ [ y / x ] ph ) ) $=
      ( weq wsb wa wex sbid2 sb1 sylbir stdpc7 imp exlimi impbii ) ACBEZABCFZGZ
      CHZAQCBFSACBDIQCBJKRACDPQAACBLMNO $.

    $( Reversed substitution.  (Contributed by NM, 5-Aug-1993.)  (Revised by
       Mario Carneiro, 6-Oct-2016.) $)
    sb6rf $p |- ( ph <-> A. y ( y = x -> [ y / x ] ph ) ) $=
      ( weq wsb wi wal sbequ1 equcoms com12 alrimi sb2 sbid2 sylib impbii ) ACB
      EZABCFZGZCHZASCDQARARGBCABCIJKLTRCBFARCBMACBDNOP $.

    $( Substitution of variable in universal quantifier.  (Contributed by NM,
       5-Aug-1993.)  (Revised by Mario Carneiro, 6-Oct-2016.) $)
    sb8 $p |- ( A. x ph <-> A. y [ y / x ] ph ) $=
      ( wal wsb nfal stdpc4 alrimi nfs1 stdpc7 cbv3 impbii ) ABEZABCFZCENOCACBD
      GABCHIOACBABCDJDACBKLM $.

    $( Substitution of variable in existential quantifier.  (Contributed by NM,
       12-Aug-1993.)  (Revised by Mario Carneiro, 6-Oct-2016.) $)
    sb8e $p |- ( E. x ph <-> E. y [ y / x ] ph ) $=
      ( wn wal wsb wex nfn sb8 sbn albii bitri notbii df-ex 3bitr4i ) AEZBFZEAB
      CGZEZCFZEABHSCHRUARQBCGZCFUAQBCACDIJUBTCABCKLMNABOSCOP $.
  $}

  $( Commutation of quantification and substitution variables.  (Contributed by
     NM, 5-Aug-1993.) $)
  sb9i $p |- ( A. x [ x / y ] ph -> A. y [ y / x ] ph ) $=
    ( weq wal wsb wi drsb1 drsb2 bitr3d dral1 biimprd wn nfnae hbsb2 alimd sbco
    stdpc4 sylib alimi a7s syl6 pm2.61i ) CBDCEZACBFZBEZABCFZCEZGUDUHUFUGUECBUD
    ACCFUGUEACBCHACBCIJKLUDMZUFUECEZBEUHUIUEUJBCBBNACBOPUEUHCBUFUGCUFUEBCFUGUEB
    CRABCQSTUAUBUC $.

  $( Commutation of quantification and substitution variables.  (Contributed by
     NM, 5-Aug-1993.) $)
  sb9 $p |- ( A. x [ x / y ] ph <-> A. y [ y / x ] ph ) $=
    ( wsb wal sb9i impbii ) ACBDBEABCDCEABCFACBFG $.

  ${
    $d x y $.  $d x z $.  $d y z $.  $d ph z $.
    $( This is a version of ~ ax-11o when the variables are distinct.  Axiom
       (C8) of [Monk2] p. 105.  See theorem ~ ax11v2 for the rederivation of
       ~ ax-11o from this theorem.  (Contributed by NM, 5-Aug-1993.) $)
    ax11v $p |- ( x = y -> ( ph -> A. x ( x = y -> ph ) ) ) $=
      ( weq wal wi ax-1 ax16 syl5 a1d ax11o pm2.61i ) BCDZBEZMAMAFZBEZFZFNQMAON
      PAMGOBCHIJABCKL $.

    $( Alternate proof of ~ ax11v that avoids theorem ~ ax16 and is proved
       directly from ~ ax-11 rather than via ~ ax11o .  (Contributed by Jim
       Kingdon, 15-Dec-2017.)  (New usage is discouraged.)
       (Proof modification is discouraged.) $)
    ax11vALT $p |- ( x = y -> ( ph -> A. x ( x = y -> ph ) ) ) $=
      ( vz cv wceq wex wi wal a9e ax-17 ax-11 syl5 equequ2 imbi1d albidv imbi2d
      imbi12d mpbii exlimiv ax-mp ) DEZCEZFZDGBEZUCFZAUFAHZBIZHZHZDCJUDUJDUDUEU
      BFZAUKAHZBIZHZHUJAADIUKUMADKABDLMUDUKUFUNUIDCBNZUDUMUHAUDULUGBUDUKUFAUOOP
      QRSTUA $.

    $( Two equivalent ways of expressing the proper substitution of ` y ` for
       ` x ` in ` ph ` , when ` x ` and ` y ` are distinct.  Theorem 6.2 of
       [Quine] p. 40.  The proof does not involve ~ df-sb .  (Contributed by
       NM, 14-Apr-2008.) $)
    sb56 $p |- ( E. x ( x = y /\ ph ) <-> A. x ( x = y -> ph ) ) $=
      ( weq wi wal nfa1 ax11v sp com12 impbid equsex ) ABCDZAEZBFZBCNBGMAOABCHO
      MANBIJKL $.

    $( Equivalence for substitution.  Compare Theorem 6.2 of [Quine] p. 40.
       Also proved as Lemmas 16 and 17 of [Tarski] p. 70.  (Contributed by NM,
       18-Aug-1993.) $)
    sb6 $p |- ( [ y / x ] ph <-> A. x ( x = y -> ph ) ) $=
      ( weq wi wa wex wal wsb sb56 anbi2i df-sb sp pm4.71ri 3bitr4i ) BCDZAEZPA
      FBGZFQQBHZFABCISRSQABCJKABCLSQQBMNO $.

    $( Equivalence for substitution.  Similar to Theorem 6.1 of [Quine] p. 40.
       (Contributed by NM, 18-Aug-1993.) $)
    sb5 $p |- ( [ y / x ] ph <-> E. x ( x = y /\ ph ) ) $=
      ( wsb weq wi wal wa wex sb6 sb56 bitr4i ) ABCDBCEZAFBGMAHBIABCJABCKL $.
  $}

  ${
    $d y z $.  $d x y $.
    $( Lemma for ~ equsb3 .  (Contributed by Raph Levien and FL, 4-Dec-2005.)
       (Proof shortened by Andrew Salmon, 14-Jun-2011.) $)
    equsb3lem $p |- ( [ x / y ] y = z <-> x = z ) $=
      ( weq nfv equequ1 sbie ) BCDACDZBAHBEBACFG $.
  $}

  ${
    $d w y z $.  $d w x $.
    $( Substitution applied to an atomic wff.  (Contributed by Raph Levien and
       FL, 4-Dec-2005.) $)
    equsb3 $p |- ( [ x / y ] y = z <-> x = z ) $=
      ( vw weq wsb equsb3lem sbbii nfv sbco2 3bitr3i ) BCEZBDFZDAFDCEZDAFLBAFAC
      EMNDADBCGHLBADLDIJADCGK $.
  $}

  ${
    $d w y z $.  $d w x $.
    $( Substitution applied to an atomic membership wff.  (Contributed by NM,
       7-Nov-2006.)  (Proof shortened by Andrew Salmon, 14-Jun-2011.) $)
    elsb3 $p |- ( [ x / y ] y e. z <-> x e. z ) $=
      ( vw wel wsb nfv sbco2 elequ1 sbie sbbii 3bitr3i ) DCEZDBFZBAFMDAFBCEZBAF
      ACEZMDABMBGHNOBAMODBODGDBCIJKMPDAPDGDACIJL $.
  $}

  ${
    $d w y z $.  $d w x $.
    $( Substitution applied to an atomic membership wff.  (Contributed by
       Rodolfo Medina, 3-Apr-2010.)  (Proof shortened by Andrew Salmon,
       14-Jun-2011.) $)
    elsb4 $p |- ( [ x / y ] z e. y <-> z e. x ) $=
      ( vw wel wsb nfv sbco2 elequ2 sbie sbbii 3bitr3i ) CDEZDBFZBAFMDAFCBEZBAF
      CAEZMDABMBGHNOBAMODBODGDBCIJKMPDAPDGDACIJL $.
  $}

  ${
    $d x y $.
    $( ` x ` is not free in ` [ y / x ] ph ` when ` x ` and ` y ` are
       distinct.  (Contributed by NM, 5-Aug-1993.) $)
    hbs1 $p |- ( [ y / x ] ph -> A. x [ y / x ] ph ) $=
      ( weq wal wsb wi ax16 hbsb2 pm2.61i ) BCDBEABCFZKBEGKBCHABCIJ $.

    $( ` x ` is not free in ` [ y / x ] ph ` when ` x ` and ` y ` are
       distinct.  (Contributed by Mario Carneiro, 11-Aug-2016.) $)
    nfs1v $p |- F/ x [ y / x ] ph $=
      ( wsb hbs1 nfi ) ABCDBABCEF $.
  $}

  ${
    $d y ph $.
    $( Two ways of expressing " ` x ` is (effectively) not free in ` ph ` ."
       (Contributed by NM, 29-May-2009.) $)
    sbhb $p |- ( ( ph -> A. x ph ) <-> A. y ( ph -> [ y / x ] ph ) ) $=
      ( wal wi wsb nfv sb8 imbi2i 19.21v bitr4i ) AABDZEAABCFZCDZEAMECDLNAABCAC
      GHIAMCJK $.
  $}

  ${
    $d x y z $.  $d y z ph $.
    $( Two ways of expressing " ` x ` is (effectively) not free in ` ph ` ."
       (Contributed by G&eacute;rard Lang, 14-Nov-2013.)  (Revised by Mario
       Carneiro, 6-Oct-2016.) $)
    sbnf2 $p |- ( F/ x ph
       <-> A. y A. z ( [ y / x ] ph <-> [ z / x ] ph ) ) $=
      ( wsb wb wal wi wnf 2albiim sbhb albii alcom 3bitri nfv nfs1v sblim bitri
      wa sb8 df-nf anbi12i anidm 3bitr2ri ) ABCEZABDEZFDGCGUEUFHZDGCGZUFUEHZDGZ
      CGZSABIZULSULUEUFCDJULUHULUKULAUFHZBGZDGZUGCGZDGUHULAABGHZBGZUMDGZBGUOABU
      AZUQUSBABDKLUMBDMNUNUPDUNUMBCEZCGUPUMBCUMCOTVAUGCAUFBCABDPQLRLUGDCMNULAUE
      HZBGZCGZUKULURVBCGZBGVDUTUQVEBABCKLVBBCMNVCUJCVCVBBDEZDGUJVBBDVBDOTVFUIDA
      UEBDABCPQLRLRUBULUCUD $.
  $}

  ${
    $d y z $.
    nfsb.1 $e |- F/ z ph $.
    $( If ` z ` is not free in ` ph ` , it is not free in ` [ y / x ] ph ` when
       ` y ` and ` z ` are distinct.  (Contributed by Mario Carneiro,
       11-Aug-2016.) $)
    nfsb $p |- F/ z [ y / x ] ph $=
      ( weq wal wsb wnf a16nf nfsb4 pm2.61i ) DCFDGABCHZDIMDCDJABCDEKL $.
  $}

  ${
    $d y z $.
    hbsb.1 $e |- ( ph -> A. z ph ) $.
    $( If ` z ` is not free in ` ph ` , it is not free in ` [ y / x ] ph ` when
       ` y ` and ` z ` are distinct.  (Contributed by NM, 12-Aug-1993.) $)
    hbsb $p |- ( [ y / x ] ph -> A. z [ y / x ] ph ) $=
      ( wsb nfi nfsb nfri ) ABCFDABCDADEGHI $.
  $}

  ${
    $d y z $.
    nfsbd.1 $e |- F/ x ph $.
    nfsbd.2 $e |- ( ph -> F/ z ps ) $.
    $( Deduction version of ~ nfsb .  (Contributed by NM, 15-Feb-2013.) $)
    nfsbd $p |- ( ph -> F/ z [ y / x ] ps ) $=
      ( weq wal wsb wnf wn wi alrimi nfsb4t syl a16nf pm2.61d2 ) AEDHEIZBCDJZEK
      ZABEKZCISLUAMAUBCFGNBCDEOPTEDEQR $.
  $}

  ${
    $d x y z $.  $d w y $.
    $( Equivalence for double substitution.  (Contributed by NM,
       3-Feb-2005.) $)
    2sb5 $p |- ( [ z / x ] [ w / y ] ph <->
               E. x E. y ( ( x = z /\ y = w ) /\ ph ) ) $=
      ( wsb weq wa wex sb5 19.42v anass exbii anbi2i 3bitr4ri bitri ) ACEFZBDFB
      DGZQHZBIRCEGZHAHZCIZBIQBDJSUBBRTAHZHZCIRUCCIZHUBSRUCCKUAUDCRTALMQUERACEJN
      OMP $.

    $( Equivalence for double substitution.  (Contributed by NM,
       3-Feb-2005.) $)
    2sb6 $p |- ( [ z / x ] [ w / y ] ph <->
               A. x A. y ( ( x = z /\ y = w ) -> ph ) ) $=
      ( wsb weq wi wal wa sb6 19.21v impexp albii imbi2i 3bitr4ri bitri ) ACEFZ
      BDFBDGZRHZBISCEGZJAHZCIZBIRBDKTUCBSUAAHZHZCISUDCIZHUCTSUDCLUBUECSUAAMNRUF
      SACEKOPNQ $.
  $}

  ${
    $d x z $.  $d x w $.  $d y z $.
    $( Commutativity law for substitution.  Used in proof of Theorem 9.7 of
       [Megill] p. 449 (p. 16 of the preprint).  (Contributed by NM,
       27-May-1997.) $)
    sbcom2 $p |- ( [ w / z ] [ y / x ] ph <-> [ y / x ] [ w / z ] ph ) $=
      ( weq wal wsb wb wn wi albii 19.21v sb4b imbi2d albidv nfae sbequ12 sbbid
      sps wa alcom bi2.04 bitri 3bitr3i a1i sylan9bbr sylan9bb 3bitr4d pm2.61ii
      ex bitr3d ) BCFZBGZDEFZDGZABCHZDEHZADEHZBCHZIZUNJZUPJZVAVBVCUAZUOUMAKZBGZ
      KZDGZUMUOAKZDGZKZBGZURUTVHVLIVDUMVIKZBGZDGVMDGZBGVHVLVMDBUBVNVGDVNUOVEKZB
      GVGVMVPBUMUOAUCLUOVEBMUDLVOVKBUMVIDMLUEUFVCURUOUQKZDGVBVHUQDENVBVQVGDVBUQ
      VFUOABCNOPUGVBUTUMUSKZBGVCVLUSBCNVCVRVKBVCUSVJUMADENOPUHUIUKUNUSURUTUNAUQ
      DEBCDQUMAUQIBABCRTSUMUSUTIBUSBCRTULUPUQURUTUOUQURIDUQDERTUPAUSBCDEBQUOAUS
      IDADERTSULUJ $.
  $}

  ${
    $d ph x y z $.  $d w x z $.
    $( Theorem *11.07 in [WhiteheadRussell] p. 159.  (Contributed by Andrew
       Salmon, 17-Jun-2011.) $)
    pm11.07 $p |- ( [ w / x ] [ y / z ] ph <-> [ y / x ] [ w / z ] ph ) $=
      ( weq wa wex wsb a9ev pm3.2i 2th eeanv 3bitr4i anbi1i 19.41vv 2sb5 ) BEFZ
      DCFZGZAGDHBHZBCFZDEFZGZAGDHBHZADCIBEIADEIBCITDHBHZAGUDDHBHZAGUAUEUFUGARBH
      ZSDHZGZUBBHZUCDHZGZUFUGUJUMUHUIBEJDCJKUKULBCJDEJKLRSBDMUBUCBDMNOTABDPUDAB
      DPNABDECQABDCEQN $.
  $}

  ${
    $d x y $.
    $( Equivalence for substitution.  (Contributed by NM, 5-Aug-1993.) $)
    sb6a $p |- ( [ y / x ] ph <-> A. x ( x = y -> [ x / y ] ph ) ) $=
      ( wsb weq wi wal sb6 wb sbequ12 equcoms pm5.74i albii bitri ) ABCDBCEZAFZ
      BGOACBDZFZBGABCHPRBOAQAQICBACBJKLMN $.
  $}

  ${
    $d x y $.  $d x w $.  $d y z $.  $d z w $.
    2sb5rf.1 $e |- F/ z ph $.
    2sb5rf.2 $e |- F/ w ph $.
    $( Reversed double substitution.  (Contributed by NM, 3-Feb-2005.)
       (Revised by Mario Carneiro, 6-Oct-2016.) $)
    2sb5rf $p |- ( ph <->
                E. z E. w ( ( z = x /\ w = y ) /\ [ z / x ] [ w / y ] ph ) ) $=
      ( weq wsb wex sb5rf 19.42v sbcom2 anbi2i anass bitri exbii nfsb 3bitr4ri
      wa ) ADBHZABDIZTZDJUAECHZTZACEIBDIZTZEJZDJABDFKUCUHDUAUDUBCEIZTZTZEJUAUJE
      JZTUHUCUAUJELUGUKEUGUEUITUKUFUIUEACEBDMNUAUDUIOPQUBULUAUBCEABDEGRKNSQP $.

    $( Reversed double substitution.  (Contributed by NM, 3-Feb-2005.)
       (Revised by Mario Carneiro, 6-Oct-2016.) $)
    2sb6rf $p |- ( ph <->
                A. z A. w ( ( z = x /\ w = y ) -> [ z / x ] [ w / y ] ph ) ) $=
      ( weq wsb wi wal wa sb6rf 19.21v sbcom2 imbi2i impexp bitri albii nfsb
      3bitr4ri ) ADBHZABDIZJZDKUBECHZLZACEIBDIZJZEKZDKABDFMUDUIDUBUEUCCEIZJZJZE
      KUBUKEKZJUIUDUBUKENUHULEUHUFUJJULUGUJUFACEBDOPUBUEUJQRSUCUMUBUCCEABDEGTMP
      UASR $.
  $}

  ${
    $d x z $.  $d y z $.  $d z ph $.
    $( An alternate definition of proper substitution ~ df-sb .  By introducing
       a dummy variable ` z ` in the definiens, we are able to eliminate any
       distinct variable restrictions among the variables ` x ` , ` y ` , and
       ` ph ` of the definiendum.  No distinct variable conflicts arise because
       ` z ` effectively insulates ` x ` from ` y ` .  To achieve this, we use
       a chain of two substitutions in the form of ~ sb5 , first ` z ` for
       ` x ` then ` y ` for ` z ` .  Compare Definition 2.1'' of [Quine] p. 17,
       which is obtained from this theorem by applying ~ df-clab .  Theorem
       ~ sb7h provides a version where ` ph ` and ` z ` don't have to be
       distinct.  (Contributed by NM, 28-Jan-2004.) $)
    dfsb7 $p |- ( [ y / x ] ph <-> E. z ( z = y /\ E. x ( x = z /\ ph ) ) ) $=
      ( wsb weq wa wex sb5 sbbii nfv sbco2 3bitr3i ) ABDEZDCEBDFAGBHZDCEABCEDCF
      OGDHNODCABDIJABCDADKLODCIM $.
  $}

  ${
    $d x z $.  $d y z $.
    sb7f.1 $e |- F/ z ph $.
    $( This version of ~ dfsb7 does not require that ` ph ` and ` z ` be
       distinct.  This permits it to be used as a definition for substitution
       in a formalization that omits the logically redundant axiom ~ ax-17 i.e.
       that doesn't have the concept of a variable not occurring in a wff.
       ( ~ df-sb is also suitable, but its mixing of free and bound variables
       is distasteful to some logicians.)  (Contributed by NM, 26-Jul-2006.)
       (Revised by Mario Carneiro, 6-Oct-2016.) $)
    sb7f $p |- ( [ y / x ] ph <->
               E. z ( z = y /\ E. x ( x = z /\ ph ) ) ) $=
      ( wsb weq wa wex sb5 sbbii sbco2 3bitr3i ) ABDFZDCFBDGAHBIZDCFABCFDCGOHDI
      NODCABDJKABCDELODCJM $.
  $}

  ${
    $d x z $.  $d y z $.
    sb7h.1 $e |- ( ph -> A. z ph ) $.
    $( This version of ~ dfsb7 does not require that ` ph ` and ` z ` be
       distinct.  This permits it to be used as a definition for substitution
       in a formalization that omits the logically redundant axiom ~ ax-17 i.e.
       that doesn't have the concept of a variable not occurring in a wff.
       ( ~ df-sb is also suitable, but its mixing of free and bound variables
       is distasteful to some logicians.)  (Contributed by NM, 26-Jul-2006.)
       (Proof shortened by Andrew Salmon, 25-May-2011.) $)
    sb7h $p |- ( [ y / x ] ph <->
               E. z ( z = y /\ E. x ( x = z /\ ph ) ) ) $=
      ( nfi sb7f ) ABCDADEFG $.
  $}

  ${
    $d x y $.
    sb10f.1 $e |- F/ x ph $.
    $( Hao Wang's identity axiom P6 in Irving Copi, _Symbolic Logic_ (5th ed.,
       1979), p. 328.  In traditional predicate calculus, this is a sole axiom
       for identity from which the usual ones can be derived.  (Contributed by
       NM, 9-May-2005.)  (Revised by Mario Carneiro, 6-Oct-2016.) $)
    sb10f $p |- ( [ y / z ] ph <-> E. x ( x = y /\ [ x / z ] ph ) ) $=
      ( weq wsb wa wex nfsb sbequ equsex bicomi ) BCFADBGZHBIADCGZNOBCADCBEJABC
      DKLM $.
  $}

  ${
    $d x ph $.
    $( An identity law for substitution.  Used in proof of Theorem 9.7 of
       [Megill] p. 449 (p. 16 of the preprint).  (Contributed by NM,
       5-Aug-1993.) $)
    sbid2v $p |- ( [ y / x ] [ x / y ] ph <-> ph ) $=
      ( nfv sbid2 ) ABCABDE $.
  $}

  ${
    $d x y $.  $d x ph $.
    $( Elimination of substitution.  (Contributed by NM, 5-Aug-1993.) $)
    sbelx $p |- ( ph <-> E. x ( x = y /\ [ x / y ] ph ) ) $=
      ( wsb weq wa wex sbid2v sb5 bitr3i ) AACBDZBCDBCEKFBGABCHKBCIJ $.
  $}

  ${
    $( Note:  A more general case could also be proved with
       "$d x z $.  $d y w $.  $d x ph $.  $d y ph $.", but with more
       difficulty. $)
    $d x y z $.  $d w y $.  $d x y ph $.
    $( Elimination of double substitution.  (Contributed by NM, 5-Aug-1993.) $)
    sbel2x $p |- ( ph <-> E. x E. y ( ( x = z /\ y = w ) /\
                     [ y / w ] [ x / z ] ph ) ) $=
      ( weq wsb wa wex sbelx anbi2i exbii exdistr 3bitr4i anass 2exbii bitr4i )
      ABDFZCEFZADBGZECGZHZHZCIBIZRSHUAHZCIBIRTHZBIRUBCIZHZBIAUDUFUHBTUGRTCEJKLA
      BDJRUBBCMNUEUCBCRSUAOPQ $.
  $}

  ${
    $d x y $.
    $( A theorem used in elimination of disjoint variable restriction on ` x `
       and ` y ` by replacing it with a distinctor ` -. A. x x = z ` .
       (Contributed by NM, 5-Aug-1993.) $)
    sbal1 $p |- ( -. A. x x = z ->
             ( [ z / y ] A. x ph <-> A. x [ z / y ] ph ) ) $=
      ( weq wal wn wsb wb wi sbequ12 sps dral2 bitr3d a1d wa nfa1 al2imi hbnaes
      syl6 nfsb4 nfrd sp sbimi alimi adantl ax-7 dveeq2 alim syl9 sylan9 impbid
      sb4 sb2 ex pm2.61i ) CDEZCFZBDEBFGZABFZCDHZACDHZBFZIZJURVDUSURUTVAVCUQUTV
      AICUTCDKLAVBCDBUQAVBICACDKLMNOURGZUSVDVEUSPVAVCUSVAVCJVEUSVAVABFVCUSVABUT
      CDBABQUAUBVAVBBUTACDABUCUDUETUFVEVCUQAJZBFZCFZUSVAVEVCVFCFZBFZVHVCVJJCDBV
      EVBVIBACDUMRSVFBCUGTVHVAJBDCUSCFVHUQUTJZCFVAUSVGVKCUSUQUQBFVGUTBDCUHUQABU
      IUJRUTCDUNTSUKULUOUP $.
  $}

  ${
    $d x y $.  $d x z $.
    $( Move universal quantifier in and out of substitution.  (Contributed by
       NM, 5-Aug-1993.) $)
    sbal $p |- ( [ z / y ] A. x ph <-> A. x [ z / y ] ph ) $=
      ( weq wal wsb wb a16gb sbimi sbequ5 sbbi 3imtr3i bitr3d sbal1 pm2.61i ) B
      DEBFZABFZCDGZACDGZBFZHQTSUAQCDGARHZCDGQTSHQUBCDABDBIJBDCDKARCDLMTBDBINABC
      DOP $.
  $}

  ${
    $d x y $.  $d x z $.
    $( Move existential quantifier in and out of substitution.  (Contributed by
       NM, 27-Sep-2003.) $)
    sbex $p |- ( [ z / y ] E. x ph <-> E. x [ z / y ] ph ) $=
      ( wn wal wsb wex sbn sbal albii bitri xchbinx df-ex sbbii 3bitr4i ) AEZBF
      ZEZCDGZACDGZEZBFZEABHZCDGUABHTRCDGZUCRCDIUEQCDGZBFUCQBCDJUFUBBACDIKLMUDSC
      DABNOUABNP $.
  $}

  ${
    $d x z $.  $d y z $.
    sbalv.1 $e |- ( [ y / x ] ph <-> ps ) $.
    $( Quantify with new variable inside substitution.  (Contributed by NM,
       18-Aug-1993.) $)
    sbalv $p |- ( [ y / x ] A. z ph <-> A. z ps ) $=
      ( wal wsb sbal albii bitri ) AEGCDHACDHZEGBEGAECDILBEFJK $.
  $}

  ${
    $d x y $.  $d y ph $.
    $( An equivalent expression for existence.  (Contributed by NM,
       2-Feb-2005.) $)
    exsb $p |- ( E. x ph <-> E. y A. x ( x = y -> ph ) ) $=
      ( weq wi wal nfv nfa1 ax11v sp com12 impbid cbvex ) ABCDZAEZBFZBCACGOBHNA
      PABCIPNAOBJKLM $.

    $( An equivalent expression for existence.  Obsolete as of 19-Jun-2017.
       (Contributed by NM, 2-Feb-2005.)  (New usage is discouraged.) $)
    exsbOLD $p |- ( E. x ph <-> E. y A. x ( x = y -> ph ) ) $=
      ( wex wsb cv wceq wi wal nfv sb8e sb6 exbii bitri ) ABDABCEZCDBFCFGAHBIZC
      DABCACJKOPCABCLMN $.
  $}

  ${
    $d x y z $.  $d y w $.  $d z w ph $.
    $( An equivalent expression for double existence.  (Contributed by NM,
       2-Feb-2005.) $)
    2exsb $p |- ( E. x E. y ph <->
                  E. z E. w A. x A. y ( ( x = z /\ y = w ) -> ph ) ) $=
      ( wex weq wi wal wa exsb exbii excom bitri impexp albii 19.21v bitr2i ) A
      CFZBFZCEGZAHZCIZBFZEFZBDGZUAJAHZCIZBIZEFDFZTUCEFZBFUESUKBACEKLUCBEMNUEUID
      FZEFUJUDULEUDUFUCHZBIZDFULUCBDKUNUIDUMUHBUHUFUBHZCIUMUGUOCUFUAAOPUFUBCQRP
      LNLUIEDMNN $.
  $}

  ${
    $d z ps $.  $d x z $.  $d y z $.
    dvelimALT.1 $e |- ( ph -> A. x ph ) $.
    dvelimALT.2 $e |- ( z = y -> ( ph <-> ps ) ) $.
    $( Version of ~ dvelim that doesn't use ~ ax-10 .  (See ~ dvelimh for a
       version that doesn't use ~ ax-11 .)  (Contributed by NM, 17-May-2008.)
       (New usage is discouraged.)  (Proof modification is discouraged.) $)
    dvelimALT $p |- ( -. A. x x = y -> ( ps -> A. x ps ) ) $=
      ( weq wal wn wi ax-17 ax16ALT a1d wa hbn1 hban ax12o imp a1i hbimd hbald
      ex pm2.61i equsalh albii 3imtr3g ) CDHZCIJZEDHZAKZEIZULCIBBCIUIUKCEUIELCE
      HZCIZUIUKUKCIKZKUNUOUIUKCEMNUNJZUIUOUPUIOZUJACUPUICUMCPUHCPQUPUIUJUJCIKED
      CRSAACIKUQFTUAUCUDUBABEDBELGUEZULBCURUFUG $.
  $}

  ${
    $d z y $.  $d z x $.
    $( Move quantifier in and out of substitution.  (Contributed by NM,
       2-Jan-2002.) $)
    sbal2 $p |- ( -. A. x x = y ->
             ( [ z / y ] A. x ph <-> A. x [ z / y ] ph ) ) $=
      ( weq wal wn wi wsb alcom nfnae wnf wb dveeq1 nfd 19.21t syl syl5rbbr sb6
      albid albii 3bitr4g ) BCEBFGZCDEZABFZHZCFZUDAHZCFZBFZUECDIACDIZBFUJUHBFZC
      FUCUGUHCBJUCULUFCBCCKUCUDBLULUFMUCUDBBCBKBCDNOUDABPQTRUECDSUKUIBACDSUAUB
      $.
  $}


$(
#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#
  Predicate calculus with equality:  Older axiomatization (1 rule, 14 schemes)
#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#

  The "metalogical completeness theorem", Theorem 9.7 of [Megill] p. 448, uses
  a different but (logically and metalogically) equivalent set of axiom schemes
  for its proof.  In order to show that our axiomatization is also
  metalogically complete, we derive the axiom schemes of that paper in this
  section (or mention where they are derived, if they have already been derived
  as therorems above).  Additionally, we re-derive our axiomatization from the
  one in the paper, showing that the two systems are equivalent.

  The 14 predicate calculus axioms used by the paper are ~ ax-5o , ~ ax-4 ,
  ~ ax-7 , ~ ax-6o , ~ ax-8 , ~ ax-12o , ~ ax-9o , ~ ax-10o , ~ ax-13 ,
  ~ ax-14 , ~ ax-15 , ~ ax-11o , ~ ax-16 , and ~ ax-17 .  Like ours, it
  includes the rule of generalization ( ~ ax-gen ).

  The ones we need to prove from our axioms are ~ ax-5o , ~ ax-4 ,
  ~ ax-6o , ~ ax-12o , ~ ax-9o , ~ ax-10o , ~ ax-15 , ~ ax-11o ,
  and ~ ax-16 . The theorems showing the derivations of those axioms,
  which have all been proved earlier, are ~ ax5o , ~ ax4 (also called
  ~ sp ), ~ ax6o , ~ ax12o , ~ ax9o , ~ ax10o , ~ ax15 , ~ ax11o ,
  ~ ax16 , and ~ ax10 . In addition, ~ ax-10 was an intermediate axiom we
  adopted at one time, and we show its proof in this section as
  ~ ax10from10o .

  This section also includes a few miscellaneous legacy theorems such as
  ~ hbequid use the older axioms.

  Note:  The axioms and theorems in this section should not be used outside of
  this section.  Inside this section, we may use the external axioms ~ ax-gen ,
  ~ ax-17 , ~ ax-8 , ~ ax-9 , ~ ax-13 , and ~ ax-14 since they are common to
  both our current and the older axiomatizations.  (These are the ones that
  were never revised.)

  The following newer axioms may NOT be used in this section until we
  have proved them from the older axioms:  ~ ax-5 , ~ ax-6 , ~ ax-9 ,
  ~ ax-11 , and ~ ax-12 .  However, once we have rederived an axiom
  (e.g. theorem ~ ax5 for axiom ~ ax-5 ), we may make use of theorems
  outside of this section that make use of the rederived axiom (e.g. we
  may use theorem ~ alimi , which uses ~ ax-5 , after proving ~ ax5 ).

$)

$(
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
 Obsolete schemes ax-5o ax-4 ax-6o ax-9o ax-10o ax-10 ax-11o ax-12o ax-15 ax-16
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=

  These older axiom schemes are obsolete and should not be used outside of this
  section.  They are proved above as theorems ax5o , ~ sp , ~ ax6o , ~ ax9o ,
  ~ ax10o , ~ ax10 , ~ ax11o , ~ ax12o , ~ ax15 , and ~ ax16 .

$)

  $( Axiom of Specialization.  A quantified wff implies the wff without a
     quantifier (i.e. an instance, or special case, of the generalized wff).
     In other words if something is true for all ` x ` , it is true for any
     specific ` x ` (that would typically occur as a free variable in the wff
     substituted for ` ph ` ).  (A free variable is one that does not occur in
     the scope of a quantifier: ` x ` and ` y ` are both free in ` x = y ` ,
     but only ` x ` is free in ` A. y x = y ` .)  This is one of the axioms of
     what we call "pure" predicate calculus ( ~ ax-4 through ~ ax-7 plus rule
     ~ ax-gen ).  Axiom scheme C5' in [Megill] p. 448 (p. 16 of the preprint).
     Also appears as Axiom B5 of [Tarski] p. 67 (under his system S2, defined
     in the last paragraph on p. 77).

     Note that the converse of this axiom does not hold in general, but a
     weaker inference form of the converse holds and is expressed as rule
     ~ ax-gen .  Conditional forms of the converse are given by ~ ax-12 ,
     ~ ax-15 , ~ ax-16 , and ~ ax-17 .

     Unlike the more general textbook Axiom of Specialization, we cannot choose
     a variable different from ` x ` for the special case.  For use, that
     requires the assistance of equality axioms, and we deal with it later
     after we introduce the definition of proper substitution - see ~ stdpc4 .

     An interesting alternate axiomatization uses ~ ax467 and ~ ax-5o in place
     of ~ ax-4 , ~ ax-5 , ~ ax-6 , and ~ ax-7 .

     This axiom is obsolete and should no longer be used.  It is proved above
     as theorem ~ sp .  (Contributed by NM, 5-Aug-1993.)
     (New usage is discouraged.) $)
  ax-4 $a |- ( A. x ph -> ph ) $.

  $( Axiom of Quantified Implication.  This axiom moves a quantifier from
     outside to inside an implication, quantifying ` ps ` .  Notice that ` x `
     must not be a free variable in the antecedent of the quantified
     implication, and we express this by binding ` ph ` to "protect" the axiom
     from a ` ph ` containing a free ` x ` .  One of the 4 axioms of "pure"
     predicate calculus.  Axiom scheme C4' in [Megill] p. 448 (p. 16 of the
     preprint).  It is a special case of Lemma 5 of [Monk2] p. 108 and Axiom 5
     of [Mendelson] p. 69.

     This axiom is obsolete and should no longer be used.  It is proved above
     as theorem ~ ax5o .  (Contributed by NM, 5-Aug-1993.)
     (New usage is discouraged.) $)
  ax-5o $a |- ( A. x ( A. x ph -> ps ) -> ( A. x ph -> A. x ps ) ) $.

  $( Axiom of Quantified Negation.  This axiom is used to manipulate negated
     quantifiers.  One of the 4 axioms of pure predicate calculus.  Equivalent
     to axiom scheme C7' in [Megill] p. 448 (p. 16 of the preprint).  An
     alternate axiomatization could use ~ ax467 in place of ~ ax-4 , ~ ax-6o ,
     and ~ ax-7 .

     This axiom is obsolete and should no longer be used.  It is proved above
     as theorem ~ ax6o .  (Contributed by NM, 5-Aug-1993.)
     (New usage is discouraged.) $)
  ax-6o $a |- ( -. A. x -. A. x ph -> ph ) $.

  $( A variant of ~ ax9 .  Axiom scheme C10' in [Megill] p. 448 (p. 16 of the
     preprint).

     This axiom is obsolete and should no longer be used.  It is proved above
     as theorem ~ ax9o .  (Contributed by NM, 5-Aug-1993.)
     (New usage is discouraged.) $)
  ax-9o $a |- ( A. x ( x = y -> A. x ph ) -> ph ) $.

  $( Axiom ~ ax-10o ("o" for "old") was the original version of ~ ax-10 ,
     before it was discovered (in May 2008) that the shorter ~ ax-10 could
     replace it.  It appears as Axiom scheme C11' in [Megill] p. 448 (p. 16 of
     the preprint).

     This axiom is obsolete and should no longer be used.  It is proved above
     as theorem ~ ax10o .  (Contributed by NM, 5-Aug-1993.)
     (New usage is discouraged.) $)
  ax-10o $a |- ( A. x x = y -> ( A. x ph -> A. y ph ) ) $.

  $( Axiom of Quantifier Substitution.  One of the equality and substitution
     axioms of predicate calculus with equality.  Appears as Lemma L12 in
     [Megill] p. 445 (p. 12 of the preprint).

     The original version of this axiom was ~ ax-10o ("o" for "old") and was
     replaced with this shorter ~ ax-10 in May 2008.  The old axiom is proved
     from this one as theorem ~ ax10o .  Conversely, this axiom is proved from
     ~ ax-10o as theorem ~ ax10from10o .

     This axiom was proved redundant in July 2015.  See theorem ~ ax10 .

     This axiom is obsolete and should no longer be used.  It is proved above
     as theorem ~ ax10 .  (Contributed by NM, 16-May-2008.)
     (New usage is discouraged.) $)
  ax-10 $a |- ( A. x x = y -> A. y y = x ) $.

  $( Axiom ~ ax-11o ("o" for "old") was the original version of ~ ax-11 ,
     before it was discovered (in Jan. 2007) that the shorter ~ ax-11 could
     replace it.  It appears as Axiom scheme C15' in [Megill] p. 448 (p. 16 of
     the preprint).  It is based on Lemma 16 of [Tarski] p. 70 and Axiom C8 of
     [Monk2] p. 105, from which it can be proved by cases.  To understand this
     theorem more easily, think of " ` -. A. x x = y -> ` ..." as informally
     meaning "if ` x ` and ` y ` are distinct variables then..."  The
     antecedent becomes false if the same variable is substituted for ` x ` and
     ` y ` , ensuring the theorem is sound whenever this is the case.  In some
     later theorems, we call an antecedent of the form ` -. A. x x = y ` a
     "distinctor."

     Interestingly, if the wff expression substituted for ` ph ` contains no
     wff variables, the resulting statement _can_ be proved without invoking
     this axiom.  This means that even though this axiom is _metalogically_
     independent from the others, it is not _logically_ independent.
     Specifically, we can prove any wff-variable-free instance of axiom
     ~ ax-11o (from which the ~ ax-11 instance follows by theorem ~ ax11 .)
     The proof is by induction on formula length, using ~ ax11eq and ~ ax11el
     for the basis steps and ~ ax11indn , ~ ax11indi , and ~ ax11inda for the
     induction steps.  (This paragraph is true provided we use ~ ax-10o in
     place of ~ ax-10 .)

     This axiom is obsolete and should no longer be used.  It is proved above
     as theorem ~ ax11o .  (Contributed by NM, 5-Aug-1993.)
     (New usage is discouraged.) $)
  ax-11o $a |- ( -. A. x x = y ->
             ( x = y -> ( ph -> A. x ( x = y -> ph ) ) ) ) $.

  $( Axiom of Quantifier Introduction.  One of the equality and substitution
     axioms of predicate calculus with equality.  Informally, it says that
     whenever ` z ` is distinct from ` x ` and ` y ` , and ` x = y ` is true,
     then ` x = y ` quantified with ` z ` is also true.  In other words, ` z `
     is irrelevant to the truth of ` x = y ` .  Axiom scheme C9' in [Megill]
     p. 448 (p. 16 of the preprint).  It apparently does not otherwise appear
     in the literature but is easily proved from textbook predicate calculus by
     cases.

     This axiom is obsolete and should no longer be used.  It is proved above
     as theorem ~ ax12o .  (Contributed by NM, 5-Aug-1993.)
     (New usage is discouraged.) $)
  ax-12o $a |- ( -. A. z z = x -> ( -. A. z z = y ->
              ( x = y -> A. z x = y ) ) ) $.

  $( Axiom of Quantifier Introduction.  One of the equality and substitution
     axioms for a non-logical predicate in our predicate calculus with
     equality.  Axiom scheme C14' in [Megill] p. 448 (p. 16 of the preprint).
     It is redundant if we include ~ ax-17 ; see theorem ~ ax15 .  Alternately,
     ~ ax-17 becomes unnecessary in principle with this axiom, but we lose the
     more powerful metalogic afforded by ~ ax-17 .  We retain ~ ax-15 here to
     provide completeness for systems with the simpler metalogic that results
     from omitting ~ ax-17 , which might be easier to study for some
     theoretical purposes.

     This axiom is obsolete and should no longer be used.  It is proved above
     as theorem ~ ax15 .  (Contributed by NM, 5-Aug-1993.)
     (New usage is discouraged.) $)
  ax-15 $a |- ( -. A. z z = x -> ( -. A. z z = y ->
              ( x e. y -> A. z x e. y ) ) ) $.

  ${
    $d x y $.
    $( Axiom of Distinct Variables.  The only axiom of predicate calculus
       requiring that variables be distinct (if we consider ~ ax-17 to be a
       metatheorem and not an axiom).  Axiom scheme C16' in [Megill] p. 448 (p.
       16 of the preprint).  It apparently does not otherwise appear in the
       literature but is easily proved from textbook predicate calculus by
       cases.  It is a somewhat bizarre axiom since the antecedent is always
       false in set theory (see dtru in set.mm), but nonetheless it is
       technically necessary as you can see from its uses.

       This axiom is redundant if we include ~ ax-17 ; see theorem ~ ax16 .
       Alternately, ~ ax-17 becomes logically redundant in the presence of this
       axiom, but without ~ ax-17 we lose the more powerful metalogic that
       results from being able to express the concept of a setvar variable not
       occurring in a wff (as opposed to just two setvar variables being
       distinct).  We retain ~ ax-16 here to provide logical completeness for
       systems with the simpler metalogic that results from omitting ~ ax-17 ,
       which might be easier to study for some theoretical purposes.

       This axiom is obsolete and should no longer be used.  It is proved above
       as theorem ~ ax16 .  (Contributed by NM, 5-Aug-1993.)
       (New usage is discouraged.) $)
    ax-16 $a |- ( A. x x = y -> ( ph -> A. x ph ) ) $.
  $}

$(
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
  Rederive new axioms from old:  ax5 , ax6 , ax9from9o , ax11 , ax12from12o
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=

  Theorems ~ ax11 and ~ ax12from12o require some intermediate theorems that are
  included in this section.

$)

  $( This theorem repeats ~ sp under the name ~ ax4 , so that the metamath
     program's "verify markup" command will check that it matches axiom scheme
     ~ ax-4 .  It is preferred that references to this theorem use the name
     ~ sp .  (Contributed by NM, 18-Aug-2017.)  (New usage is discouraged.)
     (Proof modification is discouraged.) $)
  ax4 $p |- ( A. x ph -> ph ) $=
    ( sp ) ABC $.

  $( Rederivation of axiom ~ ax-5 from ~ ax-5o and other older axioms.  See
     ~ ax5o for the derivation of ~ ax-5o from ~ ax-5 .  (Contributed by NM,
     23-May-2008.)  (Proof modification is discouraged.)
     (New usage is discouraged.) $)
  ax5 $p |- ( A. x ( ph -> ps ) -> ( A. x ph -> A. x ps ) ) $=
    ( wi wal ax-5o ax-4 syl5 mpg syl ) ABDZCEZACEZBDZCEZMBCEDLNDLODCKNCFMALBACG
    KCGHIABCFJ $.

  $( Rederivation of axiom ~ ax-6 from ~ ax-6o and other older axioms.  See
     ~ ax6o for the derivation of ~ ax-6o from ~ ax-6 .  (Contributed by NM,
     23-May-2008.)  (Proof modification is discouraged.)
     (New usage is discouraged.) $)
  ax6 $p |- ( -. A. x ph -> A. x -. A. x ph ) $=
    ( wal wn wi ax-5o ax-4 id mpg nsyl ax-6o nsyl4 ) ABCZBCZDZBCZMDZBCZMPQEPREB
    OQBFPNMOBGMMEMNEBAMBFMHIJIMBKL $.

  $( Rederivation of axiom ~ ax-9 from ~ ax-9o and other older axioms.  See
     ~ ax9o for the derivation of ~ ax-9o from ~ ax-9 .  Lemma L18 in [Megill]
     p. 446 (p. 14 of the preprint).  (Contributed by NM, 5-Aug-1993.)
     (Proof modification is discouraged.)  (New usage is discouraged.) $)
  ax9from9o $p |- -. A. x -. x = y $=
    ( weq wn wal wi ax-9o ax-6o con4i mpg ) ABCZKDZAEDZAEZFMAMABGNKLAHIJ $.

  $( ` x ` is not free in ` A. x ph ` .  Example in Appendix in [Megill] p. 450
     (p. 19 of the preprint).  Also Lemma 22 of [Monk2] p. 114.  (Contributed
     by NM, 5-Aug-1993.)  (New usage is discouraged.) $)
  hba1-o $p |- ( A. x ph -> A. x A. x ph ) $=
    ( wal wn ax-4 con2i ax6 con1i alimi 3syl ) ABCZKDZBCZDZNBCKBCMKLBEFLBGNKBKM
    ABGHIJ $.

  ${
    a5i-o.1 $e |- ( A. x ph -> ps ) $.
    $( Inference version of ~ ax-5o .  (Contributed by NM, 5-Aug-1993.)
       (New usage is discouraged.) $)
    a5i-o $p |- ( A. x ph -> A. x ps ) $=
      ( wal hba1-o alrimih ) ACEBCACFDG $.
  $}

  $( Commutation law for identical variable specifiers.  The antecedent and
     consequent are true when ` x ` and ` y ` are substituted with the same
     variable.  Lemma L12 in [Megill] p. 445 (p. 12 of the preprint).  Version
     of ~ aecom using ~ ax-10o .  Unlike ~ ax10from10o , this version does not
     require ~ ax-17 .  (Contributed by NM, 5-Aug-1993.)
     (New usage is discouraged.) $)
  aecom-o $p |- ( A. x x = y -> A. y y = x ) $=
    ( weq wal ax-10o pm2.43i equcomi alimi syl ) ABCZADZJBDZBACZBDKLJABEFJMBABG
    HI $.

  ${
    alequcoms-o.1 $e |- ( A. x x = y -> ph ) $.
    $( A commutation rule for identical variable specifiers.  Version of
       ~ aecoms using ax-10o .  (Contributed by NM, 5-Aug-1993.)
       (New usage is discouraged.) $)
    aecoms-o $p |- ( A. y y = x -> ph ) $=
      ( weq wal aecom-o syl ) CBECFBCEBFACBGDH $.
  $}

  $( All variables are effectively bound in an identical variable specifier.
     Version of ~ hbae using ~ ax-10o .  (Contributed by NM, 5-Aug-1993.)
     (Proof modification is disccouraged.)  (New usage is discouraged.) $)
  hbae-o $p |- ( A. x x = y -> A. z A. x x = y ) $=
    ( weq wal wi wn ax-4 ax-12o syl7 ax-10o aecoms-o pm2.43i syl5 pm2.61ii ax-7
    a5i-o syl ) ABDZAEZSCEZAETCESUAACADCEZCBDCEZTUAFZTSUBGUCGUASAHABCIJUDACSACK
    LUDBCTSBEZBCDBEUATUESABKMSBCKNLOQSACPR $.

  ${
    dral1-o.1 $e |- ( A. x x = y -> ( ph <-> ps ) ) $.
    $( Formula-building lemma for use with the Distinctor Reduction Theorem.
       Part of Theorem 9.4 of [Megill] p. 448 (p. 16 of preprint).  Version of
       ~ dral1 using ~ ax-10o .  (Contributed by NM, 24-Nov-1994.)
       (New usage is discouraged.) $)
    dral1-o $p |- ( A. x x = y -> ( A. x ph <-> A. y ps ) ) $=
      ( weq wal hbae-o biimpd alimdh ax-10o syld biimprd wi aecoms-o impbid ) C
      DFCGZACGZBDGZQRBCGSQABCCDCHQABEIJBCDKLQSADGZRQBADCDDHQABEMJTRNDCADCKOLP
      $.
  $}

  $( Rederivation of axiom ~ ax-11 from ~ ax-11o , ~ ax-10o , and other older
     axioms.  The proof does not require ~ ax-16 or ~ ax-17 .  See theorem
     ~ ax11o for the derivation of ~ ax-11o from ~ ax-11 .

     An open problem is whether we can prove this using ~ ax-10 instead of
     ~ ax-10o .

     This proof uses newer axioms ~ ax-5 and ~ ax-9 , but since these are
     proved from the older axioms above, this is acceptable and lets us avoid
     having to reprove several earlier theorems to use ~ ax-5o and ~ ax-9o .
     (Contributed by NM, 22-Jan-2007.)  (Proof modification is discouraged.)
     (New usage is discouraged.) $)
  ax11 $p |- ( x = y -> ( A. y ph -> A. x ( x = y -> ph ) ) ) $=
    ( weq wal wi biidd dral1-o ax-1 alimi syl6bir a1d ax-4 ax-11o syl7 pm2.61i
    wn ) BCDZBEZRACEZRAFZBEZFZFSUCRSTABEUBAABCSAGHAUABARIJKLTASQRUBACMABCNOP $.

  $( Derive ~ ax-12 from ~ ax-12o and other older axioms.

     This proof uses newer axioms ~ ax-5 and ~ ax-9 , but since these are
     proved from the older axioms above, this is acceptable and lets us avoid
     having to reprove several earlier theorems to use ~ ax-5o and ~ ax-9o .
     (Contributed by NM, 21-Dec-2015.)  (Proof modification is discouraged.)
     (New usage is discouraged.) $)
  ax12from12o $p |- ( -. x = y -> ( y = z -> A. x y = z ) ) $=
    ( weq wn wal wi wa ax-4 con3i adantr equtrr equcoms con3rr3 imp nsyl ax-12o
    sylc ex pm2.43d ) ABDZEZBCDZUCAFZUBUCUCUDGZUBUCHZUAAFZEZACDZAFZEUEUBUHUCUGU
    AUAAIJKUFUIUJUBUCUIEUCUIUAUIUAGCBCBALMNOUIAIPBCAQRST $.


$(
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
               Legacy theorems using obsolete axioms
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=

  These theorems were mostly intended to study properties of the older axiom
  schemes and are not useful outside of this section.  They should not be
  used outside of this section.  They may be deleted when they are deemed to no
  longer be of interest.

$)

  ${
    $d x ph $.
    $( Axiom to quantify a variable over a formula in which it does not occur.
       Axiom C5 in [Megill] p. 444 (p. 11 of the preprint).  Also appears as
       Axiom B6 (p. 75) of system S2 of [Tarski] p. 77 and Axiom C5-1 of
       [Monk2] p. 113.

       (This theorem simply repeats ~ ax-17 so that we can include the
       following note, which applies only to the obsolete axiomatization.)

       This axiom is _logically_ redundant in the (logically complete)
       predicate calculus axiom system consisting of ~ ax-gen , ~ ax-5o ,
       ~ ax-4 , ~ ax-7 , ~ ax-6o , ~ ax-8 , ~ ax-12o , ~ ax-9o , ~ ax-10o ,
       ~ ax-13 , ~ ax-14 , ~ ax-15 , ~ ax-11o , and ~ ax-16 : in that system,
       we can derive any instance of ~ ax-17 not containing wff variables by
       induction on formula length, using ~ ax17eq and ~ ax17el for the basis
       together ~ hbn , ~ hbal , and ~ hbim .  However, if we omit this axiom,
       our development would be quite inconvenient since we could work only
       with specific instances of wffs containing no wff variables - this axiom
       introduces the concept of a setvar variable not occurring in a wff (as
       opposed to just two setvar variables being distinct).  (Contributed by
       NM, 19-Aug-2017.)  (New usage is discouraged.)  (Proof modification
       discouraged.) $)
    ax17o $p |- ( ph -> A. x ph ) $=
      ( ax-17 ) ABC $.
  $}

  $( Identity law for equality (reflexivity).  Lemma 6 of [Tarski] p. 68.  This
     is often an axiom of equality in textbook systems, but we don't need it as
     an axiom since it can be proved from our other axioms (although the proof,
     as you can see below, is not as obvious as you might think).  This proof
     uses only axioms without distinct variable conditions and thus requires no
     dummy variables.  A simpler proof, similar to Tarki's, is possible if we
     make use of ~ ax-17 ; see the proof of ~ equid .  See ~ equid1ALT for an
     alternate proof.  (Contributed by NM, 5-Aug-1993.)
     (Proof modification is discouraged.)  (New usage is discouraged.) $)
  equid1 $p |- x = x $=
    ( weq wal wn wi ax-5o ax-4 ax-12o sylc mpg ax-9o syl ax-6o pm2.61i ) AABZAC
    ZDZACZOROPEZACZORSERTEAQSAFRQQSQAGZUAAAAHIJOAAKLOAMN $.

  ${
    sps-o.1 $e |- ( ph -> ps ) $.
    $( Generalization of antecedent.  (Contributed by NM, 5-Aug-1993.)
       (Proof modification is discouraged.)  (New usage is discouraged.) $)
    sps-o $p |- ( A. x ph -> ps ) $=
      ( wal ax-4 syl ) ACEABACFDG $.
  $}

  $( Bound-variable hypothesis builder for ` x = x ` .  This theorem tells us
     that any variable, including ` x ` , is effectively not free in
     ` x = x ` , even though ` x ` is technically free according to the
     traditional definition of free variable.  (The proof does not use
     ~ ax-9o .)  (Contributed by NM, 13-Jan-2011.)  (Proof shortened by Wolf
     Lammen, 23-Mar-2014.)  (Proof modification is discouraged.)
     (New usage is discouraged.) $)
  hbequid $p |- ( x = x -> A. y x = x ) $=
    ( weq wal wi ax-12o ax-8 pm2.43i alimi a1d pm2.61ii ) BACZBDZMAACZNBDZEAABF
    MONLNBLNBAAGHIJZPK $.

  $( Bound-variable hypothesis builder for ` x = x ` .  This theorem tells us
     that any variable, including ` x ` , is effectively not free in
     ` x = x ` , even though ` x ` is technically free according to the
     traditional definition of free variable.  (The proof uses only ~ ax-5 ,
     ~ ax-8 , ~ ax-12o , and ~ ax-gen .  This shows that this can be proved
     without ~ ax9 , even though the theorem ~ equid cannot be.  A shorter
     proof using ~ ax9 is obtainable from ~ equid and ~ hbth .)  Remark added
     2-Dec-2015 NM:  This proof does implicitly use ~ ax9v , which is used for
     the derivation of ~ ax12o , unless we consider ~ ax-12o the starting axiom
     rather than ~ ax-12 .  (Contributed by NM, 13-Jan-2011.)  (Revised by
     Mario Carneiro, 12-Oct-2016.)  (Proof modification is discouraged.)
     (New usage is discouraged.) $)
  nfequid-o $p |- F/ y x = x $=
    ( weq hbequid nfi ) AACBABDE $.

  $( Proof of a single axiom that can replace ~ ax-4 and ~ ax-6o .  See
     ~ ax46to4 and ~ ax46to6 for the re-derivation of those axioms.
     (Contributed by Scott Fenton, 12-Sep-2005.)
     (Proof modification is discouraged.)  (New usage is discouraged.) $)
  ax46 $p |- ( ( A. x -. A. x ph -> A. x ph ) -> ph ) $=
    ( wal wn ax-6o ax-4 ja ) ABCZDBCHAABEABFG $.

  $( Re-derivation of ~ ax-4 from ~ ax46 .  Only propositional calculus is used
     for the re-derivation.  (Contributed by Scott Fenton, 12-Sep-2005.)
     (Proof modification is discouraged.)  (New usage is discouraged.) $)
  ax46to4 $p |- ( A. x ph -> ph ) $=
    ( wal wn wi ax-1 ax46 syl ) ABCZIDBCZIEAIJFABGH $.

  $( Re-derivation of ~ ax-6o from ~ ax46 .  Only propositional calculus is
     used for the re-derivation.  (Contributed by Scott Fenton, 12-Sep-2005.)
     (Proof modification is discouraged.)  (New usage is discouraged.) $)
  ax46to6 $p |- ( -. A. x -. A. x ph -> ph ) $=
    ( wal wn wi pm2.21 ax46 syl ) ABCZDBCZDJIEAJIFABGH $.

  $( Proof of a single axiom that can replace both ~ ax-6o and ~ ax-7 .  See
     ~ ax67to6 and ~ ax67to7 for the re-derivation of those axioms.
     (Contributed by NM, 18-Nov-2006.)  (Proof modification is discouraged.)
     (New usage is discouraged.) $)
  ax67 $p |- ( -. A. x -. A. y A. x ph -> A. y ph ) $=
    ( wal wn ax-7 con3i alimi ax-6o syl ) ABDCDZEZBDZEACDZBDZEZBDZENQMPLBKOACBF
    GHGNBIJ $.

  $( ` x ` is not free in ` A. x ph ` .  (Contributed by Mario Carneiro,
     11-Aug-2016.)  (Proof modification is discouraged.)
     (New usage is discouraged.) $)
  nfa1-o $p |- F/ x A. x ph $=
    ( wal hba1-o nfi ) ABCBABDE $.

  $( Re-derivation of ~ ax-6o from ~ ax67 .  Note that ~ ax-6o and ~ ax-7 are
     not used by the re-derivation.  (Contributed by NM, 18-Nov-2006.)
     (Proof modification is discouraged.)  (New usage is discouraged.) $)
  ax67to6 $p |- ( -. A. x -. A. x ph -> ph ) $=
    ( wal wn hba1-o con3i alimi ax67 ax-4 3syl ) ABCZDZBCZDKBCZDZBCZDKAPMOLBKNA
    BEFGFABBHABIJ $.

  $( Re-derivation of ~ ax-7 from ~ ax67 .  Note that ~ ax-6o and ~ ax-7 are
     not used by the re-derivation.  (Contributed by NM, 18-Nov-2006.)
     (Proof modification is discouraged.)  (New usage is discouraged.) $)
  ax67to7 $p |- ( A. x A. y ph -> A. y A. x ph ) $=
    ( wal wn ax67to6 con4i ax67 alimi syl ) ACDBDZKEZCDEZCDZABDZCDNKLCFGMOCACBH
    IJ $.

  $( Proof of a single axiom that can replace ~ ax-4 , ~ ax-6o , and ~ ax-7 in
     a subsystem that includes these axioms plus ~ ax-5o and ~ ax-gen (and
     propositional calculus).  See ~ ax467to4 , ~ ax467to6 , and ~ ax467to7 for
     the re-derivation of those axioms.  This theorem extends the idea in Scott
     Fenton's ~ ax46 .  (Contributed by NM, 18-Nov-2006.)
     (Proof modification is discouraged.)  (New usage is discouraged.) $)
  ax467 $p |- ( ( A. x A. y -. A. x A. y ph -> A. x ph ) -> ph ) $=
    ( wal wn ax-4 ax6 ax-6o con1i alimi ax-7 3syl nsyl4 ja ) ACDZBDEZCDBDZABDAO
    AQACFOEZRCDPBDZCDQACGRSCSOOBHIJPCBKLMABFN $.

  $( Re-derivation of ~ ax-4 from ~ ax467 .  Only propositional calculus is
     used by the re-derivation.  (Contributed by NM, 19-Nov-2006.)
     (Proof modification is discouraged.)  (New usage is discouraged.) $)
  ax467to4 $p |- ( A. x ph -> ph ) $=
    ( wal wn wi ax-1 ax467 syl ) ABCZIBCDBCBCZIEAIJFABBGH $.

  $( Re-derivation of ~ ax-6o from ~ ax467 .  Note that ~ ax-6o and ~ ax-7 are
     not used by the re-derivation.  The use of ~ alimi (which uses ~ ax-4 ) is
     allowed since we have already proved ~ ax467to4 .  (Contributed by NM,
     19-Nov-2006.)  (Proof modification is discouraged.)
     (New usage is discouraged.) $)
  ax467to6 $p |- ( -. A. x -. A. x ph -> ph ) $=
    ( wal wn wi hba1-o con3i alimi sps-o pm2.21 ax467 3syl ) ABCZDZBCZDMBCZDZBC
    ZBCZDSMEASOROBQNBMPABFGHIGSMJABBKL $.

  $( Re-derivation of ~ ax-7 from ~ ax467 .  Note that ~ ax-6o and ~ ax-7 are
     not used by the re-derivation.  The use of ~ alimi (which uses ~ ax-4 ) is
     allowed since we have already proved ~ ax467to4 .  (Contributed by NM,
     19-Nov-2006.)  (Proof modification is discouraged.)
     (New usage is discouraged.) $)
  ax467to7 $p |- ( A. x A. y ph -> A. y A. x ph ) $=
    ( wal wn ax467to6 con4i wi pm2.21 ax467 syl alimi nsyl4 ) ACDBDZNEZCDZEZCDZ
    ABDZCDRNOCFGQSCPBDZEZBDSPUAABUATSHATSIABCJKLPBFMLK $.

  $( ~ equid with existential quantifier without using ~ ax-4 or ~ ax-17 .
     (Contributed by NM, 13-Jan-2011.)  (Proof shortened by Wolf Lammen,
     27-Feb-2014.)  (Proof modification is discouraged.) $)
  equidqe $p |- -. A. y -. x = x $=
    ( weq wn wal ax9from9o ax-8 pm2.43i con3i alimi mto ) AACZDZBEBACZDZBEBAFMO
    BNLNLBAAGHIJK $.

  $( A special case of ~ ax-4 without using ~ ax-4 or ~ ax-17 .  (Contributed
     by NM, 13-Jan-2011.)  (Proof modification is discouraged.) $)
  ax4sp1 $p |- ( A. y -. x = x -> -. x = x ) $=
    ( weq wn wal equidqe pm2.21i ) AACDZBEHABFG $.

  $( ~ equid with universal quantifier without using ~ ax-4 or ~ ax-17 .
     (Contributed by NM, 13-Jan-2011.)  (Proof modification is discouraged.)
     (New usage is discouraged.) $)
  equidq $p |- A. y x = x $=
    ( weq wal wn equidqe ax6 hbequid con3i alrimih mt3 ) AACZBDZLEZBDABFMENBLBG
    LMABHIJK $.

  $( Identity law for equality (reflexivity).  Lemma 6 of [Tarski] p. 68.
     Alternate proof of ~ equid1 from older axioms ~ ax-6o and ~ ax-9o .
     (Contributed by NM, 5-Aug-1993.)  (Proof modification is discouraged.)
     (New usage is discouraged.) $)
  equid1ALT $p |- x = x $=
    ( weq wal wn wi ax-12o pm2.43i alimi ax-9o syl ax-6o pm2.61i ) AABZACZDZACZ
    MPMNEZACMOQAOQAAAFGHMAAIJMAKL $.

  $( Rederivation of ~ ax-10 from original version ~ ax-10o .  See theorem
     ~ ax10o for the derivation of ~ ax-10o from ~ ax-10 .

     This theorem should not be referenced in any proof.  Instead, use ~ ax-10
     above so that uses of ~ ax-10 can be more easily identified, or use
     ~ aecom-o when this form is needed for studies involving ~ ax-10o and
     omitting ~ ax-17 .  (Contributed by NM, 16-May-2008.)
     (Proof modification is discouraged.)  (New usage is discouraged.) $)
  ax10from10o $p |- ( A. x x = y -> A. y y = x ) $=
    ( weq wal ax-10o pm2.43i equcomi alimi syl ) ABCZADZJBDZBACZBDKLJABEFJMBABG
    HI $.

  ${
    nalequcoms-o.1 $e |- ( -. A. x x = y -> ph ) $.
    $( A commutation rule for distinct variable specifiers.  Version of
       ~ naecoms using ~ ax-10o .  (Contributed by NM, 2-Jan-2002.)
       (Proof modification is discouraged.)  (New usage is discouraged.) $)
    naecoms-o $p |- ( -. A. y y = x -> ph ) $=
      ( weq wal aecom-o nsyl4 con1i ) ACBECFZBCEBFJABCGDHI $.
  $}

  $( All variables are effectively bound in a distinct variable specifier.
     Lemma L19 in [Megill] p. 446 (p. 14 of the preprint).  Version of ~ hbnae
     using ~ ax-10o .  (Contributed by NM, 5-Aug-1993.)
     (Proof modification is discouraged.)  (New usage is discouraged.) $)
  hbnae-o $p |- ( -. A. x x = y -> A. z -. A. x x = y ) $=
    ( weq wal hbae-o hbn ) ABDAECABCFG $.

  ${
    dvelimf-o.1 $e |- ( ph -> A. x ph ) $.
    dvelimf-o.2 $e |- ( ps -> A. z ps ) $.
    dvelimf-o.3 $e |- ( z = y -> ( ph <-> ps ) ) $.
    $( Proof of ~ dvelimh that uses ~ ax-10o but not ~ ax-11o , ~ ax-10 , or
       ~ ax-11 .  Version of ~ dvelimh using ~ ax-10o instead of ~ ax10o .
       (Contributed by NM, 12-Nov-2002.)  (Proof modification is discouraged.)
       (New usage is discouraged.) $)
    dvelimf-o $p |- ( -. A. x x = y -> ( ps -> A. x ps ) ) $=
      ( weq wal wn wi hba1-o ax-10o aecoms-o syl5 a1d wa hbnae-o hban imp hbimd
      ax-12o a1i hbald ex pm2.61i equsalh albii 3imtr3g ) CDICJKZEDIZALZEJZUNCJ
      ZBBCJCEICJZUKUNUOLZLUPUQUKUNUNEJZUPUOUMEMURUOLECUNECNOPQUPKZUKUQUSUKRZUMC
      EUSUKECEESCDESTUTULACUSUKCCECSCDCSTUSUKULULCJLEDCUCUAAACJLUTFUDUBUEUFUGAB
      EDGHUHZUNBCVAUIUJ $.
  $}

  ${
    dral2-o.1 $e |- ( A. x x = y -> ( ph <-> ps ) ) $.
    $( Formula-building lemma for use with the Distinctor Reduction Theorem.
       Part of Theorem 9.4 of [Megill] p. 448 (p. 16 of preprint).  Version of
       ~ dral2 using ~ ax-10o .  (Contributed by NM, 27-Feb-2005.)
       (Proof modification is discouraged.)  (New usage is discouraged.) $)
    dral2-o $p |- ( A. x x = y -> ( A. z ph <-> A. z ps ) ) $=
      ( weq wal hbae-o albidh ) CDGCHABECDEIFJ $.
  $}

  ${
    $d t u v $.  $d t u x y $.  $d u w $.
    $( A "distinctor elimination" lemma with no restrictions on variables in
       the consequent, proved without using ~ ax-16 .  Version of ~ aev using
       ~ ax-10o .  (Contributed by NM, 8-Nov-2006.)  (Proof shortened by Andrew
       Salmon, 21-Jun-2011.)  (Proof modification is discouraged.)
       (New usage is discouraged.) $)
    aev-o $p |- ( A. x x = y -> A. z w = v ) $=
      ( vt vu weq hbae-o ax-8 spimv alrimih equcomi syl6 aecoms-o a5i-o aecom-o
      wal 3syl ) ABHZARZDEHZCABCIUAFBHZFRZGEHZGRZUBUAUCFABFITUCAFAFBJKLUDFGHZFR
      ZEGHZERUFUCUGFUGBFBFHZUGBGBGHUJGFHUGBGFJGFMNKOPUHUIEFGEIUGUIFEFEGJKLEGQSU
      EUBGDGDEJKSL $.
  $}

  ${
    $d x z $.  $d y z $.
    $( Theorem to add distinct quantifier to atomic formula.  (This theorem
       demonstrates the induction basis for ~ ax-17 considered as a
       metatheorem.  Do not use it for later proofs - use ~ ax-17 instead, to
       avoid reference to the redundant axiom ~ ax-16 .)  (Contributed by NM,
       5-Aug-1993.)  (Proof modification is discouraged.)
       (New usage is discouraged.) $)
    ax17eq $p |- ( x = y -> A. z x = y ) $=
      ( weq wal wi ax-12o ax-16 pm2.61ii ) CADCECBDCEABDZJCEFABCGJCAHJCBHI $.
  $}

  ${
    $d w z x $.  $d w y $.
    $( Quantifier introduction when one pair of variables is distinct.  Version
       of ~ dveeq2 using ~ ax-11o .  (Contributed by NM, 2-Jan-2002.)
       (Proof modification is discouraged.)  (New usage is discouraged.) $)
    dveeq2-o $p |- ( -. A. x x = y -> ( z = y -> A. x z = y ) ) $=
      ( vw weq ax-17 equequ2 dvelimf-o ) CDEZCBEZABDIAFJDFDBCGH $.

    $( Version of ~ dveeq2 using ~ ax-16 instead of ~ ax-17 .  TO DO:  Recover
       proof from older set.mm to remove use of ~ ax-17 .  (Contributed by NM,
       29-Apr-2008.)  (Proof modification is discouraged.)
       (New usage is discouraged.) $)
    dveeq2-o16 $p |- ( -. A. x x = y -> ( z = y -> A. x z = y ) ) $=
      ( vw weq ax17eq equequ2 dvelimALT ) CDECBEABDCDAFDBCGH $.
  $}

  ${
    $d x y $.
    $( A generalization of axiom ~ ax-16 .  Version of ~ a16g using ~ ax-10o .
       (Contributed by NM, 5-Aug-1993.)  (Proof shortened by Andrew Salmon,
       25-May-2011.)  (Proof modification is discouraged.)
       (New usage is discouraged.) $)
    a16g-o $p |- ( A. x x = y -> ( ph -> A. z ph ) ) $=
      ( weq wal aev-o ax-16 biidd dral1-o biimprd sylsyld ) BCEBFDBEDFZAABFZADF
      ZBCDDBGABCHMONAADBMAIJKL $.
  $}

  ${
    $d w z x $.  $d w y $.
    $( Quantifier introduction when one pair of variables is distinct.  Version
       of ~ dveeq1 using ax-10o .  (Contributed by NM, 2-Jan-2002.)
       (Proof modification is discouraged.)  (New usage is discouraged.) $)
    dveeq1-o $p |- ( -. A. x x = y -> ( y = z -> A. x y = z ) ) $=
      ( vw weq ax-17 equequ1 dvelimf-o ) DCEZBCEZABDIAFJDFDBCGH $.

    $( Version of ~ dveeq1 using ~ ax-16 instead of ~ ax-17 .  (Contributed by
       NM, 29-Apr-2008.)  TO DO:  Recover proof from older set.mm to remove use
       of ~ ax-17 .  (Proof modification is discouraged.)
       (New usage is discouraged.) $)
    dveeq1-o16 $p |- ( -. A. x x = y -> ( y = z -> A. x y = z ) ) $=
      ( vw weq ax17eq equequ1 dvelimh ) DCEBCEABDDCAFBCDFDBCGH $.
  $}

  ${
    $d x z $.  $d y z $.
    $( Theorem to add distinct quantifier to atomic formula.  This theorem
       demonstrates the induction basis for ~ ax-17 considered as a
       metatheorem.)  (Contributed by NM, 5-Aug-1993.)
       (Proof modification is discouraged.)  (New usage is discouraged.) $)
    ax17el $p |- ( x e. y -> A. z x e. y ) $=
      ( weq wal wel wi ax-15 ax-16 pm2.61ii ) CADCECBDCEABFZKCEGABCHKCAIKCBIJ
      $.
  $}

  ${
    $d x z w $.
    $( This theorem shows that, given ~ ax-16 , we can derive a version of
       ~ ax-10 .  However, it is weaker than ~ ax-10 because it has a distinct
       variable requirement.  (Contributed by Andrew Salmon, 27-Jul-2011.)
       (Proof modification is discouraged.)  (New usage is discouraged.) $)
    ax10-16 $p |- ( A. x x = z -> A. z z = x ) $=
      ( vw weq wal ax-16 alrimiv a5i-o equequ1 cbvalv a1i imbi12d albidv biimpi
      wi wb wex nfa1-o 19.23 a7s albii pm2.27 ax-mp alimi equequ2 spv sps-o syl
      a9ev sylbi 3syl ) ABDZAEZACDZUNAEZOZCEZAEZBCDZUSBEZOZCEZBEZBADZBEULUQAUMU
      PCUNABFGHURVCUQVBABULUPVACULUNUSUOUTABCIZUOUTPULUNUSABVEJKLMJNVBVDBVAVDCB
      VABEZCEUSBQZUTOZCEZVDVFVHCUSUTBUSBRSUAVIUTCEVDVHUTCVGVHUTOBCUIVGUTUBUCUDU
      SVDBCUSCEVDBUSVDCACABUEUFUGTUHUJTHUK $.
  $}

  ${
    $d w z x $.  $d w y $.
    $( Version of ~ dveel2 using ~ ax-16 instead of ~ ax-17 .  (Contributed by
       NM, 10-May-2008.)  (Proof modification is discouraged.)
       (New usage is discouraged.) $)
    dveel2ALT $p |- ( -. A. x x = y -> ( z e. y -> A. x z e. y ) ) $=
      ( vw wel ax17el elequ2 dvelimh ) CDECBEABDCDAFCBDFDBCGH $.
  $}

  ${
    ax11f.1 $e |- ( ph -> A. x ph ) $.
    $( Basis step for constructing a substitution instance of ~ ax-11o without
       using ~ ax-11o .  We can start with any formula ` ph ` in which ` x ` is
       not free.  (Contributed by NM, 21-Jan-2007.)
       (Proof modification is discouraged.)  (New usage is discouraged.) $)
    ax11f $p |- ( -. A. x x = y ->
               ( x = y -> ( ph -> A. x ( x = y -> ph ) ) ) ) $=
      ( weq wal wn wi ax-1 alrimih 2a1i ) BCEZBFGLALAHZBFHAMBDALIJK $.
  $}

  ${
    $d x u v $.  $d y u v $.  $d z u v $.  $d w u v $.
    $( Basis step for constructing a substitution instance of ~ ax-11o without
       using ~ ax-11o .  Atomic formula for equality predicate.  (Contributed
       by NM, 22-Jan-2007.)  (Proof modification is discouraged.)
       (New usage is discouraged.) $)
    ax11eq $p |- ( -. A. x x = y ->
               ( x = y -> ( z = w -> A. x ( x = y -> z = w ) ) ) ) $=
      ( vu vv weq wal wn wi wa 19.26 a1i wb equequ1 equequ2 sps-o imbi12d exp32
      imbi2d equid ax-gen sylan9bb nfa1-o adantr sylbir ad2antll impcom adantrr
      albid mpbii ax12o equtrr alimi syl6 sylbid adantll dral2-o ad2antrr mpbid
      imp biimprcd adantlr ad2antlr wex alrimiv adantl dveeq2-o im2anan9 sylibr
      a9ev ax-1 syl exlimdv mpi a1d 4cases ) ACGZAHZADGZAHZABGZAHIZWBCDGZWBWDJZ
      AHZJZJZJZVSWAKVRVTKZAHZWIVRVTALWKWCWBWGWKWCWBKZKAAGZWBWMJZAHZJZWGWOWMWNAW
      MWBAUAMUBMWKWPWGNWLWKWMWDWOWFWJWMWDNAVRWMCAGZVTWDACAOADCPZUCQZWKWNWEAWJAU
      DWKWMWDWBWSTUJRUEUKSUFVSWAIZKZWCWBWGXAWLKVTWBVTJZAHZJZWGWTWLXDVSWTWLKZVTB
      DGZXCWBVTXFNWTWCABDOUGXEXFXFAHZXCWTWCXFXGJZWBWCWTXHBDAULUHUIXFXBABDAUMUNU
      OUPUQVSXDWGNWTWLVSVTWDXCWFVRVTWDNAACDOQZXBWEACAVSVTWDWBXITURRUSUTSVSIZWAK
      ZWCWBWGXKWLKWQWBWQJZAHZJZWGXJWLXNWAXJWLKZWQCBGZXMWBWQXPNXJWCABCPZUGXOXPXP
      AHZXMXJWCXPXRJZWBXJWCXSCBAULVAUIXPXLAWBWQXPXQVBUNUOUPVCWAXNWGNXJWLWAWQWDX
      MWFVTWQWDNAWRQZXLWEADAWAWQWDWBXTTURRVDUTSXJWTKZWHWCYAWGWBYAEDGZEVEWGEDVKY
      AYBWGEYAFCGZFVEYBWGJZFCVKYAYCYDFYAYCYBWGYAYCYBKZKZFEGZWBYGJZAHZJWGYGYHAYG
      WBVLVFYFYGWDYIWFYEYGWDNZYAYCYGCEGYBWDFCEOEDCPUCZVGYFYEAHZYIWFNYFYCAHZYBAH
      ZKZYLYAYEYOXJYCYMWTYBYNACFVHADEVHVIVAYCYBALVJYLYHWEAYEAUDYLYGWDWBYEYJAYKQ
      TUJVMRUKSVNVOVNVOVPVPVQ $.
  $}

  ${
    $d x u v $.  $d y u v $.  $d z u v $.  $d w u v $.
    $( Basis step for constructing a substitution instance of ~ ax-11o without
       using ~ ax-11o .  Atomic formula for membership predicate.  (Contributed
       by NM, 22-Jan-2007.)  (Proof modification is discouraged.)
       (New usage is discouraged.) $)
    ax11el $p |- ( -. A. x x = y ->
               ( x = y -> ( z e. w -> A. x ( x = y -> z e. w ) ) ) ) $=
      ( vv vu weq wal wn wel wi wa wb elequ1 elequ2 adantl sps-o imbi2d imbi12d
      exp32 19.26 bitrd ax-17 biimprcd alimi syl6 adantr sylbid sylan9bb nfa1-o
      albid mpbid sylbir ad2antll ax-15 impcom adantrr adantll dral2-o ad2antrr
      dvelimf-o imp adantlr ad2antlr a9ev ax-1 alrimiv dveeq2-o im2anan9 sylibr
      wex syl mpbii exlimdv mpi a1d 4cases ) ACGZAHZADGZAHZABGZAHIZWBCDJZWBWDKZ
      AHZKZKZKZVSWALVRVTLZAHZWIVRVTAUAWKWCWBWGWKWCWBLZLAAJZWBWMKZAHZKZWGWLWPWKW
      LWMBBJZWOWBWMWQMWCWBWMBAJWQABANABBOUBZPWCWQWOKWBWCWQWQAHWOEEJZWQABEWSAUCW
      QEUCEBGWSBEJWQEBENEBBOUBVAWQWNAWBWMWQWRUDUEUFUGUHPWKWPWGMWLWKWMWDWOWFWJWM
      WDMAVRWMCAJZVTWDACANADCOZUIQZWKWNWEAWJAUJWKWMWDWBXBRUKSUGULTUMVSWAIZLZWCW
      BWGXDWLLADJZWBXEKZAHZKZWGXCWLXHVSXCWLLZXEBDJZXGWBXEXJMXCWCABDNZUNXIXJXJAH
      ZXGXCWCXJXLKZWBWCXCXMBDAUOUPUQXJXFAWBXEXJXKUDUEUFUHURVSXHWGMXCWLVSXEWDXGW
      FVRXEWDMAACDNQZXFWEACAVSXEWDWBXNRUSSUTULTVSIZWALZWCWBWGXPWLLWTWBWTKZAHZKZ
      WGXOWLXSWAXOWLLZWTCBJZXRWBWTYAMXOWCABCOZUNXTYAYAAHZXRXOWCYAYCKZWBXOWCYDCB
      AUOVBUQYAXQAWBWTYAYBUDUEUFUHVCWAXSWGMXOWLWAWTWDXRWFVTWTWDMAXAQZXQWEADAWAW
      TWDWBYERUSSVDULTXOXCLZWHWCYFWGWBYFFDGZFVKWGFDVEYFYGWGFYFECGZEVKYGWGKZECVE
      YFYHYIEYFYHYGWGYFYHYGLZLZEFJZWBYLKZAHZKWGYLYMAYLWBVFVGYKYLWDYNWFYJYLWDMZY
      FYHYLCFJYGWDECFNFDCOUIZPYKYJAHZYNWFMYKYHAHZYGAHZLZYQYFYJYTXOYHYRXCYGYSACE
      VHADFVHVIVBYHYGAUAVJYQYMWEAYJAUJYQYLWDWBYJYOAYPQRUKVLSVMTVNVOVNVOVPVPVQ
      $.
  $}

  ${
    ax11indn.1 $e |- ( -. A. x x = y ->
               ( x = y -> ( ph -> A. x ( x = y -> ph ) ) ) ) $.
    $( Induction step for constructing a substitution instance of ~ ax-11o
       without using ~ ax-11o .  Negation case.  (Contributed by NM,
       21-Jan-2007.)  (Proof modification is discouraged.)
       (New usage is discouraged.) $)
    ax11indn $p |- ( -. A. x x = y ->
               ( x = y -> ( -. ph -> A. x ( x = y -> -. ph ) ) ) ) $=
      ( weq wal wn wi wa 19.8a exanali hbn1 con3 syl6 com23 alrimdh syl5bi syl5
      wex exp3a ) BCEZBFGZUAAGZUAUCHZBFZUAUCIZUFBSZUBUEUFBJUGUAAHZBFZGZUBUEUAAB
      KUBUJUDBUABLUHBLUBUAUJUCUBUAAUIHUJUCHDAUIMNOPQRT $.

    ${
      ax11indi.2 $e |- ( -. A. x x = y ->
                 ( x = y -> ( ps -> A. x ( x = y -> ps ) ) ) ) $.
      $( Induction step for constructing a substitution instance of ~ ax-11o
         without using ~ ax-11o .  Implication case.  (Contributed by NM,
         21-Jan-2007.)  (Proof modification is discouraged.)
         (New usage is discouraged.) $)
      ax11indi $p |- ( -. A. x x = y ->
           ( x = y -> ( ( ph -> ps ) -> A. x ( x = y -> ( ph -> ps ) ) ) ) ) $=
        ( weq wal wn wi wa ax11indn imp pm2.21 imim2i alimi syl6 ax-1 jad ex )
        CDGZCHIZUAABJZUAUCJZCHZJUBUAKZABUEUFAIZUAUGJZCHZUEUBUAUGUIJACDELMUHUDCU
        GUCUAABNOPQUFBUABJZCHZUEUBUABUKJFMUJUDCBUCUABAROPQST $.
    $}
  $}

  ${
    ax11indalem.1 $e |- ( -. A. x x = y ->
               ( x = y -> ( ph -> A. x ( x = y -> ph ) ) ) ) $.
    $( Lemma for ~ ax11inda2 and ~ ax11inda .  (Contributed by NM,
       24-Jan-2007.)  (Proof modification is discouraged.)
       (New usage is discouraged.) $)
    ax11indalem $p |- ( -. A. y y = z -> ( -. A. x x = y ->
               ( x = y -> ( A. z ph -> A. x ( x = y -> A. z ph ) ) ) ) ) $=
      ( weq wal wn wi ax-1 a5i-o a1i biidd a1d aecom-o con3i imp hbnae-o hban
      wa dral1-o imbi2d dral2-o 3imtr4d adantr simplr ax12o syl2an adantlr ax-4
      aecoms-o hba1-o sylan2 alimdh syl2anc ax-7 wb nfdh 19.21t albidh ad2antrr
      wnf syl syl5ib syld exp31 pm2.61ian ) BDFBGZCDFCGZHZBCFZBGHZVKADGZVKVMIZB
      GZIZIZIZVHVRVJVHVQVLVHVPVKVPDBDBFDGZABGZVKVTIZBGZVMVOVTWBIVSAWABVTVKJKLAA
      DBVSAMUAZVNWADBBVSVMVTVKWCUBUCUDUKNNUEVHHZVJTZVLVKVPWEVLTVKTZVMVKAIZBGZDG
      ZVOWFVLVKDGZVMWIIWEVLVKUFWEVKWJVLWEVKWJWDVSHZDCFDGZHZVKWJIZVJVSVHDBOPWLVI
      DCOPWKWMWNBCDUGQUHZQUIVLWJTAWHDVLWJDBCDRVKDULSWJVLVKAWHIZVKDUJVLVKWPEQUMU
      NUOWEWIVOIVLVKWIWGDGZBGWEVOWGDBUPWEWQVNBWDVJBBDBRCDBRSWEVKDVBWQVNUQWEVKDW
      DVJDBDDRCDDRSWOURVKADUSVCUTVDVAVEVFVG $.
  $}

  ${
    $d z y $.
    ax11inda2.1 $e |- ( -. A. x x = y ->
               ( x = y -> ( ph -> A. x ( x = y -> ph ) ) ) ) $.
    $( A proof of ~ ax11inda2 that is slightly more direct.  (Contributed by
       NM, 4-May-2007.)  (Proof modification is discouraged.)
       (New usage is discouraged.) $)
    ax11inda2ALT $p |- ( -. A. x x = y ->
               ( x = y -> ( A. z ph -> A. x ( x = y -> A. z ph ) ) ) ) $=
      ( weq wal wn wi a5i-o a1i biidd dral1-o imbi2d dral2-o a1d wa imp hbnae-o
      ax-1 3imtr4d aecoms-o simplr dveeq1-o naecoms-o hba1-o hban sylan2 alimdh
      adantlr ax-4 syl2anc ax-7 wnf nfdh 19.21t syl albidh syl5ib ad2antrr syld
      wb exp31 pm2.61i ) BDFBGZBCFZBGHZVFADGZVFVHIZBGZIZIZIVEVLVGVEVKVFVKDBDBFD
      GZABGZVFVNIZBGZVHVJVNVPIVMAVOBVNVFTJKAADBVMALMZVIVODBBVMVHVNVFVQNOUAUBPPV
      EHZVGVFVKVRVGQVFQZVHVFAIZBGZDGZVJVSVGVFDGZVHWBIVRVGVFUCVRVFWCVGVRVFWCVFWC
      IDBDBCUDUEZRUJVGWCQAWADVGWCDBCDSVFDUFUGWCVGVFAWAIZVFDUKVGVFWEERUHUIULVRWB
      VJIVGVFWBVTDGZBGVRVJVTDBUMVRWFVIBBDBSVRVFDUNWFVIVBVRVFDBDDSWDUOVFADUPUQUR
      USUTVAVCVD $.

    $( Induction step for constructing a substitution instance of ~ ax-11o
       without using ~ ax-11o .  Quantification case.  When ` z ` and ` y ` are
       distinct, this theorem avoids the dummy variables needed by the more
       general ~ ax11inda .  (Contributed by NM, 24-Jan-2007.)
       (Proof modification is discouraged.)  (New usage is discouraged.) $)
    ax11inda2 $p |- ( -. A. x x = y ->
               ( x = y -> ( A. z ph -> A. x ( x = y -> A. z ph ) ) ) ) $=
      ( weq wal wn wi ax-1 a16g-o syl5 a1d ax11indalem pm2.61i ) CDFCGZBCFZBGHZ
      QADGZQSIZBGZIZIZIPUCRPUBQSTPUASQJTCDBKLMMABCDENO $.
  $}

  ${
    $d w ph $.  $d w x $.  $d w y $.  $d w z $.
    ax11inda.1 $e |- ( -. A. x x = w ->
               ( x = w -> ( ph -> A. x ( x = w -> ph ) ) ) ) $.
    $( Induction step for constructing a substitution instance of ~ ax-11o
       without using ~ ax-11o .  Quantification case.  (When ` z ` and ` y `
       are distinct, ~ ax11inda2 may be used instead to avoid the dummy
       variable ` w ` in the proof.)  (Contributed by NM, 24-Jan-2007.)
       (Proof modification is discouraged.)  (New usage is discouraged.) $)
    ax11inda $p |- ( -. A. x x = y ->
               ( x = y -> ( A. z ph -> A. x ( x = y -> A. z ph ) ) ) ) $=
      ( weq wal wn wi wex a9ev wa ax11inda2 wb dveeq2-o imp albidh syl imbi12d
      hba1-o equequ2 sps-o notbid adantl imbi1d imbi2d mpbii ex exlimdv pm2.43i
      mpi ) BCGZBHZIZUMADHZUMUPJZBHZJZJZUOECGZEKUOUTJZECLUOVAVBEUOVAVBUOVAMZBEG
      ZBHZIZVDUPVDUPJZBHZJZJZJVBABEDFNVCVFUOVJUTVCVABHZVFUOOUOVAVKBCEPQZVKVEUNV
      KVDUMBVABUAZVAVDUMOZBECBUBZUCZRUDSVCVDUMVIUSVAVNUOVOUEVCVHURUPVCVKVHUROVL
      VKVGUQBVMVKVDUMUPVPUFRSUGTTUHUIUJULUK $.
  $}

  ${
    $d x z $.  $d y z $.  $d z ph $.
    ax11v2-o.1 $e |- ( x = z -> ( ph -> A. x ( x = z -> ph ) ) ) $.
    $( Recovery of ~ ax-11o from ~ ax11v without using ~ ax-11o .  The
       hypothesis is even weaker than ~ ax11v , with ` z ` both distinct from
       ` x ` _and_ not occurring in ` ph ` .  Thus, the hypothesis provides an
       alternate axiom that can be used in place of ~ ax-11o .  (Contributed by
       NM, 2-Feb-2007.)  (Proof modification is discouraged.)
       (New usage is discouraged.) $)
    ax11v2-o $p |- ( -. A. x x = y ->
                 ( x = y -> ( ph -> A. x ( x = y -> ph ) ) ) ) $=
      ( weq wal wn wex wi wa wb equequ2 adantl dveeq2-o imp nfa1-o imbi1d sps-o
      a9ev albid syl imbi2d imbi12d mpbii ex exlimdv mpi ) BCFZBGHZDCFZDIUIAUIA
      JZBGZJZJZDCTUJUKUODUJUKUOUJUKKZBDFZAUQAJZBGZJZJUOEUPUQUIUTUNUKUQUILUJDCBM
      ZNUPUSUMAUPUKBGZUSUMLUJUKVBBCDOPVBURULBUKBQUKURULLBUKUQUIAVARSUAUBUCUDUEU
      FUGUH $.
  $}

  ${
    $d x z $.  $d y z $.  $d z ph $.
    ax11a2-o.1 $e |- ( x = z -> ( A. z ph -> A. x ( x = z -> ph ) ) ) $.
    $( Derive ~ ax-11o from a hypothesis in the form of ~ ax-11 , without using
       ~ ax-11 or ~ ax-11o .  The hypothesis is even weaker than ~ ax-11 , with
       ` z ` both distinct from ` x ` and not occurring in ` ph ` .  Thus, the
       hypothesis provides an alternate axiom that can be used in place of
       ~ ax-11 , if we also hvae ~ ax-10o which this proof uses .  As theorem
       ~ ax11 shows, the distinct variable conditions are optional.  An open
       problem is whether we can derive this with ~ ax-10 instead of
       ~ ax-10o .  (Contributed by NM, 2-Feb-2007.)
       (Proof modification is discouraged.)  (New usage is discouraged.) $)
    ax11a2-o $p |- ( -. A. x x = y ->
                 ( x = y -> ( ph -> A. x ( x = y -> ph ) ) ) ) $=
      ( wal weq wi ax-17 syl5 ax11v2-o ) ABCDAADFBDGZLAHBFADIEJK $.
  $}

  $( Show that ~ ax-10o can be derived from ~ ax-10 .  An open problem is
     whether this theorem can be derived from ~ ax-10 and the others when
     ~ ax-11 is replaced with ~ ax-11o .  See theorem ~ ax10from10o for the
     rederivation of ~ ax-10 from ~ ax10o .

     Normally, ~ ax10o should be used rather than ~ ax-10o or ~ ax10o-o ,
     except by theorems specifically studying the latter's properties.
     (Contributed by NM, 16-May-2008.)  (Proof modification is discouraged.)
     (New usage is discouraged.) $)
  ax10o-o $p |- ( A. x x = y -> ( A. x ph -> A. y ph ) ) $=
    ( weq wal wi ax-10 ax11 equcoms sps-o pm2.27 al2imi sylsyld ) BCDZBECBDZCEA
    BEZOAFZCEZACEBCGNPRFZBSCBACBHIJOQACOAKLM $.

$(
#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#
               Existential uniqueness
#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#
$)

  $( Declare new symbols needed for uniqueness notation. $)
  $c E! $.  $( Backwards E exclamation point. $)
  $c E* $.  $( Backwards E superscript *. $)

  $( Extend wff definition to include existential uniqueness ("there exists a
     unique ` x ` such that ` ph ` "). $)
  weu $a wff E! x ph $.

  $( Extend wff definition to include uniqueness ("there exists at most one
     ` x ` such that ` ph ` "). $)
  wmo $a wff E* x ph $.

  ${
    $d w x y $.  $d x z $.  $d y ph $.  $d w z ph $.
    $( A soundness justification theorem for ~ df-eu , showing that the
       definition is equivalent to itself with its dummy variable renamed.
       Note that ` y ` and ` z ` needn't be distinct variables.  See
       ~ eujustALT for a proof that provides an example of how it can be
       achieved through the use of ~ dvelim .  (Contributed by NM,
       11-Mar-2010.)  (Proof shortened by Andrew Salmon, 9-Jul-2011.) $)
    eujust $p |- ( E. y A. x ( ph <-> x = y )
        <-> E. z A. x ( ph <-> x = z ) ) $=
      ( vw cv wceq wb wal wex equequ2 bibi2d albidv cbvexv bitri ) ABFZCFZGZHZB
      IZCJAPEFZGZHZBIZEJAPDFZGZHZBIZDJTUDCEQUAGZSUCBUIRUBACEBKLMNUDUHEDUAUEGZUC
      UGBUJUBUFAEDBKLMNO $.

    $( A soundness justification theorem for ~ df-eu , showing that the
       definition is equivalent to itself with its dummy variable renamed.
       Note that ` y ` and ` z ` needn't be distinct variables.  While this
       isn't strictly necessary for soundness, the proof provides an example of
       how it can be achieved through the use of ~ dvelim .  (Contributed by
       NM, 11-Mar-2010.)  (Proof modification is discouraged.)
       (New usage is discouraged.) $)
    eujustALT $p |- ( E. y A. x ( ph <-> x = y )
        <-> E. z A. x ( ph <-> x = z ) ) $=
      ( vw weq wal wb wex equequ2 bibi2d albidv wn hbnae wi ax-17 notbid dvelim
      sps df-ex drex1 alrimih naecoms a1i cbv2h syl 3bitr4g pm2.61i ) CDFZCGZAB
      CFZHZBGZCIZABDFZHZBGZDIZHUMUQCDUIUMUQHCUIULUPBUIUKUOACDBJKLZSUAUJMZUMMZCG
      ZMUQMZDGZMUNURUTVBVDUTUTDGZCGVBVDHUTVECCDCNCDDNUBUTVAVCCDVAVADGODCABEFZHZ
      BGZMZVADCEVIDPECFZVHUMVJVGULBVJVFUKAECBJKLQRUCVIVCCDEVICPEDFZVHUQVKVGUPBV
      KVFUOAEDBJKLQRUIVAVCHOUTUIUMUQUSQUDUEUFQUMCTUQDTUGUH $.
  $}

  ${
    $d x y $.  $d y ph $.
    $( Define existential uniqueness, i.e.  "there exists exactly one ` x `
       such that ` ph ` ."  Definition 10.1 of [BellMachover] p. 97; also
       Definition *14.02 of [WhiteheadRussell] p. 175.  Other possible
       definitions are given by ~ eu1 , ~ eu2 , ~ eu3 , and ~ eu5 (which in
       some cases we show with a hypothesis ` ph -> A. y ph ` in place of a
       distinct variable condition on ` y ` and ` ph ` ).  Double uniqueness is
       tricky: ` E! x E! y ph ` does not mean "exactly one ` x ` and one
       ` y ` " (see ~ 2eu4 ).  (Contributed by NM, 12-Aug-1993.) $)
    df-eu $a |- ( E! x ph <-> E. y A. x ( ph <-> x = y ) ) $.
  $}

  $( Define "there exists at most one ` x ` such that ` ph ` ."  Here we define
     it in terms of existential uniqueness.  Notation of [BellMachover] p. 460,
     whose definition we show as ~ mo3 .  For other possible definitions see
     ~ mo2 and ~ mo4 .  (Contributed by NM, 8-Mar-1995.) $)
  df-mo $a |- ( E* x ph <-> ( E. x ph -> E! x ph ) ) $.

  ${
    $d x y z $.  $d ph z $.
    euf.1 $e |- F/ y ph $.
    $( A version of the existential uniqueness definition with a hypothesis
       instead of a distinct variable condition.  (Contributed by NM,
       12-Aug-1993.) $)
    euf $p |- ( E! x ph <-> E. y A. x ( ph <-> x = y ) ) $=
      ( vz weu cv wceq wb wal wex df-eu nfv nfbi nfal bibi2d albidv cbvex bitri
      equequ2 ) ABFABGZEGZHZIZBJZEKAUACGZHZIZBJZCKABELUEUIECUDCBAUCCDUCCMNOUHEB
      AUGEAEMUGEMNOUBUFHZUDUHBUJUCUGAECBTPQRS $.
  $}

  ${
    $d x y $.  $d y ph $.  $d y ps $.  $d y ch $.
    eubid.1 $e |- F/ x ph $.
    eubid.2 $e |- ( ph -> ( ps <-> ch ) ) $.
    $( Formula-building rule for uniqueness quantifier (deduction rule).
       (Contributed by NM, 9-Jul-1994.) $)
    eubid $p |- ( ph -> ( E! x ps <-> E! x ch ) ) $=
      ( vy cv wceq wb wal wex weu bibi1d albid exbidv df-eu 3bitr4g ) ABDHGHIZJ
      ZDKZGLCSJZDKZGLBDMCDMAUAUCGATUBDEABCSFNOPBDGQCDGQR $.
  $}

  ${
    $d x ph $.
    eubidv.1 $e |- ( ph -> ( ps <-> ch ) ) $.
    $( Formula-building rule for uniqueness quantifier (deduction rule).
       (Contributed by NM, 9-Jul-1994.) $)
    eubidv $p |- ( ph -> ( E! x ps <-> E! x ch ) ) $=
      ( nfv eubid ) ABCDADFEG $.
  $}

  ${
    eubii.1 $e |- ( ph <-> ps ) $.
    $( Introduce uniqueness quantifier to both sides of an equivalence.
       (Contributed by NM, 9-Jul-1994.)  (Revised by Mario Carneiro,
       6-Oct-2016.) $)
    eubii $p |- ( E! x ph <-> E! x ps ) $=
      ( weu wb wtru a1i eubidv trud ) ACEBCEFGABCABFGDHIJ $.
  $}

  ${
    $d x y $.  $d y ph $.
    $( Bound-variable hypothesis builder for uniqueness.  (Contributed by NM,
       9-Jul-1994.)  (Revised by Mario Carneiro, 7-Oct-2016.) $)
    nfeu1 $p |- F/ x E! x ph $=
      ( vy weu cv wceq wb wal wex df-eu nfa1 nfex nfxfr ) ABDABECEFGZBHZCIBABCJ
      OBCNBKLM $.
  $}

  $( Bound-variable hypothesis builder for "at most one."  (Contributed by NM,
     8-Mar-1995.)  (Revised by Mario Carneiro, 7-Oct-2016.) $)
  nfmo1 $p |- F/ x E* x ph $=
    ( wmo wex weu wi df-mo nfe1 nfeu1 nfim nfxfr ) ABCABDZABEZFBABGLMBABHABIJK
    $.

  ${
    $d y z $.  $d z ph $.  $d z ps $.
    nfeud2.1 $e |- F/ y ph $.
    nfeud2.2 $e |- ( ( ph /\ -. A. x x = y ) -> F/ x ps ) $.
    $( Bound-variable hypothesis builder for uniqueness.  (Contributed by Mario
       Carneiro, 14-Nov-2016.) $)
    nfeud2 $p |- ( ph -> F/ x E! y ps ) $=
      ( vz weu cv wceq wb wal wex df-eu nfv wn wa nfnae nfan wnf adantlr ancoms
      nfeqf adantll nfbid nfald2 nfexd2 nfxfrd ) BDHBDIZGIZJZKZDLZGMACBDGNAUMCG
      AGOACIZUJJCLPZQZULCDAUODECGDRSUPUNUIJCLPZQBUKCAUQBCTUOFUAUOUQUKCTZAUQUOUR
      DGCUCUBUDUEUFUGUH $.

    $( Bound-variable hypothesis builder for uniqueness.  (Contributed by Mario
       Carneiro, 14-Nov-2016.) $)
    nfmod2 $p |- ( ph -> F/ x E* y ps ) $=
      ( wmo wex weu wi df-mo nfexd2 nfeud2 nfimd nfxfrd ) BDGBDHZBDIZJACBDKAPQC
      ABCDEFLABCDEFMNO $.
  $}

  ${
    nfeud.1 $e |- F/ y ph $.
    nfeud.2 $e |- ( ph -> F/ x ps ) $.
    $( Deduction version of ~ nfeu .  (Contributed by NM, 15-Feb-2013.)
       (Revised by Mario Carneiro, 7-Oct-2016.) $)
    nfeud $p |- ( ph -> F/ x E! y ps ) $=
      ( wnf cv wceq wal wn adantr nfeud2 ) ABCDEABCGCHDHICJKFLM $.

    $( Bound-variable hypothesis builder for "at most one."  (Contributed by
       Mario Carneiro, 14-Nov-2016.) $)
    nfmod $p |- ( ph -> F/ x E* y ps ) $=
      ( wnf cv wceq wal wn adantr nfmod2 ) ABCDEABCGCHDHICJKFLM $.
  $}

  ${
    nfeu.1 $e |- F/ x ph $.
    $( Bound-variable hypothesis builder for "at most one."  Note that ` x `
       and ` y ` needn't be distinct (this makes the proof more difficult).
       (Contributed by NM, 8-Mar-1995.)  (Revised by Mario Carneiro,
       7-Oct-2016.) $)
    nfeu $p |- F/ x E! y ph $=
      ( weu wnf wtru nftru a1i nfeud trud ) ACEBFGABCCHABFGDIJK $.

    $( Bound-variable hypothesis builder for "at most one."  (Contributed by
       NM, 9-Mar-1995.) $)
    nfmo $p |- F/ x E* y ph $=
      ( wmo wnf wtru nftru a1i nfmod trud ) ACEBFGABCCHABFGDIJK $.
  $}

  ${
    $d w y z $.  $d ph z w $.  $d w x z $.
    sb8eu.1 $e |- F/ y ph $.
    $( Variable substitution in uniqueness quantifier.  (Contributed by NM,
       7-Aug-1994.)  (Revised by Mario Carneiro, 7-Oct-2016.) $)
    sb8eu $p |- ( E! x ph <-> E! y [ y / x ] ph ) $=
      ( vz vw cv wceq wb wal wex wsb weu nfv sb8 sbbi nfsb equsb3 nfxfr df-eu
      nfbi sbequ cbval sblbis albii 3bitri exbii 3bitr4i ) ABGEGZHZIZBJZEKABCLZ
      CGUIHZIZCJZEKABMUMCMULUPEULUKBFLZFJUKBCLZCJUPUKBFUKFNOUQURFCUQABFLZUJBFLZ
      ICAUJBFPUSUTCABFCDQUTFGUIHZCFBERVACNSUASURFNUKFCBUBUCURUOCUJUNABCCBERUDUE
      UFUGABETUMCETUH $.

    $( Variable substitution in uniqueness quantifier.  (Contributed by
       Alexander van der Vekens, 17-Jun-2017.) $)
    sb8mo $p |- ( E* x ph <-> E* y [ y / x ] ph ) $=
      ( wex weu wi wsb wmo sb8e sb8eu imbi12i df-mo 3bitr4i ) ABEZABFZGABCHZCEZ
      QCFZGABIQCIORPSABCDJABCDKLABMQCMN $.
  $}

  ${
    cbveu.1 $e |- F/ y ph $.
    cbveu.2 $e |- F/ x ps $.
    cbveu.3 $e |- ( x = y -> ( ph <-> ps ) ) $.
    $( Rule used to change bound variables, using implicit substitution.
       (Contributed by NM, 25-Nov-1994.)  (Revised by Mario Carneiro,
       7-Oct-2016.) $)
    cbveu $p |- ( E! x ph <-> E! y ps ) $=
      ( weu wsb sb8eu sbie eubii bitri ) ACHACDIZDHBDHACDEJNBDABCDFGKLM $.
  $}

  ${
    $d x y $.
    eu1.1 $e |- F/ y ph $.
    $( An alternate way to express uniqueness used by some authors.  Exercise
       2(b) of [Margaris] p. 110.  (Contributed by NM, 20-Aug-1993.)  (Revised
       by Mario Carneiro, 7-Oct-2016.) $)
    eu1 $p |- ( E! x ph <->
                E. x ( ph /\ A. y ( [ y / x ] ph -> x = y ) ) ) $=
      ( wsb weu cv wb wal wex wi wa nfs1v euf sb8eu equcom imbi2i albii 3bitr4i
      wceq sb6rf anbi12i ancom albiim exbii ) ABCEZCFUFCGZBGZTZHCIZBJABFAUFUHUG
      TZKZCIZLZBJUFCBABCMNABCDOUNUJBUMALUFUIKZCIZUIUFKCIZLUNUJUMUPAUQULUOCUKUIU
      FBCPQRABCDUAUBAUMUCUFUICUDSUES $.
  $}

  ${
    $d x y z $.  $d ph z $.
    mo.1 $e |- F/ y ph $.
    $( Equivalent definitions of "there exists at most one."  (Contributed by
       NM, 7-Aug-1994.)  (Revised by Mario Carneiro, 7-Oct-2016.) $)
    mo $p |- ( E. y A. x ( ph -> x = y ) <->
               A. x A. y ( ( ph /\ [ y / x ] ph ) -> x = y ) ) $=
      ( vz cv wceq wi wal wex wsb wa nfv nfim nfal equequ2 cbv3 sylbir wn nfn
      imbi2d albidv cbvex nfs1 sbequ2 ax-8 imim12d aaan sylibr prth equtr2 syl6
      ancli 2alimi syl exlimiv nfa2 exp3a com3r alimd com12 eximd alnex equcoms
      sp sbequ1 con3d pm2.21 alimi 19.8a 3syl pm2.61d1 impbii ) ABFZCFZGZHZBIZC
      JZAABCKZLZVPHZCIZBIZVSAVNEFZGZHZBIZEJWDWHVRECWGCBAWFCDWFCMNZOVREMWEVOGZWG
      VQBWJWFVPAECBPUAUBUCWHWDEWHWGVTVOWEGZHZLZCIBIZWDWHWHWLCIZLWNWHWOWGWLBCWIV
      TWKBABCDUDZWKBMNZVPVTAWFWKABCUEBCEUFUGQUMWGWLBCWIWQUHUIWMWBBCWMWAWFWKLVPA
      WFVTWKUJBCEUKULUNUOUPRWDVTCJZVSWDVTVRCWBCBUQVTWDVRVTWCVQBWPWCAVTVPWCAVTVP
      WBCVEURUSUTVAVBWRSVTSZCIZVSVTCVCWTASZBIVRVSWSXACBVTBWPTACDTVOVNGAVTAVTHBC
      ABCVFVDVGQXAVQBAVPVHVIVRCVJVKRVLVM $.
  $}

  ${
    $d x y $.  $d ph y $.
    $( Existential uniqueness implies existence.  (Contributed by NM,
       15-Sep-1993.)  (Proof shortened by Andrew Salmon, 9-Jul-2011.) $)
    euex $p |- ( E! x ph -> E. x ph ) $=
      ( vy weu wsb cv wceq wi wal wa wex nfv eu1 exsimpl sylbi ) ABDAABCEBFCFGH
      CIZJBKABKABCACLMAPBNO $.
  $}

  ${
    $d x y $.
    eumo0.1 $e |- F/ y ph $.
    $( Existential uniqueness implies "at most one."  (Contributed by NM,
       8-Jul-1994.) $)
    eumo0 $p |- ( E! x ph -> E. y A. x ( ph -> x = y ) ) $=
      ( weu weq wb wal wex wi euf bi1 alimi eximi sylbi ) ABEABCFZGZBHZCIAPJZBH
      ZCIABCDKRTCQSBAPLMNO $.
  $}

  ${
    $d x y $.
    eu2.1 $e |- F/ y ph $.
    $( An alternate way of defining existential uniqueness.  Definition 6.10 of
       [TakeutiZaring] p. 26.  (Contributed by NM, 8-Jul-1994.) $)
    eu2 $p |- ( E! x ph <->
    ( E. x ph /\ A. x A. y ( ( ph /\ [ y / x ] ph ) -> x = y ) ) ) $=
      ( weu wex wsb wa weq wi wal euex eumo0 mo sylib 19.29r impexp albii 19.21
      jca bitri anbi2i abai bitr4i exbii eu1 sylibr impbii ) ABEZABFZAABCGZHBCI
      ZJZCKZBKZHZUIUJUOABLUIAULJBKCFUOABCDMABCDNOTUPAUKULJZCKZHZBFZUIUPAUNHZBFU
      TAUNBPVAUSBVAAAURJZHUSUNVBAUNAUQJZCKVBUMVCCAUKULQRAUQCDSUAUBAURUCUDUEOABC
      DUFUGUH $.
  $}

  ${
    $d x y $.
    eu3.1 $e |- F/ y ph $.
    $( An alternate way to express existential uniqueness.  (Contributed by NM,
       8-Jul-1994.) $)
    eu3 $p |- ( E! x ph <->
                ( E. x ph /\ E. y A. x ( ph -> x = y ) ) ) $=
      ( weu wex wsb wa weq wi wal eu2 mo anbi2i bitr4i ) ABEABFZAABCGHBCIZJCKBK
      ZHPAQJBKCFZHABCDLSRPABCDMNO $.
  $}

  ${
    euor.1 $e |- F/ x ph $.
    $( Introduce a disjunct into a uniqueness quantifier.  (Contributed by NM,
       21-Oct-2005.) $)
    euor $p |- ( ( -. ph /\ E! x ps ) -> E! x ( ph \/ ps ) ) $=
      ( wn weu wo nfn biorf eubid biimpa ) AEZBCFABGZCFLBMCACDHABIJK $.
  $}

  ${
    $d x ph $.
    $( Introduce a disjunct into a uniqueness quantifier.  (Contributed by NM,
       23-Mar-1995.) $)
    euorv $p |- ( ( -. ph /\ E! x ps ) -> E! x ( ph \/ ps ) ) $=
      ( nfv euor ) ABCACDE $.
  $}

  ${
    $d x y $.
    mo2.1 $e |- F/ y ph $.
    $( Alternate definition of "at most one."  (Contributed by NM,
       8-Mar-1995.) $)
    mo2 $p |- ( E* x ph <-> E. y A. x ( ph -> x = y ) ) $=
      ( wmo wex weu wi weq wal df-mo alnex pm2.21 alimi 19.8a syl sylbir eumo0
      wn ja eu3 simplbi2com impbii bitri ) ABEABFZABGZHZABCIZHZBJZCFZABKUGUKUEU
      FUKUESASZBJZUKABLUMUJUKULUIBAUHMNUJCOPQABCDRTUFUEUKABCDUAUBUCUD $.
  $}

  ${
    $d w x z $.  $d w y z $.  $d w ph $.
    $( Substitution into "at most one".  (Contributed by Jeff Madsen,
       2-Sep-2009.) $)
    sbmo $p |- ( [ y / x ] E* z ph <-> E* z [ y / x ] ph ) $=
      ( vw cv wceq wal wex wsb wmo sbex nfv sblim sbalv exbii bitri mo2 sbbii
      wi 3bitr4i ) ADFEFGZTZDHZEIZBCJZABCJZUBTZDHZEIZADKZBCJUGDKUFUDBCJZEIUJUDE
      BCLULUIEUCUHBCDAUBBCUBBMNOPQUKUEBCADEAEMRSUGDEUGEMRUA $.
  $}

  ${
    $d x y $.
    mo3.1 $e |- F/ y ph $.
    $( Alternate definition of "at most one."  Definition of [BellMachover]
       p. 460, except that definition has the side condition that ` y ` not
       occur in ` ph ` in place of our hypothesis.  (Contributed by NM,
       8-Mar-1995.) $)
    mo3 $p |- ( E* x ph <->
               A. x A. y ( ( ph /\ [ y / x ] ph ) -> x = y ) ) $=
      ( wmo weq wi wal wex wsb wa mo2 mo bitri ) ABEABCFZGBHCIAABCJKOGCHBHABCDL
      ABCDMN $.
  $}

  ${
    $d x y $.  $d y ph $.
    mo4f.1 $e |- F/ x ps $.
    mo4f.2 $e |- ( x = y -> ( ph <-> ps ) ) $.
    $( "At most one" expressed using implicit substitution.  (Contributed by
       NM, 10-Apr-2004.) $)
    mo4f $p |- ( E* x ph <-> A. x A. y ( ( ph /\ ps ) -> x = y ) ) $=
      ( wmo wsb wa weq wi wal nfv mo3 sbie anbi2i imbi1i 2albii bitri ) ACGAACD
      HZIZCDJZKZDLCLABIZUBKZDLCLACDADMNUCUECDUAUDUBTBAABCDEFOPQRS $.
  $}

  ${
    $d x y $.  $d y ph $.  $d x ps $.
    mo4.1 $e |- ( x = y -> ( ph <-> ps ) ) $.
    $( "At most one" expressed using implicit substitution.  (Contributed by
       NM, 26-Jul-1995.) $)
    mo4 $p |- ( E* x ph <-> A. x A. y ( ( ph /\ ps ) -> x = y ) ) $=
      ( nfv mo4f ) ABCDBCFEG $.
  $}

  ${
    mobid.1 $e |- F/ x ph $.
    mobid.2 $e |- ( ph -> ( ps <-> ch ) ) $.
    $( Formula-building rule for "at most one" quantifier (deduction rule).
       (Contributed by NM, 8-Mar-1995.) $)
    mobid $p |- ( ph -> ( E* x ps <-> E* x ch ) ) $=
      ( wex weu wi wmo exbid eubid imbi12d df-mo 3bitr4g ) ABDGZBDHZICDGZCDHZIB
      DJCDJAPRQSABCDEFKABCDEFLMBDNCDNO $.
  $}

  ${
    $d x ph $.
    mobidv.1 $e |- ( ph -> ( ps <-> ch ) ) $.
    $( Formula-building rule for "at most one" quantifier (deduction rule).
       (Contributed by Mario Carneiro, 7-Oct-2016.) $)
    mobidv $p |- ( ph -> ( E* x ps <-> E* x ch ) ) $=
      ( nfv mobid ) ABCDADFEG $.
  $}

  ${
    mobii.1 $e |- ( ps <-> ch ) $.
    $( Formula-building rule for "at most one" quantifier (inference rule).
       (Contributed by NM, 9-Mar-1995.)  (Revised by Mario Carneiro,
       17-Oct-2016.) $)
    mobii $p |- ( E* x ps <-> E* x ch ) $=
      ( wmo wb wtru a1i mobidv trud ) ACEBCEFGABCABFGDHIJ $.
  $}

  ${
    cbvmo.1 $e |- F/ y ph $.
    cbvmo.2 $e |- F/ x ps $.
    cbvmo.3 $e |- ( x = y -> ( ph <-> ps ) ) $.
    $( Rule used to change bound variables, using implicit substitution.
       (Contributed by NM, 9-Mar-1995.)  (Revised by Andrew Salmon,
       8-Jun-2011.) $)
    cbvmo $p |- ( E* x ph <-> E* y ps ) $=
      ( wex weu wi wmo cbvex cbveu imbi12i df-mo 3bitr4i ) ACHZACIZJBDHZBDIZJAC
      KBDKQSRTABCDEFGLABCDEFGMNACOBDOP $.
  $}

  ${
    $d x y $.  $d y ph $.
    $( Uniqueness in terms of "at most one."  (Contributed by NM,
       23-Mar-1995.) $)
    eu5 $p |- ( E! x ph <-> ( E. x ph /\ E* x ph ) ) $=
      ( vy weu wex cv wceq wi wal wa wmo nfv eu3 mo2 anbi2i bitr4i ) ABDABEZABF
      CFGHBICEZJQABKZJABCACLZMSRQABCTNOP $.
  $}

  ${
    $d x y $.  $d y ph $.  $d x ps $.
    eu4.1 $e |- ( x = y -> ( ph <-> ps ) ) $.
    $( Uniqueness using implicit substitution.  (Contributed by NM,
       26-Jul-1995.) $)
    eu4 $p |- ( E! x ph <-> ( E. x ph /\
             A. x A. y ( ( ph /\ ps ) -> x = y ) ) ) $=
      ( weu wex wmo wa weq wi wal eu5 mo4 anbi2i bitri ) ACFACGZACHZIQABICDJKDL
      CLZIACMRSQABCDENOP $.
  $}

  $( Existential uniqueness implies "at most one."  (Contributed by NM,
     23-Mar-1995.) $)
  eumo $p |- ( E! x ph -> E* x ph ) $=
    ( weu wex wmo eu5 simprbi ) ABCABDABEABFG $.

  ${
    eumoi.1 $e |- E! x ph $.
    $( "At most one" inferred from existential uniqueness.  (Contributed by NM,
       5-Apr-1995.) $)
    eumoi $p |- E* x ph $=
      ( weu wmo eumo ax-mp ) ABDABECABFG $.
  $}

  $( Existence in terms of "at most one" and uniqueness.  (Contributed by NM,
     5-Apr-2004.) $)
  exmoeu $p |- ( E. x ph <-> ( E* x ph -> E! x ph ) ) $=
    ( wex wmo weu wi df-mo biimpi com12 biimpri euex imim12i peirce syl impbii
    ) ABCZABDZABEZFZQPRQPRFZABGZHISTPFPTQRPQTUAJABKLPRMNO $.

  $( Existence implies "at most one" is equivalent to uniqueness.  (Contributed
     by NM, 5-Apr-2004.) $)
  exmoeu2 $p |- ( E. x ph -> ( E* x ph <-> E! x ph ) ) $=
    ( weu wex wmo eu5 baibr ) ABCABDABEABFG $.

  $( Absorption of existence condition by "at most one."  (Contributed by NM,
     4-Nov-2002.) $)
  moabs $p |- ( E* x ph <-> ( E. x ph -> E* x ph ) ) $=
    ( wex weu wi wmo pm5.4 df-mo imbi2i 3bitr4ri ) ABCZKABDZEZEMKABFZENKLGNMKAB
    HZIOJ $.

  $( Something exists or at most one exists.  (Contributed by NM,
     8-Mar-1995.) $)
  exmo $p |- ( E. x ph \/ E* x ph ) $=
    ( wex wmo wn weu wi pm2.21 df-mo sylibr orri ) ABCZABDZLELABFZGMLNHABIJK $.

  ${
    $d x y $.  $d y ph $.  $d y ps $.
    $( "At most one" is preserved through implication (notice wff reversal).
       (Contributed by NM, 22-Apr-1995.) $)
    moim $p |- ( A. x ( ph -> ps ) -> ( E* x ps -> E* x ph ) ) $=
      ( vy wi wal cv wceq wex wmo imim1 al2imi eximdv nfv mo2 3imtr4g ) ABEZCFZ
      BCGDGHZEZCFZDIASEZCFZDIBCJACJRUAUCDQTUBCABSKLMBCDBDNOACDADNOP $.
  $}

  ${
    immoi.1 $e |- ( ph -> ps ) $.
    $( "At most one" is preserved through implication (notice wff reversal).
       (Contributed by NM, 15-Feb-2006.) $)
    moimi $p |- ( E* x ps -> E* x ph ) $=
      ( wi wmo moim mpg ) ABEBCFACFECABCGDH $.
  $}

  ${
    $d x y $.  $d x y ph $.  $d y ps $.
    $( Move antecedent outside of "at most one."  (Contributed by NM,
       28-Jul-1995.) $)
    morimv $p |- ( E* x ( ph -> ps ) -> ( ph -> E* x ps ) ) $=
      ( vy wi wmo cv wceq wal wex ax-1 a1i imim1d alimdv eximdv nfv mo2 3imtr4g
      com12 ) AABEZCFZBCFZATCGDGHZEZCIZDJBUCEZCIZDJUAUBAUEUGDAUDUFCABTUCBTEABAK
      LMNOTCDTDPQBCDBDPQRS $.
  $}

  $( Uniqueness implies "at most one" through implication.  (Contributed by NM,
     22-Apr-1995.) $)
  euimmo $p |- ( A. x ( ph -> ps ) -> ( E! x ps -> E* x ph ) ) $=
    ( weu wmo wi wal eumo moim syl5 ) BCDBCEABFCGACEBCHABCIJ $.

  $( 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.) $)
  euim $p |- ( ( E. x ph /\ A. x ( ph -> ps ) ) -> ( E! x ps -> E! x ph ) ) $=
    ( wex wi wal wa weu wmo ax-1 euimmo anim12ii eu5 syl6ibr ) ACDZABECFZGBCHZO
    ACIZGACHOQOPROQJABCKLACMN $.

  $( "At most one" is still the case when a conjunct is added.  (Contributed by
     NM, 22-Apr-1995.) $)
  moan $p |- ( E* x ph -> E* x ( ps /\ ph ) ) $=
    ( wa simpr moimi ) BADACBAEF $.

  ${
    moani.1 $e |- E* x ph $.
    $( "At most one" is still true when a conjunct is added.  (Contributed by
       NM, 9-Mar-1995.) $)
    moani $p |- E* x ( ps /\ ph ) $=
      ( wmo wa moan ax-mp ) ACEBAFCEDABCGH $.
  $}

  $( "At most one" is still the case when a disjunct is removed.  (Contributed
     by NM, 5-Apr-2004.) $)
  moor $p |- ( E* x ( ph \/ ps ) -> E* x ph ) $=
    ( wo orc moimi ) AABDCABEF $.

  $( "At most one" imports disjunction to conjunction.  (Contributed by NM,
     5-Apr-2004.)  (Proof shortened by Andrew Salmon, 9-Jul-2011.) $)
  mooran1 $p |- ( ( E* x ph \/ E* x ps ) -> E* x ( ph /\ ps ) ) $=
    ( wmo wa simpl moimi moan jaoi ) ACDABEZCDBCDJACABFGBACHI $.

  $( "At most one" exports disjunction to conjunction.  (Contributed by NM,
     5-Apr-2004.)  (Proof shortened by Andrew Salmon, 9-Jul-2011.) $)
  mooran2 $p |- ( E* x ( ph \/ ps ) -> ( E* x ph /\ E* x ps ) ) $=
    ( wo wmo moor olc moimi jca ) ABDZCEACEBCEABCFBJCBAGHI $.

  ${
    $d x y $.  $d y ph $.  $d y ps $.
    moanim.1 $e |- F/ x ph $.
    $( Introduction of a conjunct into "at most one" quantifier.  (Contributed
       by NM, 3-Dec-2001.) $)
    moanim $p |- ( E* x ( ph /\ ps ) <-> ( ph -> E* x ps ) ) $=
      ( vy wa weq wi wal wex wmo impexp albii 19.21 bitri nfv mo2 imbi2i 19.37v
      exbii bitr4i 3bitr4i ) ABFZCEGZHZCIZEJABUDHZCIZHZEJZUCCKABCKZHZUFUIEUFAUG
      HZCIUIUEUMCABUDLMAUGCDNOTUCCEUCEPQULAUHEJZHUJUKUNABCEBEPQRAUHESUAUB $.

    $( Introduction of a conjunct into uniqueness quantifier.  (Contributed by
       NM, 19-Feb-2005.)  (Proof shortened by Andrew Salmon, 9-Jul-2011.) $)
    euan $p |- ( E! x ( ph /\ ps ) <-> ( ph /\ E! x ps ) ) $=
      ( wa weu wex wmo simpl exlimi adantr simpr eximi nfe1 ancrd impbid2 mobid
      a1d biimpa eu5 jca32 anbi2i 3imtr4i ibar eubid impbii ) ABEZCFZABCFZEZUGC
      GZUGCHZEZABCGZBCHZEZEUHUJUMAUNUOUKAULUGACDABIJZKUKUNULUGBCABLZMKUKULUOUKU
      GBCUGCNUKUGBURUKBAUKABUQROPQSUAUGCTUIUPABCTUBUCAUIUHABUGCDABUDUESUF $.
  $}

  ${
    $d x ph $.
    $( Introduction of a conjunct into "at most one" quantifier.  (Contributed
       by NM, 23-Mar-1995.) $)
    moanimv $p |- ( E* x ( ph /\ ps ) <-> ( ph -> E* x ps ) ) $=
      ( nfv moanim ) ABCACDE $.
  $}

  $( Nested "at most one" and uniqueness quantifiers.  (Contributed by NM,
     25-Jan-2006.) $)
  moaneu $p |- E* x ( ph /\ E! x ph ) $=
    ( weu wa wmo wi eumo nfeu1 moanim mpbir ancom mobii ) AABCZDZBEMADZBEZPMABE
    FABGMABABHIJNOBAMKLJ $.

  $( Nested "at most one" quantifiers.  (Contributed by NM, 25-Jan-2006.) $)
  moanmo $p |- E* x ( ph /\ E* x ph ) $=
    ( wmo wa wi id nfmo1 moanim mpbir ancom mobii ) AABCZDZBCLADZBCZOLLELFLABAB
    GHIMNBALJKI $.

  ${
    $d x ph $.
    $( Introduction of a conjunct into uniqueness quantifier.  (Contributed by
       NM, 23-Mar-1995.) $)
    euanv $p |- ( E! x ( ph /\ ps ) <-> ( ph /\ E! x ps ) ) $=
      ( nfv euan ) ABCACDE $.
  $}

  ${
    $d x y $.  $d y ph $.  $d y ps $.
    $( "At most one" picks a variable value, eliminating an existential
       quantifier.  (Contributed by NM, 27-Jan-1997.) $)
    mopick $p |- ( ( E* x ph /\ E. x ( ph /\ ps ) ) -> ( ph -> ps ) ) $=
      ( vy wa wex wmo wi wsb nfv nfs1v nfan cv wceq sbequ12 anbi12d cbvex sylbi
      wal mo3 sp sps sbequ2 imim2i exp3a com4t imp syl5 exlimiv impcom ) ABEZCF
      ZACGZABHZULACDIZBCDIZEZDFUMUNHZUKUQCDUKDJUOUPCACDKBCDKLCMDMNZAUOBUPACDOBC
      DOPQUQURDUMAUOEZUSHZUQUNUMVADSZCSVAACDADJTVBVACVADUAUBRUOUPVAUNHVAAUOUPBV
      AAUOUPBHZUSVCUTBCDUCUDUEUFUGUHUIRUJ $.
  $}

  $( 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.) $)
  eupick $p |- ( ( E! x ph /\ E. x ( ph /\ ps ) ) -> ( ph -> ps ) ) $=
    ( weu wmo wa wex wi eumo mopick sylan ) ACDACEABFCGABHACIABCJK $.

  $( Version of ~ eupick with closed formulas.  (Contributed by NM,
     6-Sep-2008.) $)
  eupicka $p |- ( ( E! x ph /\ E. x ( ph /\ ps ) ) -> A. x ( ph -> ps ) ) $=
    ( weu wa wex wi nfeu1 nfe1 nfan eupick alrimi ) ACDZABEZCFZEABGCMOCACHNCIJA
    BCKL $.

  $( Existential uniqueness "pick" showing wff equivalence.  (Contributed by
     NM, 25-Nov-1994.) $)
  eupickb $p |- ( ( E! x ph /\ E! x ps /\ E. x ( ph /\ ps ) ) ->
               ( ph <-> ps ) ) $=
    ( weu wa wex w3a wi eupick 3adant2 3simpc pm3.22 eximi anim2i 3syl impbid )
    ACDZBCDZABEZCFZGZABQTABHRABCIJUARTERBAEZCFZEBAHQRTKTUCRSUBCABLMNBACIOP $.

  $( Theorem *14.26 in [WhiteheadRussell] p. 192.  (Contributed by Andrew
     Salmon, 11-Jul-2011.) $)
  eupickbi $p |- ( E! x ph -> ( E. x ( ph /\ ps ) <-> A. x ( ph -> ps ) ) ) $=
    ( weu wa wex wi wal eupicka ex nfa1 wb ancl simpl impbid1 eubid euex syl6bi
    sps com12 impbid ) ACDZABEZCFZABGZCHZUBUDUFABCIJUFUBUDUFUBUCCDUDUFAUCCUECKU
    EAUCLCUEAUCABMABNOSPUCCQRTUA $.

  $( "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 .  (Contributed by NM,
     5-Apr-2004.)  (Proof shortened by Andrew Salmon, 9-Jul-2011.) $)
  mopick2 $p |- ( ( E* x ph /\ E. x ( ph /\ ps ) /\ E. x ( ph /\ ch ) ) ->
                E. x ( ph /\ ps /\ ch ) ) $=
    ( wmo wa wex w3a nfmo1 nfe1 mopick ancld anim1d df-3an syl6ibr eximd 3impia
    nfan ) ADEZABFZDGZACFZDGABCHZDGSUAFZUBUCDSUADADITDJRUDUBTCFUCUDATCUDABABDKL
    MABCNOPQ $.

  $( Introduce or eliminate a disjunct in a uniqueness quantifier.
     (Contributed by NM, 21-Oct-2005.)  (Proof shortened by Andrew Salmon,
     9-Jul-2011.) $)
  euor2 $p |- ( -. E. x ph -> ( E! x ( ph \/ ps ) <-> E! x ps ) ) $=
    ( wex wn wo nfe1 nfn wb 19.8a con3i orel1 olc impbid1 syl eubid ) ACDZEZABF
    ZBCQCACGHRAEZSBIAQACJKTSBABLBAMNOP $.

  ${
    moexex.1 $e |- F/ y ph $.
    $( "At most one" double quantification.  (Contributed by NM,
       3-Dec-2001.) $)
    moexex $p |- ( ( E* x ph /\ A. x E* y ps ) -> E* y E. x ( ph /\ ps ) ) $=
      ( wmo wal wa wex wi nfmo1 nfa1 nfe1 nfmo nfim mopick ex exlimi wn a1d ori
      com3r alrimd moim spsd syl6 nfex exsimpl con3i exmo syl pm2.61i imp ) ACF
      ZBDFZCGZABHZCIZDFZACIZUNUPUSJZJZAVBCUNVACACKUPUSCUOCLURCDUQCMNOOAUNURBJZD
      GZVAAUNVCDEADCENUNURABUNURABJABCPQUBUCVDUOUSCURBDUDUEUFRUTSZVAUNVEUSUPVEU
      RDIZSUSVFUTURUTDADCEUGABCUHRUIVFUSURDUJUAUKTTULUM $.
  $}

  ${
    $d y ph $.
    $( "At most one" double quantification.  (Contributed by NM,
       26-Jan-1997.) $)
    moexexv $p |- ( ( E* x ph /\ A. x E* y ps ) -> E* y E. x ( ph /\ ps ) ) $=
      ( nfv moexex ) ABCDADEF $.
  $}

  $( Double quantification with "at most one."  (Contributed by NM,
     3-Dec-2001.) $)
  2moex $p |- ( E* x E. y ph -> A. y E* x ph ) $=
    ( wex wmo nfe1 nfmo 19.8a moimi alrimi ) ACDZBEABECKCBACFGAKBACHIJ $.

  $( Double quantification with existential uniqueness.  (Contributed by NM,
     3-Dec-2001.)  (Proof shortened by Andrew Salmon, 9-Jul-2011.) $)
  2euex $p |- ( E! x E. y ph -> E. y E! x ph ) $=
    ( wex weu wmo wa eu5 excom nfe1 19.8a moimi df-mo sylib eximd syl5bi impcom
    nfmo wi sylbi ) ACDZBEUABDZUABFZGABEZCDZUABHUCUBUEUBABDZCDUCUEABCIUCUFUDCUA
    CBACJRUCABFUFUDSAUABACKLABMNOPQT $.

  $( Double quantification with existential uniqueness and "at most one."
     (Contributed by NM, 3-Dec-2001.) $)
  2eumo $p |- ( E! x E* y ph -> E* x E! y ph ) $=
    ( weu wmo wi euimmo eumo mpg ) ACDZACEZFKBDJBEFBJKBGACHI $.

  $( Double existential uniqueness.  (Contributed by NM, 3-Dec-2001.) $)
  2eu2ex $p |- ( E! x E! y ph -> E. x E. y ph ) $=
    ( weu wex euex eximi syl ) ACDZBDIBEACEZBEIBFIJBACFGH $.

  $( A condition allowing swap of "at most one" and existential quantifiers.
     (Contributed by NM, 10-Apr-2004.) $)
  2moswap $p |- ( A. x E* y ph -> ( E* x E. y ph -> E* y E. x ph ) ) $=
    ( wmo wal wex wa nfe1 moexex expcom 19.8a pm4.71ri exbii mobii syl6ibr ) AC
    DBEZACFZBDZQAGZBFZCDZABFZCDRPUAQABCACHIJUBTCASBAQACKLMNO $.

  $( A condition allowing swap of uniqueness and existential quantifiers.
     (Contributed by NM, 10-Apr-2004.) $)
  2euswap $p |- ( A. x E* y ph -> ( E! x E. y ph -> E! y E. x ph ) ) $=
    ( wmo wal wex wa weu wi excomim a1i 2moswap anim12d eu5 3imtr4g ) ACDBEZACF
    ZBFZQBDZGABFZCFZTCDZGQBHTCHPRUASUBRUAIPABCJKABCLMQBNTCNO $.

  $( Double existential uniqueness implies double uniqueness quantification.
     (Contributed by NM, 3-Dec-2001.)  (Proof shortened by Mario Carneiro,
     22-Dec-2016.) $)
  2exeu $p |- ( ( E! x E. y ph /\ E! y E. x ph ) -> E! x E! y ph ) $=
    ( wex weu wa wmo eumo euex moimi syl 2euex anim12ci eu5 sylibr ) ACDZBEZABD
    CEZFACEZBDZSBGZFSBEQUARTQPBGUAPBHSPBACIJKACBLMSBNO $.

  ${
    $d x y z w v u $.  $d z w v u ph $.
    $( Two equivalent expressions for double "at most one."  (Contributed by
       NM, 2-Feb-2005.)  (Revised by Mario Carneiro, 17-Oct-2016.) $)
    2mo $p |- ( E. z E. w A. x A. y ( ph -> ( x = z /\ y = w ) ) <->
              A. x A. y A. z A. w ( ( ph /\ [ z / x ] [ w / y ] ph ) ->
                   ( x = z /\ y = w ) ) ) $=
      ( vv vu cv wceq wa wi wal wex nfv albii bitri 2alimi syl sylbir wn imbi2d
      wsb equequ2 bi2anan9 2albidv cbvex2v nfs1v nfim sbequ12 sylan9bbr equequ1
      nfsb imbi12d cbval2 biimpi ancli alcom aaan nfal sylibr prth anim12i an4s
      equtr2 syl6 exlimivv alrot4 pm3.21 alimd com12 alimi exim sylbi alnex nfn
      imim1d notbid pm2.21 19.8a 19.23bi pm2.61d1 impbii ) ABHZDHZIZCHZEHZIZJZK
      ZCLZBLZEMZDMZAACEUBZBDUBZJZWIKZELDLZCLBLZWNAWCFHZIZWFGHZIZJZKZCLZBLZGMFMW
      TXHWLFGDEXAWDIZXCWGIZJZXFWJBCXKXEWIAXIXBWEXJXDWHFDBUCGECUCUDUAUEUFXHWTFGX
      HXFWPWDXAIZWGXCIZJZKZJZELZDLZCLZBLZWTXHXHXOELZDLZJZXTXHYBXHYBXFXOBCDEXFDN
      XFENZWPXNBWOBDUGZXNBNUHZWPXNCWOBDCACEUGULZXNCNUHZWIAWPXEXNWHAWOWEWPACEUIW
      OBDUIUJZWEXBXLWHXDXMBDFUKCEGUKUDUMUNUOUPXTXGYAJZDLZBLYCXSYKBXSXQCLZDLYKXQ
      CDUQYLYJDXFXOCEYDYHUROPOXGYABDXGDNXOBEYFUSURPUTXRWSBCXPWRDEXPWQXEXNJWIAXE
      WPXNVAXBXLXDXMWIXBXLJWEXDXMJWHBDFVDCEGVDVBVCVEQQRVFSWTWPEMZDMZWNWTYMWMKZD
      LZYNWNKWTWRCLZBLZELZDLYPWRBCDEVGYSYODYSWPWLKZELYOYRYTEWPYRWLWPYQWKBYEWPWR
      WJCYGWPAWQWIWPAVHVPVIVIVJVKWPWLEVLRVKVMYMWMDVLRYNTZWPTZELZDLZWNUUDYMTZDLU
      UAUUCUUEDWPEVNOYMDVNPUUDWLWNUUDATZCLBLWLUUFUUBBCDEUUFDNUUFENWPBYEVOWPCYGV
      OWIAWPYIVQUNUUFWJBCAWIVRQSWLWNEWMDVSVTRSWAWB $.
  $}

  ${
    $d z w ph $.  $d x y ps $.  $d x y z w $.
    2mos.1 $e |- ( ( x = z /\ y = w ) -> ( ph <-> ps ) ) $.
    $( Double "exists at most one", using implicit substitution.  (Contributed
       by NM, 10-Feb-2005.) $)
    2mos $p |- ( E. z E. w A. x A. y ( ph -> ( x = z /\ y = w ) ) <->
             A. x A. y A. z A. w ( ( ph /\ ps ) -> ( x = z /\ y = w ) ) ) $=
      ( cv wceq wa wi wal wex wsb 2mo nfv sbrim wb sbie 2albii pm5.74d pm5.74ri
      expcom bitr3i anbi2i imbi1i bitri ) ACHEHIZDHFHIZJZKDLCLFMEMAADFNZCENZJZU
      JKZFLELZDLCLABJZUJKZFLELZDLCLACDEFOUOURCDUNUQEFUMUPUJULBAUKBCEBCPUHUKBUHU
      KKUHAKZDFNUHBKZUHADFUHDPQUSUTDFUTDPUIUHABUHUIABRGUCUASUDUBSUEUFTTUG $.
  $}

  $( Double existential uniqueness.  This theorem shows a condition under which
     a "naive" definition matches the correct one.  (Contributed by NM,
     3-Dec-2001.) $)
  2eu1 $p |- ( A. x E* y ph ->
        ( E! x E! y ph <-> ( E! x E. y ph /\ E! y E. x ph ) ) ) $=
    ( wmo wal weu wex wa wi eu5 exbii mobii anbi12i bitri simprbi anim2i ancoms
    sp sylib com12 moimi nfa1 moanim ancrd 2moswap imdistani syl6 syl excom jca
    2eu2ex jctild an4 syl6ibr 2exeu impbid1 ) ACDZBEZACFZBFZACGZBFZABGZCFZHZUTU
    RVEUTURVABGZVCCGZHZVABDZVCCDZHZHZVEUTURVKVHUTVAUQHZBDZURVKIUTVMBGZVNUTUSBGZ
    USBDZHVOVNHUSBJVPVOVQVNUSVMBACJZKUSVMBVRLMNOVNURVIURHVKVNURVIVNURVAHZBDURVI
    IVSVMBVAURVMURUQVAUQBRPQUAURVABUQBUBUCSUDVIURVJURVIVJABCUETUFUGUHUTVFVGABCU
    KZUTVFVGVTABCUISUJULVEVFVIHZVGVJHZHVLVBWAVDWBVABJVCCJMVFVIVGVJUMNUNTABCUOUP
    $.

  $( Double existential uniqueness.  (Contributed by NM, 3-Dec-2001.) $)
  2eu2 $p |- ( E! y E. x ph -> ( E! x E! y ph <-> E! x E. y ph ) ) $=
    ( wex weu wmo wal wi eumo 2moex 2eu1 simpl syl6bi 3syl 2exeu expcom impbid
    wa ) ABDZCEZACEBEZACDBEZTSCFACFBGZUAUBHSCIACBJUCUAUBTRUBABCKUBTLMNUBTUAABCO
    PQ $.

  $( Double existential uniqueness.  (Contributed by NM, 3-Dec-2001.) $)
  2eu3 $p |- ( A. x A. y ( E* x ph \/ E* y ph ) ->
 ( ( E! x E! y ph /\ E! y E! x ph ) <-> ( E! x E. y ph /\ E! y E. x ph ) ) ) $=
    ( wmo wo wal weu wa wex wb nfmo1 19.31 albii nfal 19.32 bitri wi 2eu1 2exeu
    biimpd ancom syl6ib adantld adantrd jaoi ancoms jca impbid1 sylbi ) ABDZACD
    ZECFZBFZUJCFZUKBFZEZACGBGZABGCGZHZACIBGZABICGZHZJUMUNUKEZBFUPULVCBUJUKCACKL
    MUNUKBUJBCABKNOPUPUSVBUNUSVBQUOUNURVBUQUNURVAUTHZVBUNURVDACBRTVAUTUAUBUCUOU
    QVBURUOUQVBABCRTUDUEVBUQURABCSVAUTURACBSUFUGUHUI $.

  ${
    $d x y z w $.  $d z w ph $.
    $( 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 ~ 2eu1 for a condition under which the naive
       definition holds and ~ 2exeu for a one-way implication.  See ~ 2eu5 and
       ~ 2eu8 for alternate definitions.  (Contributed by NM, 3-Dec-2001.) $)
    2eu4 $p |- ( ( 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 ) ) ) ) $=
      ( wex weu wa cv wceq wi wal nfv eu3 anbi12i anbi2i bitri 19.26 nfa1 albii
      an4 excom anidm 19.3 jcab bitr4i bitr2i alcom 19.23v 2albii 3bitri 2exbii
      nfe1 nfim aaan eeanv ) ACFZBGZABFZCGZHUQBFZUQBIDIJZKZBLZDFZHZUSCFZUSCIEIJ
      ZKZCLZEFZHZHVAVGHZVEVKHZHVAAVBVHHKZCLZBLZEFDFZHURVFUTVLUQBDUQDMNUSCEUSEMN
      OVAVEVGVKUAVMVAVNVRVMVAVAHVAVGVAVAACBUBPVAUCQVRVDVJHZEFDFVNVQVSDEVQAVBKZC
      LZAVHKZBLZHZCLZBLZVCVIHZCLBLVSVQWAWBCLZBLZHZBLZWFWKWABLZWIBLZHZVQWAWIBRWN
      WLWIHZVQWMWIWLWIBWHBSUDPVQWAWHHZBLWOVPWPBVPVTWBHZCLWPVOWQCAVBVHUETVTWBCRQ
      TWAWHBRQUFUGWEWJBWEWACLZWCCLZHWJWAWCCRWRWAWSWIWACVTCSUDWBCBUHOQTUFWDWGBCW
      AVCWCVIAVBCUIAVHBUIOUJVCVIBCUQVBCACUMVBCMUNUSVHBABUMVHBMUNUOUKULVDVJDEUPU
      GOUK $.

    $( An alternate definition of double existential uniqueness (see ~ 2eu4 ).
       A mistake sometimes made in the literature is to use ` E! x E! 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 ` A. x E* y ph ` as an additional condition.  The
       correct definition apparently has never been published.  ( ` E* ` means
       "exists at most one.") (Contributed by NM, 26-Oct-2003.) $)
    2eu5 $p |- ( ( E! x E! y ph /\ A. x E* y ph ) <->
      ( E. x E. y ph /\ E. z E. w A. x A. y ( ph -> ( x = z /\ y = w ) ) ) ) $=
      ( weu wmo wal wa wex weq 2eu1 pm5.32ri eumo adantl 2moex syl pm4.71i 2eu4
      wi 3bitr2i ) ACFBFZACGBHZIACJZBFZABJZCFZIZUCIUHUDBJABDKCEKITCHBHEJDJIUCUB
      UHABCLMUHUCUHUFCGZUCUGUIUEUFCNOACBPQRABCDESUA $.
  $}

  ${
    $d x y z w v u $.  $d z w v u ph $.
    $( Two equivalent expressions for double existential uniqueness.
       (Contributed by NM, 2-Feb-2005.)  (Revised by Mario Carneiro,
       17-Oct-2016.) $)
    2eu6 $p |- ( ( E! x E. y ph /\ E! y E. x ph ) <->
               E. z E. w A. x A. y ( ph <-> ( x = z /\ y = w ) ) ) $=
      ( vu vv wex wa cv wceq wi wal wsb nfv nfsb sbequ12 equequ2 nfim bitri weu
      wb nfs1v sylan9bbr cbvex2 bi2anan9 imbi2d 2albidv cbvex2v equequ1 imbi12d
      2eu4 cbval2 2exbii 19.29r2 syl2anb 2albiim ancom nfan sbco2 sbcom2 bitr3i
      2mo syl6bb anbi2d equcom anbi12i imbi2i impexp 2albii 19.21-2 anbi2i abai
      sbbii bitr4i 2sb6 anbi1i sylibr bi2 2alimi 2eximi 2exsb bi1 jca impbii )
      ACHZBUAABHCUAIWFBHZABJZDJZKZCJZEJZKZIZLZCMBMZEHDHZIZAWNUBZCMBMZEHDHZABCDE
      ULWRXAWRACENZBDNZXCXCEFNZDGNZIZWIGJZKZWLFJZKZIZLZFMGMZIZEHDHZXAWGXCEHDHXM
      EMDMZXOWQAXCBCDEADOAEOZXBBDUCZXBBDCACEUCPZWMAXBWJXCACEQXBBDQUDZUEWQAWHXGK
      ZWKXIKZIZLZCMBMZFHGHZXPWPYEDEGFXKWOYDBCXKWNYCAXHWJYAXJWMYBDGBREFCRUFUGUHU
      IYFXCXKLZEMDMZFHGHXPYEYHGFYDYGBCDEYDDOYDEOXCXKBXRXKBOZSXCXKCXSXKCOZSWNAXC
      YCXKXTWJYAXHWMYBXJBDGUJCEFUJUFUKUMUNXCDEGFVCTTXCXMDEUOUPXAWNALZCMBMZWPIZE
      HDHXOWTYMDEWTWPYLIYMAWNBCUQWPYLURTUNXNYMDEXNXCWPIZYMXNXCXCWPLZIYNXMYOXCXM
      XCWOLZCMBMZYOXMXCAIZWIWHKZWLWKKZIZLZCMBMYQUUBXLBCGFUUBGOUUBFOXFXKBXCXEBXR
      XDDGBXCEFBXRPPUSYISXFXKCXCXECXSXDDGCXCEFCXSPPUSYJSYCYRXFUUAXKYCAXEXCYCAAC
      FNZBGNZXEYBAUUCYAUUDACFQUUCBGQUDUUDXBEFNZBGNZXEUUEUUCBGACFEXQUTVNUUFUUEBD
      NZDGNXEUUEBGDUUEDOUTUUGXDDGXBEFBDVAVNVBVBVDVEYAYSXHYBYTXJBGDRCFERUFUKUMUU
      BYPBCUUBYRWNLYPUUAWNYRYSWJYTWMDBVFECVFVGVHXCAWNVITVJVBXCWOBCXRXSVKTVLXCWP
      VMVOXCYLWPABCDEVPVQTUNVOVRXAWGWQXAYLEHDHWGWTYLDEWSYKBCAWNVSVTWAABCDEWBVRW
      TWPDEWSWOBCAWNWCVTWAWDWET $.
  $}

  $( Two equivalent expressions for double existential uniqueness.
     (Contributed by NM, 19-Feb-2005.) $)
  2eu7 $p |- ( ( E! x E. y ph /\ E! y E. x ph ) <->
             E! x E! y ( E. x ph /\ E. y ph ) ) $=
    ( wex weu wa nfe1 nfeu euan ancom eubii 3bitri 3bitr4ri ) ABDZCEZACDZFZBEOP
    BEZFNPFZCEZBEROFOPBNBCABGHITQBTPNFZCEPOFQSUACNPJKPNCACGIPOJLKROJM $.

  $( Two equivalent expressions for double existential uniqueness.  Curiously,
     we can put ` E! ` on either of the internal conjuncts but not both.  We
     can also commute ` E! x E! y ` using ~ 2eu7 .  (Contributed by NM,
     20-Feb-2005.) $)
  2eu8 $p |- ( E! x E! y ( E. x ph /\ E. y ph ) <->
                E! x E! y ( E! x ph /\ E. y ph ) ) $=
    ( wex wa 2eu2 pm5.32i nfeu1 nfeu euan ancom eubii nfe1 3bitri 3bitr4ri 2eu7
    weu 3bitr3ri ) ACDZBQZABQZCQZEZTABDZCQZEUASEZCQZBQZUDSECQBQTUBUEACBFGUBSEZB
    QUBTEUHUCUBSBUABCABHIJUGUIBUGSUAEZCQSUBEUIUFUJCUASKLSUACACMJSUBKNLTUBKOABCP
    R $.

  ${
    $d x y z $.
    $( Equality has existential uniqueness.  Special case of ~ eueq1 proved
       using only predicate calculus.  (Contributed by Stefan Allan,
       4-Dec-2008.) $)
    euequ1 $p |- E! x x = y $=
      ( vz weq weu wex wa wi wal a9ev equtr2 gen2 equequ1 eu4 mpbir2an ) ABDZAE
      PAFPCBDZGACDHZCIAIABJRACACBKLPQACACBMNO $.
  $}

  ${
    $d x y $.
    $( 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 in set.mm.  (Contributed by NM, 5-Apr-2004.) $)
    exists1 $p |- ( E! x x = x <-> A. x x = y ) $=
      ( cv wceq weu wb wal wex df-eu equid bicom bitri albii exbii nfae 3bitr2i
      tbt 19.9 ) ACZSDZAETSBCDZFZAGZBHUAAGZBHUDTABIUDUCBUAUBAUAUATFUBTUAAJQUATK
      LMNUDBABBORP $.

    $( A condition implying that at least two things exist.  (Contributed by
       NM, 10-Apr-2004.)  (Proof shortened by Andrew Salmon, 9-Jul-2011.) $)
    exists2 $p |- ( ( E. x ph /\ E. x -. ph ) -> -. E! x x = x ) $=
      ( vy wex wn cv wceq weu wal nfeu1 nfa1 wi exists1 ax16 sylbi exlimd com12
      alex syl6ib con2d imp ) ABDZAEBDZBFZUDGZBHZEUBUFUCUBUFABIZUCEUFUBUGUFAUGB
      UEBJABKUFUDCFGBIAUGLBCMABCNOPQABRSTUA $.
  $}

$(
#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#
             Other axiomatizations related to classical predicate calculus
#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#
$)

$(
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
        Predicate calculus with all distinct variables
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
$)

  ${
    $d x y z $.
    $( Distinct variable version of ~ ax-7 .  (Contributed by Mario Carneiro,
       14-Aug-2015.) $)
    ax-7d $a |- ( A. x A. y ph -> A. y A. x ph ) $.

    $( Distinct variable version of ~ ax-8 .  (Contributed by Mario Carneiro,
       14-Aug-2015.) $)
    ax-8d $a |- ( x = y -> ( x = z -> y = z ) ) $.

    $( Distinct variable version of ~ ax9 , equal variables case.  (Contributed
       by Mario Carneiro, 14-Aug-2015.) $)
    ax-9d1 $a |- -. A. x -. x = x $.

    $( Distinct variable version of ~ ax9 , distinct variables case.
       (Contributed by Mario Carneiro, 14-Aug-2015.) $)
    ax-9d2 $a |- -. A. x -. x = y $.

    $( Distinct variable version of ~ ax10 .  (Contributed by Mario Carneiro,
       14-Aug-2015.) $)
    ax-10d $a |- ( A. x x = y -> A. y y = x ) $.

    $( Distinct variable version of ~ ax-11 .  (Contributed by Mario Carneiro,
       14-Aug-2015.) $)
    ax-11d $a |- ( x = y -> ( A. y ph -> A. x ( x = y -> ph ) ) ) $.
  $}

$(
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
               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 ~ mpto1 ) 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 .
  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 , ~ celaront , ~ cesaro , ~ camestros , ~ felapton ,
  ~ darapti , ~ calemos , ~ fesapo , and ~ bamalip .

  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.
$)

  $( Figure 1.  Aristotelian syllogisms are grouped by "figures",
     which doesn't matter for our purposes but is a reasonable way
     to order them. $)

  ${
    $( Major premise for the Aristotelian syllogism "Barbara", e.g.,
       "All men are mortal". By convention, the major premise is first. $)
    barbara.maj $e |- A. x ( ph -> ps ) $.
    $( Minor premise for Barbara, e.g., "Socrates is a man". $)
    barbara.min $e |- A. x ( ch -> ph ) $.
    $( "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 .  (quote after Theorem *2.06 of [WhiteheadRussell] p. 101).  Most
       of the proof is in ~ alsyl .  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.) $)
    barbara $p |- A. x ( ch -> ps ) $=
      ( wi wal alsyl mp2an ) CAGDHABGDHCBGDHFECABDIJ $.
  $}

  ${
    $( Major premise for the Aristotelian syllogism "Celarent", e.g.,
       "No reptiles have fur". $)
    celarent.maj $e |- A. x ( ph -> -. ps ) $.
    $( Minor premise for Celarent, e.g., "All snakes are reptiles". $)
    celarent.min $e |- A. x ( ch -> ph ) $.
    $( "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.) $)
    celarent $p |- A. x ( ch -> -. ps ) $=
      ( wn barbara ) ABGCDEFH $.
  $}

  ${
    $( Major premise for the Aristotelian syllogism "Darii", e.g.,
       "All rabbits have fur". $)
    darii.maj $e |- A. x ( ph -> ps ) $.
    $( Minor premise for Darii, e.g., "Some pets are rabbits." $)
    darii.min $e |- E. x ( ch /\ ph ) $.
    $( "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.) $)
    darii $p |- E. x ( ch /\ ps ) $=
      ( wa wex wi spi anim2i eximi ax-mp ) CAGZDHCBGZDHFNODABCABIDEJKLM $.
  $}

  ${
    $( Major premise for the Aristotelian syllogism "Ferio" ("Ferioque"),
       e.g., "No homework is fun". $)
    ferio.maj $e |- A. x ( ph -> -. ps ) $.
    $( Minor premise for Ferio, e.g., "Some reading is homework." $)
    ferio.min $e |- E. x ( ch /\ ph ) $.
    $( "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.) $)
    ferio $p |- E. x ( ch /\ -. ps ) $=
      ( wn darii ) ABGCDEFH $.
  $}

  ${
    $( Major premise for the Aristotelian syllogism "Barbari", e.g.,
       e.g., "All men are mortal". $)
    barbari.maj $e |- A. x ( ph -> ps ) $.
    $( Minor premise for Barbari, e.g., "All Greeks are men." $)
    barbari.min $e |- A. x ( ch -> ph ) $.
    $( Existence premise for Barbari, e.g., "Greeks exist." $)
    barbari.e $e |- E. x ch $.
    $( "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.) $)
    barbari $p |- E. x ( ch /\ ps ) $=
      ( wex wa wi barbara spi ancli eximi ax-mp ) CDHCBIZDHGCPDCBCBJDABCDEFKLMN
      O $.
  $}

  ${
    $( Major premise for the Aristotelian syllogism "Celaront", e.g.,
       e.g., "No reptiles have fur". $)
    celaront.maj $e |- A. x ( ph -> -. ps ) $.
    $( Minor premise for Celaront, e.g., "All Snakes are reptiles." $)
    celaront.min $e |- A. x ( ch -> ph ) $.
    $( Existence premise for Celaront, e.g., "Snakes exist." $)
    celaront.e $e |- E. x ch $.
    $( "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.) $)
    celaront $p |- E. x ( ch /\ -. ps ) $=
      ( wn barbari ) ABHCDEFGI $.
  $}

  $( Figure 2 $)

  ${
    $( Major premise for the Aristotelian syllogism "Cesare" $)
    cesare.maj $e |- A. x ( ph -> -. ps ) $.
    $( Minor premise for Cesare $)
    cesare.min $e |- A. x ( ch -> ps ) $.
    $( "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 .  (Contributed by David A. Wheeler, 27-Aug-2016.)  (Revised
       by David A. Wheeler, 13-Nov-2016.) $)
    cesare $p |- A. x ( ch -> -. ph ) $=
      ( wn wi spi nsyl3 ax-gen ) CAGHDABCABGHDEICBHDFIJK $.
  $}

  ${
    $( Major premise for the Aristotelian syllogism "Camestres" $)
    camestres.maj $e |- A. x ( ph -> ps ) $.
    $( Minor premise for Camestres $)
    camestres.min $e |- A. x ( ch -> -. ps ) $.
    $( "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.) $)
    camestres $p |- A. x ( ch -> -. ph ) $=
      ( wn wi spi nsyl ax-gen ) CAGHDCBACBGHDFIABHDEIJK $.
  $}

  ${
    $( Major premise for the Aristotelian syllogism "Festino" $)
    festino.maj $e |- A. x ( ph -> -. ps ) $.
    $( Minor premise for Festino $)
    festino.min $e |- E. x ( ch /\ ps ) $.
    $( "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.) $)
    festino $p |- E. x ( ch /\ -. ph ) $=
      ( wa wex wn wi spi con2i anim2i eximi ax-mp ) CBGZDHCAIZGZDHFPRDBQCABABIJ
      DEKLMNO $.
  $}

  ${
    $( Major premise for the Aristotelian syllogism "Baroco" $)
    baroco.maj $e |- A. x ( ph -> ps ) $.
    $( Minor premise for Baroco $)
    baroco.min $e |- E. x ( ch /\ -. ps ) $.
    $( "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.) $)
    baroco $p |- E. x ( ch /\ -. ph ) $=
      ( wn wa wex wi spi con3i anim2i eximi ax-mp ) CBGZHZDICAGZHZDIFQSDPRCABAB
      JDEKLMNO $.
  $}

  ${
    $( Major premise for the Aristotelian syllogism "Cesaro" $)
    cesaro.maj $e |- A. x ( ph -> -. ps ) $.
    $( Minor premise for Cesaro $)
    cesaro.min $e |- A. x ( ch -> ps ) $.
    $( Existence premise for Cesaro $)
    cesaro.e $e |- E. x ch $.
    $( "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.) $)
    cesaro $p |- E. x ( ch /\ -. ph ) $=
      ( wex wn wa wi spi nsyl3 ancli eximi ax-mp ) CDHCAIZJZDHGCRDCQABCABIKDELC
      BKDFLMNOP $.
  $}

  ${
    $( Major premise for the Aristotelian syllogism "Camestros" $)
    camestros.maj $e |- A. x ( ph -> ps ) $.
    $( Minor premise for  $)
    camestros.min $e |- A. x ( ch -> -. ps ) $.
    $( Existence premise for Camestros $)
    camestros.e $e |- E. x ch $.
    $( "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.) $)
    camestros $p |- E. x ( ch /\ -. ph ) $=
      ( wex wn wa wi spi nsyl ancli eximi ax-mp ) CDHCAIZJZDHGCRDCQCBACBIKDFLAB
      KDELMNOP $.
  $}

  $( Figure 3 $)

  ${
    $( Major premise for the Aristotelian syllogism "Datisi" $)
    datisi.maj $e |- A. x ( ph -> ps ) $.
    $( Minor premise for  $)
    datisi.min $e |- E. x ( ph /\ ch ) $.
    $( "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.) $)
    datisi $p |- E. x ( ch /\ ps ) $=
      ( wa wex simpr wi spi adantr jca eximi ax-mp ) ACGZDHCBGZDHFPQDPCBACIABCA
      BJDEKLMNO $.
  $}

  ${
    $( Major premise for the Aristotelian syllogism "Disamis" $)
    disamis.maj $e |- E. x ( ph /\ ps ) $.
    $( Minor premise for  $)
    disamis.min $e |- A. x ( ph -> ch ) $.
    $( "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.) $)
    disamis $p |- E. x ( ch /\ ps ) $=
      ( wa wex wi spi anim1i eximi ax-mp ) ABGZDHCBGZDHENODACBACIDFJKLM $.
  $}

  ${
    $( Major premise for the Aristotelian syllogism "Ferison" $)
    ferison.maj $e |- A. x ( ph -> -. ps ) $.
    $( Minor premise for  $)
    ferison.min $e |- E. x ( ph /\ ch ) $.
    $( "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.) $)
    ferison $p |- E. x ( ch /\ -. ps ) $=
      ( wn datisi ) ABGCDEFH $.
  $}

  ${
    $( Major premise for the Aristotelian syllogism "Bocardo" $)
    bocardo.maj $e |- E. x ( ph /\ -. ps ) $.
    $( Minor premise for  $)
    bocardo.min $e |- A. x ( ph -> ch ) $.
    $( "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 ; prefer
       using that instead.  (Contributed by David A. Wheeler, 28-Aug-2016.)
       (New usage is discouraged.) $)
    bocardo $p |- E. x ( ch /\ -. ps ) $=
      ( wn disamis ) ABGCDEFH $.
  $}

  ${
    $( Major premise for the Aristotelian syllogism "Felapton" $)
    felapton.maj $e |- A. x ( ph -> -. ps ) $.
    $( Minor premise for  $)
    felapton.min $e |- A. x ( ph -> ch ) $.
    $( Existence premise for Felapton $)
    felapton.e $e |- E. x ph $.
    $( "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.) $)
    felapton $p |- E. x ( ch /\ -. ps ) $=
      ( wex wn wa wi spi jca eximi ax-mp ) ADHCBIZJZDHGAQDACPACKDFLAPKDELMNO $.
  $}

  ${
    $( Major premise for the Aristotelian syllogism "Darapti" $)
    darapti.maj $e |- A. x ( ph -> ps ) $.
    $( Minor premise for  $)
    darapti.min $e |- A. x ( ph -> ch ) $.
    $( Existence premise for Darapti $)
    darapti.e $e |- E. x ph $.
    $( "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.) $)
    darapti $p |- E. x ( ch /\ ps ) $=
      ( wex wa wi spi jca eximi ax-mp ) ADHCBIZDHGAODACBACJDFKABJDEKLMN $.
  $}

  $( Figure 4 $)

  ${
    $( Major premise for the Aristotelian syllogism "Calemes" $)
    calemes.maj $e |- A. x ( ph -> ps ) $.
    $( Minor premise for  $)
    calemes.min $e |- A. x ( ps -> -. ch ) $.
    $( "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.) $)
    calemes $p |- A. x ( ch -> -. ph ) $=
      ( wn wi spi con2i nsyl ax-gen ) CAGHDCBABCBCGHDFIJABHDEIKL $.
  $}

  ${
    $( Major premise for the Aristotelian syllogism "Dimatis" $)
    dimatis.maj $e |- E. x ( ph /\ ps ) $.
    $( Minor premise for  $)
    dimatis.min $e |- A. x ( ps -> ch ) $.
    $( "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 with positions
       interchanged.  (Contributed by David A. Wheeler, 28-Aug-2016.) $)
    dimatis $p |- E. x ( ch /\ ph ) $=
      ( wa wex wi spi adantl simpl jca eximi ax-mp ) ABGZDHCAGZDHEPQDPCABCABCID
      FJKABLMNO $.
  $}

  ${
    $( Major premise for the Aristotelian syllogism "Fresison" $)
    fresison.maj $e |- A. x ( ph -> -. ps ) $.
    $( Minor premise for  $)
    fresison.min $e |- E. x ( ps /\ ch ) $.
    $( "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.) $)
    fresison $p |- E. x ( ch /\ -. ph ) $=
      ( wa wex wn simpr wi spi con2i adantr jca eximi ax-mp ) BCGZDHCAIZGZDHFRT
      DRCSBCJBSCABABIKDELMNOPQ $.
  $}

  ${
    $( Major premise for the Aristotelian syllogism "Calemos" $)
    calemos.maj $e |- A. x ( ph -> ps ) $.
    $( Minor premise for  $)
    calemos.min $e |- A. x ( ps -> -. ch ) $.
    $( Existence premise for Calemos $)
    calemos.e $e |- E. x ch $.
    $( "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.) $)
    calemos $p |- E. x ( ch /\ -. ph ) $=
      ( wex wn wa wi spi con2i nsyl ancli eximi ax-mp ) CDHCAIZJZDHGCSDCRCBABCB
      CIKDFLMABKDELNOPQ $.
  $}

  ${
    $( Major premise for the Aristotelian syllogism "Fesapo" $)
    fesapo.maj $e |- A. x ( ph -> -. ps ) $.
    $( Minor premise for  $)
    fesapo.min $e |- A. x ( ps -> ch ) $.
    $( Existence premise for Fesapo $)
    fesapo.e $e |- E. x ps $.
    $( "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.) $)
    fesapo $p |- E. x ( ch /\ -. ph ) $=
      ( wex wn wa wi spi con2i jca eximi ax-mp ) BDHCAIZJZDHGBRDBCQBCKDFLABABIK
      DELMNOP $.
  $}

  ${
    $( Major premise for the Aristotelian syllogism "Bamalip" $)
    bamalip.maj $e |- A. x ( ph -> ps ) $.
    $( Minor premise for  $)
    bamalip.min $e |- A. x ( ps -> ch ) $.
    $( Existence premise for Bamalip $)
    bamalip.e $e |- E. x ph $.
    $( "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 .  (Contributed by David A. Wheeler,
       28-Aug-2016.) $)
    bamalip $p |- E. x ( ch /\ ph ) $=
      ( wex wa wi spi syl ancri eximi ax-mp ) ADHCAIZDHGAPDACABCABJDEKBCJDFKLMN
      O $.
  $}

$(
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
               Intuitionistic logic
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=

Intuitionistic (constructive) logic is similar to classical logic
with the notable omission of ~ ax-3 and theorems such as ~ exmid or
~ peirce . We mostly treat intuitionistic logic in a separate file, iset.mm,
which is known as the Intuitionistic Logic Explorer on the web site. However,
iset.mm has a number of additional axioms (mainly to replace definitions like
~ df-or and ~ df-ex which are not valid in intitionistic logic) and we want
to prove those axioms here to demonstrate that adding those axioms in iset.mm
does not make iset.mm any less consistent than set.mm.

$)

  $( Specialization (intuitionistic logic axiom ax-4).  This is just ~ sp by
     another name.  (Contributed by Jim Kingdon, 31-Dec-2017.) $)
  axi4 $p |- ( A. x ph -> ph ) $=
    ( sp ) ABC $.

  $( Converse of ax-5o (intuitionistic logic axiom ax-i5r).  (Contributed by
     Jim Kingdon, 31-Dec-2017.) $)
  axi5r $p |- ( ( A. x ph -> A. x ps ) -> A. x ( A. x ph -> ps ) ) $=
    ( wal wi hba1 hbim sp imim2i alimi syl ) ACDZBCDZEZNCDLBEZCDLMCACFBCFGNOCMB
    LBCHIJK $.

  $( ` x ` is not free in ` A. x ph ` (intuitionistic logic axiom ax-ial).
     (Contributed by Jim Kingdon, 31-Dec-2017.) $)
  axial $p |- ( A. x ph -> A. x A. x ph ) $=
    ( hba1 ) ABC $.

  $( ` x ` is bound in ` E. x ph ` (intuitionistic logic axiom ax-ie1).
     (Contributed by Jim Kingdon, 31-Dec-2017.) $)
  axie1 $p |- ( E. x ph -> A. x E. x ph ) $=
    ( hbe1 ) ABC $.

  $( A key property of existential quantification (intuitionistic logic axiom
     ax-ie2).  (Contributed by Jim Kingdon, 31-Dec-2017.) $)
  axie2 $p |- ( A. x ( ps -> A. x ps ) ->
              ( A. x ( ph -> ps ) <-> ( E. x ph -> ps ) ) ) $=
    ( wal wi wnf wex wb df-nf 19.23t sylbir ) BBCDECDBCFABECDACGBEHBCIABCJK $.

  $( Axiom of existence (intuitionistic logic axiom ax-i9).  In classical
     logic, this is equivalent to ~ ax-9 but in intuitionistic logic it needs
     to be stated using the existential quantifier.  (Contributed by Jim
     Kingdon, 31-Dec-2017.) $)
  axi9 $p |- E. x x = y $=
    ( a9e ) ABC $.

  $( Axiom of Quantifier Substitution (intuitionistic logic axiom ax-10).  This
     is just ~ ax10 by another name.  (Contributed by Jim Kingdon,
     31-Dec-2017.) $)
  axi10 $p |- ( A. x x = y -> A. y y = x ) $=
    ( ax10 ) ABC $.

  $( Axiom of Variable Substitution for Existence (intuitionistic logic axiom
     ax-i11e).  This can be derived from ~ ax-11 in a classical context but a
     separate axiom is needed for intuitionistic predicate calculus.
     (Contributed by Jim Kingdon, 31-Dec-2017.) $)
  axi11e $p |- ( x = y -> ( E. x ( x = y /\ ph ) -> E. y ph ) ) $=
    ( weq wex wa wn wal wi ax-11 alnex alinexa 3imtr3g con4d ) BCDZACEZOAFBEZOA
    GZCHORIBHPGQGRBCJACKOABLMN $.

  $( Axiom of Quantifier Introduction (intuitionistic logic axiom ax-i12).

     In classical logic, this is mostly a restatement of ~ ax12o (with one
     additional quantifier).  But in intuitionistic logic, changing the
     negations and implications to disjunctions makes it stronger.

     (Contributed by Jim Kingdon, 31-Dec-2017.) $)
  axi12 $p |- ( A. z z = x \/ ( A. z z = y \/
                A. z ( x = y -> A. z x = y ) ) ) $=
    ( cv wceq wal wo wi wn ax12o df-or imbi2i mpbir orass ax-gen nfa1 nfor mpbi
    19.32 ) CDZADZEZCFZTBDZEZCFZGZUAUDEZUHCFHZCFZGZUCUFUJGGUGUIGZCFUKULCULUCUFU
    IGZGZUNUCIZUMHZUPUOUFIUIHZHABCJUMUQUOUFUIKLMUCUMKMUCUFUINMOUGUICUCUFCUBCPUE
    CPQSRUCUFUJNR $.

$( End $[ set-pred.mm $] $)


$(
###############################################################################
                NEW FOUNDATIONS (NF) SET THEORY
###############################################################################

Here we introduce New Foundations set theory.
We first introduce the axiom of extensionality in ~ ax-ext .
We later add set construction axioms from
Hailperin, such as ~ ax-nin ,
that are designed to implement the
Stratification Axiom from Quine.

We then introduce ordered pairs, relationships, and functions.
Note that the definition of an ordered pair (in ~ df-op ) is different
than the Kuratowski ordered pair definition (in ~ df-opk )
typically used in ZFC, because the Kuratowski definition is not type-level.

We conclude with orderings.
$)


$(
#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#
             NF Set Theory - start with the Axiom of Extensionality
#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#
$)

$(
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
        Introduce the Axiom of Extensionality
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
$)

  ${
    $d x y z $.
    $( 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
       ` 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 through ~ ax-16 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 ( ` <-> ` , ` E. ` , etc.) for convenience.  However, it is
       implicitly understood that the actual axioms use only the primitive
       connectives ` -> ` , ` -. ` , ` A. ` , ` = ` , and ` e. ` .  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 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 ZFC Replacement ax-rep in set.mm, which involves a
       wff metavariable).  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 scheme exactly logically equivalent to
       each other and in particular to the actual axiom of the textbook
       version.  (Contributed by NM, 5-Aug-1993.) $)
    ax-ext $a |- ( A. z ( z e. x <-> z e. y ) -> x = y ) $.

    $( The Axiom of Extensionality ( ~ ax-ext ) 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.
       (Contributed by NM, 28-Sep-2003.) $)
    axext2 $p |- E. z ( ( z e. x <-> z e. y ) -> x = y ) $=
      ( cv wcel wb wceq wi wex wal ax-ext 19.36v mpbir ) CDZADZENBDZEFZOPGZHCIQ
      CJRHABCKQRCLM $.
  $}

  ${
    $d z x w $.  $d z y w $.
    $( 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.) $)
    axext3 $p |- ( A. z ( z e. x <-> z e. y ) -> x = y ) $=
      ( vw cv wcel wb wal wi elequ2 bibi1d albidv equequ1 imbi12d ax-ext chvarv
      wceq ) CEZDEZFZRBEZFZGZCHZSUAQZIRAEZFZUBGZCHZUFUAQZIDASUFQZUDUIUEUJUKUCUH
      CUKTUGUBDACJKLDABMNDBCOP $.

    $( 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 and ~ df-cleq .  (Contributed by NM,
       14-Nov-2008.) $)
    axext4 $p |- ( x = y <-> A. z ( z e. x <-> z e. y ) ) $=
      ( cv wceq wcel wb wal elequ2 alrimiv axext3 impbii ) ADZBDZEZCDZMFPNFGZCH
      OQCABCIJABCKL $.
  $}

  ${
    $d x y z $.  $d ph z $.
    bm1.1.1 $e |- F/ x ph $.
    $( 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.) $)
    bm1.1 $p |- ( E. x A. y ( y e. x <-> ph ) ->
                  E! x A. y ( y e. x <-> ph ) ) $=
      ( vz cv wcel wb wal wex wsb wa wceq wi weu nfv nfbi nfal elequ2 bibi1d
      albidv sbie 19.26 biantr alimi ax-ext syl sylbir sylan2b gen2 jctr sylibr
      eu2 ) CFZBFZGZAHZCIZBJZUSURURBEKZLUOEFZMZNZEIBIZLURBOUSVDVCBEUTURUNVAGZAH
      ZCIZVBURVGBEVFBCVEABVEBPDQRVBUQVFCVBUPVEABECSTUAUBURVGLUQVFLZCIZVBUQVFCUC
      VIUPVEHZCIVBVHVJCUPAVEUDUEBECUFUGUHUIUJUKURBEUREPUMUL $.
  $}


$(
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
                   Class abstractions (a.k.a. class builders)
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
$)

  $( Declare new constants use in class definition. $)
  $c { $. $( Left brace $)
  $c | $.  $( Vertical bar $)
  $c } $. $( Right brace $)
  $( --- Start of old code before overloading prevention patch. $)
  $(
  @c class @. @( Class variable type @)
  $)
  $( --- End of old code before overloading prevention patch. $)

  $( Declare symbols as variables $)
  $v ./\ $.
  $v .\/ $.
  $v .<_ $.
  $v .< $.
  $v .+ $.
  $v .- $.
  $v .X. $.
  $v ./ $.
  $v .^ $.
  $v .0. $.
  $v .1. $.
  $v .|| $.
  $v .~ $.
  $v ._|_ $.
  $v .+^ $.
  $v .+b $.
  $v .(+) $.
  $v .* $.
  $v .x. $.
  $v .xb $.
  $v ., $.
  $v .(x) $.
  $v .0b $.

  $( Declare variable symbols that will be used to represent classes.  Note
     that later on ` R ` , ` S ` , ` F ` and ` G ` denote relations and
     functions, but these letters serve as mnemonics only and in fact behave
     no differently from the variables ` A ` through ` D ` . $)
  $v A $.
  $v B $.
  $v C $.
  $v D $.
  $v P $.
  $v Q $.
  $v R $.
  $v S $.
  $v T $.
  $v U $.

  $( 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 (implicitly in the case of defined
     class terms such as ~ df-nul ).  Note that a setvar variable can be
     expressed as a class builder per theorem ~ cvjust , justifying the
     assignment of setvar variables to class variables via the use of ~ cv . $)
  cab $a class { x | ph } $.

  $( --- Start of old code before overloading prevention patch. $)
  $(
  @( A setvar variable is a class expression.  The syntax " ` class x ` " can
     be viewed as an abbreviation for " ` class { y | y e. x } ` " (a special
     case of ~ cab ), where ` y ` is distinct from ` x ` .  See the discussion
     under the definition of class in [Jech] p. 4.  Note that
     ` { y | y e. x } = x ` by ~ cvjust . @)
  cv @a class x @.
  $)
  $( --- End of old code before overloading prevention patch. $)
  $( $j primitive 'cv' 'wceq' 'wcel' 'cab'; $)

  $( Let ` A ` be a class variable. $)
  cA $f class A $.
  $( Let ` B ` be a class variable. $)
  cB $f class B $.
  $( Let ` C ` be a class variable. $)
  cC $f class C $.

  $( Define a connective symbol for use as a class variable. $)
  c.pa $f class .|| $.

  $( Let ` D ` be a class variable. $)
  cD $f class D $.

  $( Define a connective symbol for use as a class variable. $)
  c.dv $f class ./ $.

  $( Let ` P ` be a class variable. $)
  cP $f class P $.

  $( Define a connective symbol for use as a class variable. $)
  c.pl $f class .+ $.

  $( Define a connective symbol for use as a class variable. $)
  c.pd $f class .+^ $.

  $( Define a connective symbol for use as a class variable. $)
  c.pb $f class .+b $.

  $( Define a connective symbol for use as a class variable. $)
  c.po $f class .(+) $.

  $( Let ` Q ` be a class variable. $)
  cQ $f class Q $.

  $( Define a connective symbol for use as a class variable. $)
  c.sm $f class .~ $.

  $( Let ` R ` be a class variable. $)
  cR $f class R $.
  $( Let ` S ` be a class variable. $)
  cS $f class S $.

  $( Define a connective symbol for use as a class variable. $)
  c.lt $f class .< $.

  $( Define a connective symbol for use as a class variable. $)
  c.xb $f class .xb $.

  $( Let ` T ` be a class variable. $)
  cT $f class T $.

  $( Define a connective symbol for use as a class variable. $)
  c.x $f class .x. $.

  $( Define a connective symbol for use as a class variable. $)
  c.xp $f class .X. $.

  $( Define a connective symbol for use as a class variable. $)
  c.xo $f class .(x) $.

  $( Let ` U ` be a class variable. $)
  cU $f class U $.

  $( Define a connective symbol for use as a class variable. $)
  c.1 $f class .1. $.

  $v e $.
  $v f $.
  $v g $.
  $v h $.
  $v i $.
  $v j $.
  $v k $.
  $v m $.
  $v n $.
  $v o $.
  $v E $.
  $v F $.
  $v G $.
  $v H $.
  $v I $.
  $v J $.
  $v K $.
  $v L $.
  $v M $.
  $v N $.
  $v V $.
  $v W $.
  $v X $.
  $v Y $.
  $v Z $.
  $v O $.
  $v s $.
  $v r $.
  $v q $.
  $v p $.
  $v a $.
  $v b $.
  $v c $.
  $v d $.
  $v l $.

  $( Let ` e ` be an individual variable. $)
  ve $f setvar e $.
  $( Let ` f ` be an individual variable. $)
  vf $f setvar f $.
  $( Let ` g ` be an individual variable. $)
  vg $f setvar g $.
  $( Let ` h ` be an individual variable. $)
  vh $f setvar h $.
  $( Let ` i ` be an individual variable. $)
  vi $f setvar i $.
  $( Let ` j ` be an individual variable. $)
  vj $f setvar j $.
  $( Let ` k ` be an individual variable. $)
  vk $f setvar k $.
  $( Let ` m ` be an individual variable. $)
  vm $f setvar m $.
  $( Let ` n ` be an individual variable. $)
  vn $f setvar n $.
  $( Let ` o ` be an individual variable. $)
  vo $f setvar o $.
  $( Let ` E ` be a class variable. $)
  cE $f class E $.

  $( Define a connective symbol for use as a class variable. $)
  c.ex $f class .^ $.

  $( Let ` F ` be a class variable. $)
  cF $f class F $.
  $( Let ` G ` be a class variable. $)
  cG $f class G $.
  $( Let ` H ` be a class variable. $)
  cH $f class H $.

  $( Define a connective symbol for use as a class variable. $)
  c.xi $f class ., $.

  $( Let ` I ` be a class variable. $)
  cI $f class I $.

  $( Define a connective symbol for use as a class variable. $)
  c.as $f class .* $.

  $( Let ` J ` be a class variable. $)
  cJ $f class J $.

  $( Define a connective symbol for use as a class variable. $)
  c.or $f class .\/ $.

  $( Let ` K ` be a class variable. $)
  cK $f class K $.
  $( Let ` L ` be a class variable. $)
  cL $f class L $.

  $( Define a connective symbol for use as a class variable. $)
  c.le $f class .<_ $.

  $( Let ` M ` be a class variable. $)
  cM $f class M $.

  $( Define a connective symbol for use as a class variable. $)
  c.an $f class ./\ $.

  $( Define a connective symbol for use as a class variable. $)
  c.mi $f class .- $.

  $( Let ` N ` be a class variable. $)
  cN $f class N $.

  $( Define a connective symbol for use as a class variable. $)
  c.pe $f class ._|_ $.

  $( Let ` O ` be a class variable. $)
  cO $f class O $.
  $( Let ` V ` be a class variable. $)
  cV $f class V $.
  $( Let ` W ` be a class variable. $)
  cW $f class W $.
  $( Let ` X ` be a class variable. $)
  cX $f class X $.
  $( Let ` Y ` be a class variable. $)
  cY $f class Y $.

  $( Define a connective symbol for use as a class variable. $)
  c.0 $f class .0. $.

  $( Define a connective symbol for use as a class variable. $)
  c.0b $f class .0b $.

  $( Let ` Z ` be a class variable. $)
  cZ $f class Z $.
  $( Let ` s ` be an individual variable. $)
  vs $f setvar s $.
  $( Let ` r ` be an individual variable. $)
  vr $f setvar r $.
  $( Let ` q ` be an individual variable. $)
  vq $f setvar q $.
  $( Let ` p ` be an individual variable. $)
  vp $f setvar p $.
  $( Let ` a ` be an individual variable. $)
  va $f setvar a $.
  $( Let ` b ` be an individual variable. $)
  vb $f setvar b $.
  $( Let ` c ` be an individual variable. $)
  vc $f setvar c $.
  $( Let ` d ` be an individual variable. $)
  vd $f setvar d $.
  $( Let ` l ` be an individual variable. $)
  vl $f setvar l $.

  $( --- Start of old code before overloading prevention patch. $)
  $(
  @( Extend wff definition to include class equality. @)
  wceq @a wff A = B @.
  $)
  $( --- End of old code before overloading prevention patch. $)

  $( --- Start of old code before overloading prevention patch. $)
  $(
  @( Extend wff definition to include the membership connective between
     classes. @)
  wcel @a wff A e. B @.
  $)
  $( --- End of old code before overloading prevention patch. $)

  $( 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 , which extends or "overloads" the
     ~ wel definition connecting setvar variables, requires that both sides of
     ` e. ` be a class.  In ~ df-cleq and ~ df-clel , 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 allows us to substitute
     a setvar variable ` x ` for a class variable: all sets are classes by
     ~ cvjust (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 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 done with theorems such as ~ vtoclg which is used, for
     example, to convert elirrv in set.mm to elirr in set.mm.

     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.) $)
  df-clab $a |- ( x e. { y | ph } <-> [ x / y ] ph ) $.

  $( Simplification of class abstraction notation when the free and bound
     variables are identical.  (Contributed by NM, 5-Aug-1993.) $)
  abid $p |- ( x e. { x | ph } <-> ph ) $=
    ( cv cab wcel wsb df-clab sbid bitri ) BCABDEABBFAABBGABHI $.

  ${
    $d x y $.
    $( Bound-variable hypothesis builder for a class abstraction.  (Contributed
       by NM, 5-Aug-1993.) $)
    hbab1 $p |- ( y e. { x | ph } -> A. x y e. { x | ph } ) $=
      ( cv cab wcel wsb df-clab hbs1 hbxfrbi ) CDABEFABCGBACBHABCIJ $.

    $( Bound-variable hypothesis builder for a class abstraction.  (Contributed
       by Mario Carneiro, 11-Aug-2016.) $)
    nfsab1 $p |- F/ x y e. { x | ph } $=
      ( cv cab wcel hbab1 nfi ) CDABEFBABCGH $.
  $}

  ${
    $d x z $.
    hbab.1 $e |- ( ph -> A. x ph ) $.
    $( Bound-variable hypothesis builder for a class abstraction.  (Contributed
       by NM, 1-Mar-1995.) $)
    hbab $p |- ( z e. { y | ph } -> A. x z e. { y | ph } ) $=
      ( cv cab wcel wsb df-clab hbsb hbxfrbi ) DFACGHACDIBADCJACDBEKL $.
  $}

  ${
    $d x z $.
    nfsab.1 $e |- F/ x ph $.
    $( Bound-variable hypothesis builder for a class abstraction.  (Contributed
       by Mario Carneiro, 11-Aug-2016.) $)
    nfsab $p |- F/ x z e. { y | ph } $=
      ( cv cab wcel nfri hbab nfi ) DFACGHBABCDABEIJK $.
  $}

  ${
    $d x A $.  $d x B $.  $d x y z $.
    df-cleq.1 $e |- ( A. x ( x e. y <-> x e. z ) -> y = z ) $.
    $( 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 ).  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 , ~ df-clel , and ~ abeq2 .

       In the form of ~ dfcleq , 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.) $)
    df-cleq $a |- ( A = B <-> A. x ( x e. A <-> x e. B ) ) $.
  $}

  ${
    $d x A $.  $d x B $.  $d x y z $.
    $( The same as ~ df-cleq with the hypothesis removed using the Axiom of
       Extensionality ~ ax-ext .  (Contributed by NM, 15-Sep-1993.) $)
    dfcleq $p |- ( A = B <-> A. x ( x e. A <-> x e. B ) ) $=
      ( vy vz ax-ext df-cleq ) ADEBCDEAFG $.
  $}

  ${
    $d x y z $.
    $( Every setvar 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 , which allows us to substitute a setvar variable for
       a class variable.  See also ~ cab and ~ df-clab .  Note that this is not
       a rigorous justification, because ~ cv 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.) $)
    cvjust $p |- x = { y | y e. x } $=
      ( vz cv wcel cab wceq wb dfcleq wsb df-clab elsb3 bitr2i mpgbir ) ADZBDOE
      ZBFZGCDZOEZRQEZHCCOQITPBCJSPCBKCBALMN $.
  $}

  ${
    $d x A $.  $d x B $.
    $( 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 it extends or "overloads" the
       use of the existing membership symbol, but unlike ~ df-cleq it does not
       strengthen the set of valid wffs of logic when the class variables are
       replaced with setvar variables (see ~ cleljust ), so we don't include
       any set theory axiom as a hypothesis.  See also comments about the
       syntax under ~ df-clab .  Alternate definitions of ` A e. B ` (but that
       require either ` A ` or ` B ` to be a set) are shown by ~ clel2 ,
       ~ clel3 , and ~ clel4 .

       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.) $)
    df-clel $a |- ( A e. B <-> E. x ( x = A /\ x e. B ) ) $.
  $}

  ${
    $d x A $.  $d x B $.
    eqriv.1 $e |- ( x e. A <-> x e. B ) $.
    $( Infer equality of classes from equivalence of membership.  (Contributed
       by NM, 5-Aug-1993.) $)
    eqriv $p |- A = B $=
      ( wceq cv wcel wb dfcleq mpgbir ) BCEAFZBGKCGHAABCIDJ $.
  $}

  ${
    $d x A $.  $d x B $.  $d x ph $.
    eqrdv.1 $e |- ( ph -> ( x e. A <-> x e. B ) ) $.
    $( Deduce equality of classes from equivalence of membership.  (Contributed
       by NM, 17-Mar-1996.) $)
    eqrdv $p |- ( ph -> A = B ) $=
      ( cv wcel wb wal wceq alrimiv dfcleq sylibr ) ABFZCGNDGHZBICDJAOBEKBCDLM
      $.
  $}

  ${
    $d x A $.  $d x B $.  $d x ph $.
    eqrdav.1 $e |- ( ( ph /\ x e. A ) -> x e. C ) $.
    eqrdav.2 $e |- ( ( ph /\ x e. B ) -> x e. C ) $.
    eqrdav.3 $e |- ( ( ph /\ x e. C ) -> ( x e. A <-> x e. B ) ) $.
    $( Deduce equality of classes from an equivalence of membership that
       depends on the membership variable.  (Contributed by NM, 7-Nov-2008.) $)
    eqrdav $p |- ( ph -> A = B ) $=
      ( cv wcel wa biimpd impancom mpd wi exbiri com23 imp impbida eqrdv ) ABCD
      ABIZCJZUADJZAUBKUAEJZUCFAUDUBUCAUDKUBUCHLMNAUCKUDUBGAUCUDUBOAUDUCUBAUDUBU
      CHPQRNST $.
  $}

  ${
    $d x A $.
    $( 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:  "Therefore, inquiring why a thing is itself,
       it's inquiring nothing; ... saying that the thing is itself constitutes
       the sole reasoning and the sole cause, in every case, to the question of
       why the man is man or the musician musician.").  (Thanks to Stefan Allan
       and Beno&icirc;t Jubin for this information.)  (Contributed by NM,
       5-Aug-1993.)  (Revised by Beno&icirc;t Jubin, 14-Oct-2017.) $)
    eqid $p |- A = A $=
      ( vx cv wcel biid eqriv ) BAABCADEF $.
  $}

  $( Class identity law with antecedent.  (Contributed by NM, 21-Aug-2008.) $)
  eqidd $p |- ( ph -> A = A ) $=
    ( wceq eqid a1i ) BBCABDE $.

  ${
    $d x A $.  $d x B $.
    $( Commutative law for class equality.  Theorem 6.5 of [Quine] p. 41.
       (Contributed by NM, 5-Aug-1993.) $)
    eqcom $p |- ( A = B <-> B = A ) $=
      ( vx cv wcel wb wal wceq bicom albii dfcleq 3bitr4i ) CDZAEZMBEZFZCGONFZC
      GABHBAHPQCNOIJCABKCBAKL $.
  $}

  ${
    eqcoms.1 $e |- ( A = B -> ph ) $.
    $( Inference applying commutative law for class equality to an antecedent.
       (Contributed by NM, 5-Aug-1993.) $)
    eqcoms $p |- ( B = A -> ph ) $=
      ( wceq eqcom sylbi ) CBEBCEACBFDG $.
  $}

  ${
    eqcomi.1 $e |- A = B $.
    $( Inference from commutative law for class equality.  (Contributed by NM,
       5-Aug-1993.) $)
    eqcomi $p |- B = A $=
      ( wceq eqcom mpbi ) ABDBADCABEF $.
  $}

  ${
    eqcomd.1 $e |- ( ph -> A = B ) $.
    $( Deduction from commutative law for class equality.  (Contributed by NM,
       15-Aug-1994.) $)
    eqcomd $p |- ( ph -> B = A ) $=
      ( wceq eqcom sylib ) ABCECBEDBCFG $.
  $}

  ${
    $d x A $.  $d x B $.  $d x C $.
    $( Equality implies equivalence of equalities.  (Contributed by NM,
       5-Aug-1993.) $)
    eqeq1 $p |- ( A = B -> ( A = C <-> B = C ) ) $=
      ( vx wceq cv wcel wb wal dfcleq biimpi 19.21bi bibi1d albidv 3bitr4g ) AB
      EZDFZAGZQCGZHZDIQBGZSHZDIACEBCEPTUBDPRUASPRUAHZDPUCDIDABJKLMNDACJDBCJO $.
  $}

  ${
    eqeq1i.1 $e |- A = B $.
    $( Inference from equality to equivalence of equalities.  (Contributed by
       NM, 5-Aug-1993.) $)
    eqeq1i $p |- ( A = C <-> B = C ) $=
      ( wceq wb eqeq1 ax-mp ) ABEACEBCEFDABCGH $.
  $}

  ${
    eqeq1d.1 $e |- ( ph -> A = B ) $.
    $( Deduction from equality to equivalence of equalities.  (Contributed by
       NM, 27-Dec-1993.) $)
    eqeq1d $p |- ( ph -> ( A = C <-> B = C ) ) $=
      ( wceq wb eqeq1 syl ) ABCFBDFCDFGEBCDHI $.
  $}

  $( Equality implies equivalence of equalities.  (Contributed by NM,
     5-Aug-1993.) $)
  eqeq2 $p |- ( A = B -> ( C = A <-> C = B ) ) $=
    ( wceq eqeq1 eqcom 3bitr4g ) ABDACDBCDCADCBDABCECAFCBFG $.

  ${
    eqeq2i.1 $e |- A = B $.
    $( Inference from equality to equivalence of equalities.  (Contributed by
       NM, 5-Aug-1993.) $)
    eqeq2i $p |- ( C = A <-> C = B ) $=
      ( wceq wb eqeq2 ax-mp ) ABECAECBEFDABCGH $.
  $}

  ${
    eqeq2d.1 $e |- ( ph -> A = B ) $.
    $( Deduction from equality to equivalence of equalities.  (Contributed by
       NM, 27-Dec-1993.) $)
    eqeq2d $p |- ( ph -> ( C = A <-> C = B ) ) $=
      ( wceq wb eqeq2 syl ) ABCFDBFDCFGEBCDHI $.
  $}

  $( Equality relationship among 4 classes.  (Contributed by NM,
     3-Aug-1994.) $)
  eqeq12 $p |- ( ( A = B /\ C = D ) -> ( A = C <-> B = D ) ) $=
    ( wceq eqeq1 eqeq2 sylan9bb ) ABEACEBCECDEBDEABCFCDBGH $.

  ${
    eqeq12i.1 $e |- A = B $.
    eqeq12i.2 $e |- C = D $.
    $( A useful inference for substituting definitions into an equality.
       (Contributed by NM, 5-Aug-1993.)  (Proof shortened by Andrew Salmon,
       25-May-2011.) $)
    eqeq12i $p |- ( A = C <-> B = D ) $=
      ( wceq wb eqeq12 mp2an ) ABGCDGACGBDGHEFABCDIJ $.

    $( Theorem eqeq12i is the congruence law for equality. $)
    $( $j congruence 'eqeq12i'; $)
  $}

  ${
    eqeq12d.1 $e |- ( ph -> A = B ) $.
    eqeq12d.2 $e |- ( ph -> C = D ) $.
    $( A useful inference for substituting definitions into an equality.
       (Contributed by NM, 5-Aug-1993.)  (Proof shortened by Andrew Salmon,
       25-May-2011.) $)
    eqeq12d $p |- ( ph -> ( A = C <-> B = D ) ) $=
      ( wceq wb eqeq12 syl2anc ) ABCHDEHBDHCEHIFGBCDEJK $.
  $}

  ${
    eqeqan12d.1 $e |- ( ph -> A = B ) $.
    eqeqan12d.2 $e |- ( ps -> C = D ) $.
    $( A useful inference for substituting definitions into an equality.
       (Contributed by NM, 9-Aug-1994.)  (Proof shortened by Andrew Salmon,
       25-May-2011.) $)
    eqeqan12d $p |- ( ( ph /\ ps ) -> ( A = C <-> B = D ) ) $=
      ( wceq wb eqeq12 syl2an ) ACDIEFICEIDFIJBGHCDEFKL $.
  $}

  ${
    eqeqan12rd.1 $e |- ( ph -> A = B ) $.
    eqeqan12rd.2 $e |- ( ps -> C = D ) $.
    $( A useful inference for substituting definitions into an equality.
       (Contributed by NM, 9-Aug-1994.) $)
    eqeqan12rd $p |- ( ( ps /\ ph ) -> ( A = C <-> B = D ) ) $=
      ( wceq wb eqeqan12d ancoms ) ABCEIDFIJABCDEFGHKL $.
  $}

  $( Transitive law for class equality.  Proposition 4.7(3) of [TakeutiZaring]
     p. 13.  (Contributed by NM, 25-Jan-2004.) $)
  eqtr $p |- ( ( A = B /\ B = C ) -> A = C ) $=
    ( wceq eqeq1 biimpar ) ABDACDBCDABCEF $.

  $( A transitive law for class equality.  (Contributed by NM, 20-May-2005.)
     (Proof shortened by Andrew Salmon, 25-May-2011.) $)
  eqtr2 $p |- ( ( A = B /\ A = C ) -> B = C ) $=
    ( wceq eqcom eqtr sylanb ) ABDBADACDBCDABEBACFG $.

  $( A transitive law for class equality.  (Contributed by NM, 20-May-2005.) $)
  eqtr3 $p |- ( ( A = C /\ B = C ) -> A = B ) $=
    ( wceq eqcom eqtr sylan2b ) BCDACDCBDABDBCEACBFG $.

  ${
    eqtri.1 $e |- A = B $.
    eqtri.2 $e |- B = C $.
    $( An equality transitivity inference.  (Contributed by NM, 5-Aug-1993.) $)
    eqtri $p |- A = C $=
      ( wceq eqeq2i mpbi ) ABFACFDBCAEGH $.
  $}

  ${
    eqtr2i.1 $e |- A = B $.
    eqtr2i.2 $e |- B = C $.
    $( An equality transitivity inference.  (Contributed by NM,
       21-Feb-1995.) $)
    eqtr2i $p |- C = A $=
      ( eqtri eqcomi ) ACABCDEFG $.
  $}

  ${
    eqtr3i.1 $e |- A = B $.
    eqtr3i.2 $e |- A = C $.
    $( An equality transitivity inference.  (Contributed by NM, 6-May-1994.) $)
    eqtr3i $p |- B = C $=
      ( eqcomi eqtri ) BACABDFEG $.
  $}

  ${
    eqtr4i.1 $e |- A = B $.
    eqtr4i.2 $e |- C = B $.
    $( An equality transitivity inference.  (Contributed by NM, 5-Aug-1993.) $)
    eqtr4i $p |- A = C $=
      ( eqcomi eqtri ) ABCDCBEFG $.
  $}

  $( Register '=' as an equality for its type (class). $)
  $( $j equality 'wceq' from 'eqid' 'eqcomi' 'eqtri'; $)

  ${
    3eqtri.1 $e |- A = B $.
    3eqtri.2 $e |- B = C $.
    3eqtri.3 $e |- C = D $.
    $( An inference from three chained equalities.  (Contributed by NM,
       29-Aug-1993.) $)
    3eqtri $p |- A = D $=
      ( eqtri ) ABDEBCDFGHH $.

    $( An inference from three chained equalities.  (Contributed by NM,
       3-Aug-2006.)  (Proof shortened by Andrew Salmon, 25-May-2011.) $)
    3eqtrri $p |- D = A $=
      ( eqtri eqtr2i ) ACDABCEFHGI $.
  $}

  ${
    3eqtr2i.1 $e |- A = B $.
    3eqtr2i.2 $e |- C = B $.
    3eqtr2i.3 $e |- C = D $.
    $( An inference from three chained equalities.  (Contributed by NM,
       3-Aug-2006.) $)
    3eqtr2i $p |- A = D $=
      ( eqtr4i eqtri ) ACDABCEFHGI $.

    $( An inference from three chained equalities.  (Contributed by NM,
       3-Aug-2006.)  (Proof shortened by Andrew Salmon, 25-May-2011.) $)
    3eqtr2ri $p |- D = A $=
      ( eqtr4i eqtr2i ) ACDABCEFHGI $.
  $}

  ${
    3eqtr3i.1 $e |- A = B $.
    3eqtr3i.2 $e |- A = C $.
    3eqtr3i.3 $e |- B = D $.
    $( An inference from three chained equalities.  (Contributed by NM,
       6-May-1994.)  (Proof shortened by Andrew Salmon, 25-May-2011.) $)
    3eqtr3i $p |- C = D $=
      ( eqtr3i ) BCDABCEFHGH $.

    $( An inference from three chained equalities.  (Contributed by NM,
       15-Aug-2004.) $)
    3eqtr3ri $p |- D = C $=
      ( eqtr3i ) BDCGABCEFHH $.
  $}

  ${
    3eqtr4i.1 $e |- A = B $.
    3eqtr4i.2 $e |- C = A $.
    3eqtr4i.3 $e |- D = B $.
    $( An inference from three chained equalities.  (Contributed by NM,
       5-Aug-1993.)  (Proof shortened by Andrew Salmon, 25-May-2011.) $)
    3eqtr4i $p |- C = D $=
      ( eqtr4i ) CADFDBAGEHH $.

    $( An inference from three chained equalities.  (Contributed by NM,
       2-Sep-1995.)  (Proof shortened by Andrew Salmon, 25-May-2011.) $)
    3eqtr4ri $p |- D = C $=
      ( eqtr4i ) DACDBAGEHFH $.
  $}

  ${
    eqtrd.1 $e |- ( ph -> A = B ) $.
    eqtrd.2 $e |- ( ph -> B = C ) $.
    $( An equality transitivity deduction.  (Contributed by NM, 5-Aug-1993.) $)
    eqtrd $p |- ( ph -> A = C ) $=
      ( wceq eqeq2d mpbid ) ABCGBDGEACDBFHI $.
  $}

  ${
    eqtr2d.1 $e |- ( ph -> A = B ) $.
    eqtr2d.2 $e |- ( ph -> B = C ) $.
    $( An equality transitivity deduction.  (Contributed by NM,
       18-Oct-1999.) $)
    eqtr2d $p |- ( ph -> C = A ) $=
      ( eqtrd eqcomd ) ABDABCDEFGH $.
  $}

  ${
    eqtr3d.1 $e |- ( ph -> A = B ) $.
    eqtr3d.2 $e |- ( ph -> A = C ) $.
    $( An equality transitivity equality deduction.  (Contributed by NM,
       18-Jul-1995.) $)
    eqtr3d $p |- ( ph -> B = C ) $=
      ( eqcomd eqtrd ) ACBDABCEGFH $.
  $}

  ${
    eqtr4d.1 $e |- ( ph -> A = B ) $.
    eqtr4d.2 $e |- ( ph -> C = B ) $.
    $( An equality transitivity equality deduction.  (Contributed by NM,
       18-Jul-1995.) $)
    eqtr4d $p |- ( ph -> A = C ) $=
      ( eqcomd eqtrd ) ABCDEADCFGH $.
  $}

  ${
    3eqtrd.1 $e |- ( ph -> A = B ) $.
    3eqtrd.2 $e |- ( ph -> B = C ) $.
    3eqtrd.3 $e |- ( ph -> C = D ) $.
    $( A deduction from three chained equalities.  (Contributed by NM,
       29-Oct-1995.) $)
    3eqtrd $p |- ( ph -> A = D ) $=
      ( eqtrd ) ABCEFACDEGHII $.

    $( A deduction from three chained equalities.  (Contributed by NM,
       4-Aug-2006.)  (Proof shortened by Andrew Salmon, 25-May-2011.) $)
    3eqtrrd $p |- ( ph -> D = A ) $=
      ( eqtrd eqtr2d ) ABDEABCDFGIHJ $.
  $}

  ${
    3eqtr2d.1 $e |- ( ph -> A = B ) $.
    3eqtr2d.2 $e |- ( ph -> C = B ) $.
    3eqtr2d.3 $e |- ( ph -> C = D ) $.
    $( A deduction from three chained equalities.  (Contributed by NM,
       4-Aug-2006.) $)
    3eqtr2d $p |- ( ph -> A = D ) $=
      ( eqtr4d eqtrd ) ABDEABCDFGIHJ $.

    $( A deduction from three chained equalities.  (Contributed by NM,
       4-Aug-2006.) $)
    3eqtr2rd $p |- ( ph -> D = A ) $=
      ( eqtr4d eqtr2d ) ABDEABCDFGIHJ $.
  $}

  ${
    3eqtr3d.1 $e |- ( ph -> A = B ) $.
    3eqtr3d.2 $e |- ( ph -> A = C ) $.
    3eqtr3d.3 $e |- ( ph -> B = D ) $.
    $( A deduction from three chained equalities.  (Contributed by NM,
       4-Aug-1995.)  (Proof shortened by Andrew Salmon, 25-May-2011.) $)
    3eqtr3d $p |- ( ph -> C = D ) $=
      ( eqtr3d ) ACDEABCDFGIHI $.

    $( A deduction from three chained equalities.  (Contributed by NM,
       14-Jan-2006.) $)
    3eqtr3rd $p |- ( ph -> D = C ) $=
      ( eqtr3d ) ACEDHABCDFGII $.
  $}

  ${
    3eqtr4d.1 $e |- ( ph -> A = B ) $.
    3eqtr4d.2 $e |- ( ph -> C = A ) $.
    3eqtr4d.3 $e |- ( ph -> D = B ) $.
    $( A deduction from three chained equalities.  (Contributed by NM,
       4-Aug-1995.)  (Proof shortened by Andrew Salmon, 25-May-2011.) $)
    3eqtr4d $p |- ( ph -> C = D ) $=
      ( eqtr4d ) ADBEGAECBHFII $.

    $( A deduction from three chained equalities.  (Contributed by NM,
       21-Sep-1995.) $)
    3eqtr4rd $p |- ( ph -> D = C ) $=
      ( eqtr4d ) AEBDAECBHFIGI $.
  $}

  ${
    syl5eq.1 $e |- A = B $.
    syl5eq.2 $e |- ( ph -> B = C ) $.
    $( An equality transitivity deduction.  (Contributed by NM, 5-Aug-1993.) $)
    syl5eq $p |- ( ph -> A = C ) $=
      ( wceq a1i eqtrd ) ABCDBCGAEHFI $.
  $}

  ${
    syl5req.1 $e |- A = B $.
    syl5req.2 $e |- ( ph -> B = C ) $.
    $( An equality transitivity deduction.  (Contributed by NM,
       29-Mar-1998.) $)
    syl5req $p |- ( ph -> C = A ) $=
      ( syl5eq eqcomd ) ABDABCDEFGH $.
  $}

  ${
    syl5eqr.1 $e |- B = A $.
    syl5eqr.2 $e |- ( ph -> B = C ) $.
    $( An equality transitivity deduction.  (Contributed by NM, 5-Aug-1993.) $)
    syl5eqr $p |- ( ph -> A = C ) $=
      ( eqcomi syl5eq ) ABCDCBEGFH $.
  $}

  ${
    syl5reqr.1 $e |- B = A $.
    syl5reqr.2 $e |- ( ph -> B = C ) $.
    $( An equality transitivity deduction.  (Contributed by NM,
       29-Mar-1998.) $)
    syl5reqr $p |- ( ph -> C = A ) $=
      ( eqcomi syl5req ) ABCDCBEGFH $.
  $}

  ${
    syl6eq.1 $e |- ( ph -> A = B ) $.
    syl6eq.2 $e |- B = C $.
    $( An equality transitivity deduction.  (Contributed by NM, 5-Aug-1993.) $)
    syl6eq $p |- ( ph -> A = C ) $=
      ( wceq a1i eqtrd ) ABCDECDGAFHI $.
  $}

  ${
    syl6req.1 $e |- ( ph -> A = B ) $.
    syl6req.2 $e |- B = C $.
    $( An equality transitivity deduction.  (Contributed by NM,
       29-Mar-1998.) $)
    syl6req $p |- ( ph -> C = A ) $=
      ( syl6eq eqcomd ) ABDABCDEFGH $.
  $}

  ${
    syl6eqr.1 $e |- ( ph -> A = B ) $.
    syl6eqr.2 $e |- C = B $.
    $( An equality transitivity deduction.  (Contributed by NM, 5-Aug-1993.) $)
    syl6eqr $p |- ( ph -> A = C ) $=
      ( eqcomi syl6eq ) ABCDEDCFGH $.
  $}

  ${
    syl6reqr.1 $e |- ( ph -> A = B ) $.
    syl6reqr.2 $e |- C = B $.
    $( An equality transitivity deduction.  (Contributed by NM,
       29-Mar-1998.) $)
    syl6reqr $p |- ( ph -> C = A ) $=
      ( eqcomi syl6req ) ABCDEDCFGH $.
  $}

  ${
    sylan9eq.1 $e |- ( ph -> A = B ) $.
    sylan9eq.2 $e |- ( ps -> B = C ) $.
    $( An equality transitivity deduction.  (Contributed by NM, 8-May-1994.)
       (Proof shortened by Andrew Salmon, 25-May-2011.) $)
    sylan9eq $p |- ( ( ph /\ ps ) -> A = C ) $=
      ( wceq eqtr syl2an ) ACDHDEHCEHBFGCDEIJ $.
  $}

  ${
    sylan9req.1 $e |- ( ph -> B = A ) $.
    sylan9req.2 $e |- ( ps -> B = C ) $.
    $( An equality transitivity deduction.  (Contributed by NM,
       23-Jun-2007.) $)
    sylan9req $p |- ( ( ph /\ ps ) -> A = C ) $=
      ( eqcomd sylan9eq ) ABCDEADCFHGI $.
  $}

  ${
    sylan9eqr.1 $e |- ( ph -> A = B ) $.
    sylan9eqr.2 $e |- ( ps -> B = C ) $.
    $( An equality transitivity deduction.  (Contributed by NM, 8-May-1994.) $)
    sylan9eqr $p |- ( ( ps /\ ph ) -> A = C ) $=
      ( wceq sylan9eq ancoms ) ABCEHABCDEFGIJ $.
  $}

  ${
    3eqtr3g.1 $e |- ( ph -> A = B ) $.
    3eqtr3g.2 $e |- A = C $.
    3eqtr3g.3 $e |- B = D $.
    $( A chained equality inference, useful for converting from definitions.
       (Contributed by NM, 15-Nov-1994.) $)
    3eqtr3g $p |- ( ph -> C = D ) $=
      ( syl5eqr syl6eq ) ADCEADBCGFIHJ $.
  $}

  ${
    3eqtr3a.1 $e |- A = B $.
    3eqtr3a.2 $e |- ( ph -> A = C ) $.
    3eqtr3a.3 $e |- ( ph -> B = D ) $.
    $( A chained equality inference, useful for converting from definitions.
       (Contributed by Mario Carneiro, 6-Nov-2015.) $)
    3eqtr3a $p |- ( ph -> C = D ) $=
      ( syl5eq eqtr3d ) ABDEGABCEFHIJ $.
  $}

  ${
    3eqtr4g.1 $e |- ( ph -> A = B ) $.
    3eqtr4g.2 $e |- C = A $.
    3eqtr4g.3 $e |- D = B $.
    $( A chained equality inference, useful for converting to definitions.
       (Contributed by NM, 5-Aug-1993.) $)
    3eqtr4g $p |- ( ph -> C = D ) $=
      ( syl5eq syl6eqr ) ADCEADBCGFIHJ $.
  $}

  ${
    3eqtr4a.1 $e |- A = B $.
    3eqtr4a.2 $e |- ( ph -> C = A ) $.
    3eqtr4a.3 $e |- ( ph -> D = B ) $.
    $( A chained equality inference, useful for converting to definitions.
       (Contributed by NM, 2-Feb-2007.)  (Proof shortened by Andrew Salmon,
       25-May-2011.) $)
    3eqtr4a $p |- ( ph -> C = D ) $=
      ( syl6eq eqtr4d ) ADCEADBCGFIHJ $.
  $}

  ${
    eq2tr.1 $e |- ( A = C -> D = F ) $.
    eq2tr.2 $e |- ( B = D -> C = G ) $.
    $( A compound transitive inference for class equality.  (Contributed by NM,
       22-Jan-2004.) $)
    eq2tri $p |- ( ( A = C /\ B = F ) <-> ( B = D /\ A = G ) ) $=
      ( wceq wa ancom eqeq2d pm5.32i 3bitr3i ) ACIZBDIZJPOJOBEIZJPAFIZJOPKOPQOD
      EBGLMPORPCFAHLMN $.
  $}

  ${
    $d x A $.  $d x B $.  $d x C $.
    $( Equality implies equivalence of membership.  (Contributed by NM,
       5-Aug-1993.) $)
    eleq1 $p |- ( A = B -> ( A e. C <-> B e. C ) ) $=
      ( vx wceq cv wcel wa wex eqeq2 anbi1d exbidv df-clel 3bitr4g ) ABEZDFZAEZ
      PCGZHZDIPBEZRHZDIACGBCGOSUADOQTRABPJKLDACMDBCMN $.

    $( Equality implies equivalence of membership.  (Contributed by NM,
       5-Aug-1993.) $)
    eleq2 $p |- ( A = B -> ( C e. A <-> C e. B ) ) $=
      ( vx wceq cv wcel wa wex wal dfcleq biimpi 19.21bi anbi2d df-clel 3bitr4g
      wb exbidv ) ABEZDFZCEZTAGZHZDIUATBGZHZDICAGCBGSUCUEDSUBUDUASUBUDQZDSUFDJD
      ABKLMNRDCAODCBOP $.
  $}

  $( Equality implies equivalence of membership.  (Contributed by NM,
     31-May-1999.) $)
  eleq12 $p |- ( ( A = B /\ C = D ) -> ( A e. C <-> B e. D ) ) $=
    ( wceq wcel eleq1 eleq2 sylan9bb ) ABEACFBCFCDEBDFABCGCDBHI $.

  ${
    eleq1i.1 $e |- A = B $.
    $( Inference from equality to equivalence of membership.  (Contributed by
       NM, 5-Aug-1993.) $)
    eleq1i $p |- ( A e. C <-> B e. C ) $=
      ( wceq wcel wb eleq1 ax-mp ) ABEACFBCFGDABCHI $.

    $( Inference from equality to equivalence of membership.  (Contributed by
       NM, 5-Aug-1993.) $)
    eleq2i $p |- ( C e. A <-> C e. B ) $=
      ( wceq wcel wb eleq2 ax-mp ) ABECAFCBFGDABCHI $.

    ${
      eleq12i.2 $e |- C = D $.
      $( Inference from equality to equivalence of membership.  (Contributed by
         NM, 31-May-1994.) $)
      eleq12i $p |- ( A e. C <-> B e. D ) $=
        ( wcel eleq2i eleq1i bitri ) ACGADGBDGCDAFHABDEIJ $.

      $( Theorem eleq12i is the congruence law for elementhood. $)
      $( $j congruence 'eleq12i'; $)
    $}
  $}

  ${
    eleq1d.1 $e |- ( ph -> A = B ) $.
    $( Deduction from equality to equivalence of membership.  (Contributed by
       NM, 5-Aug-1993.) $)
    eleq1d $p |- ( ph -> ( A e. C <-> B e. C ) ) $=
      ( wceq wcel wb eleq1 syl ) ABCFBDGCDGHEBCDIJ $.

    $( Deduction from equality to equivalence of membership.  (Contributed by
       NM, 27-Dec-1993.) $)
    eleq2d $p |- ( ph -> ( C e. A <-> C e. B ) ) $=
      ( wceq wcel wb eleq2 syl ) ABCFDBGDCGHEBCDIJ $.

    ${
      eleq12d.2 $e |- ( ph -> C = D ) $.
      $( Deduction from equality to equivalence of membership.  (Contributed by
         NM, 31-May-1994.) $)
      eleq12d $p |- ( ph -> ( A e. C <-> B e. D ) ) $=
        ( wcel eleq2d eleq1d bitrd ) ABDHBEHCEHADEBGIABCEFJK $.
    $}
  $}

  $( A transitive-type law relating membership and equality.  (Contributed by
     NM, 9-Apr-1994.) $)
  eleq1a $p |- ( A e. B -> ( C = A -> C e. B ) ) $=
    ( wceq wcel eleq1 biimprcd ) CADCBEABECABFG $.

  ${
    eqeltr.1 $e |- A = B $.
    eqeltr.2 $e |- B e. C $.
    $( Substitution of equal classes into membership relation.  (Contributed by
       NM, 5-Aug-1993.) $)
    eqeltri $p |- A e. C $=
      ( wcel eleq1i mpbir ) ACFBCFEABCDGH $.
  $}

  ${
    eqeltrr.1 $e |- A = B $.
    eqeltrr.2 $e |- A e. C $.
    $( Substitution of equal classes into membership relation.  (Contributed by
       NM, 5-Aug-1993.) $)
    eqeltrri $p |- B e. C $=
      ( eqcomi eqeltri ) BACABDFEG $.
  $}

  ${
    eleqtr.1 $e |- A e. B $.
    eleqtr.2 $e |- B = C $.
    $( Substitution of equal classes into membership relation.  (Contributed by
       NM, 5-Aug-1993.) $)
    eleqtri $p |- A e. C $=
      ( wcel eleq2i mpbi ) ABFACFDBCAEGH $.
  $}

  ${
    eleqtrr.1 $e |- A e. B $.
    eleqtrr.2 $e |- C = B $.
    $( Substitution of equal classes into membership relation.  (Contributed by
       NM, 5-Aug-1993.) $)
    eleqtrri $p |- A e. C $=
      ( eqcomi eleqtri ) ABCDCBEFG $.
  $}

  ${
    eqeltrd.1 $e |- ( ph -> A = B ) $.
    eqeltrd.2 $e |- ( ph -> B e. C ) $.
    $( Substitution of equal classes into membership relation, deduction form.
       (Contributed by Raph Levien, 10-Dec-2002.) $)
    eqeltrd $p |- ( ph -> A e. C ) $=
      ( wcel eleq1d mpbird ) ABDGCDGFABCDEHI $.
  $}

  ${
    eqeltrrd.1 $e |- ( ph -> A = B ) $.
    eqeltrrd.2 $e |- ( ph -> A e. C ) $.
    $( Deduction that substitutes equal classes into membership.  (Contributed
       by NM, 14-Dec-2004.) $)
    eqeltrrd $p |- ( ph -> B e. C ) $=
      ( eqcomd eqeltrd ) ACBDABCEGFH $.
  $}

  ${
    eleqtrd.1 $e |- ( ph -> A e. B ) $.
    eleqtrd.2 $e |- ( ph -> B = C ) $.
    $( Deduction that substitutes equal classes into membership.  (Contributed
       by NM, 14-Dec-2004.) $)
    eleqtrd $p |- ( ph -> A e. C ) $=
      ( wcel eleq2d mpbid ) ABCGBDGEACDBFHI $.
  $}

  ${
    eleqtrrd.1 $e |- ( ph -> A e. B ) $.
    eleqtrrd.2 $e |- ( ph -> C = B ) $.
    $( Deduction that substitutes equal classes into membership.  (Contributed
       by NM, 14-Dec-2004.) $)
    eleqtrrd $p |- ( ph -> A e. C ) $=
      ( eqcomd eleqtrd ) ABCDEADCFGH $.
  $}

  ${
    3eltr3.1 $e |- A e. B $.
    3eltr3.2 $e |- A = C $.
    3eltr3.3 $e |- B = D $.
    $( Substitution of equal classes into membership relation.  (Contributed by
       Mario Carneiro, 6-Jan-2017.) $)
    3eltr3i $p |- C e. D $=
      ( eleqtri eqeltrri ) ACDFABDEGHI $.
  $}

  ${
    3eltr4.1 $e |- A e. B $.
    3eltr4.2 $e |- C = A $.
    3eltr4.3 $e |- D = B $.
    $( Substitution of equal classes into membership relation.  (Contributed by
       Mario Carneiro, 6-Jan-2017.) $)
    3eltr4i $p |- C e. D $=
      ( eleqtrri eqeltri ) CADFABDEGHI $.
  $}

  ${
    3eltr3d.1 $e |- ( ph -> A e. B ) $.
    3eltr3d.2 $e |- ( ph -> A = C ) $.
    3eltr3d.3 $e |- ( ph -> B = D ) $.
    $( Substitution of equal classes into membership relation.  (Contributed by
       Mario Carneiro, 6-Jan-2017.) $)
    3eltr3d $p |- ( ph -> C e. D ) $=
      ( eleqtrd eqeltrrd ) ABDEGABCEFHIJ $.
  $}

  ${
    3eltr4d.1 $e |- ( ph -> A e. B ) $.
    3eltr4d.2 $e |- ( ph -> C = A ) $.
    3eltr4d.3 $e |- ( ph -> D = B ) $.
    $( Substitution of equal classes into membership relation.  (Contributed by
       Mario Carneiro, 6-Jan-2017.) $)
    3eltr4d $p |- ( ph -> C e. D ) $=
      ( eleqtrrd eqeltrd ) ADBEGABCEFHIJ $.
  $}

  ${
    3eltr3g.1 $e |- ( ph -> A e. B ) $.
    3eltr3g.2 $e |- A = C $.
    3eltr3g.3 $e |- B = D $.
    $( Substitution of equal classes into membership relation.  (Contributed by
       Mario Carneiro, 6-Jan-2017.) $)
    3eltr3g $p |- ( ph -> C e. D ) $=
      ( wcel eleq12i sylib ) ABCIDEIFBDCEGHJK $.
  $}

  ${
    3eltr4g.1 $e |- ( ph -> A e. B ) $.
    3eltr4g.2 $e |- C = A $.
    3eltr4g.3 $e |- D = B $.
    $( Substitution of equal classes into membership relation.  (Contributed by
       Mario Carneiro, 6-Jan-2017.) $)
    3eltr4g $p |- ( ph -> C e. D ) $=
      ( wcel eleq12i sylibr ) ABCIDEIFDBECGHJK $.
  $}

  ${
    syl5eqel.1 $e |- A = B $.
    syl5eqel.2 $e |- ( ph -> B e. C ) $.
    $( B membership and equality inference.  (Contributed by NM,
       4-Jan-2006.) $)
    syl5eqel $p |- ( ph -> A e. C ) $=
      ( wceq a1i eqeltrd ) ABCDBCGAEHFI $.
  $}

  ${
    syl5eqelr.1 $e |- B = A $.
    syl5eqelr.2 $e |- ( ph -> B e. C ) $.
    $( B membership and equality inference.  (Contributed by NM,
       4-Jan-2006.) $)
    syl5eqelr $p |- ( ph -> A e. C ) $=
      ( eqcomi syl5eqel ) ABCDCBEGFH $.
  $}

  ${
    syl5eleq.1 $e |- A e. B $.
    syl5eleq.2 $e |- ( ph -> B = C ) $.
    $( B membership and equality inference.  (Contributed by NM,
       4-Jan-2006.) $)
    syl5eleq $p |- ( ph -> A e. C ) $=
      ( wcel a1i eleqtrd ) ABCDBCGAEHFI $.
  $}

  ${
    syl5eleqr.1 $e |- A e. B $.
    syl5eleqr.2 $e |- ( ph -> C = B ) $.
    $( B membership and equality inference.  (Contributed by NM,
       4-Jan-2006.) $)
    syl5eleqr $p |- ( ph -> A e. C ) $=
      ( eqcomd syl5eleq ) ABCDEADCFGH $.
  $}

  ${
    syl6eqel.1 $e |- ( ph -> A = B ) $.
    syl6eqel.2 $e |- B e. C $.
    $( A membership and equality inference.  (Contributed by NM,
       4-Jan-2006.) $)
    syl6eqel $p |- ( ph -> A e. C ) $=
      ( wcel a1i eqeltrd ) ABCDECDGAFHI $.
  $}

  ${
    syl6eqelr.1 $e |- ( ph -> B = A ) $.
    syl6eqelr.2 $e |- B e. C $.
    $( A membership and equality inference.  (Contributed by NM,
       4-Jan-2006.) $)
    syl6eqelr $p |- ( ph -> A e. C ) $=
      ( eqcomd syl6eqel ) ABCDACBEGFH $.
  $}

  ${
    syl6eleq.1 $e |- ( ph -> A e. B ) $.
    syl6eleq.2 $e |- B = C $.
    $( A membership and equality inference.  (Contributed by NM,
       4-Jan-2006.) $)
    syl6eleq $p |- ( ph -> A e. C ) $=
      ( wceq a1i eleqtrd ) ABCDECDGAFHI $.
  $}

  ${
    syl6eleqr.1 $e |- ( ph -> A e. B ) $.
    syl6eleqr.2 $e |- C = B $.
    $( A membership and equality inference.  (Contributed by NM,
       24-Apr-2005.) $)
    syl6eleqr $p |- ( ph -> A e. C ) $=
      ( eqcomi syl6eleq ) ABCDEDCFGH $.
  $}

  ${
    eleq2s.1 $e |- ( A e. B -> ph ) $.
    eleq2s.2 $e |- C = B $.
    $( Substitution of equal classes into a membership antecedent.
       (Contributed by Jonathan Ben-Naim, 3-Jun-2011.) $)
    eleq2s $p |- ( A e. C -> ph ) $=
      ( wcel eleq2i sylbi ) BDGBCGADCBFHEI $.
  $}

  ${
    eqneltrd.1 $e |- ( ph -> A = B ) $.
    eqneltrd.2 $e |- ( ph -> -. B e. C ) $.
    $( If a class is not an element of another class, an equal class is also
       not an element.  Deduction form.  (Contributed by David Moews,
       1-May-2017.) $)
    eqneltrd $p |- ( ph -> -. A e. C ) $=
      ( wcel eleq1d mtbird ) ABDGCDGFABCDEHI $.
  $}

  ${
    eqneltrrd.1 $e |- ( ph -> A = B ) $.
    eqneltrrd.2 $e |- ( ph -> -. A e. C ) $.
    $( If a class is not an element of another class, an equal class is also
       not an element.  Deduction form.  (Contributed by David Moews,
       1-May-2017.) $)
    eqneltrrd $p |- ( ph -> -. B e. C ) $=
      ( wcel eleq1d mtbid ) ABDGCDGFABCDEHI $.
  $}

  ${
    neleqtrd.1 $e |- ( ph -> -. C e. A ) $.
    neleqtrd.2 $e |- ( ph -> A = B ) $.
    $( If a class is not an element of another class, it is also not an element
       of an equal class.  Deduction form.  (Contributed by David Moews,
       1-May-2017.) $)
    neleqtrd $p |- ( ph -> -. C e. B ) $=
      ( wcel eleq2d mtbid ) ADBGDCGEABCDFHI $.
  $}

  ${
    neleqtrrd.1 $e |- ( ph -> -. C e. B ) $.
    neleqtrrd.2 $e |- ( ph -> A = B ) $.
    $( If a class is not an element of another class, it is also not an element
       of an equal class.  Deduction form.  (Contributed by David Moews,
       1-May-2017.) $)
    neleqtrrd $p |- ( ph -> -. C e. A ) $=
      ( wcel eleq2d mtbird ) ADBGDCGEABCDFHI $.
  $}

  ${
    $d y A $.  $d y B $.  $d x y $.
    cleqh.1 $e |- ( y e. A -> A. x y e. A ) $.
    cleqh.2 $e |- ( y e. B -> A. x y e. B ) $.
    $( Establish equality between classes, using bound-variable hypotheses
       instead of distinct variable conditions.  (Contributed by NM,
       5-Aug-1993.) $)
    cleqh $p |- ( A = B <-> A. x ( x e. A <-> x e. B ) ) $=
      ( wceq cv wcel wb wal dfcleq ax-17 wi wa dfbi2 hbim weq eleq1 cbv3h hban
      hbxfrbi bibi12d biimpd equcoms biimprd impbii bitr4i ) CDGBHZCIZUIDIZJZBK
      ZAHZCIZUNDIZJZAKZBCDLURUMUQULABUQBMZULUJUKNZUKUJNZOAUJUKPUTVAAUJUKAEFQUKU
      JAFEQUAUBZABRZUQULVCUOUJUPUKUNUICSUNUIDSUCZUDTULUQBAVBUSBARUQULUQULJABVDU
      EUFTUGUH $.
  $}

  $( A way of showing two classes are not equal.  (Contributed by NM,
     1-Apr-1997.) $)
  nelneq $p |- ( ( A e. C /\ -. B e. C ) -> -. A = B ) $=
    ( wcel wceq eleq1 biimpcd con3and ) ACDZABEZBCDZJIKABCFGH $.

  $( A way of showing two classes are not equal.  (Contributed by NM,
     12-Jan-2002.) $)
  nelneq2 $p |- ( ( A e. B /\ -. A e. C ) -> -. B = C ) $=
    ( wcel wceq eleq2 biimpcd con3and ) ABDZBCEZACDZJIKBCAFGH $.

  ${
    $d x y $.  $d y A $.
    $( Lemma for ~ eqsb3 .  (Contributed by Rodolfo Medina, 28-Apr-2010.)
       (Proof shortened by Andrew Salmon, 14-Jun-2011.) $)
    eqsb3lem $p |- ( [ x / y ] y = A <-> x = A ) $=
      ( cv wceq nfv eqeq1 sbie ) BDZCEADZCEZBAKBFIJCGH $.
  $}

  ${
    $d y A $.  $d w y $.  $d w A $.  $d x w $.
    $( Substitution applied to an atomic wff (class version of ~ equsb3 ).
       (Contributed by Rodolfo Medina, 28-Apr-2010.) $)
    eqsb3 $p |- ( [ x / y ] y = A <-> x = A ) $=
      ( vw cv wceq wsb eqsb3lem sbbii nfv sbco2 3bitr3i ) BECFZBDGZDAGDECFZDAGM
      BAGAECFNODADBCHIMBADMDJKADCHL $.
  $}

  ${
    $d y A $.  $d w y $.  $d w A $.  $d w x $.
    $( Substitution applied to an atomic wff (class version of ~ elsb3 ).
       (Contributed by Rodolfo Medina, 28-Apr-2010.)  (Proof shortened by
       Andrew Salmon, 14-Jun-2011.) $)
    clelsb3 $p |- ( [ x / y ] y e. A <-> x e. A ) $=
      ( vw cv wcel wsb nfv sbco2 eleq1 sbie sbbii 3bitr3i ) DEZCFZDBGZBAGODAGBE
      ZCFZBAGAEZCFZODABOBHIPRBAORDBRDHNQCJKLOTDATDHNSCJKM $.
  $}

  ${
    hbxfr.1 $e |- A = B $.
    hbxfr.2 $e |- ( y e. B -> A. x y e. B ) $.
    $( A utility lemma to transfer a bound-variable hypothesis builder into a
       definition.  See ~ hbxfrbi for equivalence version.  (Contributed by NM,
       21-Aug-2007.) $)
    hbxfreq $p |- ( y e. A -> A. x y e. A ) $=
      ( cv wcel eleq2i hbxfrbi ) BGZCHKDHACDKEIFJ $.
  $}

  ${
    $d y A $.  $d x z $.
    hblem.1 $e |- ( y e. A -> A. x y e. A ) $.
    $( Change the free variable of a hypothesis builder.  Lemma for ~ nfcrii .
       (Contributed by NM, 5-Aug-1993.)  (Revised by Andrew Salmon,
       11-Jul-2011.) $)
    hblem $p |- ( z e. A -> A. x z e. A ) $=
      ( cv wcel wsb wal hbsb clelsb3 albii 3imtr3i ) BFDGZBCHZOAICFDGZPAINBCAEJ
      CBDKZOPAQLM $.
  $}

  ${
    $d x A y $.  $d ph y $.
    $( Equality of a class variable and a class abstraction (also called a
       class builder).  Theorem 5.1 of [Quine] p. 34.  This theorem shows the
       relationship between expressions with class abstractions and expressions
       with class variables.  Note that ~ abbi and its relatives are among
       those useful for converting theorems with class variables to equivalent
       theorems with wff variables, by first substituting a class abstraction
       for each class variable.

       Class variables can always be eliminated from a theorem to result in an
       equivalent theorem with wff variables, and vice-versa.  The idea is
       roughly as follows.  To convert a theorem with a wff variable ` ph `
       (that has a free variable ` x ` ) to a theorem with a class variable
       ` A ` , we substitute ` x e. A ` for ` ph ` throughout and simplify,
       where ` A ` is a new class variable not already in the wff.  An example
       is the conversion of zfauscl in set.mm to inex1 in set.mm (look at the
       instance of zfauscl that occurs in the proof of inex1 ).  Conversely, to
       convert a theorem with a class variable ` A ` to one with ` ph ` , we
       substitute ` { x | ph } ` for ` A ` throughout and simplify, where ` x `
       and ` ph ` are new setvar and wff variables not already in the wff.  An
       example is cp in set.mm , which derives a formula containing wff
       variables from substitution instances of the class variables in its
       equivalent formulation cplem2 in set.mm.  For more information on class
       variables, see Quine pp. 15-21 and/or Takeuti and Zaring pp. 10-13.
       (Contributed by NM, 5-Aug-1993.) $)
    abeq2 $p |- ( A = { x | ph } <-> A. x ( x e. A <-> ph ) ) $=
      ( vy cab wceq cv wcel wb wal ax-17 hbab1 cleqh abid bibi2i albii bitri )
      CABEZFBGZCHZSRHZIZBJTAIZBJBDCRDGCHBKABDLMUBUCBUAATABNOPQ $.
  $}

  ${
    $d x A $.
    $( Equality of a class variable and a class abstraction.  (Contributed by
       NM, 20-Aug-1993.) $)
    abeq1 $p |- ( { x | ph } = A <-> A. x ( ph <-> x e. A ) ) $=
      ( cab wceq cv wcel wb wal abeq2 eqcom bicom albii 3bitr4i ) CABDZEBFCGZAH
      ZBIOCEAPHZBIABCJOCKRQBAPLMN $.
  $}

  ${
    abeqi.1 $e |- A = { x | ph } $.
    $( Equality of a class variable and a class abstraction (inference rule).
       (Contributed by NM, 3-Apr-1996.) $)
    abeq2i $p |- ( x e. A <-> ph ) $=
      ( cv wcel cab eleq2i abid bitri ) BEZCFKABGZFACLKDHABIJ $.
  $}

  ${
    abeqri.1 $e |- { x | ph } = A $.
    $( Equality of a class variable and a class abstraction (inference rule).
       (Contributed by NM, 31-Jul-1994.) $)
    abeq1i $p |- ( ph <-> x e. A ) $=
      ( cv cab wcel abid eleq2i bitr3i ) ABEZABFZGKCGABHLCKDIJ $.
  $}

  ${
    abeqd.1 $e |- ( ph -> A = { x | ps } ) $.
    $( Equality of a class variable and a class abstraction (deduction).
       (Contributed by NM, 16-Nov-1995.) $)
    abeq2d $p |- ( ph -> ( x e. A <-> ps ) ) $=
      ( cv wcel cab eleq2d abid syl6bb ) ACFZDGLBCHZGBADMLEIBCJK $.
  $}

  ${
    $d ph y $.  $d ps y $.  $d x y $.
    $( Equivalent wff's correspond to equal class abstractions.  (Contributed
       by NM, 25-Nov-2013.)  (Revised by Mario Carneiro, 11-Aug-2016.) $)
    abbi $p |- ( A. x ( ph <-> ps ) <-> { x | ph } = { x | ps } ) $=
      ( vy cab wceq wcel wal dfcleq nfsab1 nfbi nfv wsb df-clab sbequ12r syl5bb
      cv wb bibi12d cbval bitr2i ) ACEZBCEZFDQZUBGZUDUCGZRZDHABRZCHDUBUCIUGUHDC
      UEUFCACDJBCDJKUHDLUDCQFZUEAUFBUEACDMUIAADCNADCOPUFBCDMUIBBDCNBDCOPSTUA $.
  $}

  ${
    $d x A $.
    abbiri.1 $e |- ( x e. A <-> ph ) $.
    $( Equality of a class variable and a class abstraction (inference rule).
       (Contributed by NM, 5-Aug-1993.) $)
    abbi2i $p |- A = { x | ph } $=
      ( cab wceq cv wcel wb abeq2 mpgbir ) CABEFBGCHAIBABCJDK $.
  $}

  ${
    abbii.1 $e |- ( ph <-> ps ) $.
    $( Equivalent wff's yield equal class abstractions (inference rule).
       (Contributed by NM, 5-Aug-1993.) $)
    abbii $p |- { x | ph } = { x | ps } $=
      ( wb cab wceq abbi mpgbi ) ABEACFBCFGCABCHDI $.

    $( Theorem abbii is the congruence law for class abstraction. $)
    $( $j congruence 'abbii'; $)
  $}

  ${
    abbid.1 $e |- F/ x ph $.
    abbid.2 $e |- ( ph -> ( ps <-> ch ) ) $.
    $( Equivalent wff's yield equal class abstractions (deduction rule).
       (Contributed by NM, 5-Aug-1993.)  (Revised by Mario Carneiro,
       7-Oct-2016.) $)
    abbid $p |- ( ph -> { x | ps } = { x | ch } ) $=
      ( wb wal cab wceq alrimi abbi sylib ) ABCGZDHBDICDIJANDEFKBCDLM $.
  $}

  ${
    $d x ph $.
    abbidv.1 $e |- ( ph -> ( ps <-> ch ) ) $.
    $( Equivalent wff's yield equal class abstractions (deduction rule).
       (Contributed by NM, 10-Aug-1993.) $)
    abbidv $p |- ( ph -> { x | ps } = { x | ch } ) $=
      ( nfv abbid ) ABCDADFEG $.
  $}

  ${
    $d x A $.  $d ph x $.
    abbirdv.1 $e |- ( ph -> ( x e. A <-> ps ) ) $.
    $( Deduction from a wff to a class abstraction.  (Contributed by NM,
       9-Jul-1994.) $)
    abbi2dv $p |- ( ph -> A = { x | ps } ) $=
      ( cv wcel wb wal cab wceq alrimiv abeq2 sylibr ) ACFDGBHZCIDBCJKAOCELBCDM
      N $.
  $}

  ${
    $d x A $.  $d ph x $.
    abbildv.1 $e |- ( ph -> ( ps <-> x e. A ) ) $.
    $( Deduction from a wff to a class abstraction.  (Contributed by NM,
       9-Jul-1994.) $)
    abbi1dv $p |- ( ph -> { x | ps } = A ) $=
      ( cv wcel wb wal cab wceq alrimiv abeq1 sylibr ) ABCFDGHZCIBCJDKAOCELBCDM
      N $.
  $}

  ${
    $d x A $.
    $( A simplification of class abstraction.  Theorem 5.2 of [Quine] p. 35.
       (Contributed by NM, 26-Dec-1993.) $)
    abid2 $p |- { x | x e. A } = A $=
      ( cv wcel cab biid abbi2i eqcomi ) BACBDZAEIABIFGH $.
  $}

  ${
    $d x z $.  $d y z $.  $d ph z $.  $d ps z $.
    cbvab.1 $e |- F/ y ph $.
    cbvab.2 $e |- F/ x ps $.
    cbvab.3 $e |- ( x = y -> ( ph <-> ps ) ) $.
    $( Rule used to change bound variables, using implicit substitution.
       (Contributed by Andrew Salmon, 11-Jul-2011.) $)
    cbvab $p |- { x | ph } = { y | ps } $=
      ( vz cab wsb cv wcel nfsb wceq wb equcoms bicomd sbie sbequ df-clab eqriv
      syl5bbr 3bitr4i ) HACIZBDIZACHJBDHJZHKZUDLUGUELAUFCHBDHCFMABDCJCKZUGNUFBA
      DCEDKUHNABABOCDGPQRBCHDSUBRAHCTBHDTUCUA $.
  $}

  ${
    $d y ph $.  $d x ps $.
    cbvabv.1 $e |- ( x = y -> ( ph <-> ps ) ) $.
    $( Rule used to change bound variables, using implicit substitution.
       (Contributed by NM, 26-May-1999.) $)
    cbvabv $p |- { x | ph } = { y | ps } $=
      ( nfv cbvab ) ABCDADFBCFEG $.
  $}

  ${
    $d x A y $.  $d ph y $.
    $( Membership of a class variable in a class abstraction.  (Contributed by
       NM, 23-Dec-1993.) $)
    clelab $p |- ( A e. { x | ph } <-> E. x ( x = A /\ ph ) ) $=
      ( vy cv wceq cab wcel wex wsb df-clab anbi2i exbii df-clel nfv nfs1v nfan
      wa eqeq1 sbequ12 anbi12d cbvex 3bitr4i ) DEZCFZUDABGZHZRZDIUEABDJZRZDICUF
      HBEZCFZARZBIUHUJDUGUIUEADBKLMDCUFNUMUJBDUMDOUEUIBUEBOABDPQUKUDFULUEAUIUKU
      DCSABDTUAUBUC $.
  $}

  ${
    $d y A $.  $d y ph $.  $d x y $.
    $( Membership of a class abstraction in another class.  (Contributed by NM,
       17-Jan-2006.) $)
    clabel $p |- ( { x | ph } e. A <->
                 E. y ( y e. A /\ A. x ( x e. y <-> ph ) ) ) $=
      ( cab wcel cv wceq wa wex wb wal df-clel abeq2 anbi2ci exbii bitri ) ABEZ
      DFCGZRHZSDFZIZCJUABGSFAKBLZIZCJCRDMUBUDCTUCUAABSNOPQ $.
  $}

  ${
    $d z A $.  $d z x $.  $d z y $.
    $( The right-hand side of the second equality is a way of representing
       proper substitution of ` y ` for ` x ` into a class variable.
       (Contributed by NM, 14-Sep-2003.) $)
    sbab $p |- ( x = y -> A = { z | [ y / x ] z e. A } ) $=
      ( cv wceq wcel wsb sbequ12 abbi2dv ) AEBEFCEDGZABHCDKABIJ $.
  $}

$(
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
        Class form not-free predicate
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
$)

  $c F/_ $.  $( Underlined not-free symbol. $)

  $( Extend wff definition to include the not-free predicate for classes. $)
  wnfc $a wff F/_ x A $.

  ${
    $d x y z $.  $d y z A $.
    $( Justification theorem for ~ df-nfc .  (Contributed by Mario Carneiro,
       13-Oct-2016.) $)
    nfcjust $p |- ( A. y F/ x y e. A <-> A. z F/ x z e. A ) $=
      ( cv wcel wnf wceq nfv eleq1 nfbidf cbvalv ) BEZDFZAGCEZDFZAGBCMOHZNPAQAI
      MODJKL $.
  $}

  ${
    $d x y $.  $d y A $.
    $( Define the not-free predicate for classes.  This is read " ` x ` is not
       free in ` A ` ".  Not-free means that the value of ` x ` cannot affect
       the value of ` A ` , e.g., any occurrence of ` x ` in ` A ` is
       effectively bound by a "for all" or something that expands to one (such
       as "there exists").  It is defined in terms of the not-free predicate
       ~ df-nf for wffs; see that definition for more information.
       (Contributed by Mario Carneiro, 11-Aug-2016.) $)
    df-nfc $a |- ( F/_ x A <-> A. y F/ x y e. A ) $.

    ${
      nfci.1 $e |- F/ x y e. A $.
      $( Deduce that a class ` A ` does not have ` x ` free in it.
         (Contributed by Mario Carneiro, 11-Aug-2016.) $)
      nfci $p |- F/_ x A $=
        ( wnfc cv wcel wnf df-nfc mpgbir ) ACEBFCGAHBABCIDJ $.
    $}

    ${
      nfcii.1 $e |- ( y e. A -> A. x y e. A ) $.
      $( Deduce that a class ` A ` does not have ` x ` free in it.
         (Contributed by Mario Carneiro, 11-Aug-2016.) $)
      nfcii $p |- F/_ x A $=
        ( cv wcel nfi nfci ) ABCBECFADGH $.
    $}

    $( Consequence of the not-free predicate.  (Contributed by Mario Carneiro,
       11-Aug-2016.) $)
    nfcr $p |- ( F/_ x A -> F/ x y e. A ) $=
      ( wnfc cv wcel wnf wal df-nfc sp sylbi ) ACDBECFAGZBHLABCILBJK $.
  $}

  ${
    $d x y z $.  $d z A $.
    nfcri.1 $e |- F/_ x A $.
    $( Consequence of the not-free predicate.  (Contributed by Mario Carneiro,
       11-Aug-2016.) $)
    nfcrii $p |- ( y e. A -> A. x y e. A ) $=
      ( vz cv wcel wnfc wnf nfcr ax-mp nfri hblem ) AEBCEFCGZAACHNAIDAECJKLM $.

    $( Consequence of the not-free predicate.  (Note that unlike ~ nfcr , this
       does not require ` y ` and ` A ` to be disjoint.)  (Contributed by Mario
       Carneiro, 11-Aug-2016.) $)
    nfcri $p |- F/ x y e. A $=
      ( cv wcel nfcrii nfi ) BECFAABCDGH $.
  $}

  ${
    $d x y $.  $d y A $.
    nfcd.1 $e |- F/ y ph $.
    nfcd.2 $e |- ( ph -> F/ x y e. A ) $.
    $( Deduce that a class ` A ` does not have ` x ` free in it.  (Contributed
       by Mario Carneiro, 11-Aug-2016.) $)
    nfcd $p |- ( ph -> F/_ x A ) $=
      ( cv wcel wnf wal wnfc alrimi df-nfc sylibr ) ACGDHBIZCJBDKAOCEFLBCDMN $.
  $}

  ${
    $d x y $.  $d y A $.  $d y B $.
    nfceqi.1 $e |- A = B $.
    $( Equality theorem for class not-free.  (Contributed by Mario Carneiro,
       11-Aug-2016.) $)
    nfceqi $p |- ( F/_ x A <-> F/_ x B ) $=
      ( vy cv wcel wnf wal wnfc eleq2i nfbii albii df-nfc 3bitr4i ) EFZBGZAHZEI
      PCGZAHZEIABJACJRTEQSABCPDKLMAEBNAECNO $.

    ${
      nfcxfr.2 $e |- F/_ x B $.
      $( A utility lemma to transfer a bound-variable hypothesis builder into a
         definition.  (Contributed by Mario Carneiro, 11-Aug-2016.) $)
      nfcxfr $p |- F/_ x A $=
        ( wnfc nfceqi mpbir ) ABFACFEABCDGH $.
    $}

    ${
      nfcxfrd.2 $e |- ( ph -> F/_ x B ) $.
      $( A utility lemma to transfer a bound-variable hypothesis builder into a
         definition.  (Contributed by Mario Carneiro, 11-Aug-2016.) $)
      nfcxfrd $p |- ( ph -> F/_ x A ) $=
        ( wnfc nfceqi sylibr ) ABDGBCGFBCDEHI $.
    $}
  $}

  ${
    $d x y $.  $d A y $.  $d B y $.  $d ph y $.
    nfceqdf.1 $e |- F/ x ph $.
    nfceqdf.2 $e |- ( ph -> A = B ) $.
    $( An equality theorem for effectively not free.  (Contributed by Mario
       Carneiro, 14-Oct-2016.) $)
    nfceqdf $p |- ( ph -> ( F/_ x A <-> F/_ x B ) ) $=
      ( vy cv wcel wnf wal wnfc eleq2d nfbidf albidv df-nfc 3bitr4g ) AGHZCIZBJ
      ZGKRDIZBJZGKBCLBDLATUBGASUABEACDRFMNOBGCPBGDPQ $.
  $}

  ${
    $d x y A $.
    $( If ` x ` is disjoint from ` A ` , then ` x ` is not free in ` A ` .
       (Contributed by Mario Carneiro, 11-Aug-2016.) $)
    nfcv $p |- F/_ x A $=
      ( vy cv wcel nfv nfci ) ACBCDBEAFG $.

    $( If ` x ` is disjoint from ` A ` , then ` x ` is not free in ` A ` .
       (Contributed by Mario Carneiro, 7-Oct-2016.) $)
    nfcvd $p |- ( ph -> F/_ x A ) $=
      ( wnfc nfcv a1i ) BCDABCEF $.
  $}

  ${
    $d x y $.  $d y A $.  $d y ph $.
    $( Bound-variable hypothesis builder for a class abstraction.  (Contributed
       by Mario Carneiro, 11-Aug-2016.) $)
    nfab1 $p |- F/_ x { x | ph } $=
      ( vy cab nfsab1 nfci ) BCABDABCEF $.

    $( ` x ` is bound in ` F/_ x A ` .  (Contributed by Mario Carneiro,
       11-Aug-2016.) $)
    nfnfc1 $p |- F/ x F/_ x A $=
      ( vy wnfc cv wcel wnf wal df-nfc nfnf1 nfal nfxfr ) ABDCEBFZAGZCHAACBINAC
      MAJKL $.
  $}

  ${
    $d x z $.  $d y z $.  $d z ph $.
    nfab.1 $e |- F/ x ph $.
    $( Bound-variable hypothesis builder for a class abstraction.  (Contributed
       by Mario Carneiro, 11-Aug-2016.) $)
    nfab $p |- F/_ x { y | ph } $=
      ( vz cab nfsab nfci ) BEACFABCEDGH $.
  $}

  $( Bound-variable hypothesis builder for a class abstraction.  (Contributed
     by Mario Carneiro, 14-Oct-2016.) $)
  nfaba1 $p |- F/_ x { y | A. x ph } $=
    ( wal nfa1 nfab ) ABDBCABEF $.

  ${
    $d x z $.  $d y z $.  $d z A $.  $d z B $.
    nfnfc.1 $e |- F/_ x A $.
    $( Hypothesis builder for ` F/_ y A ` .  (Contributed by Mario Carneiro,
       11-Aug-2016.) $)
    nfnfc $p |- F/ x F/_ y A $=
      ( vz wnfc cv wcel wnf wal df-nfc nfcri nfnf nfal nfxfr ) BCFEGCHZBIZEJABE
      CKQAEPABAECDLMNO $.

    nfeq.2 $e |- F/_ x B $.
    $( Hypothesis builder for equality.  (Contributed by Mario Carneiro,
       11-Aug-2016.) $)
    nfeq $p |- F/ x A = B $=
      ( vz wceq cv wcel wb wal dfcleq nfcri nfbi nfal nfxfr ) BCGFHZBIZQCIZJZFK
      AFBCLTAFRSAAFBDMAFCEMNOP $.

    $( Hypothesis builder for elementhood.  (Contributed by Mario Carneiro,
       11-Aug-2016.) $)
    nfel $p |- F/ x A e. B $=
      ( vz wcel cv wceq wa wex df-clel nfcv nfeq nfcri nfan nfex nfxfr ) BCGFHZ
      BIZSCGZJZFKAFBCLUBAFTUAAASBASMDNAFCEOPQR $.
  $}

  ${
    $d x B $.
    nfeq1.1 $e |- F/_ x A $.
    $( Hypothesis builder for equality, special case.  (Contributed by Mario
       Carneiro, 10-Oct-2016.) $)
    nfeq1 $p |- F/ x A = B $=
      ( nfcv nfeq ) ABCDACEF $.

    $( Hypothesis builder for elementhood, special case.  (Contributed by Mario
       Carneiro, 10-Oct-2016.) $)
    nfel1 $p |- F/ x A e. B $=
      ( nfcv nfel ) ABCDACEF $.
  $}

  ${
    $d x A $.
    nfeq2.1 $e |- F/_ x B $.
    $( Hypothesis builder for equality, special case.  (Contributed by Mario
       Carneiro, 10-Oct-2016.) $)
    nfeq2 $p |- F/ x A = B $=
      ( nfcv nfeq ) ABCABEDF $.

    $( Hypothesis builder for elementhood, special case.  (Contributed by Mario
       Carneiro, 10-Oct-2016.) $)
    nfel2 $p |- F/ x A e. B $=
      ( nfcv nfel ) ABCABEDF $.
  $}

  ${
    $d x y $.  $d y A $.  $d y B $.
    nfeqd.1 $e |- ( ph -> F/_ x A ) $.
    $( Consequence of the not-free predicate.  (Contributed by Mario Carneiro,
       11-Aug-2016.) $)
    nfcrd $p |- ( ph -> F/ x y e. A ) $=
      ( wnfc cv wcel wnf nfcr syl ) ABDFCGDHBIEBCDJK $.

    $d y ph $.
    nfeqd.2 $e |- ( ph -> F/_ x B ) $.
    $( Hypothesis builder for equality.  (Contributed by Mario Carneiro,
       7-Oct-2016.) $)
    nfeqd $p |- ( ph -> F/ x A = B ) $=
      ( vy wceq cv wcel wb wal dfcleq nfv nfcrd nfbid nfald nfxfrd ) CDHGIZCJZS
      DJZKZGLABGCDMAUBBGAGNATUABABGCEOABGDFOPQR $.

    $( Hypothesis builder for elementhood.  (Contributed by Mario Carneiro,
       7-Oct-2016.) $)
    nfeld $p |- ( ph -> F/ x A e. B ) $=
      ( vy wcel cv wceq wa wex df-clel nfv nfcvd nfeqd nfcrd nfand nfexd nfxfrd
      ) CDHGIZCJZUADHZKZGLABGCDMAUDBGAGNAUBUCBABUACABUAOEPABGDFQRST $.
  $}

  ${
    $d w x $.  $d w y $.  $d w z $.  $d w A $.  $d w B $.
    drnfc1.1 $e |- ( A. x x = y -> A = B ) $.
    $( Formula-building lemma for use with the Distinctor Reduction Theorem.
       (Contributed by Mario Carneiro, 8-Oct-2016.) $)
    drnfc1 $p |- ( A. x x = y -> ( F/_ x A <-> F/_ y B ) ) $=
      ( vw cv wceq wal wcel wnf wnfc eleq2d drnf1 dral2 df-nfc 3bitr4g ) AGBGHA
      IZFGZCJZAKZFISDJZBKZFIACLBDLUAUCABFTUBABRCDSEMNOAFCPBFDPQ $.

    $( Formula-building lemma for use with the Distinctor Reduction Theorem.
       (Contributed by Mario Carneiro, 8-Oct-2016.) $)
    drnfc2 $p |- ( A. x x = y -> ( F/_ z A <-> F/_ z B ) ) $=
      ( vw cv wceq wal wcel wnf wnfc eleq2d drnf2 dral2 df-nfc 3bitr4g ) AHBHIA
      JZGHZDKZCLZGJTEKZCLZGJCDMCEMUBUDABGUAUCABCSDETFNOPCGDQCGEQR $.
  $}

  ${
    $d x z $.  $d y z $.  $d z ph $.  $d z ps $.
    nfabd2.1 $e |- F/ y ph $.
    nfabd2.2 $e |- ( ( ph /\ -. A. x x = y ) -> F/ x ps ) $.
    $( Bound-variable hypothesis builder for a class abstraction.  (Contributed
       by Mario Carneiro, 8-Oct-2016.) $)
    nfabd2 $p |- ( ph -> F/_ x { y | ps } ) $=
      ( vz cv wceq wal cab wnfc wn wa nfv wcel wsb df-clab nfnae nfan nfxfrd ex
      nfsbd nfcd nfab1 eqidd drnfc1 mpbiri pm2.61d2 ) ACHDHICJZCBDKZLZAUJMZULAU
      MNZCGUKUNGOGHUKPBDGQUNCBGDRUNBDGCAUMDECDDSTFUCUAUDUBUJULDUKLBDUECDUKUKUJU
      KUFUGUHUI $.
  $}

  ${
    nfabd.1 $e |- F/ y ph $.
    nfabd.2 $e |- ( ph -> F/ x ps ) $.
    $( Bound-variable hypothesis builder for a class abstraction.  (Contributed
       by Mario Carneiro, 8-Oct-2016.) $)
    nfabd $p |- ( ph -> F/_ x { y | ps } ) $=
      ( wnf cv wceq wal wn adantr nfabd2 ) ABCDEABCGCHDHICJKFLM $.
  $}

  ${
    $d w x $.  $d w y $.  $d w z $.  $d w A $.  $d w B $.  $d w ph $.
    dvelimdc.1 $e |- F/ x ph $.
    dvelimdc.2 $e |- F/ z ph $.
    dvelimdc.3 $e |- ( ph -> F/_ x A ) $.
    dvelimdc.4 $e |- ( ph -> F/_ z B ) $.
    dvelimdc.5 $e |- ( ph -> ( z = y -> A = B ) ) $.
    $( Deduction form of ~ dvelimc .  (Contributed by Mario Carneiro,
       8-Oct-2016.) $)
    dvelimdc $p |- ( ph -> ( -. A. x x = y -> F/_ x B ) ) $=
      ( vw cv wceq wal wn wnfc wa wcel nfcrd nfv wnf wb eleq2 syl6 dvelimdf imp
      nfcd ex ) ABMCMZNBOPZBFQAUKRZBLFULLUAAUKLMZFSZBUBAUMESZUNBCDGHABLEITADLFJ
      TADMUJNEFNUOUNUCKEFUMUDUEUFUGUHUI $.
  $}

  ${
    dvelimc.1 $e |- F/_ x A $.
    dvelimc.2 $e |- F/_ z B $.
    dvelimc.3 $e |- ( z = y -> A = B ) $.
    $( Version of ~ dvelim for classes.  (Contributed by Mario Carneiro,
       8-Oct-2016.) $)
    dvelimc $p |- ( -. A. x x = y -> F/_ x B ) $=
      ( cv wceq wal wn wnfc wi wtru nftru a1i dvelimdc trud ) AIBIZJAKLAEMNOABC
      DEAPCPADMOFQCEMOGQCITJDEJNOHQRS $.
  $}

  ${
    $d x z $.  $d y z $.
    $( If ` x ` and ` y ` are distinct, then ` x ` is not free in ` y ` .
       (Contributed by Mario Carneiro, 8-Oct-2016.) $)
    nfcvf $p |- ( -. A. x x = y -> F/_ x y ) $=
      ( vz cv nfcv wceq id dvelimc ) ABCCDZBDZAIECJEIJFGH $.

    $( If ` x ` and ` y ` are distinct, then ` y ` is not free in ` x ` .
       (Contributed by Mario Carneiro, 5-Dec-2016.) $)
    nfcvf2 $p |- ( -. A. x x = y -> F/_ y x ) $=
      ( cv wnfc nfcvf naecoms ) BACDBABAEF $.
  $}

  ${
    $d y A $.  $d y B $.  $d x y $.
    cleqf.1 $e |- F/_ x A $.
    cleqf.2 $e |- F/_ x B $.
    $( Establish equality between classes, using bound-variable hypotheses
       instead of distinct variable conditions.  (Contributed by NM,
       5-Aug-1993.)  (Revised by Mario Carneiro, 7-Oct-2016.) $)
    cleqf $p |- ( A = B <-> A. x ( x e. A <-> x e. B ) ) $=
      ( vy wceq cv wcel wb wal dfcleq nfv nfcri nfbi eleq1 bibi12d cbval bitr4i
      ) BCGFHZBIZTCIZJZFKAHZBIZUDCIZJZAKFBCLUGUCAFUGFMUAUBAAFBDNAFCENOUDTGUEUAU
      FUBUDTBPUDTCPQRS $.
  $}

  ${
    abid2f.1 $e |- F/_ x A $.
    $( A simplification of class abstraction.  Theorem 5.2 of [Quine] p. 35.
       (Contributed by NM, 5-Sep-2011.)  (Revised by Mario Carneiro,
       7-Oct-2016.) $)
    abid2f $p |- { x | x e. A } = A $=
      ( cv wcel cab wceq wb wal nfab1 cleqf abid bibi2i albii bitri biid mpgbir
      eqcomi ) BADZBEZAFZBUAGZTTHZAUBTSUAEZHZAIUCAIABUACTAJKUEUCAUDTTTALMNOTPQR
      $.
  $}

  ${
    $d v A $.  $d x v z $.  $d y v z $.  $d v ph $.
    sbabel.1 $e |- F/_ x A $.
    $( Theorem to move a substitution in and out of a class abstraction.
       (Contributed by NM, 27-Sep-2003.)  (Revised by Mario Carneiro,
       7-Oct-2016.) $)
    sbabel $p |- ( [ y / x ] { z | ph } e. A <-> { z | [ y / x ] ph } e. A ) $=
      ( vv cv cab wceq wcel wa wex wsb wb wal sbf abeq2 sbbii 3bitr4i sbex sban
      nfv sbrbis sbalv nfcri anbi12i bitri exbii df-clel ) GHZADIZJZUKEKZLZGMZB
      CNZUKABCNZDIZJZUNLZGMZULEKZBCNUSEKUQUOBCNZGMVBUOGBCUAVDVAGVDUMBCNZUNBCNZL
      VAUMUNBCUBVEUTVFUNDHUKKZAOZDPZBCNVGUROZDPVEUTVHVJBCDVGVGABCVGBCVGBUCQUDUE
      UMVIBCADUKRSURDUKRTUNBCBGEFUFQUGUHUIUHVCUPBCGULEUJSGUSEUJT $.
  $}

$(
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
        Negated equality and membership
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
$)

  $( Declare new connectives. $)
  $c =/= $. $( Not equal to (equal sign with slash through it). $)
  $c e/ $. $( Not an element of (epsilon with slash through it). $)

  $( Extend wff notation to include inequality. $)
  wne $a wff A =/= B $.

  $( Extend wff notation to include negated membership. $)
  wnel $a wff A e/ B $.

  $( Define inequality.  (Contributed by NM, 5-Aug-1993.) $)
  df-ne $a |- ( A =/= B <-> -. A = B ) $.

  $( Define negated membership.  (Contributed by NM, 7-Aug-1994.) $)
  df-nel $a |- ( A e/ B <-> -. A e. B ) $.

  $( Negation of inequality.  (Contributed by NM, 9-Jun-2006.) $)
  nne $p |- ( -. A =/= B <-> A = B ) $=
    ( wceq wne wn df-ne con2bii bicomi ) ABCZABDZEJIABFGH $.

  $( No class is unequal to itself.  (Contributed by Stefan O'Rear,
     1-Jan-2015.) $)
  neirr $p |- -. A =/= A $=
    ( wne wn wceq eqid nne mpbir ) AABCAADAEAAFG $.

  $( Excluded middle with equality and inequality.  (Contributed by NM,
     3-Feb-2012.) $)
  exmidne $p |- ( A = B \/ A =/= B ) $=
    ( wceq wne wo wn exmid df-ne orbi2i mpbir ) ABCZABDZEKKFZEKGLMKABHIJ $.

  $( Law of noncontradiction with equality and inequality.  (Contributed by NM,
     3-Feb-2012.) $)
  nonconne $p |- -. ( A = B /\ A =/= B ) $=
    ( wceq wne wa wn pm3.24 df-ne anbi2i mtbir ) ABCZABDZEKKFZEKGLMKABHIJ $.

  $( Equality theorem for inequality.  (Contributed by NM, 19-Nov-1994.) $)
  neeq1 $p |- ( A = B -> ( A =/= C <-> B =/= C ) ) $=
    ( wceq wn wne eqeq1 notbid df-ne 3bitr4g ) ABDZACDZEBCDZEACFBCFKLMABCGHACIB
    CIJ $.

  $( Equality theorem for inequality.  (Contributed by NM, 19-Nov-1994.) $)
  neeq2 $p |- ( A = B -> ( C =/= A <-> C =/= B ) ) $=
    ( wceq wn wne eqeq2 notbid df-ne 3bitr4g ) ABDZCADZECBDZECAFCBFKLMABCGHCAIC
    BIJ $.

  ${
    neeq1i.1 $e |- A = B $.
    $( Inference for inequality.  (Contributed by NM, 29-Apr-2005.) $)
    neeq1i $p |- ( A =/= C <-> B =/= C ) $=
      ( wceq wne wb neeq1 ax-mp ) ABEACFBCFGDABCHI $.

    $( Inference for inequality.  (Contributed by NM, 29-Apr-2005.) $)
    neeq2i $p |- ( C =/= A <-> C =/= B ) $=
      ( wceq wne wb neeq2 ax-mp ) ABECAFCBFGDABCHI $.

    neeq12i.2 $e |- C = D $.
    $( Inference for inequality.  (Contributed by NM, 24-Jul-2012.) $)
    neeq12i $p |- ( A =/= C <-> B =/= D ) $=
      ( wne neeq2i neeq1i bitri ) ACGADGBDGCDAFHABDEIJ $.
  $}

  ${
    neeq1d.1 $e |- ( ph -> A = B ) $.
    $( Deduction for inequality.  (Contributed by NM, 25-Oct-1999.) $)
    neeq1d $p |- ( ph -> ( A =/= C <-> B =/= C ) ) $=
      ( wceq wne wb neeq1 syl ) ABCFBDGCDGHEBCDIJ $.

    $( Deduction for inequality.  (Contributed by NM, 25-Oct-1999.) $)
    neeq2d $p |- ( ph -> ( C =/= A <-> C =/= B ) ) $=
      ( wceq wne wb neeq2 syl ) ABCFDBGDCGHEBCDIJ $.

    neeq12d.2 $e |- ( ph -> C = D ) $.
    $( Deduction for inequality.  (Contributed by NM, 24-Jul-2012.) $)
    neeq12d $p |- ( ph -> ( A =/= C <-> B =/= D ) ) $=
      ( wne neeq1d neeq2d bitrd ) ABDHCDHCEHABCDFIADECGJK $.
  $}

  ${
    neneqd.1 $e |- ( ph -> A =/= B ) $.
    $( Deduction eliminating inequality definition.  (Contributed by Jonathan
       Ben-Naim, 3-Jun-2011.) $)
    neneqd $p |- ( ph -> -. A = B ) $=
      ( wne wceq wn df-ne sylib ) ABCEBCFGDBCHI $.
  $}

  ${
    eqnetr.1 $e |- A = B $.
    eqnetr.2 $e |- B =/= C $.
    $( Substitution of equal classes into an inequality.  (Contributed by NM,
       4-Jul-2012.) $)
    eqnetri $p |- A =/= C $=
      ( wne neeq1i mpbir ) ACFBCFEABCDGH $.
  $}

  ${
    eqnetrd.1 $e |- ( ph -> A = B ) $.
    eqnetrd.2 $e |- ( ph -> B =/= C ) $.
    $( Substitution of equal classes into an inequality.  (Contributed by NM,
       4-Jul-2012.) $)
    eqnetrd $p |- ( ph -> A =/= C ) $=
      ( wne neeq1d mpbird ) ABDGCDGFABCDEHI $.
  $}

  ${
    eqnetrr.1 $e |- A = B $.
    eqnetrr.2 $e |- A =/= C $.
    $( Substitution of equal classes into an inequality.  (Contributed by NM,
       4-Jul-2012.) $)
    eqnetrri $p |- B =/= C $=
      ( eqcomi eqnetri ) BACABDFEG $.
  $}

  ${
    eqnetrrd.1 $e |- ( ph -> A = B ) $.
    eqnetrrd.2 $e |- ( ph -> A =/= C ) $.
    $( Substitution of equal classes into an inequality.  (Contributed by NM,
       4-Jul-2012.) $)
    eqnetrrd $p |- ( ph -> B =/= C ) $=
      ( eqcomd eqnetrd ) ACBDABCEGFH $.
  $}

  ${
    neeqtr.1 $e |- A =/= B $.
    neeqtr.2 $e |- B = C $.
    $( Substitution of equal classes into an inequality.  (Contributed by NM,
       4-Jul-2012.) $)
    neeqtri $p |- A =/= C $=
      ( wne neeq2i mpbi ) ABFACFDBCAEGH $.
  $}

  ${
    neeqtrd.1 $e |- ( ph -> A =/= B ) $.
    neeqtrd.2 $e |- ( ph -> B = C ) $.
    $( Substitution of equal classes into an inequality.  (Contributed by NM,
       4-Jul-2012.) $)
    neeqtrd $p |- ( ph -> A =/= C ) $=
      ( wne neeq2d mpbid ) ABCGBDGEACDBFHI $.
  $}

  ${
    neeqtrr.1 $e |- A =/= B $.
    neeqtrr.2 $e |- C = B $.
    $( Substitution of equal classes into an inequality.  (Contributed by NM,
       4-Jul-2012.) $)
    neeqtrri $p |- A =/= C $=
      ( eqcomi neeqtri ) ABCDCBEFG $.
  $}

  ${
    neeqtrrd.1 $e |- ( ph -> A =/= B ) $.
    neeqtrrd.2 $e |- ( ph -> C = B ) $.
    $( Substitution of equal classes into an inequality.  (Contributed by NM,
       4-Jul-2012.) $)
    neeqtrrd $p |- ( ph -> A =/= C ) $=
      ( eqcomd neeqtrd ) ABCDEADCFGH $.
  $}

  ${
    syl5eqner.1 $e |- B = A $.
    syl5eqner.2 $e |- ( ph -> B =/= C ) $.
    $( B chained equality inference for inequality.  (Contributed by NM,
       6-Jun-2012.) $)
    syl5eqner $p |- ( ph -> A =/= C ) $=
      ( wne neeq1i sylib ) ACDGBDGFCBDEHI $.
  $}

  ${
    3netr3d.1 $e |- ( ph -> A =/= B ) $.
    3netr3d.2 $e |- ( ph -> A = C ) $.
    3netr3d.3 $e |- ( ph -> B = D ) $.
    $( Substitution of equality into both sides of an inequality.  (Contributed
       by NM, 24-Jul-2012.) $)
    3netr3d $p |- ( ph -> C =/= D ) $=
      ( wne neeq12d mpbid ) ABCIDEIFABDCEGHJK $.
  $}

  ${
    3netr4d.1 $e |- ( ph -> A =/= B ) $.
    3netr4d.2 $e |- ( ph -> C = A ) $.
    3netr4d.3 $e |- ( ph -> D = B ) $.
    $( Substitution of equality into both sides of an inequality.  (Contributed
       by NM, 24-Jul-2012.) $)
    3netr4d $p |- ( ph -> C =/= D ) $=
      ( wne neeq12d mpbird ) ADEIBCIFADBECGHJK $.
  $}

  ${
    3netr3g.1 $e |- ( ph -> A =/= B ) $.
    3netr3g.2 $e |- A = C $.
    3netr3g.3 $e |- B = D $.
    $( Substitution of equality into both sides of an inequality.  (Contributed
       by NM, 24-Jul-2012.) $)
    3netr3g $p |- ( ph -> C =/= D ) $=
      ( wne neeq12i sylib ) ABCIDEIFBDCEGHJK $.
  $}

  ${
    3netr4g.1 $e |- ( ph -> A =/= B ) $.
    3netr4g.2 $e |- C = A $.
    3netr4g.3 $e |- D = B $.
    $( Substitution of equality into both sides of an inequality.  (Contributed
       by NM, 14-Jun-2012.) $)
    3netr4g $p |- ( ph -> C =/= D ) $=
      ( wne neeq12i sylibr ) ABCIDEIFDBECGHJK $.
  $}

  ${
    necon3abii.1 $e |- ( A = B <-> ph ) $.
    $( Deduction from equality to inequality.  (Contributed by NM,
       9-Nov-2007.) $)
    necon3abii $p |- ( A =/= B <-> -. ph ) $=
      ( wne wceq df-ne xchbinx ) BCEBCFABCGDH $.
  $}

  ${
    necon3bbii.1 $e |- ( ph <-> A = B ) $.
    $( Deduction from equality to inequality.  (Contributed by NM,
       13-Apr-2007.) $)
    necon3bbii $p |- ( -. ph <-> A =/= B ) $=
      ( wne wn wceq bicomi necon3abii ) BCEAFABCABCGDHIH $.
  $}

  ${
    necon3bii.1 $e |- ( A = B <-> C = D ) $.
    $( Inference from equality to inequality.  (Contributed by NM,
       23-Feb-2005.) $)
    necon3bii $p |- ( A =/= B <-> C =/= D ) $=
      ( wne wceq wn necon3abii df-ne bitr4i ) ABFCDGZHCDFLABEICDJK $.
  $}

  ${
    necon3abid.1 $e |- ( ph -> ( A = B <-> ps ) ) $.
    $( Deduction from equality to inequality.  (Contributed by NM,
       21-Mar-2007.) $)
    necon3abid $p |- ( ph -> ( A =/= B <-> -. ps ) ) $=
      ( wne wceq wn df-ne notbid syl5bb ) CDFCDGZHABHCDIALBEJK $.
  $}

  ${
    necon3bbid.1 $e |- ( ph -> ( ps <-> A = B ) ) $.
    $( Deduction from equality to inequality.  (Contributed by NM,
       2-Jun-2007.) $)
    necon3bbid $p |- ( ph -> ( -. ps <-> A =/= B ) ) $=
      ( wne wn wceq bicomd necon3abid ) ACDFBGABCDABCDHEIJI $.
  $}

  ${
    necon3bid.1 $e |- ( ph -> ( A = B <-> C = D ) ) $.
    $( Deduction from equality to inequality.  (Contributed by NM,
       23-Feb-2005.)  (Proof shortened by Andrew Salmon, 25-May-2011.) $)
    necon3bid $p |- ( ph -> ( A =/= B <-> C =/= D ) ) $=
      ( wne wceq wn df-ne necon3bbid syl5bb ) BCGBCHZIADEGBCJAMDEFKL $.
  $}

  ${
    necon3ad.1 $e |- ( ph -> ( ps -> A = B ) ) $.
    $( Contrapositive law deduction for inequality.  (Contributed by NM,
       2-Apr-2007.)  (Proof shortened by Andrew Salmon, 25-May-2011.) $)
    necon3ad $p |- ( ph -> ( A =/= B -> -. ps ) ) $=
      ( wne wceq wn nne syl6ibr con2d ) ABCDFZABCDGLHECDIJK $.
  $}

  ${
    necon3bd.1 $e |- ( ph -> ( A = B -> ps ) ) $.
    $( Contrapositive law deduction for inequality.  (Contributed by NM,
       2-Apr-2007.)  (Proof shortened by Andrew Salmon, 25-May-2011.) $)
    necon3bd $p |- ( ph -> ( -. ps -> A =/= B ) ) $=
      ( wne wn wceq nne syl5bi con1d ) ACDFZBLGCDHABCDIEJK $.
  $}

  ${
    necon3d.1 $e |- ( ph -> ( A = B -> C = D ) ) $.
    $( Contrapositive law deduction for inequality.  (Contributed by NM,
       10-Jun-2006.) $)
    necon3d $p |- ( ph -> ( C =/= D -> A =/= B ) ) $=
      ( wne wceq wn necon3ad df-ne syl6ibr ) ADEGBCHZIBCGAMDEFJBCKL $.
  $}

  ${
    necon3i.1 $e |- ( A = B -> C = D ) $.
    $( Contrapositive inference for inequality.  (Contributed by NM,
       9-Aug-2006.) $)
    necon3i $p |- ( C =/= D -> A =/= B ) $=
      ( wceq wi wne id necon3d ax-mp ) ABFCDFGZCDHABHGELABCDLIJK $.
  $}

  ${
    necon3ai.1 $e |- ( ph -> A = B ) $.
    $( Contrapositive inference for inequality.  (Contributed by NM,
       23-May-2007.)  (Proof shortened by Andrew Salmon, 25-May-2011.) $)
    necon3ai $p |- ( A =/= B -> -. ph ) $=
      ( wne wceq wn nne sylibr con2i ) ABCEZABCFKGDBCHIJ $.
  $}

  ${
    necon3bi.1 $e |- ( A = B -> ph ) $.
    $( Contrapositive inference for inequality.  (Contributed by NM,
       1-Jun-2007.)  (Proof shortened by Andrew Salmon, 25-May-2011.) $)
    necon3bi $p |- ( -. ph -> A =/= B ) $=
      ( wne wn wceq nne sylbi con1i ) BCEZAKFBCGABCHDIJ $.
  $}

  ${
    necon1ai.1 $e |- ( -. ph -> A = B ) $.
    $( Contrapositive inference for inequality.  (Contributed by NM,
       12-Feb-2007.) $)
    necon1ai $p |- ( A =/= B -> ph ) $=
      ( wne wceq wn df-ne con1i sylbi ) BCEBCFZGABCHAKDIJ $.
  $}

  ${
    necon1bi.1 $e |- ( A =/= B -> ph ) $.
    $( Contrapositive inference for inequality.  (Contributed by NM,
       18-Mar-2007.)  (Proof shortened by Andrew Salmon, 25-May-2011.) $)
    necon1bi $p |- ( -. ph -> A = B ) $=
      ( wn wne wceq con3i nne sylib ) AEBCFZEBCGKADHBCIJ $.
  $}

  ${
    necon1i.1 $e |- ( A =/= B -> C = D ) $.
    $( Contrapositive inference for inequality.  (Contributed by NM,
       18-Mar-2007.) $)
    necon1i $p |- ( C =/= D -> A = B ) $=
      ( wceq wn wne df-ne sylbir necon1ai ) ABFZCDLGABHCDFABIEJK $.
  $}

  ${
    necon2ai.1 $e |- ( A = B -> -. ph ) $.
    $( Contrapositive inference for inequality.  (Contributed by NM,
       16-Jan-2007.)  (Proof shortened by Andrew Salmon, 25-May-2011.) $)
    necon2ai $p |- ( ph -> A =/= B ) $=
      ( wne wn wceq nne sylbi con4i ) BCEZAKFBCGAFBCHDIJ $.
  $}

  ${
    necon2bi.1 $e |- ( ph -> A =/= B ) $.
    $( Contrapositive inference for inequality.  (Contributed by NM,
       1-Apr-2007.) $)
    necon2bi $p |- ( A = B -> -. ph ) $=
      ( wceq neneqd con2i ) ABCEABCDFG $.
  $}

  ${
    necon2i.1 $e |- ( A = B -> C =/= D ) $.
    $( Contrapositive inference for inequality.  (Contributed by NM,
       18-Mar-2007.) $)
    necon2i $p |- ( C = D -> A =/= B ) $=
      ( wceq neneqd necon2ai ) CDFABABFCDEGH $.
  $}

  ${
    necon2ad.1 $e |- ( ph -> ( A = B -> -. ps ) ) $.
    $( Contrapositive inference for inequality.  (Contributed by NM,
       19-Apr-2007.)  (Proof shortened by Andrew Salmon, 25-May-2011.) $)
    necon2ad $p |- ( ph -> ( ps -> A =/= B ) ) $=
      ( wne wn wceq nne syl5bi con4d ) ACDFZBLGCDHABGCDIEJK $.
  $}

  ${
    necon2bd.1 $e |- ( ph -> ( ps -> A =/= B ) ) $.
    $( Contrapositive inference for inequality.  (Contributed by NM,
       13-Apr-2007.) $)
    necon2bd $p |- ( ph -> ( A = B -> -. ps ) ) $=
      ( wceq wne wn df-ne syl6ib con2d ) ABCDFZABCDGLHECDIJK $.
  $}

  ${
    necon2d.1 $e |- ( ph -> ( A = B -> C =/= D ) ) $.
    $( Contrapositive inference for inequality.  (Contributed by NM,
       28-Dec-2008.) $)
    necon2d $p |- ( ph -> ( C = D -> A =/= B ) ) $=
      ( wceq wne wn df-ne syl6ib necon2ad ) ADEGZBCABCGDEHMIFDEJKL $.
  $}

  ${
    necon1abii.1 $e |- ( -. ph <-> A = B ) $.
    $( Contrapositive inference for inequality.  (Contributed by NM,
       17-Mar-2007.) $)
    necon1abii $p |- ( A =/= B <-> ph ) $=
      ( wne wceq wn df-ne con1bii bitri ) BCEBCFZGABCHAKDIJ $.
  $}

  ${
    necon1bbii.1 $e |- ( A =/= B <-> ph ) $.
    $( Contrapositive inference for inequality.  (Contributed by NM,
       17-Mar-2007.) $)
    necon1bbii $p |- ( -. ph <-> A = B ) $=
      ( wceq wn wne df-ne bitr3i con1bii ) BCEZAKFBCGABCHDIJ $.
  $}

  ${
    necon1abid.1 $e |- ( ph -> ( -. ps <-> A = B ) ) $.
    $( Contrapositive deduction for inequality.  (Contributed by NM,
       21-Aug-2007.) $)
    necon1abid $p |- ( ph -> ( A =/= B <-> ps ) ) $=
      ( wne wceq wn df-ne con1bid syl5bb ) CDFCDGZHABCDIABLEJK $.
  $}

  ${
    necon1bbid.1 $e |- ( ph -> ( A =/= B <-> ps ) ) $.
    $( Contrapositive inference for inequality.  (Contributed by NM,
       31-Jan-2008.) $)
    necon1bbid $p |- ( ph -> ( -. ps <-> A = B ) ) $=
      ( wceq wn wne df-ne syl5bbr con1bid ) ACDFZBLGCDHABCDIEJK $.
  $}

  ${
    necon2abii.1 $e |- ( A = B <-> -. ph ) $.
    $( Contrapositive inference for inequality.  (Contributed by NM,
       2-Mar-2007.) $)
    necon2abii $p |- ( ph <-> A =/= B ) $=
      ( wne wceq wn bicomi necon1abii ) BCEAABCBCFAGDHIH $.
  $}

  ${
    necon2bbii.1 $e |- ( ph <-> A =/= B ) $.
    $( Contrapositive inference for inequality.  (Contributed by NM,
       13-Apr-2007.) $)
    necon2bbii $p |- ( A = B <-> -. ph ) $=
      ( wn wceq wne bicomi necon1bbii ) AEBCFABCABCGDHIH $.
  $}

  ${
    necon2abid.1 $e |- ( ph -> ( A = B <-> -. ps ) ) $.
    $( Contrapositive deduction for inequality.  (Contributed by NM,
       18-Jul-2007.) $)
    necon2abid $p |- ( ph -> ( ps <-> A =/= B ) ) $=
      ( wceq wn wne con2bid df-ne syl6bbr ) ABCDFZGCDHALBEICDJK $.
  $}

  ${
    necon2bbid.1 $e |- ( ph -> ( ps <-> A =/= B ) ) $.
    $( Contrapositive deduction for inequality.  (Contributed by NM,
       13-Apr-2007.) $)
    necon2bbid $p |- ( ph -> ( A = B <-> -. ps ) ) $=
      ( wceq wne wn df-ne syl6bb con2bid ) ABCDFZABCDGLHECDIJK $.
  $}

  ${
    necon4ai.1 $e |- ( A =/= B -> -. ph ) $.
    $( Contrapositive inference for inequality.  (Contributed by NM,
       16-Jan-2007.)  (Proof shortened by Andrew Salmon, 25-May-2011.) $)
    necon4ai $p |- ( ph -> A = B ) $=
      ( wne wn wceq con2i nne sylib ) ABCEZFBCGKADHBCIJ $.
  $}

  ${
    necon4i.1 $e |- ( A =/= B -> C =/= D ) $.
    $( Contrapositive inference for inequality.  (Contributed by NM,
       17-Mar-2007.)  (Proof shortened by Andrew Salmon, 25-May-2011.) $)
    necon4i $p |- ( C = D -> A = B ) $=
      ( wceq wne wn necon2bi nne sylib ) CDFABGZHABFLCDEIABJK $.
  $}

  ${
    necon4ad.1 $e |- ( ph -> ( A =/= B -> -. ps ) ) $.
    $( Contrapositive inference for inequality.  (Contributed by NM,
       2-Apr-2007.)  (Proof shortened by Andrew Salmon, 25-May-2011.) $)
    necon4ad $p |- ( ph -> ( ps -> A = B ) ) $=
      ( wne wn wceq con2d nne syl6ib ) ABCDFZGCDHALBEICDJK $.
  $}

  ${
    necon4bd.1 $e |- ( ph -> ( -. ps -> A =/= B ) ) $.
    $( Contrapositive inference for inequality.  (Contributed by NM,
       1-Jun-2007.)  (Proof shortened by Andrew Salmon, 25-May-2011.) $)
    necon4bd $p |- ( ph -> ( A = B -> ps ) ) $=
      ( wceq wne wn nne con1d syl5bir ) CDFCDGZHABCDIABLEJK $.
  $}

  ${
    necon4d.1 $e |- ( ph -> ( A =/= B -> C =/= D ) ) $.
    $( Contrapositive inference for inequality.  (Contributed by NM,
       2-Apr-2007.)  (Proof shortened by Andrew Salmon, 25-May-2011.) $)
    necon4d $p |- ( ph -> ( C = D -> A = B ) ) $=
      ( wceq wne wn necon2bd nne syl6ib ) ADEGBCHZIBCGAMDEFJBCKL $.
  $}

  ${
    necon4abid.1 $e |- ( ph -> ( A =/= B <-> -. ps ) ) $.
    $( Contrapositive law deduction for inequality.  (Contributed by NM,
       11-Jan-2008.) $)
    necon4abid $p |- ( ph -> ( A = B <-> ps ) ) $=
      ( wceq wn wne df-ne syl5bbr con4bid ) ACDFZBLGCDHABGCDIEJK $.
  $}

  ${
    necon4bbid.1 $e |- ( ph -> ( -. ps <-> A =/= B ) ) $.
    $( Contrapositive law deduction for inequality.  (Contributed by NM,
       9-May-2012.) $)
    necon4bbid $p |- ( ph -> ( ps <-> A = B ) ) $=
      ( wceq wn wne bicomd necon4abid ) ACDFBABCDABGCDHEIJI $.
  $}

  ${
    necon4bid.1 $e |- ( ph -> ( A =/= B <-> C =/= D ) ) $.
    $( Contrapositive law deduction for inequality.  (Contributed by NM,
       29-Jun-2007.) $)
    necon4bid $p |- ( ph -> ( A = B <-> C = D ) ) $=
      ( wceq wne wn necon2bbid nne syl6rbb ) ADEGBCHZIBCGAMDEFJBCKL $.
  $}

  ${
    necon1ad.1 $e |- ( ph -> ( -. ps -> A = B ) ) $.
    $( Contrapositive deduction for inequality.  (Contributed by NM,
       2-Apr-2007.) $)
    necon1ad $p |- ( ph -> ( A =/= B -> ps ) ) $=
      ( wne wceq wn df-ne con1d syl5bi ) CDFCDGZHABCDIABLEJK $.
  $}

  ${
    necon1bd.1 $e |- ( ph -> ( A =/= B -> ps ) ) $.
    $( Contrapositive deduction for inequality.  (Contributed by NM,
       21-Mar-2007.)  (Proof shortened by Andrew Salmon, 25-May-2011.) $)
    necon1bd $p |- ( ph -> ( -. ps -> A = B ) ) $=
      ( wn wne wceq con3d nne syl6ib ) ABFCDGZFCDHALBEICDJK $.
  $}

  ${
    necon1d.1 $e |- ( ph -> ( A =/= B -> C = D ) ) $.
    $( Contrapositive law deduction for inequality.  (Contributed by NM,
       28-Dec-2008.)  (Proof shortened by Andrew Salmon, 25-May-2011.) $)
    necon1d $p |- ( ph -> ( C =/= D -> A = B ) ) $=
      ( wne wceq wn nne syl6ibr necon4ad ) ADEGZBCABCGDEHMIFDEJKL $.
  $}

  ${
    neneqad.1 $e |- ( ph -> -. A = B ) $.
    $( If it is not the case that two classes are equal, they are unequal.
       Converse of ~ neneqd .  One-way deduction form of ~ df-ne .
       (Contributed by David Moews, 28-Feb-2017.) $)
    neneqad $p |- ( ph -> A =/= B ) $=
      ( wceq con2i necon2ai ) ABCABCEDFG $.
  $}

  $( Contraposition law for inequality.  (Contributed by NM, 28-Dec-2008.) $)
  nebi $p |- ( ( A = B <-> C = D ) <-> ( A =/= B <-> C =/= D ) ) $=
    ( wceq wb wne id necon3bid necon4bid impbii ) ABECDEFZABGCDGFZLABCDLHIMABCD
    MHJK $.

  $( Theorem *13.18 in [WhiteheadRussell] p. 178.  (Contributed by Andrew
     Salmon, 3-Jun-2011.) $)
  pm13.18 $p |- ( ( A = B /\ A =/= C ) -> B =/= C ) $=
    ( wceq wne eqeq1 biimprd necon3d imp ) ABDZACEBCEJBCACJACDBCDABCFGHI $.

  $( Theorem *13.181 in [WhiteheadRussell] p. 178.  (Contributed by Andrew
     Salmon, 3-Jun-2011.) $)
  pm13.181 $p |- ( ( A = B /\ B =/= C ) -> A =/= C ) $=
    ( wceq wne eqcom pm13.18 sylanb ) ABDBADBCEACEABFBACGH $.

  ${
    pm2.21ddne.1 $e |- ( ph -> A = B ) $.
    pm2.21ddne.2 $e |- ( ph -> A =/= B ) $.
    $( A contradiction implies anything.  Equality/inequality deduction form.
       (Contributed by David Moews, 28-Feb-2017.) $)
    pm2.21ddne $p |- ( ph -> ps ) $=
      ( wceq neneqd pm2.21dd ) ACDGBEACDFHI $.
  $}

  ${
    pm2.61ne.1 $e |- ( A = B -> ( ps <-> ch ) ) $.
    pm2.61ne.2 $e |- ( ( ph /\ A =/= B ) -> ps ) $.
    pm2.61ne.3 $e |- ( ph -> ch ) $.
    $( Deduction eliminating an inequality in an antecedent.  (Contributed by
       NM, 24-May-2006.)  (Proof shortened by Andrew Salmon, 25-May-2011.) $)
    pm2.61ne $p |- ( ph -> ps ) $=
      ( wne wi expcom wn wceq nne syl5ibr sylbi pm2.61i ) DEIZABJZARBGKRLDEMZSD
      ENABTCHFOPQ $.
  $}

  ${
    pm2.61ine.1 $e |- ( A = B -> ph ) $.
    pm2.61ine.2 $e |- ( A =/= B -> ph ) $.
    $( Inference eliminating an inequality in an antecedent.  (Contributed by
       NM, 16-Jan-2007.)  (Proof shortened by Andrew Salmon, 25-May-2011.) $)
    pm2.61ine $p |- ph $=
      ( wne wn wceq nne sylbi pm2.61i ) BCFZAELGBCHABCIDJK $.
  $}

  ${
    pm2.61dne.1 $e |- ( ph -> ( A = B -> ps ) ) $.
    pm2.61dne.2 $e |- ( ph -> ( A =/= B -> ps ) ) $.
    $( Deduction eliminating an inequality in an antecedent.  (Contributed by
       NM, 1-Jun-2007.)  (Proof shortened by Andrew Salmon, 25-May-2011.) $)
    pm2.61dne $p |- ( ph -> ps ) $=
      ( wne wn wceq nne syl5bi pm2.61d ) ACDGZBFMHCDIABCDJEKL $.
  $}

  ${
    pm2.61dane.1 $e |- ( ( ph /\ A = B ) -> ps ) $.
    pm2.61dane.2 $e |- ( ( ph /\ A =/= B ) -> ps ) $.
    $( Deduction eliminating an inequality in an antecedent.  (Contributed by
       NM, 30-Nov-2011.) $)
    pm2.61dane $p |- ( ph -> ps ) $=
      ( wceq ex wne pm2.61dne ) ABCDACDGBEHACDIBFHJ $.
  $}

  ${
    pm2.61da2ne.1 $e |- ( ( ph /\ A = B ) -> ps ) $.
    pm2.61da2ne.2 $e |- ( ( ph /\ C = D ) -> ps ) $.
    pm2.61da2ne.3 $e |- ( ( ph /\ ( A =/= B /\ C =/= D ) ) -> ps ) $.
    $( Deduction eliminating two inequalities in an antecedent.  (Contributed
       by NM, 29-May-2013.) $)
    pm2.61da2ne $p |- ( ph -> ps ) $=
      ( wne wa wceq adantlr anassrs pm2.61dane ) ABCDGACDJZKBEFAEFLBPHMAPEFJBIN
      OO $.
  $}

  ${
    pm2.61da3ne.1 $e |- ( ( ph /\ A = B ) -> ps ) $.
    pm2.61da3ne.2 $e |- ( ( ph /\ C = D ) -> ps ) $.
    pm2.61da3ne.3 $e |- ( ( ph /\ E = F ) -> ps ) $.
    pm2.61da3ne.4 $e |- ( ( ph /\ ( A =/= B /\ C =/= D /\ E =/= F ) )
          -> ps ) $.
    $( Deduction eliminating three inequalities in an antecedent.  (Contributed
       by NM, 15-Jun-2013.) $)
    pm2.61da3ne $p |- ( ph -> ps ) $=
      ( wne wa wceq adantlr simpll simplrl simplrr simpr pm2.61dane pm2.61da2ne
      syl13anc ) ABCDEFIJACDMZEFMZNZNZBGHAGHOBUFKPUGGHMZNAUDUEUHBAUFUHQAUDUEUHR
      AUDUEUHSUGUHTLUCUAUB $.
  $}

  $( Commutation of inequality.  (Contributed by NM, 14-May-1999.) $)
  necom $p |- ( A =/= B <-> B =/= A ) $=
    ( eqcom necon3bii ) ABBAABCD $.

  ${
    necomi.1 $e |- A =/= B $.
    $( Inference from commutative law for inequality.  (Contributed by NM,
       17-Oct-2012.) $)
    necomi $p |- B =/= A $=
      ( wne necom mpbi ) ABDBADCABEF $.
  $}

  ${
    necomd.1 $e |- ( ph -> A =/= B ) $.
    $( Deduction from commutative law for inequality.  (Contributed by NM,
       12-Feb-2008.) $)
    necomd $p |- ( ph -> B =/= A ) $=
      ( wne necom sylib ) ABCECBEDBCFG $.
  $}

  $( Logical OR with an equality.  (Contributed by NM, 29-Apr-2007.) $)
  neor $p |- ( ( A = B \/ ps ) <-> ( A =/= B -> ps ) ) $=
    ( wceq wo wn wi wne df-or df-ne imbi1i bitr4i ) BCDZAEMFZAGBCHZAGMAIONABCJK
    L $.

  $( A De Morgan's law for inequality.  (Contributed by NM, 18-May-2007.) $)
  neanior $p |- ( ( A =/= B /\ C =/= D ) <-> -. ( A = B \/ C = D ) ) $=
    ( wne wa wceq wn wo df-ne anbi12i pm4.56 bitri ) ABEZCDEZFABGZHZCDGZHZFPRIH
    NQOSABJCDJKPRLM $.

  $( A De Morgan's law for inequality.  (Contributed by NM, 30-Sep-2013.) $)
  ne3anior $p |- ( ( A =/= B /\ C =/= D /\ E =/= F )
        <-> -. ( A = B \/ C = D \/ E = F ) ) $=
    ( wne w3a wn w3o wceq 3anor nne 3orbi123i xchbinx ) ABGZCDGZEFGZHPIZQIZRIZJ
    ABKZCDKZEFKZJPQRLSUBTUCUAUDABMCDMEFMNO $.

  $( A De Morgan's law for inequality.  (Contributed by NM, 18-May-2007.) $)
  neorian $p |- ( ( A =/= B \/ C =/= D ) <-> -. ( A = B /\ C = D ) ) $=
    ( wne wo wceq wn wa df-ne orbi12i ianor bitr4i ) ABEZCDEZFABGZHZCDGZHZFPRIH
    NQOSABJCDJKPRLM $.

  ${
    nemtbir.1 $e |- A =/= B $.
    nemtbir.2 $e |- ( ph <-> A = B ) $.
    $( An inference from an inequality, related to modus tollens.  (Contributed
       by NM, 13-Apr-2007.) $)
    nemtbir $p |- -. ph $=
      ( wceq wne wn df-ne mpbi mtbir ) ABCFZBCGLHDBCIJEK $.
  $}

  $( Two classes are different if they don't contain the same element.
     (Contributed by NM, 3-Feb-2012.) $)
  nelne1 $p |- ( ( A e. B /\ -. A e. C ) -> B =/= C ) $=
    ( wcel wn wne wceq eleq2 biimpcd necon3bd imp ) ABDZACDZEBCFLMBCBCGLMBCAHIJ
    K $.

  $( Two classes are different if they don't belong to the same class.
     (Contributed by NM, 25-Jun-2012.) $)
  nelne2 $p |- ( ( A e. C /\ -. B e. C ) -> A =/= B ) $=
    ( wcel wn wne wceq eleq1 biimpcd necon3bd imp ) ACDZBCDZEABFLMABABGLMABCHIJ
    K $.

  $( Equality theorem for negated membership.  (Contributed by NM,
     20-Nov-1994.) $)
  neleq1 $p |- ( A = B -> ( A e/ C <-> B e/ C ) ) $=
    ( wceq wcel wn wnel eleq1 notbid df-nel 3bitr4g ) ABDZACEZFBCEZFACGBCGLMNAB
    CHIACJBCJK $.

  $( Equality theorem for negated membership.  (Contributed by NM,
     20-Nov-1994.) $)
  neleq2 $p |- ( A = B -> ( C e/ A <-> C e/ B ) ) $=
    ( wceq wcel wn wnel eleq2 notbid df-nel 3bitr4g ) ABDZCAEZFCBEZFCAGCBGLMNAB
    CHICAJCBJK $.

  ${
    neleq12d.1 $e |- ( ph -> A = B ) $.
    neleq12d.2 $e |- ( ph -> C = D ) $.
    $( Equality theorem for negated membership.  (Contributed by FL,
       10-Aug-2016.) $)
    neleq12d $p |- ( ph -> ( A e/ C <-> B e/ D ) ) $=
      ( wnel wceq wb neleq1 syl neleq2 bitrd ) ABDHZCDHZCEHZABCIOPJFBCDKLADEIPQ
      JGDECMLN $.
  $}

  ${
    nfne.1 $e |- F/_ x A $.
    nfne.2 $e |- F/_ x B $.
    $( Bound-variable hypothesis builder for inequality.  (Contributed by NM,
       10-Nov-2007.)  (Revised by Mario Carneiro, 7-Oct-2016.) $)
    nfne $p |- F/ x A =/= B $=
      ( wne wceq wn df-ne nfeq nfn nfxfr ) BCFBCGZHABCIMAABCDEJKL $.
  $}

  ${
    nfnel.1 $e |- F/_ x A $.
    nfnel.2 $e |- F/_ x B $.
    $( Bound-variable hypothesis builder for inequality.  (Contributed by David
       Abernethy, 26-Jun-2011.)  (Revised by Mario Carneiro, 7-Oct-2016.) $)
    nfnel $p |- F/ x A e/ B $=
      ( wnel wcel wn df-nel nfel nfn nfxfr ) BCFBCGZHABCIMAABCDEJKL $.
  $}

  ${
    nfned.1 $e |- ( ph -> F/_ x A ) $.
    nfned.2 $e |- ( ph -> F/_ x B ) $.
    $( Bound-variable hypothesis builder for inequality.  (Contributed by NM,
       10-Nov-2007.)  (Revised by Mario Carneiro, 7-Oct-2016.) $)
    nfned $p |- ( ph -> F/ x A =/= B ) $=
      ( wne wceq wn df-ne nfeqd nfnd nfxfrd ) CDGCDHZIABCDJANBABCDEFKLM $.
  $}

  ${
    nfneld.1 $e |- ( ph -> F/_ x A ) $.
    nfneld.2 $e |- ( ph -> F/_ x B ) $.
    $( Bound-variable hypothesis builder for inequality.  (Contributed by David
       Abernethy, 26-Jun-2011.)  (Revised by Mario Carneiro, 7-Oct-2016.) $)
    nfneld $p |- ( ph -> F/ x A e/ B ) $=
      ( wnel wcel wn df-nel nfeld nfnd nfxfrd ) CDGCDHZIABCDJANBABCDEFKLM $.
  $}


$(
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
        Restricted quantification
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
$)

  $( Extend wff notation to include restricted universal quantification. $)
  wral $a wff A. x e. A ph $.

  $( Extend wff notation to include restricted existential quantification. $)
  wrex $a wff E. x e. A ph $.

  $( Extend wff notation to include restricted existential uniqueness. $)
  wreu $a wff E! x e. A ph $.

  $( Extend wff notation to include restricted "at most one." $)
  wrmo $a wff E* x e. A ph $.

  $( Extend class notation to include the restricted class abstraction (class
     builder). $)
  crab $a class { x e. A | ph } $.

  $( Define restricted universal quantification.  Special case of Definition
     4.15(3) of [TakeutiZaring] p. 22.  (Contributed by NM, 19-Aug-1993.) $)
  df-ral $a |- ( A. x e. A ph <-> A. x ( x e. A -> ph ) ) $.

  $( Define restricted existential quantification.  Special case of Definition
     4.15(4) of [TakeutiZaring] p. 22.  (Contributed by NM, 30-Aug-1993.) $)
  df-rex $a |- ( E. x e. A ph <-> E. x ( x e. A /\ ph ) ) $.

  $( Define restricted existential uniqueness.  (Contributed by NM,
     22-Nov-1994.) $)
  df-reu $a |- ( E! x e. A ph <-> E! x ( x e. A /\ ph ) ) $.

  $( Define restricted "at most one".  (Contributed by NM, 16-Jun-2017.) $)
  df-rmo $a |- ( E* x e. A ph <-> E* x ( x e. A /\ ph ) ) $.

  $( Define a restricted class abstraction (class builder), which is the class
     of all ` x ` in ` A ` such that ` ph ` is true.  Definition of
     [TakeutiZaring] p. 20.  (Contributed by NM, 22-Nov-1994.) $)
  df-rab $a |- { x e. A | ph } = { x | ( x e. A /\ ph ) } $.

  $( Relationship between restricted universal and existential quantifiers.
     (Contributed by NM, 21-Jan-1997.) $)
  ralnex $p |- ( A. x e. A -. ph <-> -. E. x e. A ph ) $=
    ( wn wral cv wcel wi wal wrex df-ral wa wex alinexa df-rex xchbinxr bitri )
    ADZBCEBFCGZRHBIZABCJZDRBCKTSALBMUASABNABCOPQ $.

  $( Relationship between restricted universal and existential quantifiers.
     (Contributed by NM, 21-Jan-1997.) $)
  rexnal $p |- ( E. x e. A -. ph <-> -. A. x e. A ph ) $=
    ( wn wrex cv wcel wa wex wral df-rex wi wal exanali df-ral xchbinxr bitri )
    ADZBCEBFCGZRHBIZABCJZDRBCKTSALBMUASABNABCOPQ $.

  $( Relationship between restricted universal and existential quantifiers.
     (Contributed by NM, 21-Jan-1997.) $)
  dfral2 $p |- ( A. x e. A ph <-> -. E. x e. A -. ph ) $=
    ( wn wrex wral rexnal con2bii ) ADBCEABCFABCGH $.

  $( Relationship between restricted universal and existential quantifiers.
     (Contributed by NM, 21-Jan-1997.) $)
  dfrex2 $p |- ( E. x e. A ph <-> -. A. x e. A -. ph ) $=
    ( wn wral wrex ralnex con2bii ) ADBCEABCFABCGH $.

  ${
    ralbida.1 $e |- F/ x ph $.
    ralbida.2 $e |- ( ( ph /\ x e. A ) -> ( ps <-> ch ) ) $.
    $( Formula-building rule for restricted universal quantifier (deduction
       rule).  (Contributed by NM, 6-Oct-2003.) $)
    ralbida $p |- ( ph -> ( A. x e. A ps <-> A. x e. A ch ) ) $=
      ( cv wcel wi wal wral pm5.74da albid df-ral 3bitr4g ) ADHEIZBJZDKQCJZDKBD
      ELCDELARSDFAQBCGMNBDEOCDEOP $.

    $( Formula-building rule for restricted existential quantifier (deduction
       rule).  (Contributed by NM, 6-Oct-2003.) $)
    rexbida $p |- ( ph -> ( E. x e. A ps <-> E. x e. A ch ) ) $=
      ( cv wcel wa wex wrex pm5.32da exbid df-rex 3bitr4g ) ADHEIZBJZDKQCJZDKBD
      ELCDELARSDFAQBCGMNBDEOCDEOP $.
  $}

  ${
    $d x ph $.
    ralbidva.1 $e |- ( ( ph /\ x e. A ) -> ( ps <-> ch ) ) $.
    $( Formula-building rule for restricted universal quantifier (deduction
       rule).  (Contributed by NM, 4-Mar-1997.) $)
    ralbidva $p |- ( ph -> ( A. x e. A ps <-> A. x e. A ch ) ) $=
      ( nfv ralbida ) ABCDEADGFH $.

    $( Formula-building rule for restricted existential quantifier (deduction
       rule).  (Contributed by NM, 9-Mar-1997.) $)
    rexbidva $p |- ( ph -> ( E. x e. A ps <-> E. x e. A ch ) ) $=
      ( nfv rexbida ) ABCDEADGFH $.
  $}

  ${
    ralbid.1 $e |- F/ x ph $.
    ralbid.2 $e |- ( ph -> ( ps <-> ch ) ) $.
    $( Formula-building rule for restricted universal quantifier (deduction
       rule).  (Contributed by NM, 27-Jun-1998.) $)
    ralbid $p |- ( ph -> ( A. x e. A ps <-> A. x e. A ch ) ) $=
      ( wb cv wcel adantr ralbida ) ABCDEFABCHDIEJGKL $.

    $( Formula-building rule for restricted existential quantifier (deduction
       rule).  (Contributed by NM, 27-Jun-1998.) $)
    rexbid $p |- ( ph -> ( E. x e. A ps <-> E. x e. A ch ) ) $=
      ( wb cv wcel adantr rexbida ) ABCDEFABCHDIEJGKL $.
  $}

  ${
    $d x ph $.
    ralbidv.1 $e |- ( ph -> ( ps <-> ch ) ) $.
    $( Formula-building rule for restricted universal quantifier (deduction
       rule).  (Contributed by NM, 20-Nov-1994.) $)
    ralbidv $p |- ( ph -> ( A. x e. A ps <-> A. x e. A ch ) ) $=
      ( nfv ralbid ) ABCDEADGFH $.

    $( Formula-building rule for restricted existential quantifier (deduction
       rule).  (Contributed by NM, 20-Nov-1994.) $)
    rexbidv $p |- ( ph -> ( E. x e. A ps <-> E. x e. A ch ) ) $=
      ( nfv rexbid ) ABCDEADGFH $.
  $}

  ${
    $d x ph $.
    ralbidv2.1 $e |- ( ph -> ( ( x e. A -> ps ) <-> ( x e. B -> ch ) ) ) $.
    $( Formula-building rule for restricted universal quantifier (deduction
       rule).  (Contributed by NM, 6-Apr-1997.) $)
    ralbidv2 $p |- ( ph -> ( A. x e. A ps <-> A. x e. B ch ) ) $=
      ( cv wcel wi wal wral albidv df-ral 3bitr4g ) ADHZEIBJZDKPFICJZDKBDELCDFL
      AQRDGMBDENCDFNO $.
  $}

  ${
    $d x ph $.
    rexbidv2.1 $e |- ( ph -> ( ( x e. A /\ ps ) <-> ( x e. B /\ ch ) ) ) $.
    $( Formula-building rule for restricted existential quantifier (deduction
       rule).  (Contributed by NM, 22-May-1999.) $)
    rexbidv2 $p |- ( ph -> ( E. x e. A ps <-> E. x e. B ch ) ) $=
      ( cv wcel wa wex wrex exbidv df-rex 3bitr4g ) ADHZEIBJZDKPFICJZDKBDELCDFL
      AQRDGMBDENCDFNO $.
  $}

  ${
    ralbii.1 $e |- ( ph <-> ps ) $.
    $( Inference adding restricted universal quantifier to both sides of an
       equivalence.  (Contributed by NM, 23-Nov-1994.)  (Revised by Mario
       Carneiro, 17-Oct-2016.) $)
    ralbii $p |- ( A. x e. A ph <-> A. x e. A ps ) $=
      ( wral wb wtru a1i ralbidv trud ) ACDFBCDFGHABCDABGHEIJK $.

    $( Inference adding restricted existential quantifier to both sides of an
       equivalence.  (Contributed by NM, 23-Nov-1994.)  (Revised by Mario
       Carneiro, 17-Oct-2016.) $)
    rexbii $p |- ( E. x e. A ph <-> E. x e. A ps ) $=
      ( wrex wb wtru a1i rexbidv trud ) ACDFBCDFGHABCDABGHEIJK $.

    $( Inference adding two restricted universal quantifiers to both sides of
       an equivalence.  (Contributed by NM, 1-Aug-2004.) $)
    2ralbii $p |- ( A. x e. A A. y e. B ph <-> A. x e. A A. y e. B ps ) $=
      ( wral ralbii ) ADFHBDFHCEABDFGII $.

    $( Inference adding two restricted existential quantifiers to both sides of
       an equivalence.  (Contributed by NM, 11-Nov-1995.) $)
    2rexbii $p |- ( E. x e. A E. y e. B ph <-> E. x e. A E. y e. B ps ) $=
      ( wrex rexbii ) ADFHBDFHCEABDFGII $.
  $}

  ${
    ralbii2.1 $e |- ( ( x e. A -> ph ) <-> ( x e. B -> ps ) ) $.
    $( Inference adding different restricted universal quantifiers to each side
       of an equivalence.  (Contributed by NM, 15-Aug-2005.) $)
    ralbii2 $p |- ( A. x e. A ph <-> A. x e. B ps ) $=
      ( cv wcel wi wal wral albii df-ral 3bitr4i ) CGZDHAIZCJOEHBIZCJACDKBCEKPQ
      CFLACDMBCEMN $.
  $}

  ${
    rexbii2.1 $e |- ( ( x e. A /\ ph ) <-> ( x e. B /\ ps ) ) $.
    $( Inference adding different restricted existential quantifiers to each
       side of an equivalence.  (Contributed by NM, 4-Feb-2004.) $)
    rexbii2 $p |- ( E. x e. A ph <-> E. x e. B ps ) $=
      ( cv wcel wa wex wrex exbii df-rex 3bitr4i ) CGZDHAIZCJOEHBIZCJACDKBCEKPQ
      CFLACDMBCEMN $.
  $}

  ${
    raleqbii.1 $e |- A = B $.
    raleqbii.2 $e |- ( ps <-> ch ) $.
    $( Equality deduction for restricted universal quantifier, changing both
       formula and quantifier domain.  Inference form.  (Contributed by David
       Moews, 1-May-2017.) $)
    raleqbii $p |- ( A. x e. A ps <-> A. x e. B ch ) $=
      ( cv wcel eleq2i imbi12i ralbii2 ) ABCDECHZDIMEIABDEMFJGKL $.

    $( Equality deduction for restricted existential quantifier, changing both
       formula and quantifier domain.  Inference form.  (Contributed by David
       Moews, 1-May-2017.) $)
    rexeqbii $p |- ( E. x e. A ps <-> E. x e. B ch ) $=
      ( cv wcel eleq2i anbi12i rexbii2 ) ABCDECHZDIMEIABDEMFJGKL $.
  $}

  ${
    ralbiia.1 $e |- ( x e. A -> ( ph <-> ps ) ) $.
    $( Inference adding restricted universal quantifier to both sides of an
       equivalence.  (Contributed by NM, 26-Nov-2000.) $)
    ralbiia $p |- ( A. x e. A ph <-> A. x e. A ps ) $=
      ( cv wcel pm5.74i ralbii2 ) ABCDDCFDGABEHI $.

    $( Inference adding restricted existential quantifier to both sides of an
       equivalence.  (Contributed by NM, 26-Oct-1999.) $)
    rexbiia $p |- ( E. x e. A ph <-> E. x e. A ps ) $=
      ( cv wcel pm5.32i rexbii2 ) ABCDDCFDGABEHI $.
  $}

  ${
    $d x y $.  $d y A $.
    2rexbiia.1 $e |- ( ( x e. A /\ y e. B ) -> ( ph <-> ps ) ) $.
    $( Inference adding two restricted existential quantifiers to both sides of
       an equivalence.  (Contributed by NM, 1-Aug-2004.) $)
    2rexbiia $p |- ( E. x e. A E. y e. B ph <-> E. x e. A E. y e. B ps ) $=
      ( wrex cv wcel rexbidva rexbiia ) ADFHBDFHCECIEJABDFGKL $.
  $}

  ${
    $d x y $.
    r2alf.1 $e |- F/_ y A $.
    $( Double restricted universal quantification.  (Contributed by Mario
       Carneiro, 14-Oct-2016.) $)
    r2alf $p |- ( A. x e. A A. y e. B ph <->
               A. x A. y ( ( x e. A /\ y e. B ) -> ph ) ) $=
      ( wral cv wi wal wa df-ral nfcri 19.21 impexp albii imbi2i 3bitr4i bitr4i
      wcel ) ACEGZBDGBHDTZUAIZBJUBCHETZKAIZCJZBJUABDLUFUCBUBUDAIZIZCJUBUGCJZIUF
      UCUBUGCCBDFMNUEUHCUBUDAOPUAUIUBACELQRPS $.

    $( Double restricted existential quantification.  (Contributed by Mario
       Carneiro, 14-Oct-2016.) $)
    r2exf $p |- ( E. x e. A E. y e. B ph <->
               E. x E. y ( ( x e. A /\ y e. B ) /\ ph ) ) $=
      ( wrex cv wcel wex df-rex nfcri 19.42 anass exbii anbi2i 3bitr4i bitr4i
      wa ) ACEGZBDGBHDIZTSZBJUACHEIZSASZCJZBJTBDKUEUBBUAUCASZSZCJUAUFCJZSUEUBUA
      UFCCBDFLMUDUGCUAUCANOTUHUAACEKPQOR $.
  $}

  ${
    $d x y $.  $d y A $.
    $( Double restricted universal quantification.  (Contributed by NM,
       19-Nov-1995.) $)
    r2al $p |- ( A. x e. A A. y e. B ph <->
               A. x A. y ( ( x e. A /\ y e. B ) -> ph ) ) $=
      ( nfcv r2alf ) ABCDECDFG $.

    $( Double restricted existential quantification.  (Contributed by NM,
       11-Nov-1995.) $)
    r2ex $p |- ( E. x e. A E. y e. B ph <->
               E. x E. y ( ( x e. A /\ y e. B ) /\ ph ) ) $=
      ( nfcv r2exf ) ABCDECDFG $.
  $}

  ${
    $d x y $.  $d y A $.
    2ralbida.1 $e |- F/ x ph $.
    2ralbida.2 $e |- F/ y ph $.
    2ralbida.3 $e |- ( ( ph /\ ( x e. A /\ y e. B ) ) -> ( ps <-> ch ) ) $.
    $( Formula-building rule for restricted universal quantifier (deduction
       rule).  (Contributed by NM, 24-Feb-2004.) $)
    2ralbida $p |- ( ph ->
                     ( A. x e. A A. y e. B ps <-> A. x e. A A. y e. B ch ) ) $=
      ( wral cv wcel wa nfv nfan wb anassrs ralbida ) ABEGKCEGKDFHADLFMZNBCEGAT
      EITEOPATELGMBCQJRSS $.
  $}

  ${
    $d x y ph $.  $d y A $.
    2ralbidva.1 $e |- ( ( ph /\ ( x e. A /\ y e. B ) ) -> ( ps <-> ch ) ) $.
    $( Formula-building rule for restricted universal quantifiers (deduction
       rule).  (Contributed by NM, 4-Mar-1997.) $)
    2ralbidva $p |- ( ph ->
                     ( A. x e. A A. y e. B ps <-> A. x e. A A. y e. B ch ) ) $=
      ( nfv 2ralbida ) ABCDEFGADIAEIHJ $.

    $( Formula-building rule for restricted existential quantifiers (deduction
       rule).  (Contributed by NM, 15-Dec-2004.) $)
    2rexbidva $p |- ( ph ->
                    ( E. x e. A E. y e. B ps <-> E. x e. A E. y e. B ch ) ) $=
      ( wrex cv wcel wa wb anassrs rexbidva ) ABEGICEGIDFADJFKZLBCEGAPEJGKBCMHN
      OO $.
  $}

  ${
    $d x ph $.  $d y ph $.
    2ralbidv.1 $e |- ( ph -> ( ps <-> ch ) ) $.
    $( Formula-building rule for restricted universal quantifiers (deduction
       rule).  (Contributed by NM, 28-Jan-2006.)  (Revised by Szymon
       Jaroszewicz, 16-Mar-2007.) $)
    2ralbidv $p |- ( ph ->
                     ( A. x e. A A. y e. B ps <-> A. x e. A A. y e. B ch ) ) $=
      ( wral ralbidv ) ABEGICEGIDFABCEGHJJ $.

    $( Formula-building rule for restricted existential quantifiers (deduction
       rule).  (Contributed by NM, 28-Jan-2006.) $)
    2rexbidv $p |- ( ph ->
                    ( E. x e. A E. y e. B ps <-> E. x e. A E. y e. B ch ) ) $=
      ( wrex rexbidv ) ABEGICEGIDFABCEGHJJ $.

    $( Formula-building rule for restricted quantifiers (deduction rule).
       (Contributed by NM, 28-Jan-2006.) $)
    rexralbidv $p |- ( ph ->
                    ( E. x e. A A. y e. B ps <-> E. x e. A A. y e. B ch ) ) $=
      ( wral ralbidv rexbidv ) ABEGICEGIDFABCEGHJK $.
  $}

  $( A transformation of restricted quantifiers and logical connectives.
     (Contributed by NM, 4-Sep-2005.) $)
  ralinexa $p |- ( A. x e. A ( ph -> -. ps ) <-> -. E. x e. A ( ph /\ ps ) ) $=
    ( wn wi wral wa wrex imnan ralbii ralnex bitri ) ABEFZCDGABHZEZCDGOCDIENPCD
    ABJKOCDLM $.

  $( A transformation of restricted quantifiers and logical connectives.
     (Contributed by NM, 4-Sep-2005.) $)
  rexanali $p |- ( E. x e. A ( ph /\ -. ps ) <-> -. A. x e. A ( ph -> ps ) ) $=
    ( wn wa wrex wi wral annim rexbii rexnal bitri ) ABEFZCDGABHZEZCDGOCDIENPCD
    ABJKOCDLM $.

  ${
    $d x A $.  $d x B $.
    $( Two ways to say " ` A ` belongs to ` B ` ."  (Contributed by NM,
       22-Nov-1994.) $)
    risset $p |- ( A e. B <-> E. x e. B x = A ) $=
      ( cv wcel wceq wa wex wrex exancom df-rex df-clel 3bitr4ri ) ADZCEZNBFZGA
      HPOGAHPACIBCEOPAJPACKABCLM $.
  $}

  ${
    hbral.1 $e |- ( y e. A -> A. x y e. A ) $.
    hbral.2 $e |- ( ph -> A. x ph ) $.
    $( Bound-variable hypothesis builder for restricted quantification.
       (Contributed by NM, 1-Sep-1999.)  (Revised by David Abernethy,
       13-Dec-2009.) $)
    hbral $p |- ( A. y e. A ph -> A. x A. y e. A ph ) $=
      ( wral cv wcel wi wal df-ral hbim hbal hbxfrbi ) ACDGCHDIZAJZCKBACDLQBCPA
      BEFMNO $.
  $}

  $( ` x ` is not free in ` A. x e. A ph ` .  (Contributed by NM,
     18-Oct-1996.) $)
  hbra1 $p |- ( A. x e. A ph -> A. x A. x e. A ph ) $=
    ( wral cv wcel wi wal df-ral hba1 hbxfrbi ) ABCDBECFAGZBHBABCILBJK $.

  $( ` x ` is not free in ` A. x e. A ph ` .  (Contributed by NM,
     18-Oct-1996.)  (Revised by Mario Carneiro, 7-Oct-2016.) $)
  nfra1 $p |- F/ x A. x e. A ph $=
    ( wral cv wcel wi wal df-ral nfa1 nfxfr ) ABCDBECFAGZBHBABCILBJK $.

  ${
    nfrald.2 $e |- F/ y ph $.
    nfrald.3 $e |- ( ph -> F/_ x A ) $.
    nfrald.4 $e |- ( ph -> F/ x ps ) $.
    $( Deduction version of ~ nfral .  (Contributed by NM, 15-Feb-2013.)
       (Revised by Mario Carneiro, 7-Oct-2016.) $)
    nfrald $p |- ( ph -> F/ x A. y e. A ps ) $=
      ( wral cv wcel wi wal df-ral wceq wn wa wnfc nfcvf adantr nfeld wnf nfimd
      adantl nfald2 nfxfrd ) BDEIDJZEKZBLZDMACBDENAUICDFACJUGOCMPZQZUHBCUKCUGEU
      JCUGRACDSUDACERUJGTUAABCUBUJHTUCUEUF $.

    $( Deduction version of ~ nfrex .  (Contributed by Mario Carneiro,
       14-Oct-2016.) $)
    nfrexd $p |- ( ph -> F/ x E. y e. A ps ) $=
      ( wrex wn wral dfrex2 nfnd nfrald nfxfrd ) BDEIBJZDEKZJACBDELAQCAPCDEFGAB
      CHMNMO $.
  $}

  ${
    nfral.1 $e |- F/_ x A $.
    nfral.2 $e |- F/ x ph $.
    $( Bound-variable hypothesis builder for restricted quantification.
       (Contributed by NM, 1-Sep-1999.)  (Revised by Mario Carneiro,
       7-Oct-2016.) $)
    nfral $p |- F/ x A. y e. A ph $=
      ( wral wnf wtru nftru wnfc a1i nfrald trud ) ACDGBHIABCDCJBDKIELABHIFLMN
      $.
  $}

  ${
    $d A y $.
    $( Similar to Lemma 24 of [Monk2] p. 114, except the quantification of the
       antecedent is restricted.  Derived automatically from hbra2VD in
       set.mm.  Contributed by Alan Sare 31-Dec-2011.  (Contributed by NM,
       31-Dec-2011.) $)
    nfra2 $p |- F/ y A. x e. A A. y e. B ph $=
      ( wral nfcv nfra1 nfral ) ACEFCBDCDGACEHI $.
  $}

  ${
    nfrex.1 $e |- F/_ x A $.
    nfrex.2 $e |- F/ x ph $.
    $( Bound-variable hypothesis builder for restricted quantification.
       (Contributed by NM, 1-Sep-1999.)  (Revised by Mario Carneiro,
       7-Oct-2016.) $)
    nfrex $p |- F/ x E. y e. A ph $=
      ( wrex wn wral dfrex2 nfn nfral nfxfr ) ACDGAHZCDIZHBACDJOBNBCDEABFKLKM
      $.
  $}

  $( ` x ` is not free in ` E. x e. A ph ` .  (Contributed by NM,
     19-Mar-1997.)  (Revised by Mario Carneiro, 7-Oct-2016.) $)
  nfre1 $p |- F/ x E. x e. A ph $=
    ( wrex cv wcel wa wex df-rex nfe1 nfxfr ) ABCDBECFAGZBHBABCILBJK $.

  ${
    $d x y z $.  $d y z A $.  $d z B $.
    $( Triple restricted universal quantification.  (Contributed by NM,
       19-Nov-1995.) $)
    r3al $p |- ( A. x e. A A. y e. B A. z e. C ph <->
               A. x A. y A. z ( ( x e. A /\ y e. B /\ z e. C ) -> ph ) ) $=
      ( cv wcel wa wi wal wral w3a df-ral r2al ralbii bitri albii 19.21v 3anass
      imbi1i impexp 3bitr4i ) CHFIZDHGIZJZAKZDLZCLZBEMBHEIZUJKZBLADGMCFMZBEMUKU
      EUFNZAKZDLZCLZBLUJBEOUMUJBEACDFGPQUQULBUQUKUIKZCLULUPURCUPUKUHKZDLURUOUSD
      UOUKUGJZAKUSUNUTAUKUEUFUAUBUKUGAUCRSUKUHDTRSUKUICTRSUD $.
  $}

  $( Universal quantification implies restricted quantification.  (Contributed
     by NM, 20-Oct-2006.) $)
  alral $p |- ( A. x ph -> A. x e. A ph ) $=
    ( wal cv wcel wi wral ax-1 alimi df-ral sylibr ) ABDBECFZAGZBDABCHANBAMIJAB
    CKL $.

  $( Restricted existence implies existence.  (Contributed by NM,
     11-Nov-1995.) $)
  rexex $p |- ( E. x e. A ph -> E. x ph ) $=
    ( wrex cv wcel wa wex df-rex simpr eximi sylbi ) ABCDBECFZAGZBHABHABCINABMA
    JKL $.

  $( Restricted specialization.  (Contributed by NM, 17-Oct-1996.) $)
  rsp $p |- ( A. x e. A ph -> ( x e. A -> ph ) ) $=
    ( wral cv wcel wi wal df-ral sp sylbi ) ABCDBECFAGZBHLABCILBJK $.

  $( Restricted specialization.  (Contributed by NM, 12-Oct-1999.) $)
  rspe $p |- ( ( x e. A /\ ph ) -> E. x e. A ph ) $=
    ( cv wcel wa wex wrex 19.8a df-rex sylibr ) BDCEAFZLBGABCHLBIABCJK $.

  $( Restricted specialization.  (Contributed by NM, 11-Feb-1997.) $)
  rsp2 $p |- ( A. x e. A A. y e. B ph -> ( ( x e. A /\ y e. B ) -> ph ) ) $=
    ( wral cv wcel wi rsp syl6 imp3a ) ACEFZBDFZBGDHZCGEHZANOMPAIMBDJACEJKL $.

  $( Restricted specialization.  (Contributed by FL, 4-Jun-2012.) $)
  rsp2e $p |- ( ( x e. A /\ y e. B /\ ph ) -> E. x e. A E. y e. B ph ) $=
    ( cv wcel w3a wrex wa wex simp1 rspe 3adant1 19.8a syl2anc df-rex sylibr )
    BFDGZCFEGZAHZSACEIZJZBKZUBBDIUASUBUDSTALTAUBSACEMNUCBOPUBBDQR $.

  ${
    rspec.1 $e |- A. x e. A ph $.
    $( Specialization rule for restricted quantification.  (Contributed by NM,
       19-Nov-1994.) $)
    rspec $p |- ( x e. A -> ph ) $=
      ( wral cv wcel wi rsp ax-mp ) ABCEBFCGAHDABCIJ $.
  $}

  ${
    rgen.1 $e |- ( x e. A -> ph ) $.
    $( Generalization rule for restricted quantification.  (Contributed by NM,
       19-Nov-1994.) $)
    rgen $p |- A. x e. A ph $=
      ( wral cv wcel wi df-ral mpgbir ) ABCEBFCGAHBABCIDJ $.
  $}

  ${
    $d y z A $.  $d x z $.
    rgen2a.1 $e |- ( ( x e. A /\ y e. A ) -> ph ) $.
    $( Generalization rule for restricted quantification.  Note that ` x ` and
       ` y ` needn't be distinct (and illustrates the use of ~ dvelim ).
       (Contributed by NM, 23-Nov-1994.)  (Proof shortened by Andrew Salmon,
       25-May-2011.)  (Proof modification is discouraged. $)
    rgen2a $p |- A. x e. A A. y e. A ph $=
      ( vz wral cv wcel wi wal wceq eleq1 ex syl6bi pm2.43d alimi a1d dvelimv
      wn syl6 pm2.61i df-ral sylibr rgen ) ACDGZBDBHZDIZCHZDIZAJZCKZUFUIUGLZCKZ
      UHULJUNULUHUMUKCUMUJAUMUJUHUKUIUGDMUHUJAENZOPQRUNTUHUHCKULFHZDIUHCBFUPUGD
      MSUHUKCUOQUAUBACDUCUDUE $.
  $}

  ${
    rgenw.1 $e |- ph $.
    $( Generalization rule for restricted quantification.  (Contributed by NM,
       18-Jun-2014.) $)
    rgenw $p |- A. x e. A ph $=
      ( cv wcel a1i rgen ) ABCABECFDGH $.

    $( Generalization rule for restricted quantification.  Note that ` x ` and
       ` y ` needn't be distinct.  (Contributed by NM, 18-Jun-2014.) $)
    rgen2w $p |- A. x e. A A. y e. B ph $=
      ( wral rgenw ) ACEGBDACEFHH $.
  $}

  ${
    mprg.1 $e |- ( A. x e. A ph -> ps ) $.
    mprg.2 $e |- ( x e. A -> ph ) $.
    $( Modus ponens combined with restricted generalization.  (Contributed by
       NM, 10-Aug-2004.) $)
    mprg $p |- ps $=
      ( wral rgen ax-mp ) ACDGBACDFHEI $.
  $}

  ${
    mprgbir.1 $e |- ( ph <-> A. x e. A ps ) $.
    mprgbir.2 $e |- ( x e. A -> ps ) $.
    $( Modus ponens on biconditional combined with restricted generalization.
       (Contributed by NM, 21-Mar-2004.) $)
    mprgbir $p |- ph $=
      ( wral rgen mpbir ) ABCDGBCDFHEI $.
  $}

  $( Distribution of restricted quantification over implication.  (Contributed
     by NM, 9-Feb-1997.) $)
  ralim $p |- ( A. x e. A ( ph -> ps ) ->
               ( A. x e. A ph -> A. x e. A ps ) ) $=
    ( wi wral cv wcel wal df-ral ax-2 al2imi sylbi 3imtr4g ) ABEZCDFZCGDHZAEZCI
    ZQBEZCIZACDFBCDFPQOEZCISUAEOCDJUBRTCQABKLMACDJBCDJN $.

  ${
    ralimi2.1 $e |- ( ( x e. A -> ph ) -> ( x e. B -> ps ) ) $.
    $( Inference quantifying both antecedent and consequent.  (Contributed by
       NM, 22-Feb-2004.) $)
    ralimi2 $p |- ( A. x e. A ph -> A. x e. B ps ) $=
      ( cv wcel wi wal wral alimi df-ral 3imtr4i ) CGZDHAIZCJOEHBIZCJACDKBCEKPQ
      CFLACDMBCEMN $.
  $}

  ${
    ralimia.1 $e |- ( x e. A -> ( ph -> ps ) ) $.
    $( Inference quantifying both antecedent and consequent.  (Contributed by
       NM, 19-Jul-1996.) $)
    ralimia $p |- ( A. x e. A ph -> A. x e. A ps ) $=
      ( cv wcel a2i ralimi2 ) ABCDDCFDGABEHI $.
  $}

  ${
    ralimiaa.1 $e |- ( ( x e. A /\ ph ) -> ps ) $.
    $( Inference quantifying both antecedent and consequent.  (Contributed by
       NM, 4-Aug-2007.) $)
    ralimiaa $p |- ( A. x e. A ph -> A. x e. A ps ) $=
      ( cv wcel ex ralimia ) ABCDCFDGABEHI $.
  $}

  ${
    ralimi.1 $e |- ( ph -> ps ) $.
    $( Inference quantifying both antecedent and consequent, with strong
       hypothesis.  (Contributed by NM, 4-Mar-1997.) $)
    ralimi $p |- ( A. x e. A ph -> A. x e. A ps ) $=
      ( wi cv wcel a1i ralimia ) ABCDABFCGDHEIJ $.
  $}

  ${
    ral2imi.1 $e |- ( ph -> ( ps -> ch ) ) $.
    $( Inference quantifying antecedent, nested antecedent, and consequent,
       with a strong hypothesis.  (Contributed by NM, 19-Dec-2006.) $)
    ral2imi $p |- ( A. x e. A ph -> ( A. x e. A ps -> A. x e. A ch ) ) $=
      ( wral wi ralimi ralim syl ) ADEGBCHZDEGBDEGCDEGHALDEFIBCDEJK $.
  $}

  ${
    ralimdaa.1 $e |- F/ x ph $.
    ralimdaa.2 $e |- ( ( ph /\ x e. A ) -> ( ps -> ch ) ) $.
    $( Deduction quantifying both antecedent and consequent, based on Theorem
       19.20 of [Margaris] p. 90.  (Contributed by NM, 22-Sep-2003.) $)
    ralimdaa $p |- ( ph -> ( A. x e. A ps -> A. x e. A ch ) ) $=
      ( cv wcel wi wal wral ex a2d alimd df-ral 3imtr4g ) ADHEIZBJZDKRCJZDKBDEL
      CDELASTDFARBCARBCJGMNOBDEPCDEPQ $.
  $}

  ${
    $d x ph $.
    ralimdva.1 $e |- ( ( ph /\ x e. A ) -> ( ps -> ch ) ) $.
    $( Deduction quantifying both antecedent and consequent, based on Theorem
       19.20 of [Margaris] p. 90.  (Contributed by NM, 22-May-1999.) $)
    ralimdva $p |- ( ph -> ( A. x e. A ps -> A. x e. A ch ) ) $=
      ( nfv ralimdaa ) ABCDEADGFH $.
  $}

  ${
    $d x ph $.
    ralimdv.1 $e |- ( ph -> ( ps -> ch ) ) $.
    $( Deduction quantifying both antecedent and consequent, based on Theorem
       19.20 of [Margaris] p. 90.  (Contributed by NM, 8-Oct-2003.) $)
    ralimdv $p |- ( ph -> ( A. x e. A ps -> A. x e. A ch ) ) $=
      ( wi cv wcel adantr ralimdva ) ABCDEABCGDHEIFJK $.
  $}

  ${
    $d x ph $.
    ralimdv2.1 $e |- ( ph -> ( ( x e. A -> ps ) -> ( x e. B -> ch ) ) ) $.
    $( Inference quantifying both antecedent and consequent.  (Contributed by
       NM, 1-Feb-2005.) $)
    ralimdv2 $p |- ( ph -> ( A. x e. A ps -> A. x e. B ch ) ) $=
      ( cv wcel wi wal wral alimdv df-ral 3imtr4g ) ADHZEIBJZDKPFICJZDKBDELCDFL
      AQRDGMBDENCDFNO $.
  $}

  ${
    ralrimi.1 $e |- F/ x ph $.
    ralrimi.2 $e |- ( ph -> ( x e. A -> ps ) ) $.
    $( Inference from Theorem 19.21 of [Margaris] p. 90 (restricted quantifier
       version).  (Contributed by NM, 10-Oct-1999.) $)
    ralrimi $p |- ( ph -> A. x e. A ps ) $=
      ( cv wcel wi wal wral alrimi df-ral sylibr ) ACGDHBIZCJBCDKAOCEFLBCDMN $.
  $}

  ${
    $d x ph $.
    ralrimiv.1 $e |- ( ph -> ( x e. A -> ps ) ) $.
    $( Inference from Theorem 19.21 of [Margaris] p. 90.  (Restricted
       quantifier version.)  (Contributed by NM, 22-Nov-1994.) $)
    ralrimiv $p |- ( ph -> A. x e. A ps ) $=
      ( nfv ralrimi ) ABCDACFEG $.
  $}

  ${
    $d x ph $.
    ralrimiva.1 $e |- ( ( ph /\ x e. A ) -> ps ) $.
    $( Inference from Theorem 19.21 of [Margaris] p. 90.  (Restricted
       quantifier version.)  (Contributed by NM, 2-Jan-2006.) $)
    ralrimiva $p |- ( ph -> A. x e. A ps ) $=
      ( cv wcel ex ralrimiv ) ABCDACFDGBEHI $.
  $}

  ${
    $d x ph $.
    ralrimivw.1 $e |- ( ph -> ps ) $.
    $( Inference from Theorem 19.21 of [Margaris] p. 90.  (Restricted
       quantifier version.)  (Contributed by NM, 18-Jun-2014.) $)
    ralrimivw $p |- ( ph -> A. x e. A ps ) $=
      ( cv wcel a1d ralrimiv ) ABCDABCFDGEHI $.
  $}

  $( Theorem 19.21 of [Margaris] p. 90 with restricted quantifiers (closed
     theorem version).  (Contributed by NM, 1-Mar-2008.) $)
  r19.21t $p |- ( F/ x ph ->
           ( A. x e. A ( ph -> ps ) <-> ( ph -> A. x e. A ps ) ) ) $=
    ( wnf cv wcel wi wal wral bi2.04 albii 19.21t syl5bb df-ral imbi2i 3bitr4g
    ) ACEZCFDGZABHZHZCIZASBHZCIZHZTCDJABCDJZHUBAUCHZCIRUEUAUGCSABKLAUCCMNTCDOUF
    UDABCDOPQ $.

  ${
    r19.21.1 $e |- F/ x ph $.
    $( Theorem 19.21 of [Margaris] p. 90 with restricted quantifiers.
       (Contributed by Scott Fenton, 30-Mar-2011.) $)
    r19.21 $p |- ( A. x e. A ( ph -> ps ) <-> ( ph -> A. x e. A ps ) ) $=
      ( wnf wi wral wb r19.21t ax-mp ) ACFABGCDHABCDHGIEABCDJK $.
  $}

  ${
    $d x ph $.
    $( Theorem 19.21 of [Margaris] p. 90 with restricted quantifiers.
       (Contributed by NM, 15-Oct-2003.)  (Proof shortened by Andrew Salmon,
       30-May-2011.) $)
    r19.21v $p |- ( A. x e. A ( ph -> ps ) <-> ( ph -> A. x e. A ps ) ) $=
      ( nfv r19.21 ) ABCDACEF $.
  $}

  ${
    ralrimd.1 $e |- F/ x ph $.
    ralrimd.2 $e |- F/ x ps $.
    ralrimd.3 $e |- ( ph -> ( ps -> ( x e. A -> ch ) ) ) $.
    $( Inference from Theorem 19.21 of [Margaris] p. 90.  (Restricted
       quantifier version.)  (Contributed by NM, 16-Feb-2004.) $)
    ralrimd $p |- ( ph -> ( ps -> A. x e. A ch ) ) $=
      ( cv wcel wi wal wral alrimd df-ral syl6ibr ) ABDIEJCKZDLCDEMABQDFGHNCDEO
      P $.
  $}

  ${
    $d x ph $.  $d x ps $.
    ralrimdv.1 $e |- ( ph -> ( ps -> ( x e. A -> ch ) ) ) $.
    $( Inference from Theorem 19.21 of [Margaris] p. 90.  (Restricted
       quantifier version.)  (Contributed by NM, 27-May-1998.) $)
    ralrimdv $p |- ( ph -> ( ps -> A. x e. A ch ) ) $=
      ( nfv ralrimd ) ABCDEADGBDGFH $.
  $}

  ${
    $d x ph $.  $d x ps $.
    ralrimdva.1 $e |- ( ( ph /\ x e. A ) -> ( ps -> ch ) ) $.
    $( Inference from Theorem 19.21 of [Margaris] p. 90.  (Restricted
       quantifier version.)  (Contributed by NM, 2-Feb-2008.) $)
    ralrimdva $p |- ( ph -> ( ps -> A. x e. A ch ) ) $=
      ( cv wcel wi ex com23 ralrimdv ) ABCDEADGEHZBCAMBCIFJKL $.
  $}

  ${
    $d x y ph $.  $d y A $.
    ralrimivv.1 $e |- ( ph -> ( ( x e. A /\ y e. B ) -> ps ) ) $.
    $( Inference from Theorem 19.21 of [Margaris] p. 90.  (Restricted
       quantifier version with double quantification.)  (Contributed by NM,
       24-Jul-2004.) $)
    ralrimivv $p |- ( ph -> A. x e. A A. y e. B ps ) $=
      ( wral cv wcel exp3a ralrimdv ralrimiv ) ABDFHCEACIEJZBDFANDIFJBGKLM $.
  $}

  ${
    $d ph x y $.  $d A y $.
    ralrimivva.1 $e |- ( ( ph /\ ( x e. A /\ y e. B ) ) -> ps ) $.
    $( Inference from Theorem 19.21 of [Margaris] p. 90.  (Restricted
       quantifier version with double quantification.)  (Contributed by Jeff
       Madsen, 19-Jun-2011.) $)
    ralrimivva $p |- ( ph -> A. x e. A A. y e. B ps ) $=
      ( cv wcel wa ex ralrimivv ) ABCDEFACHEIDHFIJBGKL $.
  $}

  ${
    $d ph x y z $.  $d A y z $.  $d B z $.
    ralrimivvva.1 $e |- ( ( ph /\ ( x e. A /\ y e. B /\ z e. C ) ) -> ps ) $.
    $( Inference from Theorem 19.21 of [Margaris] p. 90.  (Restricted
       quantifier version with triple quantification.)  (Contributed by Mario
       Carneiro, 9-Jul-2014.) $)
    ralrimivvva $p |- ( ph -> A. x e. A A. y e. B A. z e. C ps ) $=
      ( wral cv wcel wa 3exp2 imp41 ralrimiva ) ABEHJZDGJCFACKFLZMZQDGSDKGLZMBE
      HARTEKHLZBARTUABINOPPP $.
  $}

  ${
    $d x y ph $.  $d x y ps $.  $d y A $.
    ralrimdvv.1 $e |- ( ph -> ( ps -> ( ( x e. A /\ y e. B ) -> ch ) ) ) $.
    $( Inference from Theorem 19.21 of [Margaris] p. 90.  (Restricted
       quantifier version with double quantification.)  (Contributed by NM,
       1-Jun-2005.) $)
    ralrimdvv $p |- ( ph -> ( ps -> A. x e. A A. y e. B ch ) ) $=
      ( wral wa cv wcel wi imp ralrimivv ex ) ABCEGIDFIABJCDEFGABDKFLEKGLJCMHNO
      P $.
  $}

  ${
    $d x y ph $.  $d x y ps $.  $d y A $.
    ralrimdvva.1 $e |- ( ( ph /\ ( x e. A /\ y e. B ) ) -> ( ps -> ch ) ) $.
    $( Inference from Theorem 19.21 of [Margaris] p. 90.  (Restricted
       quantifier version with double quantification.)  (Contributed by NM,
       2-Feb-2008.) $)
    ralrimdvva $p |- ( ph -> ( ps -> A. x e. A A. y e. B ch ) ) $=
      ( cv wcel wa wi ex com23 ralrimdvv ) ABCDEFGADIFJEIGJKZBCAPBCLHMNO $.
  $}

  ${
    $d x y $.  $d y A $.
    rgen2.1 $e |- ( ( x e. A /\ y e. B ) -> ph ) $.
    $( Generalization rule for restricted quantification.  (Contributed by NM,
       30-May-1999.) $)
    rgen2 $p |- A. x e. A A. y e. B ph $=
      ( wral cv wcel ralrimiva rgen ) ACEGBDBHDIACEFJK $.
  $}

  ${
    $d y z A $.  $d z B $.  $d x y z $.
    rgen3.1 $e |- ( ( x e. A /\ y e. B /\ z e. C ) -> ph ) $.
    $( Generalization rule for restricted quantification.  (Contributed by NM,
       12-Jan-2008.) $)
    rgen3 $p |- A. x e. A A. y e. B A. z e. C ph $=
      ( wral cv wcel wa 3expa ralrimiva rgen2 ) ADGIBCEFBJEKZCJFKZLADGPQDJGKAHM
      NO $.
  $}

  ${
    r19.21bi.1 $e |- ( ph -> A. x e. A ps ) $.
    $( Inference from Theorem 19.21 of [Margaris] p. 90.  (Restricted
       quantifier version.)  (Contributed by NM, 20-Nov-1994.) $)
    r19.21bi $p |- ( ( ph /\ x e. A ) -> ps ) $=
      ( cv wcel wi wral wal df-ral sylib 19.21bi imp ) ACFDGZBAOBHZCABCDIPCJEBC
      DKLMN $.
  $}

  ${
    rspec2.1 $e |- A. x e. A A. y e. B ph $.
    $( Specialization rule for restricted quantification.  (Contributed by NM,
       20-Nov-1994.) $)
    rspec2 $p |- ( ( x e. A /\ y e. B ) -> ph ) $=
      ( cv wcel wral rspec r19.21bi ) BGDHACEACEIBDFJK $.
  $}

  ${
    rspec3.1 $e |- A. x e. A A. y e. B A. z e. C ph $.
    $( Specialization rule for restricted quantification.  (Contributed by NM,
       20-Nov-1994.) $)
    rspec3 $p |- ( ( x e. A /\ y e. B /\ z e. C ) -> ph ) $=
      ( cv wcel wa wral rspec2 r19.21bi 3impa ) BIEJZCIFJZDIGJAPQKADGADGLBCEFHM
      NO $.
  $}

  ${
    r19.21be.1 $e |- ( ph -> A. x e. A ps ) $.
    $( Inference from Theorem 19.21 of [Margaris] p. 90.  (Restricted
       quantifier version.)  (Contributed by NM, 21-Nov-1994.) $)
    r19.21be $p |- A. x e. A ( ph -> ps ) $=
      ( wi cv wcel r19.21bi expcom rgen ) ABFCDACGDHBABCDEIJK $.
  $}

  ${
    nrex.1 $e |- ( x e. A -> -. ps ) $.
    $( Inference adding restricted existential quantifier to negated wff.
       (Contributed by NM, 16-Oct-2003.) $)
    nrex $p |- -. E. x e. A ps $=
      ( wn wral wrex rgen ralnex mpbi ) AEZBCFABCGEKBCDHABCIJ $.
  $}

  ${
    $d x ph $.
    nrexdv.1 $e |- ( ( ph /\ x e. A ) -> -. ps ) $.
    $( Deduction adding restricted existential quantifier to negated wff.
       (Contributed by NM, 16-Oct-2003.) $)
    nrexdv $p |- ( ph -> -. E. x e. A ps ) $=
      ( wn wral wrex ralrimiva ralnex sylib ) ABFZCDGBCDHFALCDEIBCDJK $.
  $}

  $( Theorem 19.22 of [Margaris] p. 90.  (Restricted quantifier version.)
     (Contributed by NM, 22-Nov-1994.)  (Proof shortened by Andrew Salmon,
     30-May-2011.) $)
  rexim $p |- ( A. x e. A ( ph -> ps ) ->
               ( E. x e. A ph -> E. x e. A ps ) ) $=
    ( wi wral wn wrex con3 ral2imi con3d dfrex2 3imtr4g ) ABEZCDFZAGZCDFZGBGZCD
    FZGACDHBCDHOSQNRPCDABIJKACDLBCDLM $.

  ${
    reximia.1 $e |- ( x e. A -> ( ph -> ps ) ) $.
    $( Inference quantifying both antecedent and consequent.  (Contributed by
       NM, 10-Feb-1997.) $)
    reximia $p |- ( E. x e. A ph -> E. x e. A ps ) $=
      ( wi wrex rexim mprg ) ABFACDGBCDGFCDABCDHEI $.
  $}

  ${
    reximi2.1 $e |- ( ( x e. A /\ ph ) -> ( x e. B /\ ps ) ) $.
    $( Inference quantifying both antecedent and consequent, based on Theorem
       19.22 of [Margaris] p. 90.  (Contributed by NM, 8-Nov-2004.) $)
    reximi2 $p |- ( E. x e. A ph -> E. x e. B ps ) $=
      ( cv wcel wa wex wrex eximi df-rex 3imtr4i ) CGZDHAIZCJOEHBIZCJACDKBCEKPQ
      CFLACDMBCEMN $.
  $}

  ${
    reximi.1 $e |- ( ph -> ps ) $.
    $( Inference quantifying both antecedent and consequent.  (Contributed by
       NM, 18-Oct-1996.) $)
    reximi $p |- ( E. x e. A ph -> E. x e. A ps ) $=
      ( wi cv wcel a1i reximia ) ABCDABFCGDHEIJ $.
  $}

  ${
    reximdai.1 $e |- F/ x ph $.
    reximdai.2 $e |- ( ph -> ( x e. A -> ( ps -> ch ) ) ) $.
    $( Deduction from Theorem 19.22 of [Margaris] p. 90.  (Restricted
       quantifier version.)  (Contributed by NM, 31-Aug-1999.) $)
    reximdai $p |- ( ph -> ( E. x e. A ps -> E. x e. A ch ) ) $=
      ( wi wral wrex ralrimi rexim syl ) ABCHZDEIBDEJCDEJHANDEFGKBCDELM $.
  $}

  ${
    $d x ph $.
    reximdv2.1 $e |- ( ph -> ( ( x e. A /\ ps ) -> ( x e. B /\ ch ) ) ) $.
    $( Deduction quantifying both antecedent and consequent, based on Theorem
       19.22 of [Margaris] p. 90.  (Contributed by NM, 17-Sep-2003.) $)
    reximdv2 $p |- ( ph -> ( E. x e. A ps -> E. x e. B ch ) ) $=
      ( cv wcel wa wex wrex eximdv df-rex 3imtr4g ) ADHZEIBJZDKPFICJZDKBDELCDFL
      AQRDGMBDENCDFNO $.
  $}

  ${
    $d x ph $.
    reximdvai.1 $e |- ( ph -> ( x e. A -> ( ps -> ch ) ) ) $.
    $( Deduction quantifying both antecedent and consequent, based on Theorem
       19.22 of [Margaris] p. 90.  (Contributed by NM, 14-Nov-2002.) $)
    reximdvai $p |- ( ph -> ( E. x e. A ps -> E. x e. A ch ) ) $=
      ( nfv reximdai ) ABCDEADGFH $.
  $}

  ${
    $d x ph $.
    reximdv.1 $e |- ( ph -> ( ps -> ch ) ) $.
    $( Deduction from Theorem 19.22 of [Margaris] p. 90.  (Restricted
       quantifier version with strong hypothesis.)  (Contributed by NM,
       24-Jun-1998.) $)
    reximdv $p |- ( ph -> ( E. x e. A ps -> E. x e. A ch ) ) $=
      ( wi cv wcel a1d reximdvai ) ABCDEABCGDHEIFJK $.
  $}

  ${
    $d x ph $.
    reximdva.1 $e |- ( ( ph /\ x e. A ) -> ( ps -> ch ) ) $.
    $( Deduction quantifying both antecedent and consequent, based on Theorem
       19.22 of [Margaris] p. 90.  (Contributed by NM, 22-May-1999.) $)
    reximdva $p |- ( ph -> ( E. x e. A ps -> E. x e. A ch ) ) $=
      ( cv wcel wi ex reximdvai ) ABCDEADGEHBCIFJK $.
  $}

  ${
    $d x y $.  $d y A $.  $d x B $.
    $( Theorem 19.12 of [Margaris] p. 89 with restricted quantifiers.
       (Contributed by NM, 15-Oct-2003.)  (Proof shortened by Andrew Salmon,
       30-May-2011.) $)
    r19.12 $p |- ( E. x e. A A. y e. B ph -> A. y e. B E. x e. A ph ) $=
      ( wral wrex nfcv nfra1 nfrex cv wcel ax-1 ralrimi rsp reximdv ralimia syl
      com12 ) ACEFZBDGZUACEFABDGZCEFUAUACETCBDCDHACEIJUACKELZMNUAUBCEUCTABDTUCA
      ACEOSPQR $.
  $}

  $( Closed theorem form of ~ r19.23 .  (Contributed by NM, 4-Mar-2013.)
     (Revised by Mario Carneiro, 8-Oct-2016.) $)
  r19.23t $p |- ( F/ x ps ->
    ( A. x e. A ( ph -> ps ) <-> ( E. x e. A ph -> ps ) ) ) $=
    ( wnf cv wcel wa wal wex wral wrex 19.23t df-ral impexp albii bitr4i df-rex
    wi imbi1i 3bitr4g ) BCECFDGZAHZBSZCIZUCCJZBSABSZCDKZACDLZBSUCBCMUHUBUGSZCIU
    EUGCDNUDUJCUBABOPQUIUFBACDRTUA $.

  ${
    r19.23.1 $e |- F/ x ps $.
    $( Theorem 19.23 of [Margaris] p. 90 with restricted quantifiers.
       (Contributed by NM, 22-Oct-2010.)  (Proof shortened by Mario Carneiro,
       8-Oct-2016.) $)
    r19.23 $p |- ( A. x e. A ( ph -> ps ) <-> ( E. x e. A ph -> ps ) ) $=
      ( wnf wi wral wrex wb r19.23t ax-mp ) BCFABGCDHACDIBGJEABCDKL $.
  $}

  ${
    $d x ps $.
    $( Theorem 19.23 of [Margaris] p. 90 with restricted quantifiers.
       (Contributed by NM, 31-Aug-1999.) $)
    r19.23v $p |- ( A. x e. A ( ph -> ps ) <-> ( E. x e. A ph -> ps ) ) $=
      ( nfv r19.23 ) ABCDBCEF $.
  $}

  ${
    rexlimi.1 $e |- F/ x ps $.
    rexlimi.2 $e |- ( x e. A -> ( ph -> ps ) ) $.
    $( Inference from Theorem 19.21 of [Margaris] p. 90.  (Restricted
       quantifier version.)  (Contributed by NM, 30-Nov-2003.)  (Proof
       shortened by Andrew Salmon, 30-May-2011.) $)
    rexlimi $p |- ( E. x e. A ph -> ps ) $=
      ( wi wral wrex rgen r19.23 mpbi ) ABGZCDHACDIBGMCDFJABCDEKL $.
  $}

  ${
    $d x ps $.
    rexlimiv.1 $e |- ( x e. A -> ( ph -> ps ) ) $.
    $( Inference from Theorem 19.23 of [Margaris] p. 90.  (Restricted
       quantifier version.)  (Contributed by NM, 20-Nov-1994.) $)
    rexlimiv $p |- ( E. x e. A ph -> ps ) $=
      ( nfv rexlimi ) ABCDBCFEG $.
  $}

  ${
    $d x ps $.
    rexlimiva.1 $e |- ( ( x e. A /\ ph ) -> ps ) $.
    $( Inference from Theorem 19.23 of [Margaris] p. 90 (restricted quantifier
       version).  (Contributed by NM, 18-Dec-2006.) $)
    rexlimiva $p |- ( E. x e. A ph -> ps ) $=
      ( cv wcel ex rexlimiv ) ABCDCFDGABEHI $.
  $}

  ${
    $d ps x $.
    rexlimivw.1 $e |- ( ph -> ps ) $.
    $( Weaker version of ~ rexlimiv .  (Contributed by FL, 19-Sep-2011.) $)
    rexlimivw $p |- ( E. x e. A ph -> ps ) $=
      ( wi cv wcel a1i rexlimiv ) ABCDABFCGDHEIJ $.
  $}

  ${
    rexlimd.1 $e |- F/ x ph $.
    rexlimd.2 $e |- F/ x ch $.
    rexlimd.3 $e |- ( ph -> ( x e. A -> ( ps -> ch ) ) ) $.
    $( Deduction from Theorem 19.23 of [Margaris] p. 90 (restricted quantifier
       version).  (Contributed by NM, 27-May-1998.)  (Proof shortened by Andrew
       Salmon, 30-May-2011.) $)
    rexlimd $p |- ( ph -> ( E. x e. A ps -> ch ) ) $=
      ( wi wral wrex ralrimi r19.23 sylib ) ABCIZDEJBDEKCIAODEFHLBCDEGMN $.
  $}

  ${
    rexlimd2.1 $e |- F/ x ph $.
    rexlimd2.2 $e |- ( ph -> F/ x ch ) $.
    rexlimd2.3 $e |- ( ph -> ( x e. A -> ( ps -> ch ) ) ) $.
    $( Version of ~ rexlimd with deduction version of second hypothesis.
       (Contributed by NM, 21-Jul-2013.)  (Revised by Mario Carneiro,
       8-Oct-2016.) $)
    rexlimd2 $p |- ( ph -> ( E. x e. A ps -> ch ) ) $=
      ( wi wral wrex ralrimi wnf wb r19.23t syl mpbid ) ABCIZDEJZBDEKCIZARDEFHL
      ACDMSTNGBCDEOPQ $.
  $}

  ${
    $d x ph $.  $d x ch $.
    rexlimdv.1 $e |- ( ph -> ( x e. A -> ( ps -> ch ) ) ) $.
    $( Inference from Theorem 19.23 of [Margaris] p. 90 (restricted quantifier
       version).  (Contributed by NM, 14-Nov-2002.)  (Proof shortened by Eric
       Schmidt, 22-Dec-2006.) $)
    rexlimdv $p |- ( ph -> ( E. x e. A ps -> ch ) ) $=
      ( nfv rexlimd ) ABCDEADGCDGFH $.
  $}

  ${
    $d x ph $.  $d x ch $.
    rexlimdva.1 $e |- ( ( ph /\ x e. A ) -> ( ps -> ch ) ) $.
    $( Inference from Theorem 19.23 of [Margaris] p. 90 (restricted quantifier
       version).  (Contributed by NM, 20-Jan-2007.) $)
    rexlimdva $p |- ( ph -> ( E. x e. A ps -> ch ) ) $=
      ( cv wcel wi ex rexlimdv ) ABCDEADGEHBCIFJK $.
  $}

  ${
    $d x ph $.  $d x ch $.
    rexlimdvaa.1 $e |- ( ( ph /\ ( x e. A /\ ps ) ) -> ch ) $.
    $( Inference from Theorem 19.23 of [Margaris] p. 90 (restricted quantifier
       version).  (Contributed by Mario Carneiro, 15-Jun-2016.) $)
    rexlimdvaa $p |- ( ph -> ( E. x e. A ps -> ch ) ) $=
      ( cv wcel expr rexlimdva ) ABCDEADGEHBCFIJ $.
  $}

  ${
    $d x ph $.  $d x ch $.
    rexlimdv3a.1 $e |- ( ( ph /\ x e. A /\ ps ) -> ch ) $.
    $( Inference from Theorem 19.23 of [Margaris] p. 90 (restricted quantifier
       version).  Frequently-used variant of ~ rexlimdv .  (Contributed by NM,
       7-Jun-2015.) $)
    rexlimdv3a $p |- ( ph -> ( E. x e. A ps -> ch ) ) $=
      ( cv wcel 3exp rexlimdv ) ABCDEADGEHBCFIJ $.
  $}

  ${
    $d x ph $.  $d x ch $.
    rexlimdvw.1 $e |- ( ph -> ( ps -> ch ) ) $.
    $( Inference from Theorem 19.23 of [Margaris] p. 90 (restricted quantifier
       version).  (Contributed by NM, 18-Jun-2014.) $)
    rexlimdvw $p |- ( ph -> ( E. x e. A ps -> ch ) ) $=
      ( wi cv wcel a1d rexlimdv ) ABCDEABCGDHEIFJK $.
  $}

  ${
    $d x ph $.  $d x ch $.
    rexlimddv.1 $e |- ( ph -> E. x e. A ps ) $.
    rexlimddv.2 $e |- ( ( ph /\ ( x e. A /\ ps ) ) -> ch ) $.
    $( Restricted existential elimination rule of natural deduction.
       (Contributed by Mario Carneiro, 15-Jun-2016.) $)
    rexlimddv $p |- ( ph -> ch ) $=
      ( wrex rexlimdvaa mpd ) ABDEHCFABCDEGIJ $.
  $}

  ${
    $d x y ps $.  $d y A $.
    rexlimivv.1 $e |- ( ( x e. A /\ y e. B ) -> ( ph -> ps ) ) $.
    $( Inference from Theorem 19.23 of [Margaris] p. 90 (restricted quantifier
       version).  (Contributed by NM, 17-Feb-2004.) $)
    rexlimivv $p |- ( E. x e. A E. y e. B ph -> ps ) $=
      ( wrex cv wcel rexlimdva rexlimiv ) ADFHBCECIEJABDFGKL $.
  $}

  ${
    $d x y ph $.  $d x y ch $.  $d y A $.
    rexlimdvv.1 $e |- ( ph -> ( ( x e. A /\ y e. B ) -> ( ps -> ch ) ) ) $.
    $( Inference from Theorem 19.23 of [Margaris] p. 90.  (Restricted
       quantifier version.)  (Contributed by NM, 22-Jul-2004.) $)
    rexlimdvv $p |- ( ph -> ( E. x e. A E. y e. B ps -> ch ) ) $=
      ( wrex cv wcel wa wi expdimp rexlimdv rexlimdva ) ABEGICDFADJFKZLBCEGAQEJ
      GKBCMHNOP $.
  $}

  ${
    $d x y ph $.  $d x y ch $.  $d y A $.
    rexlimdvva.1 $e |- ( ( ph /\ ( x e. A /\ y e. B ) ) -> ( ps -> ch ) ) $.
    $( Inference from Theorem 19.23 of [Margaris] p. 90.  (Restricted
       quantifier version.)  (Contributed by NM, 18-Jun-2014.) $)
    rexlimdvva $p |- ( ph -> ( E. x e. A E. y e. B ps -> ch ) ) $=
      ( cv wcel wa wi ex rexlimdvv ) ABCDEFGADIFJEIGJKBCLHMN $.
  $}

  $( Theorem 19.26 of [Margaris] p. 90 with restricted quantifiers.
     (Contributed by NM, 28-Jan-1997.)  (Proof shortened by Andrew Salmon,
     30-May-2011.) $)
  r19.26 $p |- ( A. x e. A ( ph /\ ps ) <->
               ( A. x e. A ph /\ A. x e. A ps ) ) $=
    ( wa wral simpl ralimi simpr jca pm3.2 ral2imi imp impbii ) ABEZCDFZACDFZBC
    DFZEPQROACDABGHOBCDABIHJQRPABOCDABKLMN $.

  $( Theorem 19.26 of [Margaris] p. 90 with 2 restricted quantifiers.
     (Contributed by NM, 10-Aug-2004.) $)
  r19.26-2 $p |- ( A. x e. A A. y e. B ( ph /\ ps ) <->
               ( A. x e. A A. y e. B ph /\ A. x e. A A. y e. B ps ) ) $=
    ( wa wral r19.26 ralbii bitri ) ABGDFHZCEHADFHZBDFHZGZCEHMCEHNCEHGLOCEABDFI
    JMNCEIK $.

  $( Theorem 19.26 of [Margaris] p. 90 with 3 restricted quantifiers.
     (Contributed by FL, 22-Nov-2010.) $)
  r19.26-3 $p |- ( A. x e. A ( ph /\ ps /\ ch ) <->
               ( A. x e. A ph /\ A. x e. A ps /\ A. x e. A ch ) ) $=
    ( w3a wral wa df-3an ralbii r19.26 anbi1i bitr4i 3bitri ) ABCFZDEGABHZCHZDE
    GPDEGZCDEGZHZADEGZBDEGZSFZOQDEABCIJPCDEKTUAUBHZSHUCRUDSABDEKLUAUBSIMN $.

  $( Theorem 19.26 of [Margaris] p. 90 with mixed quantifiers.  (Contributed by
     NM, 22-Feb-2004.) $)
  r19.26m $p |- ( A. x ( ( x e. A -> ph ) /\ ( x e. B -> ps ) ) <->
               ( A. x e. A ph /\ A. x e. B ps ) ) $=
    ( cv wcel wi wa wal wral 19.26 df-ral anbi12i bitr4i ) CFZDGAHZPEGBHZICJQCJ
    ZRCJZIACDKZBCEKZIQRCLUASUBTACDMBCEMNO $.

  $( Distribute a restricted universal quantifier over a biconditional.
     Theorem 19.15 of [Margaris] p. 90 with restricted quantification.
     (Contributed by NM, 6-Oct-2003.) $)
  ralbi $p |- ( A. x e. A ( ph <-> ps ) ->
               ( A. x e. A ph <-> A. x e. A ps ) ) $=
    ( wb wral nfra1 cv wcel rsp imp ralbida ) ABEZCDFZABCDMCDGNCHDIMMCDJKL $.

  $( Split a biconditional and distribute quantifier.  (Contributed by NM,
     3-Jun-2012.) $)
  ralbiim $p |- ( A. x e. A ( ph <-> ps ) <->
             ( A. x e. A ( ph -> ps ) /\ A. x e. A ( ps -> ph ) ) ) $=
    ( wb wral wi wa dfbi2 ralbii r19.26 bitri ) ABEZCDFABGZBAGZHZCDFNCDFOCDFHMP
    CDABIJNOCDKL $.

  ${
    $d x ps $.
    $( Restricted version of one direction of Theorem 19.27 of [Margaris]
       p. 90.  (The other direction doesn't hold when ` A ` is empty.)
       (Contributed by NM, 3-Jun-2004.)  (Proof shortened by Andrew Salmon,
       30-May-2011.) $)
    r19.27av $p |- ( ( A. x e. A ph /\ ps ) -> A. x e. A ( ph /\ ps ) ) $=
      ( wral wa cv wcel ax-1 ralrimiv anim2i r19.26 sylibr ) ACDEZBFNBCDEZFABFC
      DEBONBBCDBCGDHIJKABCDLM $.
  $}

  ${
    $d x ph $.
    $( Restricted version of one direction of Theorem 19.28 of [Margaris]
       p. 90.  (The other direction doesn't hold when ` A ` is empty.)
       (Contributed by NM, 2-Apr-2004.) $)
    r19.28av $p |- ( ( ph /\ A. x e. A ps ) -> A. x e. A ( ph /\ ps ) ) $=
      ( wral wa r19.27av ancom ralbii 3imtr4i ) BCDEZAFBAFZCDEAKFABFZCDEBACDGAK
      HMLCDABHIJ $.
  $}

  $( Theorem 19.29 of [Margaris] p. 90 with restricted quantifiers.
     (Contributed by NM, 31-Aug-1999.)  (Proof shortened by Andrew Salmon,
     30-May-2011.) $)
  r19.29 $p |- ( ( A. x e. A ph /\ E. x e. A ps ) ->
               E. x e. A ( ph /\ ps ) ) $=
    ( wral wrex wa wi pm3.2 ralimi rexim syl imp ) ACDEZBCDFZABGZCDFZNBPHZCDEOQ
    HARCDABIJBPCDKLM $.

  $( Variation of Theorem 19.29 of [Margaris] p. 90 with restricted
     quantifiers.  (Contributed by NM, 31-Aug-1999.) $)
  r19.29r $p |- ( ( E. x e. A ph /\ A. x e. A ps ) ->
                E. x e. A ( ph /\ ps ) ) $=
    ( wral wrex wa r19.29 ancom rexbii 3imtr4i ) BCDEZACDFZGBAGZCDFMLGABGZCDFBA
    CDHMLIONCDABIJK $.

  $( Theorem 19.30 of [Margaris] p. 90 with restricted quantifiers.
     (Contributed by Scott Fenton, 25-Feb-2011.) $)
  r19.30 $p |- ( A. x e. A ( ph \/ ps ) ->
                 ( A. x e. A ph \/ E. x e. A ps ) ) $=
    ( wn wi wral wrex ralim orcom df-or bitri ralbii dfrex2 orbi2i imor 3bitr4i
    wo 3imtr4i ) BEZAFZCDGTCDGZACDGZFZABRZCDGUCBCDHZRZTACDIUEUACDUEBARUAABJBAKL
    MUCUBEZRUHUCRUGUDUCUHJUFUHUCBCDNOUBUCPQS $.

  ${
    $d x ph $.
    $( Theorem 19.32 of [Margaris] p. 90 with restricted quantifiers.
       (Contributed by NM, 25-Nov-2003.) $)
    r19.32v $p |- ( A. x e. A ( ph \/ ps ) <-> ( ph \/ A. x e. A ps ) ) $=
      ( wn wi wral wo r19.21v df-or ralbii 3bitr4i ) AEZBFZCDGMBCDGZFABHZCDGAOH
      MBCDIPNCDABJKAOJL $.
  $}

  $( Restricted quantifier version of Theorem 19.35 of [Margaris] p. 90.
     (Contributed by NM, 20-Sep-2003.) $)
  r19.35 $p |- ( E. x e. A ( ph -> ps ) <->
               ( A. x e. A ph -> E. x e. A ps ) ) $=
    ( wral wn wi wrex r19.26 annim ralbii df-an 3bitr3i con2bii dfrex2 3bitr4ri
    wa imbi2i ) ACDEZBFZCDEZFZGZABGZFZCDEZFSBCDHZGUDCDHUFUCATQZCDESUAQUFUCFATCD
    IUHUECDABJKSUALMNUGUBSBCDORUDCDOP $.

  ${
    $d x ps $.
    $( One direction of a restricted quantifier version of Theorem 19.36 of
       [Margaris] p. 90.  The other direction doesn't hold when ` A ` is
       empty.  (Contributed by NM, 22-Oct-2003.) $)
    r19.36av $p |- ( E. x e. A ( ph -> ps ) -> ( A. x e. A ph -> ps ) ) $=
      ( wi wrex wral r19.35 cv wcel idd rexlimiv imim2i sylbi ) ABECDFACDGZBCDF
      ZEOBEABCDHPBOBBCDCIDJBKLMN $.
  $}

  ${
    r19.37.1 $e |- F/ x ph $.
    $( Restricted version of one direction of Theorem 19.37 of [Margaris]
       p. 90.  (The other direction doesn't hold when ` A ` is empty.)
       (Contributed by FL, 13-May-2012.)  (Revised by Mario Carneiro,
       11-Dec-2016.) $)
    r19.37 $p |- ( E. x e. A ( ph -> ps ) -> ( ph -> E. x e. A ps ) ) $=
      ( wi wrex wral r19.35 cv wcel ax-1 ralrimi imim1i sylbi ) ABFCDGACDHZBCDG
      ZFAQFABCDIAPQAACDEACJDKLMNO $.
  $}

  ${
    $d x ph $.
    $( Restricted version of one direction of Theorem 19.37 of [Margaris]
       p. 90.  (The other direction doesn't hold when ` A ` is empty.)
       (Contributed by NM, 2-Apr-2004.) $)
    r19.37av $p |- ( E. x e. A ( ph -> ps ) -> ( ph -> E. x e. A ps ) ) $=
      ( nfv r19.37 ) ABCDACEF $.
  $}

  $( Restricted quantifier version of Theorem 19.40 of [Margaris] p. 90.
     (Contributed by NM, 2-Apr-2004.) $)
  r19.40 $p |- ( E. x e. A ( ph /\ ps ) ->
               ( E. x e. A ph /\ E. x e. A ps ) ) $=
    ( wa wrex simpl reximi simpr jca ) ABEZCDFACDFBCDFKACDABGHKBCDABIHJ $.

  ${
    r19.41.1 $e |- F/ x ps $.
    $( Restricted quantifier version of Theorem 19.41 of [Margaris] p. 90.
       (Contributed by NM, 1-Nov-2010.) $)
    r19.41 $p |- ( E. x e. A ( ph /\ ps ) <-> ( E. x e. A ph /\ ps ) ) $=
      ( cv wcel wa wex wrex anass exbii 19.41 bitr3i df-rex anbi1i 3bitr4i ) CF
      DGZABHZHZCIZRAHZCIZBHZSCDJACDJZBHUAUBBHZCIUDUFTCRABKLUBBCEMNSCDOUEUCBACDO
      PQ $.
  $}

  ${
    $d x ps $.
    $( Restricted quantifier version of Theorem 19.41 of [Margaris] p. 90.
       (Contributed by NM, 17-Dec-2003.) $)
    r19.41v $p |- ( E. x e. A ( ph /\ ps ) <-> ( E. x e. A ph /\ ps ) ) $=
      ( nfv r19.41 ) ABCDBCEF $.
  $}

  ${
    $d x ph $.
    $( Restricted version of Theorem 19.42 of [Margaris] p. 90.  (Contributed
       by NM, 27-May-1998.) $)
    r19.42v $p |- ( E. x e. A ( ph /\ ps ) <-> ( ph /\ E. x e. A ps ) ) $=
      ( wa wrex r19.41v ancom rexbii 3bitr4i ) BAEZCDFBCDFZAEABEZCDFALEBACDGMKC
      DABHIALHJ $.
  $}

  $( Restricted version of Theorem 19.43 of [Margaris] p. 90.  (Contributed by
     NM, 27-May-1998.)  (Proof shortened by Andrew Salmon, 30-May-2011.) $)
  r19.43 $p |- ( E. x e. A ( ph \/ ps ) <->
               ( E. x e. A ph \/ E. x e. A ps ) ) $=
    ( wn wi wrex wral wo r19.35 df-or rexbii ralnex imbi1i bitr4i 3bitr4i ) AEZ
    BFZCDGQCDHZBCDGZFZABIZCDGACDGZTIZQBCDJUBRCDABKLUDUCEZTFUAUCTKSUETACDMNOP $.

  ${
    $d x ps $.
    $( One direction of a restricted quantifier version of Theorem 19.44 of
       [Margaris] p. 90.  The other direction doesn't hold when ` A ` is
       empty.  (Contributed by NM, 2-Apr-2004.) $)
    r19.44av $p |- ( E. x e. A ( ph \/ ps ) -> ( E. x e. A ph \/ ps ) ) $=
      ( wo wrex r19.43 cv wcel idd rexlimiv orim2i sylbi ) ABECDFACDFZBCDFZENBE
      ABCDGOBNBBCDCHDIBJKLM $.
  $}

  ${
    $d x ph $.
    $( Restricted version of one direction of Theorem 19.45 of [Margaris]
       p. 90.  (The other direction doesn't hold when ` A ` is empty.)
       (Contributed by NM, 2-Apr-2004.) $)
    r19.45av $p |- ( E. x e. A ( ph \/ ps ) -> ( ph \/ E. x e. A ps ) ) $=
      ( wo wrex r19.43 cv wcel idd rexlimiv orim1i sylbi ) ABECDFACDFZBCDFZEAOE
      ABCDGNAOAACDCHDIAJKLM $.
  $}

  ${
    $d x y $.
    ralcomf.1 $e |- F/_ y A $.
    ralcomf.2 $e |- F/_ x B $.
    $( Commutation of restricted quantifiers.  (Contributed by Mario Carneiro,
       14-Oct-2016.) $)
    ralcomf $p |- ( A. x e. A A. y e. B ph <-> A. y e. B A. x e. A ph ) $=
      ( cv wcel wa wi wal wral ancomsimp 2albii alcom bitri r2alf 3bitr4i ) BHD
      IZCHEIZJAKZCLBLZUATJAKZBLCLZACEMBDMABDMCEMUCUDCLBLUEUBUDBCTUAANOUDBCPQABC
      DEFRACBEDGRS $.

    $( Commutation of restricted quantifiers.  (Contributed by Mario Carneiro,
       14-Oct-2016.) $)
    rexcomf $p |- ( E. x e. A E. y e. B ph <-> E. y e. B E. x e. A ph ) $=
      ( cv wcel wa wex wrex ancom anbi1i 2exbii excom bitri r2exf 3bitr4i ) BHD
      IZCHEIZJZAJZCKBKZUATJZAJZBKCKZACELBDLABDLCELUDUFCKBKUGUCUFBCUBUEATUAMNOUF
      BCPQABCDEFRACBEDGRS $.
  $}

  ${
    $d x y $.  $d x B $.  $d y A $.
    $( Commutation of restricted quantifiers.  (Contributed by NM,
       13-Oct-1999.)  (Revised by Mario Carneiro, 14-Oct-2016.) $)
    ralcom $p |- ( A. x e. A A. y e. B ph <-> A. y e. B A. x e. A ph ) $=
      ( nfcv ralcomf ) ABCDECDFBEFG $.

    $( Commutation of restricted quantifiers.  (Contributed by NM,
       19-Nov-1995.)  (Revised by Mario Carneiro, 14-Oct-2016.) $)
    rexcom $p |- ( E. x e. A E. y e. B ph <-> E. y e. B E. x e. A ph ) $=
      ( nfcv rexcomf ) ABCDECDFBEFG $.
  $}

  ${
    $d y z A $.  $d x z B $.  $d x y C $.
    $( Swap 1st and 3rd restricted existential quantifiers.  (Contributed by
       NM, 8-Apr-2015.) $)
    rexcom13 $p |- ( E. x e. A E. y e. B E. z e. C ph
         <-> E. z e. C E. y e. B E. x e. A ph ) $=
      ( wrex rexcom rexbii 3bitri ) ADGHZCFHBEHLBEHZCFHABEHZDGHZCFHNCFHDGHLBCEF
      IMOCFABDEGIJNCDFGIK $.
  $}

  ${
    $d w z A $.  $d w z B $.  $d w x y C $.  $d x y z D $.
    $( Rotate existential restricted quantifiers twice.  (Contributed by NM,
       8-Apr-2015.) $)
    rexrot4 $p |- ( E. x e. A E. y e. B E. z e. C E. w e. D ph
        <-> E. z e. C E. w e. D E. x e. A E. y e. B ph ) $=
      ( wrex rexcom13 rexbii bitri ) AEIJDHJCGJZBFJACGJZDHJEIJZBFJOBFJEIJDHJNPB
      FACDEGHIKLOBEDFIHKM $.
  $}

  ${
    $d y A $.  $d x A $.
    $( Commutation of restricted quantifiers.  Note that ` x ` and ` y `
       needn't be distinct (this makes the proof longer).  (Contributed by NM,
       24-Nov-1994.)  (Proof shortened by Mario Carneiro, 17-Oct-2016.) $)
    ralcom2 $p |- ( A. x e. A A. y e. A ph -> A. y e. A A. x e. A ph ) $=
      ( cv wceq wal wral wi wcel wb eleq1 dral1 df-ral 3bitr4g wa nfnae ralrimi
      nfan ex sps imbi1d bicomd imbi12d biimpd wn nfra2 nfra1 wnfc nfcvf adantr
      nfcvd nfeld nfan1 rsp2 ancomsd expdimp adantll pm2.61i ) BEZCEZFZBGZACDHZ
      BDHZABDHZCDHZIVCVEVGVCUTDJZVDIZBGVADJZVFIZCGVEVGVIVKBCVCVHVJVDVFVBVHVJKBU
      TVADLUAZVCVJAIZCGZVHAIZBGZVDVFVCVPVNVOVMBCVCVHVJAVLUBMUCACDNABDNOUDMVDBDN
      VFCDNOUEVCUFZVEVGVQVEPZVFCDVQVECBCCQABCDDUGSVRVJVFVRVJPABDVRVJBVQVEBBCBQV
      DBDUHSVRBVADVQBVAUIVEBCUJUKVRBDULUMUNVEVJVOVQVEVJVHAVEVHVJAABCDDUOUPUQURR
      TRTUS $.
  $}

  $( A commutative law for restricted quantifiers that swaps the domain of the
     restriction.  (Contributed by NM, 22-Feb-2004.) $)
  ralcom3 $p |- ( A. x e. A ( x e. B -> ph ) <->
                  A. x e. B ( x e. A -> ph ) ) $=
    ( cv wcel wi wral pm2.04 ralimi2 impbii ) BEZDFZAGZBCHLCFZAGZBDHNPBCDOMAIJP
    NBDCMOAIJK $.

  ${
    $d y A $.  $d x B $.  $d x y $.
    reean.1 $e |- F/ y ph $.
    reean.2 $e |- F/ x ps $.
    $( Rearrange existential quantifiers.  (Contributed by NM, 27-Oct-2010.)
       (Proof shortened by Andrew Salmon, 30-May-2011.) $)
    reean $p |- ( E. x e. A E. y e. B ( ph /\ ps ) <->
                 ( E. x e. A ph /\ E. y e. B ps ) ) $=
      ( cv wcel wa wex wrex an4 2exbii nfv nfan eean bitri df-rex r2ex anbi12i
      3bitr4i ) CIEJZDIFJZKABKZKZDLCLZUDAKZCLZUEBKZDLZKZUFDFMCEMACEMZBDFMZKUHUI
      UKKZDLCLUMUGUPCDUDUEABNOUIUKCDUDADUDDPGQUEBCUECPHQRSUFCDEFUAUNUJUOULACETB
      DFTUBUC $.
  $}

  ${
    $d y ph $.  $d x ps $.  $d x y $.  $d y A $.  $d x B $.
    $( Rearrange existential quantifiers.  (Contributed by NM, 9-May-1999.) $)
    reeanv $p |- ( E. x e. A E. y e. B ( ph /\ ps ) <->
                 ( E. x e. A ph /\ E. y e. B ps ) ) $=
      ( nfv reean ) ABCDEFADGBCGH $.
  $}

  ${
    $d ph y z $.  $d ps x z $.  $d ch x y $.  $d A y $.  $d B x z $.
    $d C x y $.
    $( Rearrange three existential quantifiers.  (Contributed by Jeff Madsen,
       11-Jun-2010.) $)
    3reeanv $p |- ( E. x e. A E. y e. B E. z e. C ( ph /\ ps /\ ch )
                      <-> ( E. x e. A ph /\ E. y e. B ps /\ E. z e. C ch ) ) $=
      ( wa wrex w3a r19.41v reeanv anbi1i bitri df-3an 2rexbii rexbii 3bitr4i )
      ABJZEHKZCFIKZJZDGKZADGKZBEHKZJZUCJZABCLZFIKEHKZDGKUFUGUCLUEUBDGKZUCJUIUBU
      CDGMULUHUCABDEGHNOPUKUDDGUKUACJZFIKEHKUDUJUMEFHIABCQRUACEFHINPSUFUGUCQT
      $.
  $}

  ${
    $d ph y $.  $d ps x $.  $d A y $.  $d B x $.  $d x y $.
    $( Distribute quantification over "or".  (Contributed by Jeff Madsen,
       19-Jun-2010.) $)
    2ralor $p |- ( A. x e. A A. y e. B ( ph \/ ps ) <->
                  ( A. x e. A ph \/ A. y e. B ps ) ) $=
      ( wo wral wn wrex wa rexnal anbi12i rexbii bitr3i reeanv 3bitr3ri 3bitr4i
      ioran con4bii ) ABGZDFHZCEHZACEHZBDFHZGZAIZCEJZBIZDFJZKZUDIZUEIZKUCIZUFIU
      HULUJUMACELBDFLMUGUIKZDFJZCEJUBIZCEJUKUNUPUQCEUPUAIZDFJUQURUODFABSNUADFLO
      NUGUICDEFPUBCELQUDUESRT $.
  $}

  $( ` x ` is not free in ` E! x e. A ph ` .  (Contributed by NM,
     19-Mar-1997.) $)
  nfreu1 $p |- F/ x E! x e. A ph $=
    ( wreu cv wcel wa weu df-reu nfeu1 nfxfr ) ABCDBECFAGZBHBABCILBJK $.

  $( ` x ` is not free in ` E* x e. A ph ` .  (Contributed by NM,
     16-Jun-2017.) $)
  nfrmo1 $p |- F/ x E* x e. A ph $=
    ( wrmo cv wcel wa wmo df-rmo nfmo1 nfxfr ) ABCDBECFAGZBHBABCILBJK $.

  ${
    nfreud.1 $e |- F/ y ph $.
    nfreud.2 $e |- ( ph -> F/_ x A ) $.
    nfreud.3 $e |- ( ph -> F/ x ps ) $.
    $( Deduction version of ~ nfreu .  (Contributed by NM, 15-Feb-2013.)
       (Revised by Mario Carneiro, 8-Oct-2016.) $)
    nfreud $p |- ( ph -> F/ x E! y e. A ps ) $=
      ( wreu cv wcel wa weu df-reu wceq wal wn wnfc nfcvf adantr adantl nfeud2
      nfeld wnf nfand nfxfrd ) BDEIDJZEKZBLZDMACBDENAUICDFACJUGOCPQZLZUHBCUKCUG
      EUJCUGRACDSUAACERUJGTUCABCUDUJHTUEUBUF $.

    $( Deduction version of ~ nfrmo .  (Contributed by NM, 17-Jun-2017.) $)
    nfrmod $p |- ( ph -> F/ x E* y e. A ps ) $=
      ( wrmo cv wcel wa wmo df-rmo weq wal wn wnfc nfcvf adantr nfeld wnf nfand
      adantl nfmod2 nfxfrd ) BDEIDJZEKZBLZDMACBDENAUICDFACDOCPQZLZUHBCUKCUGEUJC
      UGRACDSUDACERUJGTUAABCUBUJHTUCUEUF $.
  $}

  ${
    nfreu.1 $e |- F/_ x A $.
    nfreu.2 $e |- F/ x ph $.
    $( Bound-variable hypothesis builder for restricted uniqueness.
       (Contributed by NM, 30-Oct-2010.)  (Revised by Mario Carneiro,
       8-Oct-2016.) $)
    nfreu $p |- F/ x E! y e. A ph $=
      ( wreu wnf wtru nftru wnfc a1i nfreud trud ) ACDGBHIABCDCJBDKIELABHIFLMN
      $.

    $( Bound-variable hypothesis builder for restricted uniqueness.
       (Contributed by NM, 16-Jun-2017.) $)
    nfrmo $p |- F/ x E* y e. A ph $=
      ( wrmo cv wcel wa wmo df-rmo wnf wtru nftru weq wal wn nfcvf a1i adantl
      wnfc nfeld nfand nfmod2 trud nfxfr ) ACDGCHZDIZAJZCKZBACDLUKBMNUJBCCOBCPB
      QRZUJBMNULUIABULBUHDBCSBDUBULETUCABMULFTUDUAUEUFUG $.
  $}

  $( An "identity" law of concretion for restricted abstraction.  Special case
     of Definition 2.1 of [Quine] p. 16.  (Contributed by NM, 9-Oct-2003.) $)
  rabid $p |- ( x e. { x e. A | ph } <-> ( x e. A /\ ph ) ) $=
    ( cv wcel wa crab df-rab abeq2i ) BDCEAFBABCGABCHI $.

  ${
    $d x A $.
    $( An "identity" law for restricted class abstraction.  (Contributed by NM,
       9-Oct-2003.)  (Proof shortened by Andrew Salmon, 30-May-2011.) $)
    rabid2 $p |- ( A = { x e. A | ph } <-> A. x e. A ph ) $=
      ( cv wcel wa cab wceq wi wal crab abeq2 pm4.71 albii bitr4i df-rab eqeq2i
      wral wb df-ral 3bitr4i ) CBDCEZAFZBGZHZUBAIZBJZCABCKZHABCRUEUBUCSZBJUGUCB
      CLUFUIBUBAMNOUHUDCABCPQABCTUA $.
  $}

  $( Equivalent wff's correspond to equal restricted class abstractions.
     Closed theorem form of ~ rabbidva .  (Contributed by NM, 25-Nov-2013.) $)
  rabbi $p |- ( A. x e. A ( ps <-> ch )
       <-> { x e. A | ps } = { x e. A | ch } ) $=
    ( cv wcel wa wb wal wceq wral crab abbi wi df-ral pm5.32 albii bitri df-rab
    cab eqeq12i 3bitr4i ) CEDFZAGZUCBGZHZCIZUDCTZUECTZJABHZCDKZACDLZBCDLZJUDUEC
    MUKUCUJNZCIUGUJCDOUNUFCUCABPQRULUHUMUIACDSBCDSUAUB $.

  $( Swap with a membership relation in a restricted class abstraction.
     (Contributed by NM, 4-Jul-2005.) $)
  rabswap $p |- { x e. A | x e. B } = { x e. B | x e. A } $=
    ( cv wcel wa cab crab ancom abbii df-rab 3eqtr4i ) ADZBEZMCEZFZAGONFZAGOABH
    NACHPQANOIJOABKNACKL $.

  $( The abstraction variable in a restricted class abstraction isn't free.
     (Contributed by NM, 19-Mar-1997.) $)
  nfrab1 $p |- F/_ x { x e. A | ph } $=
    ( crab cv wcel wa cab df-rab nfab1 nfcxfr ) BABCDBECFAGZBHABCILBJK $.

  ${
    $d x z $.  $d y z $.  $d z A $.
    nfrab.1 $e |- F/ x ph $.
    nfrab.2 $e |- F/_ x A $.
    $( A variable not free in a wff remains so in a restricted class
       abstraction.  (Contributed by NM, 13-Oct-2003.)  (Revised by Mario
       Carneiro, 9-Oct-2016.) $)
    nfrab $p |- F/_ x { y e. A | ph } $=
      ( vz crab cv wcel wa cab df-rab wnfc wtru nftru wceq wal wn wnf nfcri a1i
      eleq1 dvelimnf nfand adantl nfabd2 trud nfcxfr ) BACDHCIZDJZAKZCLZACDMBUM
      NOULBCCPBIUJQBRSZULBTOUNUKABGIZDJUKBCGBGDFUAUOUJDUCUDABTUNEUBUEUFUGUHUI
      $.
  $}

  ${
    reubida.1 $e |- F/ x ph $.
    reubida.2 $e |- ( ( ph /\ x e. A ) -> ( ps <-> ch ) ) $.
    $( Formula-building rule for restricted existential quantifier (deduction
       rule).  (Contributed by Mario Carneiro, 19-Nov-2016.) $)
    reubida $p |- ( ph -> ( E! x e. A ps <-> E! x e. A ch ) ) $=
      ( cv wcel wa weu wreu pm5.32da eubid df-reu 3bitr4g ) ADHEIZBJZDKQCJZDKBD
      ELCDELARSDFAQBCGMNBDEOCDEOP $.
  $}

  ${
    $d x ph $.
    reubidva.1 $e |- ( ( ph /\ x e. A ) -> ( ps <-> ch ) ) $.
    $( Formula-building rule for restricted existential quantifier (deduction
       rule).  (Contributed by NM, 13-Nov-2004.) $)
    reubidva $p |- ( ph -> ( E! x e. A ps <-> E! x e. A ch ) ) $=
      ( nfv reubida ) ABCDEADGFH $.
  $}

  ${
    $d x ph $.
    reubidv.1 $e |- ( ph -> ( ps <-> ch ) ) $.
    $( Formula-building rule for restricted existential quantifier (deduction
       rule).  (Contributed by NM, 17-Oct-1996.) $)
    reubidv $p |- ( ph -> ( E! x e. A ps <-> E! x e. A ch ) ) $=
      ( wb cv wcel adantr reubidva ) ABCDEABCGDHEIFJK $.
  $}

  ${
    reubiia.1 $e |- ( x e. A -> ( ph <-> ps ) ) $.
    $( Formula-building rule for restricted existential quantifier (inference
       rule).  (Contributed by NM, 14-Nov-2004.) $)
    reubiia $p |- ( E! x e. A ph <-> E! x e. A ps ) $=
      ( cv wcel wa weu wreu pm5.32i eubii df-reu 3bitr4i ) CFDGZAHZCIOBHZCIACDJ
      BCDJPQCOABEKLACDMBCDMN $.
  $}

  ${
    reubii.1 $e |- ( ph <-> ps ) $.
    $( Formula-building rule for restricted existential quantifier (inference
       rule).  (Contributed by NM, 22-Oct-1999.) $)
    reubii $p |- ( E! x e. A ph <-> E! x e. A ps ) $=
      ( wb cv wcel a1i reubiia ) ABCDABFCGDHEIJ $.
  $}

  ${
    rmobida.1 $e |- F/ x ph $.
    rmobida.2 $e |- ( ( ph /\ x e. A ) -> ( ps <-> ch ) ) $.
    $( Formula-building rule for restricted existential quantifier (deduction
       rule).  (Contributed by NM, 16-Jun-2017.) $)
    rmobida $p |- ( ph -> ( E* x e. A ps <-> E* x e. A ch ) ) $=
      ( cv wcel wa wmo wrmo pm5.32da mobid df-rmo 3bitr4g ) ADHEIZBJZDKQCJZDKBD
      ELCDELARSDFAQBCGMNBDEOCDEOP $.
  $}

  ${
    $d x ph $.
    rmobidva.1 $e |- ( ( ph /\ x e. A ) -> ( ps <-> ch ) ) $.
    $( Formula-building rule for restricted existential quantifier (deduction
       rule).  (Contributed by NM, 16-Jun-2017.) $)
    rmobidva $p |- ( ph -> ( E* x e. A ps <-> E* x e. A ch ) ) $=
      ( nfv rmobida ) ABCDEADGFH $.
  $}

  ${
    $d x ph $.
    rmobidv.1 $e |- ( ph -> ( ps <-> ch ) ) $.
    $( Formula-building rule for restricted existential quantifier (deduction
       rule).  (Contributed by NM, 16-Jun-2017.) $)
    rmobidv $p |- ( ph -> ( E* x e. A ps <-> E* x e. A ch ) ) $=
      ( wb cv wcel adantr rmobidva ) ABCDEABCGDHEIFJK $.
  $}

  ${
    rmobiia.1 $e |- ( x e. A -> ( ph <-> ps ) ) $.
    $( Formula-building rule for restricted existential quantifier (inference
       rule).  (Contributed by NM, 16-Jun-2017.) $)
    rmobiia $p |- ( E* x e. A ph <-> E* x e. A ps ) $=
      ( cv wcel wa wmo wrmo pm5.32i mobii df-rmo 3bitr4i ) CFDGZAHZCIOBHZCIACDJ
      BCDJPQCOABEKLACDMBCDMN $.
  $}

  ${
    rmobii.1 $e |- ( ph <-> ps ) $.
    $( Formula-building rule for restricted existential quantifier (inference
       rule).  (Contributed by NM, 16-Jun-2017.) $)
    rmobii $p |- ( E* x e. A ph <-> E* x e. A ps ) $=
      ( wb cv wcel a1i rmobiia ) ABCDABFCGDHEIJ $.
  $}

  ${
    raleq1f.1 $e |- F/_ x A $.
    raleq1f.2 $e |- F/_ x B $.
    $( Equality theorem for restricted universal quantifier, with
       bound-variable hypotheses instead of distinct variable restrictions.
       (Contributed by NM, 7-Mar-2004.)  (Revised by Andrew Salmon,
       11-Jul-2011.) $)
    raleqf $p |- ( A = B -> ( A. x e. A ph <-> A. x e. B ph ) ) $=
      ( wceq cv wcel wi wal wral nfeq eleq2 imbi1d albid df-ral 3bitr4g ) CDGZB
      HZCIZAJZBKTDIZAJZBKABCLABDLSUBUDBBCDEFMSUAUCACDTNOPABCQABDQR $.

    $( Equality theorem for restricted existential quantifier, with
       bound-variable hypotheses instead of distinct variable restrictions.
       (Contributed by NM, 9-Oct-2003.)  (Revised by Andrew Salmon,
       11-Jul-2011.) $)
    rexeqf $p |- ( A = B -> ( E. x e. A ph <-> E. x e. B ph ) ) $=
      ( wceq cv wcel wa wex wrex nfeq eleq2 anbi1d exbid df-rex 3bitr4g ) CDGZB
      HZCIZAJZBKTDIZAJZBKABCLABDLSUBUDBBCDEFMSUAUCACDTNOPABCQABDQR $.

    $( Equality theorem for restricted uniqueness quantifier, with
       bound-variable hypotheses instead of distinct variable restrictions.
       (Contributed by NM, 5-Apr-2004.)  (Revised by Andrew Salmon,
       11-Jul-2011.) $)
    reueq1f $p |- ( A = B -> ( E! x e. A ph <-> E! x e. B ph ) ) $=
      ( wceq cv wcel wa weu wreu nfeq eleq2 anbi1d eubid df-reu 3bitr4g ) CDGZB
      HZCIZAJZBKTDIZAJZBKABCLABDLSUBUDBBCDEFMSUAUCACDTNOPABCQABDQR $.

    $( Equality theorem for restricted uniqueness quantifier, with
       bound-variable hypotheses instead of distinct variable restrictions.
       (Contributed by Alexander van der Vekens, 17-Jun-2017.) $)
    rmoeq1f $p |- ( A = B -> ( E* x e. A ph <-> E* x e. B ph ) ) $=
      ( wceq cv wcel wa wmo wrmo nfeq eleq2 anbi1d mobid df-rmo 3bitr4g ) CDGZB
      HZCIZAJZBKTDIZAJZBKABCLABDLSUBUDBBCDEFMSUAUCACDTNOPABCQABDQR $.
  $}

  ${
    $d x A $.  $d x B $.
    $( Equality theorem for restricted universal quantifier.  (Contributed by
       NM, 16-Nov-1995.) $)
    raleq $p |- ( A = B -> ( A. x e. A ph <-> A. x e. B ph ) ) $=
      ( nfcv raleqf ) ABCDBCEBDEF $.

    $( Equality theorem for restricted existential quantifier.  (Contributed by
       NM, 29-Oct-1995.) $)
    rexeq $p |- ( A = B -> ( E. x e. A ph <-> E. x e. B ph ) ) $=
      ( nfcv rexeqf ) ABCDBCEBDEF $.

    $( Equality theorem for restricted uniqueness quantifier.  (Contributed by
       NM, 5-Apr-2004.) $)
    reueq1 $p |- ( A = B -> ( E! x e. A ph <-> E! x e. B ph ) ) $=
      ( nfcv reueq1f ) ABCDBCEBDEF $.

    $( Equality theorem for restricted uniqueness quantifier.  (Contributed by
       Alexander van der Vekens, 17-Jun-2017.) $)
    rmoeq1 $p |- ( A = B -> ( E* x e. A ph <-> E* x e. B ph ) ) $=
      ( nfcv rmoeq1f ) ABCDBCEBDEF $.
  $}

  ${
    $d A x $.  $d B x $.
    raleq1i.1 $e |- A = B $.
    $( Equality inference for restricted universal qualifier.  (Contributed by
       Paul Chapman, 22-Jun-2011.) $)
    raleqi $p |- ( A. x e. A ph <-> A. x e. B ph ) $=
      ( wceq wral wb raleq ax-mp ) CDFABCGABDGHEABCDIJ $.

    $( Equality inference for restricted existential qualifier.  (Contributed
       by Mario Carneiro, 23-Apr-2015.) $)
    rexeqi $p |- ( E. x e. A ph <-> E. x e. B ph ) $=
      ( wceq wrex wb rexeq ax-mp ) CDFABCGABDGHEABCDIJ $.
  $}

  ${
    $d x A $.  $d x B $.
    raleq1d.1 $e |- ( ph -> A = B ) $.
    $( Equality deduction for restricted universal quantifier.  (Contributed by
       NM, 13-Nov-2005.) $)
    raleqdv $p |- ( ph -> ( A. x e. A ps <-> A. x e. B ps ) ) $=
      ( wceq wral wb raleq syl ) ADEGBCDHBCEHIFBCDEJK $.

    $( Equality deduction for restricted existential quantifier.  (Contributed
       by NM, 14-Jan-2007.) $)
    rexeqdv $p |- ( ph -> ( E. x e. A ps <-> E. x e. B ps ) ) $=
      ( wceq wrex wb rexeq syl ) ADEGBCDHBCEHIFBCDEJK $.
  $}

  ${
    $d x A $.  $d x B $.
    raleqd.1 $e |- ( A = B -> ( ph <-> ps ) ) $.
    $( Equality deduction for restricted universal quantifier.  (Contributed by
       NM, 16-Nov-1995.) $)
    raleqbi1dv $p |- ( A = B -> ( A. x e. A ph <-> A. x e. B ps ) ) $=
      ( wceq wral raleq ralbidv bitrd ) DEGZACDHACEHBCEHACDEILABCEFJK $.

    $( Equality deduction for restricted existential quantifier.  (Contributed
       by NM, 18-Mar-1997.) $)
    rexeqbi1dv $p |- ( A = B -> ( E. x e. A ph <-> E. x e. B ps ) ) $=
      ( wceq wrex rexeq rexbidv bitrd ) DEGZACDHACEHBCEHACDEILABCEFJK $.

    $( Equality deduction for restricted uniqueness quantifier.  (Contributed
       by NM, 5-Apr-2004.) $)
    reueqd $p |- ( A = B -> ( E! x e. A ph <-> E! x e. B ps ) ) $=
      ( wceq wreu reueq1 reubidv bitrd ) DEGZACDHACEHBCEHACDEILABCEFJK $.

    $( Equality deduction for restricted uniqueness quantifier.  (Contributed
       by Alexander van der Vekens, 17-Jun-2017.) $)
    rmoeqd $p |- ( A = B -> ( E* x e. A ph <-> E* x e. B ps ) ) $=
      ( wceq wrmo rmoeq1 rmobidv bitrd ) DEGZACDHACEHBCEHACDEILABCEFJK $.
  $}

  ${
    $d x A $.  $d x B $.  $d x ph $.
    raleqbidv.1 $e |- ( ph -> A = B ) $.
    raleqbidv.2 $e |- ( ph -> ( ps <-> ch ) ) $.
    $( Equality deduction for restricted universal quantifier.  (Contributed by
       NM, 6-Nov-2007.) $)
    raleqbidv $p |- ( ph -> ( A. x e. A ps <-> A. x e. B ch ) ) $=
      ( wral raleqdv ralbidv bitrd ) ABDEIBDFICDFIABDEFGJABCDFHKL $.

    $( Equality deduction for restricted universal quantifier.  (Contributed by
       NM, 6-Nov-2007.) $)
    rexeqbidv $p |- ( ph -> ( E. x e. A ps <-> E. x e. B ch ) ) $=
      ( wrex rexeqdv rexbidv bitrd ) ABDEIBDFICDFIABDEFGJABCDFHKL $.
  $}

  ${
    $d x A $.  $d x B $.  $d x ph $.
    raleqbidva.1 $e |- ( ph -> A = B ) $.
    raleqbidva.2 $e |- ( ( ph /\ x e. A ) -> ( ps <-> ch ) ) $.
    $( Equality deduction for restricted universal quantifier.  (Contributed by
       Mario Carneiro, 5-Jan-2017.) $)
    raleqbidva $p |- ( ph -> ( A. x e. A ps <-> A. x e. B ch ) ) $=
      ( wral ralbidva raleqdv bitrd ) ABDEICDEICDFIABCDEHJACDEFGKL $.

    $( Equality deduction for restricted universal quantifier.  (Contributed by
       Mario Carneiro, 5-Jan-2017.) $)
    rexeqbidva $p |- ( ph -> ( E. x e. A ps <-> E. x e. B ch ) ) $=
      ( wrex rexbidva rexeqdv bitrd ) ABDEICDEICDFIABCDEHJACDEFGKL $.
  $}

  $( Unrestricted "at most one" implies restricted "at most one".  (Contributed
     by NM, 16-Jun-2017.) $)
  mormo $p |- ( E* x ph -> E* x e. A ph ) $=
    ( wmo cv wcel wa wrmo moan df-rmo sylibr ) ABDBECFZAGBDABCHALBIABCJK $.

  $( Restricted uniqueness in terms of "at most one."  (Contributed by NM,
     23-May-1999.)  (Revised by NM, 16-Jun-2017.) $)
  reu5 $p |- ( E! x e. A ph <-> ( E. x e. A ph /\ E* x e. A ph ) ) $=
    ( cv wcel wa weu wex wmo wreu wrex eu5 df-reu df-rex df-rmo anbi12i 3bitr4i
    wrmo ) BDCEAFZBGSBHZSBIZFABCJABCKZABCRZFSBLABCMUBTUCUAABCNABCOPQ $.

  $( Restricted unique existence implies restricted existence.  (Contributed by
     NM, 19-Aug-1999.) $)
  reurex $p |- ( E! x e. A ph -> E. x e. A ph ) $=
    ( wreu wrex wrmo reu5 simplbi ) ABCDABCEABCFABCGH $.

  $( Restricted existential uniqueness implies restricted "at most one."
     (Contributed by NM, 16-Jun-2017.) $)
  reurmo $p |- ( E! x e. A ph -> E* x e. A ph ) $=
    ( wreu wrex wrmo reu5 simprbi ) ABCDABCEABCFABCGH $.

  $( Restricted "at most one" in term of uniqueness.  (Contributed by NM,
     16-Jun-2017.) $)
  rmo5 $p |- ( E* x e. A ph <-> ( E. x e. A ph -> E! x e. A ph ) ) $=
    ( cv wcel wa wmo wex weu wrmo wrex wreu df-mo df-rmo df-rex imbi12i 3bitr4i
    wi df-reu ) BDCEAFZBGTBHZTBIZRABCJABCKZABCLZRTBMABCNUCUAUDUBABCOABCSPQ $.

  $( Nonexistence implies restricted "at most one".  (Contributed by NM,
     17-Jun-2017.) $)
  nrexrmo $p |- ( -. E. x e. A ph -> E* x e. A ph ) $=
    ( wrex wn wreu wi wrmo pm2.21 rmo5 sylibr ) ABCDZELABCFZGABCHLMIABCJK $.

  ${
    $d x z $.  $d y z $.  $d z A $.  $d z ps $.  $d z ph $.
    cbvralf.1 $e |- F/_ x A $.
    cbvralf.2 $e |- F/_ y A $.
    cbvralf.3 $e |- F/ y ph $.
    cbvralf.4 $e |- F/ x ps $.
    cbvralf.5 $e |- ( x = y -> ( ph <-> ps ) ) $.
    $( Rule used to change bound variables, using implicit substitution.
       (Contributed by NM, 7-Mar-2004.)  (Revised by Mario Carneiro,
       9-Oct-2016.) $)
    cbvralf $p |- ( A. x e. A ph <-> A. y e. A ps ) $=
      ( vz cv wcel wi wal wral wsb nfv nfcri nfim nfs1v wceq eleq1 sbequ12 nfsb
      imbi12d cbval sbequ sbie syl6bb bitri df-ral 3bitr4i ) CLZEMZANZCOZDLZEMZ
      BNZDOZACEPBDEPUQKLZEMZACKQZNZKOVAUPVECKUPKRVCVDCCKEFSACKUATUNVBUBUOVCAVDU
      NVBEUCACKUDUFUGVEUTKDVCVDDDKEGSACKDHUETUTKRVBURUBZVCUSVDBVBUREUCVFVDACDQB
      AKDCUHABCDIJUIUJUFUGUKACEULBDEULUM $.

    $( Rule used to change bound variables, using implicit substitution.
       (Contributed by FL, 27-Apr-2008.)  (Revised by Mario Carneiro,
       9-Oct-2016.) $)
    cbvrexf $p |- ( E. x e. A ph <-> E. y e. A ps ) $=
      ( wn wral wrex nfn cv wceq notbid cbvralf notbii dfrex2 3bitr4i ) AKZCELZ
      KBKZDELZKACEMBDEMUCUEUBUDCDEFGADHNBCINCODOPABJQRSACETBDETUA $.
  $}

  ${
    $d x z A $.  $d y z A $.  $d z ph $.  $d z ps $.
    cbvral.1 $e |- F/ y ph $.
    cbvral.2 $e |- F/ x ps $.
    cbvral.3 $e |- ( x = y -> ( ph <-> ps ) ) $.
    $( Rule used to change bound variables, using implicit substitution.
       (Contributed by NM, 31-Jul-2003.) $)
    cbvral $p |- ( A. x e. A ph <-> A. y e. A ps ) $=
      ( nfcv cbvralf ) ABCDECEIDEIFGHJ $.

    $( Rule used to change bound variables, using implicit substitution.
       (Contributed by NM, 31-Jul-2003.)  (Proof shortened by Andrew Salmon,
       8-Jun-2011.) $)
    cbvrex $p |- ( E. x e. A ph <-> E. y e. A ps ) $=
      ( nfcv cbvrexf ) ABCDECEIDEIFGHJ $.

    $( Change the bound variable of a restricted uniqueness quantifier using
       implicit substitution.  (Contributed by Mario Carneiro, 15-Oct-2016.) $)
    cbvreu $p |- ( E! x e. A ph <-> E! y e. A ps ) $=
      ( vz cv wcel wa weu wreu wsb nfv sb8eu sban eubii df-reu anbi1i nfsb nfan
      clelsb3 wceq eleq1 sbequ sbie syl6bb anbi12d cbveu bitri 3bitri 3bitr4i )
      CJEKZALZCMZDJZEKZBLZDMZACENBDENUQUPCIOZIMUOCIOZACIOZLZIMZVAUPCIUPIPQVBVEI
      UOACIRSVFIJZEKZVDLZIMVAVEVIIVCVHVDICEUDUASVIUTIDVHVDDVHDPACIDFUBUCUTIPVGU
      RUEZVHUSVDBVGUREUFVJVDACDOBAIDCUGABCDGHUHUIUJUKULUMACETBDETUN $.

    $( Change the bound variable of restricted "at most one" using implicit
       substitution.  (Contributed by NM, 16-Jun-2017.) $)
    cbvrmo $p |- ( E* x e. A ph <-> E* y e. A ps ) $=
      ( wrex wreu wi wrmo cbvrex cbvreu imbi12i rmo5 3bitr4i ) ACEIZACEJZKBDEIZ
      BDEJZKACELBDELRTSUAABCDEFGHMABCDEFGHNOACEPBDEPQ $.
  $}

  ${
    $d x A $.  $d y A $.  $d y ph $.  $d x ps $.
    cbvralv.1 $e |- ( x = y -> ( ph <-> ps ) ) $.
    $( Change the bound variable of a restricted universal quantifier using
       implicit substitution.  (Contributed by NM, 28-Jan-1997.) $)
    cbvralv $p |- ( A. x e. A ph <-> A. y e. A ps ) $=
      ( nfv cbvral ) ABCDEADGBCGFH $.

    $( Change the bound variable of a restricted existential quantifier using
       implicit substitution.  (Contributed by NM, 2-Jun-1998.) $)
    cbvrexv $p |- ( E. x e. A ph <-> E. y e. A ps ) $=
      ( nfv cbvrex ) ABCDEADGBCGFH $.

    $( Change the bound variable of a restricted uniqueness quantifier using
       implicit substitution.  (Contributed by NM, 5-Apr-2004.)  (Revised by
       Mario Carneiro, 15-Oct-2016.) $)
    cbvreuv $p |- ( E! x e. A ph <-> E! y e. A ps ) $=
      ( nfv cbvreu ) ABCDEADGBCGFH $.

    $( Change the bound variable of a restricted uniqueness quantifier using
       implicit substitution.  (Contributed by Alexander van der Vekens,
       17-Jun-2017.) $)
    cbvrmov $p |- ( E* x e. A ph <-> E* y e. A ps ) $=
      ( nfv cbvrmo ) ABCDEADGBCGFH $.
  $}

  ${
    $d A y $.  $d ps y $.  $d B x $.  $d ch x $.  $d x ph y $.
    cbvraldva2.1 $e |- ( ( ph /\ x = y ) -> ( ps <-> ch ) ) $.
    cbvraldva2.2 $e |- ( ( ph /\ x = y ) -> A = B ) $.
    $( Rule used to change the bound variable in a restricted universal
       quantifier with implicit substitution which also changes the quantifier
       domain.  Deduction form.  (Contributed by David Moews, 1-May-2017.) $)
    cbvraldva2 $p |- ( ph -> ( A. x e. A ps <-> A. y e. B ch ) ) $=
      ( cv wcel wi wal wral weq wa simpr eleq12d imbi12d df-ral cbvaldva
      3bitr4g ) ADJZFKZBLZDMEJZGKZCLZEMBDFNCEGNAUEUHDEADEOZPZUDUGBCUJUCUFFGAUIQ
      IRHSUABDFTCEGTUB $.

    $( Rule used to change the bound variable in a restricted existential
       quantifier with implicit substitution which also changes the quantifier
       domain.  Deduction form.  (Contributed by David Moews, 1-May-2017.) $)
    cbvrexdva2 $p |- ( ph -> ( E. x e. A ps <-> E. y e. B ch ) ) $=
      ( cv wcel wa wex wrex weq simpr eleq12d anbi12d cbvexdva df-rex 3bitr4g )
      ADJZFKZBLZDMEJZGKZCLZEMBDFNCEGNAUDUGDEADEOZLZUCUFBCUIUBUEFGAUHPIQHRSBDFTC
      EGTUA $.
  $}

  ${
    $d ps y $.  $d ch x $.  $d A x y $.  $d x ph y $.
    cbvraldva.1 $e |- ( ( ph /\ x = y ) -> ( ps <-> ch ) ) $.
    $( Rule used to change the bound variable in a restricted universal
       quantifier with implicit substitution.  Deduction form.  (Contributed by
       David Moews, 1-May-2017.) $)
    cbvraldva $p |- ( ph -> ( A. x e. A ps <-> A. y e. A ch ) ) $=
      ( weq wa eqidd cbvraldva2 ) ABCDEFFGADEHIFJK $.

    $( Rule used to change the bound variable in a restricted existential
       quantifier with implicit substitution.  Deduction form.  (Contributed by
       David Moews, 1-May-2017.) $)
    cbvrexdva $p |- ( ph -> ( E. x e. A ps <-> E. y e. A ch ) ) $=
      ( weq wa eqidd cbvrexdva2 ) ABCDEFFGADEHIFJK $.
  $}

  ${
    $d x A $.  $d z A $.  $d x y B $.  $d z y B $.  $d w B $.  $d z ph $.
    $d y ps $.  $d x ch $.  $d w ch $.
    cbvral2v.1 $e |- ( x = z -> ( ph <-> ch ) ) $.
    cbvral2v.2 $e |- ( y = w -> ( ch <-> ps ) ) $.
    $( Change bound variables of double restricted universal quantification,
       using implicit substitution.  (Contributed by NM, 10-Aug-2004.) $)
    cbvral2v $p |- ( A. x e. A A. y e. B ph <-> A. z e. A A. w e. B ps ) $=
      ( wral cv wceq ralbidv cbvralv ralbii bitri ) AEILZDHLCEILZFHLBGILZFHLSTD
      FHDMFMNACEIJOPTUAFHCBEGIKPQR $.
  $}

  ${
    $d A x $.  $d A z $.  $d B w $.  $d B x y $.  $d B z y $.  $d ch w $.
    $d ch x $.  $d ph z $.  $d ps y $.
    cbvrex2v.1 $e |- ( x = z -> ( ph <-> ch ) ) $.
    cbvrex2v.2 $e |- ( y = w -> ( ch <-> ps ) ) $.
    $( Change bound variables of double restricted universal quantification,
       using implicit substitution.  (Contributed by FL, 2-Jul-2012.) $)
    cbvrex2v $p |- ( E. x e. A E. y e. B ph <-> E. z e. A E. w e. B ps ) $=
      ( wrex weq rexbidv cbvrexv rexbii bitri ) AEILZDHLCEILZFHLBGILZFHLRSDFHDF
      MACEIJNOSTFHCBEGIKOPQ $.
  $}

  ${
    $d w ph $.  $d z ps $.  $d x ch $.  $d v ch $.  $d y u th $.  $d x A $.
    $d w A $.  $d x y B $.  $d w y B $.  $d v B $.  $d x y z C $.
    $d w y z C $.  $d v z C $.  $d z y C $.  $d z C $.  $d u C $.
    cbvral3v.1 $e |- ( x = w -> ( ph <-> ch ) ) $.
    cbvral3v.2 $e |- ( y = v -> ( ch <-> th ) ) $.
    cbvral3v.3 $e |- ( z = u -> ( th <-> ps ) ) $.
    $( Change bound variables of triple restricted universal quantification,
       using implicit substitution.  (Contributed by NM, 10-May-2005.) $)
    cbvral3v $p |- ( A. x e. A A. y e. B A. z e. C ph <->
                     A. w e. A A. v e. B A. u e. C ps ) $=
      ( wral cv wceq 2ralbidv cbvralv cbvral2v ralbii bitri ) AGMQFLQZEKQCGMQFL
      QZHKQBJMQILQZHKQUEUFEHKERHRSACFGLMNTUAUFUGHKCBDFGIJLMOPUBUCUD $.
  $}

  ${
    $d z x A $.  $d y A $.  $d z y ph $.
    $( Change bound variable by using a substitution.  (Contributed by NM,
       20-Nov-2005.)  (Revised by Andrew Salmon, 11-Jul-2011.) $)
    cbvralsv $p |- ( A. x e. A ph <-> A. y e. A [ y / x ] ph ) $=
      ( vz wral wsb nfv nfs1v sbequ12 cbvral nfsb sbequ bitri ) ABDFABEGZEDFABC
      GZCDFAOBEDAEHABEIABEJKOPECDABECACHLPEHAECBMKN $.
  $}

  ${
    $d z x A $.  $d y z ph $.  $d y A $.
    $( Change bound variable by using a substitution.  (Contributed by NM,
       2-Mar-2008.)  (Revised by Andrew Salmon, 11-Jul-2011.) $)
    cbvrexsv $p |- ( E. x e. A ph <-> E. y e. A [ y / x ] ph ) $=
      ( vz wrex wsb nfv nfs1v sbequ12 cbvrex nfsb sbequ bitri ) ABDFABEGZEDFABC
      GZCDFAOBEDAEHABEIABEJKOPECDABECACHLPEHAECBMKN $.
  $}

  ${
    $d x y z $.  $d y z ph $.  $d x z ps $.
    sbralie.1 $e |- ( x = y -> ( ph <-> ps ) ) $.
    $( Implicit to explicit substitution that swaps variables in a quantified
       expression.  (Contributed by NM, 5-Sep-2004.) $)
    sbralie $p |- ( [ x / y ] A. x e. y ph <-> A. y e. x ps ) $=
      ( vz cv wral wsb cbvralsv sbbii nfv raleq sbie bitri sbco2 ralbii ) ACDGZ
      HZDCIZACFIZFCGZHZBDUBHZTUAFRHZDCIUCSUEDCACFRJKUEUCDCUCDLUAFRUBMNOUCUAFDIZ
      DUBHUDUAFDUBJUFBDUBUFACDIBACDFAFLPABCDBCLENOQOO $.
  $}

  ${
    rabbiia.1 $e |- ( x e. A -> ( ph <-> ps ) ) $.
    $( Equivalent wff's yield equal restricted class abstractions (inference
       rule).  (Contributed by NM, 22-May-1999.) $)
    rabbiia $p |- { x e. A | ph } = { x e. A | ps } $=
      ( cv wcel wa cab crab pm5.32i abbii df-rab 3eqtr4i ) CFDGZAHZCIOBHZCIACDJ
      BCDJPQCOABEKLACDMBCDMN $.
  $}

  ${
    $d x ph $.
    rabbidva.1 $e |- ( ( ph /\ x e. A ) -> ( ps <-> ch ) ) $.
    $( Equivalent wff's yield equal restricted class abstractions (deduction
       rule).  (Contributed by NM, 28-Nov-2003.) $)
    rabbidva $p |- ( ph -> { x e. A | ps } = { x e. A | ch } ) $=
      ( wb wral crab wceq ralrimiva rabbi sylib ) ABCGZDEHBDEICDEIJANDEFKBCDELM
      $.
  $}

  ${
    $d x ph $.
    rabbidv.1 $e |- ( ph -> ( ps <-> ch ) ) $.
    $( Equivalent wff's yield equal restricted class abstractions (deduction
       rule).  (Contributed by NM, 10-Feb-1995.) $)
    rabbidv $p |- ( ph -> { x e. A | ps } = { x e. A | ch } ) $=
      ( wb cv wcel adantr rabbidva ) ABCDEABCGDHEIFJK $.
  $}

  ${
    rabeqf.1 $e |- F/_ x A $.
    rabeqf.2 $e |- F/_ x B $.
    $( Equality theorem for restricted class abstractions, with bound-variable
       hypotheses instead of distinct variable restrictions.  (Contributed by
       NM, 7-Mar-2004.) $)
    rabeqf $p |- ( A = B -> { x e. A | ph } = { x e. B | ph } ) $=
      ( wceq cv wcel wa cab crab nfeq eleq2 anbi1d abbid df-rab 3eqtr4g ) CDGZB
      HZCIZAJZBKTDIZAJZBKABCLABDLSUBUDBBCDEFMSUAUCACDTNOPABCQABDQR $.
  $}

  ${
    $d x A $.  $d x B $.
    $( Equality theorem for restricted class abstractions.  (Contributed by NM,
       15-Oct-2003.) $)
    rabeq $p |- ( A = B -> { x e. A | ph } = { x e. B | ph } ) $=
      ( nfcv rabeqf ) ABCDBCEBDEF $.
  $}

  ${
    $d A x $.  $d B x $.  $d ph x $.
    rabeqbidv.1 $e |- ( ph -> A = B ) $.
    rabeqbidv.2 $e |- ( ph -> ( ps <-> ch ) ) $.
    $( Equality of restricted class abstractions.  (Contributed by Jeff Madsen,
       1-Dec-2009.) $)
    rabeqbidv $p |- ( ph -> { x e. A | ps } = { x e. B | ch } ) $=
      ( crab wceq rabeq syl rabbidv eqtrd ) ABDEIZBDFIZCDFIAEFJOPJGBDEFKLABCDFH
      MN $.
  $}

  ${
    $d A x $.  $d B x $.  $d ph x $.
    rabeqbidva.1 $e |- ( ph -> A = B ) $.
    rabeqbidva.2 $e |- ( ( ph /\ x e. A ) -> ( ps <-> ch ) ) $.
    $( Equality of restricted class abstractions.  (Contributed by Mario
       Carneiro, 26-Jan-2017.) $)
    rabeqbidva $p |- ( ph -> { x e. A | ps } = { x e. B | ch } ) $=
      ( crab rabbidva wceq rabeq syl eqtrd ) ABDEICDEIZCDFIZABCDEHJAEFKOPKGCDEF
      LMN $.
  $}

  ${
    rabeqi.1 $e |- A = { x e. B | ph } $.
    $( Inference rule from equality of a class variable and a restricted class
       abstraction.  (Contributed by NM, 16-Feb-2004.) $)
    rabeq2i $p |- ( x e. A <-> ( x e. B /\ ph ) ) $=
      ( cv wcel crab wa eleq2i rabid bitri ) BFZCGMABDHZGMDGAICNMEJABDKL $.
  $}

  ${
    $d x z $.  $d y z $.  $d A z $.  $d ph z $.  $d ps z $.
    cbvrab.1 $e |- F/_ x A $.
    cbvrab.2 $e |- F/_ y A $.
    cbvrab.3 $e |- F/ y ph $.
    cbvrab.4 $e |- F/ x ps $.
    cbvrab.5 $e |- ( x = y -> ( ph <-> ps ) ) $.
    $( Rule to change the bound variable in a restricted class abstraction,
       using implicit substitution.  This version has bound-variable hypotheses
       in place of distinct variable conditions.  (Contributed by Andrew
       Salmon, 11-Jul-2011.)  (Revised by Mario Carneiro, 9-Oct-2016.) $)
    cbvrab $p |- { x e. A | ph } = { y e. A | ps } $=
      ( vz cv wcel wa cab crab wsb nfv nfcri nfan nfs1v wceq eleq1 sbequ12 nfsb
      anbi12d cbvab sbequ sbie syl6bb eqtri df-rab 3eqtr4i ) CLZEMZANZCOZDLZEMZ
      BNZDOZACEPBDEPUQKLZEMZACKQZNZKOVAUPVECKUPKRVCVDCCKEFSACKUATUNVBUBUOVCAVDU
      NVBEUCACKUDUFUGVEUTKDVCVDDDKEGSACKDHUETUTKRVBURUBZVCUSVDBVBUREUCVFVDACDQB
      AKDCUHABCDIJUIUJUFUGUKACEULBDEULUM $.
  $}

  ${
    $d x y A $.  $d y ph $.  $d x ps $.
    cbvrabv.1 $e |- ( x = y -> ( ph <-> ps ) ) $.
    $( Rule to change the bound variable in a restricted class abstraction,
       using implicit substitution.  (Contributed by NM, 26-May-1999.) $)
    cbvrabv $p |- { x e. A | ph } = { y e. A | ps } $=
      ( nfcv nfv cbvrab ) ABCDECEGDEGADHBCHFI $.
  $}

$(
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
        The universal class
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
$)

  $( Declare the symbol for the universal class. $)
  $c _V $. $( Letter V (for the universal class) $)

  $( Extend class notation to include the universal class symbol. $)
  cvv $a class _V $.

  ${
    $d z x $.  $d z y $.
    $( Soundness justification theorem for ~ df-v .  (Contributed by Rodolfo
       Medina, 27-Apr-2010.) $)
    vjust $p |- { x | x = x } = { y | y = y } $=
      ( vz cv wceq cab wsb wcel equid sbt 2th df-clab 3bitr4i eqriv ) CADZOEZAF
      ZBDZREZBFZPACGZSBCGZCDZQHUCTHUAUBPACAIJSBCBIJKPCALSCBLMN $.
  $}

  $( Define the universal class.  Definition 5.20 of [TakeutiZaring] p. 21.
     Also Definition 2.9 of [Quine] p. 19.  (Contributed by NM, 5-Aug-1993.) $)
  df-v $a |- _V = { x | x = x } $.

  $( All setvar variables are sets (see ~ isset ).  Theorem 6.8 of [Quine]
     p. 43.  (Contributed by NM, 5-Aug-1993.) $)
  vex $p |- x e. _V $=
    ( cv cvv wcel wceq eqid df-v abeq2i mpbir ) ABZCDJJEZJFKACAGHI $.

  ${
    $d x A $.
    $( Two ways to say " ` A ` is a set":  A class ` A ` is a member of the
       universal class ` _V ` (see ~ df-v ) if and only if the class ` A `
       exists (i.e. there exists some set ` x ` equal to class ` A ` ).
       Theorem 6.9 of [Quine] p. 43. _Notational convention_:  We will use the
       notational device " ` A e. _V ` " to mean " ` A ` is a set" very
       frequently, for example in ~ uniex .  Note the when ` A ` is not a set,
       it is called a proper class.  In some theorems, such as ~ uniexg , in
       order to shorten certain proofs we use the more general antecedent
       ` A e. V ` instead of ` A e. _V ` to mean " ` A ` is a set."

       Note that a constant is implicitly considered distinct from all
       variables.  This is why ` _V ` is not included in the distinct variable
       list, even though ~ df-clel requires that the expression substituted for
       ` B ` not contain ` x ` .  (Also, the Metamath spec does not allow
       constants in the distinct variable list.)  (Contributed by NM,
       5-Aug-1993.) $)
    isset $p |- ( A e. _V <-> E. x x = A ) $=
      ( cvv wcel cv wceq wa wex df-clel vex biantru exbii bitr4i ) BCDAEZBFZNCD
      ZGZAHOAHABCIOQAPOAJKLM $.
  $}

  ${
    $d A y $.  $d x y $.
    issetf.1 $e |- F/_ x A $.
    $( A version of isset that does not require x and A to be distinct.
       (Contributed by Andrew Salmon, 6-Jun-2011.)  (Revised by Mario Carneiro,
       10-Oct-2016.) $)
    issetf $p |- ( A e. _V <-> E. x x = A ) $=
      ( vy cvv wcel cv wceq wex isset nfeq2 nfv eqeq1 cbvex bitri ) BEFDGZBHZDI
      AGZBHZAIDBJQSDAAPBCKSDLPRBMNO $.
  $}

  ${
    $d x A $.
    isseti.1 $e |- A e. _V $.
    $( A way to say " ` A ` is a set" (inference rule).  (Contributed by NM,
       5-Aug-1993.) $)
    isseti $p |- E. x x = A $=
      ( cvv wcel cv wceq wex isset mpbi ) BDEAFBGAHCABIJ $.
  $}

  ${
    $d x A $.
    issetri.1 $e |- E. x x = A $.
    $( A way to say " ` A ` is a set" (inference rule).  (Contributed by NM,
       5-Aug-1993.) $)
    issetri $p |- A e. _V $=
      ( cvv wcel cv wceq wex isset mpbir ) BDEAFBGAHCABIJ $.
  $}

  ${
    $d x A $.  $d x B $.
    $( If a class is a member of another class, it is a set.  Theorem 6.12 of
       [Quine] p. 44.  (Contributed by NM, 5-Aug-1993.)  (Proof shortened by
       Andrew Salmon, 8-Jun-2011.) $)
    elex $p |- ( A e. B -> A e. _V ) $=
      ( vx cv wceq wcel wa wex cvv exsimpl df-clel isset 3imtr4i ) CDZAEZNBFZGC
      HOCHABFAIFOPCJCABKCALM $.
  $}

  ${
    elisseti.1 $e |- A e. B $.
    $( If a class is a member of another class, it is a set.  (Contributed by
       NM, 11-Jun-1994.) $)
    elexi $p |- A e. _V $=
      ( wcel cvv elex ax-mp ) ABDAEDCABFG $.
  $}

  ${
    $d x A $.
    $( An element of a class exists.  (Contributed by NM, 1-May-1995.) $)
    elisset $p |- ( A e. V -> E. x x = A ) $=
      ( wcel cvv cv wceq wex elex isset sylib ) BCDBEDAFBGAHBCIABJK $.
  $}

  ${
    $d x A $.  $d x B $.  $d x C $.
    $( If two classes each contain another class, then both contain some set.
       (Contributed by Alan Sare, 24-Oct-2011.) $)
    elex22 $p |- ( ( A e. B /\ A e. C ) -> E. x ( x e. B /\ x e. C ) ) $=
      ( wcel wa cv wceq wi wal eleq1a anim12ii alrimiv elisset adantr exim sylc
      wex ) BCEZBDEZFZAGZBHZUBCEZUBDEZFZIZAJUCARZUFARUAUGASUCUDTUEBCUBKBDUBKLMS
      UHTABCNOUCUFAPQ $.
  $}

  ${
    $d x A $.  $d x B $.
    $( If a class contains another class, then it contains some set.
       (Contributed by Alan Sare, 25-Sep-2011.) $)
    elex2 $p |- ( A e. B -> E. x x e. B ) $=
      ( wcel cv wceq wi wal wex eleq1a alrimiv elisset exim sylc ) BCDZAEZBFZPC
      DZGZAHQAIRAIOSABCPJKABCLQRAMN $.
  $}

  $( A universal quantifier restricted to the universe is unrestricted.
     (Contributed by NM, 26-Mar-2004.) $)
  ralv $p |- ( A. x e. _V ph <-> A. x ph ) $=
    ( cvv wral cv wcel wi wal df-ral vex a1bi albii bitr4i ) ABCDBECFZAGZBHABHA
    BCIAOBNABJKLM $.

  $( An existential quantifier restricted to the universe is unrestricted.
     (Contributed by NM, 26-Mar-2004.) $)
  rexv $p |- ( E. x e. _V ph <-> E. x ph ) $=
    ( cvv wrex cv wcel wa wex df-rex vex biantrur exbii bitr4i ) ABCDBECFZAGZBH
    ABHABCIAOBNABJKLM $.

  $( A uniqueness quantifier restricted to the universe is unrestricted.
     (Contributed by NM, 1-Nov-2010.) $)
  reuv $p |- ( E! x e. _V ph <-> E! x ph ) $=
    ( cvv wreu cv wcel wa weu df-reu vex biantrur eubii bitr4i ) ABCDBECFZAGZBH
    ABHABCIAOBNABJKLM $.

  $( A uniqueness quantifier restricted to the universe is unrestricted.
     (Contributed by Alexander van der Vekens, 17-Jun-2017.) $)
  rmov $p |- ( E* x e. _V ph <-> E* x ph ) $=
    ( cvv wrmo cv wcel wa wmo df-rmo vex biantrur mobii bitr4i ) ABCDBECFZAGZBH
    ABHABCIAOBNABJKLM $.

  $( A class abstraction restricted to the universe is unrestricted.
     (Contributed by NM, 27-Dec-2004.)  (Proof shortened by Andrew Salmon,
     8-Jun-2011.) $)
  rabab $p |- { x e. _V | ph } = { x | ph } $=
    ( cvv crab cv wcel wa cab df-rab vex biantrur abbii eqtr4i ) ABCDBECFZAGZBH
    ABHABCIAOBNABJKLM $.

  ${
    $d x y $.  $d y A $.
    $( Commutation of restricted and unrestricted universal quantifiers.
       (Contributed by NM, 26-Mar-2004.)  (Proof shortened by Andrew Salmon,
       8-Jun-2011.) $)
    ralcom4 $p |- ( A. x e. A A. y ph <-> A. y A. x e. A ph ) $=
      ( cvv wral wal ralcom ralv ralbii 3bitr3i ) ACEFZBDFABDFZCEFACGZBDFMCGABC
      DEHLNBDACIJMCIK $.

    $( Commutation of restricted and unrestricted existential quantifiers.
       (Contributed by NM, 12-Apr-2004.)  (Proof shortened by Andrew Salmon,
       8-Jun-2011.) $)
    rexcom4 $p |- ( E. x e. A E. y ph <-> E. y E. x e. A ph ) $=
      ( cvv wrex wex rexcom rexv rexbii 3bitr3i ) ACEFZBDFABDFZCEFACGZBDFMCGABC
      DEHLNBDACIJMCIK $.
  $}

  ${
    $d A x $.  $d x y $.  $d ph x $.
    $( Specialized existential commutation lemma.  (Contributed by Jeff Madsen,
       1-Jun-2011.) $)
    rexcom4a $p |- ( E. x E. y e. A ( ph /\ ps )
                          <-> E. y e. A ( ph /\ E. x ps ) ) $=
      ( wa wrex wex rexcom4 19.42v rexbii bitr3i ) ABFZDEGCHMCHZDEGABCHFZDEGMDC
      EINODEABCJKL $.

    $d B x $.
    rexcom4b.1 $e |- B e. _V $.
    $( Specialized existential commutation lemma.  (Contributed by Jeff Madsen,
       1-Jun-2011.) $)
    rexcom4b $p |- ( E. x E. y e. A ( ph /\ x = B ) <-> E. y e. A ph ) $=
      ( cv wceq wa wrex wex rexcom4a isseti biantru rexbii bitr4i ) ABGEHZICDJB
      KAQBKZIZCDJACDJAQBCDLASCDRABEFMNOP $.
  $}

  ${
    $d x A $.
    $( Closed theorem version of ~ ceqsalg .  (Contributed by NM,
       28-Feb-2013.)  (Revised by Mario Carneiro, 10-Oct-2016.) $)
    ceqsalt $p |- ( ( F/ x ps /\ A. x ( x = A -> ( ph <-> ps ) ) /\ A e. V )
         -> ( A. x ( x = A -> ph ) <-> ps ) ) $=
      ( wnf cv wceq wb wi wal wcel w3a wex elisset 3ad2ant3 bi1 imim3i 3ad2ant2
      3ad2ant1 al2imi 19.23t sylibd mpid imim2i com23 alimi 19.21t mpbid impbid
      bi2 ) BCFZCGDHZABIZJZCKZDELZMZUMAJZCKZBURUTUMCNZBUQULVAUPCDEOPURUTUMBJZCK
      ZVABJZUPULUTVCJUQUOUSVBCUNABUMABQRUASULUPVCVDIUQUMBCUBTUCUDURBUSJZCKZBUTJ
      ZUPULVFUQUOVECUOUMBAUNBAJUMABUKUEUFUGSULUPVFVGIUQBUSCUHTUIUJ $.
  $}

  ${
    $d x A $.  $d x B $.
    $( Restricted quantifier version of ~ ceqsalt .  (Contributed by NM,
       28-Feb-2013.)  (Revised by Mario Carneiro, 10-Oct-2016.) $)
    ceqsralt $p |- ( ( F/ x ps
              /\ A. x ( x = A -> ( ph <-> ps ) ) /\ A e. B )
         -> ( A. x e. B ( x = A -> ph ) <-> ps ) ) $=
      ( wnf cv wceq wb wi wal wcel w3a wral df-ral eleq1 pm5.32ri imbi1i impexp
      wa 3bitr3i albii a1i syl5bb 19.21v syl6bb biimt 3ad2ant3 ceqsalt 3bitr2d
      ) BCFZCGZDHZABIJCKZDELZMZUMAJZCENZUOUQCKZJZUSBUPURUOUQJZCKZUTURULELZUQJZC
      KZUPVBUQCEOVEVBIUPVDVACVCUMTZAJUOUMTZAJVDVAVFVGAUMVCUOULDEPQRVCUMASUOUMAS
      UAUBUCUDUOUQCUEUFUOUKUSUTIUNUOUSUGUHABCDEUIUJ $.
  $}

  ${
    $d x A $.
    ceqsalg.1 $e |- F/ x ps $.
    ceqsalg.2 $e |- ( x = A -> ( ph <-> ps ) ) $.
    $( A representation of explicit substitution of a class for a variable,
       inferred from an implicit substitution hypothesis.  (Contributed by NM,
       29-Oct-2003.)  (Proof shortened by Andrew Salmon, 8-Jun-2011.) $)
    ceqsalg $p |- ( A e. V -> ( A. x ( x = A -> ph ) <-> ps ) ) $=
      ( wcel cv wceq wi wal wex elisset nfa1 biimpd a2i sps exlimd syl5com
      biimprcd alrimi impbid1 ) DEHZCIDJZAKZCLZBUDUECMUGBCDENUGUEBCUFCOFUFUEBKC
      UEABUEABGPQRSTBUFCFUEABGUAUBUC $.
  $}

  ${
    $d x A $.
    ceqsal.1 $e |- F/ x ps $.
    ceqsal.2 $e |- A e. _V $.
    ceqsal.3 $e |- ( x = A -> ( ph <-> ps ) ) $.
    $( A representation of explicit substitution of a class for a variable,
       inferred from an implicit substitution hypothesis.  (Contributed by NM,
       18-Aug-1993.) $)
    ceqsal $p |- ( A. x ( x = A -> ph ) <-> ps ) $=
      ( cvv wcel cv wceq wi wal wb ceqsalg ax-mp ) DHICJDKALCMBNFABCDHEGOP $.
  $}

  ${
    $d x A $.  $d x ps $.
    ceqsalv.1 $e |- A e. _V $.
    ceqsalv.2 $e |- ( x = A -> ( ph <-> ps ) ) $.
    $( A representation of explicit substitution of a class for a variable,
       inferred from an implicit substitution hypothesis.  (Contributed by NM,
       18-Aug-1993.) $)
    ceqsalv $p |- ( A. x ( x = A -> ph ) <-> ps ) $=
      ( nfv ceqsal ) ABCDBCGEFH $.
  $}

  ${
    $d x A $.  $d x B $.  $d x ps $.
    ceqsralv.2 $e |- ( x = A -> ( ph <-> ps ) ) $.
    $( Restricted quantifier version of ~ ceqsalv .  (Contributed by NM,
       21-Jun-2013.) $)
    ceqsralv $p |- ( A e. B -> ( A. x e. B ( x = A -> ph ) <-> ps ) ) $=
      ( wnf cv wceq wb wi wal wcel wral nfv ax-gen ceqsralt mp3an12 ) BCGCHDIZA
      BJKZCLDEMSAKCENBJBCOTCFPABCDEQR $.
  $}

  ${
    $d x ps $.
    gencl.1 $e |- ( th <-> E. x ( ch /\ A = B ) ) $.
    gencl.2 $e |- ( A = B -> ( ph <-> ps ) ) $.
    gencl.3 $e |- ( ch -> ph ) $.
    $( Implicit substitution for class with embedded variable.  (Contributed by
       NM, 17-May-1996.) $)
    gencl $p |- ( th -> ps ) $=
      ( wceq wa wex syl5ib impcom exlimiv sylbi ) DCFGKZLZEMBHSBERCBCARBJINOPQ
      $.
  $}

  ${
    $d x y $.  $d x R $.  $d x ps $.  $d y C $.  $d y S $.  $d y ch $.
    2gencl.1 $e |- ( C e. S <-> E. x e. R A = C ) $.
    2gencl.2 $e |- ( D e. S <-> E. y e. R B = D ) $.
    2gencl.3 $e |- ( A = C -> ( ph <-> ps ) ) $.
    2gencl.4 $e |- ( B = D -> ( ps <-> ch ) ) $.
    2gencl.5 $e |- ( ( x e. R /\ y e. R ) -> ph ) $.
    $( Implicit substitution for class with embedded variable.  (Contributed by
       NM, 17-May-1996.) $)
    2gencl $p |- ( ( C e. S /\ D e. S ) -> ch ) $=
      ( wcel wi cv wceq wrex wa wex df-rex bitri imbi2d ex gencl com12 impcom )
      IKQZHKQZCULBRULCRESJQZUKEGIUKGITZEJUAUMUNUBEUCMUNEJUDUEUNBCULOUFULUMBUMAR
      UMBRDSJQZULDFHULFHTZDJUAUOUPUBDUCLUPDJUDUEUPABUMNUFUOUMAPUGUHUIUHUJ $.
  $}

  ${
    $d x y z $.  $d y z D $.  $d z F $.  $d x y R $.  $d y z S $.  $d x ps $.
    $d y ch $.  $d z th $.
    3gencl.1 $e |- ( D e. S <-> E. x e. R A = D ) $.
    3gencl.2 $e |- ( F e. S <-> E. y e. R B = F ) $.
    3gencl.3 $e |- ( G e. S <-> E. z e. R C = G ) $.
    3gencl.4 $e |- ( A = D -> ( ph <-> ps ) ) $.
    3gencl.5 $e |- ( B = F -> ( ps <-> ch ) ) $.
    3gencl.6 $e |- ( C = G -> ( ch <-> th ) ) $.
    3gencl.7 $e |- ( ( x e. R /\ y e. R /\ z e. R ) -> ph ) $.
    $( Implicit substitution for class with embedded variable.  (Contributed by
       NM, 17-May-1996.) $)
    3gencl $p |- ( ( D e. S /\ F e. S /\ G e. S ) -> th ) $=
      ( wcel wa wi wceq wrex wex df-rex bitri imbi2d 3expia 2gencl com12 3impia
      cv gencl ) KMUCZNMUCZOMUCZDUTURUSUDZDVACUEVADUEGUPLUCZUTGJOUTJOUFZGLUGVBV
      CUDGUHRVCGLUIUJVCCDVAUAUKVAVBCVBAUEVBBUEVBCUEEFHIKNLMPQHKUFABVBSUKINUFBCV
      BTUKEUPLUCFUPLUCVBAUBULUMUNUQUNUO $.
  $}

  ${
    $d x A $.  $d x ps $.
    cgsexg.1 $e |- ( x = A -> ch ) $.
    cgsexg.2 $e |- ( ch -> ( ph <-> ps ) ) $.
    $( Implicit substitution inference for general classes.  (Contributed by
       NM, 26-Aug-2007.) $)
    cgsexg $p |- ( A e. V ->
                     ( E. x ( ch /\ ph ) <-> ps ) ) $=
      ( wcel wa wex biimpa exlimiv cv wceq elisset eximi syl biimprcd ancld
      eximdv syl5com impbid2 ) EFIZCAJZDKZBUEBDCABHLMUDCDKZBUFUDDNEOZDKUGDEFPUH
      CDGQRBCUEDBCACABHSTUAUBUC $.
  $}

  ${
    $d x y ps $.  $d x y A $.  $d x y B $.
    cgsex2g.1 $e |- ( ( x = A /\ y = B ) -> ch ) $.
    cgsex2g.2 $e |- ( ch -> ( ph <-> ps ) ) $.
    $( Implicit substitution inference for general classes.  (Contributed by
       NM, 26-Jul-1995.) $)
    cgsex2g $p |- ( ( A e. V /\ B e. W ) ->
                     ( E. x E. y ( ch /\ ph ) <-> ps ) ) $=
      ( wcel wa wex biimpa exlimivv cv wceq elisset anim12i eeanv sylibr 2eximi
      syl biimprcd ancld 2eximdv syl5com impbid2 ) FHLZGILZMZCAMZENDNZBUMBDECAB
      KOPULCENDNZBUNULDQFRZEQGRZMZENDNZUOULUPDNZUQENZMUSUJUTUKVADFHSEGISTUPUQDE
      UAUBURCDEJUCUDBCUMDEBCACABKUEUFUGUHUI $.
  $}

  ${
    $d x y z w A $.  $d x y z w B $.  $d x y z w C $.  $d x y z w D $.
    $d x y z w ps $.
    cgsex4g.1 $e |- ( ( ( x = A /\ y = B ) /\ ( z = C /\ w = D ) ) -> ch ) $.
    cgsex4g.2 $e |- ( ch -> ( ph <-> ps ) ) $.
    $( An implicit substitution inference for 4 general classes.  (Contributed
       by NM, 5-Aug-1995.) $)
    cgsex4g $p |- ( ( ( A e. R /\ B e. S ) /\ ( C e. R /\ D e. S ) ) ->
                    ( E. x E. y E. z E. w ( ch /\ ph ) <-> ps ) ) $=
      ( wcel wa wex cv wceq biimpa exlimivv elisset anim12i eeanv sylibr ee4anv
      2eximi syl biimprcd ancld 2eximdv syl5com impbid2 ) HLPZIMPZQZJLPZKMPZQZQ
      ZCAQZGRFRZERDRZBVCBDEVBBFGCABOUAUBUBVACGRFRZERDRZBVDVADSHTZESITZQZFSJTZGS
      KTZQZQZGRFRZERDRZVFVAVIERDRZVLGRFRZQVOUQVPUTVQUQVGDRZVHERZQVPUOVRUPVSDHLU
      CEIMUCUDVGVHDEUEUFUTVJFRZVKGRZQVQURVTUSWAFJLUCGKMUCUDVJVKFGUEUFUDVIVLDEFG
      UGUFVNVEDEVMCFGNUHUHUIBVEVCDEBCVBFGBCACABOUJUKULULUMUN $.
  $}

  ${
    $d x A $.
    ceqsex.1 $e |- F/ x ps $.
    ceqsex.2 $e |- A e. _V $.
    ceqsex.3 $e |- ( x = A -> ( ph <-> ps ) ) $.
    $( Elimination of an existential quantifier, using implicit substitution.
       (Contributed by NM, 2-Mar-1995.)  (Revised by Mario Carneiro,
       10-Oct-2016.) $)
    ceqsex $p |- ( E. x ( x = A /\ ph ) <-> ps ) $=
      ( cv wceq wa wex biimpa exlimi wi wal biimprcd alrimi isseti exintr ee10
      impbii ) CHDIZAJZCKZBUCBCEUBABGLMBUBANZCOUBCKUDBUECEUBABGPQCDFRUBACSTUA
      $.
  $}

  ${
    $d x A $.  $d x ps $.
    ceqsexv.1 $e |- A e. _V $.
    ceqsexv.2 $e |- ( x = A -> ( ph <-> ps ) ) $.
    $( Elimination of an existential quantifier, using implicit substitution.
       (Contributed by NM, 2-Mar-1995.) $)
    ceqsexv $p |- ( E. x ( x = A /\ ph ) <-> ps ) $=
      ( nfv ceqsex ) ABCDBCGEFH $.
  $}

  ${
    $d x y A $.  $d x y B $.
    ceqsex2.1 $e |- F/ x ps $.
    ceqsex2.2 $e |- F/ y ch $.
    ceqsex2.3 $e |- A e. _V $.
    ceqsex2.4 $e |- B e. _V $.
    ceqsex2.5 $e |- ( x = A -> ( ph <-> ps ) ) $.
    ceqsex2.6 $e |- ( y = B -> ( ps <-> ch ) ) $.
    $( Elimination of two existential quantifiers, using implicit
       substitution.  (Contributed by Scott Fenton, 7-Jun-2006.) $)
    ceqsex2 $p |- ( E. x E. y ( x = A /\ y = B /\ ph ) <-> ch ) $=
      ( cv wceq w3a wex wa exbii ceqsex 3anass 19.42v nfan anbi2d exbidv 3bitri
      bitri nfv nfex ) DNFOZENGOZAPZEQZDQUJUKARZEQZRZDQUKBRZEQZCUMUPDUMUJUNRZEQ
      UPULUSEUJUKAUASUJUNEUBUGSUOURDFUQDEUKBDUKDUHHUCUIJUJUNUQEUJABUKLUDUETBCEG
      IKMTUF $.
  $}

  ${
    $d x y A $.  $d x y B $.  $d x ps $.  $d y ch $.
    ceqsex2v.1 $e |- A e. _V $.
    ceqsex2v.2 $e |- B e. _V $.
    ceqsex2v.3 $e |- ( x = A -> ( ph <-> ps ) ) $.
    ceqsex2v.4 $e |- ( y = B -> ( ps <-> ch ) ) $.
    $( Elimination of two existential quantifiers, using implicit
       substitution.  (Contributed by Scott Fenton, 7-Jun-2006.) $)
    ceqsex2v $p |- ( E. x E. y ( x = A /\ y = B /\ ph ) <-> ch ) $=
      ( nfv ceqsex2 ) ABCDEFGBDLCELHIJKM $.
  $}

  ${
    $d x y z A $.  $d x y z B $.  $d x y z C $.  $d x ps $.  $d y ch $.
    $d z th $.
    ceqsex3v.1 $e |- A e. _V $.
    ceqsex3v.2 $e |- B e. _V $.
    ceqsex3v.3 $e |- C e. _V $.
    ceqsex3v.4 $e |- ( x = A -> ( ph <-> ps ) ) $.
    ceqsex3v.5 $e |- ( y = B -> ( ps <-> ch ) ) $.
    ceqsex3v.6 $e |- ( z = C -> ( ch <-> th ) ) $.
    $( Elimination of three existential quantifiers, using implicit
       substitution.  (Contributed by NM, 16-Aug-2011.) $)
    ceqsex3v $p |- ( E. x E. y E. z ( ( x = A /\ y = B /\ z = C ) /\ ph )
                 <-> th ) $=
      ( cv wceq wa wex anass 3anass anbi1i df-3an anbi2i 3bitr4i 2exbii 19.42vv
      w3a bitri exbii 3anbi3d 2exbidv ceqsexv ceqsex2v ) EQHRZFQIRZGQJRZUIZASZG
      TFTZETUPUQURAUIZGTFTZSZETZDVAVDEVAUPVBSZGTFTVDUTVFFGUPUQURSZSZASUPVGASZSU
      TVFUPVGAUAUSVHAUPUQURUBUCVBVIUPUQURAUDUEUFUGUPVBFGUHUJUKVEUQURBUIZGTFTZDV
      CVKEHKUPVBVJFGUPABUQURNULUMUNBCDFGIJLMOPUOUJUJ $.
  $}

  ${
    $d x y z w A $.  $d x y z w B $.  $d x y z w C $.  $d x y z w D $.
    $d x ps $.  $d y ch $.  $d z th $.  $d w ta $.
    ceqsex4v.1 $e |- A e. _V $.
    ceqsex4v.2 $e |- B e. _V $.
    ceqsex4v.3 $e |- C e. _V $.
    ceqsex4v.4 $e |- D e. _V $.
    ceqsex4v.7 $e |- ( x = A -> ( ph <-> ps ) ) $.
    ceqsex4v.8 $e |- ( y = B -> ( ps <-> ch ) ) $.
    ceqsex4v.9 $e |- ( z = C -> ( ch <-> th ) ) $.
    ceqsex4v.10 $e |- ( w = D -> ( th <-> ta ) ) $.
    $( Elimination of four existential quantifiers, using implicit
       substitution.  (Contributed by NM, 23-Sep-2011.) $)
    ceqsex4v $p |- ( E. x E. y E. z E. w
          ( ( x = A /\ y = B ) /\ ( z = C /\ w = D ) /\ ph ) <-> ta ) $=
      ( wceq w3a wex 19.42vv 3anass df-3an anbi2i bitr4i 2exbii 3bitr4i 3anbi3d
      cv wa 2exbidv ceqsex2v 3bitri ) FUMJUBZGUMKUBZUNZHUMLUBZIUMMUBZUNZAUCZIUD
      HUDZGUDFUDURUSVAVBAUCZIUDHUDZUCZGUDFUDVAVBCUCZIUDHUDZEVEVHFGUTVFUNZIUDHUD
      UTVGUNVEVHUTVFHIUEVDVKHIVDUTVCAUNZUNVKUTVCAUFVFVLUTVAVBAUGUHUIUJURUSVGUGU
      KUJVGVAVBBUCZIUDHUDVJFGJKNOURVFVMHIURABVAVBRULUOUSVMVIHIUSBCVAVBSULUOUPCD
      EHILMPQTUAUPUQ $.
  $}

  ${
    $d x y z w v u A $.  $d x y z w v u B $.  $d x y z w v u C $.
    $d x y z w v u D $.  $d x y z w v u E $.  $d x y z w v u F $.  $d x ps $.
    $d y ch $.  $d z th $.  $d w ta $.  $d v et $.  $d u ze $.
    ceqsex6v.1 $e |- A e. _V $.
    ceqsex6v.2 $e |- B e. _V $.
    ceqsex6v.3 $e |- C e. _V $.
    ceqsex6v.4 $e |- D e. _V $.
    ceqsex6v.5 $e |- E e. _V $.
    ceqsex6v.6 $e |- F e. _V $.
    ceqsex6v.7 $e |- ( x = A -> ( ph <-> ps ) ) $.
    ceqsex6v.8 $e |- ( y = B -> ( ps <-> ch ) ) $.
    ceqsex6v.9 $e |- ( z = C -> ( ch <-> th ) ) $.
    ceqsex6v.10 $e |- ( w = D -> ( th <-> ta ) ) $.
    ceqsex6v.11 $e |- ( v = E -> ( ta <-> et ) ) $.
    ceqsex6v.12 $e |- ( u = F -> ( et <-> ze ) ) $.
    $( Elimination of six existential quantifiers, using implicit
       substitution.  (Contributed by NM, 21-Sep-2011.) $)
    ceqsex6v $p |- ( E. x E. y E. z E. w E. v E. u
          ( ( x = A /\ y = B /\ z = C ) /\ ( w = D /\ v = E /\ u = F ) /\ ph )
                 <-> ze ) $=
      ( cv wceq w3a wex wa 3anass 3exbii 19.42vvv bitri anbi2d 3exbidv ceqsex3v
      ) HULNUMZIULOUMZJULPUMZUNZKULQUMLULRUMMULSUMUNZAUNZMUOLUOKUOZJUOIUOHUOVGV
      HAUPZMUOLUOKUOZUPZJUOIUOHUOZGVJVMHIJVJVGVKUPZMUOLUOKUOVMVIVOKLMVGVHAUQURV
      GVKKLMUSUTURVNVHDUPZMUOLUOKUOZGVLVHBUPZMUOLUOKUOVHCUPZMUOLUOKUOVQHIJNOPTU
      AUBVDVKVRKLMVDABVHUFVAVBVEVRVSKLMVEBCVHUGVAVBVFVSVPKLMVFCDVHUHVAVBVCDEFGK
      LMQRSUCUDUEUIUJUKVCUTUT $.
  $}

  ${
    $d x y z w v u t s A $.  $d x y z w v u t s B $.  $d x y z w v u t s C $.
    $d x y z w v u t s D $.  $d x y z w v u t s E $.  $d x y z w v u t s F $.
    $d x y z w v u t s G $.  $d x y z w v u t s H $.  $d x ps $.  $d y ch $.
    $d z th $.  $d w ta $.  $d v et $.  $d u ze $.  $d t si $.  $d s rh $.
    ceqsex8v.1 $e |- A e. _V $.
    ceqsex8v.2 $e |- B e. _V $.
    ceqsex8v.3 $e |- C e. _V $.
    ceqsex8v.4 $e |- D e. _V $.
    ceqsex8v.5 $e |- E e. _V $.
    ceqsex8v.6 $e |- F e. _V $.
    ceqsex8v.7 $e |- G e. _V $.
    ceqsex8v.8 $e |- H e. _V $.
    ceqsex8v.9 $e |- ( x = A -> ( ph <-> ps ) ) $.
    ceqsex8v.10 $e |- ( y = B -> ( ps <-> ch ) ) $.
    ceqsex8v.11 $e |- ( z = C -> ( ch <-> th ) ) $.
    ceqsex8v.12 $e |- ( w = D -> ( th <-> ta ) ) $.
    ceqsex8v.13 $e |- ( v = E -> ( ta <-> et ) ) $.
    ceqsex8v.14 $e |- ( u = F -> ( et <-> ze ) ) $.
    ceqsex8v.15 $e |- ( t = G -> ( ze <-> si ) ) $.
    ceqsex8v.16 $e |- ( s = H -> ( si <-> rh ) ) $.
    $( Elimination of eight existential quantifiers, using implicit
       substitution.  (Contributed by NM, 23-Sep-2011.) $)
    ceqsex8v $p |- ( E. x E. y E. z E. w E. v E. u E. t E. s
              ( ( ( x = A /\ y = B ) /\ ( z = C /\ w = D ) )
         /\ ( ( v = E /\ u = F ) /\ ( t = G /\ s = H ) ) /\ ph ) <-> rh ) $=
      ( cv wceq wa w3a 19.42vv 2exbii bitri 3anass df-3an anbi2i bitr4i 3bitr4i
      wex 3anbi3d 4exbidv ceqsex4v ) JVBQVCZKVBRVCZVDZLVBSVCZMVBTVCZVDZVDZNVBUA
      VCOVBUBVCVDZPVBUCVCUEVBUDVCVDZVDZAVEZUEVNPVNZOVNNVNZMVNLVNZKVNJVNVTWCWEWF
      AVEZUEVNPVNZOVNNVNZVEZMVNLVNZKVNJVNZIWKWPJKWJWOLMWDWLVDZUEVNPVNZOVNNVNZWD
      WNVDZWJWOWTWDWMVDZOVNNVNXAWSXBNOWDWLPUEVFVGWDWMNOVFVHWIWSNOWHWRPUEWHWDWGA
      VDZVDWRWDWGAVIWLXCWDWEWFAVJVKVLVGVGVTWCWNVJVMVGVGWQWEWFEVEZUEVNPVNOVNNVNZ
      IWNWEWFBVEZUEVNPVNOVNNVNWEWFCVEZUEVNPVNOVNNVNWEWFDVEZUEVNPVNOVNNVNXEJKLMQ
      RSTUFUGUHUIVRWLXFNOPUEVRABWEWFUNVOVPVSXFXGNOPUEVSBCWEWFUOVOVPWAXGXHNOPUEW
      ACDWEWFUPVOVPWBXHXDNOPUEWBDEWEWFUQVOVPVQEFGHINOPUEUAUBUCUDUJUKULUMURUSUTV
      AVQVHVH $.
  $}

  ${
    $d x ps $.  $d y ph $.  $d x th $.  $d y ch $.  $d y A $.
    gencbvex.1 $e |- A e. _V $.
    gencbvex.2 $e |- ( A = y -> ( ph <-> ps ) ) $.
    gencbvex.3 $e |- ( A = y -> ( ch <-> th ) ) $.
    gencbvex.4 $e |- ( th <-> E. x ( ch /\ A = y ) ) $.
    $( Change of bound variable using implicit substitution.  (Contributed by
       NM, 17-May-1996.)  (Proof shortened by Andrew Salmon, 8-Jun-2011.) $)
    gencbvex $p |- ( E. x ( ch /\ ph ) <-> E. y ( th /\ ps ) ) $=
      ( cv wceq wa wex excom wb anbi12d bicomd exbii eqcoms ceqsexv simpr eqcom
      19.41v biimpi adantl eximi sylbi adantr ancri impbii bitri 3bitr3i ) FLZG
      MZDBNZNZFOZEOUREOZFOCANZEOUQFOUREFPUSVAEUQVAFGHUQVAQGUOGUOMZVAUQVBCDABJIR
      SUAUBTUTUQFUTUPEOZUQNZUQUPUQEUEVDUQVCUQUCUQVCDVCBDCVBNZEOVCKVEUPEVBUPCVBU
      PGUOUDUFUGUHUIUJUKULUMTUN $.
  $}

  ${
    $d x ps $.  $d y ph $.  $d x th $.  $d y ch $.  $d y A $.
    gencbvex2.1 $e |- A e. _V $.
    gencbvex2.2 $e |- ( A = y -> ( ph <-> ps ) ) $.
    gencbvex2.3 $e |- ( A = y -> ( ch <-> th ) ) $.
    gencbvex2.4 $e |- ( th -> E. x ( ch /\ A = y ) ) $.
    $( Restatement of ~ gencbvex with weaker hypotheses.  (Contributed by
       Jeffrey Hankins, 6-Dec-2006.) $)
    gencbvex2 $p |- ( E. x ( ch /\ ph ) <-> E. y ( th /\ ps ) ) $=
      ( cv wceq wa wex biimpac exlimiv impbii gencbvex ) ABCDEFGHIJDCGFLMZNZEOK
      UADETCDJPQRS $.
  $}

  ${
    $d x ps $.  $d y ph $.  $d x th $.  $d y ch $.  $d y A $.
    gencbval.1 $e |- A e. _V $.
    gencbval.2 $e |- ( A = y -> ( ph <-> ps ) ) $.
    gencbval.3 $e |- ( A = y -> ( ch <-> th ) ) $.
    gencbval.4 $e |- ( th <-> E. x ( ch /\ A = y ) ) $.
    $( Change of bound variable using implicit substitution.  (Contributed by
       NM, 17-May-1996.) $)
    gencbval $p |- ( A. x ( ch -> ph ) <-> A. y ( th -> ps ) ) $=
      ( wi wal wn wa wex cv wceq notbid exanali gencbvex 3bitr3i con4bii ) CALE
      MZDBLFMZCANZOEPDBNZOFPUDNUENUFUGCDEFGHGFQRABISJKUACAETDBFTUBUC $.
  $}

  ${
    $d A x $.  $d x y $.
    sbhypf.1 $e |- F/ x ps $.
    sbhypf.2 $e |- ( x = A -> ( ph <-> ps ) ) $.
    $( Introduce an explicit substitution into an implicit substitution
       hypothesis.  See also ~ csbhypf .  (Contributed by Raph Levien,
       10-Apr-2004.) $)
    sbhypf $p |- ( y = A -> ( [ y / x ] ph <-> ps ) ) $=
      ( cv wceq wa wex wsb wb vex eqeq1 ceqsexv nfs1v nfbi sbequ12 bicomd
      sylan9bb exlimi sylbir ) DHZEIZCHZUDIZUFEIZJZCKACDLZBMZUHUECUDDNUFUDEOPUI
      UKCUJBCACDQFRUGUJAUHBUGAUJACDSTGUAUBUC $.
  $}

  ${
    $d z A $.  $d x z $.
    $( Closed theorem form of ~ vtoclgf .  (Contributed by NM, 17-Feb-2013.)
       (Revised by Mario Carneiro, 12-Oct-2016.) $)
    vtoclgft $p |- ( ( ( F/_ x A /\ F/ x ps )
                  /\ ( A. x ( x = A -> ( ph <-> ps ) )
                     /\ A. x ph ) /\ A e. V ) -> ps ) $=
      ( vz wcel wnfc wnf wa cv wceq wb wi wal cvv elex w3a wex mpbid elisset id
      3ad2ant3 nfnfc1 nfcvd nfeqd eqeq1 a1i cbvexd 3adant3 bi1 imim2i com23 imp
      ad2antrr alanimi 3ad2ant2 simp1r 19.23t syl mpd syl3an3 ) DEGCDHZBCIZJZCK
      ZDLZABMZNZCOACOJZDPGZBDEQVEVJVKRZVGCSZBVLFKZDLZFSZVMVKVEVPVJFDPUAUCVEVJVP
      VMMZVKVCVQVDVJVCVOVGFCCDUDVCCVNDVCCVNUEVCUBUFVNVFLVOVGMNVCVNVFDUGUHUIUOUJ
      TVLVGBNZCOZVMBNZVJVEVSVKVIAVRCVIAVRVIVGABVHABNVGABUKULUMUNUPUQVLVDVSVTMVC
      VDVJVKURVGBCUSUTTVAVB $.
  $}

  ${
    vtocld.1 $e |- ( ph -> A e. V ) $.
    vtocld.2 $e |- ( ( ph /\ x = A ) -> ( ps <-> ch ) ) $.
    vtocld.3 $e |- ( ph -> ps ) $.
    ${
      vtocldf.4 $e |- F/ x ph $.
      vtocldf.5 $e |- ( ph -> F/_ x A ) $.
      vtocldf.6 $e |- ( ph -> F/ x ch ) $.
      $( Implicit substitution of a class for a setvar variable.  (Contributed
         by Mario Carneiro, 15-Oct-2016.) $)
      vtocldf $p |- ( ph -> ch ) $=
        ( wnfc wnf cv wceq wb wi wal alrimi wcel ex vtoclgft syl221anc ) ADEMCD
        NDOEPZBCQZRZDSBDSEFUACKLAUGDJAUEUFHUBTABDJITGBCDEFUCUD $.
    $}

    $d x A $.  $d x ph $.  $d x ch $.
    $( Implicit substitution of a class for a setvar variable.  (Contributed by
       Mario Carneiro, 15-Oct-2016.) $)
    vtocld $p |- ( ph -> ch ) $=
      ( nfv nfcvd nfvd vtocldf ) ABCDEFGHIADJADEKACDLM $.
  $}

  ${
    $d x A $.
    vtoclf.1 $e |- F/ x ps $.
    vtoclf.2 $e |- A e. _V $.
    vtoclf.3 $e |- ( x = A -> ( ph <-> ps ) ) $.
    vtoclf.4 $e |- ph $.
    $( Implicit substitution of a class for a setvar variable.  This is a
       generalization of ~ chvar .  (Contributed by NM, 30-Aug-1993.) $)
    vtoclf $p |- ps $=
      ( cv wceq wex wi isseti biimpd eximi ax-mp 19.36i mpg ) ABCABCECIDJZCKABL
      ZCKCDFMSTCSABGNOPQHR $.
  $}

  ${
    $d x A $.  $d x ps $.
    vtocl.1 $e |- A e. _V $.
    vtocl.2 $e |- ( x = A -> ( ph <-> ps ) ) $.
    vtocl.3 $e |- ph $.
    $( Implicit substitution of a class for a setvar variable.  (Contributed by
       NM, 30-Aug-1993.) $)
    vtocl $p |- ps $=
      ( nfv vtoclf ) ABCDBCHEFGI $.
  $}

  ${
    $d x y A $.  $d x y B $.  $d x y ps $.
    vtocl2.1 $e |- A e. _V $.
    vtocl2.2 $e |- B e. _V $.
    vtocl2.3 $e |- ( ( x = A /\ y = B ) -> ( ph <-> ps ) ) $.
    vtocl2.4 $e |- ph $.
    $( Implicit substitution of classes for setvar variables.  (Contributed by
       NM, 26-Jul-1995.)  (Proof shortened by Andrew Salmon, 8-Jun-2011.) $)
    vtocl2 $p |- ps $=
      ( wal wi wex cv wceq isseti wa eeanv biimpd 2eximi sylbir 19.36v 19.36aiv
      mp2an exbii mpbi ax-gen mpg ) ADKZBCUIBCABLZDMZCMZUIBLZCMCNEOZCMZDNFOZDMZ
      ULCEGPDFHPUOUQQUNUPQZDMCMULUNUPCDRURUJCDURABISTUAUDUKUMCABDUBUEUFUCADJUGU
      H $.
  $}

  ${
    $d x y z A $.  $d x y z B $.  $d x y z C $.  $d x y z ps $.
    vtocl3.1 $e |- A e. _V $.
    vtocl3.2 $e |- B e. _V $.
    vtocl3.3 $e |- C e. _V $.
    vtocl3.4 $e |- ( ( x = A /\ y = B /\ z = C ) -> ( ph <-> ps ) ) $.
    vtocl3.5 $e |- ph $.
    $( Implicit substitution of classes for setvar variables.  (Contributed by
       NM, 3-Jun-1995.)  (Proof shortened by Andrew Salmon, 8-Jun-2011.) $)
    vtocl3 $p |- ps $=
      ( wal wi wex cv wceq isseti w3a eeeanv biimpd 2eximi sylbir 19.36v 2exbii
      eximi mp3an mpbi exbii 19.36aiv gen2 mpg ) AENZDNZBCUOBCUNBOZDPZCPZUOBOZC
      PABOZEPZDPCPZURCQFRZCPZDQGRZDPZEQHRZEPZVBCFISDGJSEHKSVDVFVHTVCVEVGTZEPZDP
      CPVBVCVEVGCDEUAVJVACDVIUTEVIABLUBUGUCUDUHVAUPCDABEUEUFUIUQUSCUNBDUEUJUIUK
      ADEMULUM $.
  $}

  ${
    $d x A $.  $d x ch $.  $d x th $.
    vtoclb.1 $e |- A e. _V $.
    vtoclb.2 $e |- ( x = A -> ( ph <-> ch ) ) $.
    vtoclb.3 $e |- ( x = A -> ( ps <-> th ) ) $.
    vtoclb.4 $e |- ( ph <-> ps ) $.
    $( Implicit substitution of a class for a setvar variable.  (Contributed by
       NM, 23-Dec-1993.) $)
    vtoclb $p |- ( ch <-> th ) $=
      ( wb cv wceq bibi12d vtocl ) ABKCDKEFGELFMACBDHINJO $.
  $}

  ${
    vtoclgf.1 $e |- F/_ x A $.
    vtoclgf.2 $e |- F/ x ps $.
    vtoclgf.3 $e |- ( x = A -> ( ph <-> ps ) ) $.
    vtoclgf.4 $e |- ph $.
    $( Implicit substitution of a class for a setvar variable, with
       bound-variable hypotheses in place of distinct variable restrictions.
       (Contributed by NM, 21-Sep-2003.)  (Proof shortened by Mario Carneiro,
       10-Oct-2016.) $)
    vtoclgf $p |- ( A e. V -> ps ) $=
      ( wcel cvv elex cv wceq wex issetf mpbii exlimi sylbi syl ) DEJDKJZBDELUA
      CMDNZCOBCDFPUBBCGUBABIHQRST $.
  $}

  ${
    $d x A $.  $d x ps $.
    vtoclg.1 $e |- ( x = A -> ( ph <-> ps ) ) $.
    vtoclg.2 $e |- ph $.
    $( Implicit substitution of a class expression for a setvar variable.
       (Contributed by NM, 17-Apr-1995.) $)
    vtoclg $p |- ( A e. V -> ps ) $=
      ( nfcv nfv vtoclgf ) ABCDECDHBCIFGJ $.
  $}

  ${
    $d x A $.  $d x ch $.  $d x th $.
    vtoclbg.1 $e |- ( x = A -> ( ph <-> ch ) ) $.
    vtoclbg.2 $e |- ( x = A -> ( ps <-> th ) ) $.
    vtoclbg.3 $e |- ( ph <-> ps ) $.
    $( Implicit substitution of a class for a setvar variable.  (Contributed by
       NM, 29-Apr-1994.) $)
    vtoclbg $p |- ( A e. V -> ( ch <-> th ) ) $=
      ( wb cv wceq bibi12d vtoclg ) ABKCDKEFGELFMACBDHINJO $.
  $}

  ${
    vtocl2gf.1 $e |- F/_ x A $.
    vtocl2gf.2 $e |- F/_ y A $.
    vtocl2gf.3 $e |- F/_ y B $.
    vtocl2gf.4 $e |- F/ x ps $.
    vtocl2gf.5 $e |- F/ y ch $.
    vtocl2gf.6 $e |- ( x = A -> ( ph <-> ps ) ) $.
    vtocl2gf.7 $e |- ( y = B -> ( ps <-> ch ) ) $.
    vtocl2gf.8 $e |- ph $.
    $( Implicit substitution of a class for a setvar variable.  (Contributed by
       NM, 25-Apr-1995.) $)
    vtocl2gf $p |- ( ( A e. V /\ B e. W ) -> ch ) $=
      ( wcel cvv wi elex nfel1 nfim cv wceq imbi2d vtoclgf mpan9 ) FHRFSRZGIRCF
      HUAUIBTUICTEGILUICEEFSKUBNUCEUDGUEBCUIPUFABDFSJMOQUGUGUH $.
  $}

  ${
    vtocl3gf.a $e |- F/_ x A $.
    vtocl3gf.b $e |- F/_ y A $.
    vtocl3gf.c $e |- F/_ z A $.
    vtocl3gf.d $e |- F/_ y B $.
    vtocl3gf.e $e |- F/_ z B $.
    vtocl3gf.f $e |- F/_ z C $.
    vtocl3gf.1 $e |- F/ x ps $.
    vtocl3gf.2 $e |- F/ y ch $.
    vtocl3gf.3 $e |- F/ z th $.
    vtocl3gf.4 $e |- ( x = A -> ( ph <-> ps ) ) $.
    vtocl3gf.5 $e |- ( y = B -> ( ps <-> ch ) ) $.
    vtocl3gf.6 $e |- ( z = C -> ( ch <-> th ) ) $.
    vtocl3gf.7 $e |- ph $.
    $( Implicit substitution of a class for a setvar variable.  (Contributed by
       NM, 10-Aug-2013.)  (Revised by Mario Carneiro, 10-Oct-2016.) $)
    vtocl3gf $p |- ( ( A e. V /\ B e. W /\ C e. X ) -> th ) $=
      ( wcel cvv wa elex wi nfel1 nfim wceq imbi2d vtoclgf vtocl2gf mpan9 3impb
      cv ) HKUGZILUGZJMUGZDVAHUHUGZVBVCUIDHKUJVDBUKVDCUKVDDUKFGIJLMQRSVDCFFHUHO
      ULUAUMVDDGGHUHPULUBUMFUTIUNBCVDUDUOGUTJUNCDVDUEUOABEHUHNTUCUFUPUQURUS $.
  $}

  ${
    $d x A $.  $d y A $.  $d y B $.  $d x ps $.  $d y ch $.
    vtocl2g.1 $e |- ( x = A -> ( ph <-> ps ) ) $.
    vtocl2g.2 $e |- ( y = B -> ( ps <-> ch ) ) $.
    vtocl2g.3 $e |- ph $.
    $( Implicit substitution of 2 classes for 2 setvar variables.  (Contributed
       by NM, 25-Apr-1995.) $)
    vtocl2g $p |- ( ( A e. V /\ B e. W ) -> ch ) $=
      ( nfcv nfv vtocl2gf ) ABCDEFGHIDFMEFMEGMBDNCENJKLO $.
  $}

  ${
    $d x B $.
    vtoclgaf.1 $e |- F/_ x A $.
    vtoclgaf.2 $e |- F/ x ps $.
    vtoclgaf.3 $e |- ( x = A -> ( ph <-> ps ) ) $.
    vtoclgaf.4 $e |- ( x e. B -> ph ) $.
    $( Implicit substitution of a class for a setvar variable.  (Contributed by
       NM, 17-Feb-2006.)  (Revised by Mario Carneiro, 10-Oct-2016.) $)
    vtoclgaf $p |- ( A e. B -> ps ) $=
      ( wcel cv wi nfel1 nfim wceq eleq1 imbi12d vtoclgf pm2.43i ) DEJZBCKZEJZA
      LTBLCDEFTBCCDEFMGNUADOUBTABUADEPHQIRS $.
  $}

  ${
    $d x A $.  $d x B $.  $d x ps $.
    vtoclga.1 $e |- ( x = A -> ( ph <-> ps ) ) $.
    vtoclga.2 $e |- ( x e. B -> ph ) $.
    $( Implicit substitution of a class for a setvar variable.  (Contributed by
       NM, 20-Aug-1995.) $)
    vtoclga $p |- ( A e. B -> ps ) $=
      ( nfcv nfv vtoclgaf ) ABCDECDHBCIFGJ $.
  $}

  ${
    $d x y C $.  $d x y D $.
    vtocl2gaf.a $e |- F/_ x A $.
    vtocl2gaf.b $e |- F/_ y A $.
    vtocl2gaf.c $e |- F/_ y B $.
    vtocl2gaf.1 $e |- F/ x ps $.
    vtocl2gaf.2 $e |- F/ y ch $.
    vtocl2gaf.3 $e |- ( x = A -> ( ph <-> ps ) ) $.
    vtocl2gaf.4 $e |- ( y = B -> ( ps <-> ch ) ) $.
    vtocl2gaf.5 $e |- ( ( x e. C /\ y e. D ) -> ph ) $.
    $( Implicit substitution of 2 classes for 2 setvar variables.  (Contributed
       by NM, 10-Aug-2013.) $)
    vtocl2gaf $p |- ( ( A e. C /\ B e. D ) -> ch ) $=
      ( wcel wa wi cv nfel1 nfan nfim wceq eleq1 anbi1d imbi12d anbi2d vtocl2gf
      nfv pm2.43i ) FHRZGIRZSZCDUAZHRZEUAZIRZSZATUMUSSZBTUOCTDEFGHIJKLVABDUMUSD
      DFHJUBUSDUKUCMUDUOCEUMUNEEFHKUBEGILUBUCNUDUPFUEZUTVAABVBUQUMUSUPFHUFUGOUH
      URGUEZVAUOBCVCUSUNUMURGIUFUIPUHQUJUL $.
  $}

  ${
    $d x y A $.  $d y B $.  $d x y C $.  $d x y D $.  $d x ps $.  $d y ch $.
    vtocl2ga.1 $e |- ( x = A -> ( ph <-> ps ) ) $.
    vtocl2ga.2 $e |- ( y = B -> ( ps <-> ch ) ) $.
    vtocl2ga.3 $e |- ( ( x e. C /\ y e. D ) -> ph ) $.
    $( Implicit substitution of 2 classes for 2 setvar variables.  (Contributed
       by NM, 20-Aug-1995.) $)
    vtocl2ga $p |- ( ( A e. C /\ B e. D ) -> ch ) $=
      ( nfcv nfv vtocl2gaf ) ABCDEFGHIDFMEFMEGMBDNCENJKLO $.
  $}

  ${
    $d x y z R $.  $d x y z S $.  $d x y z T $.
    vtocl3gaf.a $e |- F/_ x A $.
    vtocl3gaf.b $e |- F/_ y A $.
    vtocl3gaf.c $e |- F/_ z A $.
    vtocl3gaf.d $e |- F/_ y B $.
    vtocl3gaf.e $e |- F/_ z B $.
    vtocl3gaf.f $e |- F/_ z C $.
    vtocl3gaf.1 $e |- F/ x ps $.
    vtocl3gaf.2 $e |- F/ y ch $.
    vtocl3gaf.3 $e |- F/ z th $.
    vtocl3gaf.4 $e |- ( x = A -> ( ph <-> ps ) ) $.
    vtocl3gaf.5 $e |- ( y = B -> ( ps <-> ch ) ) $.
    vtocl3gaf.6 $e |- ( z = C -> ( ch <-> th ) ) $.
    vtocl3gaf.7 $e |- ( ( x e. R /\ y e. S /\ z e. T ) -> ph ) $.
    $( Implicit substitution of 3 classes for 3 setvar variables.  (Contributed
       by NM, 10-Aug-2013.)  (Revised by Mario Carneiro, 11-Oct-2016.) $)
    vtocl3gaf $p |- ( ( A e. R /\ B e. S /\ C e. T ) -> th ) $=
      ( wcel w3a cv nfel1 nf3an nfim wceq eleq1 3anbi1d imbi12d 3anbi2d 3anbi3d
      wi nfv vtocl3gf pm2.43i ) HKUGZILUGZJMUGZUHZDEUIZKUGZFUIZLUGZGUIZMUGZUHZA
      USVCVJVLUHZBUSVCVDVLUHZCUSVFDUSEFGHIJKLMNOPQRSVNBEVCVJVLEEHKNUJVJEUTVLEUT
      UKTULVOCFVCVDVLFFHKOUJFILQUJVLFUTUKUAULVFDGVCVDVEGGHKPUJGILRUJGJMSUJUKUBU
      LVGHUMZVMVNABVPVHVCVJVLVGHKUNUOUCUPVIIUMZVNVOBCVQVJVDVCVLVIILUNUQUDUPVKJU
      MZVOVFCDVRVLVEVCVDVKJMUNURUEUPUFVAVB $.
  $}

  ${
    $d x y z A $.  $d y z B $.  $d z C $.  $d x y z D $.  $d x y z R $.
    $d x y z S $.  $d x ps $.  $d y ch $.  $d z th $.
    vtocl3ga.1 $e |- ( x = A -> ( ph <-> ps ) ) $.
    vtocl3ga.2 $e |- ( y = B -> ( ps <-> ch ) ) $.
    vtocl3ga.3 $e |- ( z = C -> ( ch <-> th ) ) $.
    vtocl3ga.4 $e |- ( ( x e. D /\ y e. R /\ z e. S ) -> ph ) $.
    $( Implicit substitution of 3 classes for 3 setvar variables.  (Contributed
       by NM, 20-Aug-1995.) $)
    vtocl3ga $p |- ( ( A e. D /\ B e. R /\ C e. S ) -> th ) $=
      ( nfcv nfv vtocl3gaf ) ABCDEFGHIJKLMEHRFHRGHRFIRGIRGJRBESCFSDGSNOPQT $.
  $}

  ${
    $d x A $.  $d x ph $.
    vtocleg.1 $e |- ( x = A -> ph ) $.
    $( Implicit substitution of a class for a setvar variable.  (Contributed by
       NM, 10-Jan-2004.) $)
    vtocleg $p |- ( A e. V -> ph ) $=
      ( wcel cv wceq wex elisset exlimiv syl ) CDFBGCHZBIABCDJMABEKL $.
  $}

  ${
    $d x A $.
    $( Implicit substitution of a class for a setvar variable.  (Closed theorem
       version of ~ vtoclef .)  (Contributed by NM, 7-Nov-2005.)  (Revised by
       Mario Carneiro, 11-Oct-2016.) $)
    vtoclegft $p |- ( ( A e. B /\ F/ x ph /\
                   A. x ( x = A -> ph ) ) -> ph ) $=
      ( wcel wnf cv wceq wi wal w3a wex elisset mpan9 3adant2 wb 19.9t 3ad2ant2
      exim mpbid ) CDEZABFZBGCHZAIBJZKABLZAUAUDUEUBUAUCBLUDUEBCDMUCABSNOUBUAUEA
      PUDABQRT $.
  $}

  ${
    $d x A $.
    vtoclef.1 $e |- F/ x ph $.
    vtoclef.2 $e |- A e. _V $.
    vtoclef.3 $e |- ( x = A -> ph ) $.
    $( Implicit substitution of a class for a setvar variable.  (Contributed by
       NM, 18-Aug-1993.) $)
    vtoclef $p |- ph $=
      ( cv wceq wex isseti exlimi ax-mp ) BGCHZBIABCEJMABDFKL $.
  $}

  ${
    $d x A $.  $d x ph $.
    vtocle.1 $e |- A e. _V $.
    vtocle.2 $e |- ( x = A -> ph ) $.
    $( Implicit substitution of a class for a setvar variable.  (Contributed by
       NM, 9-Sep-1993.) $)
    vtocle $p |- ph $=
      ( cvv wcel vtocleg ax-mp ) CFGADABCFEHI $.
  $}

  ${
    $d x A $.  $d x B $.  $d x ps $.
    vtoclri.1 $e |- ( x = A -> ( ph <-> ps ) ) $.
    vtoclri.2 $e |- A. x e. B ph $.
    $( Implicit substitution of a class for a setvar variable.  (Contributed by
       NM, 21-Nov-1994.) $)
    vtoclri $p |- ( A e. B -> ps ) $=
      ( rspec vtoclga ) ABCDEFACEGHI $.
  $}

  ${
    spcimgft.1 $e |- F/ x ps $.
    spcimgft.2 $e |- F/_ x A $.
    $( A closed version of ~ spcimgf .  (Contributed by Mario Carneiro,
       4-Jan-2017.) $)
    spcimgft $p |- ( A. x ( x = A -> ( ph -> ps ) ) -> ( A e. B ->
                      ( A. x ph -> ps ) ) ) $=
      ( wcel cvv cv wceq wi wal elex wex issetf exim syl5bi 19.36 syl6ib syl5 )
      DEHDIHZCJDKZABLZLCMZACMBLZDENUEUBUDCOZUFUBUCCOUEUGCDGPUCUDCQRABCFSTUA $.

    $( A closed version of ~ spcgf .  (Contributed by Andrew Salmon,
       6-Jun-2011.)  (Revised by Mario Carneiro, 4-Jan-2017.) $)
    spcgft $p |- ( A. x ( x = A -> ( ph <-> ps ) ) -> ( A e. B ->
                      ( A. x ph -> ps ) ) ) $=
      ( cv wceq wb wi wal wcel bi1 imim2i alimi spcimgft syl ) CHDIZABJZKZCLSAB
      KZKZCLDEMACLBKKUAUCCTUBSABNOPABCDEFGQR $.
  $}

  ${
    spcimgf.1 $e |- F/_ x A $.
    spcimgf.2 $e |- F/ x ps $.
    ${
      spcimgf.3 $e |- ( x = A -> ( ph -> ps ) ) $.
      $( Rule of specialization, using implicit substitution.  Compare Theorem
         7.3 of [Quine] p. 44.  (Contributed by Mario Carneiro, 4-Jan-2017.) $)
      spcimgf $p |- ( A e. V -> ( A. x ph -> ps ) ) $=
        ( cv wceq wi wcel wal spcimgft mpg ) CIDJABKKDELACMBKKCABCDEGFNHO $.
    $}

    spcimegf.3 $e |- ( x = A -> ( ps -> ph ) ) $.
    $( Existential specialization, using implicit substitution.  (Contributed
       by Mario Carneiro, 4-Jan-2017.) $)
    spcimegf $p |- ( A e. V -> ( ps -> E. x ph ) ) $=
      ( wcel wn wal wex nfn cv wceq con3d spcimgf con2d df-ex syl6ibr ) DEIZBAJ
      ZCKZJACLUAUCBUBBJCDEFBCGMCNDOBAHPQRACST $.
  $}

  ${
    spcgf.1 $e |- F/_ x A $.
    spcgf.2 $e |- F/ x ps $.
    spcgf.3 $e |- ( x = A -> ( ph <-> ps ) ) $.
    $( Rule of specialization, using implicit substitution.  Compare Theorem
       7.3 of [Quine] p. 44.  (Contributed by NM, 2-Feb-1997.)  (Revised by
       Andrew Salmon, 12-Aug-2011.) $)
    spcgf $p |- ( A e. V -> ( A. x ph -> ps ) ) $=
      ( cv wceq wb wi wcel wal spcgft mpg ) CIDJABKLDEMACNBLLCABCDEGFOHP $.

    $( Existential specialization, using implicit substitution.  (Contributed
       by NM, 2-Feb-1997.) $)
    spcegf $p |- ( A e. V -> ( ps -> E. x ph ) ) $=
      ( wcel wn wal wex nfn cv wceq notbid spcgf con2d df-ex syl6ibr ) DEIZBAJZ
      CKZJACLUAUCBUBBJCDEFBCGMCNDOABHPQRACST $.
  $}

  ${
    $d x A $.  $d x ph $.  $d x ch $.
    spcimdv.1 $e |- ( ph -> A e. B ) $.
    ${
      spcimdv.2 $e |- ( ( ph /\ x = A ) -> ( ps -> ch ) ) $.
      $( Restricted specialization, using implicit substitution.  (Contributed
         by Mario Carneiro, 4-Jan-2017.) $)
      spcimdv $p |- ( ph -> ( A. x ps -> ch ) ) $=
        ( cv wceq wi wal wcel ex alrimiv nfv nfcv spcimgft sylc ) ADIEJZBCKZKZD
        LEFMBDLCKAUBDATUAHNOGBCDEFCDPDEQRS $.
    $}

    ${
      spcdv.2 $e |- ( ( ph /\ x = A ) -> ( ps <-> ch ) ) $.
      $( Rule of specialization, using implicit substitution.  Analogous to
         ~ rspcdv .  (Contributed by David Moews, 1-May-2017.) $)
      spcdv $p |- ( ph -> ( A. x ps -> ch ) ) $=
        ( cv wceq wa biimpd spcimdv ) ABCDEFGADIEJKBCHLM $.
    $}

    spcimedv.2 $e |- ( ( ph /\ x = A ) -> ( ch -> ps ) ) $.
    $( Restricted existential specialization, using implicit substitution.
       (Contributed by Mario Carneiro, 4-Jan-2017.) $)
    spcimedv $p |- ( ph -> ( ch -> E. x ps ) ) $=
      ( wn wal wex cv wceq wa con3d spcimdv con2d df-ex syl6ibr ) ACBIZDJZIBDKA
      UACATCIDEFGADLEMNCBHOPQBDRS $.
  $}

  ${
    $d x ps $.  $d x A $.
    spcgv.1 $e |- ( x = A -> ( ph <-> ps ) ) $.
    $( Rule of specialization, using implicit substitution.  Compare Theorem
       7.3 of [Quine] p. 44.  (Contributed by NM, 22-Jun-1994.) $)
    spcgv $p |- ( A e. V -> ( A. x ph -> ps ) ) $=
      ( nfcv nfv spcgf ) ABCDECDGBCHFI $.

    $( Existential specialization, using implicit substitution.  (Contributed
       by NM, 14-Aug-1994.) $)
    spcegv $p |- ( A e. V -> ( ps -> E. x ph ) ) $=
      ( nfcv nfv spcegf ) ABCDECDGBCHFI $.
  $}

  ${
    $d x y A $.  $d x y B $.  $d x y ps $.
    spc2egv.1 $e |- ( ( x = A /\ y = B ) -> ( ph <-> ps ) ) $.
    $( Existential specialization with 2 quantifiers, using implicit
       substitution.  (Contributed by NM, 3-Aug-1995.) $)
    spc2egv $p |- ( ( A e. V /\ B e. W ) -> ( ps -> E. x E. y ph ) ) $=
      ( wcel wa cv wceq wex elisset anim12i eeanv sylibr biimprcd 2eximdv
      syl5com ) EGJZFHJZKZCLEMZDLFMZKZDNCNZBADNCNUDUECNZUFDNZKUHUBUIUCUJCEGODFH
      OPUEUFCDQRBUGACDUGABISTUA $.

    $( Specialization with 2 quantifiers, using implicit substitution.
       (Contributed by NM, 27-Apr-2004.) $)
    spc2gv $p |- ( ( A e. V /\ B e. W ) -> ( A. x A. y ph -> ps ) ) $=
      ( wcel wa wal wn wex cv wceq notbid spc2egv 2nalexn syl6ibr con4d ) EGJFH
      JKZBADLCLZUBBMZAMZDNCNUCMUEUDCDEFGHCOEPDOFPKABIQRACDSTUA $.
  $}

  ${
    $d x y z A $.  $d x y z B $.  $d x y z C $.  $d x y z ps $.
    spc3egv.1 $e |- ( ( x = A /\ y = B /\ z = C ) -> ( ph <-> ps ) ) $.
    $( Existential specialization with 3 quantifiers, using implicit
       substitution.  (Contributed by NM, 12-May-2008.) $)
    spc3egv $p |- ( ( A e. V /\ B e. W /\ C e. X ) ->
               ( ps -> E. x E. y E. z ph ) ) $=
      ( wcel w3a cv wceq wex elisset 3anim123i eeeanv biimprcd 2eximdv syl5com
      sylibr eximdv ) FIMZGJMZHKMZNZCOFPZDOGPZEOHPZNZEQZDQCQZBAEQZDQCQUIUJCQZUK
      DQZULEQZNUOUFUQUGURUHUSCFIRDGJREHKRSUJUKULCDETUDBUNUPCDBUMAEUMABLUAUEUBUC
      $.

    $( Specialization with 3 quantifiers, using implicit substitution.
       (Contributed by NM, 12-May-2008.) $)
    spc3gv $p |- ( ( A e. V /\ B e. W /\ C e. X ) ->
               ( A. x A. y A. z ph -> ps ) ) $=
      ( wcel w3a wal wn wex cv wceq exnal notbid spc3egv exbii bitr2i syl6ibr
      bitri con4d ) FIMGJMHKMNZBAEOZDOZCOZUHBPZAPZEQZDQZCQZUKPZUMULCDEFGHIJKCRF
      SDRGSERHSNABLUAUBUPUJPZCQUQUOURCUOUIPZDQURUNUSDAETUCUIDTUFUCUJCTUDUEUG $.
  $}

  ${
    $d x A $.  $d x ps $.
    spcv.1 $e |- A e. _V $.
    spcv.2 $e |- ( x = A -> ( ph <-> ps ) ) $.
    $( Rule of specialization, using implicit substitution.  (Contributed by
       NM, 22-Jun-1994.) $)
    spcv $p |- ( A. x ph -> ps ) $=
      ( cvv wcel wal wi spcgv ax-mp ) DGHACIBJEABCDGFKL $.

    $( Existential specialization, using implicit substitution.  (Contributed
       by NM, 31-Dec-1993.)  (Proof shortened by Eric Schmidt, 22-Dec-2006.) $)
    spcev $p |- ( ps -> E. x ph ) $=
      ( cvv wcel wex wi spcegv ax-mp ) DGHBACIJEABCDGFKL $.
  $}

  ${
    $d x y A $.  $d x y B $.  $d x y ps $.
    spc2ev.1 $e |- A e. _V $.
    spc2ev.2 $e |- B e. _V $.
    spc2ev.3 $e |- ( ( x = A /\ y = B ) -> ( ph <-> ps ) ) $.
    $( Existential specialization, using implicit substitution.  (Contributed
       by NM, 3-Aug-1995.) $)
    spc2ev $p |- ( ps -> E. x E. y ph ) $=
      ( cvv wcel wex wi spc2egv mp2an ) EJKFJKBADLCLMGHABCDEFJJINO $.
  $}

  ${
    $d x A $.  $d x B $.
    rspct.1 $e |- F/ x ps $.
    $( A closed version of ~ rspc .  (Contributed by Andrew Salmon,
       6-Jun-2011.) $)
    rspct $p |- ( A. x ( x = A -> ( ph <-> ps ) ) -> ( A e. B ->
                   ( A. x e. B ph -> ps ) ) ) $=
      ( cv wceq wb wi wal wcel wral df-ral wa eleq1 adantr simpr imbi12d ex a2i
      alimi nfv nfim nfcv spcgft syl syl7bi com34 pm2.43d ) CGZDHZABIZJZCKZDELZ
      ACEMZBJUOUPUQUPBUQUKELZAJZCKZUOUPUPBJZACENUOULUSVAIZJZCKUPUTVAJJUNVCCULUM
      VBULUMVBULUMOURUPABULURUPIUMUKDEPQULUMRSTUAUBUSVACDEUPBCUPCUCFUDCDUEUFUGU
      HUIUJ $.
  $}

  ${
    $d x A $.  $d x B $.
    rspc.1 $e |- F/ x ps $.
    rspc.2 $e |- ( x = A -> ( ph <-> ps ) ) $.
    $( Restricted specialization, using implicit substitution.  (Contributed by
       NM, 19-Apr-2005.)  (Revised by Mario Carneiro, 11-Oct-2016.) $)
    rspc $p |- ( A e. B -> ( A. x e. B ph -> ps ) ) $=
      ( wral cv wcel wi wal df-ral nfcv nfv nfim wceq eleq1 imbi12d spcgf
      pm2.43a syl5bi ) ACEHCIZEJZAKZCLZDEJZBACEMUFUGBUEUGBKCDECDNUGBCUGCOFPUCDQ
      UDUGABUCDERGSTUAUB $.

    $( Restricted existential specialization, using implicit substitution.
       (Contributed by NM, 26-May-1998.)  (Revised by Mario Carneiro,
       11-Oct-2016.) $)
    rspce $p |- ( ( A e. B /\ ps ) -> E. x e. B ph ) $=
      ( wcel wa cv wex wrex nfcv nfv nfan wceq eleq1 anbi12d spcegf anabsi5
      df-rex sylibr ) DEHZBIZCJZEHZAIZCKZACELUCBUHUGUDCDECDMUCBCUCCNFOUEDPUFUCA
      BUEDEQGRSTACEUAUB $.
  $}

  ${
    $d x A $.  $d x B $.  $d x ps $.
    rspcv.1 $e |- ( x = A -> ( ph <-> ps ) ) $.
    $( Restricted specialization, using implicit substitution.  (Contributed by
       NM, 26-May-1998.) $)
    rspcv $p |- ( A e. B -> ( A. x e. B ph -> ps ) ) $=
      ( nfv rspc ) ABCDEBCGFH $.

    $( Restricted specialization, using implicit substitution.  (Contributed by
       NM, 2-Feb-2006.) $)
    rspccv $p |- ( A. x e. B ph -> ( A e. B -> ps ) ) $=
      ( wcel wral rspcv com12 ) DEGACEHBABCDEFIJ $.

    $( Restricted specialization, using implicit substitution.  (Contributed by
       NM, 13-Sep-2005.) $)
    rspcva $p |- ( ( A e. B /\ A. x e. B ph ) -> ps ) $=
      ( wcel wral rspcv imp ) DEGACEHBABCDEFIJ $.

    $( Restricted specialization, using implicit substitution.  (Contributed by
       NM, 26-Jul-2006.)  (Proof shortened by Andrew Salmon, 8-Jun-2011.) $)
    rspccva $p |- ( ( A. x e. B ph /\ A e. B ) -> ps ) $=
      ( wcel wral rspcv impcom ) DEGACEHBABCDEFIJ $.

    $( Restricted existential specialization, using implicit substitution.
       (Contributed by NM, 26-May-1998.) $)
    rspcev $p |- ( ( A e. B /\ ps ) -> E. x e. B ph ) $=
      ( nfv rspce ) ABCDEBCGFH $.
  $}

  ${
    $d x A $.  $d x B $.  $d x ph $.  $d x ch $.
    rspcimdv.1 $e |- ( ph -> A e. B ) $.
    ${
      rspcimdv.2 $e |- ( ( ph /\ x = A ) -> ( ps -> ch ) ) $.
      $( Restricted specialization, using implicit substitution.  (Contributed
         by Mario Carneiro, 4-Jan-2017.) $)
      rspcimdv $p |- ( ph -> ( A. x e. B ps -> ch ) ) $=
        ( wral cv wcel wi wal df-ral wceq wa simpr eleq1d biimprd imim12d mpid
        spcimdv syl5bi ) BDFIDJZFKZBLZDMZACBDFNAUGEFKZCGAUFUHCLDEFGAUDEOZPZUHUE
        BCUJUEUHUJUDEFAUIQRSHTUBUAUC $.
    $}

    rspcimedv.2 $e |- ( ( ph /\ x = A ) -> ( ch -> ps ) ) $.
    $( Restricted existential specialization, using implicit substitution.
       (Contributed by Mario Carneiro, 4-Jan-2017.) $)
    rspcimedv $p |- ( ph -> ( ch -> E. x e. B ps ) ) $=
      ( wn wral wrex cv wceq wa con3d rspcimdv con2d dfrex2 syl6ibr ) ACBIZDFJZ
      IBDFKAUACATCIDEFGADLEMNCBHOPQBDFRS $.
  $}

  ${
    $d x A $.  $d x B $.  $d x ph $.  $d x ch $.
    rspcdv.1 $e |- ( ph -> A e. B ) $.
    rspcdv.2 $e |- ( ( ph /\ x = A ) -> ( ps <-> ch ) ) $.
    $( Restricted specialization, using implicit substitution.  (Contributed by
       NM, 17-Feb-2007.)  (Revised by Mario Carneiro, 4-Jan-2017.) $)
    rspcdv $p |- ( ph -> ( A. x e. B ps -> ch ) ) $=
      ( cv wceq wa biimpd rspcimdv ) ABCDEFGADIEJKBCHLM $.

    $( Restricted existential specialization, using implicit substitution.
       (Contributed by FL, 17-Apr-2007.)  (Revised by Mario Carneiro,
       4-Jan-2017.) $)
    rspcedv $p |- ( ph -> ( ch -> E. x e. B ps ) ) $=
      ( cv wceq wa biimprd rspcimedv ) ABCDEFGADIEJKBCHLM $.
  $}

  ${
    $d x y A $.  $d y B $.  $d x C $.  $d x y D $.
    rspc2.1 $e |- F/ x ch $.
    rspc2.2 $e |- F/ y ps $.
    rspc2.3 $e |- ( x = A -> ( ph <-> ch ) ) $.
    rspc2.4 $e |- ( y = B -> ( ch <-> ps ) ) $.
    $( 2-variable restricted specialization, using implicit substitution.
       (Contributed by NM, 9-Nov-2012.) $)
    rspc2 $p |- ( ( A e. C /\ B e. D ) -> ( A. x e. C A. y e. D ph ->
                  ps ) ) $=
      ( wcel wral nfcv nfral cv wceq rspc ralbidv sylan9 ) FHNAEIOZDHOCEIOZGINB
      UCUDDFHCDEIDIPJQDRFSACEILUATCBEGIKMTUB $.
  $}

  ${
    $d x y A $.  $d y B $.  $d x C $.  $d x y D $.  $d x ch $.  $d y ps $.
    rspc2v.1 $e |- ( x = A -> ( ph <-> ch ) ) $.
    rspc2v.2 $e |- ( y = B -> ( ch <-> ps ) ) $.
    $( 2-variable restricted specialization, using implicit substitution.
       (Contributed by NM, 13-Sep-1999.) $)
    rspc2v $p |- ( ( A e. C /\ B e. D ) -> ( A. x e. C A. y e. D ph ->
                  ps ) ) $=
      ( nfv rspc2 ) ABCDEFGHICDLBELJKM $.

    $( 2-variable restricted specialization, using implicit substitution.
       (Contributed by NM, 18-Jun-2014.) $)
    rspc2va $p |- ( ( ( A e. C /\ B e. D ) /\ A. x e. C A. y e. D ph ) ->
                  ps ) $=
      ( wcel wa wral rspc2v imp ) FHLGILMAEINDHNBABCDEFGHIJKOP $.

    $( 2-variable restricted existential specialization, using implicit
       substitution.  (Contributed by NM, 16-Oct-1999.) $)
    rspc2ev $p |- ( ( A e. C /\ B e. D /\ ps ) -> E. x e. C E. y e. D ph ) $=
      ( wcel w3a wrex wa rspcev anim2i 3impb cv wceq rexbidv syl ) FHLZGILZBMUC
      CEINZOZAEINZDHNUCUDBUFUDBOUEUCCBEGIKPQRUGUEDFHDSFTACEIJUAPUB $.
  $}

  ${
    $d z ps $.  $d x ch $.  $d y th $.  $d x y z A $.  $d y z B $.  $d z C $.
    $d x R $.  $d x y S $.  $d x y z T $.
    rspc3v.1 $e |- ( x = A -> ( ph <-> ch ) ) $.
    rspc3v.2 $e |- ( y = B -> ( ch <-> th ) ) $.
    rspc3v.3 $e |- ( z = C -> ( th <-> ps ) ) $.
    $( 3-variable restricted specialization, using implicit substitution.
       (Contributed by NM, 10-May-2005.) $)
    rspc3v $p |- ( ( A e. R /\ B e. S /\ C e. T ) ->
                  ( A. x e. R A. y e. S A. z e. T ph -> ps ) ) $=
      ( wcel wral cv wceq wi wa ralbidv rspc2v rspcv sylan9 3impa ) HKQZILQZJMQ
      ZAGMRZFLREKRZBUAUHUIUBULDGMRZUJBUKUMCGMREFHIKLESHTACGMNUCFSITCDGMOUCUDDBG
      JMPUEUFUG $.

    $( 3-variable restricted existentional specialization, using implicit
       substitution.  (Contributed by NM, 25-Jul-2012.) $)
    rspc3ev $p |- ( ( ( A e. R /\ B e. S /\ C e. T ) /\ ps ) ->
                  E. x e. R E. y e. S E. z e. T ph ) $=
      ( wcel wrex cv wceq w3a wa simpl1 simpl2 rspcev 3ad2antl3 rexbidv rspc2ev
      syl3anc ) HKQZILQZJMQZUABUBUJUKDGMRZAGMRZFLREKRUJUKULBUCUJUKULBUDULUJBUMU
      KDBGJMPUEUFUNUMCGMREFHIKLESHTACGMNUGFSITCDGMOUGUHUI $.
  $}

  ${
    $d x A $.  $d x B $.
    eqvinc.1 $e |- A e. _V $.
    $( A variable introduction law for class equality.  (Contributed by NM,
       14-Apr-1995.)  (Proof shortened by Andrew Salmon, 8-Jun-2011.) $)
    eqvinc $p |- ( A = B <-> E. x ( x = A /\ x = B ) ) $=
      ( wceq cv wa wex wi isseti ax-1 eqtr jca eximi pm3.43 mp2b 19.37aiv eqtr2
      ex exlimiv impbii ) BCEZAFZBEZUCCEZGZAHUBUFAUDAHUBUDIZUBUEIZGZAHUBUFIZAHA
      BDJUDUIAUDUGUHUDUBKUDUBUEUCBCLSMNUIUJAUBUDUEONPQUFUBAUCBCRTUA $.
  $}

  ${
    $d A y $.  $d B y $.  $d x y $.
    eqvincf.1 $e |- F/_ x A $.
    eqvincf.2 $e |- F/_ x B $.
    eqvincf.3 $e |- A e. _V $.
    $( A variable introduction law for class equality, using bound-variable
       hypotheses instead of distinct variable conditions.  (Contributed by NM,
       14-Sep-2003.) $)
    eqvincf $p |- ( A = B <-> E. x ( x = A /\ x = B ) ) $=
      ( vy wceq cv wa wex eqvinc nfeq2 nfan nfv eqeq1 anbi12d cbvex bitri ) BCH
      GIZBHZTCHZJZGKAIZBHZUDCHZJZAKGBCFLUCUGGAUAUBAATBDMATCEMNUGGOTUDHUAUEUBUFT
      UDBPTUDCPQRS $.
  $}

  ${
    $d x A y $.  $d ph y $.
    alexeq.1 $e |- A e. _V $.
    $( Two ways to express substitution of ` A ` for ` x ` in ` ph ` .
       (Contributed by NM, 2-Mar-1995.) $)
    alexeq $p |- ( A. x ( x = A -> ph ) <-> E. x ( x = A /\ ph ) ) $=
      ( vy cv wceq wa wex wi wal anbi1d exbidv imbi1d albidv sb56 vtoclb bicomi
      eqeq2 ) BFZCGZAHZBIZUAAJZBKZTEFZGZAHZBIUGAJZBKUCUEECDUFCGZUHUBBUJUGUAAUFC
      TSZLMUJUIUDBUJUGUAAUKNOABEPQR $.
  $}

  ${
    $d x A y $.  $d ph y $.
    $( Equality implies equivalence with substitution.  (Contributed by NM,
       2-Mar-1995.) $)
    ceqex $p |- ( x = A -> ( ph <-> E. x ( x = A /\ ph ) ) ) $=
      ( vy cvv wcel cv wceq wa wex wb 19.8a isset sylibr wi eqeq2 anbi1d exbidv
      bibi2d imbi12d ex wal vex alexeq sp com12 syl5bir impbid vtoclg mpcom ) C
      EFZBGZCHZAUMAIZBJZKZUMUMBJUKUMBLBCMNULDGZHZAURAIZBJZKZOUMUPODCEUQCHZURUMV
      AUPUQCULPZVBUTUOAVBUSUNBVBURUMAVCQRSTURAUTURAUTUSBLUAUTURAOZBUBZURAABUQDU
      CUDVEURAVDBUEUFUGUHUIUJ $.
  $}

  ${
    $d x A $.
    ceqsexg.1 $e |- F/ x ps $.
    ceqsexg.2 $e |- ( x = A -> ( ph <-> ps ) ) $.
    $( A representation of explicit substitution of a class for a variable,
       inferred from an implicit substitution hypothesis.  (Contributed by NM,
       11-Oct-2004.) $)
    ceqsexg $p |- ( A e. V -> ( E. x ( x = A /\ ph ) <-> ps ) ) $=
      ( wb cv wceq wa wex nfcv nfe1 nfbi ceqex bibi12d biid vtoclgf ) AAHCIDJZA
      KZCLZBHCDECDMUBBCUACNFOTAUBABACDPGQARS $.
  $}

  ${
    $d x A $.  $d x ps $.
    ceqsexgv.1 $e |- ( x = A -> ( ph <-> ps ) ) $.
    $( Elimination of an existential quantifier, using implicit substitution.
       (Contributed by NM, 29-Dec-1996.) $)
    ceqsexgv $p |- ( A e. V -> ( E. x ( x = A /\ ph ) <-> ps ) ) $=
      ( nfv ceqsexg ) ABCDEBCGFH $.
  $}

  ${
    $d x A $.  $d x B $.  $d x ps $.
    ceqsrexv.1 $e |- ( x = A -> ( ph <-> ps ) ) $.
    $( Elimination of a restricted existential quantifier, using implicit
       substitution.  (Contributed by NM, 30-Apr-2004.) $)
    ceqsrexv $p |- ( A e. B -> ( E. x e. B ( x = A /\ ph ) <-> ps ) ) $=
      ( cv wceq wa wrex wcel wex df-rex an12 exbii bitr4i eleq1 anbi12d bianabs
      ceqsexgv syl5bb ) CGZDHZAIZCEJZUCUBEKZAIZIZCLZDEKZBUEUFUDIZCLUIUDCEMUHUKC
      UCUFANOPUJUIBUGUJBICDEUCUFUJABUBDEQFRTSUA $.

    $( Elimination of a restricted existential quantifier, using implicit
       substitution.  (Contributed by Mario Carneiro, 14-Mar-2014.) $)
    ceqsrexbv $p |- ( E. x e. B ( x = A /\ ph ) <-> ( A e. B /\ ps ) ) $=
      ( wcel cv wceq wa wrex r19.42v eleq1 adantr pm5.32ri bicomi baib ceqsrexv
      wb rexbiia pm5.32i 3bitr3i ) DEGZCHZDIZAJZJZCEKUCUFCEKZJUHUCBJUCUFCELUGUF
      CEUGUDEGZUFUIUFJUGUFUIUCUEUIUCSAUDDEMNOPQTUCUHBABCDEFRUAUB $.
  $}

  ${
    $d x y A $.  $d x y B $.  $d x C $.  $d x y D $.  $d x ps $.  $d y ch $.
    ceqsrex2v.1 $e |- ( x = A -> ( ph <-> ps ) ) $.
    ceqsrex2v.2 $e |- ( y = B -> ( ps <-> ch ) ) $.
    $( Elimination of a restricted existential quantifier, using implicit
       substitution.  (Contributed by NM, 29-Oct-2005.) $)
    ceqsrex2v $p |- ( ( A e. C /\ B e. D ) ->
      ( E. x e. C E. y e. D ( ( x = A /\ y = B ) /\ ph ) <-> ch ) ) $=
      ( wcel cv wceq wa wrex anass rexbii r19.42v ceqsrexv bitri anbi2d rexbidv
      syl5bb sylan9bb ) FHLZDMFNZEMGNZOAOZEIPZDHPZUHBOZEIPZGILCUKUGUHAOZEIPZOZD
      HPUFUMUJUPDHUJUGUNOZEIPUPUIUQEIUGUHAQRUGUNEISUARUOUMDFHUGUNULEIUGABUHJUBU
      CTUDBCEGIKTUE $.
  $}

  ${
    $d x A $.  $d x B $.
    clel2.1 $e |- A e. _V $.
    $( An alternate definition of class membership when the class is a set.
       (Contributed by NM, 18-Aug-1993.) $)
    clel2 $p |- ( A e. B <-> A. x ( x = A -> x e. B ) ) $=
      ( cv wceq wcel wi wal eleq1 ceqsalv bicomi ) AEZBFMCGZHAIBCGZNOABDMBCJKL
      $.
  $}

  ${
    $d x A $.  $d x B $.
    $( An alternate definition of class membership when the class is a set.
       (Contributed by NM, 13-Aug-2005.) $)
    clel3g $p |- ( B e. V -> ( A e. B <-> E. x ( x = B /\ A e. x ) ) ) $=
      ( wcel cv wceq wa wex eleq2 ceqsexgv bicomd ) CDEAFZCGBMEZHAIBCEZNOACDMCB
      JKL $.
  $}

  ${
    $d x A $.  $d x B $.
    clel3.1 $e |- B e. _V $.
    $( An alternate definition of class membership when the class is a set.
       (Contributed by NM, 18-Aug-1993.) $)
    clel3 $p |- ( A e. B <-> E. x ( x = B /\ A e. x ) ) $=
      ( cvv wcel cv wceq wa wex wb clel3g ax-mp ) CEFBCFAGZCHBNFIAJKDABCELM $.
  $}

  ${
    $d x A $.  $d x B $.
    clel4.1 $e |- B e. _V $.
    $( An alternate definition of class membership when the class is a set.
       (Contributed by NM, 18-Aug-1993.) $)
    clel4 $p |- ( A e. B <-> A. x ( x = B -> A e. x ) ) $=
      ( cv wceq wcel wi wal eleq2 ceqsalv bicomi ) AEZCFBMGZHAIBCGZNOACDMCBJKL
      $.
  $}

  ${
    $d y A z $.  $d y B z $.
    $( Compare theorem *13.183 in [WhiteheadRussell] p. 178.  Only ` A ` is
       required to be a set.  (Contributed by Andrew Salmon, 3-Jun-2011.) $)
    pm13.183 $p |- ( A e. V -> ( A = B <-> A. z ( z = A <-> z = B ) ) ) $=
      ( vy cv wceq wal eqeq1 eqeq2 bibi1d albidv alrimiv wsb stdpc4 sbbi bibi2i
      wb eqsb3 sylbi equsb1 bi1 mpi syl impbii vtoclbg ) EFZCGZAFZUGGZUICGZRZAH
      ZBCGUIBGZUKRZAHEBDUGBCIUGBGZULUOAUPUJUNUKUGBUIJKLUHUMUHULAUGCUIJMUMULAENZ
      UHULAEOUQUJAENZUKAENZRZUHUJUKAEPUTURUHRZUHUSUHUREACSQVAURUHAEUAURUHUBUCTT
      UDUEUF $.
  $}

  ${
    $d y A $.  $d x y $.  $d y ph $.
    $( Restricted quantifier version of Theorem 19.3 of [Margaris] p. 89.  We
       don't need the non-empty class condition of ~ r19.3rzv when there is an
       outer quantifier.  (Contributed by NM, 25-Oct-2012.) $)
    rr19.3v $p |- ( A. x e. A A. y e. A ph <-> A. x e. A ph ) $=
      ( wral cv wceq biidd rspcv ralimia wcel ax-1 ralrimiv ralimi impbii ) ACD
      EZBDEABDEPABDAACBFZDCFZQGAHIJAPBDAACDARDKLMNO $.

    $( Restricted quantifier version of Theorem 19.28 of [Margaris] p. 90.  We
       don't need the non-empty class condition of ~ r19.28zv when there is an
       outer quantifier.  (Contributed by NM, 29-Oct-2012.) $)
    rr19.28v $p |- ( A. x e. A A. y e. A ( ph /\ ps )
                      <-> A. x e. A ( ph /\ A. y e. A ps ) ) $=
      ( wa wral cv wcel simpl ralimi wceq biidd rspcv syl5 wi simpr a1i ralimia
      jcad r19.28av impbii ) ABFZDEGZCEGABDEGZFZCEGUDUFCECHZEIZUDAUEUDADEGUHAUC
      ADEABJKAADUGEDHUGLAMNOUDUEPUHUCBDEABQKRTSUFUDCEABDEUAKUB $.
  $}

  ${
    $d x A $.  $d x ps $.
    $( Membership in a class abstraction, using implicit substitution.  (Closed
       theorem version of ~ elabg .)  (Contributed by NM, 7-Nov-2005.)  (Proof
       shortened by Andrew Salmon, 8-Jun-2011.) $)
    elabgt $p |- ( ( A e. B /\ A. x ( x = A -> ( ph <-> ps ) ) ) ->
                 ( A e. { x | ph } <-> ps ) ) $=
      ( cv wceq wb wal wcel cab abid eleq1 syl5bbr bibi1d biimpd a2i alimi nfcv
      wi nfab1 nfel2 nfv nfbi pm5.5 spcgf imp sylan2 ) CFZDGZABHZTZCIDEJZUJDACK
      ZJZBHZTZCIZUPULUQCUJUKUPUJUKUPUJAUOBAUIUNJUJUOACLUIDUNMNOPQRUMURUPUQUPCDE
      CDSUOBCCDUNACUAUBBCUCUDUJUPUEUFUGUH $.
  $}

  ${
    elabgf.1 $e |- F/_ x A $.
    elabgf.2 $e |- F/ x ps $.
    elabgf.3 $e |- ( x = A -> ( ph <-> ps ) ) $.
    $( Membership in a class abstraction, using implicit substitution.  Compare
       Theorem 6.13 of [Quine] p. 44.  This version has bound-variable
       hypotheses in place of distinct variable restrictions.  (Contributed by
       NM, 21-Sep-2003.)  (Revised by Mario Carneiro, 12-Oct-2016.) $)
    elabgf $p |- ( A e. B -> ( A e. { x | ph } <-> ps ) ) $=
      ( cv cab wcel wb nfab1 nfel nfbi wceq eleq1 bibi12d abid vtoclgf ) CIZACJ
      ZKZALDUBKZBLCDEFUDBCCDUBFACMNGOUADPUCUDABUADUBQHRACST $.
  $}

  ${
    $d x A $.
    elabf.1 $e |- F/ x ps $.
    elabf.2 $e |- A e. _V $.
    elabf.3 $e |- ( x = A -> ( ph <-> ps ) ) $.
    $( Membership in a class abstraction, using implicit substitution.
       (Contributed by NM, 1-Aug-1994.)  (Revised by Mario Carneiro,
       12-Oct-2016.) $)
    elabf $p |- ( A e. { x | ph } <-> ps ) $=
      ( cvv wcel cab wb nfcv elabgf ax-mp ) DHIDACJIBKFABCDHCDLEGMN $.
  $}

  ${
    $d x ps $.  $d x A $.
    elab.1 $e |- A e. _V $.
    elab.2 $e |- ( x = A -> ( ph <-> ps ) ) $.
    $( Membership in a class abstraction, using implicit substitution.  Compare
       Theorem 6.13 of [Quine] p. 44.  (Contributed by NM, 1-Aug-1994.) $)
    elab $p |- ( A e. { x | ph } <-> ps ) $=
      ( nfv elabf ) ABCDBCGEFH $.
  $}

  ${
    $d x ps $.  $d x A $.
    elabg.1 $e |- ( x = A -> ( ph <-> ps ) ) $.
    $( Membership in a class abstraction, using implicit substitution.  Compare
       Theorem 6.13 of [Quine] p. 44.  (Contributed by NM, 14-Apr-1995.) $)
    elabg $p |- ( A e. V -> ( A e. { x | ph } <-> ps ) ) $=
      ( nfcv nfv elabgf ) ABCDECDGBCHFI $.
  $}

  ${
    $d x ps $.  $d x A $.
    elab2g.1 $e |- ( x = A -> ( ph <-> ps ) ) $.
    elab2g.2 $e |- B = { x | ph } $.
    $( Membership in a class abstraction, using implicit substitution.
       (Contributed by NM, 13-Sep-1995.) $)
    elab2g $p |- ( A e. V -> ( A e. B <-> ps ) ) $=
      ( wcel cab eleq2i elabg syl5bb ) DEIDACJZIDFIBENDHKABCDFGLM $.
  $}

  ${
    $d x ps $.  $d x A $.
    elab2.1 $e |- A e. _V $.
    elab2.2 $e |- ( x = A -> ( ph <-> ps ) ) $.
    elab2.3 $e |- B = { x | ph } $.
    $( Membership in a class abstraction, using implicit substitution.
       (Contributed by NM, 13-Sep-1995.) $)
    elab2 $p |- ( A e. B <-> ps ) $=
      ( cvv wcel wb elab2g ax-mp ) DIJDEJBKFABCDEIGHLM $.
  $}

  ${
    $d x ps $.  $d x A $.
    elab4g.1 $e |- ( x = A -> ( ph <-> ps ) ) $.
    elab4g.2 $e |- B = { x | ph } $.
    $( Membership in a class abstraction, using implicit substitution.
       (Contributed by NM, 17-Oct-2012.) $)
    elab4g $p |- ( A e. B <-> ( A e. _V /\ ps ) ) $=
      ( wcel cvv elex elab2g biadan2 ) DEHDIHBDEJABCDEIFGKL $.
  $}

  ${
    elab3gf.1 $e |- F/_ x A $.
    elab3gf.2 $e |- F/ x ps $.
    elab3gf.3 $e |- ( x = A -> ( ph <-> ps ) ) $.
    $( Membership in a class abstraction, with a weaker antecedent than
       ~ elabgf .  (Contributed by NM, 6-Sep-2011.) $)
    elab3gf $p |- ( ( ps -> A e. B ) -> ( A e. { x | ph } <-> ps ) ) $=
      ( wcel cab wb wn elabgf ibi pm2.21 impbid2 ja ) BDEIDACJZIZBKBLSBSBABCDRF
      GHMNBSOPABCDEFGHMQ $.
  $}

  ${
    $d x ps $.  $d x A $.
    elab3g.1 $e |- ( x = A -> ( ph <-> ps ) ) $.
    $( Membership in a class abstraction, with a weaker antecedent than
       ~ elabg .  (Contributed by NM, 29-Aug-2006.) $)
    elab3g $p |- ( ( ps -> A e. B ) -> ( A e. { x | ph } <-> ps ) ) $=
      ( nfcv nfv elab3gf ) ABCDECDGBCHFI $.
  $}

  ${
    $d x ps $.  $d x A $.
    elab3.1 $e |- ( ps -> A e. _V ) $.
    elab3.2 $e |- ( x = A -> ( ph <-> ps ) ) $.
    $( Membership in a class abstraction using implicit substitution.
       (Contributed by NM, 10-Nov-2000.) $)
    elab3 $p |- ( A e. { x | ph } <-> ps ) $=
      ( cvv wcel wi cab wb elab3g ax-mp ) BDGHIDACJHBKEABCDGFLM $.
  $}

  ${
    elrabf.1 $e |- F/_ x A $.
    elrabf.2 $e |- F/_ x B $.
    elrabf.3 $e |- F/ x ps $.
    elrabf.4 $e |- ( x = A -> ( ph <-> ps ) ) $.
    $( Membership in a restricted class abstraction, using implicit
       substitution.  This version has bound-variable hypotheses in place of
       distinct variable restrictions.  (Contributed by NM, 21-Sep-2003.) $)
    elrabf $p |- ( A e. { x e. B | ph } <-> ( A e. B /\ ps ) ) $=
      ( crab wcel cvv wa elex adantr cv cab df-rab eleq2i nfel nfan wceq elabgf
      eleq1 anbi12d syl5bb pm5.21nii ) DACEJZKZDLKZDEKZBMZDUHNUKUJBDENOUIDCPZEK
      ZAMZCQZKUJULUHUPDACERSUOULCDLFUKBCCDEFGTHUAUMDUBUNUKABUMDEUDIUEUCUFUG $.
  $}

  ${
    $d x ps $.  $d x A $.  $d x B $.
    elrab.1 $e |- ( x = A -> ( ph <-> ps ) ) $.
    $( Membership in a restricted class abstraction, using implicit
       substitution.  (Contributed by NM, 21-May-1999.) $)
    elrab $p |- ( A e. { x e. B | ph } <-> ( A e. B /\ ps ) ) $=
      ( nfcv nfv elrabf ) ABCDECDGCEGBCHFI $.

    $( Membership in a restricted class abstraction, using implicit
       substitution.  (Contributed by NM, 5-Oct-2006.) $)
    elrab3 $p |- ( A e. B -> ( A e. { x e. B | ph } <-> ps ) ) $=
      ( crab wcel elrab baib ) DACEGHDEHBABCDEFIJ $.
  $}

  ${
    $d x ps $.  $d x A $.  $d x B $.
    elrab2.1 $e |- ( x = A -> ( ph <-> ps ) ) $.
    elrab2.2 $e |- C = { x e. B | ph } $.
    $( Membership in a class abstraction, using implicit substitution.
       (Contributed by NM, 2-Nov-2006.) $)
    elrab2 $p |- ( A e. C <-> ( A e. B /\ ps ) ) $=
      ( wcel crab wa eleq2i elrab bitri ) DFIDACEJZIDEIBKFODHLABCDEGMN $.
  $}

  ${
    $d x y $.  $d y A $.  $d y ps $.
    ralab.1 $e |- ( y = x -> ( ph <-> ps ) ) $.
    $( Universal quantification over a class abstraction.  (Contributed by Jeff
       Madsen, 10-Jun-2010.) $)
    ralab $p |- ( A. x e. { y | ph } ch <-> A. x ( ps -> ch ) ) $=
      ( cab wral cv wcel wi wal df-ral vex elab imbi1i albii bitri ) CDAEGZHDIZ
      SJZCKZDLBCKZDLCDSMUBUCDUABCABETDNFOPQR $.

    $( Universal quantification over a restricted class abstraction.
       (Contributed by Jeff Madsen, 10-Jun-2010.) $)
    ralrab $p |- ( A. x e. { y e. A | ph } ch <-> A. x e. A ( ps -> ch ) ) $=
      ( wi crab cv wcel wa elrab imbi1i impexp bitri ralbii2 ) CBCHZDAEFIZFDJZS
      KZCHTFKZBLZCHUBRHUAUCCABETFGMNUBBCOPQ $.

    $( Existential quantification over a class abstraction.  (Contributed by
       Mario Carneiro, 23-Jan-2014.)  (Revised by Mario Carneiro,
       3-Sep-2015.) $)
    rexab $p |- ( E. x e. { y | ph } ch <-> E. x ( ps /\ ch ) ) $=
      ( cab wrex cv wcel wa wex df-rex vex elab anbi1i exbii bitri ) CDAEGZHDIZ
      SJZCKZDLBCKZDLCDSMUBUCDUABCABETDNFOPQR $.

    $( Existential quantification over a class abstraction.  (Contributed by
       Jeff Madsen, 17-Jun-2011.)  (Revised by Mario Carneiro, 3-Sep-2015.) $)
    rexrab $p |- ( E. x e. { y e. A | ph } ch <-> E. x e. A ( ps /\ ch ) ) $=
      ( wa crab cv wcel elrab anbi1i anass bitri rexbii2 ) CBCHZDAEFIZFDJZRKZCH
      SFKZBHZCHUAQHTUBCABESFGLMUABCNOP $.
  $}

  ${
    $d x y $.  $d x A $.  $d x ch $.  $d x ph $.  $d y ps $.
    ralab2.1 $e |- ( x = y -> ( ps <-> ch ) ) $.
    $( Universal quantification over a class abstraction.  (Contributed by
       Mario Carneiro, 3-Sep-2015.) $)
    ralab2 $p |- ( A. x e. { y | ph } ps <-> A. y ( ph -> ch ) ) $=
      ( cab wral cv wcel wi wal df-ral nfsab1 nfv nfim wceq eleq1 abid syl6bb
      imbi12d cbval bitri ) BDAEGZHDIZUDJZBKZDLACKZELBDUDMUGUHDEUFBEAEDNBEOPUHD
      OUEEIZQZUFABCUJUFUIUDJAUEUIUDRAESTFUAUBUC $.

    $( Universal quantification over a restricted class abstraction.
       (Contributed by Mario Carneiro, 3-Sep-2015.) $)
    ralrab2 $p |- ( A. x e. { y e. A | ph } ps <-> A. y e. A ( ph -> ch ) ) $=
      ( crab wral cv wcel wa cab wi wal df-rab raleqi ralab2 impexp albii
      df-ral bitr4i 3bitri ) BDAEFHZIBDEJFKZALZEMZIUFCNZEOZACNZEFIZBDUDUGAEFPQU
      FBCDEGRUIUEUJNZEOUKUHULEUEACSTUJEFUAUBUC $.

    $( Existential quantification over a class abstraction.  (Contributed by
       Mario Carneiro, 3-Sep-2015.) $)
    rexab2 $p |- ( E. x e. { y | ph } ps <-> E. y ( ph /\ ch ) ) $=
      ( cab wrex cv wcel wa wex df-rex nfsab1 nfv nfan wceq eleq1 abid syl6bb
      anbi12d cbvex bitri ) BDAEGZHDIZUDJZBKZDLACKZELBDUDMUGUHDEUFBEAEDNBEOPUHD
      OUEEIZQZUFABCUJUFUIUDJAUEUIUDRAESTFUAUBUC $.

    $( Existential quantification over a class abstraction.  (Contributed by
       Mario Carneiro, 3-Sep-2015.) $)
    rexrab2 $p |- ( E. x e. { y e. A | ph } ps <-> E. y e. A ( ph /\ ch ) ) $=
      ( crab wrex cv wcel wa cab wex df-rab rexeqi rexab2 anass exbii df-rex
      bitr4i 3bitri ) BDAEFHZIBDEJFKZALZEMZIUECLZENZACLZEFIZBDUCUFAEFOPUEBCDEGQ
      UHUDUILZENUJUGUKEUDACRSUIEFTUAUB $.
  $}

  ${
    $d x z $.  $d A z $.
    $( Identity used to create closed-form versions of bound-variable
       hypothesis builders for class expressions.  (Contributed by NM,
       10-Nov-2005.)  (Proof shortened by Mario Carneiro, 12-Oct-2016.) $)
    abidnf $p |- ( F/_ x A -> { z | A. x z e. A } = A ) $=
      ( wnfc cv wcel wal sp nfcr nfrd impbid2 abbi1dv ) ACDZBECFZAGZBCMONNAHMNA
      ABCIJKL $.
  $}

  ${
    $d x z $.  $d z A $.
    dedhb.1 $e |- ( A = { z | A. x z e. A } -> ( ph <-> ps ) ) $.
    dedhb.2 $e |- ps $.
    $( A deduction theorem for converting the inference ` |- F/_ x A ` =>
       ` |- ph ` into a closed theorem.  Use ~ nfa1 and ~ nfab to eliminate the
       hypothesis of the substitution instance ` ps ` of the inference.  For
       converting the inference form into a deduction form, ~ abidnf is
       useful.  (Contributed by NM, 8-Dec-2006.) $)
    dedhb $p |- ( F/_ x A -> ph ) $=
      ( wnfc cv wcel wal cab wceq wb abidnf eqcomd syl mpbiri ) CEHZABGSEDIEJCK
      DLZMABNSTECDEOPFQR $.
  $}

  ${
    $d y ph $.  $d x y ps $.  $d x y A $.
    eqeu.1 $e |- ( x = A -> ( ph <-> ps ) ) $.
    $( A condition which implies existential uniqueness.  (Contributed by Jeff
       Hankins, 8-Sep-2009.) $)
    eqeu $p |- ( ( A e. B /\ ps /\ A. x ( ph -> x = A ) ) -> E! x ph ) $=
      ( vy wcel cv wceq wi wal w3a wex weu spcegv imp 3adant3 eqeq2 imbi2d nfv
      albidv 3adant2 eu3 sylanbrc ) DEHZBACIZDJZKZCLZMACNZAUGGIZJZKZCLZGNZACOUF
      BUKUJUFBUKABCDEFPQRUFUJUPBUFUJUPUOUJGDEULDJZUNUICUQUMUHAULDUGSTUBPQUCACGA
      GUAUDUE $.
  $}

  ${
    $d x y A $.
    $( Equality has existential uniqueness.  (Contributed by NM,
       25-Nov-1994.) $)
    eueq $p |- ( A e. _V <-> E! x x = A ) $=
      ( vy cv wceq wex wa wi wal cvv wcel weu eqtr3 biantru isset eqeq1 3bitr4i
      gen2 eu4 ) ADZBEZAFZUBUACDZBEZGTUCEHZCIAIZGBJKUAALUFUBUEACTUCBMRNABOUAUDA
      CTUCBPSQ $.
  $}

  ${
    $d x A $.
    eueq1.1 $e |- A e. _V $.
    $( Equality has existential uniqueness.  (Contributed by NM,
       5-Apr-1995.) $)
    eueq1 $p |- E! x x = A $=
      ( cvv wcel cv wceq weu eueq mpbi ) BDEAFBGAHCABIJ $.
  $}

  ${
    $d x ph $.  $d x A $.  $d x B $.
    eueq2.1 $e |- A e. _V $.
    eueq2.2 $e |- B e. _V $.
    $( Equality has existential uniqueness (split into 2 cases).  (Contributed
       by NM, 5-Apr-1995.) $)
    eueq2 $p |- E! x ( ( ph /\ x = A ) \/ ( -. ph /\ x = B ) ) $=
      ( cv wceq wa wn weu eueq1 euanv biimpri mpan2 euorv bianfd eubidv mpbid
      wo notnot1 syl2anc orcom orbi2d syl5bb mpdan id orbi1d pm2.61i ) AABGZCHZ
      IZAJZUJDHZIZTZBKZAUMULTZBKZUQAUMJULBKZUSAUAZAUKBKZUTBCELUTAVBIAUKBMNOUMUL
      BPUBAURUPBURULUMTAUPUMULUCAUMUOULAUMUNVAQUDUERSUMAUOTZBKZUQUMUOBKZVDUMUNB
      KZVEBDFLVEUMVFIUMUNBMNOAUOBPUFUMVCUPBUMAULUOUMAUKUMUGQUHRSUI $.
  $}

  ${
    $d x ph $.  $d x ps $.  $d x A $.  $d x B $.  $d x C $.
    eueq3.1 $e |- A e. _V $.
    eueq3.2 $e |- B e. _V $.
    eueq3.3 $e |- C e. _V $.
    eueq3.4 $e |- -. ( ph /\ ps ) $.
    $( Equality has existential uniqueness (split into 3 cases).  (Contributed
       by NM, 5-Apr-1995.)  (Proof shortened by Mario Carneiro,
       28-Sep-2015.) $)
    eueq3 $p |- E! x ( ( ph /\ x = A ) \/ ( -. ( ph \/ ps ) /\ x = B )
                \/ ( ps /\ x = C ) ) $=
      ( wceq wa wo wn w3o weu eueq1 ibar wb con2i cv pm2.45 imnani jaoi orbi12d
      bianfd mtbid biorf bitrd 3orrot df-3or bitri syl6bbr eubidv adantr pm2.46
      syl mpbii simpl orim12i con3i 3orcomb ecase3 ) ABACUAZDKZLZABMZNZVDEKZLZB
      VDFKZLZOZCPZAVECPVNCDGQAVEVMCAVEVJVLMZVFMZVMAVEVFVPAVERAVONVFVPSAVHBMZVOV
      QAVHANBABUBZABABJUCZTUDTAVHVJBVLAVHVIVHAVRTUFABVKVSUFUEUGVOVFUHUQUIVMVJVL
      VFOVPVFVJVLUJVJVLVFUKULUMUNURBVKCPVNCFIQBVKVMCBVKVFVJMZVLMZVMBVKVLWABVKRB
      VTNVLWASVTBVFBNZVJAWBVEVSUOVHWBVIABUPUOUDTVTVLUHUQUIVFVJVLUKUMUNURVHVICPV
      NCEHQVHVIVMCVHVIVFVLMZVJMZVMVHVIVJWDVHVIRVHWCNVJWDSWCVGVFAVLBAVEUSBVKUSUT
      VAWCVJUHUQUIVMVFVLVJOWDVFVJVLVBVFVLVJUKULUMUNURVC $.
  $}

  ${
    $d x A $.
    $( There is at most one set equal to a class.  (Contributed by NM,
       8-Mar-1995.) $)
    moeq $p |- E* x x = A $=
      ( cv wceq wmo wex weu wi cvv wcel isset eueq bitr3i biimpi df-mo mpbir )
      ACBDZAEQAFZQAGZHRSRBIJSABKABLMNQAOP $.
  $}

  ${
    $d x y ph $.  $d x y ps $.  $d x y A $.  $d x y B $.  $d x y C $.
    moeq3.1 $e |- B e. _V $.
    moeq3.2 $e |- C e. _V $.
    moeq3.3 $e |- -. ( ph /\ ps ) $.
    $( "At most one" property of equality (split into 3 cases).  (The first 2
       hypotheses could be eliminated with longer proof.)  (Contributed by NM,
       23-Apr-1995.) $)
    moeq3 $p |- E* x ( ( ph /\ x = A ) \/ ( -. ( ph \/ ps ) /\ x = B )
                \/ ( ps /\ x = C ) ) $=
      ( vy cvv wcel cv wceq wa wo wn w3o weu biidd eqeq2 anbi2d 3orbi123d eueq3
      wmo eubidv vex vtoclg eumo syl wi eleq1 mpbii pm2.21 anim2d orim1d 3orass
      wal syl5 3imtr4g alrimiv euimmo ee10 pm2.61i ) DKLZACMZDNZOZABPQVFENOZBVF
      FNOZRZCUEZVEVKCSZVLAVFJMZNZOZVIVJRZCSZVMJDKVNDNZVQVKCVSVPVHVIVIVJVJVSVOVG
      AVNDVFUAUBVSVITVSVJTUCUFABCVNEFJUGGHIUDZUHVKCUIUJVEQZVKVQUKZCURVRVLWAWBCW
      AVHVIVJPZPVPWCPVKVQWAVHVPWCWAVGVOAVGVEWAVOVGVFKLVECUGVFDKULUMVEVOUNUSUOUP
      VHVIVJUQVPVIVJUQUTVAVTVKVQCVBVCVD $.
  $}

  ${
    $d x y A $.
    mosub.1 $e |- E* x ph $.
    $( "At most one" remains true after substitution.  (Contributed by NM,
       9-Mar-1995.) $)
    mosub $p |- E* x E. y ( y = A /\ ph ) $=
      ( cv wceq wmo wal wa wex moeq ax-gen moexexv mp2an ) CFDGZCHABHZCIPAJCKBH
      CDLQCEMPACBNO $.
  $}

  ${
    $d x y A $.  $d y ph $.
    $( Theorem for inferring "at most one."  (Contributed by NM,
       17-Oct-1996.) $)
    mo2icl $p |- ( A. x ( ph -> x = A ) -> E* x ph ) $=
      ( vy cvv wcel cv wceq wi wal wmo eqeq2 imbi2d albidv imbi1d wex 19.8a nfv
      mo2 wn sylibr vtoclg vex eleq1 mpbii imim2i con3rr3 alimdv alnex exmo ori
      sylbi syl6 pm2.61i ) CEFZABGZCHZIZBJZABKZIZAUPDGZHZIZBJZUTIVADCEVBCHZVEUS
      UTVFVDURBVFVCUQAVBCUPLMNOVEVEDPUTVEDQABDADRSUAUBUOTZUSATZBJZUTVGURVHBURAU
      OUQUOAUQUPEFUOBUCUPCEUDUEUFUGUHVIABPZTUTABUIVJUTABUJUKULUMUN $.
  $}

  ${
    $d x y A $.  $d y ph $.  $d x y ps $.
    moi2.1 $e |- ( x = A -> ( ph <-> ps ) ) $.
    $( Consequence of "at most one."  (Contributed by NM, 2-Jan-2015.) $)
    mob2 $p |- ( ( A e. B /\ E* x ph /\ ph ) -> ( x = A <-> ps ) ) $=
      ( vy wcel wmo w3a cv wceq simp3 syl5ibcom wi wa wsb wal nfs1v sbequ12 nfv
      mo4f sylbi sbhypf anbi2d eqeq2 imbi12d spcgv syl5 imp exp3a 3impia impbid
      sp ) DEHZACIZAJZCKZDLZBUQAUSBUOUPAMFNUOUPABUSOUOUPPABUSUOUPABPZUSOZUPAACG
      QZPZURGKZLZOZGRZUOVAUPVGCRVGAVBCGACGSACGTUBVGCUNUCVFVAGDEVDDLZVCUTVEUSVHV
      BBAABCGDBCUAFUDUEVDDURUFUGUHUIUJUKULUM $.

    $( Consequence of "at most one."  (Contributed by NM, 29-Jun-2008.) $)
    moi2 $p |- ( ( ( A e. B /\ E* x ph ) /\ ( ph /\ ps ) ) -> x = A ) $=
      ( wcel wmo wa cv wceq wb mob2 3expa biimprd impr ) DEGZACHZIZABCJDKZSAITB
      QRATBLABCDEFMNOP $.
  $}

  ${
    $d x A $.  $d x B $.  $d x ch $.  $d x ps $.
    moi.1 $e |- ( x = A -> ( ph <-> ps ) ) $.
    moi.2 $e |- ( x = B -> ( ph <-> ch ) ) $.
    $( Equality implied by "at most one."  (Contributed by NM, 18-Feb-2006.) $)
    mob $p |- ( ( ( A e. C /\ B e. D ) /\ E* x ph /\ ps ) ->
                ( A = B <-> ch ) ) $=
      ( wcel wa wmo wceq wb wi cvv elex w3a nfv cv nfcv nfmo1 nf3an nfim bibi1d
      3anbi3d eqeq1 imbi12d mob2 vtoclgf com12 3expib syl com3r imp 3impib ) EG
      KZFHKZLADMZBEFNZCOZURUSUTBLZVBPUSVCURVBUSFQKZVCURVBPZPFHRVDUTBVEURVDUTBSZ
      VBVDUTASZDUAZFNZCOZPVFVBPDEGDEUBVFVBDVDUTBDVDDTADUCBDTUDVBDTUEVHENZVGVFVJ
      VBVKABVDUTIUGVKVIVACVHEFUHUFUIACDFQJUJUKULUMUNUOUPUQ $.

    $( Equality implied by "at most one."  (Contributed by NM, 18-Feb-2006.) $)
    moi $p |- ( ( ( A e. C /\ B e. D ) /\ E* x ph /\ ( ps /\ ch ) ) ->
              A = B ) $=
      ( wcel wa wmo wceq wi w3a mob biimprd 3expia imp3a 3impia ) EGKFHKLZADMZB
      CLEFNZUBUCLBCUDUBUCBCUDOUBUCBPUDCABCDEFGHIJQRSTUA $.
  $}

  ${
    $d B x $.  $d A x $.  $d ps x $.
    morex.1 $e |- B e. _V $.
    morex.2 $e |- ( x = B -> ( ph <-> ps ) ) $.
    $( Derive membership from uniqueness.  (Contributed by Jeff Madsen,
       2-Sep-2009.) $)
    morex $p |- ( ( E. x e. A ph /\ E* x ph ) -> ( ps -> B e. A ) ) $=
      ( wmo wrex wcel wi cv wa wex df-rex exancom bitri wal nfmo1 nfe1 nfan syl
      mopick alrimi wceq eleq1 imbi12d spcv sylan2b ancoms ) ACHZACDIZBEDJZKZUL
      UKACLZDJZMZCNZUNULUPAMCNURACDOUPACPQUKURMZAUPKZCRUNUSUTCUKURCACSUQCTUAAUP
      CUCUDUTUNCEFUOEUEABUPUMGUOEDUFUGUHUBUIUJ $.
  $}

  ${
    $d x ph $.  $d x A $.
    euxfr2.1 $e |- A e. _V $.
    euxfr2.2 $e |- E* y x = A $.
    $( Transfer existential uniqueness from a variable ` x ` to another
       variable ` y ` contained in expression ` A ` .  (Contributed by NM,
       14-Nov-2004.) $)
    euxfr2 $p |- ( E! x E. y ( x = A /\ ph ) <-> E! y ph ) $=
      ( cv wceq wa wex weu wmo wi 2euswap moani ancom mobii mpbi mpg moeq biidd
      impbii ceqsexv eubii bitri ) BGDHZAIZCJBKZUGBJZCKZACKUHUJUGCLZUHUJMBUGBCN
      AUFIZCLUKUFACFOULUGCAUFPZQRSUGBLZUJUHMCUGCBNULBLUNUFABBDTOULUGBUMQRSUBUIA
      CAABDEUFAUAUCUDUE $.
  $}

  ${
    $d x ps $.  $d y ph $.  $d x A $.
    euxfr.1 $e |- A e. _V $.
    euxfr.2 $e |- E! y x = A $.
    euxfr.3 $e |- ( x = A -> ( ph <-> ps ) ) $.
    $( Transfer existential uniqueness from a variable ` x ` to another
       variable ` y ` contained in expression ` A ` .  (Contributed by NM,
       14-Nov-2004.) $)
    euxfr $p |- ( E! x ph <-> E! y ps ) $=
      ( weu cv wceq wa wex euex ax-mp biantrur 19.41v pm5.32i exbii 3bitr2i
      eubii eumoi euxfr2 bitri ) ACICJEKZBLZDMZCIBDIAUGCAUEDMZALUEALZDMUGUHAUED
      IUHGUEDNOPUEADQUIUFDUEABHRSTUABCDEFUEDGUBUCUD $.
  $}

  ${
    $d y z w ph $.  $d x z ps $.  $d y z w A $.  $d x z B $.  $d x y w $.
    euind.1 $e |- B e. _V $.
    euind.2 $e |- ( x = y -> ( ph <-> ps ) ) $.
    euind.3 $e |- ( x = y -> A = B ) $.
    $( Existential uniqueness via an indirect equality.  (Contributed by NM,
       11-Oct-2010.) $)
    euind $p |- ( ( A. x A. y ( ( ph /\ ps ) -> A = B ) /\ E. x ph )
                 -> E! z A. x ( ph -> z = A ) ) $=
      ( vw wa wceq wi wal wex cv exbii bitri imim2i cbvexv isseti 19.41v bitr3i
      weu biantrur excom wb eqeq2 bi2 imbi1i impexp 3bitr3i sylib 2alimi 19.23v
      an31 syl albii 19.21v eximdv syl5bi imp pm4.24 biimpi eqtr3 syl56 alanimi
      prth com12 syl5 alrimivv adantl eqeq1 imbi2d albidv eu4 sylanbrc ) ABLZFG
      MZNZDOCOZACPZLAEQZFMZNZCOZEPZWGAKQZFMZNZCOZLZWDWIMZNZKOEOZWGEUEWBWCWHWCWD
      GMZBLZDPZEPZWBWHWCBDPZWTABCDIUAXAWQEPZBLZDPZWTBXCDXBBEGHUBUFRXDWREPZDPWTX
      EXCDWQBEUCRWRDEUGUDSSWBWSWGEWBWRWFNZDOZCOZWSWGNZWAXFCDWAVSWEWQUHZNZXFVTXJ
      VSFGWDUITXKVSWQWENZNZXFXJXLVSWEWQUJTVSWQLZWENWRALZWENXMXFXNXOWEABWQUQUKVS
      WQWEULWRAWEULUMUNURUOXHWSWFNZCOXIXGXPCWRWFDUPUSWSWFCUTSUNVAVBVCWCWPWBWCWO
      EKWMAWNNZCOZWCWNWFWKXQCAAALZWFWKLWEWJLWNAXSAVDVEAWEAWJVIWDWIFVFVGVHXRWCWN
      XRWCWNNAWNCUPVEVJVKVLVMWGWLEKWNWFWKCWNWEWJAWDWIFVNVOVPVQVR $.
  $}

  ${
    $d x y A $.  $d x y B $.  $d y ph $.  $d x ps $.
    $( A way to express restricted uniqueness.  (Contributed by NM,
       22-Nov-1994.) $)
    reu2 $p |- ( E! x e. A ph <-> ( E. x e. A ph /\
               A. x e. A A. y e. A ( ( ph /\ [ y / x ] ph ) -> x = y ) ) ) $=
      ( cv wcel wa weu wex wsb wceq wi wal wreu nfv df-ral impexp albii 3bitr4i
      wral wrex eu2 df-reu df-rex 19.21v nfs1v nfan sbequ12 anbi12d sbie anbi2i
      eleq1 an4 bitri imbi1i 3bitri imbi2i bitr4i anbi12i ) BEZDFZAGZBHVBBIZVBV
      BBCJZGZUTCEZKZLZCMZBMZGABDNABDUAZAABCJZGZVGLZCDTZBDTZGVBBCVBCOUBABDUCVKVC
      VPVJABDUDVPVAVOLZBMVJVOBDPVIVQBVAVFDFZVNLZLZCMVAVSCMZLVIVQVAVSCUEVHVTCVHV
      AVRGZVMGZVGLWBVNLVTVEWCVGVEVBVRVLGZGWCVDWDVBVBWDBCVRVLBVRBOABCUFUGVGVAVRA
      VLUTVFDULABCUHUIUJUKVAAVRVLUMUNUOWBVMVGQVAVRVNQUPRVOWAVAVNCDPUQSRURUSS $.

    $( A way to express restricted uniqueness.  (Contributed by NM,
       20-Oct-2006.) $)
    reu6 $p |- ( E! x e. A ph <-> E. y e. A A. x e. A ( ph <-> x = y ) ) $=
      ( cv wcel wa wceq wb wal wex wi bi1 bi2 adantr impbid imim2i imp 3bitr4i
      ex wreu weu wral wrex df-reu wsb eleq1 sbequ12 anbi12d eqeq1 bibi12d eqid
      19.28v tbt simpl sylbir syl6bi spimv expdimp simpr syl6 sps jca a5i imp3a
      adantl eleq1a com23 adantll alimi impbii df-ral anbi2i exbii df-eu df-rex
      jcai bitri ) ABDUABEZDFZAGZBUBZAVSCEZHZIZBDUCZCDUDZABDUEWAWDIZBJZCKWCDFZW
      FGZCKWBWGWIWKCWJVTWELZGZBJZWJWLBJZGWIWKWJWLBUMWIWNWHWMBWIWJWLWHWJBCWDWHWJ
      ABCUFZGZWCWCHZIZWJWDWAWQWDWRWDVTWJAWPVSWCDUGABCUHUIVSWCWCUJUKWSWQWJWRWQWC
      ULUNWJWPUOUPUQURWHWLBWHVTWEWHVTGAWDWHVTAWDWAWDMUSWHWDALZVTWHWDWAAWAWDNVTA
      UTVAOPTVBVCVDWMWHBWMWAWDWLWAWDLWJWLVTAWDWEAWDLVTAWDMQVEVFWMWDWAWMWDGVTAWM
      WDVTWJWDVTLWLWCDVSVGORWLWDVTALZWJWLWDXAWLVTWDAWEWTVTAWDNQVHRVIVQTPVJVKWFW
      OWJWEBDVLVMSVNWABCVOWFCDVPSVR $.

    $( A way to express restricted uniqueness.  (Contributed by NM,
       24-Oct-2006.) $)
    reu3 $p |- ( E! x e. A ph <->
               ( E. x e. A ph /\ E. y e. A A. x e. A ( ph -> x = y ) ) ) $=
      ( wreu wrex cv wceq wi wral wa reurex wb reu6 bi1 ralimi reximi sylbi wex
      wal jca rexex anim2i weu nfv eu3 df-reu df-rex df-ral impexp albii bitr4i
      wcel exbii anbi12i 3bitr4i sylibr impbii ) ABDEZABDFZABGZCGHZIZBDJZCDFZKZ
      USUTVEABDLUSAVBMZBDJZCDFVEABCDNVHVDCDVGVCBDAVBOPQRUAVFUTVDCSZKZUSVEVIUTVD
      CDUBUCVADUMZAKZBUDVLBSZVLVBIZBTZCSZKUSVJVLBCVLCUEUFABDUGUTVMVIVPABDUHVDVO
      CVDVKVCIZBTVOVCBDUIVNVQBVKAVBUJUKULUNUOUPUQUR $.

    $( A condition which implies existential uniqueness.  (Contributed by Mario
       Carneiro, 2-Oct-2015.) $)
    reu6i $p |- ( ( B e. A /\ A. x e. A ( ph <-> x = B ) ) -> E! x e. A ph ) $=
      ( vy wcel cv wceq wb wral wa wrex wreu eqeq2 bibi2d ralbidv rspcev sylibr
      reu6 ) DCFABGZDHZIZBCJZKATEGZHZIZBCJZECLABCMUGUCEDCUDDHZUFUBBCUHUEUAAUDDT
      NOPQABECSR $.

    eqreu.1 $e |- ( x = B -> ( ph <-> ps ) ) $.
    $( A condition which implies existential uniqueness.  (Contributed by Mario
       Carneiro, 2-Oct-2015.) $)
    eqreu $p |- ( ( B e. A /\ ps /\ A. x e. A ( ph -> x = B ) ) ->
      E! x e. A ph ) $=
      ( wcel cv wceq wi wral wreu wa wb ralbiim ceqsralv anbi2d syl5bb reu6i ex
      sylbird 3impib 3com23 ) EDGZACHEIZJCDKZBACDLZUDUFBUGUDUFBMZAUENCDKZUGUIUF
      UEAJCDKZMUDUHAUECDOUDUJBUFABCEDFPQRUDUIUGACDESTUAUBUC $.
  $}

  ${
    $d x y z A $.  $d y z ph $.  $d x z ps $.
    rmo4.1 $e |- ( x = y -> ( ph <-> ps ) ) $.
    $( Restricted "at most one" using implicit substitution.  (Contributed by
       NM, 24-Oct-2006.)  (Revised by NM, 16-Jun-2017.) $)
    rmo4 $p |- ( E* x e. A ph <->
               A. x e. A A. y e. A ( ( ph /\ ps ) -> x = y ) ) $=
      ( wrmo cv wcel wa wmo weq wi wral df-rmo wal bitri impexp albii df-ral
      an4 ancom anbi1i imbi1i 3bitri r19.21v 3bitr2i eleq1 anbi12d mo4 3bitr4i
      ) ACEGCHZEIZAJZCKZABJZCDLZMZDENZCENZACEOUNDHZEIZBJZJZUQMZDPZCPUMUSMZCPUOU
      TVFVGCVFVBUMURMZMZDPVHDENVGVEVIDVEVBUMJZUPJZUQMVJURMVIVDVKUQVDUMVBJZUPJVK
      UMAVBBUAVLVJUPUMVBUBUCQUDVJUPUQRVBUMURRUESVHDETUMURDEUFUGSUNVCCDUQUMVBABU
      LVAEUHFUIUJUSCETUKQ $.

    $( Restricted uniqueness using implicit substitution.  (Contributed by NM,
       23-Nov-1994.) $)
    reu4 $p |- ( E! x e. A ph <-> ( E. x e. A ph /\
             A. x e. A A. y e. A ( ( ph /\ ps ) -> x = y ) ) ) $=
      ( wreu wrex wrmo wa weq wi wral reu5 rmo4 anbi2i bitri ) ACEGACEHZACEIZJR
      ABJCDKLDEMCEMZJACENSTRABCDEFOPQ $.

    $( Restricted uniqueness using implicit substitution.  (Contributed by NM,
       24-Oct-2006.) $)
    reu7 $p |- ( E! x e. A ph <-> ( E. x e. A ph /\
             E. x e. A A. y e. A ( ps -> x = y ) ) ) $=
      ( vz wreu wrex cv wceq wi wral wa reu3 eqeq1 eqcom syl6bb imbi12d bitri
      cbvralv rexbii imbi2d ralbidv cbvrexv anbi2i ) ACEHACEIZACJZGJZKZLZCEMZGE
      IZNUGBUHDJZKZLZDEMZCEIZNACGEOUMURUGUMBUIUNKZLZDEMZGEIURULVAGEUKUTCDEUOABU
      JUSFUOUJUNUIKUSUHUNUIPUNUIQRSUAUBVAUQGCEUIUHKZUTUPDEVBUSUOBUIUHUNPUCUDUET
      UFT $.

    $( Restricted uniqueness using implicit substitution.  (Contributed by NM,
       24-Oct-2006.) $)
    reu8 $p |- ( E! x e. A ph <-> E. x e. A ( ph /\
                A. y e. A ( ps -> x = y ) ) ) $=
      ( wreu cv wceq wb wral wrex wi wa cbvreuv reu6 wcel ralbii wal syl5bb a1i
      dfbi2 ancom equcom imbi2i biimt df-ral bi2.04 albii eleq1 imbi12d equcoms
      vex bicomd ceqsalv 3bitrri syl6bb anbi12d r19.26 syl6rbbr rexbiia 3bitri
      ) ACEGBDEGBDHZCHZIZJZDEKZCELABVDVCIZMZDEKZNZCELABCDEFOBDCEPVGVKCEVGBVEMZV
      EBMZNZDEKZVDEQZVKVFVNDEBVEUBRVPVKVLDEKZVMDEKZNZVOVKVJANVPVSAVJUCVPVJVQAVR
      VJVQJVPVIVLDEVHVEBCDUDUERUAVPAVPAMZVRVPAUFVRVCEQZVMMZDSVEWABMZMZDSVTVMDEU
      GWBWDDWAVEBUHUIWCVTDVDCUMWCVTJCDVHVTWCVHVPWAABVDVCEUJFUKUNULUOUPUQURTVLVM
      DEUSUTTVAVB $.
  $}

  ${
    $d x A $.  $d x B $.
    $( Equality has existential uniqueness.  (Contributed by Mario Carneiro,
       1-Sep-2015.) $)
    reueq $p |- ( B e. A <-> E! x e. A x = B ) $=
      ( wcel cv wceq wrex wreu risset wrmo wmo moeq mormo ax-mp mpbiran2 bitr4i
      reu5 ) CBDAECFZABGZRABHZACBITSRABJZRAKUAACLRABMNRABQOP $.
  $}

  $( Restricted "at most one" still holds when a conjunct is added.
     (Contributed by NM, 16-Jun-2017.) $)
  rmoan $p |- ( E* x e. A ph -> E* x e. A ( ps /\ ph ) ) $=
    ( cv wcel wa wmo wrmo moan an12 mobii sylib df-rmo 3imtr4i ) CEDFZAGZCHZPBA
    GZGZCHZACDISCDIRBQGZCHUAQBCJUBTCBPAKLMACDNSCDNO $.

  $( Restricted "at most one" is preserved through implication (note wff
     reversal).  (Contributed by Alexander van der Vekens, 17-Jun-2017.) $)
  rmoim $p |- ( A. x e. A ( ph -> ps )
        -> ( E* x e. A ps -> E* x e. A ph ) ) $=
    ( wi wral cv wcel wa wal wrmo df-ral imdistan albii wmo moim df-rmo 3imtr4g
    bitri sylbi ) ABEZCDFZCGDHZAIZUCBIZEZCJZBCDKZACDKZEUBUCUAEZCJUGUACDLUJUFCUC
    ABMNSUGUECOUDCOUHUIUDUECPBCDQACDQRT $.

  ${
    rmoimia.1 $e |- ( x e. A -> ( ph -> ps ) ) $.
    $( Restricted "at most one" is preserved through implication (note wff
       reversal).  (Contributed by Alexander van der Vekens, 17-Jun-2017.) $)
    rmoimia $p |- ( E* x e. A ps -> E* x e. A ph ) $=
      ( wi wrmo rmoim mprg ) ABFBCDGACDGFCDABCDHEI $.
  $}

  ${
    rmoimi2.1 $e |- A. x ( ( x e. A /\ ph ) -> ( x e. B /\ ps ) ) $.
    $( Restricted "at most one" is preserved through implication (note wff
       reversal).  (Contributed by Alexander van der Vekens, 17-Jun-2017.) $)
    rmoimi2 $p |- ( E* x e. B ps -> E* x e. A ph ) $=
      ( cv wcel wa wmo wrmo wi wal moim ax-mp df-rmo 3imtr4i ) CGZEHBIZCJZRDHAI
      ZCJZBCEKACDKUASLCMTUBLFUASCNOBCEPACDPQ $.
  $}

  ${
    $d x y A $.  $d x B $.
    $( A condition allowing swap of uniqueness and existential quantifiers.
       (Contributed by Thierry Arnoux, 7-Apr-2017.)  (Revised by NM,
       16-Jun-2017.) $)
    2reuswap $p |- ( A. x e. A E* y e. B ph ->
                   ( E! x e. A E. y e. B ph -> E! y e. B E. x e. A ph ) ) $=
      ( wral cv wcel wa wmo wrex wreu wal wex weu df-reu r19.42v df-rex bitri
      wi wrmo df-rmo ralbii df-ral moanimv albii bitr4i bitr3i an12 exbii eubii
      2euswap 3imtr4g sylbi ) ACEUAZBDFCGEHZAIZCJZBDFZACEKZBDLZABDKZCELZTZUOURB
      DACEUBUCUSBGDHZUQIZCJZBMZVDUSVEURTZBMVHURBDUDVGVIBVEUQCUEUFUGVHVFCNZBOZVF
      BNZCOZVAVCVFBCULVAVEUTIZBOVKUTBDPVNVJBVNUPVEAIZIZCNZVJVNVOCEKVQVEACEQVOCE
      RUHVPVFCUPVEAUIUJSUKSVCUPVBIZCOVMVBCEPVRVLCVRUQBDKVLUPABDQUQBDRUHUKSUMUNU
      N $.
  $}

  ${
    $d w y z A $.  $d x z B $.  $d w x y z C $.  $d w y z ph $.  $d x z ps $.
    reuind.1 $e |- ( x = y -> ( ph <-> ps ) ) $.
    reuind.2 $e |- ( x = y -> A = B ) $.
    $( Existential uniqueness via an indirect equality.  (Contributed by NM,
       16-Oct-2010.) $)
    reuind $p |- ( ( A. x A. y ( ( ( A e. C /\ ph ) /\ ( B e. C /\ ps ) )
         -> A = B ) /\ E. x ( A e. C /\ ph ) )
                 -> E! z e. C A. x ( ( A e. C /\ ph ) -> z = A ) ) $=
      ( vw wcel wa wceq wi wal wex cv wrex bitri wral wreu eleq1d anbi12d exbii
      cbvexv r19.41v rexcom4 risset anbi1i 3bitr4ri wb eqeq2 imim2i an31 imbi1i
      bi2 impexp 3bitr3i sylib 2alimi 19.23v an12 adantr pm5.32ri bitr4i 19.42v
      syl eleq1 albii 19.21v exp3a reximdvai syl5bi imp pm4.24 prth eqtr3 syl56
      biimpi alanimi com12 syl5 a1d ralrimivv adantl eqeq1 imbi2d reu4 sylanbrc
      albidv ) FHLZAMZGHLZBMZMZFGNZOZDPCPZWMCQZMWMERZFNZOZCPZEHSZXDWMKRZFNZOZCP
      ZMZXAXFNZOZKHUAEHUAZXDEHUBWSWTXEWTXAGNZBMZDQZEHSZWSXEWTWODQZXQWMWOCDCRDRN
      ZWLWNABXSFGHJUCIUDUFXOEHSZDQXNEHSZBMZDQXQXRXTYBDXNBEHUGUEXOEDHUHWOYBDWNYA
      BEGHUIUJUEUKTWSXPXDEHWSXAHLZXPXDWSXNWOMZXCOZDPZCPZYCXPMZXDOZWRYECDWRWPXBX
      NULZOZYEWQYJWPFGXAUMUNYKWPXNXBOZOZYEYJYLWPXBXNUQUNWPXNMZXBOYDWMMZXBOYMYEY
      NYOXBWMWOXNUOUPWPXNXBURYDWMXBURUSUTVHVAYGYHXCOZCPYIYFYPCYFYDDQZXCOYPYDXCD
      VBYQYHXCYQYCXOMZDQYHYDYRDYDWNXOMYRXNWNBVCXOYCWNXNYCWNULBXAGHVIVDVEVFUEYCX
      ODVGTUPTVJYHXCCVKTUTVLVMVNVOWTXMWSWTXLEKHHWTXLYCXFHLMXJWMXKOZCPZWTXKXCXHY
      SCWMWMWMMZXCXHMXBXGMXKWMUUAWMVPVTWMXBWMXGVQXAXFFVRVSWAYTWTXKYTWTXKOWMXKCV
      BVTWBWCWDWEWFXDXIEKHXKXCXHCXKXBXGWMXAXFFWGWHWKWIWJ $.
  $}

  ${
    $d y A $.  $d x B $.  $d x y $.
    $( Double restricted quantification with "at most one," analogous to
       ~ 2moex .  (Contributed by Alexander van der Vekens, 17-Jun-2017.) $)
    2rmorex $p |- ( E* x e. A E. y e. B ph -> A. y e. B E* x e. A ph ) $=
      ( wrex wrmo nfcv nfre1 nfrmo cv wcel wi wral ex ralrimivw rmoim syl com12
      rspe ralrimi ) ACEFZBDGZABDGZCEUBCBDCDHACEIJCKELZUCUDUEAUBMZBDNUCUDMUEUFB
      DUEAUBACETOPAUBBDQRSUA $.

    $( Lemma for ~ 2reu5 .  Note that ` E! x e. A E! y e. B ph ` does not mean
       "there is exactly one ` x ` in ` A ` and exactly one ` y ` in ` B ` such
       that ` ph ` holds;" see comment for ~ 2eu5 .  (Contributed by Alexander
       van der Vekens, 17-Jun-2017.) $)
    2reu5lem1 $p |- ( E! x e. A E! y e. B ph <->
                   E! x E! y ( x e. A /\ y e. B /\ ph ) ) $=
      ( wreu cv wcel wa weu w3a df-reu reubii euanv bicomi 3anass eubii bitri )
      ACEFZBDFCGEHZAIZCJZBDFZBGDHZTAKZCJZBJZSUBBDACELMUCUDUBIZBJUGUBBDLUHUFBUHU
      DUAIZCJZUFUJUHUDUACNOUIUECUEUIUDTAPOQRQRR $.

    $( Lemma for ~ 2reu5 .  (Contributed by Alexander van der Vekens,
       17-Jun-2017.) $)
    2reu5lem2 $p |- ( A. x e. A E* y e. B ph <->
                   A. x E* y ( x e. A /\ y e. B /\ ph ) ) $=
      ( wrmo wral cv wcel wa wmo w3a wal df-rmo ralbii wi df-ral moanimv bicomi
      bitri 3anass mobii albii ) ACEFZBDGCHEIZAJZCKZBDGZBHDIZUEALZCKZBMZUDUGBDA
      CENOUHUIUGPZBMULUGBDQUMUKBUMUIUFJZCKZUKUOUMUIUFCRSUNUJCUJUNUIUEAUASUBTUCT
      T $.
  $}

  ${
    $d w y z A $.  $d w x z B $.  $d x y $.  $d ph w $.  $d ph z $.
    $( Lemma for ~ 2reu5 .  This lemma is interesting in its own right, showing
       that existential restriction in the last conjunct (the "at most one"
       part) is optional; compare ~ rmo2 .  (Contributed by Alexander van der
       Vekens, 17-Jun-2017.) $)
    2reu5lem3 $p |- ( ( E! x e. A E! y e. B ph /\ A. x e. A E* y e. B ph )
                   <-> ( E. x e. A E. y e. B ph
                         /\ E. z E. w A. x e. A A. y e. B
                            ( ph -> ( x = z /\ y = w ) ) ) ) $=
      ( wreu wral wa cv wcel weu wal wex weq wi wrex exbii 3bitri w3a 2reu5lem1
      wrmo wmo 2reu5lem2 anbi12i 2eu5 3anass 19.42v df-rex bicomi anbi2i bitr4i
      3anan12 imbi1i impexp imbi2i albii df-ral r19.21v 3bitr2i ) ACGHBFHZACGUC
      BFIZJBKFLZCKGLZAUAZCMBMZVFCUDBNZJVFCOZBOZVFBDPCEPJZQZCNZBNZEOZDOZJACGRZBF
      RZAVKQZCGIZBFIZEOZDOZJVBVGVCVHABCFGUBABCFGUEUFVFBCDEUGVJVRVPWCVJVDVQJZBOV
      RVIWDBVIVDVEAJZJZCOVDWECOZJWDVFWFCVDVEAUHSVDWECUIWGVQVDVQWGACGUJUKULTSVQB
      FUJUMVOWBDVNWAEVNVDVTQZBNWAVMWHBVMVEVDVSQZQZCNWICGIWHVLWJCVLVEVDAJZJZVKQV
      EWKVKQZQWJVFWLVKVDVEAUNUOVEWKVKUPWMWIVEVDAVKUPUQTURWICGUSVDVSCGUTVAURVTBF
      USUMSSUFT $.

    $d x A $.  $d y B $.
    $( Double restricted existential uniqueness in terms of restricted
       existential quantification and restricted universal quantification,
       analogous to ~ 2eu5 and ~ reu3 .  (Contributed by Alexander van der
       Vekens, 17-Jun-2017.) $)
    2reu5 $p |- ( ( E! x e. A E! y e. B ph /\ A. x e. A E* y e. B ph )
                  <-> ( E. x e. A E. y e. B ph
                        /\ E. z e. A E. w e. B A. x e. A A. y e. B
                           ( ph -> ( x = z /\ y = w ) ) ) ) $=
      ( wrex weq wa wral wex cv wcel wreu r19.29r reximi eleq1 ex df-rex pm3.35
      wi wrmo bi2anan9 biimpac ancomd rexlimivv syl 3syl pm4.71rd anass 2exbidv
      syl6bb pm5.32i 2reu5lem3 r19.42v bitr3i exbii bitri anbi2i 3bitr4i ) ACGH
      ZBFHZABDIZCEIZJZUBZCGKZBFKZELDLZJVCEMZGNZDMZFNZVIJZJZELZDLZJACGOBFOACGUCB
      FKJVCVIEGHZDFHZJVCVJVRVCVIVPDEVCVIVLVNJZVIJVPVCVIWAVCVIWAVCVIJVBVHJZBFHAV
      GJZCGHZBFHZWAVBVHBFPWBWDBFAVGCGPQWEVFCGHZBFHWAWDWFBFWCVFCGAVFUAQQVFWABCFG
      BMZFNZCMZGNZJZVFWAWKVFJVNVLVFWKVNVLJVDWHVNVEWJVLWGVMFRWIVKGRUDUEUFSUGUHUI
      SUJVLVNVIUKUMULUNABCDEFGUOVTVRVCVTVNVSJZDLVRVSDFTWLVQDWLVOEGHVQVNVIEGUPVO
      EGTUQURUSUTVA $.
  $}

$(
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
                    Russell's Paradox
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
$)

  ${
    $d x y $.
    $( Russell's Paradox.  Proposition 4.14 of [TakeutiZaring] p. 14.

       In the late 1800s, Frege's Axiom of (unrestricted) Comprehension,
       expressed in our notation as ` A e. _V ` , asserted that any collection
       of sets ` A ` is a set i.e. belongs to the universe ` _V ` of all sets.
       In particular, by substituting ` { x | x e/ x } ` (the "Russell class")
       for ` A ` , it asserted ` { x | x e/ x } e. _V ` , meaning that the
       "collection of all sets which are not members of themselves" is a set.
       However, here we prove ` { x | x e/ x } e/ _V ` .  This contradiction
       was discovered by Russell in 1901 (published in 1903), invalidating the
       Comprehension Axiom and leading to the collapse of Frege's system.

       In 1908, Zermelo rectified this fatal flaw by replacing Comprehension
       with a weaker Subset (or Separation) Axiom ssex in set.mm asserting that
       ` A ` is a set only when it is smaller than some other set ` B ` .
       However, Zermelo was then faced with a "chicken and egg" problem of how
       to show ` B ` is a set, leading him to introduce the set-building axioms
       of Null Set ~ 0ex , Pairing ~ prex , Union ~ uniex , Power Set ~ pwex ,
       and Infinity omex in set.mm to give him some starting sets to work with
       (all of which, before Russell's Paradox, were immediate consequences of
       Frege's Comprehension).  In 1922 Fraenkel strengthened the Subset Axiom
       with our present Replacement Axiom funimaex in set.mm (whose modern
       formalization is due to Skolem, also in 1922).  Thus, in a very real
       sense Russell's Paradox spawned the invention of ZF set theory and
       completely revised the foundations of mathematics!

       Another mainstream formalization of set theory, devised by von Neumann,
       Bernays, and Goedel, uses class variables rather than setvar variables
       as its primitives.  The axiom system NBG in [Mendelson] p. 225 is
       suitable for a Metamath encoding.  NBG is a conservative extension of ZF
       in that it proves exactly the same theorems as ZF that are expressible
       in the language of ZF. An advantage of NBG is that it is finitely
       axiomatizable - the Axiom of Replacement can be broken down into a
       finite set of formulas that eliminate its wff metavariable.  Finite
       axiomatizability is required by some proof languages (although not by
       Metamath).  There is a stronger version of NBG called Morse-Kelley
       (axiom system MK in [Mendelson] p. 287).

       Russell himself continued in a different direction, avoiding the paradox
       with his "theory of types."  Quine extended Russell's ideas to formulate
       his New Foundations set theory (axiom system NF of [Quine] p. 331).  In
       NF, the collection of all sets is a set, contradicting ZF and NBG set
       theories, and it has other bizarre consequences: when sets become too
       huge (beyond the size of those used in standard mathematics), the Axiom
       of Choice ac4 in set.mm and Cantor's Theorem canth in set.mm are
       provably false!  (See ncanth in set.mm for some intuition behind the
       latter.)  Recent results (as of 2014) seem to show that NF is
       equiconsistent to Z (ZF in which ax-sep in set.mm replaces ax-rep in
       set.mm) with ax-sep restricted to only bounded quantifiers.  NF is
       finitely axiomatizable and can be encoded in Metamath using the axioms
       from T. Hailperin, "A set of axioms for logic," _J. Symb.  Logic_ 9:1-19
       (1944).

       Under ZF set theory, every set is a member of the Russell class by
       elirrv in set.mm (derived from the Axiom of Regularity), so for us the
       Russell class equals the universe ` _V ` (theorem ruv in set.mm).  See
       ruALT in set.mm for an alternate proof of ~ ru derived from that fact.
       (Contributed by NM, 7-Aug-1994.) $)
    ru $p |- { x | x e/ x } e/ _V $=
      ( vy cv wnel cab cvv wcel wn wceq wex wb wal pm5.19 df-nel eleq12d notbid
      eleq1 id syl5bb mtbir bibi12d spv mto abeq2 nex isset mpbir ) ACZUHDZAEZF
      DUJFGZHUKBCZUJIZBJUMBUMUHULGZUIKZALZUPULULGZUQHZKZUQMUOUSABUHULIZUNUQUIUR
      UHULULQUIUHUHGZHUTURUHUHNUTVAUQUTUHULUHULUTRZVBOPSUAUBUCUIAULUDTUEBUJUFTU
      JFNUG $.
  $}

$(
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
        Proper substitution of classes for sets
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
$)

  $c [. $.
  $c ]. $.

  $( Extend wff notation to include the proper substitution of a class for a
     set.  Read this notation as "the proper substitution of class ` A ` for
     setvar variable ` x ` in wff ` ph ` ." $)
  wsbc $a wff [. A / x ]. ph $.

  $( Define the proper substitution of a class for a set.

     When ` A ` is a proper class, our definition evaluates to false.  This is
     somewhat arbitrary: we could have, instead, chosen the conclusion of
     ~ sbc6 for our definition, which always evaluates to true for proper
     classes.

     Our definition also does not produce the same results as discussed in the
     proof of Theorem 6.6 of [Quine] p. 42 (although Theorem 6.6 itself does
     hold, as shown by ~ dfsbcq below).  For example, if ` A ` is a proper
     class, Quine's substitution of ` A ` for ` y ` in 0 ` e. y ` evaluates to
     0 ` e. A ` rather than our falsehood.  (This can be seen by substituting
     ` A ` , ` y ` , and 0 for alpha, beta, and gamma in Subcase 1 of Quine's
     discussion on p. 42.)  Unfortunately, Quine's definition requires a
     recursive syntactical breakdown of ` ph ` , and it does not seem possible
     to express it with a single closed formula.

     If we did not want to commit to any specific proper class behavior, we
     could use this definition _only_ to prove theorem ~ dfsbcq , which holds
     for both our definition and Quine's, and from which we can derive a weaker
     version of ~ df-sbc in the form of ~ sbc8g .  However, the behavior of
     Quine's definition at proper classes is similarly arbitrary, and for
     practical reasons (to avoid having to prove sethood of ` A ` in every use
     of this definition) we allow direct reference to ~ df-sbc and assert that
     ` [. A / x ]. ph ` is always false when ` A ` is a proper class.

     The theorem ~ sbc2or shows the apparently "strongest" statement we can
     make regarding behavior at proper classes if we start from ~ dfsbcq .

     The related definition ~ df-csb defines proper substitution into a class
     variable (as opposed to a wff variable).  (Contributed by NM,
     14-Apr-1995.)  (Revised by NM, 25-Dec-2016.) $)
  df-sbc $a |- ( [. A / x ]. ph <-> A e. { x | ph } ) $.

  $( --- Start of old code before overloading prevention patch. $)
  $(
  @( Extend wff notation to include the proper substitution of a class for a
     set.  This definition "overloads" the previously defined variable
     substitution ~ wsb (where the first argument is a setvar variable rather
     than a class variable).  We take care to ensure that this new definition
     is a conservative extension.  Read this notation as "the proper
     substitution of class ` A ` for setvar variable ` x ` in wff ` ph ` ." @)
  wsbcSBC @a wff [ A / x ] ph @.
  $)
  $( --- End of old code before overloading prevention patch. $)

  $( This theorem, which is similar to Theorem 6.7 of [Quine] p. 42 and holds
     under both our definition and Quine's, provides us with a weak definition
     of the proper substitution of a class for a set.  Since our ~ df-sbc does
     not result in the same behavior as Quine's for proper classes, if we
     wished to avoid conflict with Quine's definition we could start with this
     theorem and ~ dfsbcq2 instead of ~ df-sbc .  ( ~ dfsbcq2 is needed because
     unlike Quine we do not overload the ~ df-sb syntax.)  As a consequence of
     these theorems, we can derive ~ sbc8g , which is a weaker version of
     ~ df-sbc that leaves substitution undefined when ` A ` is a proper class.

     However, it is often a nuisance to have to prove the sethood hypothesis of
     ~ sbc8g , so we will allow direct use of ~ df-sbc after theorem ~ sbc2or
     below.  Proper substiution with a proper class is rarely needed, and when
     it is, we can simply use the expansion of Quine's definition.
     (Contributed by NM, 14-Apr-1995.) $)
  dfsbcq $p |- ( A = B -> ( [. A / x ]. ph <-> [. B / x ]. ph ) ) $=
    ( wceq cab wcel wsbc eleq1 df-sbc 3bitr4g ) CDECABFZGDLGABCHABDHCDLIABCJABD
    JK $.

  $( This theorem, which is similar to Theorem 6.7 of [Quine] p. 42 and holds
     under both our definition and Quine's, relates logic substitution ~ df-sb
     and substitution for class variables ~ df-sbc .  Unlike Quine, we use a
     different syntax for each in order to avoid overloading it.  See remarks
     in ~ dfsbcq .  (Contributed by NM, 31-Dec-2016.) $)
  dfsbcq2 $p |- ( y = A -> ( [ y / x ] ph <-> [. A / x ]. ph ) ) $=
    ( cv wceq cab wcel wsb wsbc eleq1 df-clab df-sbc bicomi 3bitr3g ) CEZDFPABG
    ZHDQHZABCIABDJZPDQKACBLSRABDMNO $.

  $( Show that ~ df-sb and ~ df-sbc are equivalent when the class term ` A ` in
     ~ df-sbc is a setvar variable.  This theorem lets us reuse theorems based
     on ~ df-sb for proofs involving ~ df-sbc .  (Contributed by NM,
     31-Dec-2016.)  (Proof modification is discouraged.) $)
  sbsbc $p |- ( [ y / x ] ph <-> [. y / x ]. ph ) $=
    ( weq wsb cv wsbc wb eqid dfsbcq2 ax-mp ) CCDABCEABCFZGHLIABCLJK $.

  ${
    sbceq1d.1 $e |- ( ph -> A = B ) $.
    $( Equality theorem for class substitution.  (Contributed by Mario
       Carneiro, 9-Feb-2017.) $)
    sbceq1d $p |- ( ph -> ( [. A / x ]. ph <-> [. B / x ]. ph ) ) $=
      ( wceq wsbc wb dfsbcq syl ) ACDFABCGABDGHEABCDIJ $.

    sbceq1dd.2 $e |- ( ph -> [. A / x ]. ph ) $.
    $( Equality theorem for class substitution.  (Contributed by Mario
       Carneiro, 9-Feb-2017.) $)
    sbceq1dd $p |- ( ph -> [. B / x ]. ph ) $=
      ( wsbc sbceq1d mpbid ) AABCGABDGFABCDEHI $.
  $}

  ${
    $d y A $.  $d y ph $.  $d x y $.
    $( This is the closest we can get to ~ df-sbc if we start from ~ dfsbcq
       (see its comments) and ~ dfsbcq2 .  (Contributed by NM, 18-Nov-2008.)
       (Proof shortened by Andrew Salmon, 29-Jun-2011.)
       (Proof modification is discouraged.) $)
    sbc8g $p |- ( A e. V -> ( [. A / x ]. ph <-> A e. { x | ph } ) ) $=
      ( vy cv wsbc cab wcel dfsbcq eleq1 wsb df-clab weq wb equid dfsbcq2 ax-mp
      bitr2i vtoclbg ) ABEFZGZUAABHZIZABCGCUCIECDABUACJUACUCKUDABELZUBAEBMEENUE
      UBOEPABEUAQRST $.
  $}

  ${
    $d x y A $.  $d y ph $.
    $( The disjunction of two equivalences for class substitution does not
       require a class existence hypothesis.  This theorem tells us that there
       are only 2 possibilities for ` [ A / x ] ph ` behavior at proper
       classes, matching the ~ sbc5 (false) and ~ sbc6 (true) conclusions.
       This is interesting since ~ dfsbcq and ~ dfsbcq2 (from which it is
       derived) do not appear to say anything obvious about proper class
       behavior.  Note that this theorem doesn't tell us that it is always one
       or the other at proper classes; it could "flip" between false (the first
       disjunct) and true (the second disjunct) as a function of some other
       variable ` y ` that ` ph ` or ` A ` may contain.  (Contributed by NM,
       11-Oct-2004.)  (Proof modification is discouraged.) $)
    sbc2or $p |- ( ( [. A / x ]. ph <-> E. x ( x = A /\ ph ) ) \/
                  ( [. A / x ]. ph <-> A. x ( x = A -> ph ) ) ) $=
      ( vy cvv wcel wsbc cv wceq wa wex wb wi wal wo wsb weq wn mpbii con3i sb5
      dfsbcq2 eqeq2 anbi1d exbidv vtoclbg pm5.15 vex eleq1 adantr nexdv pm2.21d
      orcd alrimiv 2thd bibi2d orbi2d pm2.61i ) CEFZABCGZBHZCIZAJZBKZLZUTVBAMZB
      NZLZOZUSVEVHABDPBDQZAJZBKUTVDDCEABDCUBDHZCIZVKVCBVMVJVBAVLCVAUCUDUEABDUAU
      FUMUSRZVEUTVDRZLZOVIUTVDUGVNVPVHVEVNVOVGUTVNVOVGVNVCBVCUSVBUSAVBVAEFUSBUH
      VACEUISZUJTUKVNVFBVNVBAVBUSVQTULUNUOUPUQSUR $.
  $}

  $( By our definition of proper substitution, it can only be true if the
     substituted expression is a set.  (Contributed by Mario Carneiro,
     13-Oct-2016.) $)
  sbcex $p |- ( [. A / x ]. ph -> A e. _V ) $=
    ( wsbc cab wcel cvv df-sbc elex sylbi ) ABCDCABEZFCGFABCHCKIJ $.

  $( Equality theorem for class substitution.  Class version of ~ sbequ12 .
     (Contributed by NM, 26-Sep-2003.) $)
  sbceq1a $p |- ( x = A -> ( ph <-> [. A / x ]. ph ) ) $=
    ( wsb cv wceq wsbc sbid dfsbcq2 syl5bbr ) AABBDBECFABCGABHABBCIJ $.

  $( Equality theorem for class substitution.  Class version of ~ sbequ12r .
     (Contributed by NM, 4-Jan-2017.) $)
  sbceq2a $p |- ( A = x -> ( [. A / x ]. ph <-> ph ) ) $=
    ( cv wceq wsbc wb sbceq1a eqcoms bicomd ) CBDZEAABCFZALGKCABCHIJ $.

  ${
    $d ph y $.  $d A y $.  $d x y $.
    $( Specialization: if a formula is true for all sets, it is true for any
       class which is a set.  Similar to Theorem 6.11 of [Quine] p. 44.  See
       also ~ stdpc4 and ~ rspsbc .  (Contributed by NM, 16-Jan-2004.) $)
    spsbc $p |- ( A e. V -> ( A. x ph -> [. A / x ]. ph ) ) $=
      ( vy wal wsbc wi cv wceq wsb stdpc4 sbsbc sylib dfsbcq syl5ib vtocleg ) A
      BFZABCGZHECDRABEIZGZTCJSRABEKUAABELABEMNABTCOPQ $.

    spsbcd.1 $e |- ( ph -> A e. V ) $.
    spsbcd.2 $e |- ( ph -> A. x ps ) $.
    $( Specialization: if a formula is true for all sets, it is true for any
       class which is a set.  Similar to Theorem 6.11 of [Quine] p. 44.  See
       also ~ stdpc4 and ~ rspsbc .  (Contributed by Mario Carneiro,
       9-Feb-2017.) $)
    spsbcd $p |- ( ph -> [. A / x ]. ps ) $=
      ( wcel wal wsbc spsbc sylc ) ADEHBCIBCDJFGBCDEKL $.
  $}

  ${
    sbcth.1 $e |- ph $.
    $( A substitution into a theorem remains true (when ` A ` is a set).
       (Contributed by NM, 5-Nov-2005.) $)
    sbcth $p |- ( A e. V -> [. A / x ]. ph ) $=
      ( wcel wal wsbc ax-gen spsbc mpi ) CDFABGABCHABEIABCDJK $.
  $}

  ${
    $d x ph $.
    sbcthdv.1 $e |- ( ph -> ps ) $.
    $( Deduction version of ~ sbcth .  (Contributed by NM, 30-Nov-2005.)
       (Proof shortened by Andrew Salmon, 8-Jun-2011.) $)
    sbcthdv $p |- ( ( ph /\ A e. V ) -> [. A / x ]. ps ) $=
      ( wal wcel wsbc alrimiv spsbc mpan9 ) ABCGDEHBCDIABCFJBCDEKL $.
  $}

  $( An identity theorem for substitution.  See ~ sbid .  (Contributed by Mario
     Carneiro, 18-Feb-2017.) $)
  sbcid $p |- ( [. x / x ]. ph <-> ph )
    $=
    ( cv wsbc wsb sbsbc sbid bitr3i ) ABBCDABBEAABBFABGH $.

  ${
    nfsbc1d.2 $e |- ( ph -> F/_ x A ) $.
    $( Deduction version of ~ nfsbc1 .  (Contributed by NM, 23-May-2006.)
       (Revised by Mario Carneiro, 12-Oct-2016.) $)
    nfsbc1d $p |- ( ph -> F/ x [. A / x ]. ps ) $=
      ( wsbc cab wcel df-sbc wnfc nfab1 a1i nfeld nfxfrd ) BCDFDBCGZHACBCDIACDO
      ECOJABCKLMN $.
  $}

  ${
    nfsbc1.1 $e |- F/_ x A $.
    $( Bound-variable hypothesis builder for class substitution.  (Contributed
       by Mario Carneiro, 12-Oct-2016.) $)
    nfsbc1 $p |- F/ x [. A / x ]. ph $=
      ( wsbc wnf wtru wnfc a1i nfsbc1d trud ) ABCEBFGABCBCHGDIJK $.
  $}

  ${
    $d x A $.
    $( Bound-variable hypothesis builder for class substitution.  (Contributed
       by Mario Carneiro, 12-Oct-2016.) $)
    nfsbc1v $p |- F/ x [. A / x ]. ph $=
      ( nfcv nfsbc1 ) ABCBCDE $.
  $}

  ${
    nfsbcd.1 $e |- F/ y ph $.
    nfsbcd.2 $e |- ( ph -> F/_ x A ) $.
    nfsbcd.3 $e |- ( ph -> F/ x ps ) $.
    $( Deduction version of ~ nfsbc .  (Contributed by NM, 23-Nov-2005.)
       (Revised by Mario Carneiro, 12-Oct-2016.) $)
    nfsbcd $p |- ( ph -> F/ x [. A / y ]. ps ) $=
      ( wsbc cab wcel df-sbc nfabd nfeld nfxfrd ) BDEIEBDJZKACBDELACEPGABCDFHMN
      O $.
  $}

  ${
    nfsbc.1 $e |- F/_ x A $.
    nfsbc.2 $e |- F/ x ph $.
    $( Bound-variable hypothesis builder for class substitution.  (Contributed
       by NM, 7-Sep-2014.)  (Revised by Mario Carneiro, 12-Oct-2016.) $)
    nfsbc $p |- F/ x [. A / y ]. ph $=
      ( wsbc wnf wtru nftru wnfc a1i nfsbcd trud ) ACDGBHIABCDCJBDKIELABHIFLMN
      $.
  $}

  ${
    $d x z $.  $d z A $.  $d y z ph $.
    $( A composition law for class substitution.  (Contributed by NM,
       26-Sep-2003.)  (Revised by Mario Carneiro, 13-Oct-2016.) $)
    sbcco $p |- ( [. A / y ]. [. y / x ]. ph <-> [. A / x ]. ph ) $=
      ( vz cv wsbc cvv wcel sbcex dfsbcq wsb sbsbc sbbii sbco2 3bitr3ri vtoclbg
      nfv bitri pm5.21nii ) ABCFGZCDGZDHIABDGZUACDJABDJUACEFZGZABUDGZUBUCEDHUAC
      UDDKABUDDKUEABELZUFABCLZCELUACELUGUEUHUACEABCMNABECACROUACEMPABEMSQT $.
  $}

  ${
    $d x y $.  $d y ph $.  $d A y $.
    sbcco2.1 $e |- ( x = y -> A = B ) $.
    $( A composition law for class substitution.  Importantly, ` x ` may occur
       free in the class expression substituted for ` A ` .  (Contributed by
       NM, 5-Sep-2004.)  (Proof shortened by Andrew Salmon, 8-Jun-2011.) $)
    sbcco2 $p |- ( [. x / y ]. [. B / x ]. ph <-> [. A / x ]. ph ) $=
      ( wsbc cv wsb sbsbc nfv weq wceq wb eqcoms dfsbcq bicomd syl sbie bitr3i
      ) ABEGZCBHZGUACBIABDGZUACBJUAUCCBUCCKCBLDEMZUAUCNUDUBCHFOUDUCUAABDEPQRST
      $.
  $}

  ${
    $d x y A $.  $d y ph $.
    $( An equivalence for class substitution.  (Contributed by NM,
       23-Aug-1993.)  (Revised by Mario Carneiro, 12-Oct-2016.) $)
    sbc5 $p |- ( [. A / x ]. ph <-> E. x ( x = A /\ ph ) ) $=
      ( vy wsbc cvv wcel cv wceq wex sbcex exsimpl isset sylibr wsb weq dfsbcq2
      wa eqeq2 anbi1d exbidv sb5 vtoclbg pm5.21nii ) ABCEZCFGZBHZCIZARZBJZABCKU
      JUHBJUFUHABLBCMNABDOBDPZARZBJUEUJDCFABDCQDHZCIZULUIBUNUKUHAUMCUGSTUAABDUB
      UCUD $.
  $}

  ${
    $d x A $.
    $( An equivalence for class substitution.  (Contributed by NM,
       11-Oct-2004.)  (Proof shortened by Andrew Salmon, 8-Jun-2011.) $)
    sbc6g $p |- ( A e. V -> ( [. A / x ]. ph <-> A. x ( x = A -> ph ) ) ) $=
      ( wcel cv wceq wi wal wa wex wsbc nfe1 ceqex ceqsalg sbc5 syl6rbbr ) CDEB
      FCGZAHBIRAJZBKZABCLATBCDSBMABCNOABCPQ $.
  $}

  ${
    $d x A $.
    sbc6.1 $e |- A e. _V $.
    $( An equivalence for class substitution.  (Contributed by NM,
       23-Aug-1993.)  (Proof shortened by Eric Schmidt, 17-Jan-2007.) $)
    sbc6 $p |- ( [. A / x ]. ph <-> A. x ( x = A -> ph ) ) $=
      ( cvv wcel wsbc cv wceq wi wal wb sbc6g ax-mp ) CEFABCGBHCIAJBKLDABCEMN
      $.
  $}

  ${
    $d y A $.  $d y ph $.  $d x y $.
    $( An equivalence for class substitution in the spirit of ~ df-clab .  Note
       that ` x ` and ` A ` don't have to be distinct.  (Contributed by NM,
       18-Nov-2008.)  (Revised by Mario Carneiro, 13-Oct-2016.) $)
    sbc7 $p |- ( [. A / x ]. ph <-> E. y ( y = A /\ [. y / x ]. ph ) ) $=
      ( wsbc cv wceq wa wex sbcco sbc5 bitr3i ) ABDEABCFZEZCDEMDGNHCIABCDJNCDKL
      $.
  $}

  ${
    cbvsbc.1 $e |- F/ y ph $.
    cbvsbc.2 $e |- F/ x ps $.
    cbvsbc.3 $e |- ( x = y -> ( ph <-> ps ) ) $.
    $( Change bound variables in a wff substitution.  (Contributed by Jeff
       Hankins, 19-Sep-2009.)  (Proof shortened by Andrew Salmon,
       8-Jun-2011.) $)
    cbvsbc $p |- ( [. A / x ]. ph <-> [. A / y ]. ps ) $=
      ( cab wcel wsbc cbvab eleq2i df-sbc 3bitr4i ) EACIZJEBDIZJACEKBDEKPQEABCD
      FGHLMACENBDENO $.
  $}

  ${
    $d y ph $.  $d x ps $.
    cbvsbcv.1 $e |- ( x = y -> ( ph <-> ps ) ) $.
    $( Change the bound variable of a class substitution using implicit
       substitution.  (Contributed by NM, 30-Sep-2008.)  (Revised by Mario
       Carneiro, 13-Oct-2016.) $)
    cbvsbcv $p |- ( [. A / x ]. ph <-> [. A / y ]. ps ) $=
      ( nfv cbvsbc ) ABCDEADGBCGFH $.
  $}

  ${
    $d x A $.
    $( Conversion of implicit substitution to explicit class substitution,
       using a bound-variable hypothesis instead of distinct variables.
       (Closed theorem version of ~ sbciegf .)  (Contributed by NM,
       10-Nov-2005.)  (Revised by Mario Carneiro, 13-Oct-2016.) $)
    sbciegft $p |- ( ( A e. V /\ F/ x ps /\
            A. x ( x = A -> ( ph <-> ps ) ) ) -> ( [. A / x ]. ph <-> ps ) ) $=
      ( wcel wnf cv wceq wb wi wal w3a wsbc imim2i alimi biimpa sylan2 3adant1
      wa wex sbc5 bi1 imp3a 19.23t syl5bi bi2 com23 19.21t sbc6g sylibrd impbid
      3ad2ant1 ) DEFZBCGZCHDIZABJZKZCLZMZACDNZBVAUPATZCUAZUTBACDUBUOUSVCBKZUNUS
      UOVBBKZCLZVDURVECURUPABUQABKUPABUCOUDPUOVFVDVBBCUEQRSUFUTBUPAKZCLZVAUOUSB
      VHKZUNUSUOBVGKZCLZVIURVJCURUPBAUQBAKUPABUGOUHPUOVKVIBVGCUIQRSUNUOVAVHJUSA
      CDEUJUMUKUL $.
  $}

  ${
    $d x A $.
    sbciegf.1 $e |- F/ x ps $.
    sbciegf.2 $e |- ( x = A -> ( ph <-> ps ) ) $.
    $( Conversion of implicit substitution to explicit class substitution.
       (Contributed by NM, 14-Dec-2005.)  (Revised by Mario Carneiro,
       13-Oct-2016.) $)
    sbciegf $p |- ( A e. V -> ( [. A / x ]. ph <-> ps ) ) $=
      ( wcel wnf cv wceq wb wi wal wsbc ax-gen sbciegft mp3an23 ) DEHBCICJDKABL
      MZCNACDOBLFSCGPABCDEQR $.
  $}

  ${
    $d x A $.  $d x ps $.
    sbcieg.1 $e |- ( x = A -> ( ph <-> ps ) ) $.
    $( Conversion of implicit substitution to explicit class substitution.
       (Contributed by NM, 10-Nov-2005.) $)
    sbcieg $p |- ( A e. V -> ( [. A / x ]. ph <-> ps ) ) $=
      ( wcel cvv wsbc wb elex nfv sbciegf syl ) DEGDHGACDIBJDEKABCDHBCLFMN $.
  $}

  ${
    $d x y $.  $d A y $.  $d ch y $.  $d ph y $.  $d ps x $.
    sbcie2g.1 $e |- ( x = y -> ( ph <-> ps ) ) $.
    sbcie2g.2 $e |- ( y = A -> ( ps <-> ch ) ) $.
    $( Conversion of implicit substitution to explicit class substitution.
       This version of ~ sbcie avoids a disjointness condition on ` x , A ` by
       substituting twice.  (Contributed by Mario Carneiro, 15-Oct-2016.) $)
    sbcie2g $p |- ( A e. V -> ( [. A / x ]. ph <-> ch ) ) $=
      ( cv wsbc dfsbcq wsb sbsbc nfv sbie bitr3i vtoclbg ) ADEJZKZBADFKCEFGADSF
      LITADEMBADENABDEBDOHPQR $.
  $}

  ${
    $d x A $.  $d x ps $.
    sbcie.1 $e |- A e. _V $.
    sbcie.2 $e |- ( x = A -> ( ph <-> ps ) ) $.
    $( Conversion of implicit substitution to explicit class substitution.
       (Contributed by NM, 4-Sep-2004.) $)
    sbcie $p |- ( [. A / x ]. ph <-> ps ) $=
      ( cvv wcel wsbc wb sbcieg ax-mp ) DGHACDIBJEABCDGFKL $.
  $}

  ${
    $d x A $.
    sbcied.1 $e |- ( ph -> A e. V ) $.
    sbcied.2 $e |- ( ( ph /\ x = A ) -> ( ps <-> ch ) ) $.
    ${
      sbciedf.3 $e |- F/ x ph $.
      sbciedf.4 $e |- ( ph -> F/ x ch ) $.
      $( Conversion of implicit substitution to explicit class substitution,
         deduction form.  (Contributed by NM, 29-Dec-2014.) $)
      sbciedf $p |- ( ph -> ( [. A / x ]. ps <-> ch ) ) $=
        ( wcel wnf cv wceq wb wi wal wsbc ex alrimi sbciegft syl3anc ) AEFKCDLD
        MENZBCOZPZDQBDERCOGJAUEDIAUCUDHSTBCDEFUAUB $.
    $}

    $d x ph $.  $d x ch $.
    $( Conversion of implicit substitution to explicit class substitution,
       deduction form.  (Contributed by NM, 13-Dec-2014.) $)
    sbcied $p |- ( ph -> ( [. A / x ]. ps <-> ch ) ) $=
      ( nfv nfvd sbciedf ) ABCDEFGHADIACDJK $.
  $}

  ${
    $d x A $.  $d x ph $.  $d x ch $.
    sbcied2.1 $e |- ( ph -> A e. V ) $.
    sbcied2.2 $e |- ( ph -> A = B ) $.
    sbcied2.3 $e |- ( ( ph /\ x = B ) -> ( ps <-> ch ) ) $.
    $( Conversion of implicit substitution to explicit class substitution,
       deduction form.  (Contributed by NM, 13-Dec-2014.) $)
    sbcied2 $p |- ( ph -> ( [. A / x ]. ps <-> ch ) ) $=
      ( cv wceq wb id sylan9eqr syldan sbcied ) ABCDEGHADKZELZRFLBCMSAREFSNIOJP
      Q $.
  $}

  ${
    $d y A $.  $d y B $.  $d y ph $.  $d x y $.
    elrabsf.1 $e |- F/_ x B $.
    $( Membership in a restricted class abstraction, expressed with explicit
       class substitution.  (The variation ~ elrabf has implicit
       substitution).  The hypothesis specifies that ` x ` must not be a free
       variable in ` B ` .  (Contributed by NM, 30-Sep-2003.)  (Proof shortened
       by Mario Carneiro, 13-Oct-2016.) $)
    elrabsf $p |- ( A e. { x e. B | ph }
          <-> ( A e. B /\ [. A / x ]. ph ) ) $=
      ( vy cv wsbc crab dfsbcq nfcv nfv nfsbc1v sbceq1a cbvrab elrab2 ) ABFGZHZ
      ABCHFCDABDIABQCJARBFDEFDKAFLABQMABQNOP $.
  $}

  ${
    $d x y B $.  $d y A $.
    $( Substitution applied to an atomic wff.  Set theory version of ~ eqsb3 .
       (Contributed by Andrew Salmon, 29-Jun-2011.) $)
    eqsbc3 $p |- ( A e. V -> ( [. A / x ]. x = B <-> A = B ) ) $=
      ( vy cv wceq wsbc dfsbcq eqeq1 wsb sbsbc eqsb3 bitr3i vtoclbg ) AFCGZAEFZ
      HZQCGZPABHBCGEBDPAQBIQBCJRPAEKSPAELEACMNO $.
  $}

  ${
    $d x y $.  $d y A $.  $d y ph $.  $d y ps $.
    $( Move negation in and out of class substitution.  (Contributed by NM,
       16-Jan-2004.) $)
    sbcng $p |- ( A e. V -> ( [. A / x ]. -. ph <-> -. [. A / x ]. ph ) ) $=
      ( vy wn wsb wsbc dfsbcq2 cv wceq notbid sbn vtoclbg ) AFZBEGABEGZFOBCHABC
      HZFECDOBECIEJCKPQABECILABEMN $.

    $( Distribution of class substitution over implication.  (Contributed by
       NM, 16-Jan-2004.) $)
    sbcimg $p |- ( A e. V ->
     ( [. A / x ]. ( ph -> ps ) <-> ( [. A / x ]. ph -> [. A / x ]. ps ) ) ) $=
      ( vy wi wsb wsbc dfsbcq2 cv wceq imbi12d sbim vtoclbg ) ABGZCFHACFHZBCFHZ
      GPCDIACDIZBCDIZGFDEPCFDJFKDLQSRTACFDJBCFDJMABCFNO $.

    $( Distribution of class substitution over conjunction.  (Contributed by
       NM, 31-Dec-2016.) $)
    sbcan $p |- ( [. A / x ]. ( ph /\ ps )
        <-> ( [. A / x ]. ph /\ [. A / x ]. ps ) ) $=
      ( vy wa wsbc cvv wcel sbcex adantl dfsbcq2 cv wceq anbi12d sban pm5.21nii
      wsb vtoclbg ) ABFZCDGZDHIZACDGZBCDGZFZTCDJUDUBUCBCDJKTCERACERZBCERZFUAUEE
      DHTCEDLEMDNUFUCUGUDACEDLBCEDLOABCEPSQ $.

    $( Distribution of class substitution over conjunction.  (Contributed by
       NM, 21-May-2004.) $)
    sbcang $p |- ( A e. V ->
     ( [. A / x ]. ( ph /\ ps ) <-> ( [. A / x ]. ph /\ [. A / x ]. ps ) ) ) $=
      ( vy wa wsb wsbc dfsbcq2 cv wceq anbi12d sban vtoclbg ) ABGZCFHACFHZBCFHZ
      GPCDIACDIZBCDIZGFDEPCFDJFKDLQSRTACFDJBCFDJMABCFNO $.

    $( Distribution of class substitution over disjunction.  (Contributed by
       NM, 31-Dec-2016.) $)
    sbcor $p |- ( [. A / x ]. ( ph \/ ps )
         <-> ( [. A / x ]. ph \/ [. A / x ]. ps ) ) $=
      ( vy wo wsbc cvv wcel sbcex jaoi wsb dfsbcq2 cv wceq orbi12d sbor vtoclbg
      pm5.21nii ) ABFZCDGZDHIZACDGZBCDGZFZTCDJUCUBUDACDJBCDJKTCELACELZBCELZFUAU
      EEDHTCEDMENDOUFUCUGUDACEDMBCEDMPABCEQRS $.

    $( Distribution of class substitution over disjunction.  (Contributed by
       NM, 21-May-2004.) $)
    sbcorg $p |- ( A e. V ->
     ( [. A / x ]. ( ph \/ ps ) <-> ( [. A / x ]. ph \/ [. A / x ]. ps ) ) ) $=
      ( vy wo wsb wsbc dfsbcq2 cv wceq orbi12d sbor vtoclbg ) ABGZCFHACFHZBCFHZ
      GPCDIACDIZBCDIZGFDEPCFDJFKDLQSRTACFDJBCFDJMABCFNO $.

    $( Distribution of class substitution over biconditional.  (Contributed by
       Raph Levien, 10-Apr-2004.) $)
    sbcbig $p |- ( A e. V ->
   ( [. A / x ]. ( ph <-> ps ) <-> ( [. A / x ]. ph <-> [. A / x ]. ps ) ) ) $=
      ( vy wb wsb wsbc dfsbcq2 cv wceq bibi12d sbbi vtoclbg ) ABGZCFHACFHZBCFHZ
      GPCDIACDIZBCDIZGFDEPCFDJFKDLQSRTACFDJBCFDJMABCFNO $.
  $}

  ${
    $d x z A $.  $d x y z $.  $d z ph $.
    $( Move universal quantifier in and out of class substitution.
       (Contributed by NM, 31-Dec-2016.) $)
    sbcal $p |- ( [. A / y ]. A. x ph <-> A. x [. A / y ]. ph ) $=
      ( vz wal wsbc cvv wcel sbcex sps dfsbcq2 cv wceq albidv vtoclbg pm5.21nii
      wsb sbal ) ABFZCDGZDHIZACDGZBFZTCDJUCUBBACDJKTCERACERZBFUAUDEDHTCEDLEMDNU
      EUCBACEDLOABCESPQ $.

    $( Move universal quantifier in and out of class substitution.
       (Contributed by NM, 16-Jan-2004.) $)
    sbcalg $p |- ( A e. V
        -> ( [. A / y ]. A. x ph <-> A. x [. A / y ]. ph ) ) $=
      ( vz wal wsb wsbc dfsbcq2 cv wceq albidv sbal vtoclbg ) ABGZCFHACFHZBGPCD
      IACDIZBGFDEPCFDJFKDLQRBACFDJMABCFNO $.

    $( Move existential quantifier in and out of class substitution.
       (Contributed by NM, 21-May-2004.) $)
    sbcex2 $p |- ( [. A / y ]. E. x ph <-> E. x [. A / y ]. ph ) $=
      ( vz wex wsbc cvv wcel sbcex exlimiv wsb dfsbcq2 wceq exbidv sbex vtoclbg
      cv pm5.21nii ) ABFZCDGZDHIZACDGZBFZTCDJUCUBBACDJKTCELACELZBFUAUDEDHTCEDME
      RDNUEUCBACEDMOABCEPQS $.

    $( Move existential quantifier in and out of class substitution.
       (Contributed by NM, 21-May-2004.) $)
    sbcexg $p |- ( A e. V
         -> ( [. A / y ]. E. x ph <-> E. x [. A / y ]. ph ) ) $=
      ( vz wex wsb wsbc dfsbcq2 cv wceq exbidv sbex vtoclbg ) ABGZCFHACFHZBGPCD
      IACDIZBGFDEPCFDJFKDLQRBACFDJMABCFNO $.
  $}

  ${
    $d x B $.  $d x A $.
    $( Set theory version of sbeqal1 in set.mm.  (Contributed by Andrew Salmon,
       28-Jun-2011.) $)
    sbceqal $p |- ( A e. V -> ( A. x ( x = A -> x = B ) -> A = B ) ) $=
      ( wcel cv wceq wi wal wsbc spsbc sbcimg wb eqsbc3 mpbiri pm5.5 syl 3bitrd
      eqid sylibd ) BDEZAFZBGZUBCGZHZAIUEABJZBCGZUEABDKUAUFUCABJZUDABJZHZUIUGUC
      UDABDLUAUHUJUIMUAUHBBGBSABBDNOUHUIPQABCDNRT $.
  $}

  ${
    $d x A $.  $d x B $.
    $( Theorem *14.121 in [WhiteheadRussell] p. 185.  (Contributed by Andrew
       Salmon, 28-Jun-2011.)  (Proof shortened by Wolf Lammen, 9-May-2013.) $)
    sbeqalb $p |- ( A e. V -> ( ( A. x ( ph <-> x = A ) /\ A. x ( ph <->
      x = B ) ) -> A = B ) ) $=
      ( cv wceq wb wal wa wi wcel bibi1 biimpa biimpd alanimi sbceqal syl5 ) AB
      FZCGZHZBIASDGZHZBIJTUBKZBICELCDGUAUCUDBUAUCJTUBUAUCTUBHATUBMNOPBCDEQR $.
  $}

  ${
    sbcbid.1 $e |- F/ x ph $.
    sbcbid.2 $e |- ( ph -> ( ps <-> ch ) ) $.
    $( Formula-building deduction rule for class substitution.  (Contributed by
       NM, 29-Dec-2014.) $)
    sbcbid $p |- ( ph -> ( [. A / x ]. ps <-> [. A / x ]. ch ) ) $=
      ( cab wcel wsbc abbid eleq2d df-sbc 3bitr4g ) AEBDHZIECDHZIBDEJCDEJAOPEAB
      CDFGKLBDEMCDEMN $.
  $}

  ${
    $d x ph $.
    sbcbidv.1 $e |- ( ph -> ( ps <-> ch ) ) $.
    $( Formula-building deduction rule for class substitution.  (Contributed by
       NM, 29-Dec-2014.) $)
    sbcbidv $p |- ( ph -> ( [. A / x ]. ps <-> [. A / x ]. ch ) ) $=
      ( nfv sbcbid ) ABCDEADGFH $.
  $}

  ${
    sbcbii.1 $e |- ( ph <-> ps ) $.
    $( Formula-building inference rule for class substitution.  (Contributed by
       NM, 11-Nov-2005.) $)
    sbcbii $p |- ( [. A / x ]. ph <-> [. A / x ]. ps ) $=
      ( wsbc wb wtru a1i sbcbidv trud ) ACDFBCDFGHABCDABGHEIJK $.

    $( Formula-building inference rule for class substitution.  (Contributed by
       NM, 11-Nov-2005.)  (New usage is discouraged.) $)
    sbcbiiOLD $p |- ( A e. V -> ( [. A / x ]. ph <-> [. A / x ]. ps ) ) $=
      ( wsbc wb wcel sbcbii a1i ) ACDGBCDGHDEIABCDFJK $.
  $}

  ${
    $d x C $.  $d x A $.
    $( ~ eqsbc3 with setvar variable on right side of equals sign.  This proof
       was automatically generated from the virtual deduction proof eqsbc3rVD
       in set.mm using a translation program.  (Contributed by Alan Sare,
       24-Oct-2011.) $)
    eqsbc3r $p |- ( A e. B -> ( [. A / x ]. C = x <-> C = A ) ) $=
      ( wcel wceq wsbc eqcom sbcbii biimpi eqsbc3 syl5ib syl6ib syl6ibr sylibrd
      cv idd impbid ) BCEZDAPZFZABGZDBFZSUBBDFZUCUBTDFZABGZSUDUBUFUAUEABDTHIZJA
      BDCKZLBDHZMSUCUFUBSUCUDUFSUCUCUDSUCQUINUHOUGNR $.
  $}

  ${
    $d y ch $.  $d y ps $.  $d y ph $.  $d y A $.  $d x y $.
    $( Distribution of class substitution over triple conjunction.
       (Contributed by NM, 14-Dec-2006.)  (Proof shortened by Andrew Salmon,
       29-Jun-2011.) $)
    sbc3ang $p |- ( A e. V -> ( [. A / x ]. ( ph /\ ps /\ ch ) <->
                ( [. A / x ]. ph /\ [. A / x ]. ps /\ [. A / x ]. ch ) ) ) $=
      ( vy w3a wsb wsbc dfsbcq2 cv wceq 3anbi123d sb3an vtoclbg ) ABCHZDGIADGIZ
      BDGIZCDGIZHQDEJADEJZBDEJZCDEJZHGEFQDGEKGLEMRUASUBTUCADGEKBDGEKCDGEKNABCDG
      OP $.
  $}

  ${
    $d y A $.  $d x y B $.
    $( Class substitution into a membership relation.  (Contributed by NM,
       17-Nov-2006.)  (Proof shortened by Andrew Salmon, 29-Jun-2011.) $)
    sbcel1gv $p |- ( A e. V -> ( [. A / x ]. x e. B <-> A e. B ) ) $=
      ( vy cv wcel wsb wsbc dfsbcq2 eleq1 clelsb3 vtoclbg ) AFCGZAEHEFZCGNABIBC
      GEBDNAEBJOBCKEACLM $.
  $}

  ${
    $d y B $.  $d x y A $.
    $( Class substitution into a membership relation.  (Contributed by NM,
       17-Nov-2006.)  (Proof shortened by Andrew Salmon, 29-Jun-2011.) $)
    sbcel2gv $p |- ( B e. V -> ( [. B / x ]. A e. x <-> A e. B ) ) $=
      ( vy cv wcel wsb wsbc dfsbcq2 eleq2 nfv sbie vtoclbg ) BAFZGZAEHBEFZGZPAC
      IBCGECDPAECJQCBKPRAERALOQBKMN $.
  $}

  ${
    $d x ph $.
    sbcimdv.1 $e |- ( ph -> ( ps -> ch ) ) $.
    $( Substitution analog of Theorem 19.20 of [Margaris] p. 90.  (Contributed
       by NM, 11-Nov-2005.) $)
    sbcimdv $p |- ( ( ph /\ A e. V ) ->
          ( [. A / x ]. ps -> [. A / x ]. ch ) ) $=
      ( wcel wsbc wi wal alrimiv spsbc syl5 sbcimg sylibd impcom ) EFHZABDEICDE
      IJZRABCJZDEIZSATDKRUAATDGLTDEFMNBCDEFOPQ $.
  $}

  ${
    $d x y $.  $d y A $.  $d y ph $.
    $( Substitution for a variable not free in a wff does not affect it.
       (Contributed by Mario Carneiro, 14-Oct-2016.) $)
    sbctt $p |- ( ( A e. V /\ F/ x ph ) -> ( [. A / x ]. ph <-> ph ) ) $=
      ( vy wcel wnf wsbc wb wsb wi wceq dfsbcq2 bibi1d imbi2d sbft vtoclg imp
      cv ) CDFABGZABCHZAIZTABEJZAIZKTUBKECDESCLZUDUBTUEUCUAAABECMNOABEPQR $.
  $}

  ${
    sbcgf.1 $e |- F/ x ph $.
    $( Substitution for a variable not free in a wff does not affect it.
       (Contributed by NM, 11-Oct-2004.)  (Proof shortened by Andrew Salmon,
       29-Jun-2011.) $)
    sbcgf $p |- ( A e. V -> ( [. A / x ]. ph <-> ph ) ) $=
      ( wcel wnf wsbc wb sbctt mpan2 ) CDFABGABCHAIEABCDJK $.

    $( Substitution for a variable not free in antecedent affects only the
       consequent.  (Contributed by NM, 11-Oct-2004.) $)
    sbc19.21g $p |- ( A e. V ->
            ( [. A / x ]. ( ph -> ps ) <-> ( ph -> [. A / x ]. ps ) ) ) $=
      ( wcel wi wsbc sbcimg sbcgf imbi1d bitrd ) DEGZABHCDIACDIZBCDIZHAPHABCDEJ
      NOAPACDEFKLM $.
  $}

  ${
    $d x ph $.
    $( Substitution for a variable not occurring in a wff does not affect it.
       Distinct variable form of ~ sbcgf .  (Contributed by Alan Sare,
       10-Nov-2012.) $)
    sbcg $p |- ( A e. V -> ( [. A / x ]. ph <-> ph ) ) $=
      ( nfv sbcgf ) ABCDABEF $.
  $}

  ${
    $d x y A $.  $d y B $.  $d x V $.  $d y W $.
    sbc2iegf.1 $e |- F/ x ps $.
    sbc2iegf.2 $e |- F/ y ps $.
    sbc2iegf.3 $e |- F/ x B e. W $.
    sbc2iegf.4 $e |- ( ( x = A /\ y = B ) -> ( ph <-> ps ) ) $.
    $( Conversion of implicit substitution to explicit class substitution.
       (Contributed by Mario Carneiro, 19-Dec-2013.) $)
    sbc2iegf $p |- ( ( A e. V /\ B e. W ) ->
            ( [. A / x ]. [. B / y ]. ph <-> ps ) ) $=
      ( wcel wa simpl cv wceq wb adantll nfv wsbc wnf a1i sbciedf nfan ) EGMZFH
      MZNZADFUAZBCEGUFUGOUGCPEQZUIBRUFUGUJNZABDFHUGUJOUJDPFQABRUGLSUKDTBDUBUKJU
      CUDSUFUGCUFCTKUEBCUBUHIUCUD $.
  $}

  ${
    $d x y A $.  $d y B $.  $d x y ps $.
    sbc2ie.1 $e |- A e. _V $.
    sbc2ie.2 $e |- B e. _V $.
    sbc2ie.3 $e |- ( ( x = A /\ y = B ) -> ( ph <-> ps ) ) $.
    $( Conversion of implicit substitution to explicit class substitution.
       (Contributed by NM, 16-Dec-2008.)  (Revised by Mario Carneiro,
       19-Dec-2013.) $)
    sbc2ie $p |- ( [. A / x ]. [. B / y ]. ph <-> ps ) $=
      ( cvv wcel wsbc wb nfv nfth sbc2iegf mp2an ) EJKFJKZADFLCELBMGHABCDEFJJBC
      NBDNRCHOIPQ $.
  $}

  ${
    $d x y A $.  $d y B $.  $d x y ph $.  $d x y ch $.
    sbc2iedv.1 $e |- A e. _V $.
    sbc2iedv.2 $e |- B e. _V $.
    sbc2iedv.3 $e |- ( ph -> ( ( x = A /\ y = B ) -> ( ps <-> ch ) ) ) $.
    $( Conversion of implicit substitution to explicit class substitution.
       (Contributed by NM, 16-Dec-2008.)  (Proof shortened by Mario Carneiro,
       18-Oct-2016.) $)
    sbc2iedv $p |- ( ph -> ( [. A / x ]. [. B / y ]. ps <-> ch ) ) $=
      ( wsbc cvv wcel a1i cv wceq wa wb impl sbcied ) ABEGKCDFLFLMAHNADOFPZQZBC
      EGLGLMUBINAUAEOGPBCRJSTT $.
  $}

  ${
    $d x y z A $.  $d y z B $.  $d z C $.  $d x y z ps $.
    sbc3ie.1 $e |- A e. _V $.
    sbc3ie.2 $e |- B e. _V $.
    sbc3ie.3 $e |- C e. _V $.
    sbc3ie.4 $e |- ( ( x = A /\ y = B /\ z = C ) -> ( ph <-> ps ) ) $.
    $( Conversion of implicit substitution to explicit class substitution.
       (Contributed by Mario Carneiro, 19-Jun-2014.)  (Revised by Mario
       Carneiro, 29-Dec-2014.) $)
    sbc3ie $p |- ( [. A / x ]. [. B / y ]. [. C / z ]. ph <-> ps ) $=
      ( wsbc cv wceq wa cvv wcel a1i wb 3expa sbcied sbc2ie ) AEHMBCDFGIJCNFOZD
      NGOZPZABEHQHQRUFKSUDUEENHOABTLUAUBUC $.
  $}

  ${
    $d x y A $.  $d x y B $.
    $( Lemma for ~ sbccom .  (Contributed by NM, 14-Nov-2005.)  (Revised by
       Mario Carneiro, 18-Oct-2016.) $)
    sbccomlem $p |- ( [. A / x ]. [. B / y ]. ph
         <-> [. B / y ]. [. A / x ]. ph ) $=
      ( cv wceq wa wex wsbc excom exdistr an12 exbii bitri 3bitr3i sbc5 3bitr4i
      19.42v sbcbii ) CFEGZAHZCIZBDJZBFDGZAHZBIZCEJZACEJZBDJABDJZCEJUEUCHBIZUAU
      GHZCIZUDUHUEUBHZCIBIUNBIZCIUKUMUNBCKUEUBBCLUOULCUOUAUFHZBIULUNUPBUEUAAMNU
      AUFBSONPUCBDQUGCEQRUIUCBDACEQTUJUGCEABDQTR $.
  $}

  ${
    $d w y z A $.  $d w x z B $.  $d w z ph $.  $d x y $.
    $( Commutative law for double class substitution.  (Contributed by NM,
       15-Nov-2005.)  (Proof shortened by Mario Carneiro, 18-Oct-2016.) $)
    sbccom $p |- ( [. A / x ]. [. B / y ]. ph
          <-> [. B / y ]. [. A / x ]. ph ) $=
      ( vw vz cv wsbc sbccomlem sbcbii bitri 3bitr3i sbcco ) ACFHZIZFEIZBDIZABG
      HZIZGDIZCEIZACEIZBDIABDIZCEIQBSIZGDIZUACOIZFEIZRUBTCOIZFEIZGDIUIGDIZFEIUF
      UHUIGFDEJUJUEGDUJPBSIZFEIUEUIULFEACBOSJKPFBESJLKUKUGFETGCDOJKMQBGDNUACFEN
      MQUCBDACFENKUAUDCEABGDNKM $.
  $}

  ${
    $d x y z $.  $d A z $.  $d B x z $.  $d V z $.  $d ph z $.
    $( Interchange class substitution and restricted quantifier.  (Contributed
       by NM, 1-Mar-2008.)  (Revised by David Abernethy, 22-Feb-2010.) $)
    sbcralt $p |- ( ( A e. V /\ F/_ y A ) ->
           ( [. A / x ]. A. y e. B ph <-> A. y e. B [. A / x ]. ph ) ) $=
      ( vz wral wsbc cv wcel wnfc wa sbcco simpl wsb wceq sbsbc nfcv wb sbequ12
      nfs1v nfral weq ralbidv bitr3i nfnfc1 nfcvd id nfeqd nfan1 dfsbcq2 adantl
      sbie ralbid adantll syl5bb sbcied syl5bbr ) ACEHZBDIUTBGJZIZGDIDFKZCDLZMZ
      ABDIZCEHZUTBGDNVEVBVGGDFVCVDOVBABGPZCEHZVEVADQZMVGVBUTBGPVIUTBGRUTVIBGVHB
      CEBESABGUBUCBGUDAVHCEABGUAUEUNUFVDVJVIVGTVCVDVJMVHVFCEVDVJCCDUGVDCVADVDCV
      AUHVDUIUJUKVJVHVFTVDABGDULUMUOUPUQURUS $.

    $( Interchange class substitution and restricted existential quantifier.
       (Contributed by NM, 1-Mar-2008.)  (Proof shortened by Mario Carneiro,
       13-Oct-2016.) $)
    sbcrext $p |- ( ( A e. V /\ F/_ y A ) ->
          ( [. A / x ]. E. y e. B ph <-> E. y e. B [. A / x ]. ph ) ) $=
      ( wcel cvv wnfc wrex wsbc wb elex wa wn wral sbcng adantr bitrd dfrex2 id
      sbcralt nfnfc1 nfcvd nfeld nfan1 adantl ralbid ancoms notbid sbcbii sylan
      3bitr4g ) DFGDHGZCDIZACEJZBDKZABDKZCEJZLDFMUNUONZAOZCEPZOZBDKZUROZCEPZOZU
      QUSUTVDVBBDKZOZVGUNVDVILUOVBBDHQRUTVHVFUTVHVABDKZCEPZVFVABCDEHUBUOUNVKVFL
      UOUNNVJVECEUOUNCCDUCUOCDHUOUAUOCHUDUEUFUNVJVELUOABDHQUGUHUISUJSUPVCBDACET
      UKURCETUMUL $.
  $}

  ${
    $d y z A $.  $d x B $.  $d x y z $.  $d ph z $.  $d B z $.
    $( Interchange class substitution and restricted quantifier.  (Contributed
       by NM, 15-Nov-2005.)  (Proof shortened by Andrew Salmon,
       29-Jun-2011.) $)
    sbcralg $p |- ( A e. V ->
                 ( [. A / x ]. A. y e. B ph <-> A. y e. B [. A / x ]. ph ) ) $=
      ( vz wral wsb wsbc dfsbcq2 wceq ralbidv nfcv nfs1v nfral weq sbequ12 sbie
      cv vtoclbg ) ACEHZBGIABGIZCEHZUBBDJABDJZCEHGDFUBBGDKGTDLUCUECEABGDKMUBUDB
      GUCBCEBENABGOPBGQAUCCEABGRMSUA $.

    $( Interchange class substitution and restricted existential quantifier.
       (Contributed by NM, 15-Nov-2005.)  (Proof shortened by Andrew Salmon,
       29-Jun-2011.) $)
    sbcrexg $p |- ( A e. V ->
                 ( [. A / x ]. E. y e. B ph <-> E. y e. B [. A / x ]. ph ) ) $=
      ( vz wrex wsb wsbc dfsbcq2 wceq rexbidv nfcv nfs1v nfrex weq sbequ12 sbie
      cv vtoclbg ) ACEHZBGIABGIZCEHZUBBDJABDJZCEHGDFUBBGDKGTDLUCUECEABGDKMUBUDB
      GUCBCEBENABGOPBGQAUCCEABGRMSUA $.

    $( Interchange class substitution and restricted uniqueness quantifier.
       (Contributed by NM, 24-Feb-2013.) $)
    sbcreug $p |- ( A e. V ->
                 ( [. A / x ]. E! y e. B ph <-> E! y e. B [. A / x ]. ph ) ) $=
      ( vz wreu wsb wsbc dfsbcq2 wceq reubidv nfcv nfs1v nfreu weq sbequ12 sbie
      cv vtoclbg ) ACEHZBGIABGIZCEHZUBBDJABDJZCEHGDFUBBGDKGTDLUCUECEABGDKMUBUDB
      GUCBCEBENABGOPBGQAUCCEABGRMSUA $.
  $}

  ${
    $d y w A $.  $d w B $.  $d w ph $.  $d x y $.  $d w x $.
    sbcabel.1 $e |- F/_ x B $.
    $( Interchange class substitution and class abstraction.  (Contributed by
       NM, 5-Nov-2005.) $)
    sbcabel $p |- ( A e. V -> ( [. A / x ]. { y | ph } e. B <->
                  { y | [. A / x ]. ph } e. B ) ) $=
      ( vw wcel cvv cab wsbc wb cv wceq wa wex wal abeq2 bitrd elex sbcexg sbcg
      sbcang sbcbii sbcalg sbcbig bibi1d albidv syl6bbr anbi12d df-clel 3bitr4g
      syl5bb nfcri sbcgf exbidv syl ) DFIDJIZACKZEIZBDLZABDLZCKZEIZMDFUAUSHNZUT
      OZVFEIZPZHQZBDLZVFVDOZVHPZHQZVBVEUSVKVIBDLZHQVNVIHBDJUBUSVOVMHUSVOVGBDLZV
      HBDLZPVMVGVHBDJUDUSVPVLVQVHUSVPCNVFIZVCMZCRZVLVPVRAMZCRZBDLZUSVTVGWBBDACV
      FSUEUSWCWABDLZCRVTWACBDJUFUSWDVSCUSWDVRBDLZVCMVSVRABDJUGUSWEVRVCVRBDJUCUH
      TUITUNVCCVFSUJVHBDJBHEGUOUPUKTUQTVAVJBDHUTEULUEHVDEULUMUR $.
  $}

  ${
    $d y A $.  $d x y B $.  $d y ph $.
    $( Restricted quantifier version of Axiom 4 of [Mendelson] p. 69.  This
       provides an axiom for a predicate calculus for a restricted domain.
       This theorem generalizes the unrestricted ~ stdpc4 and ~ spsbc .  See
       also ~ rspsbca and ~ rspcsbela .  (Contributed by NM, 17-Nov-2006.)
       (Proof shortened by Mario Carneiro, 13-Oct-2016.) $)
    rspsbc $p |- ( A e. B -> ( A. x e. B ph -> [. A / x ]. ph ) ) $=
      ( vy wral wsb wcel wsbc cbvralsv dfsbcq2 rspcv syl5bi ) ABDFABEGZEDFCDHAB
      CIZABEDJNOECDABECKLM $.

    $( Restricted quantifier version of Axiom 4 of [Mendelson] p. 69.
       (Contributed by NM, 14-Dec-2005.) $)
    rspsbca $p |- ( ( A e. B /\ A. x e. B ph ) -> [. A / x ]. ph ) $=
      ( wcel wral wsbc rspsbc imp ) CDEABDFABCGABCDHI $.

    $( Existence form of ~ rspsbca .  (Contributed by NM, 29-Feb-2008.)  (Proof
       shortened by Mario Carneiro, 13-Oct-2016.) $)
    rspesbca $p |- ( ( A e. B /\ [. A / x ]. ph ) -> E. x e. B ph ) $=
      ( vy wcel wsbc wa wsb wrex dfsbcq2 rspcev cbvrexsv sylibr ) CDFABCGZHABEI
      ZEDJABDJPOECDABECKLABEDMN $.

    $( Existence form of ~ spsbc .  (Contributed by Mario Carneiro,
       18-Nov-2016.) $)
    spesbc $p |- ( [. A / x ]. ph -> E. x ph ) $=
      ( wsbc cvv wrex wex wcel sbcex rspesbca mpancom rexv sylib ) ABCDZABEFZAB
      GCEHNOABCIABCEJKABLM $.

    spesbcd.1 $e |- ( ph -> [. A / x ]. ps ) $.
    $( form of ~ spsbc .  (Contributed by Mario Carneiro, 9-Feb-2017.) $)
    spesbcd $p |- ( ph -> E. x ps ) $=
      ( wsbc wex spesbc syl ) ABCDFBCGEBCDHI $.
  $}

  ${
    $d x B $.
    sbcth2.1 $e |- ( x e. B -> ph ) $.
    $( A substitution into a theorem.  (Contributed by NM, 1-Mar-2008.)  (Proof
       shortened by Mario Carneiro, 13-Oct-2016.) $)
    sbcth2 $p |- ( A e. B -> [. A / x ]. ph ) $=
      ( wcel wral wsbc rgen rspsbc mpi ) CDFABDGABCHABDEIABCDJK $.
  $}

  ${
    ra5.1 $e |- F/ x ph $.
    $( Restricted quantifier version of Axiom 5 of [Mendelson] p. 69.  This is
       an axiom of a predicate calculus for a restricted domain.  Compare the
       unrestricted ~ stdpc5 .  (Contributed by NM, 16-Jan-2004.) $)
    ra5 $p |- ( A. x e. A ( ph -> ps ) -> ( ph -> A. x e. A ps ) ) $=
      ( wi wral cv wcel wal df-ral bi2.04 albii bitri stdpc5 sylbi syl6ibr ) AB
      FZCDGZACHDIZBFZCJZBCDGSAUAFZCJZAUBFSTRFZCJUDRCDKUEUCCTABLMNAUACEOPBCDKQ
      $.
  $}

  ${
    $d x y A $.
    rmo2.1 $e |- F/ y ph $.
    $( Alternate definition of restricted "at most one."  Note that
       ` E* x e. A ph ` is not equivalent to
       ` E. y e. A A. x e. A ( ph -> x = y ) ` (in analogy to ~ reu6 ); to see
       this, let ` A ` be the empty set.  However, one direction of this
       pattern holds; see ~ rmo2i .  (Contributed by NM, 17-Jun-2017.) $)
    rmo2 $p |- ( E* x e. A ph <-> E. y A. x e. A ( ph -> x = y ) ) $=
      ( wrmo cv wcel wa wmo weq wi wal wex wral df-rmo nfv nfan mo2 impexp
      albii df-ral bitr4i exbii 3bitri ) ABDFBGDHZAIZBJUGBCKZLZBMZCNAUHLZBDOZCN
      ABDPUGBCUFACUFCQERSUJULCUJUFUKLZBMULUIUMBUFAUHTUAUKBDUBUCUDUE $.

    $( Condition implying restricted "at most one."  (Contributed by NM,
       17-Jun-2017.) $)
    rmo2i $p |- ( E. y e. A A. x e. A ( ph -> x = y ) -> E* x e. A ph ) $=
      ( weq wi wral wrex wex wrmo rexex rmo2 sylibr ) ABCFGBDHZCDIOCJABDKOCDLAB
      CDEMN $.

    $( Restricted "at most one" using explicit substitution.  (Contributed by
       NM, 4-Nov-2012.)  (Revised by NM, 16-Jun-2017.) $)
    rmo3 $p |- ( E* x e. A ph <->
               A. x e. A A. y e. A ( ( ph /\ [ y / x ] ph ) -> x = y ) ) $=
      ( wrmo cv wcel wa wmo wsb wi wral anbi1i bitri 3bitri impexp albii df-ral
      wal weq df-rmo sban clelsb3 anbi2i an4 ancom r19.21v 3bitr2i nfv nfan mo3
      imbi1i 3bitr4i ) ABDFBGDHZAIZBJZAABCKZIZBCUAZLZCDMZBDMZABDUBUPUPBCKZIZUTL
      ZCTZBTUOVBLZBTUQVCVGVHBVGCGDHZUOVALZLZCTVJCDMVHVFVKCVFVIUOIZUSIZUTLVLVALV
      KVEVMUTVEUPVIURIZIUOVIIZUSIVMVDVNUPVDUOBCKZURIVNUOABCUCVPVIURCBDUDNOUEUOA
      VIURUFVOVLUSUOVIUGNPUMVLUSUTQVIUOVAQPRVJCDSUOVACDUHUIRUPBCUOACUOCUJEUKULV
      BBDSUNO $.
  $}

  ${
    $d x A $.  $d x B $.  $d x C $.  $d x ps $.  $d x ch $.
    rmoi.b $e |- ( x = B -> ( ph <-> ps ) ) $.
    rmoi.c $e |- ( x = C -> ( ph <-> ch ) ) $.
    $( Consequence of "at most one", using implicit substitution.  (Contributed
       by NM, 2-Jan-2015.)  (Revised by NM, 16-Jun-2017.) $)
    rmob $p |- ( ( E* x e. A ph /\ ( B e. A /\ ps ) ) ->
        ( B = C <-> ( C e. A /\ ch ) ) ) $=
      ( wrmo cv wcel wa wmo wceq wb df-rmo simprl eleq1 anbi12d syl5ibcom simpl
      wi a1i simplrl simpr simpll simplrr mob syl212anc ex pm5.21ndd sylanb ) A
      DEJDKZELZAMZDNZFELZBMZFGOZGELZCMZPZADEQUQUSMZVAUTVBVDURUTVAUQURBRFGESUAVB
      VAUCVDVACUBUDVDVAVCVDVAMURVAUQURBVCUQURBVAUEZVDVAUFUQUSVAUGVEUQURBVAUHUPU
      SVBDFGEEUNFOUOURABUNFESHTUNGOUOVAACUNGESITUIUJUKULUM $.

    $( Consequence of "at most one", using implicit substitution.  (Contributed
       by NM, 4-Nov-2012.)  (Revised by NM, 16-Jun-2017.) $)
    rmoi $p |- ( ( E* x e. A ph
          /\ ( B e. A /\ ps ) /\ ( C e. A /\ ch ) ) -> B = C ) $=
      ( wrmo wcel wa wceq rmob biimp3ar ) ADEJFEKBLFGMGEKCLABCDEFGHINO $.
  $}

$(
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
        Proper substitution of classes for sets into classes
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
$)

  $c [_ $.  $( Underlined left bracket $)
  $c ]_ $.  $( Underlined right bracket $)

  $( Extend class notation to include the proper substitution of a class for a
     set into another class. $)
  csb $a class [_ A / x ]_ B $.

  ${
    $d y A $.  $d y B $.  $d x y $.
    $( Define the proper substitution of a class for a set into another class.
       The underlined brackets distinguish it from the substitution into a wff,
       ~ wsbc , to prevent ambiguity.  Theorem ~ sbcel1g shows an example of
       how ambiguity could arise if we didn't use distinguished brackets.
       Theorem ~ sbccsbg recreates substitution into a wff from this
       definition.  (Contributed by NM, 10-Nov-2005.) $)
    df-csb $a |- [_ A / x ]_ B = { y | [. A / x ]. y e. B } $.
  $}

  ${
    $d x y A $.  $d y B $.  $d x y $.
    $( Alternate expression for the proper substitution into a class, without
       referencing substitution into a wff.  Note that ` x ` can be free in
       ` B ` but cannot occur in ` A ` .  (Contributed by NM, 2-Dec-2013.) $)
    csb2 $p |- [_ A / x ]_ B = { y | E. x ( x = A /\ y e. B ) } $=
      ( csb cv wcel wsbc cab wceq wa wex df-csb sbc5 abbii eqtri ) ACDEBFDGZACH
      ZBIAFCJQKALZBIABCDMRSBQACNOP $.
  $}

  ${
    $d x y $.  $d y A $.  $d y B $.  $d y C $.
    $( Analog of ~ dfsbcq for proper substitution into a class.  (Contributed
       by NM, 10-Nov-2005.) $)
    csbeq1 $p |- ( A = B -> [_ A / x ]_ C = [_ B / x ]_ C ) $=
      ( vy wceq cv wcel wsbc cab csb dfsbcq abbidv df-csb 3eqtr4g ) BCFZEGDHZAB
      IZEJQACIZEJABDKACDKPRSEQABCLMAEBDNAECDNO $.
  $}

  ${
    $d x z $.  $d y z $.  $d z A $.  $d z C $.  $d z D $.
    cbvcsb.1 $e |- F/_ y C $.
    cbvcsb.2 $e |- F/_ x D $.
    cbvcsb.3 $e |- ( x = y -> C = D ) $.
    $( Change bound variables in a class substitution.  Interestingly, this
       does not require any bound variable conditions on ` A ` .  (Contributed
       by Jeff Hankins, 13-Sep-2009.)  (Revised by Mario Carneiro,
       11-Dec-2016.) $)
    cbvcsb $p |- [_ A / x ]_ C = [_ A / y ]_ D $=
      ( vz cv wcel wsbc cab csb nfcri wceq eleq2d cbvsbc abbii df-csb 3eqtr4i )
      IJZDKZACLZIMUBEKZBCLZIMACDNBCENUDUFIUCUEABCBIDFOAIEGOAJBJPDEUBHQRSAICDTBI
      CETUA $.
  $}

  ${
    $d x y $.  $d y B $.  $d x C $.
    cbvcsbv.1 $e |- ( x = y -> B = C ) $.
    $( Change the bound variable of a proper substitution into a class using
       implicit substitution.  (Contributed by NM, 30-Sep-2008.)  (Revised by
       Mario Carneiro, 13-Oct-2016.) $)
    cbvcsbv $p |- [_ A / x ]_ B = [_ A / y ]_ C $=
      ( nfcv cbvcsb ) ABCDEBDGAEGFH $.
  $}

  ${
    csbeq1d.1 $e |- ( ph -> A = B ) $.
    $( Equality deduction for proper substitution into a class.  (Contributed
       by NM, 3-Dec-2005.) $)
    csbeq1d $p |- ( ph -> [_ A / x ]_ C = [_ B / x ]_ C ) $=
      ( wceq csb csbeq1 syl ) ACDGBCEHBDEHGFBCDEIJ $.
  $}

  ${
    $d x y $.  $d y A $.
    $( Analog of ~ sbid for proper substitution into a class.  (Contributed by
       NM, 10-Nov-2005.) $)
    csbid $p |- [_ x / x ]_ A = A $=
      ( vy cv csb wcel wsbc cab df-csb wsb sbsbc sbid bitr3i abbii abid2 3eqtri
      ) AADZBECDBFZAQGZCHRCHBACQBISRCSRAAJRRAAKRALMNCBOP $.
  $}

  $( Equality theorem for proper substitution into a class.  (Contributed by
     NM, 10-Nov-2005.) $)
  csbeq1a $p |- ( x = A -> B = [_ A / x ]_ B ) $=
    ( cv wceq csb csbid csbeq1 syl5eqr ) ADZBECAJCFABCFACGAJBCHI $.

  ${
    $d z A $.  $d y z B $.  $d x z $.
    $( Composition law for chained substitutions into a class.  (Contributed by
       NM, 10-Nov-2005.) $)
    csbco $p |- [_ A / y ]_ [_ y / x ]_ B = [_ A / x ]_ B $=
      ( vz cv csb wcel wsbc cab df-csb abeq2i sbcbii sbcco bitri abbii 3eqtr4i
      ) EFZABFZDGZHZBCIZEJRDHZACIZEJBCTGACDGUBUDEUBUCASIZBCIUDUAUEBCUEETAESDKLM
      UCABCNOPBECTKAECDKQ $.
  $}

  ${
    $d y A $.  $d y B $.  $d x y $.
    $( The existence of proper substitution into a class.  (Contributed by NM,
       10-Nov-2005.) $)
    csbexg $p |- ( ( A e. V /\ A. x B e. W ) -> [_ A / x ]_ B e. _V ) $=
      ( vy wcel wal wa csb wsbc cab cvv df-csb abid2 elex syl5eqel alimi spsbc
      cv syl5 imp wb nfcv sbcabel adantr mpbid ) BDGZCEGZAHZIZABCJFTCGZABKFLZMA
      FBCNUKULFLZMGZABKZUMMGZUHUJUPUJUOAHUHUPUIUOAUIUNCMFCOCEPQRUOABDSUAUBUHUPU
      QUCUJULAFBMDAMUDUEUFUGQ $.
  $}

  ${
    csbex.1 $e |- A e. _V $.
    csbex.2 $e |- B e. _V $.
    $( The existence of proper substitution into a class.  (Contributed by NM,
       7-Aug-2007.)  (Proof shortened by Andrew Salmon, 29-Jun-2011.) $)
    csbex $p |- [_ A / x ]_ B e. _V $=
      ( cvv wcel csb wal csbexg mpan mpg ) CFGZABCHFGZABFGMAINDABCFFJKEL $.
  $}

  ${
    $d y A $.  $d y B $.  $d y V $.  $d x y $.
    $( Substitution doesn't affect a constant ` B ` (in which ` x ` is not
       free).  (Contributed by Mario Carneiro, 14-Oct-2016.) $)
    csbtt $p |- ( ( A e. V /\ F/_ x B ) -> [_ A / x ]_ B = B ) $=
      ( vy wcel wnfc wa csb cv wsbc cab df-csb wnf wb nfcr sbctt sylan2 abbi1dv
      syl5eq ) BDFZACGZHZABCIEJCFZABKZELCAEBCMUCUEECUBUAUDANUEUDOAECPUDABDQRST
      $.
  $}

  ${
    csbconstgf.1 $e |- F/_ x B $.
    $( Substitution doesn't affect a constant ` B ` (in which ` x ` is not
       free).  (Contributed by NM, 10-Nov-2005.) $)
    csbconstgf $p |- ( A e. V -> [_ A / x ]_ B = B ) $=
      ( wcel wnfc csb wceq csbtt mpan2 ) BDFACGABCHCIEABCDJK $.
  $}

  ${
    $d B x $.
    $( Substitution doesn't affect a constant ` B ` (in which ` x ` is not
       free). ~ csbconstgf with distinct variable requirement.  (Contributed by
       Alan Sare, 22-Jul-2012.) $)
    csbconstg $p |- ( A e. V -> [_ A / x ]_ B = B ) $=
      ( nfcv csbconstgf ) ABCDACEF $.
  $}

  ${
    $d x y z $.  $d y z A $.  $d y z B $.  $d y z C $.
    $( Distribute proper substitution through a membership relation.
       (Contributed by NM, 10-Nov-2005.)  (Proof shortened by Andrew Salmon,
       29-Jun-2011.) $)
    sbcel12g $p |- ( A e. V -> ( [. A / x ]. B e. C <->
                   [_ A / x ]_ B e. [_ A / x ]_ C ) ) $=
      ( vy vz wcel wsbc cv cab csb wsb dfsbcq2 abbidv eleq12d nfs1v nfab df-csb
      sbab wceq nfel weq sbie vtoclbg eleq12i syl6bbr ) BEHCDHZABIZFJZCHZABIZFK
      ZUJDHZABIZFKZHZABCLZABDLZHUHAGMUKAGMZFKZUNAGMZFKZHZUIUQGBEUHAGBNGJBUAZVAU
      MVCUPVEUTULFUKAGBNOVEVBUOFUNAGBNOPUHVDAGAVAVCUTAFUKAGQRVBAFUNAGQRUBAGUCCV
      ADVCAGFCTAGFDTPUDUEURUMUSUPAFBCSAFBDSUFUG $.

    $( Distribute proper substitution through an equality relation.
       (Contributed by NM, 10-Nov-2005.)  (Proof shortened by Andrew Salmon,
       29-Jun-2011.) $)
    sbceqg $p |- ( A e. V -> ( [. A / x ]. B = C <->
                   [_ A / x ]_ B = [_ A / x ]_ C ) ) $=
      ( vy vz wcel wceq wsbc cab csb wsb dfsbcq2 abbidv eqeq12d nfs1v nfab sbab
      cv nfeq weq sbie vtoclbg df-csb eqeq12i syl6bbr ) BEHCDIZABJZFTZCHZABJZFK
      ZUJDHZABJZFKZIZABCLZABDLZIUHAGMUKAGMZFKZUNAGMZFKZIZUIUQGBEUHAGBNGTBIZVAUM
      VCUPVEUTULFUKAGBNOVEVBUOFUNAGBNOPUHVDAGAVAVCUTAFUKAGQRVBAFUNAGQRUAAGUBCVA
      DVCAGFCSAGFDSPUCUDURUMUSUPAFBCUEAFBDUEUFUG $.
  $}

  $( Distribute proper substitution through negated membership.  (Contributed
     by Andrew Salmon, 18-Jun-2011.) $)
  sbcnel12g $p |- ( A e. V -> ( [. A / x ]. B e/ C <-> [_ A / x ]_ B e/
                    [_ A / x ]_ C ) ) $=
    ( wcel wnel wsbc wn csb wb df-nel sbcbii a1i sbcel12g notbid syl6bbr 3bitrd
    sbcng ) BEFZCDGZABHZCDFZIZABHZUCABHZIZABCJZABDJZGZUBUEKTUAUDABCDLMNUCABESTU
    GUHUIFZIUJTUFUKABCDEOPUHUILQR $.

  $( Distribute proper substitution through an inequality.  (Contributed by
     Andrew Salmon, 18-Jun-2011.) $)
  sbcne12g $p |- ( A e. V -> ( [. A / x ]. B =/= C <-> [_ A / x ]_ B =/=
                   [_ A / x ]_ C ) ) $=
    ( wcel wne wsbc csb wn wceq wb nne sbcbii a1i sbcng syl6bbr 3bitr3d con4bid
    sbceqg ) BEFZCDGZABHZABCIZABDIZGZUAUBJZABHZCDKZABHZUCJUFJZUHUJLUAUGUIABCDMN
    OUBABEPUAUJUDUEKUKABCDETUDUEMQRS $.

  ${
    $d x C $.
    $( Move proper substitution in and out of a membership relation.  Note that
       the scope of ` [. A / x ]. ` is the wff ` B e. C ` , whereas the scope
       of ` [_ A / x ]_ ` is the class ` B ` .  (Contributed by NM,
       10-Nov-2005.) $)
    sbcel1g $p |- ( A e. V -> ( [. A / x ]. B e. C <->
                    [_ A / x ]_ B e. C ) ) $=
      ( wcel wsbc csb sbcel12g csbconstg eleq2d bitrd ) BEFZCDFABGABCHZABDHZFND
      FABCDEIMODNABDEJKL $.

    $( Move proper substitution to first argument of an equality.  (Contributed
       by NM, 30-Nov-2005.) $)
    sbceq1g $p |- ( A e. V -> ( [. A / x ]. B = C <->
                    [_ A / x ]_ B = C ) ) $=
      ( wcel wceq wsbc csb sbceqg csbconstg eqeq2d bitrd ) BEFZCDGABHABCIZABDIZ
      GODGABCDEJNPDOABDEKLM $.
  $}

  ${
    $d x B $.
    $( Move proper substitution in and out of a membership relation.
       (Contributed by NM, 14-Nov-2005.) $)
    sbcel2g $p |- ( A e. V -> ( [. A / x ]. B e. C <->
                    B e. [_ A / x ]_ C ) ) $=
      ( wcel wsbc csb sbcel12g csbconstg eleq1d bitrd ) BEFZCDFABGABCHZABDHZFCO
      FABCDEIMNCOABCEJKL $.

    $( Move proper substitution to second argument of an equality.
       (Contributed by NM, 30-Nov-2005.) $)
    sbceq2g $p |- ( A e. V -> ( [. A / x ]. B = C <->
                    B = [_ A / x ]_ C ) ) $=
      ( wcel wceq wsbc csb sbceqg csbconstg eqeq1d bitrd ) BEFZCDGABHABCIZABDIZ
      GCPGABCDEJNOCPABCEKLM $.
  $}

  ${
    $d y z A $.  $d x z B $.  $d z C $.  $d x y $.
    $( Commutative law for double substitution into a class.  (Contributed by
       NM, 14-Nov-2005.) $)
    csbcomg $p |- ( ( A e. V /\ B e. W ) ->
                 [_ A / x ]_ [_ B / y ]_ C = [_ B / y ]_ [_ A / x ]_ C ) $=
      ( vz wcel cvv csb wceq elex wsbc wb sbcel2g sbcbidv adantl adantr 3bitr3d
      wa cv sbccom a1i eqrdv syl2an ) CFICJIZDJIZACBDEKZKZBDACEKZKZLDGICFMDGMUG
      UHUAZHUJULUMHUBZUIIZACNZUNUKIZBDNZUNUJIZUNULIZUMUNEIZBDNZACNZVAACNZBDNZUP
      URVCVEOUMVAABCDUCUDUHVCUPOUGUHVBUOACBDUNEJPQRUGVEUROUHUGVDUQBDACUNEJPQSTU
      GUPUSOUHACUNUIJPSUHURUTOUGBDUNUKJPRTUEUF $.
  $}

  ${
    $d x y $.  $d y A $.  $d y B $.  $d y C $.  $d y ph $.
    csbeq2d.1 $e |- F/ x ph $.
    csbeq2d.2 $e |- ( ph -> B = C ) $.
    $( Formula-building deduction rule for class substitution.  (Contributed by
       NM, 22-Nov-2005.)  (Revised by Mario Carneiro, 1-Sep-2015.) $)
    csbeq2d $p |- ( ph -> [_ A / x ]_ B = [_ A / x ]_ C ) $=
      ( vy cv wcel wsbc cab csb eleq2d sbcbid abbidv df-csb 3eqtr4g ) AHIZDJZBC
      KZHLSEJZBCKZHLBCDMBCEMAUAUCHATUBBCFADESGNOPBHCDQBHCEQR $.
  $}

  ${
    $d x ph $.
    csbeq2dv.1 $e |- ( ph -> B = C ) $.
    $( Formula-building deduction rule for class substitution.  (Contributed by
       NM, 10-Nov-2005.)  (Revised by Mario Carneiro, 1-Sep-2015.) $)
    csbeq2dv $p |- ( ph -> [_ A / x ]_ B = [_ A / x ]_ C ) $=
      ( nfv csbeq2d ) ABCDEABGFH $.
  $}

  ${
    csbeq2i.1 $e |- B = C $.
    $( Formula-building inference rule for class substitution.  (Contributed by
       NM, 10-Nov-2005.)  (Revised by Mario Carneiro, 1-Sep-2015.) $)
    csbeq2i $p |- [_ A / x ]_ B = [_ A / x ]_ C $=
      ( csb wceq wtru a1i csbeq2dv trud ) ABCFABDFGHABCDCDGHEIJK $.
  $}

  ${
    $d y z A $.  $d x y z $.
    $( The proper substitution of a class for setvar variable results in the
       class (if the class exists).  (Contributed by NM, 10-Nov-2005.) $)
    csbvarg $p |- ( A e. V -> [_ A / x ]_ x = A ) $=
      ( vz vy wcel cvv cv csb wceq elex wsbc cab df-csb sbcel2gv abbi1dv syl5eq
      vex ax-mp csbeq2i csbco 3eqtr3i syl ) BCFBGFZABAHZIZBJBCKUDUFDHZEHZFEBLZD
      MZBEBAUHUEIZIEBUHIUFUJEBUKUHUHGFZUKUHJERULUKUGUEFAUHLZDMUHADUHUENULUMDUHA
      UGUHGOPQSTAEBUEUAEDBUHNUBUDUIDBEUGBGOPQUC $.
  $}

  ${
    $d x y $.
    $( Substitution into a wff expressed in terms of substitution into a
       class.  (Contributed by NM, 15-Aug-2007.) $)
    sbccsbg $p |- ( A e. V ->
                 ( [. A / x ]. ph <-> y e. [_ A / x ]_ { y | ph } ) ) $=
      ( wsbc cv cab wcel csb abid sbcbii sbcel2g syl5bbr ) ABDFCGZACHZIZBDFDEIO
      BDPJIQABDACKLBDOPEMN $.
  $}

  $( Substitution into a wff expressed in using substitution into a class.
     (Contributed by NM, 27-Nov-2005.) $)
  sbccsb2g $p |- ( A e. V ->
               ( [. A / x ]. ph <-> A e. [_ A / x ]_ { x | ph } ) ) $=
    ( wsbc cv cab wcel csb abid sbcbii sbcel12g csbvarg eleq1d bitrd syl5bbr )
    ABCEBFZABGZHZBCEZCDHZCBCRIZHZSABCABJKUATBCQIZUBHUCBCQRDLUAUDCUBBCDMNOP $.

  ${
    $d x y $.  $d y A $.  $d y B $.  $d y ph $.
    nfcsb1d.1 $e |- ( ph -> F/_ x A ) $.
    $( Bound-variable hypothesis builder for substitution into a class.
       (Contributed by Mario Carneiro, 12-Oct-2016.) $)
    nfcsb1d $p |- ( ph -> F/_ x [_ A / x ]_ B ) $=
      ( vy csb cv wcel wsbc cab df-csb nfv nfsbc1d nfabd nfcxfrd ) ABBCDGFHDIZB
      CJZFKBFCDLARBFAFMAQBCENOP $.
  $}

  ${
    nfcsb1.1 $e |- F/_ x A $.
    $( Bound-variable hypothesis builder for substitution into a class.
       (Contributed by Mario Carneiro, 12-Oct-2016.) $)
    nfcsb1 $p |- F/_ x [_ A / x ]_ B $=
      ( csb wnfc wtru a1i nfcsb1d trud ) AABCEFGABCABFGDHIJ $.
  $}

  ${
    $d x A $.
    $( Bound-variable hypothesis builder for substitution into a class.
       (Contributed by NM, 17-Aug-2006.)  (Revised by Mario Carneiro,
       12-Oct-2016.) $)
    nfcsb1v $p |- F/_ x [_ A / x ]_ B $=
      ( nfcv nfcsb1 ) ABCABDE $.
  $}

  ${
    $d x z $.  $d y z $.  $d z A $.  $d z B $.  $d z ph $.
    nfcsbd.1 $e |- F/ y ph $.
    nfcsbd.2 $e |- ( ph -> F/_ x A ) $.
    nfcsbd.3 $e |- ( ph -> F/_ x B ) $.
    $( Deduction version of ~ nfcsb .  (Contributed by NM, 21-Nov-2005.)
       (Revised by Mario Carneiro, 12-Oct-2016.) $)
    nfcsbd $p |- ( ph -> F/_ x [_ A / y ]_ B ) $=
      ( vz csb cv wcel wsbc cab df-csb nfv nfcrd nfsbcd nfabd nfcxfrd ) ABCDEJI
      KELZCDMZINCIDEOAUBBIAIPAUABCDFGABIEHQRST $.
  $}

  ${
    nfcsb.1 $e |- F/_ x A $.
    nfcsb.2 $e |- F/_ x B $.
    $( Bound-variable hypothesis builder for substitution into a class.
       (Contributed by Mario Carneiro, 12-Oct-2016.) $)
    nfcsb $p |- F/_ x [_ A / y ]_ B $=
      ( csb wnfc wtru nftru a1i nfcsbd trud ) ABCDGHIABCDBJACHIEKADHIFKLM $.
  $}

  ${
    $d x y $.
    csbhypf.1 $e |- F/_ x A $.
    csbhypf.2 $e |- F/_ x C $.
    csbhypf.3 $e |- ( x = A -> B = C ) $.
    $( Introduce an explicit substitution into an implicit substitution
       hypothesis.  See ~ sbhypf for class substitution version.  (Contributed
       by NM, 19-Dec-2008.) $)
    csbhypf $p |- ( y = A -> [_ y / x ]_ B = C ) $=
      ( cv wceq wi csb nfeq2 nfcsb1v nfeq nfim eqeq1 csbeq1a eqeq1d imbi12d
      chvar ) AIZCJZDEJZKBIZCJZAUEDLZEJZKABUFUHAAUECFMAUGEAUEDNGOPUBUEJZUCUFUDU
      HUBUECQUIDUGEAUEDRSTHUA $.
  $}

  ${
    $d x A $.
    $( Conversion of implicit substitution to explicit substitution into a
       class.  (Closed theorem version of ~ csbiegf .)  (Contributed by NM,
       11-Nov-2005.) $)
    csbiebt $p |- ( ( A e. V /\ F/_ x C ) ->
                 ( A. x ( x = A -> B = C ) <-> [_ A / x ]_ B = C ) ) $=
      ( wcel cvv wnfc cv wceq wi wal csb wb elex wa wsbc adantl a1i nfeqd spsbc
      adantr simpl biimt csbeq1a eqeq1d bitr3d nfv nfnfc1 nfcsb1v simpr sbciedf
      nfan sylibd id nfan1 biimprcd alrimi ex impbid sylan ) BEFBGFZADHZAIBJZCD
      JZKZALZABCMZDJZNBEOVBVCPZVGVIVJVGVFABQZVIVBVGVKKVCVFABGUAUBVJVFVIABGVBVCU
      CVDVFVINVJVDVEVFVIVDVEUDVDCVHDABCUEUFZUGRVBVCAVBAUHADUIZUMVJAVHDAVHHZVJAB
      CUJZSVBVCUKTULUNVCVIVGKVBVCVIVGVCVIPVFAVCVIAVMVCAVHDVNVCVOSVCUOTUPVIVFVCV
      DVEVIVLUQRURUSRUTVA $.

    csbiedf.1 $e |- F/ x ph $.
    csbiedf.2 $e |- ( ph -> F/_ x C ) $.
    csbiedf.3 $e |- ( ph -> A e. V ) $.
    csbiedf.4 $e |- ( ( ph /\ x = A ) -> B = C ) $.
    $( Conversion of implicit substitution to explicit substitution into a
       class.  (Contributed by Mario Carneiro, 13-Oct-2016.) $)
    csbiedf $p |- ( ph -> [_ A / x ]_ B = C ) $=
      ( cv wceq wi wal csb ex alrimi wcel wnfc wb csbiebt syl2anc mpbid ) ABKCL
      ZDELZMZBNZBCDOELZAUFBGAUDUEJPQACFRBESUGUHTIHBCDEFUAUBUC $.
  $}

  ${
    $d x A $.
    csbieb.1 $e |- A e. _V $.
    csbieb.2 $e |- F/_ x C $.
    $( Bidirectional conversion between an implicit class substitution
       hypothesis ` x = A -> B = C ` and its explicit substitution equivalent.
       (Contributed by NM, 2-Mar-2008.) $)
    csbieb $p |- ( A. x ( x = A -> B = C ) <-> [_ A / x ]_ B = C ) $=
      ( cvv wcel wnfc cv wceq wi wal csb wb csbiebt mp2an ) BGHADIAJBKCDKLAMABC
      NDKOEFABCDGPQ $.
  $}

  ${
    $d a x A $.  $d a B $.  $d a C $.
    csbiebg.2 $e |- F/_ x C $.
    $( Bidirectional conversion between an implicit class substitution
       hypothesis ` x = A -> B = C ` and its explicit substitution equivalent.
       (Contributed by NM, 24-Mar-2013.)  (Revised by Mario Carneiro,
       11-Dec-2016.) $)
    csbiebg $p |- ( A e. V ->
          ( A. x ( x = A -> B = C ) <-> [_ A / x ]_ B = C ) ) $=
      ( va cv wceq wal csb eqeq2 imbi1d albidv csbeq1 eqeq1d vex csbieb vtoclbg
      wi ) AHZGHZIZCDIZTZAJAUBCKZDIUABIZUDTZAJABCKZDIGBEUBBIZUEUHAUJUCUGUDUBBUA
      LMNUJUFUIDAUBBCOPAUBCDGQFRS $.
  $}

  ${
    $d x A $.  $d x V $.
    csbiegf.1 $e |- ( A e. V -> F/_ x C ) $.
    csbiegf.2 $e |- ( x = A -> B = C ) $.
    $( Conversion of implicit substitution to explicit substitution into a
       class.  (Contributed by NM, 11-Nov-2005.)  (Revised by Mario Carneiro,
       13-Oct-2016.) $)
    csbiegf $p |- ( A e. V -> [_ A / x ]_ B = C ) $=
      ( wcel cv wceq wi wal csb ax-gen wnfc wb csbiebt mpdan mpbii ) BEHZAIBJCD
      JKZALZABCMDJZUAAGNTADOUBUCPFABCDEQRS $.
  $}

  ${
    $d x A $.
    csbief.1 $e |- A e. _V $.
    csbief.2 $e |- F/_ x C $.
    csbief.3 $e |- ( x = A -> B = C ) $.
    $( Conversion of implicit substitution to explicit substitution into a
       class.  (Contributed by NM, 26-Nov-2005.)  (Revised by Mario Carneiro,
       13-Oct-2016.) $)
    csbief $p |- [_ A / x ]_ B = C $=
      ( cvv wcel csb wceq wnfc a1i csbiegf ax-mp ) BHIZABCJDKEABCDHADLPFMGNO $.
  $}

  ${
    $d x A $.  $d x C $.  $d x ph $.
    csbied.1 $e |- ( ph -> A e. V ) $.
    csbied.2 $e |- ( ( ph /\ x = A ) -> B = C ) $.
    $( Conversion of implicit substitution to explicit substitution into a
       class.  (Contributed by Mario Carneiro, 2-Dec-2014.)  (Revised by Mario
       Carneiro, 13-Oct-2016.) $)
    csbied $p |- ( ph -> [_ A / x ]_ B = C ) $=
      ( nfv nfcvd csbiedf ) ABCDEFABIABEJGHK $.
  $}

  ${
    $d x A $.  $d x ph $.  $d x D $.
    csbied2.1 $e |- ( ph -> A e. V ) $.
    csbied2.2 $e |- ( ph -> A = B ) $.
    csbied2.3 $e |- ( ( ph /\ x = B ) -> C = D ) $.
    $( Conversion of implicit substitution to explicit class substitution,
       deduction form.  (Contributed by Mario Carneiro, 2-Jan-2017.) $)
    csbied2 $p |- ( ph -> [_ A / x ]_ C = D ) $=
      ( cv wceq id sylan9eqr syldan csbied ) ABCEFGHABKZCLZQDLEFLRAQCDRMINJOP
      $.
  $}

  ${
    $d x y A $.  $d x y B $.  $d x y D $.
    csbie2t.1 $e |- A e. _V $.
    csbie2t.2 $e |- B e. _V $.
    $( Conversion of implicit substitution to explicit substitution into a
       class (closed form of ~ csbie2 ).  (Contributed by NM, 3-Sep-2007.)
       (Revised by Mario Carneiro, 13-Oct-2016.) $)
    csbie2t $p |- ( A. x A. y ( ( x = A /\ y = B ) -> C = D ) ->
                  [_ A / x ]_ [_ B / y ]_ C = D ) $=
      ( cv wceq wa wi wal csb cvv nfa1 nfcvd wcel a1i csbiedf nfa2 nfv nfan sps
      sp impl ) AICJZBIDJZKEFJZLZBMZAMZACBDENFOUKAPULAFQCORULGSULUGKZBDEFOULUGB
      UJBAUAUGBUBUCUMBFQDORUMHSULUGUHUIUKUJAUJBUEUDUFTT $.

    csbie2.3 $e |- ( ( x = A /\ y = B ) -> C = D ) $.
    $( Conversion of implicit substitution to explicit substitution into a
       class.  (Contributed by NM, 27-Aug-2007.) $)
    csbie2 $p |- [_ A / x ]_ [_ B / y ]_ C = D $=
      ( cv wceq wa wi wal csb gen2 csbie2t ax-mp ) AJCKBJDKLEFKMZBNANACBDEOOFKS
      ABIPABCDEFGHQR $.
  $}

  ${
    $d x y z $.  $d A y z $.  $d B y z $.  $d C x $.  $d D y z $.  $d V z $.
    csbie2g.1 $e |- ( x = y -> B = C ) $.
    csbie2g.2 $e |- ( y = A -> C = D ) $.
    $( Conversion of implicit substitution to explicit class substitution.
       This version of ~ sbcie avoids a disjointness condition on ` x , A ` by
       substituting twice.  (Contributed by Mario Carneiro, 11-Nov-2016.) $)
    csbie2g $p |- ( A e. V -> [_ A / x ]_ B = D ) $=
      ( vz wcel csb cv wsbc cab df-csb wceq eleq2d sbcie2g abbi1dv syl5eq ) CGK
      ZACDLJMZDKZACNZJOFAJCDPUBUEJFUDUCEKUCFKABCGAMBMZQDEUCHRUFCQEFUCIRSTUA $.
  $}

  ${
    $d x z $.  $d y z $.  $d z A $.  $d z B $.  $d z C $.  $d z ph $.
    $( Nest the composition of two substitutions.  (Contributed by Mario
       Carneiro, 11-Nov-2016.) $)
    sbcnestgf $p |- ( ( A e. V /\ A. y F/ x ph ) ->
         ( [. A / x ]. [. B / y ]. ph <-> [. [_ A / x ]_ B / y ]. ph ) ) $=
      ( vz wcel wnf wal wsbc csb wb cv wi wceq dfsbcq syl cvv a1i csbeq1 imbi2d
      bibi12d vex csbeq1a adantl nfnf1 nfal nfa1 wnfc nfcsb1v sp nfsbcd sbciedf
      vtoclg imp ) DFHABIZCJZACEKZBDKZACBDELZKZMZURUSBGNZKZACBVDELZKZMZOURVCOGD
      FVDDPZVHVCURVIVEUTVGVBUSBVDDQVIVFVAPVGVBMBVDDEUAACVFVAQRUCUBURUSVGBVDSVDS
      HURGUDTBNVDPZUSVGMZURVJEVFPVKBVDEUEACEVFQRUFUQBCABUGUHURABCVFUQCUIBVFUJUR
      BVDEUKTUQCULUMUNUOUP $.

    $( Nest the composition of two substitutions.  (Contributed by NM,
       23-Nov-2005.)  (Proof shortened by Mario Carneiro, 10-Nov-2016.) $)
    csbnestgf $p |- ( ( A e. V /\ A. y F/_ x C ) ->
         [_ A / x ]_ [_ B / y ]_ C = [_ [_ A / x ]_ B / y ]_ C ) $=
      ( vz wcel wnfc wal wa cv csb wsbc cab cvv wceq elex df-csb abeq2i wb nfcr
      sbcbii wnf alimi sbcnestgf sylan2 syl5bb abbidv sylan 3eqtr4g ) CFHZAEIZB
      JZKGLZBDEMZHZACNZGOZUOEHZBACDMZNZGOZACUPMBVAEMULCPHZUNUSVCQCFRVDUNKZURVBG
      URUTBDNZACNZVEVBUQVFACVFGUPBGDESTUCUNVDUTAUDZBJVGVBUAUMVHBAGEUBUEUTABCDPU
      FUGUHUIUJAGCUPSBGVAESUK $.

    $d x ph $.
    $( Nest the composition of two substitutions.  (Contributed by NM,
       27-Nov-2005.)  (Proof shortened by Mario Carneiro, 11-Nov-2016.) $)
    sbcnestg $p |- ( A e. V ->
          ( [. A / x ]. [. B / y ]. ph <-> [. [_ A / x ]_ B / y ]. ph ) ) $=
      ( wcel wnf wal wsbc csb wb nfv ax-gen sbcnestgf mpan2 ) DFGABHZCIACEJBDJA
      CBDEKJLQCABMNABCDEFOP $.

    $d x C $.
    $( Nest the composition of two substitutions.  (Contributed by NM,
       23-Nov-2005.)  (Proof shortened by Mario Carneiro, 10-Nov-2016.) $)
    csbnestg $p |- ( A e. V ->
          [_ A / x ]_ [_ B / y ]_ C = [_ [_ A / x ]_ B / y ]_ C ) $=
      ( wcel wnfc wal csb wceq nfcv ax-gen csbnestgf mpan2 ) CFGAEHZBIACBDEJJBA
      CDJEJKPBAELMABCDEFNO $.
  $}

  ${
    $d x C $.
    $( Nest the composition of two substitutions.  (New usage is discouraged.)
       (Contributed by NM, 23-Nov-2005.) $)
    csbnestgOLD $p |- ( ( A e. V /\ A. x B e. W ) ->
                  [_ A / x ]_ [_ B / y ]_ C = [_ [_ A / x ]_ B / y ]_ C ) $=
      ( wcel csb wceq wal csbnestg adantr ) CFHACBDEIIBACDIEIJDGHAKABCDEFLM $.
  $}

  ${
    $d x y $.  $d y C $.
    $( Nest the composition of two substitutions.  (Contributed by NM,
       23-May-2006.)  (Proof shortened by Mario Carneiro, 11-Nov-2016.) $)
    csbnest1g $p |- ( A e. V ->
         [_ A / x ]_ [_ B / x ]_ C = [_ [_ A / x ]_ B / x ]_ C ) $=
      ( vy wcel cv csb wnfc wceq nfcsb1v ax-gen csbnestgf mpan2 csbeq2i 3eqtr3g
      wal csbco ) BEGZABFCAFHZDIZIZIZFABCIZUBIZABACDIZIAUEDITAUBJZFRUDUFKUHFAUA
      DLMAFBCUBENOABUCUGAFCDSPAFUEDSQ $.
  $}

  ${
    $d x A $.
    $( Nest the composition of two substitutions.  Obsolete as of 11-Nov-2016.
       (Contributed by NM, 23-May-2006.)  (New usage is discouraged.) $)
    csbnest1gOLD $p |- ( ( A e. V /\ A. x B e. W ) ->
                  [_ A / x ]_ [_ B / x ]_ C = [_ [_ A / x ]_ B / x ]_ C ) $=
      ( wcel csb wceq wal csbnest1g adantr ) BEGABACDHHAABCHDHICFGAJABCDEKL $.
  $}

  ${
    $d x A $.
    $( Idempotent law for class substitutions.  (Contributed by NM,
       1-Mar-2008.) $)
    csbidmg $p |- ( A e. V -> [_ A / x ]_ [_ A / x ]_ B = [_ A / x ]_ B ) $=
      ( wcel cvv csb wceq elex csbnest1g csbconstg csbeq1d eqtrd syl ) BDEBFEZA
      BABCGZGZPHBDIOQAABBGZCGPABBCFJOARBCABBFKLMN $.
  $}

  ${
    $d x A $.  $d x ph $.  $d x C $.  $d x D $.
    sbcco3g.1 $e |- ( x = A -> B = C ) $.
    $( Composition of two substitutions.  (Contributed by NM, 27-Nov-2005.)
       (Revised by Mario Carneiro, 11-Nov-2016.) $)
    sbcco3g $p |- ( A e. V ->
         ( [. A / x ]. [. B / y ]. ph <-> [. C / y ]. ph ) ) $=
      ( wcel wsbc csb sbcnestg cvv wceq wb elex nfcvd csbiegf dfsbcq 3syl bitrd
      ) DGIZACEJBDJACBDEKZJZACFJZABCDEGLUBDMIZUCFNUDUEODGPBDEFMUFBFQHRACUCFSTUA
      $.

    $( Composition of two substitutions.  (Contributed by NM, 27-Nov-2005.)
       (New usage is discouraged.) $)
    sbcco3gOLD $p |- ( ( A e. V /\ A. x B e. W ) ->
                ( [. A / x ]. [. B / y ]. ph <-> [. C / y ]. ph ) ) $=
      ( wcel wsbc wb wal sbcco3g adantr ) DGJACEKBDKACFKLEHJBMABCDEFGINO $.

    $( Composition of two class substitutions.  (Contributed by NM,
       27-Nov-2005.)  (Revised by Mario Carneiro, 11-Nov-2016.) $)
    csbco3g $p |- ( A e. V ->
                 [_ A / x ]_ [_ B / y ]_ D = [_ C / y ]_ D ) $=
      ( wcel csb csbnestg cvv wceq elex nfcvd csbiegf syl csbeq1d eqtrd ) CGIZA
      CBDFJJBACDJZFJBEFJABCDFGKTBUAEFTCLIZUAEMCGNACDELUBAEOHPQRS $.
  $}

  ${
    $d x A $.  $d x C $.  $d x D $.  $d x y $.
    csbco3g.1 $e |- ( x = A -> B = D ) $.
    $( Composition of two class substitutions.  Obsolete as of 11-Nov-2016.
       (Contributed by NM, 27-Nov-2005.)  (New usage is discouraged.) $)
    csbco3gOLD $p |- ( ( A e. V /\ A. x B e. W ) ->
                 [_ A / x ]_ [_ B / y ]_ C = [_ D / y ]_ C ) $=
      ( wcel csb wceq wal csbco3g adantr ) CGJACBDEKKBFEKLDHJAMABCDFEGINO $.
  $}

  ${
    $d x B $.  $d x D $.
    $( Special case related to ~ rspsbc .  (Contributed by NM, 10-Dec-2005.)
       (Proof shortened by Eric Schmidt, 17-Jan-2007.) $)
    rspcsbela $p |- ( ( A e. B /\ A. x e. B C e. D ) -> [_ A / x ]_ C e. D ) $=
      ( wcel wral csb wsbc rspsbc sbcel1g sylibd imp ) BCFZDEFZACGZABDHEFZNPOAB
      IQOABCJABDECKLM $.
  $}

  ${
    $d w x y z $.  $d w y z A $.
    $( Two ways of expressing " ` x ` is (effectively) not free in ` A ` ."
       (Contributed by Mario Carneiro, 14-Oct-2016.) $)
    sbnfc2 $p |- ( F/_ x A <-> A. y A. z [_ y / x ]_ A = [_ z / x ]_ A ) $=
      ( vw cv csb wceq wal cvv wcel vex csbtt mpan wsb wsbc sbsbc sbcel2g ax-mp
      wb eqtr4d alrimivv nfv wnf eleq2 bitri 3bitr4g 2alimi sbnf2 sylibr impbii
      wnfc nfcd ) ADULZABFZDGZACFZDGZHZCIBIZUNUSBCUNUPDURUOJKZUNUPDHBLZAUODJMNU
      QJKZUNURDHCLZAUQDJMNUAUBUTAEDUTEUCUTEFZDKZABOZVFACOZTZCIBIVFAUDUSVIBCUSVE
      UPKZVEURKZVGVHUPURVEUEVGVFAUOPZVJVFABQVAVLVJTVBAUOVEDJRSUFVHVFAUQPZVKVFAC
      QVCVMVKTVDAUQVEDJRSUFUGUHVFABCUIUJUMUK $.
  $}

  ${
    $d y z A $.  $d z ph $.  $d x y z $.  $d V z $.
    $( Move substitution into a class abstraction.  (Contributed by NM,
       13-Dec-2005.)  (Proof shortened by Andrew Salmon, 9-Jul-2011.) $)
    csbabg $p |- ( A e. V ->
                 [_ A / x ]_ { y | ph } = { y | [. A / x ]. ph } ) $=
      ( vz wcel cab csb wsbc cv sbccom wsb df-clab sbsbc sbcbii 3bitr4i sbcel2g
      bitri syl5rbb eqrdv ) DEGZFBDACHZIZABDJZCHZFKZUFGZUGUCGZBDJZUBUGUDGUECUGJ
      ZACUGJZBDJUHUJACBUGDLUHUECFMUKUEFCNUECFOSUIULBDUIACFMULAFCNACFOSPQBDUGUCE
      RTUA $.
  $}

  ${
    $d x v z $.  $d y v z $.  $d A v z $.  $d B v z $.  $d ph v z $.
    $d ps v z $.
    cbvralcsf.1 $e |- F/_ y A $.
    cbvralcsf.2 $e |- F/_ x B $.
    cbvralcsf.3 $e |- F/ y ph $.
    cbvralcsf.4 $e |- F/ x ps $.
    cbvralcsf.5 $e |- ( x = y -> A = B ) $.
    cbvralcsf.6 $e |- ( x = y -> ( ph <-> ps ) ) $.
    $( A more general version of ~ cbvralf that doesn't require ` A ` and ` B `
       to be distinct from ` x ` or ` y ` .  Changes bound variables using
       implicit substitution.  (Contributed by Andrew Salmon, 13-Jul-2011.) $)
    cbvralcsf $p |- ( A. x e. A ph <-> A. y e. B ps ) $=
      ( vz vv cv wcel wi wal wsbc nfcri wral csb nfv nfcsb1v nfsbc1v id csbeq1a
      nfim wceq eleq12d sbceq1a imbi12d cbval nfcsb nfsbc csbeq1 cab df-csb wsb
      nfcv eleq2d sbsbc bitr3i abbi2i eqtr4i syl6eq dfsbcq syl6bb bitri 3bitr4i
      weq sbie df-ral ) COZEPZAQZCRZDOZFPZBQZDRZACEUABDFUAVQMOZCWBEUBZPZACWBSZQ
      ZMRWAVPWFCMVPMUCWDWECCMWCCWBEUDTACWBUEUHVNWBUIZVOWDAWEWGVNWBEWCWGUFCWBEUG
      UJACWBUKULUMWFVTMDWDWEDDMWCDCWBEDWBUTZGUNTADCWBWHIUOUHVTMUCWBVRUIZWDVSWEB
      WIWBVRWCFWIUFWIWCCVREUBZFCWBVREUPWJNOZEPZCVRSZNUQFCNVREURWMNFWKFPZWLCDUSW
      MWLWNCDCNFHTCDVKEFWKKVAVLWLCDVBVCVDVEVFUJWIWEACVRSZBACWBVRVGWOACDUSBACDVB
      ABCDJLVLVCVHULUMVIACEVMBDFVMVJ $.

    $( A more general version of ~ cbvrexf that has no distinct variable
       restrictions.  Changes bound variables using implicit substitution.
       (Contributed by Andrew Salmon, 13-Jul-2011.)  (Proof shortened by Mario
       Carneiro, 7-Dec-2014.) $)
    cbvrexcsf $p |- ( E. x e. A ph <-> E. y e. B ps ) $=
      ( wn wral wrex nfn cv wceq notbid dfrex2 cbvralcsf notbii 3bitr4i ) AMZCE
      NZMBMZDFNZMACEOBDFOUEUGUDUFCDEFGHADIPBCJPKCQDQRABLSUAUBACETBDFTUC $.

    $( A more general version of ~ cbvreuv that has no distinct variable
       rextrictions.  Changes bound variables using implicit substitution.
       (Contributed by Andrew Salmon, 13-Jul-2011.) $)
    cbvreucsf $p |- ( E! x e. A ph <-> E! y e. B ps ) $=
      ( vz vv cv wcel wa weu wsb nfcri wreu csb nfcsb1v nfs1v nfan wceq csbeq1a
      nfv eleq12d sbequ12 anbi12d cbveu nfcv nfcsb nfsb csbeq1 wsbc sbsbc abbii
      cab eleq2d bicomi abbi2i df-csb 3eqtr4ri syl6eq sbequ syl6bb bitri df-reu
      id sbie 3bitr4i ) COZEPZAQZCRZDOZFPZBQZDRZACEUABDFUAVQMOZCWBEUBZPZACMSZQZ
      MRWAVPWFCMVPMUHWDWECCMWCCWBEUCTACMUDUEVNWBUFZVOWDAWEWGVNWBEWCWGVKCWBEUGUI
      ACMUJUKULWFVTMDWDWEDDMWCDCWBEDWBUMGUNTACMDIUOUEVTMUHWBVRUFZWDVSWEBWHWBVRW
      CFWHVKWHWCCVREUBZFCWBVREUPNOZEPZCDSZNUTWKCVRUQZNUTFWIWLWMNWKCDURUSWLNFWLW
      JFPZWKWNCDCNFHTVNVRUFEFWJKVAVLVBVCCNVREVDVEVFUIWHWEACDSBAMDCVGABCDJLVLVHU
      KULVIACEVJBDFVJVM $.

    $( A more general version of ~ cbvrab with no distinct variable
       restrictions.  (Contributed by Andrew Salmon, 13-Jul-2011.) $)
    cbvrabcsf $p |- { x e. A | ph } = { y e. B | ps } $=
      ( vz vv cv wcel wa cab wsb nfcri crab csb nfcsb1v nfs1v nfan wceq csbeq1a
      nfv id eleq12d sbequ12 anbi12d cbvab nfcv nfcsb nfsb csbeq1 df-csb eleq2d
      wsbc weq sbie sbsbc bitr3i abbi2i eqtr4i syl6eq sbequ syl6bb eqtri df-rab
      3eqtr4i ) COZEPZAQZCRZDOZFPZBQZDRZACEUABDFUAVPMOZCWAEUBZPZACMSZQZMRVTVOWE
      CMVOMUHWCWDCCMWBCWAEUCTACMUDUEVMWAUFZVNWCAWDWFVMWAEWBWFUICWAEUGUJACMUKULU
      MWEVSMDWCWDDDMWBDCWAEDWAUNGUOTACMDIUPUEVSMUHWAVQUFZWCVRWDBWGWAVQWBFWGUIWG
      WBCVQEUBZFCWAVQEUQWHNOZEPZCVQUTZNRFCNVQEURWKNFWIFPZWJCDSWKWJWLCDCNFHTCDVA
      EFWIKUSVBWJCDVCVDVEVFVGUJWGWDACDSBAMDCVHABCDJLVBVIULUMVJACEVKBDFVKVL $.
  $}

  ${
    $d A y $.  $d ps y $.  $d B x $.  $d ch x $.
    cbvralv2.1 $e |- ( x = y -> ( ps <-> ch ) ) $.
    cbvralv2.2 $e |- ( x = y -> A = B ) $.
    $( Rule used to change the bound variable in a restricted universal
       quantifier with implicit substitution which also changes the quantifier
       domain.  (Contributed by David Moews, 1-May-2017.) $)
    cbvralv2 $p |- ( A. x e. A ps <-> A. y e. B ch ) $=
      ( nfcv nfv cbvralcsf ) ABCDEFDEICFIADJBCJHGK $.

    $( Rule used to change the bound variable in a restricted existential
       quantifier with implicit substitution which also changes the quantifier
       domain.  (Contributed by David Moews, 1-May-2017.) $)
    cbvrexv2 $p |- ( E. x e. A ps <-> E. y e. B ch ) $=
      ( nfcv nfv cbvrexcsf ) ABCDEFDEICFIADJBCJHGK $.
  $}


$(
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
        Define boolean set operations
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
$)

  $( Declare new symbols. $)
  $c -i^i $. $( Lined cap (anti-intersection) $)
  $c ~ $. $( Tilde (complement) $)
  $c \ $. $( Backslash (difference) $)
  $c u. $. $( Cup (union) $)
  $c i^i $. $( Cap (intersection) $)
  $c (+) $. $( Circled plus (symmetric difference) $)

  $( Extend class notation to include anti-intersection (read:  "the
     anti-intersection of ` A ` and ` B ` "). $)
  cnin $a class ( A -i^i B ) $.

  $( Extend class notation to include complement.  (read:  "the complement of
     ` A ` " ). $)
  ccompl $a class ~ A $.

  $( Extend class notation to include class difference (read:  " ` A ` minus
     ` B ` "). $)
  cdif $a class ( A \ B ) $.

  $( Extend class notation to include union of two classes (read:  " ` A `
     union ` B ` "). $)
  cun $a class ( A u. B ) $.

  $( Extend class notation to include the intersection of two classes
     (read:  " ` A ` intersect ` B ` "). $)
  cin $a class ( A i^i B ) $.

  $( Extend class notation to include the symmetric difference of two
     classes. $)
  csymdif $a class ( A (+) B ) $.

  ${
    $d A x y $.  $d B x y $.
    $( Soundness theorem for ~ df-nin .  (Contributed by SF, 10-Jan-2015.) $)
    ninjust $p |- { x | ( x e. A -/\ x e. B ) } =
             { y | ( y e. A -/\ y e. B ) } $=
      ( cv wcel wnan weq eleq1 nanbi12d cbvabv ) AEZCFZLDFZGBEZCFZODFZGABABHMPN
      QLOCILODIJK $.
  $}

  ${
    $d x A $.  $d x B $.

    $( Define the anti-intersection of two classes.  This operation is used
       implicitly after Axiom P1 of [Hailperin] p. 6, though there does not
       seem to be any notation for it in the literature.  (Contributed by SF,
       10-Jan-2015.) $)
    df-nin $a |- ( A -i^i B ) = { x | ( x e. A -/\ x e. B ) } $.
  $}

  $( Define the complement of a class.  Compare ~ nic-dfneg .  (Contributed by
     SF, 10-Jan-2015.) $)
  df-compl $a |- ~ A = ( A -i^i A ) $.

  $( Define the intersection of two classes.  See ~ elin for membership.
     (Contributed by SF, 10-Jan-2015.) $)
  df-in $a |- ( A i^i B ) = ~ ( A -i^i B ) $.

  $( Define the union of two classes.  See ~ elun for membership.  (Contributed
     by SF, 10-Jan-2015.) $)
  df-un $a |- ( A u. B ) = ( ~ A -i^i ~ B ) $.

  $( Define the difference of two classes.  See ~ eldif for membership.
     (Contributed by SF, 10-Jan-2015.) $)
  df-dif $a |- ( A \ B ) = ( A i^i ~ B ) $.

  $( Define the symmetric difference of two classes.  Definition IX.9.10,
     [Rosser] p. 238.  (Contributed by SF, 10-Jan-2015.) $)
  df-symdif $a |- ( A (+) B ) = ( ( A \ B ) u. ( B \ A ) ) $.

  ${
    $d A x $.  $d B x $.  $d C x $.
    $( Membership in anti-intersection.  (Contributed by SF, 10-Jan-2015.) $)
    elning $p |- ( A e. V ->
            ( A e. ( B -i^i C ) <-> ( A e. B -/\ A e. C ) ) ) $=
      ( vx cv wcel wnan cnin wceq eleq1 nanbi12d df-nin elab2g ) EFZBGZOCGZHABG
      ZACGZHEABCIDOAJPRQSOABKOACKLEBCMN $.
  $}

  $( Membership in class complement.  (Contributed by SF, 10-Jan-2015.) $)
  elcomplg $p |- ( A e. V -> ( A e. ~ B <-> -. A e. B ) ) $=
    ( ccompl wcel cnin wn df-compl eleq2i elning wa df-nan anidm xchbinx syl6bb
    wnan syl5bb ) ABDZEABBFZEZACEZABEZGZRSABHIUATUBUBPZUCABBCJUDUBUBKUBUBUBLUBM
    NOQ $.

  $( Membership in intersection.  (Contributed by SF, 10-Jan-2015.) $)
  elin $p |- ( A e. ( B i^i C ) <-> ( A e. B /\ A e. C ) ) $=
    ( cin wcel cvv wa elex adantr cnin ccompl wnan elcomplg elning notbid bitrd
    wn df-in eleq2i df-nan con2bii 3bitr4g pm5.21nii ) ABCDZEZAFEZABEZACEZGZAUD
    HUGUFUHABHIUFABCJZKZEZUGUHLZQZUEUIUFULAUJEZQUNAUJFMUFUOUMABCFNOPUDUKABCRSUM
    UIUGUHTUAUBUC $.

  $( Membership in union.  (Contributed by SF, 10-Jan-2015.) $)
  elun $p |- ( A e. ( B u. C ) <-> ( A e. B \/ A e. C ) ) $=
    ( cun wcel cvv wo elex jaoi ccompl cnin wnan elning elcomplg nanbi12d bitrd
    wn df-un eleq2i wa oran df-nan bitr4i 3bitr4g pm5.21nii ) ABCDZEZAFEZABEZAC
    EZGZAUFHUIUHUJABHACHIUHABJZCJZKZEZUIQZUJQZLZUGUKUHUOAULEZAUMEZLURAULUMFMUHU
    SUPUTUQABFNACFNOPUFUNABCRSUKUPUQTQURUIUJUAUPUQUBUCUDUE $.

  $( Membership in difference.  (Contributed by SF, 10-Jan-2015.) $)
  eldif $p |- ( A e. ( B \ C ) <-> ( A e. B /\ -. A e. C ) ) $=
    ( cdif wcel ccompl cin wa wn df-dif eleq2i elin elcomplg pm5.32i 3bitri ) A
    BCDZEABCFZGZEABEZAQEZHSACEIZHPRABCJKABQLSTUAACBMNO $.

  ${
    $d x A $.  $d x B $.
    $( Alternate definition of class difference.  (Contributed by NM,
       25-Mar-2004.) $)
    dfdif2 $p |- ( A \ B ) = { x e. A | -. x e. B } $=
      ( cdif cv wcel wn wa cab crab eldif abbi2i df-rab eqtr4i ) BCDZAEZBFPCFGZ
      HZAIQABJRAOPBCKLQABMN $.
  $}

  $( Membership in symmetric difference.  (Contributed by SF, 10-Jan-2015.) $)
  elsymdif $p |- ( A e. ( B (+) C ) <-> -. ( A e. B <-> A e. C ) ) $=
    ( cdif cun wcel wn wa wo csymdif wb elun eldif orbi12i df-symdif eleq2i xor
    bitri 3bitr4i ) ABCDZCBDZEZFZABFZACFZGHZUEUDGHZIZABCJZFUDUEKGUCATFZAUAFZIUH
    ATUALUJUFUKUGABCMACBMNRUIUBABCOPUDUEQS $.

  ${
    elbool.1 $e |- A e. _V $.
    $( Membership in anti-intersection.  (Contributed by SF, 10-Jan-2015.) $)
    elnin $p |- ( A e. ( B -i^i C ) <-> ( A e. B -/\ A e. C ) ) $=
      ( cvv wcel cnin wnan wb elning ax-mp ) AEFABCGFABFACFHIDABCEJK $.

    $( Membership in complement.  (Contributed by SF, 10-Jan-2015.) $)
    elcompl $p |- ( A e. ~ B <-> -. A e. B ) $=
      ( cvv wcel ccompl wn wb elcomplg ax-mp ) ADEABFEABEGHCABDIJ $.
  $}

  ${
    $d A x $.  $d B x $.
    $( Anti-intersection commutes.  (Contributed by SF, 10-Jan-2015.) $)
    nincom $p |- ( A -i^i B ) = ( B -i^i A ) $=
      ( vx cnin cv wcel wnan nancom vex elnin 3bitr4i eqriv ) CABDZBADZCEZAFZOB
      FZGQPGOMFONFPQHOABCIZJOBARJKL $.
  $}

  ${
    $d A x $.
    $( Double complement law.  (Contributed by SF, 10-Jan-2015.) $)
    dblcompl $p |- ~ ~ A = A $=
      ( vx ccompl cv wcel wn vex elcompl con2bii bitr4i eqriv ) BACZCZABDZMENLE
      ZFNAEZNLBGZHOPNAQHIJK $.
  $}

  ${
    $d x y $.  $d A y $.  $d B y $.
    nfnin.1 $e |- F/_ x A $.
    nfnin.2 $e |- F/_ x B $.
    $( Hypothesis builder for anti-intersection.  (Contributed by SF,
       2-Jan-2018.) $)
    nfnin $p |- F/_ x ( A -i^i B ) $=
      ( vy cnin cv wcel wnan cab df-nin nfel2 nfnan nfab nfcxfr ) ABCGFHZBIZQCI
      ZJZFKFBCLTAFRSAAQBDMAQCEMNOP $.
  $}

  ${
    nfbool.1 $e |- F/_ x A $.
    $( Hypothesis builder for complement.  (Contributed by SF, 2-Jan-2018.) $)
    nfcompl $p |- F/_ x ~ A $=
      ( ccompl cnin df-compl nfnin nfcxfr ) ABDBBEBFABBCCGH $.

    nfbool.2 $e |- F/_ x B $.
    $( Hypothesis builder for intersection.  (Contributed by SF,
       2-Jan-2018.) $)
    nfin $p |- F/_ x ( A i^i B ) $=
      ( cin cnin ccompl df-in nfnin nfcompl nfcxfr ) ABCFBCGZHBCIAMABCDEJKL $.

    $( Hypothesis builder for union.  (Contributed by SF, 2-Jan-2018.) $)
    nfun $p |- F/_ x ( A u. B ) $=
      ( cun ccompl cnin df-un nfcompl nfnin nfcxfr ) ABCFBGZCGZHBCIAMNABDJACEJK
      L $.

    $( Hypothesis builder for difference.  (Contributed by SF, 2-Jan-2018.) $)
    nfdif $p |- F/_ x ( A \ B ) $=
      ( cdif ccompl cin df-dif nfcompl nfin nfcxfr ) ABCFBCGZHBCIABMDACEJKL $.

    $( Hypothesis builder for symmetric difference.  (Contributed by SF,
       2-Jan-2018.) $)
    nfsymdif $p |- F/_ x ( A (+) B ) $=
      ( csymdif cdif cun df-symdif nfdif nfun nfcxfr ) ABCFBCGZCBGZHBCIAMNABCDE
      JACBEDJKL $.
  $}

  ${
    $d A x $.  $d B x $.  $d C x $.
    $( Equality law for anti-intersection.  (Contributed by SF,
       11-Jan-2015.) $)
    nineq1 $p |- ( A = B -> ( A -i^i C ) = ( B -i^i C ) ) $=
      ( vx wceq cv wcel wnan cab cnin eleq2 nanbi1d abbidv df-nin 3eqtr4g ) ABE
      ZDFZAGZQCGZHZDIQBGZSHZDIACJBCJPTUBDPRUASABQKLMDACNDBCNO $.
  $}

  $( Equality law for anti-intersection.  (Contributed by SF, 11-Jan-2015.) $)
  nineq2 $p |- ( A = B -> ( C -i^i A ) = ( C -i^i B ) ) $=
    ( wceq cnin nineq1 nincom 3eqtr3g ) ABDACEBCECAECBEABCFACGBCGH $.

  $( Equality law for anti-intersection.  (Contributed by SF, 11-Jan-2015.) $)
  nineq12 $p |- ( ( A = B /\ C = D ) -> ( A -i^i C ) = ( B -i^i D ) ) $=
    ( wceq cnin nineq1 nineq2 sylan9eq ) ABECDEACFBCFBDFABCGCDBHI $.

  ${
    nineqi.1 $e |- A = B $.
    $( Equality inference for anti-intersection.  (Contributed by SF,
       11-Jan-2015.) $)
    nineq1i $p |- ( A -i^i C ) = ( B -i^i C ) $=
      ( wceq cnin nineq1 ax-mp ) ABEACFBCFEDABCGH $.

    $( Equality inference for anti-intersection.  (Contributed by SF,
       11-Jan-2015.) $)
    nineq2i $p |- ( C -i^i A ) = ( C -i^i B ) $=
      ( wceq cnin nineq2 ax-mp ) ABECAFCBFEDABCGH $.

    nineq12i.2 $e |- C = D $.
    $( Equality inference for anti-intersection.  (Contributed by SF,
       11-Jan-2015.) $)
    nineq12i $p |- ( A -i^i C ) = ( B -i^i D ) $=
      ( wceq cnin nineq12 mp2an ) ABGCDGACHBDHGEFABCDIJ $.
  $}

  ${
    nineqd.1 $e |- ( ph -> A = B ) $.
    $( Equality deduction for anti-intersection.  (Contributed by SF,
       11-Jan-2015.) $)
    nineq1d $p |- ( ph -> ( A -i^i C ) = ( B -i^i C ) ) $=
      ( wceq cnin nineq1 syl ) ABCFBDGCDGFEBCDHI $.

    $( Equality deduction for anti-intersection.  (Contributed by SF,
       11-Jan-2015.) $)
    nineq2d $p |- ( ph -> ( C -i^i A ) = ( C -i^i B ) ) $=
      ( wceq cnin nineq2 syl ) ABCFDBGDCGFEBCDHI $.

    nineq12d.2 $e |- ( ph -> C = D ) $.
    $( Equality inference for anti-intersection.  (Contributed by SF,
       11-Jan-2015.) $)
    nineq12d $p |- ( ph -> ( A -i^i C ) = ( B -i^i D ) ) $=
      ( wceq cnin nineq12 syl2anc ) ABCHDEHBDICEIHFGBCDEJK $.
  $}

  $( Equality law for complement.  (Contributed by SF, 11-Jan-2015.) $)
  compleq $p |- ( A = B -> ~ A = ~ B ) $=
    ( wceq cnin ccompl nineq12 anidms df-compl 3eqtr4g ) ABCZAADZBBDZAEBEJKLCAB
    ABFGAHBHI $.

  ${
    compleqi.1 $e |- A = B $.
    $( Equality inference for complement.  (Contributed by SF, 11-Jan-2015.) $)
    compleqi $p |- ~ A = ~ B $=
      ( wceq ccompl compleq ax-mp ) ABDAEBEDCABFG $.
  $}

  ${
    compleqd.1 $e |- ( ph -> A = B ) $.
    $( Equality deduction for complement.  (Contributed by SF, 11-Jan-2015.) $)
    compleqd $p |- ( ph -> ~ A = ~ B ) $=
      ( wceq ccompl compleq syl ) ABCEBFCFEDBCGH $.
  $}

  $( Equality theorem for class difference.  (Contributed by NM, 10-Feb-1997.)
     (Proof shortened by Andrew Salmon, 26-Jun-2011.) $)
  difeq1 $p |- ( A = B -> ( A \ C ) = ( B \ C ) ) $=
    ( wceq ccompl cnin cdif nineq1 compleqd cin df-dif df-in eqtri 3eqtr4g ) AB
    DZACEZFZEZBPFZEZACGZBCGZOQSABPHIUAAPJRACKAPLMUBBPJTBCKBPLMN $.

  $( Equality theorem for class difference.  (Contributed by NM, 10-Feb-1997.)
     (Proof shortened by Andrew Salmon, 26-Jun-2011.) $)
  difeq2 $p |- ( A = B -> ( C \ A ) = ( C \ B ) ) $=
    ( wceq ccompl cnin cdif compleq nineq2d compleqd df-dif df-in eqtri 3eqtr4g
    cin ) ABDZCAEZFZEZCBEZFZEZCAGZCBGZPRUAPQTCABHIJUCCQOSCAKCQLMUDCTOUBCBKCTLMN
    $.

  $( Equality law for intersection.  (Contributed by SF, 11-Jan-2015.) $)
  symdifeq1 $p |- ( A = B -> ( A (+) C ) = ( B (+) C ) ) $=
    ( wceq cdif ccompl cnin difeq1 compleqd difeq2 nineq12d cun df-symdif df-un
    csymdif eqtri 3eqtr4g ) ABDZACEZFZCAEZFZGZBCEZFZCBEZFZGZACOZBCOZRTUEUBUGRSU
    DABCHIRUAUFABCJIKUISUALUCACMSUANPUJUDUFLUHBCMUDUFNPQ $.

  $( Equality law for intersection.  (Contributed by SF, 11-Jan-2015.) $)
  symdifeq2 $p |- ( A = B -> ( C (+) A ) = ( C (+) B ) ) $=
    ( wceq cdif ccompl cnin difeq2 compleqd difeq1 nineq12d cun df-symdif df-un
    csymdif eqtri 3eqtr4g ) ABDZCAEZFZACEZFZGZCBEZFZBCEZFZGZCAOZCBOZRTUEUBUGRSU
    DABCHIRUAUFABCJIKUISUALUCCAMSUANPUJUDUFLUHCBMUDUFNPQ $.

  $( Equality law for intersection.  (Contributed by SF, 11-Jan-2015.) $)
  symdifeq12 $p |- ( ( A = B /\ C = D ) -> ( A (+) C ) = ( B (+) D ) ) $=
    ( wceq csymdif symdifeq1 symdifeq2 sylan9eq ) ABECDEACFBCFBDFABCGCDBHI $.

  ${
    symdifeqi.1 $e |- A = B $.
    $( Equality inference for symmetric difference.  (Contributed by SF,
       11-Jan-2015.) $)
    symdifeq1i $p |- ( A (+) C ) = ( B (+) C ) $=
      ( wceq csymdif symdifeq1 ax-mp ) ABEACFBCFEDABCGH $.

    $( Equality inference for symmetric difference.  (Contributed by SF,
       11-Jan-2015.) $)
    symdifeq2i $p |- ( C (+) A ) = ( C (+) B ) $=
      ( wceq csymdif symdifeq2 ax-mp ) ABECAFCBFEDABCGH $.

    symdifeq12i.2 $e |- C = D $.
    $( Equality inference for symmetric difference.  (Contributed by SF,
       11-Jan-2015.) $)
    symdifeq12i $p |- ( A (+) C ) = ( B (+) D ) $=
      ( wceq csymdif symdifeq12 mp2an ) ABGCDGACHBDHGEFABCDIJ $.
  $}

  ${
    symdifeqd.1 $e |- ( ph -> A = B ) $.
    $( Equality deduction for symmetric difference.  (Contributed by SF,
       11-Jan-2015.) $)
    symdifeq1d $p |- ( ph -> ( A (+) C ) = ( B (+) C ) ) $=
      ( wceq csymdif symdifeq1 syl ) ABCFBDGCDGFEBCDHI $.

    $( Equality deduction for symmetric difference.  (Contributed by SF,
       11-Jan-2015.) $)
    symdifeq2d $p |- ( ph -> ( C (+) A ) = ( C (+) B ) ) $=
      ( wceq csymdif symdifeq2 syl ) ABCFDBGDCGFEBCDHI $.

    symdifeq12d.2 $e |- ( ph -> C = D ) $.
    $( Equality inference for symmetric difference.  (Contributed by SF,
       11-Jan-2015.) $)
    symdifeq12d $p |- ( ph -> ( A (+) C ) = ( B (+) D ) ) $=
      ( wceq csymdif symdifeq12 syl2anc ) ABCHDEHBDICEIHFGBCDEJK $.
  $}


$(
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
        Subclasses and subsets
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
$)

  $c C_ $. $( Subclass or subset symbol $)
  $c C. $. $( Proper subclass or subset symbol $)

  $( Extend wff notation to include the subclass relation.  This is
     read " ` A ` is a subclass of ` B ` " or " ` B ` includes ` A ` ."  When
     ` A ` exists as a set, it is also read " ` A ` is a subset of ` B ` ." $)
  wss $a wff A C_ B $.

  $( Extend wff notation with proper subclass relation. $)
  wpss $a wff A C. B $.

  $( Define the subclass relationship.  Exercise 9 of [TakeutiZaring] p. 18.
     For example, ` { ` 1 , 2 ` } C_ { ` 1 , 2 , 3 ` } ` (ex-ss in set.mm).
     Note that ` A C_ A ` (proved in ~ ssid ).  Contrast this relationship with
     the relationship ` A C. B ` (as will be defined in ~ df-pss ).  For a more
     traditional definition, but requiring a dummy variable, see ~ dfss2 .
     Other possible definitions are given by ~ dfss3 , ~ dfss4 , ~ sspss ,
     ~ ssequn1 , ~ ssequn2 , ~ sseqin2 , and ~ ssdif0 .  (Contributed by NM,
     27-Apr-1994.) $)
  df-ss $a |- ( A C_ B <-> ( A i^i B ) = A ) $.

  $( Variant of subclass definition ~ df-ss .  (Contributed by NM,
     3-Sep-2004.) $)
  dfss $p |- ( A C_ B <-> A = ( A i^i B ) ) $=
    ( wss cin wceq df-ss eqcom bitri ) ABCABDZAEAIEABFIAGH $.

  $( Define proper subclass relationship between two classes.  Definition 5.9
     of [TakeutiZaring] p. 17.  For example, ` { ` 1 , 2 ` } C. { ` 1 , 2 , 3
     ` } ` (ex-pss in set.mm).  Note that ` -. A C. A ` (proved in ~ pssirr ).
     Contrast this relationship with the relationship ` A C_ B ` (as defined in
     ~ df-ss ).  Other possible definitions are given by ~ dfpss2 and
     ~ dfpss3 .  (Contributed by NM, 7-Feb-1996.) $)
  df-pss $a |- ( A C. B <-> ( A C_ B /\ A =/= B ) ) $.

  ${
    $d x A $.  $d x B $.
    $( Alternate definition of the subclass relationship between two classes.
       Definition 5.9 of [TakeutiZaring] p. 17.  (Contributed by NM,
       8-Jan-2002.) $)
    dfss2 $p |- ( A C_ B <-> A. x ( x e. A -> x e. B ) ) $=
      ( wss cv wcel wa wb wal wi cin wceq dfss dfcleq bibi2i albii bitri pm4.71
      elin bitr4i ) BCDZAEZBFZUCUBCFZGZHZAIZUCUDJZAIUABBCKZLZUGBCMUJUCUBUIFZHZA
      IUGABUINULUFAUKUEUCUBBCSOPQQUHUFAUCUDRPT $.

    $( Alternate definition of subclass relationship.  (Contributed by NM,
       14-Oct-1999.) $)
    dfss3 $p |- ( A C_ B <-> A. x e. A x e. B ) $=
      ( wss cv wcel wi wal wral dfss2 df-ral bitr4i ) BCDAEZBFMCFZGAHNABIABCJNA
      BKL $.
  $}

  ${
    $d z A $.  $d z B $.  $d x z $.
    dfss2f.1 $e |- F/_ x A $.
    dfss2f.2 $e |- F/_ x B $.
    $( Equivalence for subclass relation, using bound-variable hypotheses
       instead of distinct variable conditions.  (Contributed by NM,
       3-Jul-1994.)  (Revised by Andrew Salmon, 27-Aug-2011.) $)
    dfss2f $p |- ( A C_ B <-> A. x ( x e. A -> x e. B ) ) $=
      ( vz wss cv wcel wal dfss2 nfcri nfim nfv wceq eleq1 imbi12d cbval bitri
      wi ) BCGFHZBIZUACIZTZFJAHZBIZUECIZTZAJFBCKUDUHFAUBUCAAFBDLAFCELMUHFNUAUEO
      UBUFUCUGUAUEBPUAUECPQRS $.

    $( Equivalence for subclass relation, using bound-variable hypotheses
       instead of distinct variable conditions.  (Contributed by NM,
       20-Mar-2004.) $)
    dfss3f $p |- ( A C_ B <-> A. x e. A x e. B ) $=
      ( wss cv wcel wi wal wral dfss2f df-ral bitr4i ) BCFAGZBHOCHZIAJPABKABCDE
      LPABMN $.

    $( If ` x ` is not free in ` A ` and ` B ` , it is not free in
       ` A C_ B ` .  (Contributed by NM, 27-Dec-1996.) $)
    nfss $p |- F/ x A C_ B $=
      ( wss cv wcel wral dfss3f nfra1 nfxfr ) BCFAGCHZABIAABCDEJMABKL $.
  $}

  ${
    $d x A $.  $d x B $.  $d x C $.
    $( Membership relationships follow from a subclass relationship.
       (Contributed by NM, 5-Aug-1993.) $)
    ssel $p |- ( A C_ B -> ( C e. A -> C e. B ) ) $=
      ( vx wss cv wceq wa wex wi wal dfss2 biimpi 19.21bi anim2d eximdv df-clel
      wcel 3imtr4g ) ABEZDFZCGZUAARZHZDIUBUABRZHZDICARCBRTUDUFDTUCUEUBTUCUEJZDT
      UGDKDABLMNOPDCAQDCBQS $.
  $}

  $( Membership relationships follow from a subclass relationship.
     (Contributed by NM, 7-Jun-2004.) $)
  ssel2 $p |- ( ( A C_ B /\ C e. A ) -> C e. B ) $=
    ( wss wcel ssel imp ) ABDCAECBEABCFG $.

  ${
    sseli.1 $e |- A C_ B $.
    $( Membership inference from subclass relationship.  (Contributed by NM,
       5-Aug-1993.) $)
    sseli $p |- ( C e. A -> C e. B ) $=
      ( wss wcel wi ssel ax-mp ) ABECAFCBFGDABCHI $.

    ${
      sselii.2 $e |- C e. A $.
      $( Membership inference from subclass relationship.  (Contributed by NM,
         31-May-1999.) $)
      sselii $p |- C e. B $=
        ( wcel sseli ax-mp ) CAFCBFEABCDGH $.
    $}

    ${
      sseldi.2 $e |- ( ph -> C e. A ) $.
      $( Membership inference from subclass relationship.  (Contributed by NM,
         25-Jun-2014.) $)
      sseldi $p |- ( ph -> C e. B ) $=
        ( wcel sseli syl ) ADBGDCGFBCDEHI $.
    $}
  $}

  ${
    sseld.1 $e |- ( ph -> A C_ B ) $.
    $( Membership deduction from subclass relationship.  (Contributed by NM,
       15-Nov-1995.) $)
    sseld $p |- ( ph -> ( C e. A -> C e. B ) ) $=
      ( wss wcel wi ssel syl ) ABCFDBGDCGHEBCDIJ $.

    $( Membership deduction from subclass relationship.  (Contributed by NM,
       26-Jun-2014.) $)
    sselda $p |- ( ( ph /\ C e. A ) -> C e. B ) $=
      ( wcel sseld imp ) ADBFDCFABCDEGH $.

    ${
      sseldd.2 $e |- ( ph -> C e. A ) $.
      $( Membership inference from subclass relationship.  (Contributed by NM,
         14-Dec-2004.) $)
      sseldd $p |- ( ph -> C e. B ) $=
        ( wcel sseld mpd ) ADBGDCGFABCDEHI $.
    $}
  $}

  ${
    ssneld.1 $e |- ( ph -> A C_ B ) $.
    $( If a class is not in another class, it is also not in a subclass of that
       class.  Deduction form.  (Contributed by David Moews, 1-May-2017.) $)
    ssneld $p |- ( ph -> ( -. C e. B -> -. C e. A ) ) $=
      ( wcel sseld con3d ) ADBFDCFABCDEGH $.

    ssneldd.2 $e |- ( ph -> -. C e. B ) $.
    $( If an element is not in a class, it is also not in a subclass of that
       class.  Deduction form.  (Contributed by David Moews, 1-May-2017.) $)
    ssneldd $p |- ( ph -> -. C e. A ) $=
      ( wcel wn ssneld mpd ) ADCGHDBGHFABCDEIJ $.
  $}

  ${
    $d x A $.  $d x B $.
    ssriv.1 $e |- ( x e. A -> x e. B ) $.
    $( Inference rule based on subclass definition.  (Contributed by NM,
       5-Aug-1993.) $)
    ssriv $p |- A C_ B $=
      ( wss cv wcel wi dfss2 mpgbir ) BCEAFZBGKCGHAABCIDJ $.
  $}

  ${
    $d x A $.  $d x B $.  $d x ph $.
    ssrdv.1 $e |- ( ph -> ( x e. A -> x e. B ) ) $.
    $( Deduction rule based on subclass definition.  (Contributed by NM,
       15-Nov-1995.) $)
    ssrdv $p |- ( ph -> A C_ B ) $=
      ( cv wcel wi wal wss alrimiv dfss2 sylibr ) ABFZCGNDGHZBICDJAOBEKBCDLM $.
  $}

  ${
    $d x A $.  $d x B $.  $d x C $.
    $( Transitivity of subclasses.  Exercise 5 of [TakeutiZaring] p. 17.
       (Contributed by NM, 5-Aug-1993.)  (Proof shortened by Andrew Salmon,
       14-Jun-2011.) $)
    sstr2 $p |- ( A C_ B -> ( B C_ C -> A C_ C ) ) $=
      ( vx wss cv wcel wi wal ssel imim1d alimdv dfss2 3imtr4g ) ABEZDFZBGZPCGZ
      HZDIPAGZRHZDIBCEACEOSUADOTQRABPJKLDBCMDACMN $.
  $}

  $( Transitivity of subclasses.  Theorem 6 of [Suppes] p. 23.  (Contributed by
     NM, 5-Sep-2003.) $)
  sstr $p |- ( ( A C_ B /\ B C_ C ) -> A C_ C ) $=
    ( wss sstr2 imp ) ABDBCDACDABCEF $.

  ${
    sstri.1 $e |- A C_ B $.
    sstri.2 $e |- B C_ C $.
    $( Subclass transitivity inference.  (Contributed by NM, 5-May-2000.) $)
    sstri $p |- A C_ C $=
      ( wss sstr2 mp2 ) ABFBCFACFDEABCGH $.
  $}

  ${
    sstrd.1 $e |- ( ph -> A C_ B ) $.
    sstrd.2 $e |- ( ph -> B C_ C ) $.
    $( Subclass transitivity deduction.  (Contributed by NM, 2-Jun-2004.) $)
    sstrd $p |- ( ph -> A C_ C ) $=
      ( wss sstr syl2anc ) ABCGCDGBDGEFBCDHI $.
  $}

  ${
    syl5ss.1 $e |- A C_ B $.
    syl5ss.2 $e |- ( ph -> B C_ C ) $.
    $( Subclass transitivity deduction.  (Contributed by NM, 6-Feb-2014.) $)
    syl5ss $p |- ( ph -> A C_ C ) $=
      ( wss a1i sstrd ) ABCDBCGAEHFI $.
  $}

  ${
    syl6ss.1 $e |- ( ph -> A C_ B ) $.
    syl6ss.2 $e |- B C_ C $.
    $( Subclass transitivity deduction.  (Contributed by Jonathan Ben-Naim,
       3-Jun-2011.) $)
    syl6ss $p |- ( ph -> A C_ C ) $=
      ( wss a1i sstrd ) ABCDECDGAFHI $.
  $}

  ${
    sylan9ss.1 $e |- ( ph -> A C_ B ) $.
    sylan9ss.2 $e |- ( ps -> B C_ C ) $.
    $( A subclass transitivity deduction.  (Contributed by NM, 27-Sep-2004.)
       (Proof shortened by Andrew Salmon, 14-Jun-2011.) $)
    sylan9ss $p |- ( ( ph /\ ps ) -> A C_ C ) $=
      ( wss sstr syl2an ) ACDHDEHCEHBFGCDEIJ $.
  $}

  ${
    sylan9ssr.1 $e |- ( ph -> A C_ B ) $.
    sylan9ssr.2 $e |- ( ps -> B C_ C ) $.
    $( A subclass transitivity deduction.  (Contributed by NM, 27-Sep-2004.) $)
    sylan9ssr $p |- ( ( ps /\ ph ) -> A C_ C ) $=
      ( wss sylan9ss ancoms ) ABCEHABCDEFGIJ $.
  $}

  ${
    $d x A $.  $d x B $.
    $( The subclass relationship is antisymmetric.  Compare Theorem 4 of
       [Suppes] p. 22.  (Contributed by NM, 5-Aug-1993.) $)
    eqss $p |- ( A = B <-> ( A C_ B /\ B C_ A ) ) $=
      ( vx cv wcel wb wal wi wa wceq wss albiim dfcleq dfss2 anbi12i 3bitr4i )
      CDZAEZQBEZFCGRSHCGZSRHCGZIABJABKZBAKZIRSCLCABMUBTUCUACABNCBANOP $.
  $}

  ${
    eqssi.1 $e |- A C_ B $.
    eqssi.2 $e |- B C_ A $.
    $( Infer equality from two subclass relationships.  Compare Theorem 4 of
       [Suppes] p. 22.  (Contributed by NM, 9-Sep-1993.) $)
    eqssi $p |- A = B $=
      ( wceq wss eqss mpbir2an ) ABEABFBAFCDABGH $.
  $}

  ${
    eqssd.1 $e |- ( ph -> A C_ B ) $.
    eqssd.2 $e |- ( ph -> B C_ A ) $.
    $( Equality deduction from two subclass relationships.  Compare Theorem 4
       of [Suppes] p. 22.  (Contributed by NM, 27-Jun-2004.) $)
    eqssd $p |- ( ph -> A = B ) $=
      ( wss wceq eqss sylanbrc ) ABCFCBFBCGDEBCHI $.
  $}

  ${
    $d A x $.
    $( Any class is a subclass of itself.  Exercise 10 of [TakeutiZaring]
       p. 18.  (Contributed by NM, 5-Aug-1993.)  (Proof shortened by Andrew
       Salmon, 14-Jun-2011.) $)
    ssid $p |- A C_ A $=
      ( vx cv wcel id ssriv ) BAABCADEF $.
  $}

  ${
    $d A x $.
    $( Any class is a subclass of the universal class.  (Contributed by NM,
       31-Oct-1995.) $)
    ssv $p |- A C_ _V $=
      ( vx cvv cv elex ssriv ) BACBDAEF $.
  $}

  $( Equality theorem for subclasses.  (Contributed by NM, 5-Aug-1993.)  (Proof
     shortened by Andrew Salmon, 21-Jun-2011.) $)
  sseq1 $p |- ( A = B -> ( A C_ C <-> B C_ C ) ) $=
    ( wceq wss wa wb eqss wi sstr2 adantl adantr impbid sylbi ) ABDABEZBAEZFZAC
    EZBCEZGABHQRSPRSIOBACJKOSRIPABCJLMN $.

  $( Equality theorem for the subclass relationship.  (Contributed by NM,
     25-Jun-1998.) $)
  sseq2 $p |- ( A = B -> ( C C_ A <-> C C_ B ) ) $=
    ( wss wa wi wceq wb sstr2 com12 anim12i eqss dfbi2 3imtr4i ) ABDZBADZECADZC
    BDZFZRQFZEABGQRHOSPTQORCABIJRPQCBAIJKABLQRMN $.

  $( Equality theorem for the subclass relationship.  (Contributed by NM,
     31-May-1999.) $)
  sseq12 $p |- ( ( A = B /\ C = D ) -> ( A C_ C <-> B C_ D ) ) $=
    ( wceq wss sseq1 sseq2 sylan9bb ) ABEACFBCFCDEBDFABCGCDBHI $.

  ${
    sseq1i.1 $e |- A = B $.
    $( An equality inference for the subclass relationship.  (Contributed by
       NM, 18-Aug-1993.) $)
    sseq1i $p |- ( A C_ C <-> B C_ C ) $=
      ( wceq wss wb sseq1 ax-mp ) ABEACFBCFGDABCHI $.

    $( An equality inference for the subclass relationship.  (Contributed by
       NM, 30-Aug-1993.) $)
    sseq2i $p |- ( C C_ A <-> C C_ B ) $=
      ( wceq wss wb sseq2 ax-mp ) ABECAFCBFGDABCHI $.

    ${
      sseq12i.2 $e |- C = D $.
      $( An equality inference for the subclass relationship.  (Contributed by
         NM, 31-May-1999.)  (Proof shortened by Eric Schmidt, 26-Jan-2007.) $)
      sseq12i $p |- ( A C_ C <-> B C_ D ) $=
        ( wceq wss wb sseq12 mp2an ) ABGCDGACHBDHIEFABCDJK $.
    $}
  $}

  ${
    sseq1d.1 $e |- ( ph -> A = B ) $.
    $( An equality deduction for the subclass relationship.  (Contributed by
       NM, 14-Aug-1994.) $)
    sseq1d $p |- ( ph -> ( A C_ C <-> B C_ C ) ) $=
      ( wceq wss wb sseq1 syl ) ABCFBDGCDGHEBCDIJ $.

    $( An equality deduction for the subclass relationship.  (Contributed by
       NM, 14-Aug-1994.) $)
    sseq2d $p |- ( ph -> ( C C_ A <-> C C_ B ) ) $=
      ( wceq wss wb sseq2 syl ) ABCFDBGDCGHEBCDIJ $.

    ${
      sseq12d.2 $e |- ( ph -> C = D ) $.
      $( An equality deduction for the subclass relationship.  (Contributed by
         NM, 31-May-1999.) $)
      sseq12d $p |- ( ph -> ( A C_ C <-> B C_ D ) ) $=
        ( wss sseq1d sseq2d bitrd ) ABDHCDHCEHABCDFIADECGJK $.
    $}
  $}

  ${
    eqsstr.1 $e |- A = B $.
    eqsstr.2 $e |- B C_ C $.
    $( Substitution of equality into a subclass relationship.  (Contributed by
       NM, 16-Jul-1995.) $)
    eqsstri $p |- A C_ C $=
      ( wss sseq1i mpbir ) ACFBCFEABCDGH $.
  $}

  ${
    eqsstr3.1 $e |- B = A $.
    eqsstr3.2 $e |- B C_ C $.
    $( Substitution of equality into a subclass relationship.  (Contributed by
       NM, 19-Oct-1999.) $)
    eqsstr3i $p |- A C_ C $=
      ( eqcomi eqsstri ) ABCBADFEG $.
  $}

  ${
    sseqtr.1 $e |- A C_ B $.
    sseqtr.2 $e |- B = C $.
    $( Substitution of equality into a subclass relationship.  (Contributed by
       NM, 28-Jul-1995.) $)
    sseqtri $p |- A C_ C $=
      ( wss sseq2i mpbi ) ABFACFDBCAEGH $.
  $}

  ${
    sseqtr4.1 $e |- A C_ B $.
    sseqtr4.2 $e |- C = B $.
    $( Substitution of equality into a subclass relationship.  (Contributed by
       NM, 4-Apr-1995.) $)
    sseqtr4i $p |- A C_ C $=
      ( eqcomi sseqtri ) ABCDCBEFG $.
  $}

  ${
    eqsstrd.1 $e |- ( ph -> A = B ) $.
    eqsstrd.2 $e |- ( ph -> B C_ C ) $.
    $( Substitution of equality into a subclass relationship.  (Contributed by
       NM, 25-Apr-2004.) $)
    eqsstrd $p |- ( ph -> A C_ C ) $=
      ( wss sseq1d mpbird ) ABDGCDGFABCDEHI $.
  $}

  ${
    eqsstr3d.1 $e |- ( ph -> B = A ) $.
    eqsstr3d.2 $e |- ( ph -> B C_ C ) $.
    $( Substitution of equality into a subclass relationship.  (Contributed by
       NM, 25-Apr-2004.) $)
    eqsstr3d $p |- ( ph -> A C_ C ) $=
      ( eqcomd eqsstrd ) ABCDACBEGFH $.
  $}

  ${
    sseqtrd.1 $e |- ( ph -> A C_ B ) $.
    sseqtrd.2 $e |- ( ph -> B = C ) $.
    $( Substitution of equality into a subclass relationship.  (Contributed by
       NM, 25-Apr-2004.) $)
    sseqtrd $p |- ( ph -> A C_ C ) $=
      ( wss sseq2d mpbid ) ABCGBDGEACDBFHI $.
  $}

  ${
    sseqtr4d.1 $e |- ( ph -> A C_ B ) $.
    sseqtr4d.2 $e |- ( ph -> C = B ) $.
    $( Substitution of equality into a subclass relationship.  (Contributed by
       NM, 25-Apr-2004.) $)
    sseqtr4d $p |- ( ph -> A C_ C ) $=
      ( eqcomd sseqtrd ) ABCDEADCFGH $.
  $}

  ${
    3sstr3.1 $e |- A C_ B $.
    3sstr3.2 $e |- A = C $.
    3sstr3.3 $e |- B = D $.
    $( Substitution of equality in both sides of a subclass relationship.
       (Contributed by NM, 13-Jan-1996.)  (Proof shortened by Eric Schmidt,
       26-Jan-2007.) $)
    3sstr3i $p |- C C_ D $=
      ( wss sseq12i mpbi ) ABHCDHEACBDFGIJ $.
  $}

  ${
    3sstr4.1 $e |- A C_ B $.
    3sstr4.2 $e |- C = A $.
    3sstr4.3 $e |- D = B $.
    $( Substitution of equality in both sides of a subclass relationship.
       (Contributed by NM, 13-Jan-1996.)  (Proof shortened by Eric Schmidt,
       26-Jan-2007.) $)
    3sstr4i $p |- C C_ D $=
      ( wss sseq12i mpbir ) CDHABHECADBFGIJ $.
  $}

  ${
    3sstr3g.1 $e |- ( ph -> A C_ B ) $.
    3sstr3g.2 $e |- A = C $.
    3sstr3g.3 $e |- B = D $.
    $( Substitution of equality into both sides of a subclass relationship.
       (Contributed by NM, 1-Oct-2000.) $)
    3sstr3g $p |- ( ph -> C C_ D ) $=
      ( wss sseq12i sylib ) ABCIDEIFBDCEGHJK $.
  $}

  ${
    3sstr4g.1 $e |- ( ph -> A C_ B ) $.
    3sstr4g.2 $e |- C = A $.
    3sstr4g.3 $e |- D = B $.
    $( Substitution of equality into both sides of a subclass relationship.
       (Contributed by NM, 16-Aug-1994.)  (Proof shortened by Eric Schmidt,
       26-Jan-2007.) $)
    3sstr4g $p |- ( ph -> C C_ D ) $=
      ( wss sseq12i sylibr ) ABCIDEIFDBECGHJK $.
  $}

  ${
    3sstr3d.1 $e |- ( ph -> A C_ B ) $.
    3sstr3d.2 $e |- ( ph -> A = C ) $.
    3sstr3d.3 $e |- ( ph -> B = D ) $.
    $( Substitution of equality into both sides of a subclass relationship.
       (Contributed by NM, 1-Oct-2000.) $)
    3sstr3d $p |- ( ph -> C C_ D ) $=
      ( wss sseq12d mpbid ) ABCIDEIFABDCEGHJK $.
  $}

  ${
    3sstr4d.1 $e |- ( ph -> A C_ B ) $.
    3sstr4d.2 $e |- ( ph -> C = A ) $.
    3sstr4d.3 $e |- ( ph -> D = B ) $.
    $( Substitution of equality into both sides of a subclass relationship.
       (Contributed by NM, 30-Nov-1995.)  (Proof shortened by Eric Schmidt,
       26-Jan-2007.) $)
    3sstr4d $p |- ( ph -> C C_ D ) $=
      ( wss sseq12d mpbird ) ADEIBCIFADBECGHJK $.
  $}

  ${
    syl5eqss.1 $e |- A = B $.
    syl5eqss.2 $e |- ( ph -> B C_ C ) $.
    $( B chained subclass and equality deduction.  (Contributed by NM,
       25-Apr-2004.) $)
    syl5eqss $p |- ( ph -> A C_ C ) $=
      ( wss sseq1i sylibr ) ACDGBDGFBCDEHI $.
  $}

  ${
    syl5eqssr.1 $e |- B = A $.
    syl5eqssr.2 $e |- ( ph -> B C_ C ) $.
    $( B chained subclass and equality deduction.  (Contributed by NM,
       25-Apr-2004.) $)
    syl5eqssr $p |- ( ph -> A C_ C ) $=
      ( eqcomi syl5eqss ) ABCDCBEGFH $.
  $}

  ${
    syl6sseq.1 $e |- ( ph -> A C_ B ) $.
    syl6sseq.2 $e |- B = C $.
    $( A chained subclass and equality deduction.  (Contributed by NM,
       25-Apr-2004.) $)
    syl6sseq $p |- ( ph -> A C_ C ) $=
      ( wss sseq2i sylib ) ABCGBDGECDBFHI $.
  $}

  ${
    syl6ssr.1 $e |- ( ph -> A C_ B ) $.
    syl6ssr.2 $e |- C = B $.
    $( A chained subclass and equality deduction.  (Contributed by NM,
       25-Apr-2004.) $)
    syl6sseqr $p |- ( ph -> A C_ C ) $=
      ( eqcomi syl6sseq ) ABCDEDCFGH $.
  $}

  ${
    syl5sseq.1 $e |- B C_ A $.
    syl5sseq.2 $e |- ( ph -> A = C ) $.
    $( Subclass transitivity deduction.  (Contributed by Jonathan Ben-Naim,
       3-Jun-2011.) $)
    syl5sseq $p |- ( ph -> B C_ C ) $=
      ( wceq wss sseq2 biimpa sylancl ) ABDGZCBHZCDHZFELMNBDCIJK $.
  $}

  ${
    syl5sseqr.1 $e |- B C_ A $.
    syl5sseqr.2 $e |- ( ph -> C = A ) $.
    $( Subclass transitivity deduction.  (Contributed by Jonathan Ben-Naim,
       3-Jun-2011.) $)
    syl5sseqr $p |- ( ph -> B C_ C ) $=
      ( wss a1i sseqtr4d ) ACBDCBGAEHFI $.
  $}

  ${
    syl6eqss.1 $e |- ( ph -> A = B ) $.
    syl6eqss.2 $e |- B C_ C $.
    $( A chained subclass and equality deduction.  (Contributed by Mario
       Carneiro, 2-Jan-2017.) $)
    syl6eqss $p |- ( ph -> A C_ C ) $=
      ( wss a1i eqsstrd ) ABCDECDGAFHI $.
  $}

  ${
    syl6eqssr.1 $e |- ( ph -> B = A ) $.
    syl6eqssr.2 $e |- B C_ C $.
    $( A chained subclass and equality deduction.  (Contributed by Mario
       Carneiro, 2-Jan-2017.) $)
    syl6eqssr $p |- ( ph -> A C_ C ) $=
      ( eqcomd syl6eqss ) ABCDACBEGFH $.
  $}

  $( Equality implies the subclass relation.  (Contributed by NM, 5-Aug-1993.)
     (Proof shortened by Andrew Salmon, 21-Jun-2011.) $)
  eqimss $p |- ( A = B -> A C_ B ) $=
    ( wceq wss eqss simplbi ) ABCABDBADABEF $.

  $( Equality implies the subclass relation.  (Contributed by NM,
     23-Nov-2003.) $)
  eqimss2 $p |- ( B = A -> A C_ B ) $=
    ( wss eqimss eqcoms ) ABCABABDE $.

  ${
    eqimssi.1 $e |- A = B $.
    $( Infer subclass relationship from equality.  (Contributed by NM,
       6-Jan-2007.) $)
    eqimssi $p |- A C_ B $=
      ( ssid sseqtri ) AABADCE $.

    $( Infer subclass relationship from equality.  (Contributed by NM,
       7-Jan-2007.) $)
    eqimss2i $p |- B C_ A $=
      ( ssid sseqtr4i ) BBABDCE $.
  $}

  $( Two classes are different if they don't include the same class.
     (Contributed by NM, 23-Apr-2015.) $)
  nssne1 $p |- ( ( A C_ B /\ -. A C_ C ) -> B =/= C ) $=
    ( wss wn wne wceq sseq2 biimpcd necon3bd imp ) ABDZACDZEBCFLMBCBCGLMBCAHIJK
    $.

  $( Two classes are different if they are not subclasses of the same class.
     (Contributed by NM, 23-Apr-2015.) $)
  nssne2 $p |- ( ( A C_ C /\ -. B C_ C ) -> A =/= B ) $=
    ( wss wn wne wceq sseq1 biimpcd necon3bd imp ) ACDZBCDZEABFLMABABGLMABCHIJK
    $.

  ${
    $d x A $.  $d x B $.
    $( Negation of subclass relationship.  Exercise 13 of [TakeutiZaring]
       p. 18.  (Contributed by NM, 25-Feb-1996.)  (Proof shortened by Andrew
       Salmon, 21-Jun-2011.) $)
    nss $p |- ( -. A C_ B <-> E. x ( x e. A /\ -. x e. B ) ) $=
      ( cv wcel wn wa wex wss wi wal exanali dfss2 xchbinxr bicomi ) ADZBEZPCEZ
      FGAHZBCIZFSQRJAKTQRALABCMNO $.
  $}

  ${
    $d x A $.  $d x B $.
    $( Quantification restricted to a subclass.  (Contributed by NM,
       11-Mar-2006.) $)
    ssralv $p |- ( A C_ B -> ( A. x e. B ph -> A. x e. A ph ) ) $=
      ( wss cv wcel ssel imim1d ralimdv2 ) CDEZAABDCKBFZCGLDGACDLHIJ $.

    $( Existential quantification restricted to a subclass.  (Contributed by
       NM, 11-Jan-2007.) $)
    ssrexv $p |- ( A C_ B -> ( E. x e. A ph -> E. x e. B ph ) ) $=
      ( wss cv wcel ssel anim1d reximdv2 ) CDEZAABCDKBFZCGLDGACDLHIJ $.
  $}

  ${
    $d A x $.  $d B x $.
    $( Restricted universal quantification on a subset in terms of superset.
       (Contributed by Stefan O'Rear, 3-Apr-2015.) $)
    ralss $p |- ( A C_ B -> ( A. x e. A ph <->
          A. x e. B ( x e. A -> ph ) ) ) $=
      ( wss cv wcel wi wa ssel pm4.71rd imbi1d impexp syl6bb ralbidv2 ) CDEZABF
      ZCGZAHZBCDPSQDGZRIZAHTSHPRUAAPRTCDQJKLTRAMNO $.

    $( Restricted existential quantification on a subset in terms of superset.
       (Contributed by Stefan O'Rear, 3-Apr-2015.) $)
    rexss $p |- ( A C_ B -> ( E. x e. A ph <->
          E. x e. B ( x e. A /\ ph ) ) ) $=
      ( wss cv wcel wa ssel pm4.71rd anbi1d anass syl6bb rexbidv2 ) CDEZABFZCGZ
      AHZBCDORPDGZQHZAHSRHOQTAOQSCDPIJKSQALMN $.
  $}

  $( Class abstractions in a subclass relationship.  (Contributed by NM,
     3-Jul-1994.) $)
  ss2ab $p |- ( { x | ph } C_ { x | ps } <-> A. x ( ph -> ps ) ) $=
    ( cab wss cv wcel wi wal nfab1 dfss2f abid imbi12i albii bitri ) ACDZBCDZEC
    FZPGZRQGZHZCIABHZCICPQACJBCJKUAUBCSATBACLBCLMNO $.

  ${
    $d x A $.
    $( Class abstraction in a subclass relationship.  (Contributed by NM,
       16-Aug-2006.) $)
    abss $p |- ( { x | ph } C_ A <-> A. x ( ph -> x e. A ) ) $=
      ( cab wss cv wcel wi wal abid2 sseq2i ss2ab bitr3i ) ABDZCENBFCGZBDZEAOHB
      IPCNBCJKAOBLM $.

    $( Subclass of a class abstraction.  (Contributed by NM, 16-Aug-2006.) $)
    ssab $p |- ( A C_ { x | ph } <-> A. x ( x e. A -> ph ) ) $=
      ( cab wss cv wcel wi wal abid2 sseq1i ss2ab bitr3i ) CABDZEBFCGZBDZNEOAHB
      IPCNBCJKOABLM $.

    $( The relation for a subclass of a class abstraction is equivalent to
       restricted quantification.  (Contributed by NM, 6-Sep-2006.) $)
    ssabral $p |- ( A C_ { x | ph } <-> A. x e. A ph ) $=
      ( cab wss cv wcel wi wal wral ssab df-ral bitr4i ) CABDEBFCGAHBIABCJABCKA
      BCLM $.
  $}

  ${
    ss2abi.1 $e |- ( ph -> ps ) $.
    $( Inference of abstraction subclass from implication.  (Contributed by NM,
       31-Mar-1995.) $)
    ss2abi $p |- { x | ph } C_ { x | ps } $=
      ( cab wss wi ss2ab mpgbir ) ACEBCEFABGCABCHDI $.
  $}

  ${
    $d x ph $.
    ss2abdv.1 $e |- ( ph -> ( ps -> ch ) ) $.
    $( Deduction of abstraction subclass from implication.  (Contributed by NM,
       29-Jul-2011.) $)
    ss2abdv $p |- ( ph -> { x | ps } C_ { x | ch } ) $=
      ( wi wal cab wss alrimiv ss2ab sylibr ) ABCFZDGBDHCDHIAMDEJBCDKL $.
  $}

  ${
    $d x ph $.  $d x A $.
    abssdv.1 $e |- ( ph -> ( ps -> x e. A ) ) $.
    $( Deduction of abstraction subclass from implication.  (Contributed by NM,
       20-Jan-2006.) $)
    abssdv $p |- ( ph -> { x | ps } C_ A ) $=
      ( cv wcel wi wal cab wss alrimiv abss sylibr ) ABCFDGHZCIBCJDKAOCELBCDMN
      $.
  $}

  ${
    $d x A $.
    abssi.1 $e |- ( ph -> x e. A ) $.
    $( Inference of abstraction subclass from implication.  (Contributed by NM,
       20-Jan-2006.) $)
    abssi $p |- { x | ph } C_ A $=
      ( cab cv wcel ss2abi abid2 sseqtri ) ABEBFCGZBECAKBDHBCIJ $.
  $}

  $( Restricted abstraction classes in a subclass relationship.  (Contributed
     by NM, 30-May-1999.) $)
  ss2rab $p |- ( { x e. A | ph } C_ { x e. A | ps } <->
               A. x e. A ( ph -> ps ) ) $=
    ( crab wss cv wcel wa cab wi wal df-rab sseq12i ss2ab df-ral imdistan albii
    wral bitr2i 3bitri ) ACDEZBCDEZFCGDHZAIZCJZUDBIZCJZFUEUGKZCLZABKZCDSZUBUFUC
    UHACDMBCDMNUEUGCOULUDUKKZCLUJUKCDPUMUICUDABQRTUA $.

  ${
    $d x B $.
    $( Restricted class abstraction in a subclass relationship.  (Contributed
       by NM, 16-Aug-2006.) $)
    rabss $p |- ( { x e. A | ph } C_ B <-> A. x e. A ( ph -> x e. B ) ) $=
      ( crab wss cv wcel wa cab wal wral df-rab sseq1i abss impexp albii df-ral
      wi bitr4i 3bitri ) ABCEZDFBGZCHZAIZBJZDFUEUCDHZSZBKZAUGSZBCLZUBUFDABCMNUE
      BDOUIUDUJSZBKUKUHULBUDAUGPQUJBCRTUA $.
  $}

  ${
    $d x A $.  $d x B $.
    $( Subclass of a restricted class abstraction.  (Contributed by NM,
       16-Aug-2006.) $)
    ssrab $p |- ( B C_ { x e. A | ph } <-> ( B C_ A /\ A. x e. B ph ) ) $=
      ( crab wss cv wcel wa cab wal wral df-rab sseq2i ssab dfss3 anbi1i r19.26
      wi df-ral 3bitr2ri 3bitri ) DABCEZFDBGZCHZAIZBJZFUDDHUFSBKZDCFZABDLZIZUCU
      GDABCMNUFBDOUKUEBDLZUJIUFBDLUHUIULUJBDCPQUEABDRUFBDTUAUB $.
  $}

  ${
    $d x A $.  $d x B $.  $d x ph $.
    ssrabdv.1 $e |- ( ph -> B C_ A ) $.
    ssrabdv.2 $e |- ( ( ph /\ x e. B ) -> ps ) $.
    $( Subclass of a restricted class abstraction (deduction rule).
       (Contributed by NM, 31-Aug-2006.) $)
    ssrabdv $p |- ( ph -> B C_ { x e. A | ps } ) $=
      ( wss wral crab ralrimiva ssrab sylanbrc ) AEDHBCEIEBCDJHFABCEGKBCDELM $.
  $}

  ${
    $d x B $.  $d x ph $.
    rabssdv.1 $e |- ( ( ph /\ x e. A /\ ps ) -> x e. B ) $.
    $( Subclass of a restricted class abstraction (deduction rule).
       (Contributed by NM, 2-Feb-2015.) $)
    rabssdv $p |- ( ph -> { x e. A | ps } C_ B ) $=
      ( cv wcel wi wral crab wss 3exp ralrimiv rabss sylibr ) ABCGZEHZIZCDJBCDK
      ELASCDAQDHBRFMNBCDEOP $.
  $}

  ${
    $d x ph $.
    ss2rabdv.1 $e |- ( ( ph /\ x e. A ) -> ( ps -> ch ) ) $.
    $( Deduction of restricted abstraction subclass from implication.
       (Contributed by NM, 30-May-2006.) $)
    ss2rabdv $p |- ( ph -> { x e. A | ps } C_ { x e. A | ch } ) $=
      ( wi wral crab wss ralrimiva ss2rab sylibr ) ABCGZDEHBDEICDEIJANDEFKBCDEL
      M $.
  $}

  ${
    ss2rabi.1 $e |- ( x e. A -> ( ph -> ps ) ) $.
    $( Inference of restricted abstraction subclass from implication.
       (Contributed by NM, 14-Oct-1999.) $)
    ss2rabi $p |- { x e. A | ph } C_ { x e. A | ps } $=
      ( crab wss wi ss2rab mprgbir ) ACDFBCDFGABHCDABCDIEJ $.
  $}

  ${
    $d x A $.  $d x B $.
    $( Subclass law for restricted abstraction.  (Contributed by NM,
       18-Dec-2004.)  (Proof shortened by Andrew Salmon, 26-Jun-2011.) $)
    rabss2 $p |- ( A C_ B -> { x e. A | ph } C_ { x e. B | ph } ) $=
      ( wss cv wcel wa cab crab wi wal pm3.45 alimi dfss2 ss2ab 3imtr4i 3sstr4g
      df-rab ) CDEZBFZCGZAHZBIZUADGZAHZBIZABCJABDJUBUEKZBLUCUFKZBLTUDUGEUHUIBUB
      UEAMNBCDOUCUFBPQABCSABDSR $.

    $( Subclass relation for the restriction of a class abstraction.
       (Contributed by NM, 31-Mar-1995.) $)
    ssab2 $p |- { x | ( x e. A /\ ph ) } C_ A $=
      ( cv wcel wa simpl abssi ) BDCEZAFBCIAGH $.

    $( Subclass relation for a restricted class.  (Contributed by NM,
       19-Mar-1997.) $)
    ssrab2 $p |- { x e. A | ph } C_ A $=
      ( crab cv wcel wa cab df-rab ssab2 eqsstri ) ABCDBECFAGBHCABCIABCJK $.
  $}

  $( A restricted class is a subclass of the corresponding unrestricted class.
     (Contributed by Mario Carneiro, 23-Dec-2016.) $)
  rabssab $p |- { x e. A | ph } C_ { x | ph } $=
    ( crab cv wcel wa cab df-rab simpr ss2abi eqsstri ) ABCDBECFZAGZBHABHABCINA
    BMAJKL $.

  ${
    $d x y $.  $d y z A $.  $d y z B $.  $d x z C $.
    $( A subset relationship useful for converting union to indexed union using
       ~ dfiun2 or ~ dfiun2g and intersection to indexed intersection using
       ~ dfiin2 .  (Contributed by NM, 5-Oct-2006.)  (Proof shortened by Mario
       Carneiro, 26-Sep-2015.) $)
    uniiunlem $p |- ( A. x e. A B e. D ->
                     ( A. x e. A B e. C <-> { y | E. x e. A y = B } C_ C ) ) $=
      ( vz cv wceq wrex cab wss wcel wi wal wral eqeq1 rexbidv cbvabv wb sseq1i
      r19.23v albii ralcom4 abss 3bitr4i bitr4i nfv eleq1 ceqsalg ralbi syl5rbb
      ralimi syl ) BHZDIZACJZBKZELZGHZDIZUTEMZNZGOZACPZDFMZACPZDEMZACPZUSVAACJZ
      GKZELZVEURVKEUQVJBGUOUTIUPVAACUOUTDQRSUAVCACPZGOVJVBNZGOVEVLVMVNGVAVBACUB
      UCVCAGCUDVJGEUEUFUGVGVDVHTZACPVEVITVFVOACVBVHGDFVHGUHUTDEUIUJUMVDVHACUKUN
      UL $.
  $}

  $( Alternate definition of proper subclass.  (Contributed by NM,
     7-Feb-1996.) $)
  dfpss2 $p |- ( A C. B <-> ( A C_ B /\ -. A = B ) ) $=
    ( wpss wss wne wa wceq wn df-pss df-ne anbi2i bitri ) ABCABDZABEZFMABGHZFAB
    INOMABJKL $.

  $( Alternate definition of proper subclass.  (Contributed by NM,
     7-Feb-1996.)  (Proof shortened by Andrew Salmon, 26-Jun-2011.) $)
  dfpss3 $p |- ( A C. B <-> ( A C_ B /\ -. B C_ A ) ) $=
    ( wpss wss wceq wn wa dfpss2 eqss baib notbid pm5.32i bitri ) ABCABDZABEZFZ
    GNBADZFZGABHNPRNOQONQABIJKLM $.

  $( Equality theorem for proper subclass.  (Contributed by NM, 7-Feb-1996.) $)
  psseq1 $p |- ( A = B -> ( A C. C <-> B C. C ) ) $=
    ( wceq wss wne wa wpss sseq1 neeq1 anbi12d df-pss 3bitr4g ) ABDZACEZACFZGBC
    EZBCFZGACHBCHNOQPRABCIABCJKACLBCLM $.

  $( Equality theorem for proper subclass.  (Contributed by NM, 7-Feb-1996.) $)
  psseq2 $p |- ( A = B -> ( C C. A <-> C C. B ) ) $=
    ( wceq wss wne wa wpss sseq2 neeq2 anbi12d df-pss 3bitr4g ) ABDZCAEZCAFZGCB
    EZCBFZGCAHCBHNOQPRABCIABCJKCALCBLM $.

  ${
    psseq1i.1 $e |- A = B $.
    $( An equality inference for the proper subclass relationship.
       (Contributed by NM, 9-Jun-2004.) $)
    psseq1i $p |- ( A C. C <-> B C. C ) $=
      ( wceq wpss wb psseq1 ax-mp ) ABEACFBCFGDABCHI $.

    $( An equality inference for the proper subclass relationship.
       (Contributed by NM, 9-Jun-2004.) $)
    psseq2i $p |- ( C C. A <-> C C. B ) $=
      ( wceq wpss wb psseq2 ax-mp ) ABECAFCBFGDABCHI $.

    ${
      psseq12i.2 $e |- C = D $.
      $( An equality inference for the proper subclass relationship.
         (Contributed by NM, 9-Jun-2004.) $)
      psseq12i $p |- ( A C. C <-> B C. D ) $=
        ( wpss psseq1i psseq2i bitri ) ACGBCGBDGABCEHCDBFIJ $.
    $}
  $}

  ${
    psseq1d.1 $e |- ( ph -> A = B ) $.
    $( An equality deduction for the proper subclass relationship.
       (Contributed by NM, 9-Jun-2004.) $)
    psseq1d $p |- ( ph -> ( A C. C <-> B C. C ) ) $=
      ( wceq wpss wb psseq1 syl ) ABCFBDGCDGHEBCDIJ $.

    $( An equality deduction for the proper subclass relationship.
       (Contributed by NM, 9-Jun-2004.) $)
    psseq2d $p |- ( ph -> ( C C. A <-> C C. B ) ) $=
      ( wceq wpss wb psseq2 syl ) ABCFDBGDCGHEBCDIJ $.

    ${
      psseq12d.2 $e |- ( ph -> C = D ) $.
      $( An equality deduction for the proper subclass relationship.
         (Contributed by NM, 9-Jun-2004.) $)
      psseq12d $p |- ( ph -> ( A C. C <-> B C. D ) ) $=
        ( wpss psseq1d psseq2d bitrd ) ABDHCDHCEHABCDFIADECGJK $.
    $}
  $}

  $( A proper subclass is a subclass.  Theorem 10 of [Suppes] p. 23.
     (Contributed by NM, 7-Feb-1996.) $)
  pssss $p |- ( A C. B -> A C_ B ) $=
    ( wpss wss wne df-pss simplbi ) ABCABDABEABFG $.

  $( Two classes in a proper subclass relationship are not equal.  (Contributed
     by NM, 16-Feb-2015.) $)
  pssne $p |- ( A C. B -> A =/= B ) $=
    ( wpss wss wne df-pss simprbi ) ABCABDABEABFG $.

  ${
    pssssd.1 $e |- ( ph -> A C. B ) $.
    $( Deduce subclass from proper subclass.  (Contributed by NM,
       29-Feb-1996.) $)
    pssssd $p |- ( ph -> A C_ B ) $=
      ( wpss wss pssss syl ) ABCEBCFDBCGH $.

    $( Proper subclasses are unequal.  Deduction form of ~ pssne .
       (Contributed by David Moews, 1-May-2017.) $)
    pssned $p |- ( ph -> A =/= B ) $=
      ( wpss wne pssne syl ) ABCEBCFDBCGH $.
  $}

  $( Subclass in terms of proper subclass.  (Contributed by NM,
     25-Feb-1996.) $)
  sspss $p |- ( A C_ B <-> ( A C. B \/ A = B ) ) $=
    ( wss wpss wceq wo wn dfpss2 simplbi2 con1d orrd pssss eqimss jaoi impbii )
    ABCZABDZABEZFPQRPRQQPRGABHIJKQPRABLABMNO $.

  $( Proper subclass is irreflexive.  Theorem 7 of [Suppes] p. 23.
     (Contributed by NM, 7-Feb-1996.) $)
  pssirr $p |- -. A C. A $=
    ( wpss wss wn wa pm3.24 dfpss3 mtbir ) AABAACZIDEIFAAGH $.

  $( Proper subclass has no 2-cycle loops.  Compare Theorem 8 of [Suppes]
     p. 23.  (Contributed by NM, 7-Feb-1996.)  (Proof shortened by Andrew
     Salmon, 26-Jun-2011.) $)
  pssn2lp $p |- -. ( A C. B /\ B C. A ) $=
    ( wpss wn wi wa wss dfpss3 simprbi pssss nsyl imnan mpbi ) ABCZBACZDENOFDNB
    AGZONABGPDABHIBAJKNOLM $.

  $( Two ways of stating trichotomy with respect to inclusion.  (Contributed by
     NM, 12-Aug-2004.) $)
  sspsstri $p |- ( ( A C_ B \/ B C_ A ) <-> ( A C. B \/ A = B \/ B C. A ) ) $=
    ( wpss wo wceq wss w3o or32 sspss eqcom orbi2i bitri orbi12i orordir bitr4i
    df-3or 3bitr4i ) ABCZBACZDABEZDZRTDZSDABFZBAFZDZRTSGRSTHUEUBSTDZDUAUCUBUDUF
    ABIUDSBAEZDUFBAIUGTSBAJKLMRSTNORTSPQ $.

  $( Partial trichotomy law for subclasses.  (Contributed by NM, 16-May-1996.)
     (Proof shortened by Andrew Salmon, 26-Jun-2011.) $)
  ssnpss $p |- ( A C_ B -> -. B C. A ) $=
    ( wpss wss wn dfpss3 simprbi con2i ) BACZABDZIBADJEBAFGH $.

  $( Transitive law for proper subclass.  Theorem 9 of [Suppes] p. 23.
     (Contributed by NM, 7-Feb-1996.) $)
  psstr $p |- ( ( A C. B /\ B C. C ) -> A C. C ) $=
    ( wpss wa wss wceq pssss sylan9ss pssn2lp psseq1 anbi1d mtbiri con2i dfpss2
    wn sylanbrc ) ABDZBCDZEZACFACGZPACDRSABCABHBCHIUATUATCBDZSECBJUARUBSACBKLMN
    ACOQ $.

  $( Transitive law for subclass and proper subclass.  (Contributed by NM,
     3-Apr-1996.) $)
  sspsstr $p |- ( ( A C_ B /\ B C. C ) -> A C. C ) $=
    ( wss wpss wceq wo sspss wi psstr ex psseq1 biimprd jaoi imp sylanb ) ABDAB
    EZABFZGZBCEZACEZABHSTUAQTUAIRQTUAABCJKRUATABCLMNOP $.

  $( Transitive law for subclass and proper subclass.  (Contributed by NM,
     3-Apr-1996.) $)
  psssstr $p |- ( ( A C. B /\ B C_ C ) -> A C. C ) $=
    ( wss wpss wceq wo sspss psstr ex psseq2 biimpcd jaod imp sylan2b ) BCDABEZ
    BCEZBCFZGZACEZBCHPSTPQTRPQTABCIJRPTBCAKLMNO $.

  ${
    psstrd.1 $e |- ( ph -> A C. B ) $.
    psstrd.2 $e |- ( ph -> B C. C ) $.
    $( Proper subclass inclusion is transitive.  Deduction form of ~ psstr .
       (Contributed by David Moews, 1-May-2017.) $)
    psstrd $p |- ( ph -> A C. C ) $=
      ( wpss psstr syl2anc ) ABCGCDGBDGEFBCDHI $.
  $}

  ${
    sspsstrd.1 $e |- ( ph -> A C_ B ) $.
    sspsstrd.2 $e |- ( ph -> B C. C ) $.
    $( Transitivity involving subclass and proper subclass inclusion.
       Deduction form of ~ sspsstr .  (Contributed by David Moews,
       1-May-2017.) $)
    sspsstrd $p |- ( ph -> A C. C ) $=
      ( wss wpss sspsstr syl2anc ) ABCGCDHBDHEFBCDIJ $.
  $}

  ${
    psssstrd.1 $e |- ( ph -> A C. B ) $.
    psssstrd.2 $e |- ( ph -> B C_ C ) $.
    $( Transitivity involving subclass and proper subclass inclusion.
       Deduction form of ~ psssstr .  (Contributed by David Moews,
       1-May-2017.) $)
    psssstrd $p |- ( ph -> A C. C ) $=
      ( wpss wss psssstr syl2anc ) ABCGCDHBDGEFBCDIJ $.
  $}

  $( A class is not a proper subclass of another iff it satisfies a
     one-directional form of ~ eqss .  (Contributed by Mario Carneiro,
     15-May-2015.) $)
  npss $p |- ( -. A C. B <-> ( A C_ B -> A = B ) ) $=
    ( wss wceq wi wpss wn wa pm4.61 dfpss2 bitr4i con1bii ) ABCZABDZEZABFZOGMNG
    HPMNIABJKL $.

$(
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
        The difference, union, and intersection of two classes
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
$)

  $( Equality theorem for class difference.  (Contributed by FL,
     31-Aug-2009.) $)
  difeq12 $p |- ( ( A = B /\ C = D ) -> ( A \ C ) = ( B \ D ) ) $=
    ( wceq cdif difeq1 difeq2 sylan9eq ) ABECDEACFBCFBDFABCGCDBHI $.

  ${
    difeq1i.1 $e |- A = B $.
    $( Inference adding difference to the right in a class equality.
       (Contributed by NM, 15-Nov-2002.) $)
    difeq1i $p |- ( A \ C ) = ( B \ C ) $=
      ( wceq cdif difeq1 ax-mp ) ABEACFBCFEDABCGH $.

    $( Inference adding difference to the left in a class equality.
       (Contributed by NM, 15-Nov-2002.) $)
    difeq2i $p |- ( C \ A ) = ( C \ B ) $=
      ( wceq cdif difeq2 ax-mp ) ABECAFCBFEDABCGH $.

    ${
      difeq12i.2 $e |- C = D $.
      $( Equality inference for class difference.  (Contributed by NM,
         29-Aug-2004.) $)
      difeq12i $p |- ( A \ C ) = ( B \ D ) $=
        ( cdif difeq1i difeq2i eqtri ) ACGBCGBDGABCEHCDBFIJ $.
    $}
  $}

  ${
    difeq1d.1 $e |- ( ph -> A = B ) $.
    $( Deduction adding difference to the right in a class equality.
       (Contributed by NM, 15-Nov-2002.) $)
    difeq1d $p |- ( ph -> ( A \ C ) = ( B \ C ) ) $=
      ( wceq cdif difeq1 syl ) ABCFBDGCDGFEBCDHI $.

    $( Deduction adding difference to the left in a class equality.
       (Contributed by NM, 15-Nov-2002.) $)
    difeq2d $p |- ( ph -> ( C \ A ) = ( C \ B ) ) $=
      ( wceq cdif difeq2 syl ) ABCFDBGDCGFEBCDHI $.
  $}

  ${
    difeq12d.1 $e |- ( ph -> A = B ) $.
    difeq12d.2 $e |- ( ph -> C = D ) $.
    $( Equality deduction for class difference.  (Contributed by FL,
       29-May-2014.) $)
    difeq12d $p |- ( ph -> ( A \ C ) = ( B \ D ) ) $=
      ( cdif difeq1d difeq2d eqtrd ) ABDHCDHCEHABCDFIADECGJK $.
  $}

  ${
    $d x A $.  $d x B $.  $d x C $.
    difeqri.1 $e |- ( ( x e. A /\ -. x e. B ) <-> x e. C ) $.
    $( Inference from membership to difference.  (Contributed by NM,
       17-May-1998.)  (Proof shortened by Andrew Salmon, 26-Jun-2011.) $)
    difeqri $p |- ( A \ B ) = C $=
      ( cdif cv wcel wn wa eldif bitri eqriv ) ABCFZDAGZNHOBHOCHIJODHOBCKELM $.
  $}

  $( Implication of membership in a class difference.  (Contributed by NM,
     29-Apr-1994.) $)
  eldifi $p |- ( A e. ( B \ C ) -> A e. B ) $=
    ( cdif wcel wn eldif simplbi ) ABCDEABEACEFABCGH $.

  $( Implication of membership in a class difference.  (Contributed by NM,
     3-May-1994.) $)
  eldifn $p |- ( A e. ( B \ C ) -> -. A e. C ) $=
    ( cdif wcel wn eldif simprbi ) ABCDEABEACEFABCGH $.

  $( A set does not belong to a class excluding it.  (Contributed by NM,
     27-Jun-1994.) $)
  elndif $p |- ( A e. B -> -. A e. ( C \ B ) ) $=
    ( cdif wcel eldifn con2i ) ACBDEABEACBFG $.

  $( Implication of membership in a class difference.  (Contributed by NM,
     28-Jun-1994.) $)
  neldif $p |- ( ( A e. B /\ -. A e. ( B \ C ) ) -> A e. C ) $=
    ( wcel cdif wn eldif simplbi2 con1d imp ) ABDZABCEDZFACDZKMLLKMFABCGHIJ $.

  ${
    $d x A $.  $d x B $.
    $( Double class difference.  Exercise 11 of [TakeutiZaring] p. 22.
       (Contributed by NM, 17-May-1998.) $)
    difdif $p |- ( A \ ( B \ A ) ) = A $=
      ( vx cdif cv wcel wi wa wn pm4.45im eldif xchbinxr anbi2i bitr2i difeqri
      iman ) CABADZACEZAFZSRBFZSGZHSRQFZIZHSTJUAUCSUATSIHUBTSPRBAKLMNO $.

    $( Subclass relationship for class difference.  Exercise 14 of
       [TakeutiZaring] p. 22.  (Contributed by NM, 29-Apr-1994.) $)
    difss $p |- ( A \ B ) C_ A $=
      ( vx cdif cv eldifi ssriv ) CABDACEABFG $.
  $}

  $( A difference of two classes is contained in the minuend.  Deduction form
     of ~ difss .  (Contributed by David Moews, 1-May-2017.) $)
  difssd $p |- ( ph -> ( A \ B ) C_ A ) $=
    ( cdif wss difss a1i ) BCDBEABCFG $.

  $( If a class is contained in a difference, it is contained in the minuend.
     (Contributed by David Moews, 1-May-2017.) $)
  difss2 $p |- ( A C_ ( B \ C ) -> A C_ B ) $=
    ( cdif wss id difss syl6ss ) ABCDZEZAIBJFBCGH $.

  ${
    difss2d.1 $e |- ( ph -> A C_ ( B \ C ) ) $.
    $( If a class is contained in a difference, it is contained in the
       minuend.  Deduction form of ~ difss2 .  (Contributed by David Moews,
       1-May-2017.) $)
    difss2d $p |- ( ph -> A C_ B ) $=
      ( cdif wss difss2 syl ) ABCDFGBCGEBCDHI $.
  $}

  $( Preservation of a subclass relationship by class difference.  (Contributed
     by NM, 15-Feb-2007.) $)
  ssdifss $p |- ( A C_ B -> ( A \ C ) C_ B ) $=
    ( cdif wss difss sstr mpan ) ACDZAEABEIBEACFIABGH $.

  ${
    $d x A $.
    $( Double complement under universal class.  Exercise 4.10(s) of
       [Mendelson] p. 231.  (Contributed by NM, 8-Jan-2002.) $)
    ddif $p |- ( _V \ ( _V \ A ) ) = A $=
      ( vx cvv cdif cv wcel wn wa eldif mpbiran con2bii biantrur bitr2i difeqri
      vex ) BCCADZABEZAFZQPFZGZQCFZTHSRSUARGBOZQCAIJKUATUBLMN $.
  $}

  ${
    $d x A $.  $d x B $.  $d x C $.
    $( Contraposition law for subsets.  (Contributed by NM, 22-Mar-1998.) $)
    ssconb $p |- ( ( A C_ C /\ B C_ C ) ->
                  ( A C_ ( C \ B ) <-> B C_ ( C \ A ) ) ) $=
      ( vx wss wa cv wcel cdif wi wal wn wb ssel pm5.1 jcab 3bitr4g eldif dfss2
      imbi2i syl2an con2b a1i anbi12d albidv ) ACEZBCEZFZDGZAHZUICBIZHZJZDKUIBH
      ZUICAIZHZJZDKAUKEBUOEUHUMUQDUHUJUICHZUNLZFZJZUNURUJLZFZJZUMUQUHUJURJZUJUS
      JZFUNURJZUNVBJZFVAVDUHVEVGVFVHUFVEVGVEVGMUGACUINBCUINVEVGOUAVFVHMUHUJUNUB
      UCUDUJURUSPUNURVBPQULUTUJUICBRTUPVCUNUICARTQUEDAUKSDBUOSQ $.

    $( Contraposition law for subsets.  Exercise 15 of [TakeutiZaring] p. 22.
       (Contributed by NM, 22-Mar-1998.) $)
    sscon $p |- ( A C_ B -> ( C \ B ) C_ ( C \ A ) ) $=
      ( vx wss cdif cv wcel wn wa ssel con3d anim2d eldif 3imtr4g ssrdv ) ABEZD
      CBFZCAFZQDGZCHZTBHZIZJUATAHZIZJTRHTSHQUCUEUAQUDUBABTKLMTCBNTCANOP $.

    $( Difference law for subsets.  (Contributed by NM, 28-May-1998.) $)
    ssdif $p |- ( A C_ B -> ( A \ C ) C_ ( B \ C ) ) $=
      ( vx wss cdif cv wcel wn wa ssel anim1d eldif 3imtr4g ssrdv ) ABEZDACFZBC
      FZPDGZAHZSCHIZJSBHZUAJSQHSRHPTUBUAABSKLSACMSBCMNO $.
  $}

  ${
    ssdifd.1 $e |- ( ph -> A C_ B ) $.
    $( If ` A ` is contained in ` B ` , then ` ( A \ C ) ` is contained in
       ` ( B \ C ) ` .  Deduction form of ~ ssdif .  (Contributed by David
       Moews, 1-May-2017.) $)
    ssdifd $p |- ( ph -> ( A \ C ) C_ ( B \ C ) ) $=
      ( wss cdif ssdif syl ) ABCFBDGCDGFEBCDHI $.

    $( If ` A ` is contained in ` B ` , then ` ( C \ B ) ` is contained in
       ` ( C \ A ) ` .  Deduction form of ~ sscon .  (Contributed by David
       Moews, 1-May-2017.) $)
    sscond $p |- ( ph -> ( C \ B ) C_ ( C \ A ) ) $=
      ( wss cdif sscon syl ) ABCFDCGDBGFEBCDHI $.

    $( If ` A ` is contained in ` B ` , then ` ( A \ C ) ` is also contained in
       ` B ` .  Deduction form of ~ ssdifss .  (Contributed by David Moews,
       1-May-2017.) $)
    ssdifssd $p |- ( ph -> ( A \ C ) C_ B ) $=
      ( wss cdif ssdifss syl ) ABCFBDGCFEBCDHI $.

    ssdif2d.2 $e |- ( ph -> C C_ D ) $.
    $( If ` A ` is contained in ` B ` and ` C ` is contained in ` D ` , then
       ` ( A \ D ) ` is contained in ` ( B \ C ) ` .  Deduction form.
       (Contributed by David Moews, 1-May-2017.) $)
    ssdif2d $p |- ( ph -> ( A \ D ) C_ ( B \ C ) ) $=
      ( cdif sscond ssdifd sstrd ) ABEHBDHCDHADEBGIABCDFJK $.
  $}

  ${
    $d x A $.  $d x B $.  $d x C $.
    uneqri.1 $e |- ( ( x e. A \/ x e. B ) <-> x e. C ) $.
    $( Inference from membership to union.  (Contributed by NM, 5-Aug-1993.) $)
    uneqri $p |- ( A u. B ) = C $=
      ( cun cv wcel wo elun bitri eqriv ) ABCFZDAGZMHNBHNCHINDHNBCJEKL $.
  $}

  ${
    $d x A $.
    $( Idempotent law for union of classes.  Theorem 23 of [Suppes] p. 27.
       (Contributed by NM, 5-Aug-1993.) $)
    unidm $p |- ( A u. A ) = A $=
      ( vx cv wcel oridm uneqri ) BAAABCADEF $.
  $}

  ${
    $d x A $.  $d x B $.
    $( Commutative law for union of classes.  Exercise 6 of [TakeutiZaring]
       p. 17.  (Contributed by NM, 25-Jun-1998.)  (Proof shortened by Andrew
       Salmon, 26-Jun-2011.) $)
    uncom $p |- ( A u. B ) = ( B u. A ) $=
      ( vx cun cv wcel wo orcom elun bitr4i uneqri ) CABBADZCEZAFZMBFZGONGMLFNO
      HMBAIJK $.
  $}

  $( If a class equals the union of two other classes, then it equals the union
     of those two classes commuted. ~ equncom was automatically derived from
     equncomVD in set.mm using the tools program
     translate_without_overwriting.cmd and minimizing.  (Contributed by Alan
     Sare, 18-Feb-2012.) $)
  equncom $p |- ( A = ( B u. C ) <-> A = ( C u. B ) ) $=
    ( cun uncom eqeq2i ) BCDCBDABCEF $.

  ${
    equncomi.1 $e |- A = ( B u. C ) $.
    $( Inference form of ~ equncom . ~ equncomi was automatically derived from
       equncomiVD in set.mm using the tools program
       translate_without_overwriting.cmd and minimizing.  (Contributed by Alan
       Sare, 18-Feb-2012.) $)
    equncomi $p |- A = ( C u. B ) $=
      ( cun wceq equncom mpbi ) ABCEFACBEFDABCGH $.
  $}

  ${
    $d x A $.  $d x B $.  $d x C $.
    $( Equality theorem for union of two classes.  (Contributed by NM,
       5-Aug-1993.) $)
    uneq1 $p |- ( A = B -> ( A u. C ) = ( B u. C ) ) $=
      ( vx wceq cun cv wcel wo eleq2 orbi1d elun 3bitr4g eqrdv ) ABEZDACFZBCFZO
      DGZAHZRCHZIRBHZTIRPHRQHOSUATABRJKRACLRBCLMN $.
  $}

  $( Equality theorem for the union of two classes.  (Contributed by NM,
     5-Aug-1993.) $)
  uneq2 $p |- ( A = B -> ( C u. A ) = ( C u. B ) ) $=
    ( wceq cun uneq1 uncom 3eqtr4g ) ABDACEBCECAECBEABCFCAGCBGH $.

  $( Equality theorem for union of two classes.  (Contributed by NM,
     29-Mar-1998.) $)
  uneq12 $p |- ( ( A = B /\ C = D ) -> ( A u. C ) = ( B u. D ) ) $=
    ( wceq cun uneq1 uneq2 sylan9eq ) ABECDEACFBCFBDFABCGCDBHI $.

  ${
    uneq1i.1 $e |- A = B $.
    $( Inference adding union to the right in a class equality.  (Contributed
       by NM, 30-Aug-1993.) $)
    uneq1i $p |- ( A u. C ) = ( B u. C ) $=
      ( wceq cun uneq1 ax-mp ) ABEACFBCFEDABCGH $.

    $( Inference adding union to the left in a class equality.  (Contributed by
       NM, 30-Aug-1993.) $)
    uneq2i $p |- ( C u. A ) = ( C u. B ) $=
      ( wceq cun uneq2 ax-mp ) ABECAFCBFEDABCGH $.

    ${
      uneq12i.2 $e |- C = D $.
      $( Equality inference for union of two classes.  (Contributed by NM,
         12-Aug-2004.)  (Proof shortened by Eric Schmidt, 26-Jan-2007.) $)
      uneq12i $p |- ( A u. C ) = ( B u. D ) $=
        ( wceq cun uneq12 mp2an ) ABGCDGACHBDHGEFABCDIJ $.
    $}
  $}

  ${
    uneq1d.1 $e |- ( ph -> A = B ) $.
    $( Deduction adding union to the right in a class equality.  (Contributed
       by NM, 29-Mar-1998.) $)
    uneq1d $p |- ( ph -> ( A u. C ) = ( B u. C ) ) $=
      ( wceq cun uneq1 syl ) ABCFBDGCDGFEBCDHI $.

    $( Deduction adding union to the left in a class equality.  (Contributed by
       NM, 29-Mar-1998.) $)
    uneq2d $p |- ( ph -> ( C u. A ) = ( C u. B ) ) $=
      ( wceq cun uneq2 syl ) ABCFDBGDCGFEBCDHI $.

    ${
      uneq12d.2 $e |- ( ph -> C = D ) $.
      $( Equality deduction for union of two classes.  (Contributed by NM,
         29-Sep-2004.)  (Proof shortened by Andrew Salmon, 26-Jun-2011.) $)
      uneq12d $p |- ( ph -> ( A u. C ) = ( B u. D ) ) $=
        ( wceq cun uneq12 syl2anc ) ABCHDEHBDICEIHFGBCDEJK $.
    $}
  $}

  ${
    $d A x $.  $d B x $.  $d C x $.
    $( Associative law for union of classes.  Exercise 8 of [TakeutiZaring]
       p. 17.  (Contributed by NM, 3-May-1994.)  (Proof shortened by Andrew
       Salmon, 26-Jun-2011.) $)
    unass $p |- ( ( A u. B ) u. C ) = ( A u. ( B u. C ) ) $=
      ( vx cun cv wcel wo elun orbi2i orbi1i orass bitr2i 3bitrri uneqri ) DABE
      ZCABCEZEZDFZRGSAGZSQGZHTSBGZSCGZHZHZSPGZUCHZSAQIUAUDTSBCIJUGTUBHZUCHUEUFU
      HUCSABIKTUBUCLMNO $.
  $}

  $( A rearrangement of union.  (Contributed by NM, 12-Aug-2004.) $)
  un12 $p |- ( A u. ( B u. C ) ) = ( B u. ( A u. C ) ) $=
    ( cun uncom uneq1i unass 3eqtr3i ) ABDZCDBADZCDABCDDBACDDIJCABEFABCGBACGH
    $.

  $( A rearrangement of union.  (Contributed by NM, 12-Aug-2004.)  (Proof
     shortened by Andrew Salmon, 26-Jun-2011.) $)
  un23 $p |- ( ( A u. B ) u. C ) = ( ( A u. C ) u. B ) $=
    ( cun unass un12 uncom 3eqtri ) ABDCDABCDDBACDZDIBDABCEABCFBIGH $.

  $( A rearrangement of the union of 4 classes.  (Contributed by NM,
     12-Aug-2004.) $)
  un4 $p |- ( ( A u. B ) u. ( C u. D ) ) =
            ( ( A u. C ) u. ( B u. D ) ) $=
    ( cun un12 uneq2i unass 3eqtr4i ) ABCDEZEZEACBDEZEZEABEJEACELEKMABCDFGABJHA
    CLHI $.

  $( Union distributes over itself.  (Contributed by NM, 17-Aug-2004.) $)
  unundi $p |- ( A u. ( B u. C ) ) = ( ( A u. B ) u. ( A u. C ) ) $=
    ( cun unidm uneq1i un4 eqtr3i ) AADZBCDZDAJDABDACDDIAJAEFAABCGH $.

  $( Union distributes over itself.  (Contributed by NM, 17-Aug-2004.) $)
  unundir $p |- ( ( A u. B ) u. C ) = ( ( A u. C ) u. ( B u. C ) ) $=
    ( cun unidm uneq2i un4 eqtr3i ) ABDZCCDZDICDACDBCDDJCICEFABCCGH $.

  ${
    $d x A $.  $d x B $.
    $( Subclass relationship for union of classes.  Theorem 25 of [Suppes]
       p. 27.  (Contributed by NM, 5-Aug-1993.) $)
    ssun1 $p |- A C_ ( A u. B ) $=
      ( vx cun cv wcel wo orc elun sylibr ssriv ) CAABDZCEZAFZNMBFZGMLFNOHMABIJ
      K $.
  $}

  $( Subclass relationship for union of classes.  (Contributed by NM,
     30-Aug-1993.) $)
  ssun2 $p |- A C_ ( B u. A ) $=
    ( cun ssun1 uncom sseqtri ) AABCBACABDABEF $.

  $( Subclass law for union of classes.  (Contributed by NM, 5-Aug-1993.) $)
  ssun3 $p |- ( A C_ B -> A C_ ( B u. C ) ) $=
    ( wss cun ssun1 sstr2 mpi ) ABDBBCEZDAIDBCFABIGH $.

  $( Subclass law for union of classes.  (Contributed by NM, 14-Aug-1994.) $)
  ssun4 $p |- ( A C_ B -> A C_ ( C u. B ) ) $=
    ( wss cun ssun2 sstr2 mpi ) ABDBCBEZDAIDBCFABIGH $.

  $( Membership law for union of classes.  (Contributed by NM, 5-Aug-1993.) $)
  elun1 $p |- ( A e. B -> A e. ( B u. C ) ) $=
    ( cun ssun1 sseli ) BBCDABCEF $.

  $( Membership law for union of classes.  (Contributed by NM, 30-Aug-1993.) $)
  elun2 $p |- ( A e. B -> A e. ( C u. B ) ) $=
    ( cun ssun2 sseli ) BCBDABCEF $.

  ${
    $d x A $.  $d x B $.  $d x C $.
    $( Subclass law for union of classes.  (Contributed by NM, 14-Oct-1999.)
       (Proof shortened by Andrew Salmon, 26-Jun-2011.) $)
    unss1 $p |- ( A C_ B -> ( A u. C ) C_ ( B u. C ) ) $=
      ( vx wss cun cv wcel wo ssel orim1d elun 3imtr4g ssrdv ) ABEZDACFZBCFZODG
      ZAHZRCHZIRBHZTIRPHRQHOSUATABRJKRACLRBCLMN $.

    $( A relationship between subclass and union.  Theorem 26 of [Suppes]
       p. 27.  (Contributed by NM, 30-Aug-1993.)  (Proof shortened by Andrew
       Salmon, 26-Jun-2011.) $)
    ssequn1 $p |- ( A C_ B <-> ( A u. B ) = B ) $=
      ( vx cv wcel wi wal cun wb wceq wo bicom pm4.72 elun bibi1i 3bitr4i albii
      wss dfss2 dfcleq ) CDZAEZUABEZFZCGUAABHZEZUCIZCGABRUEBJUDUGCUCUBUCKZIUHUC
      IUDUGUCUHLUBUCMUFUHUCUAABNOPQCABSCUEBTP $.
  $}

  $( Subclass law for union of classes.  Exercise 7 of [TakeutiZaring] p. 18.
     (Contributed by NM, 14-Oct-1999.) $)
  unss2 $p |- ( A C_ B -> ( C u. A ) C_ ( C u. B ) ) $=
    ( wss cun unss1 uncom 3sstr4g ) ABDACEBCECAECBEABCFCAGCBGH $.

  $( Subclass law for union of classes.  (Contributed by NM, 2-Jun-2004.) $)
  unss12 $p |- ( ( A C_ B /\ C C_ D ) -> ( A u. C ) C_ ( B u. D ) ) $=
    ( wss cun unss1 unss2 sylan9ss ) ABECDEACFBCFBDFABCGCDBHI $.

  $( A relationship between subclass and union.  (Contributed by NM,
     13-Jun-1994.) $)
  ssequn2 $p |- ( A C_ B <-> ( B u. A ) = B ) $=
    ( wss cun wceq ssequn1 uncom eqeq1i bitri ) ABCABDZBEBADZBEABFJKBABGHI $.

  ${
    $d x A $.  $d x B $.  $d x C $.
    $( The union of two subclasses is a subclass.  Theorem 27 of [Suppes] p. 27
       and its converse.  (Contributed by NM, 11-Jun-2004.) $)
    unss $p |- ( ( A C_ C /\ B C_ C ) <-> ( A u. B ) C_ C ) $=
      ( vx cun wss cv wcel wi wal wa dfss2 19.26 elun imbi1i jaob bitri anbi12i
      wo albii 3bitr4i bitr2i ) ABEZCFDGZUCHZUDCHZIZDJZACFZBCFZKZDUCCLUDAHZUFIZ
      UDBHZUFIZKZDJUMDJZUODJZKUHUKUMUODMUGUPDUGULUNSZUFIUPUEUSUFUDABNOULUFUNPQT
      UIUQUJURDACLDBCLRUAUB $.
  $}

  ${
    unssi.1 $e |- A C_ C $.
    unssi.2 $e |- B C_ C $.
    $( An inference showing the union of two subclasses is a subclass.
       (Contributed by Raph Levien, 10-Dec-2002.) $)
    unssi $p |- ( A u. B ) C_ C $=
      ( wss wa cun pm3.2i unss mpbi ) ACFZBCFZGABHCFLMDEIABCJK $.
  $}

  ${
    unssd.1 $e |- ( ph -> A C_ C ) $.
    unssd.2 $e |- ( ph -> B C_ C ) $.
    $( A deduction showing the union of two subclasses is a subclass.
       (Contributed by Jonathan Ben-Naim, 3-Jun-2011.) $)
    unssd $p |- ( ph -> ( A u. B ) C_ C ) $=
      ( wss cun wa unss biimpi syl2anc ) ABDGZCDGZBCHDGZEFMNIOBCDJKL $.
  $}

  ${
    unssad.1 $e |- ( ph -> ( A u. B ) C_ C ) $.
    $( If ` ( A u. B ) ` is contained in ` C ` , so is ` A ` .  One-way
       deduction form of ~ unss .  Partial converse of ~ unssd .  (Contributed
       by David Moews, 1-May-2017.) $)
    unssad $p |- ( ph -> A C_ C ) $=
      ( wss cun wa unss sylibr simpld ) ABDFZCDFZABCGDFLMHEBCDIJK $.

    $( If ` ( A u. B ) ` is contained in ` C ` , so is ` B ` .  One-way
       deduction form of ~ unss .  Partial converse of ~ unssd .  (Contributed
       by David Moews, 1-May-2017.) $)
    unssbd $p |- ( ph -> B C_ C ) $=
      ( wss cun wa unss sylibr simprd ) ABDFZCDFZABCGDFLMHEBCDIJK $.
  $}

  $( A condition that implies inclusion in the union of two classes.
     (Contributed by NM, 23-Nov-2003.) $)
  ssun $p |- ( ( A C_ B \/ A C_ C ) -> A C_ ( B u. C ) ) $=
    ( wss cun ssun3 ssun4 jaoi ) ABDABCEDACDABCFACBGH $.

  $( Restricted existential quantification over union.  (Contributed by Jeff
     Madsen, 5-Jan-2011.) $)
  rexun $p |- ( E. x e. ( A u. B ) ph <->
                          ( E. x e. A ph \/ E. x e. B ph ) ) $=
    ( cun wrex cv wcel wa wo df-rex 19.43 elun anbi1i andir bitri exbii orbi12i
    wex 3bitr4i ) ABCDEZFBGZUAHZAIZBSZABCFZABDFZJZABUAKUBCHZAIZUBDHZAIZJZBSUJBS
    ZULBSZJUEUHUJULBLUDUMBUDUIUKJZAIUMUCUPAUBCDMNUIUKAOPQUFUNUGUOABCKABDKRTP $.

  $( Restricted quantification over a union.  (Contributed by Scott Fenton,
     12-Apr-2011.)  (Proof shortened by Andrew Salmon, 29-Jun-2011.) $)
  ralunb $p |- ( A. x e. ( A u. B ) ph <->
                 ( A. x e. A ph /\ A. x e. B ph ) ) $=
    ( cv cun wcel wi wal wa wral wo elun imbi1i jaob bitri albii df-ral anbi12i
    19.26 3bitr4i ) BEZCDFZGZAHZBIZUBCGZAHZBIZUBDGZAHZBIZJZABUCKABCKZABDKZJUFUH
    UKJZBIUMUEUPBUEUGUJLZAHUPUDUQAUBCDMNUGAUJOPQUHUKBTPABUCRUNUIUOULABCRABDRSUA
    $.

  $( Restricted quantification over union.  (Contributed by Jeff Madsen,
     2-Sep-2009.) $)
  ralun $p |- ( ( A. x e. A ph /\ A. x e. B ph ) -> A. x e. ( A u. B ) ph ) $=
    ( cun wral wa ralunb biimpri ) ABCDEFABCFABDFGABCDHI $.

  ${
    elin2.x $e |- X = ( B i^i C ) $.
    $( Membership in a class defined as an intersection.  (Contributed by
       Stefan O'Rear, 29-Mar-2015.) $)
    elin2 $p |- ( A e. X <-> ( A e. B /\ A e. C ) ) $=
      ( wcel cin wa eleq2i elin bitri ) ADFABCGZFABFACFHDLAEIABCJK $.
  $}

  ${
    elin3.x $e |- X = ( ( B i^i C ) i^i D ) $.
    $( Membership in a class defined as a ternary intersection.  (Contributed
       by Stefan O'Rear, 29-Mar-2015.) $)
    elin3 $p |- ( A e. X <-> ( A e. B /\ A e. C /\ A e. D ) ) $=
      ( cin wcel wa w3a elin anbi1i elin2 df-3an 3bitr4i ) ABCGZHZADHZIABHZACHZ
      IZRIAEHSTRJQUARABCKLAPDEFMSTRNO $.
  $}

  ${
    $d A x $.  $d B x $.
    $( Commutative law for intersection of classes.  Exercise 7 of
       [TakeutiZaring] p. 17.  (Contributed by NM, 5-Aug-1993.) $)
    incom $p |- ( A i^i B ) = ( B i^i A ) $=
      ( vx cin cv wcel wa ancom elin 3bitr4i eqriv ) CABDZBADZCEZAFZNBFZGPOGNLF
      NMFOPHNABINBAIJK $.
  $}

  ${
    $d x A $.  $d x B $.  $d x C $.
    ineqri.1 $e |- ( ( x e. A /\ x e. B ) <-> x e. C ) $.
    $( Inference from membership to intersection.  (Contributed by NM,
       5-Aug-1993.) $)
    ineqri $p |- ( A i^i B ) = C $=
      ( cin cv wcel wa elin bitri eqriv ) ABCFZDAGZMHNBHNCHINDHNBCJEKL $.
  $}

  ${
    $d x A $.  $d x B $.  $d x C $.
    $( Equality theorem for intersection of two classes.  (Contributed by NM,
       14-Dec-1993.) $)
    ineq1 $p |- ( A = B -> ( A i^i C ) = ( B i^i C ) ) $=
      ( vx wceq cin cv wcel wa eleq2 anbi1d elin 3bitr4g eqrdv ) ABEZDACFZBCFZO
      DGZAHZRCHZIRBHZTIRPHRQHOSUATABRJKRACLRBCLMN $.
  $}

  $( Equality theorem for intersection of two classes.  (Contributed by NM,
     26-Dec-1993.) $)
  ineq2 $p |- ( A = B -> ( C i^i A ) = ( C i^i B ) ) $=
    ( wceq cin ineq1 incom 3eqtr4g ) ABDACEBCECAECBEABCFCAGCBGH $.

  $( Equality theorem for intersection of two classes.  (Contributed by NM,
     8-May-1994.) $)
  ineq12 $p |- ( ( A = B /\ C = D ) -> ( A i^i C ) = ( B i^i D ) ) $=
    ( wceq cin ineq1 ineq2 sylan9eq ) ABECDEACFBCFBDFABCGCDBHI $.

  ${
    ineq1i.1 $e |- A = B $.
    $( Equality inference for intersection of two classes.  (Contributed by NM,
       26-Dec-1993.) $)
    ineq1i $p |- ( A i^i C ) = ( B i^i C ) $=
      ( wceq cin ineq1 ax-mp ) ABEACFBCFEDABCGH $.

    $( Equality inference for intersection of two classes.  (Contributed by NM,
       26-Dec-1993.) $)
    ineq2i $p |- ( C i^i A ) = ( C i^i B ) $=
      ( wceq cin ineq2 ax-mp ) ABECAFCBFEDABCGH $.

    ${
      ineq12i.2 $e |- C = D $.
      $( Equality inference for intersection of two classes.  (Contributed by
         NM, 24-Jun-2004.)  (Proof shortened by Eric Schmidt, 26-Jan-2007.) $)
      ineq12i $p |- ( A i^i C ) = ( B i^i D ) $=
        ( wceq cin ineq12 mp2an ) ABGCDGACHBDHGEFABCDIJ $.
    $}
  $}

  ${
    ineq1d.1 $e |- ( ph -> A = B ) $.
    $( Equality deduction for intersection of two classes.  (Contributed by NM,
       10-Apr-1994.) $)
    ineq1d $p |- ( ph -> ( A i^i C ) = ( B i^i C ) ) $=
      ( wceq cin ineq1 syl ) ABCFBDGCDGFEBCDHI $.

    $( Equality deduction for intersection of two classes.  (Contributed by NM,
       10-Apr-1994.) $)
    ineq2d $p |- ( ph -> ( C i^i A ) = ( C i^i B ) ) $=
      ( wceq cin ineq2 syl ) ABCFDBGDCGFEBCDHI $.

    ${
      ineq12d.2 $e |- ( ph -> C = D ) $.
      $( Equality deduction for intersection of two classes.  (Contributed by
         NM, 24-Jun-2004.)  (Proof shortened by Andrew Salmon, 26-Jun-2011.) $)
      ineq12d $p |- ( ph -> ( A i^i C ) = ( B i^i D ) ) $=
        ( wceq cin ineq12 syl2anc ) ABCHDEHBDICEIHFGBCDEJK $.
    $}

    ${
      ineqan12d.2 $e |- ( ps -> C = D ) $.
      $( Equality deduction for intersection of two classes.  (Contributed by
         NM, 7-Feb-2007.) $)
      ineqan12d $p |- ( ( ph /\ ps ) -> ( A i^i C ) = ( B i^i D ) ) $=
        ( wceq cin ineq12 syl2an ) ACDIEFICEJDFJIBGHCDEFKL $.
    $}
  $}

  $( A frequently-used variant of subclass definition ~ df-ss .  (Contributed
     by NM, 10-Jan-2015.) $)
  dfss1 $p |- ( A C_ B <-> ( B i^i A ) = A ) $=
    ( wss cin wceq df-ss incom eqeq1i bitri ) ABCABDZAEBADZAEABFJKAABGHI $.

  $( Another definition of subclasshood.  Similar to ~ df-ss , ~ dfss , and
     ~ dfss1 .  (Contributed by David Moews, 1-May-2017.) $)
  dfss5 $p |- ( A C_ B <-> A = ( B i^i A ) ) $=
    ( wss cin wceq dfss1 eqcom bitri ) ABCBADZAEAIEABFIAGH $.

  ${
    $d A y $.  $d C y $.  $d D y $.  $d x y $.
    $( Distribute proper substitution through an intersection relation.
       (Contributed by Alan Sare, 22-Jul-2012.) $)
    csbing $p |- ( A e. B -> [_ A / x ]_ ( C i^i D ) =
                  ( [_ A / x ]_ C i^i [_ A / x ]_ D ) ) $=
      ( vy cv cin csb wceq csbeq1 ineq12d eqeq12d nfcsb1v csbeq1a csbief vtoclg
      vex nfin ) AFGZDEHZIZATDIZATEIZHZJABUAIZABDIZABEIZHZJFBCTBJZUBUFUEUIATBUA
      KUJUCUGUDUHATBDKATBEKLMATUAUEFRAUCUDATDNATENSAGTJDUCEUDATDOATEOLPQ $.
  $}

  ${
    $d x ph $.  $d x A $.  $d x B $.
    rabbi2dva.1 $e |- ( ( ph /\ x e. A ) -> ( x e. B <-> ps ) ) $.
    $( Deduction from a wff to a restricted class abstraction.  (Contributed by
       NM, 14-Jan-2014.) $)
    rabbi2dva $p |- ( ph -> ( A i^i B ) = { x e. A | ps } ) $=
      ( cin cv wcel crab wa cab elin abbi2i df-rab eqtr4i rabbidva syl5eq ) ADE
      GZCHZEIZCDJZBCDJSTDIUAKZCLUBUCCSTDEMNUACDOPAUABCDFQR $.
  $}

  ${
    $d x A $.
    $( Idempotent law for intersection of classes.  Theorem 15 of [Suppes]
       p. 26.  (Contributed by NM, 5-Aug-1993.) $)
    inidm $p |- ( A i^i A ) = A $=
      ( vx cv wcel anidm ineqri ) BAAABCADEF $.
  $}

  ${
    $d A x $.  $d B x $.  $d C x $.
    $( Associative law for intersection of classes.  Exercise 9 of
       [TakeutiZaring] p. 17.  (Contributed by NM, 3-May-1994.) $)
    inass $p |- ( ( A i^i B ) i^i C ) = ( A i^i ( B i^i C ) ) $=
      ( vx cin cv wcel wa anass elin anbi2i bitr4i anbi1i 3bitr4i ineqri ) DABE
      ZCABCEZEZDFZAGZSBGZHZSCGZHZTSQGZHZSPGZUCHSRGUDTUAUCHZHUFTUAUCIUEUHTSBCJKL
      UGUBUCSABJMSAQJNO $.
  $}

  $( A rearrangement of intersection.  (Contributed by NM, 21-Apr-2001.) $)
  in12 $p |- ( A i^i ( B i^i C ) ) = ( B i^i ( A i^i C ) ) $=
    ( cin incom ineq1i inass 3eqtr3i ) ABDZCDBADZCDABCDDBACDDIJCABEFABCGBACGH
    $.

  $( A rearrangement of intersection.  (Contributed by NM, 21-Apr-2001.)
     (Proof shortened by Andrew Salmon, 26-Jun-2011.) $)
  in32 $p |- ( ( A i^i B ) i^i C ) = ( ( A i^i C ) i^i B ) $=
    ( cin inass in12 incom 3eqtri ) ABDCDABCDDBACDZDIBDABCEABCFBIGH $.

  $( A rearrangement of intersection.  (Contributed by NM, 27-Aug-2012.) $)
  in13 $p |- ( A i^i ( B i^i C ) ) = ( C i^i ( B i^i A ) ) $=
    ( cin in32 incom 3eqtr4i ) BCDZADBADZCDAHDCIDBCAEAHFCIFG $.

  $( A rearrangement of intersection.  (Contributed by NM, 27-Aug-2012.) $)
  in31 $p |- ( ( A i^i B ) i^i C ) = ( ( C i^i B ) i^i A ) $=
    ( cin in12 incom 3eqtr4i ) CABDZDACBDZDHCDIADCABEHCFIAFG $.

  $( Rotate the intersection of 3 classes.  (Contributed by NM,
     27-Aug-2012.) $)
  inrot $p |- ( ( A i^i B ) i^i C ) = ( ( C i^i A ) i^i B ) $=
    ( cin in31 in32 eqtri ) ABDCDCBDADCADBDABCECBAFG $.

  $( Rearrangement of intersection of 4 classes.  (Contributed by NM,
     21-Apr-2001.) $)
  in4 $p |- ( ( A i^i B ) i^i ( C i^i D ) ) =
            ( ( A i^i C ) i^i ( B i^i D ) ) $=
    ( cin in12 ineq2i inass 3eqtr4i ) ABCDEZEZEACBDEZEZEABEJEACELEKMABCDFGABJHA
    CLHI $.

  $( Intersection distributes over itself.  (Contributed by NM, 6-May-1994.) $)
  inindi $p |- ( A i^i ( B i^i C ) ) = ( ( A i^i B ) i^i ( A i^i C ) ) $=
    ( cin inidm ineq1i in4 eqtr3i ) AADZBCDZDAJDABDACDDIAJAEFAABCGH $.

  $( Intersection distributes over itself.  (Contributed by NM,
     17-Aug-2004.) $)
  inindir $p |- ( ( A i^i B ) i^i C ) = ( ( A i^i C ) i^i ( B i^i C ) ) $=
    ( cin inidm ineq2i in4 eqtr3i ) ABDZCCDZDICDACDBCDDJCICEFABCCGH $.

  $( A relationship between subclass and intersection.  Similar to Exercise 9
     of [TakeutiZaring] p. 18.  (Contributed by NM, 17-May-1994.) $)
  sseqin2 $p |- ( A C_ B <-> ( B i^i A ) = A ) $=
    ( dfss1 ) ABC $.

  ${
    $d x A $.  $d x B $.
    $( The intersection of two classes is a subset of one of them.  Part of
       Exercise 12 of [TakeutiZaring] p. 18.  (Contributed by NM,
       27-Apr-1994.) $)
    inss1 $p |- ( A i^i B ) C_ A $=
      ( vx cin cv wcel elin simplbi ssriv ) CABDZACEZJFKAFKBFKABGHI $.
  $}

  $( The intersection of two classes is a subset of one of them.  Part of
     Exercise 12 of [TakeutiZaring] p. 18.  (Contributed by NM,
     27-Apr-1994.) $)
  inss2 $p |- ( A i^i B ) C_ B $=
    ( cin incom inss1 eqsstr3i ) ABCBACBBADBAEF $.

  ${
    $d x A $.  $d x B $.  $d x C $.
    $( Subclass of intersection.  Theorem 2.8(vii) of [Monk1] p. 26.
       (Contributed by NM, 15-Jun-2004.)  (Proof shortened by Andrew Salmon,
       26-Jun-2011.) $)
    ssin $p |- ( ( A C_ B /\ A C_ C ) <-> A C_ ( B i^i C ) ) $=
      ( vx cv wcel wi wal wa cin wss elin imbi2i albii jcab 19.26 3bitrri dfss2
      anbi12i 3bitr4i ) DEZAFZUABFZGZDHZUBUACFZGZDHZIZUBUABCJZFZGZDHZABKZACKZIA
      UJKUMUBUCUFIZGZDHUDUGIZDHUIULUQDUKUPUBUABCLMNUQURDUBUCUFONUDUGDPQUNUEUOUH
      DABRDACRSDAUJRT $.
  $}

  ${
    ssini.1 $e |- A C_ B $.
    ssini.2 $e |- A C_ C $.
    $( An inference showing that a subclass of two classes is a subclass of
       their intersection.  (Contributed by NM, 24-Nov-2003.) $)
    ssini $p |- A C_ ( B i^i C ) $=
      ( wss wa cin pm3.2i ssin mpbi ) ABFZACFZGABCHFLMDEIABCJK $.
  $}

  ${
    ssind.1 $e |- ( ph -> A C_ B ) $.
    ssind.2 $e |- ( ph -> A C_ C ) $.
    $( A deduction showing that a subclass of two classes is a subclass of
       their intersection.  (Contributed by Jonathan Ben-Naim, 3-Jun-2011.) $)
    ssind $p |- ( ph -> A C_ ( B i^i C ) ) $=
      ( wss cin wa ssin biimpi syl2anc ) ABCGZBDGZBCDHGZEFMNIOBCDJKL $.
  $}

  ${
    $d x A $.  $d x B $.  $d x C $.
    $( Add right intersection to subclass relation.  (Contributed by NM,
       16-Aug-1994.)  (Proof shortened by Andrew Salmon, 26-Jun-2011.) $)
    ssrin $p |- ( A C_ B -> ( A i^i C ) C_ ( B i^i C ) ) $=
      ( vx wss cin cv wcel wa ssel anim1d elin 3imtr4g ssrdv ) ABEZDACFZBCFZODG
      ZAHZRCHZIRBHZTIRPHRQHOSUATABRJKRACLRBCLMN $.

    $( Add left intersection to subclass relation.  (Contributed by NM,
       19-Oct-1999.) $)
    sslin $p |- ( A C_ B -> ( C i^i A ) C_ ( C i^i B ) ) $=
      ( wss cin ssrin incom 3sstr4g ) ABDACEBCECAECBEABCFCAGCBGH $.
  $}

  $( Intersection of subclasses.  (Contributed by NM, 5-May-2000.) $)
  ss2in $p |- ( ( A C_ B /\ C C_ D ) -> ( A i^i C ) C_ ( B i^i D ) ) $=
    ( wss cin ssrin sslin sylan9ss ) ABECDEACFBCFBDFABCGCDBHI $.

  $( Intersection preserves subclass relationship.  (Contributed by NM,
     14-Sep-1999.) $)
  ssinss1 $p |- ( A C_ C -> ( A i^i B ) C_ C ) $=
    ( cin wss wi inss1 sstr2 ax-mp ) ABDZAEACEJCEFABGJACHI $.

  $( Inclusion of an intersection of two classes.  (Contributed by NM,
     30-Oct-2014.) $)
  inss $p |- ( ( A C_ C \/ B C_ C ) -> ( A i^i B ) C_ C ) $=
    ( wss cin ssinss1 incom syl5eqss jaoi ) ACDABEZCDBCDZABCFKJBAECABGBACFHI $.

  $( Absorption law for union.  (Contributed by NM, 16-Apr-2006.) $)
  unabs $p |- ( A u. ( A i^i B ) ) = A $=
    ( cin wss cun wceq inss1 ssequn2 mpbi ) ABCZADAJEAFABGJAHI $.

  $( Absorption law for intersection.  (Contributed by NM, 16-Apr-2006.) $)
  inabs $p |- ( A i^i ( A u. B ) ) = A $=
    ( cun wss cin wceq ssun1 df-ss mpbi ) AABCZDAJEAFABGAJHI $.

  $( Negation of subclass expressed in terms of intersection and proper
     subclass.  (Contributed by NM, 30-Jun-2004.)  (Proof shortened by Andrew
     Salmon, 26-Jun-2011.) $)
  nssinpss $p |- ( -. A C_ B <-> ( A i^i B ) C. A ) $=
    ( cin wne wss wa wn wpss inss1 biantrur df-ss necon3bbii df-pss 3bitr4i ) A
    BCZADZOAEZPFABEZGOAHQPABIJROAABKLOAMN $.

  $( Negation of subclass expressed in terms of proper subclass and union.
     (Contributed by NM, 15-Sep-2004.) $)
  nsspssun $p |- ( -. A C_ B <-> B C. ( A u. B ) ) $=
    ( wss wn cun wa wpss ssun2 biantrur ssid biantru unss bitri xchnxbir dfpss3
    bitr4i ) ABCZDBABEZCZRBCZDZFZBRGTUBQSUABAHIQQBBCZFTUCQBJKABBLMNBROP $.

  ${
    $d x A $.  $d x B $.
    $( Subclass defined in terms of class difference.  See comments under
       ~ dfun2 .  (Contributed by NM, 22-Mar-1998.)  (Proof shortened by Andrew
       Salmon, 26-Jun-2011.) $)
    dfss4 $p |- ( A C_ B <-> ( B \ ( B \ A ) ) = A ) $=
      ( vx wss wceq cdif sseqin2 cv wcel wn wa eldif notbii anbi2i wi elin abai
      cin iman bitr4i 3bitri difeqri eqeq1i ) ABDBARZAEBBAFZFZAEABGUFUDACBUEUDC
      HZBIZUGUEIZJZKUHUHUGAIZJKZJZKZUGUDIZUJUMUHUIULUGBALMNUOUHUKKUHUHUKOZKUNUG
      BAPUHUKQUPUMUHUHUKSNUATUBUCT $.

    $( An alternate definition of the union of two classes in terms of class
       difference, requiring no dummy variables.  Along with ~ dfin2 and
       ~ dfss4 it shows we can express union, intersection, and subset directly
       in terms of the single "primitive" operation ` \ ` (class difference).
       (Contributed by NM, 10-Jun-2004.) $)
    dfun2 $p |- ( A u. B ) = ( _V \ ( ( _V \ A ) \ B ) ) $=
      ( vx cvv cdif cv wcel wo wn wa eldif mpbiran anbi1i ioran 3bitr4i con2bii
      vex bitr4i uneqri ) CABDDAEZBEZEZCFZAGZUCBGZHZUCUAGZIZUCUBGZUGUFUCTGZUEIZ
      JUDIZUKJUGUFIUJULUKUJUCDGZULCQZUCDAKLMUCTBKUDUENOPUIUMUHUNUCDUAKLRS $.

    $( An alternate definition of the intersection of two classes in terms of
       class difference, requiring no dummy variables.  See comments under
       ~ dfun2 .  Another version is given by ~ dfin4 .  (Contributed by NM,
       10-Jun-2004.) $)
    dfin2 $p |- ( A i^i B ) = ( A \ ( _V \ B ) ) $=
      ( vx cvv cdif cv wcel wa vex eldif mpbiran con2bii anbi2i bitr4i ineqri
      wn ) CABADBEZEZCFZAGZSBGZHTSQGZPZHSRGUAUCTUBUAUBSDGUAPCISDBJKLMSAQJNO $.

    $( Difference with intersection.  Theorem 33 of [Suppes] p. 29.
       (Contributed by NM, 31-Mar-1998.)  (Proof shortened by Andrew Salmon,
       26-Jun-2011.) $)
    difin $p |- ( A \ ( A i^i B ) ) = ( A \ B ) $=
      ( vx cin cdif cv wcel wi wn pm4.61 anclb elin imbi2i iman 3bitr2i con2bii
      wa eldif 3bitr4i difeqri ) CAABDZABEZCFZAGZUCBGZHZIUDUEIQUDUCUAGZIQZUCUBG
      UDUEJUFUHUFUDUDUEQZHUDUGHUHIUDUEKUGUIUDUCABLMUDUGNOPUCABRST $.
  $}

  $( Union defined in terms of intersection (De Morgan's law).  Definition of
     union in [Mendelson] p. 231.  (Contributed by NM, 8-Jan-2002.) $)
  dfun3 $p |- ( A u. B ) = ( _V \ ( ( _V \ A ) i^i ( _V \ B ) ) ) $=
    ( cun cvv cdif cin dfun2 dfin2 ddif difeq2i eqtr2i eqtri ) ABCDDAEZBEZEDMDB
    EZFZEABGNPDPMDOEZENMOHQBMBIJKJL $.

  $( Intersection defined in terms of union (De Morgan's law.  Similar to
     Exercise 4.10(n) of [Mendelson] p. 231.  (Contributed by NM,
     8-Jan-2002.) $)
  dfin3 $p |- ( A i^i B ) = ( _V \ ( ( _V \ A ) u. ( _V \ B ) ) ) $=
    ( cvv cdif cun cin ddif dfun2 difeq1i difeq2i eqtri dfin2 3eqtr4ri ) CCACBD
    ZDZDZDOCCADZNEZDABFOGRPCRCCQDZNDZDPQNHTOCSANAGIJKJABLM $.

  $( Alternate definition of the intersection of two classes.  Exercise 4.10(q)
     of [Mendelson] p. 231.  (Contributed by NM, 25-Nov-2003.) $)
  dfin4 $p |- ( A i^i B ) = ( A \ ( A \ B ) ) $=
    ( cin cdif wss wceq inss1 dfss4 mpbi difin difeq2i eqtr3i ) AAABCZDZDZMAABD
    ZDMAEOMFABGMAHINPAABJKL $.

  $( Intersection with universal complement.  Remark in [Stoll] p. 20.
     (Contributed by NM, 17-Aug-2004.) $)
  invdif $p |- ( A i^i ( _V \ B ) ) = ( A \ B ) $=
    ( cvv cdif cin dfin2 ddif difeq2i eqtri ) ACBDZEACJDZDABDAJFKBABGHI $.

  $( Intersection with class difference.  Theorem 34 of [Suppes] p. 29.
     (Contributed by NM, 17-Aug-2004.) $)
  indif $p |- ( A i^i ( A \ B ) ) = ( A \ B ) $=
    ( cdif cin dfin4 difeq2i difin 3eqtr2i ) AABCZDAAICZCAABDZCIAIEKJAABEFABGH
    $.

  $( Bring an intersection in and out of a class difference.  (Contributed by
     Jeff Hankins, 15-Jul-2009.) $)
  indif2 $p |- ( A i^i ( B \ C ) ) = ( ( A i^i B ) \ C ) $=
    ( cin cvv cdif inass invdif ineq2i 3eqtr3ri ) ABDZECFZDABLDZDKCFABCFZDABLGK
    CHMNABCHIJ $.

  $( Bring an intersection in and out of a class difference.  (Contributed by
     Mario Carneiro, 15-May-2015.) $)
  indif1 $p |- ( ( A \ C ) i^i B ) = ( ( A i^i B ) \ C ) $=
    ( cdif cin indif2 incom difeq1i 3eqtr3i ) BACDZEBAEZCDJBEABEZCDBACFBJGKLCBA
    GHI $.

  $( Commutation law for intersection and difference.  (Contributed by Scott
     Fenton, 18-Feb-2013.) $)
  indifcom $p |- ( A i^i ( B \ C ) ) = ( B i^i ( A \ C ) ) $=
    ( cin cdif incom difeq1i indif2 3eqtr4i ) ABDZCEBADZCEABCEDBACEDJKCABFGABCH
    BACHI $.

  ${
    $d x A $.  $d x B $.  $d x C $.
    $( Distributive law for intersection over union.  Exercise 10 of
       [TakeutiZaring] p. 17.  (Contributed by NM, 30-Sep-2002.)  (Proof
       shortened by Andrew Salmon, 26-Jun-2011.) $)
    indi $p |- ( A i^i ( B u. C ) ) = ( ( A i^i B ) u. ( A i^i C ) ) $=
      ( vx cun cin cv wcel wo wa andi elin orbi12i bitr4i anbi2i 3bitr4i ineqri
      elun ) DABCEZABFZACFZEZDGZAHZUCBHZUCCHZIZJZUCTHZUCUAHZIZUDUCSHZJUCUBHUHUD
      UEJZUDUFJZIUKUDUEUFKUIUMUJUNUCABLUCACLMNULUGUDUCBCROUCTUARPQ $.

    $( Distributive law for union over intersection.  Exercise 11 of
       [TakeutiZaring] p. 17.  (Contributed by NM, 30-Sep-2002.)  (Proof
       shortened by Andrew Salmon, 26-Jun-2011.) $)
    undi $p |- ( A u. ( B i^i C ) ) = ( ( A u. B ) i^i ( A u. C ) ) $=
      ( vx cin cv wcel wo wa elin orbi2i ordi elun anbi12i bitr2i 3bitri uneqri
      cun ) DABCEZABRZACRZEZDFZAGZUCSGZHUDUCBGZUCCGZIZHUDUFHZUDUGHZIZUCUBGZUEUH
      UDUCBCJKUDUFUGLULUCTGZUCUAGZIUKUCTUAJUMUIUNUJUCABMUCACMNOPQ $.
  $}

  $( Distributive law for intersection over union.  Theorem 28 of [Suppes]
     p. 27.  (Contributed by NM, 30-Sep-2002.) $)
  indir $p |- ( ( A u. B ) i^i C ) = ( ( A i^i C ) u. ( B i^i C ) ) $=
    ( cun cin indi incom uneq12i 3eqtr4i ) CABDZECAEZCBEZDJCEACEZBCEZDCABFJCGMK
    NLACGBCGHI $.

  $( Distributive law for union over intersection.  Theorem 29 of [Suppes]
     p. 27.  (Contributed by NM, 30-Sep-2002.) $)
  undir $p |- ( ( A i^i B ) u. C ) = ( ( A u. C ) i^i ( B u. C ) ) $=
    ( cin cun undi uncom ineq12i 3eqtr4i ) CABDZECAEZCBEZDJCEACEZBCEZDCABFJCGMK
    NLACGBCGHI $.

  ${
    $d x A $.  $d x B $.  $d x C $.
    $( Infer equality from equalities of union and intersection.  Exercise 20
       of [Enderton] p. 32 and its converse.  (Contributed by NM,
       10-Aug-2004.) $)
    unineq $p |- ( ( ( A u. C ) = ( B u. C ) /\ ( A i^i C ) = ( B i^i C ) )
                 <-> A = B ) $=
      ( vx cun wceq cin wa wcel wb eleq2 elin 3bitr3g iba bibi12d syl5ibr uncom
      wo elun biorf cv wi adantld eqeq12i sylbi adantrd pm2.61i eqrdv uneq1 jca
      wn ineq1 impbii ) ACEZBCEZFZACGZBCGZFZHZABFZUTDABDUAZCIZUTVBAIZVBBIZJZUBV
      CUSVFUPUSVFVCVDVCHZVEVCHZJUSVBUQIVBURIVGVHUQURVBKVBACLVBBCLMVCVDVGVEVHVCV
      DNVCVENOPUCVCUKZUPVFUSUPVFVIVCVDRZVCVERZJUPVBCAEZIZVBCBEZIZVJVKUPVLVNFVMV
      OJUNVLUOVNACQBCQUDVLVNVBKUEVBCASVBCBSMVIVDVJVEVKVCVDTVCVETOPUFUGUHVAUPUSA
      BCUIABCULUJUM $.
  $}

  $( Equality of union and intersection implies equality of their arguments.
     (Contributed by NM, 16-Apr-2006.)  (Proof shortened by Andrew Salmon,
     26-Jun-2011.) $)
  uneqin $p |- ( ( A u. B ) = ( A i^i B ) <-> A = B ) $=
    ( cun cin wceq wss wa eqimss unss ssin sstr sylbir simpl anim12i syl sylibr
    eqss unidm inidm eqtr4i uneq2 ineq2 3eqtr3a impbii ) ABCZABDZEZABEZUGABFZBA
    FZGZUHUGUEUFFZUKUEUFHULAUFFZBUFFZGUKABUFIUMUIUNUJUMAAFUIGUIAABJAABKLUNUJBBF
    ZGUJBABJUJUOMLNLOABQPUHAACZAADZUEUFUPAUQARASTABAUAABAUBUCUD $.

  $( Distributive law for class difference.  Theorem 39 of [Suppes] p. 29.
     (Contributed by NM, 17-Aug-2004.) $)
  difundi $p |- ( A \ ( B u. C ) ) = ( ( A \ B ) i^i ( A \ C ) ) $=
    ( cun cdif cvv cin dfun3 difeq2i inindi dfin2 invdif ineq12i 3eqtr3i eqtri
    ) ABCDZEAFFBEZFCEZGZEZEZABEZACEZGZPTABCHIASGAQGZARGZGUAUDAQRJASKUEUBUFUCABL
    ACLMNO $.

  $( Distributive law for class difference.  (Contributed by NM,
     17-Aug-2004.) $)
  difundir $p |- ( ( A u. B ) \ C ) = ( ( A \ C ) u. ( B \ C ) ) $=
    ( cun cvv cdif cin indir invdif uneq12i 3eqtr3i ) ABDZECFZGAMGZBMGZDLCFACFZ
    BCFZDABMHLCINPOQACIBCIJK $.

  $( Distributive law for class difference.  Theorem 40 of [Suppes] p. 29.
     (Contributed by NM, 17-Aug-2004.) $)
  difindi $p |- ( A \ ( B i^i C ) ) = ( ( A \ B ) u. ( A \ C ) ) $=
    ( cin cdif cvv cun dfin3 difeq2i indi dfin2 invdif uneq12i 3eqtr3i eqtri )
    ABCDZEAFFBEZFCEZGZEZEZABEZACEZGZPTABCHIASDAQDZARDZGUAUDAQRJASKUEUBUFUCABLAC
    LMNO $.

  $( Distributive law for class difference.  (Contributed by NM,
     17-Aug-2004.) $)
  difindir $p |- ( ( A i^i B ) \ C ) = ( ( A \ C ) i^i ( B \ C ) ) $=
    ( cin cvv cdif inindir invdif ineq12i 3eqtr3i ) ABDZECFZDALDZBLDZDKCFACFZBC
    FZDABLGKCHMONPACHBCHIJ $.

  ${
    $d A x $.  $d B x $.  $d C x $.
    $( Distribute intersection over difference.  (Contributed by Scott Fenton,
       14-Apr-2011.) $)
    indifdir $p |- ( ( A \ B ) i^i C ) = ( ( A i^i C ) \ ( B i^i C ) ) $=
      ( vx cdif cin cv wcel wn wa pm3.24 intnan anass mtbir biorfi 3bitr4i elin
      wo eldif bitri an32 andi ianor anbi2i bitr4i anbi1i notbii anbi12i eqriv
      ) DABEZCFZACFZBCFZEZDGZAHZUOBHZIZJZUOCHZJZUPUTJZUQUTJZIZJZUOUKHZUOUNHZVAV
      BURUTIZRZJZVEVBURJZVKVBVHJZRVAVJVLVKVLUPUTVHJZJVMUPUTKLUPUTVHMNOUPURUTUAV
      BURVHUBPVDVIVBUQUTUCUDUEVFUOUJHZUTJVAUOUJCQVNUSUTUOABSUFTVGUOULHZUOUMHZIZ
      JVEUOULUMSVOVBVQVDUOACQVPVCUOBCQUGUHTPUI $.
  $}

  $( De Morgan's law for union.  Theorem 5.2(13) of [Stoll] p. 19.
     (Contributed by NM, 18-Aug-2004.) $)
  undm $p |- ( _V \ ( A u. B ) ) = ( ( _V \ A ) i^i ( _V \ B ) ) $=
    ( cvv difundi ) CABD $.

  $( De Morgan's law for intersection.  Theorem 5.2(13') of [Stoll] p. 19.
     (Contributed by NM, 18-Aug-2004.) $)
  indm $p |- ( _V \ ( A i^i B ) ) = ( ( _V \ A ) u. ( _V \ B ) ) $=
    ( cvv difindi ) CABD $.

  $( A relationship involving double difference and union.  (Contributed by NM,
     29-Aug-2004.) $)
  difun1 $p |- ( A \ ( B u. C ) ) = ( ( A \ B ) \ C ) $=
    ( cvv cdif cin cun inass invdif eqtr3i undm ineq2i difeq1i ) ADBEZFZCEZABCG
    ZEZABEZCEANDCEZFZFZPROTFUBPANTHOCIJADQEZFUBRUCUAABCKLAQIJJOSCABIMJ $.

  ${
    $d A x $.  $d B x $.  $d C x $.
    $( An equality involving class union and class difference.  The first
       equality of Exercise 13 of [TakeutiZaring] p. 22.  (Contributed by Alan
       Sare, 17-Apr-2012.) $)
    undif3 $p |- ( A u. ( B \ C ) ) = ( ( A u. B ) \ ( C \ A ) ) $=
      ( vx cdif cun cv wcel wn wa elun pm4.53 eldif xchnxbir anbi12i orbi2i orc
      wo olc jca anim12i simpl adantr adantl ccase impbii 3bitri 3bitr4ri eqriv
      jaoi orcd ) DABCEZFZABFZCAEZEZDGZUNHZUQUOHZIZJUQAHZUQBHZRZUQCHZIZVARZJZUQ
      UPHUQUMHZURVCUTVFUQABKVDVAIJVFUSVDVALUQCAMNOUQUNUOMVHVAUQULHZRVAVBVEJZRZV
      GUQAULKVIVJVAUQBCMPVKVGVAVGVJVAVCVFVAVBQVAVESTVBVCVEVFVBVASVEVAQUAUJVAVEV
      BVAVKVAVEJVAVJVAVEUBUKVJVASVAVKVAVAVJQZUCVAVKVBVLUDUEUFUGUHUI $.

    $( Represent a set difference as an intersection with a larger difference.
       (Contributed by Jeff Madsen, 2-Sep-2009.) $)
    difin2 $p |- ( A C_ C -> ( A \ B ) = ( ( C \ B ) i^i A ) ) $=
      ( vx wss cdif cin cv wcel wn ssel pm4.71d anbi1d eldif anbi1i ancom anass
      wa elin bitr4i 3bitri 3bitr4g eqrdv ) ACEZDABFZCBFZAGZUDDHZAIZUHBIJZRUIUH
      CIZRZUJRZUHUEIUHUGIZUDUIULUJUDUIUKACUHKLMUHABNUNUHUFIZUIRUKUJRZUIRZUMUHUF
      ASUOUPUIUHCBNOUQUIUPRUMUPUIPUIUKUJQTUAUBUC $.
  $}

  $( Swap second and third argument of double difference.  (Contributed by NM,
     18-Aug-2004.) $)
  dif32 $p |- ( ( A \ B ) \ C ) = ( ( A \ C ) \ B ) $=
    ( cun cdif uncom difeq2i difun1 3eqtr3i ) ABCDZEACBDZEABECEACEBEJKABCFGABCH
    ACBHI $.

  $( Absorption-like law for class difference: you can remove a class only
     once.  (Contributed by FL, 2-Aug-2009.) $)
  difabs $p |- ( ( A \ B ) \ B ) = ( A \ B ) $=
    ( cun cdif difun1 unidm difeq2i eqtr3i ) ABBCZDABDZBDJABBEIBABFGH $.

  $( Two ways to express symmetric difference.  This theorem shows the
     equivalence of the definition of symmetric difference in [Stoll] p. 13 and
     the restated definition in Example 4.1 of [Stoll] p. 262.  (Contributed by
     NM, 17-Aug-2004.) $)
  symdif1 $p |- ( ( A \ B ) u. ( B \ A ) ) = ( ( A u. B ) \ ( A i^i B ) ) $=
    ( cun cin cdif difundir difin incom difeq2i eqtri uneq12i eqtr2i ) ABCABDZE
    AMEZBMEZCABEZBAEZCABMFNPOQABGOBBADZEQMRBABHIBAGJKL $.

  ${
    $d x A $.  $d x B $.
    $( Two ways to express symmetric difference.  (Contributed by NM,
       17-Aug-2004.)  (Proof shortened by Andrew Salmon, 26-Jun-2011.) $)
    symdif2 $p |- ( ( A \ B ) u. ( B \ A ) ) =
                  { x | -. ( x e. A <-> x e. B ) } $=
      ( cv wcel wb wn cdif cun wo wa eldif orbi12i elun xor 3bitr4i abbi2i ) AD
      ZBEZRCEZFGZABCHZCBHZIZRUBEZRUCEZJSTGKZTSGKZJRUDEUAUEUGUFUHRBCLRCBLMRUBUCN
      STOPQ $.
  $}

  ${
    $d x y $.  $d ph y $.  $d ps y $.
    $( Union of two class abstractions.  (Contributed by NM, 29-Sep-2002.)
       (Proof shortened by Andrew Salmon, 26-Jun-2011.) $)
    unab $p |- ( { x | ph } u. { x | ps } ) = { x | ( ph \/ ps ) } $=
      ( vy cab wo wsb cv wcel sbor df-clab orbi12i 3bitr4ri uneqri ) DACEZBCEZA
      BFZCEZQCDGACDGZBCDGZFDHZRIUAOIZUAPIZFABCDJQDCKUBSUCTADCKBDCKLMN $.

    $( Intersection of two class abstractions.  (Contributed by NM,
       29-Sep-2002.)  (Proof shortened by Andrew Salmon, 26-Jun-2011.) $)
    inab $p |- ( { x | ph } i^i { x | ps } ) = { x | ( ph /\ ps ) } $=
      ( vy cab wa wsb cv wcel sban df-clab anbi12i 3bitr4ri ineqri ) DACEZBCEZA
      BFZCEZQCDGACDGZBCDGZFDHZRIUAOIZUAPIZFABCDJQDCKUBSUCTADCKBDCKLMN $.

    $( Difference of two class abstractions.  (Contributed by NM,
       23-Oct-2004.)  (Proof shortened by Andrew Salmon, 26-Jun-2011.) $)
    difab $p |- ( { x | ph } \ { x | ps } ) = { x | ( ph /\ -. ps ) } $=
      ( vy cab wn wcel wsb df-clab sban bicomi xchbinxr anbi12i 3bitrri difeqri
      wa cv sbn ) DACEZBCEZABFZPZCEZDQZUCGUBCDHACDHZUACDHZPUDSGZUDTGZFZPUBDCIAU
      ACDJUEUGUFUIUGUEADCIKUFBCDHUHBCDRBDCILMNO $.

    $( Complement of a class abstraction.  (Contributed by SF, 12-Jan-2015.) $)
    complab $p |- ~ { x | ph } = { x | -. ph } $=
      ( vy cab ccompl wn wcel wsb df-clab notbii sbn bitr4i vex elcompl 3bitr4i
      cv eqriv ) CABDZEZAFZBDZCPZRGZFZTBCHZUBSGUBUAGUDABCHZFUEUCUFACBIJABCKLUBR
      CMNTCBIOQ $.
  $}

  $( A class builder defined by a negation.  (Contributed by FL,
     18-Sep-2010.) $)
  notab $p |- { x | -. ph } = ( _V \ { x | ph } ) $=
    ( cv cvv wcel wn wa cab cdif crab df-rab rabab eqtr3i difab abid2 difeq1i )
    BCDEZAFZGBHZRBHZDABHZIZRBDJSTRBDKRBLMQBHZUAISUBQABNUCDUABDOPMM $.

  $( Union of two restricted class abstractions.  (Contributed by NM,
     25-Mar-2004.) $)
  unrab $p |- ( { x e. A | ph } u. { x e. A | ps } ) =
              { x e. A | ( ph \/ ps ) } $=
    ( crab cun cv wcel wa cab wo df-rab uneq12i unab andi abbii eqtr4i ) ACDEZB
    CDEZFCGDHZAIZCJZTBIZCJZFZABKZCDEZRUBSUDACDLBCDLMUGTUFIZCJZUEUFCDLUEUAUCKZCJ
    UIUAUCCNUHUJCTABOPQQQ $.

  $( Intersection of two restricted class abstractions.  (Contributed by NM,
     1-Sep-2006.) $)
  inrab $p |- ( { x e. A | ph } i^i { x e. A | ps } ) =
              { x e. A | ( ph /\ ps ) } $=
    ( crab cin cv wcel wa cab df-rab ineq12i inab anandi abbii eqtr4i ) ACDEZBC
    DEZFCGDHZAIZCJZSBIZCJZFZABIZCDEZQUARUCACDKBCDKLUFSUEIZCJZUDUECDKUDTUBIZCJUH
    TUBCMUGUICSABNOPPP $.

  ${
    $d x B $.
    $( Intersection with a restricted class abstraction.  (Contributed by NM,
       19-Nov-2007.) $)
    inrab2 $p |- ( { x e. A | ph } i^i B ) = { x e. ( A i^i B ) | ph } $=
      ( crab cin cv wcel cab df-rab abid2 eqcomi ineq12i inab elin anbi1i bitri
      wa an32 eqtr4i abbii ) ABCEZDFBGZCHZARZBIZUCDHZBIZFZABCDFZEZUBUFDUHABCJUH
      DBDKLMUKUCUJHZARZBIZUIABUJJUIUEUGRZBIUNUEUGBNUMUOBUMUDUGRZARUOULUPAUCCDOP
      UDUGASQUATTT $.
  $}

  $( Difference of two restricted class abstractions.  (Contributed by NM,
     23-Oct-2004.) $)
  difrab $p |- ( { x e. A | ph } \ { x e. A | ps } ) =
              { x e. A | ( ph /\ -. ps ) } $=
    ( crab cdif cv wcel wa wn df-rab difeq12i difab anass simpr con3i anim2i wi
    cab eqtr4i pm3.2 adantr con3d imdistani impbii bitr3i abbii ) ACDEZBCDEZFCG
    DHZAIZCSZUJBIZCSZFZABJZIZCDEZUHULUIUNACDKBCDKLURUJUQIZCSZUOUQCDKUOUKUMJZIZC
    SUTUKUMCMUSVBCUSUKUPIZVBUJAUPNVCVBUPVAUKUMBUJBOPQUKVAUPUKBUMUJBUMRAUJBUAUBU
    CUDUEUFUGTTT $.

  ${
    $d x A $.  $d x B $.
    $( Alternate definition of restricted class abstraction.  (Contributed by
       NM, 20-Sep-2003.) $)
    dfrab2 $p |- { x e. A | ph } = ( { x | ph } i^i A ) $=
      ( crab cv wcel wa cab cin df-rab inab abid2 ineq1i eqtr3i incom 3eqtri )
      ABCDBECFZAGBHZCABHZIZSCIABCJQBHZSIRTQABKUACSBCLMNCSOP $.

    $( Alternate definition of restricted class abstraction.  (Contributed by
       Mario Carneiro, 8-Sep-2013.) $)
    dfrab3 $p |- { x e. A | ph } = ( A i^i { x | ph } ) $=
      ( crab cv wcel wa cab cin df-rab inab abid2 ineq1i 3eqtr2i ) ABCDBECFZAGB
      HOBHZABHZICQIABCJOABKPCQBCLMN $.

    $( Complementation of restricted class abstractions.  (Contributed by Mario
       Carneiro, 3-Sep-2015.) $)
    notrab $p |- ( A \ { x e. A | ph } ) = { x e. A | -. ph } $=
      ( cv wcel cab cdif wn crab difab cin difin dfrab3 difeq2i difeq1i 3eqtr4i
      wa abid2 df-rab ) BDCEZBFZABFZGZTAHZQBFCABCIZGZUDBCITABJCCUBKZGCUBGUFUCCU
      BLUEUGCABCMNUACUBBCROPUDBCSP $.

    $( Restricted class abstraction with a common superset.  (Contributed by
       Stefan O'Rear, 12-Sep-2015.)  (Proof shortened by Mario Carneiro,
       8-Nov-2015.) $)
    dfrab3ss $p |- ( A C_ B -> { x e. A | ph } = ( A i^i { x e. B | ph } ) ) $=
      ( wss cab crab wceq df-ss ineq1 eqcomd sylbi dfrab3 ineq2i eqtr4i 3eqtr4g
      cin inass ) CDEZCABFZQZCDQZTQZABCGCABDGZQZSUBCHZUAUCHCDIUFUCUAUBCTJKLABCM
      UECDTQZQUCUDUGCABDMNCDTROP $.
  $}

  $( Abstraction restricted to a union.  (Contributed by Stefan O'Rear,
     5-Feb-2015.) $)
  rabun2 $p |- { x e. ( A u. B ) | ph } =
      ( { x e. A | ph } u. { x e. B | ph } ) $=
    ( cun crab cv wcel wa cab df-rab uneq12i elun anbi1i andir bitri abbii unab
    wo eqtr4i ) ABCDEZFBGZUAHZAIZBJZABCFZABDFZEZABUAKUHUBCHZAIZBJZUBDHZAIZBJZEZ
    UEUFUKUGUNABCKABDKLUEUJUMSZBJUOUDUPBUDUIULSZAIUPUCUQAUBCDMNUIULAOPQUJUMBRTT
    T $.

  ${
    $d x A $.  $d x B $.
    $( Transfer uniqueness to a smaller subclass.  (Contributed by NM,
       20-Oct-2005.) $)
    reuss2 $p |- ( ( ( A C_ B /\ A. x e. A ( ph -> ps ) ) /\
                 ( E. x e. A ph /\ E! x e. B ps ) ) -> E! x e. A ph ) $=
      ( wrex wreu wa wss wi wral wcel wex weu df-rex df-reu anbi12i wal sylan2b
      cv wmo df-ral ssel prth sylan exp4b com23 a2d imp4a alimdv imp euimmo syl
      eu5 simplbi2 syl9 imp32 sylibr ) ACDFZBCEGZHDEIZABJZCDKZHZCTZDLZAHZCMZVEE
      LZBHZCNZHZACDGZUSVHUTVKACDOBCEPQVDVLHVGCNZVMVDVHVKVNVDVKVGCUAZVHVNVDVGVJJ
      ZCRZVKVOJVCVAVFVBJZCRZVQVBCDUBVAVSVQVAVRVPCVAVRVFAVJVAVFVBAVJJZVAVBVFVTVA
      VBVFAVJVAVFVIJVBVPDEVEUCVFVIABUDUEUFUGUHUIUJUKSVGVJCULUMVNVHVOVGCUNUOUPUQ
      ACDPURS $.

    $( Transfer uniqueness to a smaller subclass.  (Contributed by NM,
       21-Aug-1999.) $)
    reuss $p |- ( ( A C_ B /\ E. x e. A ph /\ E! x e. B ph ) ->
                E! x e. A ph ) $=
      ( wss wrex wreu wi wral wa cv wcel idd rgen reuss2 mpanl2 3impb ) CDEZABC
      FZABDGZABCGZRAAHZBCISTJUAUBBCBKCLAMNAABCDOPQ $.

    $( Transfer uniqueness to a smaller class.  (Contributed by NM,
       21-Oct-2005.) $)
    reuun1 $p |- ( ( E. x e. A ph /\ E! x e. ( A u. B ) ( ph \/ ps ) )
                 -> E! x e. A ph ) $=
      ( cun wss wo wi wral wrex wreu wa ssun1 orc rgenw reuss2 mpanl12 ) DDEFZG
      AABHZIZCDJACDKTCSLMACDLDENUACDABOPATCDSQR $.

    $( Transfer uniqueness to a smaller or larger class.  (Contributed by NM,
       21-Oct-2005.) $)
    reuun2 $p |- ( -. E. x e. B ph ->
             ( E! x e. ( A u. B ) ph <-> E! x e. A ph ) ) $=
      ( wrex wn cv wcel wa wo weu cun wreu wex df-rex euor2 sylnbi df-reu bitri
      wb elun anbi1i andir orcom eubii 3bitr4g ) ABDEZFBGZDHZAIZUHCHZAIZJZBKZUL
      BKZABCDLZMZABCMUGUJBNUNUOTABDOUJULBPQUQUHUPHZAIZBKUNABUPRUSUMBUSUKUIJZAIZ
      UMURUTAUHCDUAUBVAULUJJUMUKUIAUCULUJUDSSUESABCRUF $.

    $( Restricted uniqueness "picks" a member of a subclass.  (Contributed by
       NM, 21-Aug-1999.) $)
    reupick $p |- ( ( ( A C_ B /\ ( E. x e. A ph /\ E! x e. B ph ) ) /\ ph ) ->
                  ( x e. A <-> x e. B ) ) $=
      ( wss wrex wreu wa cv wcel wi ssel ad2antrr wex weu df-rex df-reu anbi12i
      ancrd anim1d an32 syl6ib eximdv eupick ex syl9 com23 imp32 exp3acom23 imp
      sylan2b impbid ) CDEZABCFZABDGZHZHZAHBIZCJZURDJZUMUSUTKUPACDURLZMUQAUTUSK
      UQUTAUSUPUMUSAHZBNZUTAHZBOZHVDUSKZUNVCUOVEABCPABDQRUMVCVEVFUMVEVCVFUMVCVD
      USHZBNZVEVFUMVBVGBUMVBUTUSHZAHVGUMUSVIAUMUSUTVASTUTUSAUAUBUCVEVHVFVDUSBUD
      UEUFUGUHUKUIUJUL $.

    $( Restricted uniqueness "picks" a member of a subclass.  (Contributed by
       Mario Carneiro, 19-Nov-2016.) $)
    reupick3 $p  |- ( ( E! x e. A ph /\ E. x e. A ( ph /\ ps ) /\ x e. A ) ->
       ( ph -> ps ) ) $=
      ( wreu wa wrex cv wcel wi weu wex df-reu df-rex anass exbii bitr4i eupick
      syl2anb exp3a 3impia ) ACDEZABFZCDGZCHDIZABJUBUDFUEABUBUEAFZCKUFBFZCLZUFB
      JUDACDMUDUEUCFZCLUHUCCDNUGUICUEABOPQUFBCRSTUA $.

    $( Restricted uniqueness "picks" a member of a subclass.  (Contributed by
       Mario Carneiro, 15-Dec-2013.)  (Proof shortened by Mario Carneiro,
       19-Nov-2016.) $)
    reupick2 $p |- ( ( ( A. x e. A ( ps -> ph ) /\ E. x e. A ps /\
                       E! x e. A ph ) /\ x e. A ) -> ( ph <-> ps ) ) $=
      ( wi wral wrex wreu w3a cv wcel ancr ralimi rexim syl reupick3 3exp com12
      wa syl6 3imp1 rsp 3ad2ant1 imp impbid ) BAEZCDFZBCDGZACDHZIZCJDKZSABUGUHU
      IUKABEZUGUHABSZCDGZUIUKULEZEUGBUMEZCDFUHUNEUFUPCDBALMBUMCDNOUIUNUOUIUNUKU
      LABCDPQRTUAUJUKUFUGUHUKUFEUIUFCDUBUCUDUE $.
  $}

  $( Symmetric difference commutes.  (Contributed by SF, 11-Jan-2015.) $)
  symdifcom $p |- ( A (+) B ) = ( B (+) A ) $=
    ( cdif cun csymdif uncom df-symdif 3eqtr4i ) ABCZBACZDJIDABEBAEIJFABGBAGH
    $.

  $( Two classes are equal iff their complements are equal.  (Contributed by
     SF, 11-Jan-2015.) $)
  compleqb $p |- ( A = B <-> ~ A = ~ B ) $=
    ( wceq ccompl compleq dblcompl 3eqtr3g impbii ) ABCADZBDZCZABEKIDJDABIJEAFB
    FGH $.

  ${
    $d A x $.
    $( A class is not equal to its complement.  (Contributed by SF,
       11-Jan-2015.) $)
    necompl $p |- ~ A =/= A $=
      ( vx ccompl wne cv wcel wb wn wex pm5.19 elcompl bibi2i mtbir 19.8a ax-mp
      vex wal dfcleq necon3abii exnal bitr4i mpbir necomi ) AACZAUDDZBEZAFZUFUD
      FZGZHZBIZUJUKUIUGUGHZGUGJUHULUGUFABPKLMUJBNOUEUIBQZHUKUMAUDBAUDRSUIBTUAUB
      UC $.
  $}

  $( Definition of intersection in terms of union.  (Contributed by SF,
     12-Jan-2015.) $)
  dfin5 $p |- ( A i^i B ) = ~ ( ~ A u. ~ B ) $=
    ( ccompl cnin cun cin dblcompl nineq12i compleqi df-un df-in 3eqtr4ri ) ACZ
    CZBCZCZDZCABDZCMOEZCABFQRNAPBAGBGHISQMOJIABKL $.

  $( Definition of union in terms of intersection.  (Contributed by SF,
     12-Jan-2015.) $)
  dfun4 $p |- ( A u. B ) = ~ ( ~ A i^i ~ B ) $=
    ( ccompl cin cun dfin5 compleqi dblcompl uneq12i 3eqtrri ) ACZBCZDZCKCZLCZE
    ZCZCPABEMQKLFGPHNAOBAHBHIJ $.

  $( Intersection of two complements is equal to the complement of a union.
     (Contributed by SF, 12-Jan-2015.) $)
  iunin $p |- ~ ( A u. B ) = ( ~ A i^i ~ B ) $=
    ( ccompl cin cun dfin5 dblcompl uneq12i compleqi eqtr2i ) ACZBCZDKCZLCZEZCA
    BEZCKLFOPMANBAGBGHIJ $.

  $( Complement of intersection is equal to union of complements.  (Contributed
     by SF, 12-Jan-2015.) $)
  iinun $p |- ~ ( A i^i B ) = ( ~ A u. ~ B ) $=
    ( ccompl cun cin dfun4 dblcompl ineq12i compleqi eqtr2i ) ACZBCZDKCZLCZEZCA
    BEZCKLFOPMANBAGBGHIJ $.

  $( A difference is a subset of the complement of its second argument.
     (Contributed by SF, 10-Mar-2015.) $)
  difsscompl $p |- ( A \ B ) C_ ~ B $=
    ( cdif ccompl cin df-dif inss2 eqsstri ) ABCABDZEIABFAIGH $.


$(
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
           The empty set
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
$)

  $( Declare the symbol for the empty or null set. $)
  $c (/) $. $( null set $)

  $( Extend class notation to include the empty set. $)
  c0 $a class (/) $.

  $( Define the empty set.  Special case of Exercise 4.10(o) of [Mendelson]
     p. 231.  For a more traditional definition, but requiring a dummy
     variable, see ~ dfnul2 .  (Contributed by NM, 5-Aug-1993.) $)
  df-nul $a |- (/) = ( _V \ _V ) $.

  $( Alternate definition of the empty set.  Definition 5.14 of [TakeutiZaring]
     p. 20.  (Contributed by NM, 26-Dec-1996.) $)
  dfnul2 $p |- (/) = { x | -. x = x } $=
    ( cv wceq wn c0 wcel cvv cdif wa df-nul eleq2i eldif eqid pm3.24 2th 3bitri
    con2bii abbi2i ) ABZSCZDZAESEFSGGHZFSGFZUCDIZUAEUBSJKSGGLTUDTUDDSMUCNOQPR
    $.

  $( Alternate definition of the empty set.  (Contributed by NM,
     25-Mar-2004.) $)
  dfnul3 $p |- (/) = { x e. A | -. x e. A } $=
    ( cv wceq wn cab wcel wa crab pm3.24 eqid 2th con1bii dfnul2 df-rab 3eqtr4i
    c0 abbii ) ACZSDZEZAFSBGZUBEZHZAFQUCABIUAUDAUDTUDETUBJSKLMRANUCABOP $.

  $( The empty set has no elements.  Theorem 6.14 of [Quine] p. 44.
     (Contributed by NM, 5-Aug-1993.)  (Proof shortened by Mario Carneiro,
     1-Sep-2015.) $)
  noel $p |- -. A e. (/) $=
    ( c0 wcel cvv cdif eldifi eldifn pm2.65i df-nul eleq2i mtbir ) ABCADDEZCZMA
    DCADDFADDGHBLAIJK $.

  $( If a set has elements, it is not empty.  (Contributed by NM,
     31-Dec-1993.) $)
  n0i $p |- ( B e. A -> -. A = (/) ) $=
    ( c0 wceq wcel noel eleq2 mtbiri con2i ) ACDZBAEZJKBCEBFACBGHI $.

  $( If a set has elements, it is not empty.  (Contributed by NM,
     31-Dec-1993.) $)
  ne0i $p |- ( B e. A -> A =/= (/) ) $=
    ( wcel c0 wceq wn wne n0i df-ne sylibr ) BACADEFADGABHADIJ $.

  $( The universal class is not equal to the empty set.  (Contributed by NM,
     11-Sep-2008.) $)
  vn0 $p |- _V =/= (/) $=
    ( vx cv cvv wcel c0 wne vex ne0i ax-mp ) ABZCDCEFAGCJHI $.

  ${
    n0f.1 $e |- F/_ x A $.
    $( A nonempty class has at least one element.  Proposition 5.17(1) of
       [TakeutiZaring] p. 20.  This version of ~ n0 requires only that ` x `
       not be free in, rather than not occur in, ` A ` .  (Contributed by NM,
       17-Oct-2003.) $)
    n0f $p |- ( A =/= (/) <-> E. x x e. A ) $=
      ( c0 wne cv wcel wn wal wex wceq wb nfcv cleqf noel nbn bitr4i necon3abii
      albii df-ex ) BDEAFZBGZHZAIZHUBAJUDBDBDKUBUADGZLZAIUDABDCADMNUCUFAUEUBUAO
      PSQRUBATQ $.
  $}

  ${
    $d x A $.
    $( A nonempty class has at least one element.  Proposition 5.17(1) of
       [TakeutiZaring] p. 20.  (Contributed by NM, 29-Sep-2006.) $)
    n0 $p |- ( A =/= (/) <-> E. x x e. A ) $=
      ( nfcv n0f ) ABABCD $.

    $( A nonempty class has at least one element.  Proposition 5.17(1) of
       [TakeutiZaring] p. 20.  (Contributed by NM, 5-Aug-1993.) $)
    neq0 $p |- ( -. A = (/) <-> E. x x e. A ) $=
      ( c0 wceq wn wne cv wcel wex df-ne n0 bitr3i ) BCDEBCFAGBHAIBCJABKL $.
  $}

  ${
    $d x A $.  $d x ph $.
    reximdva0.1 $e |- ( ( ph /\ x e. A ) -> ps ) $.
    $( Restricted existence deduced from non-empty class.  (Contributed by NM,
       1-Feb-2012.) $)
    reximdva0 $p |- ( ( ph /\ A =/= (/) ) -> E. x e. A ps ) $=
      ( c0 wne wa cv wcel wex wrex n0 ex ancld eximdv imp sylan2b df-rex sylibr
      ) ADFGZHCIDJZBHZCKZBCDLUAAUBCKZUDCDMAUEUDAUBUCCAUBBAUBBENOPQRBCDST $.
  $}

  ${
    $d A x $.
    $( A case of equivalence of "at most one" and "only one".  (Contributed by
       FL, 6-Dec-2010.) $)
    n0moeu $p |- ( A =/= (/) -> ( E* x x e. A <-> E! x x e. A ) ) $=
      ( c0 wne cv wcel wmo wex wa weu n0 biimpi biantrurd eu5 syl6bbr ) BCDZAEB
      FZAGZQAHZRIQAJPSRPSABKLMQANO $.
  $}

  $( Vacuous existential quantification is false.  (Contributed by NM,
     15-Oct-2003.) $)
  rex0 $p |- -. E. x e. (/) ph $=
    ( c0 cv wcel wn noel pm2.21i nrex ) ABCBDZCEAFJGHI $.

  ${
    $d x A $.
    $( The empty set has no elements.  Theorem 2 of [Suppes] p. 22.
       (Contributed by NM, 29-Aug-1993.) $)
    eq0 $p |- ( A = (/) <-> A. x -. x e. A ) $=
      ( c0 wceq cv wcel wn wal wex neq0 df-ex bitri con4bii ) BCDZAEBFZGAHZNGOA
      IPGABJOAKLM $.

    $( The universe contains every set.  (Contributed by NM, 11-Sep-2006.) $)
    eqv $p |- ( A = _V <-> A. x x e. A ) $=
      ( cvv wceq cv wcel wb wal dfcleq vex tbt albii bitr4i ) BCDAEZBFZNCFZGZAH
      OAHABCIOQAPOAJKLM $.
  $}

  ${
    $d x A $.  $d x y $.
    $( Membership of the empty set in another class.  (Contributed by NM,
       29-Jun-2004.) $)
    0el $p |- ( (/) e. A <-> E. x e. A A. y -. y e. x ) $=
      ( c0 wcel cv wceq wrex wn wal risset eq0 rexbii bitri ) DCEAFZDGZACHBFOEI
      BJZACHADCKPQACBOLMN $.
  $}

  ${
    $d x ph $.
    $( The class builder of a wff not containing the abstraction variable is
       either the universal class or the empty set.  (Contributed by Mario
       Carneiro, 29-Aug-2013.) $)
    abvor0 $p |- ( { x | ph } = _V \/ { x | ph } = (/) ) $=
      ( cab cvv wceq c0 wn cv wcel vex a1i 2thd abbi1dv con3i noel 2falsed orri
      id syl ) ABCZDEZTFEZUAGAGZUBAUAAABDAABHZDIZARUEABJKLMNUCABFUCAUDFIZUCRUFG
      UCUDOKPMSQ $.
  $}

  $( Nonempty class abstraction.  (Contributed by NM, 26-Dec-1996.)  (Proof
     shortened by Mario Carneiro, 11-Nov-2016.) $)
  abn0 $p |- ( { x | ph } =/= (/) <-> E. x ph ) $=
    ( cab c0 wne cv wcel wex nfab1 n0f abid exbii bitri ) ABCZDEBFNGZBHABHBNABI
    JOABABKLM $.

  $( Empty class abstraction.  (Contributed by SF, 5-Jan-2018.) $)
  ab0 $p |- ( { x | ph } = (/) <-> A. x -. ph ) $=
    ( cab c0 wceq wn wal wne wex abn0 df-ne df-ex 3bitr3i con4bii ) ABCZDEZAFBG
    ZODHABIPFQFABJODKABLMN $.

  $( Non-empty restricted class abstraction.  (Contributed by NM,
     29-Aug-1999.) $)
  rabn0 $p |- ( { x e. A | ph } =/= (/) <-> E. x e. A ph ) $=
    ( cv wcel wa cab c0 wne wex crab wrex abn0 df-rab neeq1i df-rex 3bitr4i ) B
    DCEAFZBGZHIRBJABCKZHIABCLRBMTSHABCNOABCPQ $.

  $( Any restricted class abstraction restricted to the empty set is empty.
     (Contributed by NM, 15-Oct-2003.)  (Proof shortened by Andrew Salmon,
     26-Jun-2011.) $)
  rab0 $p |- { x e. (/) | ph } = (/) $=
    ( cv c0 wcel wa cab wceq wn crab equid noel intnanr 2th abbii df-rab dfnul2
    con2bii 3eqtr4i ) BCZDEZAFZBGTTHZIZBGABDJDUBUDBUCUBUCUBIBKUAATLMNROABDPBQS
    $.

  $( Condition for a restricted class abstraction to be empty.  (Contributed by
     Jeff Madsen, 7-Jun-2010.) $)
  rabeq0 $p |- ( { x e. A | ph } = (/) <-> A. x e. A -. ph ) $=
    ( wn wral wrex crab c0 wceq ralnex rabn0 necon1bbii bitr2i ) ADBCEABCFZDABC
    GZHIABCJNOHABCKLM $.

  ${
    $d A x $.
    $( Law of excluded middle, in terms of restricted class abstractions.
       (Contributed by Jeff Madsen, 20-Jun-2011.) $)
    rabxm $p |- A = ( { x e. A | ph } u. { x e. A | -. ph } ) $=
      ( wn wo crab cun wceq rabid2 cv wcel exmid a1i mprgbir unrab eqtr4i ) CAA
      DZEZBCFZABCFQBCFGCSHRBCRBCIRBJCKALMNAQBCOP $.

    $( Law of noncontradiction, in terms of restricted class abstractions.
       (Contributed by Jeff Madsen, 20-Jun-2011.) $)
    rabnc $p |- ( { x e. A | ph } i^i { x e. A | -. ph } ) = (/) $=
      ( crab wn cin wa c0 inrab wceq rabeq0 cv wcel pm3.24 a1i mprgbir eqtri )
      ABCDAEZBCDFARGZBCDZHARBCITHJSEZBCSBCKUABLCMANOPQ $.
  $}

  ${
    $d x A $.
    $( The union of a class with the empty set is itself.  Theorem 24 of
       [Suppes] p. 27.  (Contributed by NM, 5-Aug-1993.) $)
    un0 $p |- ( A u. (/) ) = A $=
      ( vx c0 cv wcel wo noel biorfi bicomi uneqri ) BACABDZAEZLKCEZFMLKGHIJ $.

    $( The intersection of a class with the empty set is the empty set.
       Theorem 16 of [Suppes] p. 26.  (Contributed by NM, 5-Aug-1993.) $)
    in0 $p |- ( A i^i (/) ) = (/) $=
      ( vx c0 cv wcel wa noel bianfi bicomi ineqri ) BACCBDZCEZKAEZLFLMKGHIJ $.
  $}

  $( The intersection of a class with the universal class is itself.  Exercise
     4.10(k) of [Mendelson] p. 231.  (Contributed by NM, 17-May-1998.) $)
  inv1 $p |- ( A i^i _V ) = A $=
    ( cvv cin inss1 ssid ssv ssini eqssi ) ABCAABDAABAEAFGH $.

  $( The union of a class with the universal class is the universal class.
     Exercise 4.10(l) of [Mendelson] p. 231.  (Contributed by NM,
     17-May-1998.) $)
  unv $p |- ( A u. _V ) = _V $=
    ( cvv cun ssv ssun2 eqssi ) ABCZBGDBAEF $.

  ${
    $d A x $.
    $( The null set is a subset of any class.  Part of Exercise 1 of
       [TakeutiZaring] p. 22.  (Contributed by NM, 5-Aug-1993.) $)
    0ss $p |- (/) C_ A $=
      ( vx c0 cv wcel noel pm2.21i ssriv ) BCABDZCEIAEIFGH $.
  $}

  $( Any subset of the empty set is empty.  Theorem 5 of [Suppes] p. 23 and its
     converse.  (Contributed by NM, 17-Sep-2003.) $)
  ss0b $p |- ( A C_ (/) <-> A = (/) ) $=
    ( c0 wceq wss 0ss eqss mpbiran2 bicomi ) ABCZABDZIJBADAEABFGH $.

  $( Any subset of the empty set is empty.  Theorem 5 of [Suppes] p. 23.
     (Contributed by NM, 13-Aug-1994.) $)
  ss0 $p |- ( A C_ (/) -> A = (/) ) $=
    ( c0 wss wceq ss0b biimpi ) ABCABDAEF $.

  $( A subclass of an empty class is empty.  (Contributed by NM, 7-Mar-2007.)
     (Proof shortened by Andrew Salmon, 26-Jun-2011.) $)
  sseq0 $p |- ( ( A C_ B /\ B = (/) ) -> A = (/) ) $=
    ( c0 wceq wss sseq2 ss0 syl6bi impcom ) BCDZABEZACDZJKACELBCAFAGHI $.

  $( A class with a nonempty subclass is nonempty.  (Contributed by NM,
     17-Feb-2007.) $)
  ssn0 $p |- ( ( A C_ B /\ A =/= (/) ) -> B =/= (/) ) $=
    ( wss c0 wne wceq sseq0 ex necon3d imp ) ABCZADEBDEKBDADKBDFADFABGHIJ $.

  ${
    abf.1 $e |- -. ph $.
    $( A class builder with a false argument is empty.  (Contributed by NM,
       20-Jan-2012.) $)
    abf $p |- { x | ph } = (/) $=
      ( cab c0 wss wceq cv wcel pm2.21i abssi ss0 ax-mp ) ABDZEFNEGABEABHEICJKN
      LM $.
  $}

  ${
    $d x A $.  $d x ph $.
    eq0rdv.1 $e |- ( ph -> -. x e. A ) $.
    $( Deduction rule for equality to the empty set.  (Contributed by NM,
       11-Jul-2014.) $)
    eq0rdv $p |- ( ph -> A = (/) ) $=
      ( c0 wss wceq cv wcel pm2.21d ssrdv ss0 syl ) ACEFCEGABCEABHZCINEIDJKCLM
      $.
  $}

  $( Two classes are empty iff their union is empty.  (Contributed by NM,
     11-Aug-2004.) $)
  un00 $p |- ( ( A = (/) /\ B = (/) ) <-> ( A u. B ) = (/) ) $=
    ( c0 wceq wa cun uneq12 un0 syl6eq wss ssun1 sseq2 mpbii sylib ssun2 impbii
    ss0b jca ) ACDZBCDZEZABFZCDZUAUBCCFCACBCGCHIUCSTUCACJZSUCAUBJUDABKUBCALMAQN
    UCBCJZTUCBUBJUEBAOUBCBLMBQNRP $.

  $( Only the universal class has the universal class as a subclass.
     (Contributed by NM, 17-Sep-2003.)  (Proof shortened by Andrew Salmon,
     26-Jun-2011.) $)
  vss $p |- ( _V C_ A <-> A = _V ) $=
    ( cvv wss wa wceq ssv biantrur eqss bitr4i ) BACZABCZJDABEKJAFGABHI $.

  $( The null set is a proper subset of any non-empty set.  (Contributed by NM,
     27-Feb-1996.) $)
  0pss $p |- ( (/) C. A <-> A =/= (/) ) $=
    ( c0 wpss wne wss 0ss df-pss mpbiran necom bitri ) BACZBADZABDKBAELAFBAGHBA
    IJ $.

  $( No set is a proper subset of the empty set.  (Contributed by NM,
     17-Jun-1998.)  (Proof shortened by Andrew Salmon, 26-Jun-2011.) $)
  npss0 $p |- -. A C. (/) $=
    ( c0 wpss wss wn wa wi 0ss a1i iman mpbi dfpss3 mtbir ) ABCABDZBADZEFZNOGPE
    ONAHINOJKABLM $.

  $( Any non-universal class is a proper subclass of the universal class.
     (Contributed by NM, 17-May-1998.) $)
  pssv $p |- ( A C. _V <-> -. A = _V ) $=
    ( cvv wpss wss wceq wn ssv dfpss2 mpbiran ) ABCABDABEFAGABHI $.

  ${
    $d x A $.  $d x B $.  $d x C $.
    $( Two ways of saying that two classes are disjoint (have no members in
       common).  (Contributed by NM, 17-Feb-2004.) $)
    disj $p |- ( ( A i^i B ) = (/) <-> A. x e. A -. x e. B ) $=
      ( cv cin wcel wn wal wi c0 wceq wral wa df-an bitr2i con1bii albii df-ral
      elin eq0 3bitr4i ) ADZBCEZFZGZAHUBBFZUBCFZGZIZAHUCJKUHABLUEUIAUIUDUDUFUGM
      UIGUBBCSUFUGNOPQAUCTUHABRUA $.

    $( Two ways of saying that two classes are disjoint.  (Contributed by Jeff
       Madsen, 19-Jun-2011.) $)
    disjr $p |- ( ( A i^i B ) = (/) <-> A. x e. B -. x e. A ) $=
      ( cin c0 wceq cv wcel wn wral incom eqeq1i disj bitri ) BCDZEFCBDZEFAGBHI
      ACJOPEBCKLACBMN $.

    $( Two ways of saying that two classes are disjoint (have no members in
       common).  (Contributed by NM, 19-Aug-1993.) $)
    disj1 $p |- ( ( A i^i B ) = (/) <-> A. x ( x e. A -> -. x e. B ) ) $=
      ( cin c0 wceq cv wcel wn wral wi wal disj df-ral bitri ) BCDEFAGZCHIZABJP
      BHQKALABCMQABNO $.

    $( Two ways of saying that two classes are disjoint, using the complement
       of ` B ` relative to a universe ` C ` .  (Contributed by NM,
       15-Feb-2007.)  (Proof shortened by Andrew Salmon, 26-Jun-2011.) $)
    reldisj $p |- ( A C_ C -> ( ( A i^i B ) = (/) <-> A C_ ( C \ B ) ) ) $=
      ( vx wss cv wcel wn wi wal cdif cin c0 wceq wb dfss2 pm5.44 eldif imbi2i
      wa syl6bbr sps sylbi albidv disj1 3bitr4g ) ACEZDFZAGZUHBGHZIZDJUIUHCBKZG
      ZIZDJABLMNAULEUGUKUNDUGUIUHCGZIZDJUKUNOZDACPUPUQDUPUKUIUOUJTZIUNUIUOUJQUM
      URUIUHCBRSUAUBUCUDDABUEDAULPUF $.

    $( Two ways of saying that two classes are disjoint.  (Contributed by NM,
       19-May-1998.) $)
    disj3 $p |- ( ( A i^i B ) = (/) <-> A = ( A \ B ) ) $=
      ( vx cv wcel wn wi wal cdif wb cin c0 wa pm4.71 eldif bibi2i bitr4i albii
      wceq disj1 dfcleq 3bitr4i ) CDZAEZUCBEFZGZCHUDUCABIZEZJZCHABKLSAUGSUFUICU
      FUDUDUEMZJUIUDUENUHUJUDUCABOPQRCABTCAUGUAUB $.

    $( Members of disjoint sets are not equal.  (Contributed by NM,
       28-Mar-2007.)  (Proof shortened by Andrew Salmon, 26-Jun-2011.) $)
    disjne $p |- ( ( ( A i^i B ) = (/) /\ C e. A /\ D e. B ) -> C =/= D ) $=
      ( vx cin c0 wceq wcel wne cv wn wral wi disj eleq1 notbid rspccva eleq1a
      wa necon3bd syl5com sylanb 3impia ) ABFGHZCAIZDBIZCDJZUEEKZBIZLZEAMZUFUGU
      HNEABOULUFTCBIZLZUGUHUKUNECAUICHUJUMUICBPQRUGUMCDDBCSUAUBUCUD $.
  $}

  $( A set can't belong to both members of disjoint classes.  (Contributed by
     NM, 28-Feb-2015.) $)
  disjel $p |- ( ( ( A i^i B ) = (/) /\ C e. A ) -> -. C e. B ) $=
    ( cin c0 wceq wcel wn cdif wi disj3 eleq2 eldifn syl6bi sylbi imp ) ABDEFZC
    AGZCBGHZQAABIZFZRSJABKUARCTGSATCLCABMNOP $.

  $( Two ways of saying that two classes are disjoint.  (Contributed by NM,
     17-May-1998.) $)
  disj2 $p |- ( ( A i^i B ) = (/) <-> A C_ ( _V \ B ) ) $=
    ( cvv wss cin c0 wceq cdif wb ssv reldisj ax-mp ) ACDABEFGACBHDIAJABCKL $.

  $( Two ways of saying that two classes are disjoint.  (Contributed by NM,
     21-Mar-2004.) $)
  disj4 $p |- ( ( A i^i B ) = (/) <-> -. ( A \ B ) C. A ) $=
    ( cin c0 wceq cdif wpss disj3 eqcom wss difss dfpss2 mpbiran con2bii 3bitri
    wn ) ABCDEAABFZEQAEZQAGZPABHAQISRSQAJRPABKQALMNO $.

  $( Intersection with a subclass of a disjoint class.  (Contributed by FL,
     24-Jan-2007.) $)
  ssdisj $p |- ( ( A C_ B /\ ( B i^i C ) = (/) ) -> ( A i^i C ) = (/) ) $=
    ( wss cin c0 wceq wa ss0b wi ssrin sstr2 syl syl5bir imp ss0 ) ABDZBCEZFGZH
    ACEZFDZTFGQSUASRFDZQUARIQTRDUBUAJABCKTRFLMNOTPM $.

  $( A class is a proper subset of its union with a disjoint nonempty class.
     (Contributed by NM, 15-Sep-2004.) $)
  disjpss $p |- ( ( ( A i^i B ) = (/) /\ B =/= (/) ) -> A C. ( A u. B ) ) $=
    ( cin c0 wceq wne wa wss wn cun wpss ssid biantru bitri sseq2 syl5bb syl6bi
    ssin ss0 necon3ad imp nsspssun uncom psseq2i sylib ) ABCZDEZBDFZGBAHZIZAABJ
    ZKZUGUHUJUGUIBDUGUIBDHZBDEUIBUFHZUGUMUIUIBBHZGUNUOUIBLMBABRNUFDBOPBSQTUAUJA
    BAJZKULBAUBUPUKABAUCUDNUE $.

  $( The union of disjoint classes is disjoint.  (Contributed by NM,
     26-Sep-2004.) $)
  undisj1 $p |- ( ( ( A i^i C ) = (/) /\ ( B i^i C ) = (/) ) <->
               ( ( A u. B ) i^i C ) = (/) ) $=
    ( cin c0 wceq wa cun un00 indir eqeq1i bitr4i ) ACDZEFBCDZEFGMNHZEFABHCDZEF
    MNIPOEABCJKL $.

  $( The union of disjoint classes is disjoint.  (Contributed by NM,
     13-Sep-2004.) $)
  undisj2 $p |- ( ( ( A i^i B ) = (/) /\ ( A i^i C ) = (/) ) <->
               ( A i^i ( B u. C ) ) = (/) ) $=
    ( cin c0 wceq wa cun un00 indi eqeq1i bitr4i ) ABDZEFACDZEFGMNHZEFABCHDZEFM
    NIPOEABCJKL $.

  $( Subclass expressed in terms of intersection with difference from the
     universal class.  (Contributed by NM, 17-Sep-2003.) $)
  ssindif0 $p |- ( A C_ B <-> ( A i^i ( _V \ B ) ) = (/) ) $=
    ( cvv cdif cin c0 wceq wss disj2 ddif sseq2i bitr2i ) ACBDZEFGACMDZHABHAMIN
    BABJKL $.

  $( The intersection of classes with a common member is nonempty.
     (Contributed by NM, 7-Apr-1994.) $)
  inelcm $p |- ( ( A e. B /\ A e. C ) -> ( B i^i C ) =/= (/) ) $=
    ( wcel wa cin c0 wne elin ne0i sylbir ) ABDACDEABCFZDLGHABCILAJK $.

  $( A minimum element of a class has no elements in common with the class.
     (Contributed by NM, 22-Jun-1994.) $)
  minel $p |- ( ( A e. B /\ ( C i^i B ) = (/) ) -> -. A e. C ) $=
    ( cin c0 wceq wcel wn wa wi inelcm necon2bi imnan sylibr con2d impcom ) CBD
    ZEFZABGZACGZHRTSRTSIZHTSHJUAQEACBKLTSMNOP $.

  ${
    $d x A $.  $d x B $.  $d x C $.
    $( Distribute union over difference.  (Contributed by NM, 17-May-1998.)
       (Proof shortened by Andrew Salmon, 26-Jun-2011.) $)
    undif4 $p |- ( ( A i^i C ) = (/) ->
                 ( A u. ( B \ C ) ) = ( ( A u. B ) \ C ) ) $=
      ( vx cv wcel wn wi wal cdif cun wb cin c0 wceq wo wa eldif elun 3bitr4g
      pm2.621 olc impbid1 anbi2d orbi2i bitri anbi1i alimi disj1 dfcleq 3imtr4i
      ordi ) DEZAFZUMCFGZHZDIUMABCJZKZFZUMABKZCJZFZLZDIACMNOURVAOUPVCDUPUNUMUQF
      ZPZUMUTFZUOQZUSVBUPUNUMBFZPZUNUOPZQZVIUOQVEVGUPVJUOVIUPVJUOUNUOUAUOUNUBUC
      UDVEUNVHUOQZPVKVDVLUNUMBCRUEUNVHUOULUFVFVIUOUMABSUGTUMAUQSUMUTCRTUHDACUID
      URVAUJUK $.

    $( Subset relation for disjoint classes.  (Contributed by NM,
       25-Oct-2005.)  (Proof shortened by Andrew Salmon, 26-Jun-2011.) $)
    disjssun $p |- ( ( A i^i B ) = (/) -> ( A C_ ( B u. C ) <-> A C_ C ) ) $=
      ( cin c0 wceq cun wss indi equncomi uneq2 un0 syl6eq syl5eq df-ss 3bitr4g
      eqeq1d ) ABDZEFZABCGZDZAFACDZAFATHACHSUAUBASUAUBRGZUBUARUBABCIJSUCUBEGUBR
      EUBKUBLMNQATOACOP $.
  $}

  ${
    $d x A $.  $d x B $.
    $( Subclass expressed in terms of difference.  Exercise 7 of
       [TakeutiZaring] p. 22.  (Contributed by NM, 29-Apr-1994.) $)
    ssdif0 $p |- ( A C_ B <-> ( A \ B ) = (/) ) $=
      ( vx cv wcel wi wal cdif wn wss c0 wceq wa eldif xchbinxr albii dfss2 eq0
      iman 3bitr4i ) CDZAEZUABEZFZCGUAABHZEZIZCGABJUEKLUDUGCUDUBUCIMUFUBUCSUAAB
      NOPCABQCUERT $.
  $}

  $( Universal class equality in terms of empty difference.  (Contributed by
     NM, 17-Sep-2003.) $)
  vdif0 $p |- ( A = _V <-> ( _V \ A ) = (/) ) $=
    ( cvv wceq wss cdif c0 vss ssdif0 bitr3i ) ABCBADBAEFCAGBAHI $.

  $( A proper subclass has a nonempty difference.  (Contributed by NM,
     3-May-1994.) $)
  pssdifn0 $p |- ( ( A C_ B /\ A =/= B ) -> ( B \ A ) =/= (/) ) $=
    ( wss wne cdif c0 wceq ssdif0 eqss simplbi2 syl5bir necon3d imp ) ABCZABDBA
    EZFDNOFABOFGBACZNABGZBAHQNPABIJKLM $.

  $( A proper subclass has a nonempty difference.  (Contributed by Mario
     Carneiro, 27-Apr-2016.) $)
  pssdif $p |- ( A C. B -> ( B \ A ) =/= (/) ) $=
    ( wpss wss wne wa cdif c0 df-pss pssdifn0 sylbi ) ABCABDABEFBAGHEABIABJK $.

  $( A subclass missing a member is a proper subclass.  (Contributed by NM,
     12-Jan-2002.) $)
  ssnelpss $p |- ( A C_ B -> ( ( C e. B /\ -. C e. A ) -> A C. B ) ) $=
    ( wcel wn wa wceq wss wpss nelneq2 eqcom sylnib dfpss2 baibr syl5ib ) CBDCA
    DEFZABGZEZABHZABIZPBAGQCBAJBAKLTSRABMNO $.

  ${
    ssnelpssd.1 $e |- ( ph -> A C_ B ) $.
    ssnelpssd.2 $e |- ( ph -> C e. B ) $.
    ssnelpssd.3 $e |- ( ph -> -. C e. A ) $.
    $( Subclass inclusion with one element of the superclass missing is proper
       subclass inclusion.  Deduction form of ~ ssnelpss .  (Contributed by
       David Moews, 1-May-2017.) $)
    ssnelpssd $p |- ( ph -> A C. B ) $=
      ( wcel wn wpss wss wa wi ssnelpss syl mp2and ) ADCHZDBHIZBCJZFGABCKQRLSME
      BCDNOP $.
  $}

  ${
    $d x A $.  $d x B $.
    $( A proper subclass has a member in one argument that's not in both.
       (Contributed by NM, 29-Feb-1996.) $)
    pssnel $p |- ( A C. B -> E. x ( x e. B /\ -. x e. A ) ) $=
      ( wpss cv cdif wcel wex wn wa c0 wne pssdif n0 sylib eldif exbii ) BCDZAE
      ZCBFZGZAHZSCGSBGIJZAHRTKLUBBCMATNOUAUCASCBPQO $.
  $}

  ${
    $d x A $.  $d x B $.  $d x C $.
    $( Difference, intersection, and subclass relationship.  (Contributed by
       NM, 30-Apr-1994.)  (Proof shortened by Wolf Lammen, 30-Sep-2014.) $)
    difin0ss $p |- ( ( ( A \ B ) i^i C ) = (/) -> ( C C_ A -> C C_ B ) ) $=
      ( vx cdif cin c0 wceq cv wcel wn wal wss wi eq0 wa iman elin eldif dfss2
      anbi1i bitri ancom annim anbi2i 3bitr2i xchbinxr ax-2 sylbir al2imi sylbi
      3imtr4g ) ABEZCFZGHDIZUNJZKZDLZCAMZCBMZNDUNOURUOCJZUOAJZNZDLVAUOBJZNZDLUS
      UTUQVCVEDUQVAVBVDNZNZVCVENVGVAVFKZPZUPVAVFQUPVBVDKPZVAPZVAVJPVIUPUOUMJZVA
      PVKUOUMCRVLVJVAUOABSUAUBVAVJUCVJVHVAVBVDUDUEUFUGVAVBVDUHUIUJDCATDCBTULUK
      $.

    $( Intersection, subclass, and difference relationship.  (Contributed by
       NM, 27-Oct-1996.)  (Proof shortened by Andrew Salmon, 26-Jun-2011.)
       (Proof shortened by Wolf Lammen, 30-Sep-2014.) $)
    inssdif0 $p |- ( ( A i^i B ) C_ C <-> ( A i^i ( B \ C ) ) = (/) ) $=
      ( vx cv cin wcel wi wal cdif wn wss c0 wceq elin imbi1i iman bitri eldif
      wa anbi2i anass 3bitr4ri xchbinx albii dfss2 eq0 3bitr4i ) DEZABFZGZUICGZ
      HZDIUIABCJZFZGZKZDIUJCLUOMNUMUQDUMUIAGZUIBGZTZULKZTZUPUMUTULHVBKUKUTULUIA
      BOPUTULQRURUIUNGZTURUSVATZTUPVBVCVDURUIBCSUAUIAUNOURUSVAUBUCUDUEDUJCUFDUO
      UGUH $.
  $}

  $( The difference between a class and itself is the empty set.  Proposition
     5.15 of [TakeutiZaring] p. 20.  Also Theorem 32 of [Suppes] p. 28.
     (Contributed by NM, 22-Apr-2004.) $)
  difid $p |- ( A \ A ) = (/) $=
    ( wss cdif c0 wceq ssid ssdif0 mpbi ) AABAACDEAFAAGH $.

  ${
    $d x A $.
    $( The difference between a class and itself is the empty set.  Proposition
       5.15 of [TakeutiZaring] p. 20.  Also Theorem 32 of [Suppes] p. 28.
       Alternate proof of ~ difid .  (Contributed by David Abernethy,
       17-Jun-2012.)  (Proof modification is discouraged.)
       (New usage is discouraged.) $)
    difidALT $p |- ( A \ A ) = (/) $=
      ( vx cdif cv wcel wn crab c0 dfdif2 dfnul3 eqtr4i ) AACBDAEFBAGHBAAIBAJK
      $.
  $}

  $( The difference between a class and the empty set.  Part of Exercise 4.4 of
     [Stoll] p. 16.  (Contributed by NM, 17-Aug-2004.) $)
  dif0 $p |- ( A \ (/) ) = A $=
    ( cdif c0 difid difeq2i difdif eqtr3i ) AAABZBACBAHCAADEAAFG $.

  $( The difference between the empty set and a class.  Part of Exercise 4.4 of
     [Stoll] p. 16.  (Contributed by NM, 17-Aug-2004.) $)
  0dif $p |- ( (/) \ A ) = (/) $=
    ( c0 cdif wss wceq difss ss0 ax-mp ) BACZBDIBEBAFIGH $.

  $( A class and its relative complement are disjoint.  Theorem 38 of [Suppes]
     p. 29.  (Contributed by NM, 24-Mar-1998.) $)
  disjdif $p |- ( A i^i ( B \ A ) ) = (/) $=
    ( cin wss cdif c0 wceq inss1 inssdif0 mpbi ) ABCADABAECFGABHABAIJ $.

  $( The difference of a class from its intersection is empty.  Theorem 37 of
     [Suppes] p. 29.  (Contributed by NM, 17-Aug-2004.)  (Proof shortened by
     Andrew Salmon, 26-Jun-2011.) $)
  difin0 $p |- ( ( A i^i B ) \ B ) = (/) $=
    ( cin wss cdif c0 wceq inss2 ssdif0 mpbi ) ABCZBDKBEFGABHKBIJ $.

  $( The union of a class and its complement is the universe.  Theorem 5.1(5)
     of [Stoll] p. 17.  (Contributed by NM, 17-Aug-2004.) $)
  undifv $p |- ( A u. ( _V \ A ) ) = _V $=
    ( cvv cdif cun cin c0 dfun3 disjdif difeq2i dif0 3eqtri ) ABACZDBLBLCEZCBFC
    BALGMFBLBHIBJK $.

  $( Absorption of difference by union.  This decomposes a union into two
     disjoint classes (see ~ disjdif ).  Theorem 35 of [Suppes] p. 29.
     (Contributed by NM, 19-May-1998.) $)
  undif1 $p |- ( ( A \ B ) u. B ) = ( A u. B ) $=
    ( cvv cdif cin undir invdif uneq1i uncom undifv eqtri ineq2i inv1 3eqtr3i
    cun ) ACBDZEZBOABOZPBOZEZABDZBORAPBFQUABABGHTRCERSCRSBPOCPBIBJKLRMKN $.

  $( Absorption of difference by union.  This decomposes a union into two
     disjoint classes (see ~ disjdif ).  Part of proof of Corollary 6K of
     [Enderton] p. 144.  (Contributed by NM, 19-May-1998.) $)
  undif2 $p |- ( A u. ( B \ A ) ) = ( A u. B ) $=
    ( cdif cun uncom undif1 3eqtri ) ABACZDHADBADABDAHEBAFBAEG $.

  $( Absorption of difference by union.  (Contributed by NM, 18-Aug-2013.) $)
  undifabs $p |- ( A u. ( A \ B ) ) = A $=
    ( cdif cun undif3 unidm difeq1i difdif 3eqtri ) AABCDAADZBACZCAKCAAABEJAKAF
    GABHI $.

  ${
    $d x A $.  $d x B $.
    $( The intersection and class difference of a class with another class
       unite to give the original class.  (Contributed by Paul Chapman,
       5-Jun-2009.)  (Proof shortened by Andrew Salmon, 26-Jun-2011.) $)
    inundif $p |- ( ( A i^i B ) u. ( A \ B ) ) = A $=
      ( vx cin cdif cv wcel wo wa wn elin eldif orbi12i pm4.42 bitr4i uneqri )
      CABDZABEZACFZQGZSRGZHSAGZSBGZIZUBUCJIZHUBTUDUAUESABKSABLMUBUCNOP $.
  $}

  $( Absorption of union by difference.  Theorem 36 of [Suppes] p. 29.
     (Contributed by NM, 19-May-1998.) $)
  difun2 $p |- ( ( A u. B ) \ B ) = ( A \ B ) $=
    ( cun cdif c0 difundir difid uneq2i un0 3eqtri ) ABCBDABDZBBDZCKECKABBFLEKB
    GHKIJ $.

  $( Union of complementary parts into whole.  (Contributed by NM,
     22-Mar-1998.) $)
  undif $p |- ( A C_ B <-> ( A u. ( B \ A ) ) = B ) $=
    ( wss cun wceq cdif ssequn1 undif2 eqeq1i bitr4i ) ABCABDZBEABAFDZBEABGLKBA
    BHIJ $.

  $( A subset of a difference does not intersect the subtrahend.  (Contributed
     by Jeff Hankins, 1-Sep-2013.)  (Proof shortened by Mario Carneiro,
     24-Aug-2015.) $)
  ssdifin0 $p |- ( A C_ ( B \ C ) -> ( A i^i C ) = (/) ) $=
    ( cdif wss cin c0 wceq ssrin incom disjdif eqtri sseq0 sylancl ) ABCDZEACFZ
    OCFZEQGHPGHAOCIQCOFGOCJCBKLPQMN $.

  $( A class is a subclass of itself subtracted from another iff it is the
     empty set.  (Contributed by Steve Rodriguez, 20-Nov-2015.) $)
  ssdifeq0 $p |- ( A C_ ( B \ A ) <-> A = (/) ) $=
    ( cdif wss wceq cin inidm ssdifin0 syl5eqr 0ss difeq2 sseq12d mpbiri impbii
    c0 id ) ABACZDZAOEZRAAAFOAGABAHISROBOCZDTJSAOQTSPAOBKLMN $.

  ${
    $d x A $.  $d x B $.  $d x C $.
    $( A condition equivalent to inclusion in the union of two classes.
       (Contributed by NM, 26-Mar-2007.) $)
    ssundif $p |- ( A C_ ( B u. C ) <-> ( A \ B ) C_ C ) $=
      ( vx cv wcel cun wi wal cdif wss wn wa wo pm5.6 eldif imbi1i imbi2i dfss2
      elun 3bitr4ri albii 3bitr4i ) DEZAFZUDBCGZFZHZDIUDABJZFZUDCFZHZDIAUFKUICK
      UHULDUEUDBFZLMZUKHUEUMUKNZHULUHUEUMUKOUJUNUKUDABPQUGUOUEUDBCTRUAUBDAUFSDU
      ICSUC $.
  $}

  $( Swap the arguments of a class difference.  (Contributed by NM,
     29-Mar-2007.) $)
  difcom $p |- ( ( A \ B ) C_ C <-> ( A \ C ) C_ B ) $=
    ( cun wss cdif uncom sseq2i ssundif 3bitr3i ) ABCDZEACBDZEABFCEACFBEKLABCGH
    ABCIACBIJ $.

  $( Two ways to express overlapping subsets.  (Contributed by Stefan O'Rear,
     31-Oct-2014.) $)
  pssdifcom1 $p |- ( ( A C_ C /\ B C_ C ) ->
    ( ( C \ A ) C. B <-> ( C \ B ) C. A ) ) $=
    ( wss wa cdif wn wpss wb difcom ssconb ancoms notbid anbi12d dfpss3 3bitr4g
    a1i ) ACDZBCDZEZCAFZBDZBUADZGZECBFZADZAUEDZGZEUABHUEAHTUBUFUDUHUBUFITCABJQT
    UCUGSRUCUGIBACKLMNUABOUEAOP $.

  $( Two ways to express non-covering pairs of subsets.  (Contributed by Stefan
     O'Rear, 31-Oct-2014.) $)
  pssdifcom2 $p |- ( ( A C_ C /\ B C_ C ) ->
    ( B C. ( C \ A ) <-> A C. ( C \ B ) ) ) $=
    ( wss wa cdif wn wpss wb ssconb ancoms difcom notbid anbi12d dfpss3 3bitr4g
    a1i ) ACDZBCDZEZBCAFZDZUABDZGZEACBFZDZUEADZGZEBUAHAUEHTUBUFUDUHSRUBUFIBACJK
    TUCUGUCUGITCABLQMNBUAOAUEOP $.

  $( Distributive law for class difference.  Exercise 4.8 of [Stoll] p. 16.
     (Contributed by NM, 18-Aug-2004.) $)
  difdifdir $p |- ( ( A \ B ) \ C ) = ( ( A \ C ) \ ( B \ C ) ) $=
    ( cdif cvv cun cin dif32 invdif eqtr4i un0 indi disjdif incom eqtr3i uneq2i
    c0 ddif indm difeq2i ineq2i 3eqtri ) ABDCDZACDZEBDZCFZGZUDEBCDZDZGUDUHDUCUD
    UEGZQFZUGUCUJUKUCUDBDUJABCHUDBIJUJKJUGUJUDCGZFUKUDUECLQULUJCUDGQULCAMCUDNOP
    JJUFUIUDUEEECDZDZFZUFUIUNCUECRPEBUMGZDUOUIBUMSUPUHEBCITOOUAUDUHIUB $.

  $( Two ways to say that ` A ` and ` B ` partition ` C ` (when ` A ` and ` B `
     don't overlap and ` A ` is a part of ` C ` ).  (Contributed by FL,
     17-Nov-2008.) $)
  uneqdifeq $p |- ( ( A C_ C /\ ( A i^i B ) = (/) )
     -> ( ( A u. B ) = C <-> ( C \ A ) = B ) ) $=
    ( wss cin c0 wceq wa cun cdif uncom eqcomd difeq1 difun2 incom expcom com12
    wi eqtr adantl eqeq1i disj3 bitri eqcoms sylbi syl5com syl mpan difss sseq1
    sylancl biimpi syl6bi mpi adantr imp eqimss ssundif sylibr adantlr eqssd ex
    unss impbid ) ACDZABEZFGZHZABIZCGZCAJZBGZVGVJVLRVEVJVGVLBAIZVIGZVJVGVLRZBAK
    VNVJHZCVMGZVOVPVMCVMVICSLVQVKVMAJZGZVRBAJZGZVOCVMAMBANVSWAHVKVTGZVGVLVKVRVT
    SVGBVTGZWBVLRZVGBAEZFGWCVFWEFABOUABAUBUCWDVTBWBVTBGVLVKVTBSPUDUEUFUKUGUHQTV
    HVLVJVHVLHVICVHVLVICDZVEVLWFRVGVLVEWFVLVKCDZVEWFRZCAUIVLWGBCDZWHVKBCUJVEWIW
    FVEWIHWFABCVCULPUMUNQUOUPVEVLCVIDZVGVEVLHVKBDZWJVLWKVEVKBUQTCABURUSUTVAVBVD
    $.

  ${
    $d x A $.
    $( Theorem 19.2 of [Margaris] p. 89 with restricted quantifiers (compare
       ~ 19.2 ).  The restricted version is valid only when the domain of
       quantification is not empty.  (Contributed by NM, 15-Nov-2003.) $)
    r19.2z $p |- ( ( A =/= (/) /\ A. x e. A ph ) -> E. x e. A ph ) $=
      ( wral c0 wne wrex cv wex wa wi wal df-ral exintr sylbi n0 df-rex 3imtr4g
      wcel impcom ) ABCDZCEFZABCGZUABHCSZBIZUDAJBIZUBUCUAUDAKBLUEUFKABCMUDABNOB
      CPABCQRT $.

    $( A response to the notion that the condition ` A =/= (/) ` can be removed
       in ~ r19.2z .  Interestingly enough, ` ph ` does not figure in the
       left-hand side.  (Contributed by Jeff Hankins, 24-Aug-2009.) $)
    r19.2zb $p |- ( A =/= (/) <-> ( A. x e. A ph -> E. x e. A ph ) ) $=
      ( c0 wral wrex wi r19.2z ex wceq cv wcel noel pm2.21i rgen raleq necon3bi
      wne mpbiri wex wa exsimpl df-rex n0 3imtr4i ja impbii ) CDRZABCEZABCFZGUH
      UIUJABCHIUIUJUHUICDCDJUIABDEABDBKZDLAUKMNOABCDPSQUKCLZAUABTULBTUJUHULABUB
      ABCUCBCUDUEUFUG $.
  $}

  ${
    $d x A $.
    r19.3rz.1 $e |- F/ x ph $.
    $( Restricted quantification of wff not containing quantified variable.
       (Contributed by FL, 3-Jan-2008.) $)
    r19.3rz $p |- ( A =/= (/) -> ( ph <-> A. x e. A ph ) ) $=
      ( c0 wne cv wcel wex wi wral wb n0 biimt sylbi df-ral 19.23 bitri syl6bbr
      wal ) CEFZABGCHZBIZAJZABCKZUAUCAUDLBCMUCANOUEUBAJBTUDABCPUBABDQRS $.

    $( Restricted quantifier version of Theorem 19.28 of [Margaris] p. 90.  It
       is valid only when the domain of quantification is not empty.
       (Contributed by NM, 26-Oct-2010.) $)
    r19.28z $p |- ( A =/= (/) ->
                   ( A. x e. A ( ph /\ ps ) <-> ( ph /\ A. x e. A ps ) ) ) $=
      ( c0 wne wral wa r19.3rz anbi1d r19.26 syl6rbbr ) DFGZABCDHZIACDHZOIABICD
      HNAPOACDEJKABCDLM $.
  $}

  ${
    $d x A $.  $d x ph $.
    $( Restricted quantification of wff not containing quantified variable.
       (Contributed by NM, 10-Mar-1997.) $)
    r19.3rzv $p |- ( A =/= (/) -> ( ph <-> A. x e. A ph ) ) $=
      ( c0 wne cv wcel wex wi wb n0 biimt sylbi wal df-ral 19.23v bitri syl6bbr
      wral ) CDEZABFCGZBHZAIZABCSZTUBAUCJBCKUBALMUDUAAIBNUCABCOUAABPQR $.

    $( Restricted quantification of wff not containing quantified variable.
       (Contributed by NM, 27-May-1998.) $)
    r19.9rzv $p |- ( A =/= (/) -> ( ph <-> E. x e. A ph ) ) $=
      ( c0 wne wn wral wrex r19.3rzv bicomd con2bid dfrex2 syl6bbr ) CDEZAAFZBC
      GZFABCHNPANOPOBCIJKABCLM $.

    $( Restricted quantifier version of Theorem 19.28 of [Margaris] p. 90.  It
       is valid only when the domain of quantification is not empty.
       (Contributed by NM, 19-Aug-2004.) $)
    r19.28zv $p |- ( A =/= (/) ->
                   ( A. x e. A ( ph /\ ps ) <-> ( ph /\ A. x e. A ps ) ) ) $=
      ( c0 wne wral wa r19.3rzv anbi1d r19.26 syl6rbbr ) DEFZABCDGZHACDGZNHABHC
      DGMAONACDIJABCDKL $.

    $( Restricted quantifier version of Theorem 19.37 of [Margaris] p. 90.  It
       is valid only when the domain of quantification is not empty.
       (Contributed by Paul Chapman, 8-Oct-2007.) $)
    r19.37zv $p |- ( A =/= (/) ->
                   ( E. x e. A ( ph -> ps ) <-> ( ph -> E. x e. A ps ) ) ) $=
      ( c0 wne wrex wi wral r19.3rzv imbi1d r19.35 syl6rbbr ) DEFZABCDGZHACDIZO
      HABHCDGNAPOACDJKABCDLM $.

    $( Restricted version of Theorem 19.45 of [Margaris] p. 90.  (Contributed
       by NM, 27-May-1998.) $)
    r19.45zv $p |- ( A =/= (/) ->
                   ( E. x e. A ( ph \/ ps ) <-> ( ph \/ E. x e. A ps ) ) ) $=
      ( c0 wne wrex wo r19.9rzv orbi1d r19.43 syl6rbbr ) DEFZABCDGZHACDGZNHABHC
      DGMAONACDIJABCDKL $.
  $}

  ${
    $d x A $.
    r19.27z.1 $e |- F/ x ps $.
    $( Restricted quantifier version of Theorem 19.27 of [Margaris] p. 90.  It
       is valid only when the domain of quantification is not empty.
       (Contributed by NM, 26-Oct-2010.) $)
    r19.27z $p |- ( A =/= (/) ->
                   ( A. x e. A ( ph /\ ps ) <-> ( A. x e. A ph /\ ps ) ) ) $=
      ( c0 wne wral wa r19.3rz anbi2d r19.26 syl6rbbr ) DFGZACDHZBIOBCDHZIABICD
      HNBPOBCDEJKABCDLM $.
  $}

  ${
    $d x A $.  $d x ps $.
    $( Restricted quantifier version of Theorem 19.27 of [Margaris] p. 90.  It
       is valid only when the domain of quantification is not empty.
       (Contributed by NM, 19-Aug-2004.) $)
    r19.27zv $p |- ( A =/= (/) ->
                   ( A. x e. A ( ph /\ ps ) <-> ( A. x e. A ph /\ ps ) ) ) $=
      ( c0 wne wral wa r19.3rzv anbi2d r19.26 syl6rbbr ) DEFZACDGZBHNBCDGZHABHC
      DGMBONBCDIJABCDKL $.

    $( Restricted quantifier version of Theorem 19.36 of [Margaris] p. 90.  It
       is valid only when the domain of quantification is not empty.
       (Contributed by NM, 20-Sep-2003.) $)
    r19.36zv $p |- ( A =/= (/) ->
                   ( E. x e. A ( ph -> ps ) <-> ( A. x e. A ph -> ps ) ) ) $=
      ( c0 wne wral wi wrex r19.9rzv imbi2d r19.35 syl6rbbr ) DEFZACDGZBHOBCDIZ
      HABHCDINBPOBCDJKABCDLM $.
  $}

  ${
    $d x A $.
    $( Vacuous quantification is always true.  (Contributed by NM,
       11-Mar-1997.)  (Proof shortened by Andrew Salmon, 26-Jun-2011.) $)
    rzal $p |- ( A = (/) -> A. x e. A ph ) $=
      ( c0 wceq cv wcel ne0i necon2bi pm2.21d ralrimiv ) CDEZABCLBFZCGZANCDCMHI
      JK $.

    $( Restricted existential quantification implies its restriction is
       nonempty.  (Contributed by Szymon Jaroszewicz, 3-Apr-2007.) $)
    rexn0 $p |- ( E. x e. A ph -> A =/= (/) ) $=
      ( c0 wne cv wcel ne0i a1d rexlimiv ) ACDEZBCBFZCGKACLHIJ $.

    $( Idempotent law for restricted quantifier.  (Contributed by NM,
       28-Mar-1997.) $)
    ralidm $p |- ( A. x e. A A. x e. A ph <-> A. x e. A ph ) $=
      ( c0 wceq wral wb rzal 2thd wn cv wcel wex neq0 wi biimt wal df-ral nfra1
      19.23 bitri syl6rbbr sylbi pm2.61i ) CDEZABCFZBCFZUFGZUEUGUFUFBCHABCHIUEJ
      BKCLZBMZUHBCNUJUFUJUFOZUGUJUFPUGUIUFOBQUKUFBCRUIUFBABCSTUAUBUCUD $.
  $}

  $( Vacuous universal quantification is always true.  (Contributed by NM,
     20-Oct-2005.) $)
  ral0 $p |- A. x e. (/) ph $=
    ( c0 cv wcel noel pm2.21i rgen ) ABCBDZCEAIFGH $.

  ${
    $d x A $.
    rgenz.1 $e |- ( ( A =/= (/) /\ x e. A ) -> ph ) $.
    $( Generalization rule that eliminates a non-zero class requirement.
       (Contributed by NM, 8-Dec-2012.) $)
    rgenz $p |- A. x e. A ph $=
      ( wral c0 rzal wne ralrimiva pm2.61ine ) ABCECFABCGCFHABCDIJ $.
  $}

  ${
    $d x A $.
    ralf0.1 $e |- -. ph $.
    $( The quantification of a falsehood is vacuous when true.  (Contributed by
       NM, 26-Nov-2005.) $)
    ralf0 $p |- ( A. x e. A ph <-> A = (/) ) $=
      ( wral c0 wceq cv wcel wi wal wn con3 mpi alimi df-ral eq0 3imtr4i impbii
      rzal ) ABCEZCFGZBHCIZAJZBKUCLZBKUAUBUDUEBUDALUEDUCAMNOABCPBCQRABCTS $.
  $}

  $( TODO - shorten r19.3zv, r19.27zv, r19.28zv, raaanv w/ non-v $)
  ${
    $d x y A $.
    raaan.1 $e |- F/ y ph $.
    raaan.2 $e |- F/ x ps $.
    $( Rearrange restricted quantifiers.  (Contributed by NM, 26-Oct-2010.) $)
    raaan $p |- ( A. x e. A A. y e. A ( ph /\ ps ) <->
                  ( A. x e. A ph /\ A. y e. A ps ) ) $=
      ( wa wral wb c0 wceq rzal pm5.1 syl12anc wne r19.28z ralbidv nfcv nfral
      r19.27z bitrd pm2.61ine ) ABHDEIZCEIZACEIZBDEIZHZJZEKEKLUEUFUGUIUDCEMACEM
      BDEMUEUHNOEKPZUEAUGHZCEIUHUJUDUKCEABDEFQRAUGCEBCDECESGTUAUBUC $.
  $}

  ${
    $d y ph $.  $d x ps $.  $d x y A $.
    $( Rearrange restricted quantifiers.  (Contributed by NM, 11-Mar-1997.) $)
    raaanv $p |- ( A. x e. A A. y e. A ( ph /\ ps ) <->
                  ( A. x e. A ph /\ A. y e. A ps ) ) $=
      ( wa wral wb wceq rzal pm5.1 syl12anc wne r19.28zv ralbidv r19.27zv bitrd
      c0 pm2.61ine ) ABFDEGZCEGZACEGZBDEGZFZHZERERIUAUBUCUETCEJACEJBDEJUAUDKLER
      MZUAAUCFZCEGUDUFTUGCEABDENOAUCCEPQS $.
  $}

  ${
    $d z y $.  $d z x A $.
    $( Set substitution into the first argument of a subset relation.
       (Contributed by Rodolfo Medina, 7-Jul-2010.)  (Proof shortened by Mario
       Carneiro, 14-Nov-2016.) $)
    sbss $p |- ( [ y / x ] x C_ A <-> y C_ A ) $=
      ( vz cv wss wsb vex sbequ sseq1 nfv sbie vtoclb ) AEZCFZADGDEZCFZOABGBEZC
      FDRBHODBAIPRCJOQADQAKNPCJLM $.
  $}

  ${
    $d A y $.  $d B y $.  $d C y $.  $d D y $.  $d x y $.
    $( Distribute proper substitution through a subclass relation.
       (Contributed by Alan Sare, 22-Jul-2012.)  (Proof shortened by Alexander
       van der Vekens, 23-Jul-2017.) $)
    sbcss $p |- ( A e. B -> ( [. A / x ]. C C_ D <->
      [_ A / x ]_ C C_ [_ A / x ]_ D ) ) $=
      ( vy wcel cv wi wal wsbc csb wss sbcalg sbcimg sbcel2g bitrd albidv dfss2
      imbi12d sbcbii 3bitr4g ) BCGZFHZDGZUDEGZIZFJZABKZUDABDLZGZUDABELZGZIZFJZD
      EMZABKUJULMUCUIUGABKZFJUOUGFABCNUCUQUNFUCUQUEABKZUFABKZIUNUEUFABCOUCURUKU
      SUMABUDDCPABUDECPTQRQUPUHABFDESUAFUJULSUB $.

  $}

  ${
    $d A x $.  $d B x $.
    $( Contraposition law for subset.  (Contributed by SF, 11-Mar-2015.) $)
    sscon34 $p |- ( A C_ B <-> ~ B C_ ~ A ) $=
      ( vx cv wcel wi wal ccompl wss wn con34b vex elcompl imbi12i bitr4i albii
      dfss2 3bitr4i ) CDZAEZSBEZFZCGSBHZEZSAHZEZFZCGABIUCUEIUBUGCUBUAJZTJZFUGTU
      AKUDUHUFUISBCLZMSAUJMNOPCABQCUCUEQR $.
  $}


$(
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
           "Weak deduction theorem" for set theory
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=

  In a Hilbert system of logic (which consists of a set of axioms, modus
  ponens, and the generalization rule), converting a deduction to a proof using
  the Deduction Theorem (taught in introductory logic books) involves an
  exponential increase of the number of steps as hypotheses are successively
  eliminated.  Here is a trick that is not as general as the Deduction Theorem
  but requires only a linear increase in the number of steps.

  The general problem:  We want to convert a deduction
    P |- Q
  into a proof of the theorem
    |- P -> Q
  i.e. we want to eliminate the hypothesis P.  Normally this is done using the
  Deduction (meta)Theorem, which looks at the microscopic steps of the
  deduction and usually doubles or triples the number of these microscopic
  steps for each hypothesis that is eliminated.  We will look at a special case
  of this problem, without appealing to the Deduction Theorem.

  We assume ZF with class notation.  A and B are arbitrary (possibly
  proper) classes.  P, Q, R, S and T are wffs.

  We define the conditional operator, if(P,A,B), as follows:
    if(P,A,B) =def= { x | (x \in A & P) v (x \in B & -. P) }
  (where x does not occur in A, B, or P).

  Lemma 1.
    A = if(P,A,B) -> (P <-> R), B = if(P,A,B) -> (S <-> R), S |- R
  Proof:  Logic and Axiom of Extensionality.

  Lemma 2.
    A = if(P,A,B) -> (Q <-> T), T |- P -> Q
  Proof:  Logic and Axiom of Extensionality.

  Here's a simple example that illustrates how it works.  Suppose we have
  a deduction
    Ord A |- Tr A
  which means, "Assume A is an ordinal class.  Then A is a transitive class."
  Note that A is a class variable that may be substituted with any class
  expression, so this is really a deduction scheme.

  We want to convert this to a proof of the theorem (scheme)
    |- Ord A -> Tr A.

  The catch is that we must be able to prove "Ord A" for at least one
  object A (and this is what makes it weaker than the ordinary Deduction
  Theorem).  However, it is easy to prove |- Ord 0 (the empty set is
  ordinal).  (For a typical textbook "theorem," i.e. deduction, there is
  usually at least one object satisfying each hypothesis, otherwise the
  theorem would not be very useful.  We can always go back to the standard
  Deduction Theorem for those hypotheses where this is not the case.)
  Continuing with the example:

  Equality axioms (and Extensionality) yield
    |- A = if(Ord A, A, 0) -> (Ord A <-> Ord if(Ord A, A, 0))  (1)
    |- 0 = if(Ord A, A, 0) -> (Ord 0 <-> Ord if(Ord A, A, 0))  (2)
  From (1), (2) and |- Ord 0, Lemma 1 yields
    |- Ord if(Ord A, A, 0)                                       (3)
  From (3) and substituting if(Ord A, A, 0) for
  A in the original deduction,
    |- Tr if(Ord A, A, 0)                                        (4)
  Equality axioms (and Extensionality) yield
    |- A = if(Ord A, A, 0) -> (Tr A <-> Tr if(Ord A, A, 0))    (5)
  From (4) and (5), Lemma 2 yields
    |- Ord A -> Tr A                                               (Q.E.D.)

$)

  $( These lemmas are used to convert hypotheses into antecedents,
     when there is at least one class making the hypothesis true. $)

  $( Declare new constant symbols. $)
  $c if $.  $( Conditional operator (was "ded" for "deduction class"). $)

  $( Extend class notation to include the conditional operator.  See ~ df-if
     for a description.  (In older databases this was denoted "ded".) $)
  cif $a class if ( ph , A , B ) $.

  ${
    $d x ph $.  $d x A $.  $d x B $.
    $( Define the conditional operator.  Read ` if ( ph , A , B ) ` as "if
       ` ph ` then ` A ` else ` B ` ."  See ~ iftrue and ~ iffalse for its
       values.  In mathematical literature, this operator is rarely defined
       formally but is implicit in informal definitions such as "let f(x)=0 if
       x=0 and 1/x otherwise."  (In older versions of this database, this
       operator was denoted "ded" and called the "deduction class.")

       An important use for us is in conjunction with the weak deduction
       theorem, which converts a hypothesis into an antecedent.  In that role,
       ` A ` is a class variable in the hypothesis and ` B ` is a class
       (usually a constant) that makes the hypothesis true when it is
       substituted for ` A ` .  See ~ dedth for the main part of the weak
       deduction theorem, ~ elimhyp to eliminate a hypothesis, and ~ keephyp to
       keep a hypothesis.  See the Deduction Theorem link on the Metamath Proof
       Explorer Home Page for a description of the weak deduction theorem.
       (Contributed by NM, 15-May-1999.) $)
    df-if $a |- if ( ph , A , B ) =
                 { x | ( ( x e. A /\ ph ) \/ ( x e. B /\ -. ph ) ) } $.
  $}

  ${
    $d x ph $.  $d x A $.  $d x B $.  $d x C $.
    $( An alternate definition of the conditional operator ~ df-if with one
       fewer connectives (but probably less intuitive to understand).
       (Contributed by NM, 30-Jan-2006.) $)
    dfif2 $p |- if ( ph , A , B ) =
                 { x | ( ( x e. B -> ph ) -> ( x e. A /\ ph ) ) } $=
      ( cif cv wcel wa wn wo cab wi df-if df-or orcom iman imbi1i 3bitr4i abbii
      eqtri ) ACDEBFZCGAHZUADGZAIHZJZBKUCALZUBLZBKABCDMUEUGBUDUBJUDIZUBLUEUGUDU
      BNUBUDOUFUHUBUCAPQRST $.

    $( An alternate definition of the conditional operator ~ df-if as a simple
       class abstraction.  (Contributed by Mario Carneiro, 8-Sep-2013.) $)
    dfif6 $p |- if ( ph , A , B ) =
                 ( { x e. A | ph } u. { x e. B | -. ph } ) $=
      ( cv wcel wa cab wn cun wo crab cif unab df-rab uneq12i df-if 3eqtr4ri )
      BEZCFAGZBHZSDFAIZGZBHZJTUCKBHABCLZUBBDLZJACDMTUCBNUEUAUFUDABCOUBBDOPABCDQ
      R $.

    $( Equality theorem for conditional operator.  (Contributed by NM,
       1-Sep-2004.)  (Revised by Mario Carneiro, 8-Sep-2013.) $)
    ifeq1 $p |- ( A = B -> if ( ph , A , C ) = if ( ph , B , C ) ) $=
      ( vx wceq crab wn cun cif rabeq uneq1d dfif6 3eqtr4g ) BCFZAEBGZAHEDGZIAE
      CGZQIABDJACDJOPRQAEBCKLAEBDMAECDMN $.

    $( Equality theorem for conditional operator.  (Contributed by NM,
       1-Sep-2004.)  (Revised by Mario Carneiro, 8-Sep-2013.) $)
    ifeq2 $p |- ( A = B -> if ( ph , C , A ) = if ( ph , C , B ) ) $=
      ( vx wceq crab wn cun cif rabeq uneq2d dfif6 3eqtr4g ) BCFZAEDGZAHZEBGZIP
      QECGZIADBJADCJORSPQEBCKLAEDBMAEDCMN $.

    $( Value of the conditional operator when its first argument is true.
       (Contributed by NM, 15-May-1999.)  (Proof shortened by Andrew Salmon,
       26-Jun-2011.) $)
    iftrue $p |- ( ph -> if ( ph , A , B ) = A ) $=
      ( vx cv wcel wi wa cab cif dedlem0a abbi2dv dfif2 syl6reqr ) ABDEZCFZAGOB
      FZAHGZDIABCJARDBAQPKLADBCMN $.

    $( Value of the conditional operator when its first argument is false.
       (Contributed by NM, 14-Aug-1999.) $)
    iffalse $p |- ( -. ph -> if ( ph , A , B ) = B ) $=
      ( vx wn cv wcel wa wo cab cif dedlemb abbi2dv df-if syl6reqr ) AEZCDFZBGZ
      AHQCGZPHIZDJABCKPTDCARSLMADBCNO $.
  $}

  $( When values are unequal, but an "if" condition checks if they are equal,
     then the "false" branch results.  This is a simple utility to provide a
     slight shortening and simplification of proofs vs. applying ~ iffalse
     directly in this case.  It happens, e.g., in oevn0 in set.mm.
     (Contributed by David A. Wheeler, 15-May-2015.) $)
  ifnefalse $p |- ( A =/= B -> if ( A = B , C , D ) = D ) $=
    ( wne wceq wn cif df-ne iffalse sylbi ) ABEABFZGLCDHDFABILCDJK $.

  ${
    ifsb.1 $e |- ( if ( ph , A , B ) = A -> C = D ) $.
    ifsb.2 $e |- ( if ( ph , A , B ) = B -> C = E ) $.
    $( Distribute a function over an if-clause.  (Contributed by Mario
       Carneiro, 14-Aug-2013.) $)
    ifsb $p |- C = if ( ph , D , E ) $=
      ( cif wceq iftrue syl eqtr4d wn iffalse pm2.61i ) ADAEFIZJADEQAABCIZBJDEJ
      ABCKGLAEFKMANZDFQSRCJDFJABCOHLAEFOMP $.
  $}

  ${
    $d y A $.  $d y B $.  $d x y ph $.
    dfif3.1 $e |- C = { x | ph } $.
    $( Alternate definition of the conditional operator ~ df-if .  Note that
       ` ph ` is independent of ` x ` i.e. a constant true or false.
       (Contributed by NM, 25-Aug-2013.)  (Revised by Mario Carneiro,
       8-Sep-2013.) $)
    dfif3 $p |- if ( ph , A , B )
                  = ( ( A i^i C ) u. ( B i^i ( _V \ C ) ) ) $=
      ( vy cif crab wn cun cin cvv cdif dfif6 cab cv ineq2i dfrab3 eqtr4i biidd
      wceq cbvabv eqtri notab difeq2i eqtr2i uneq12i ) ACDHAGCIZAJZGDIZKCELZDME
      NZLZKAGCDOULUIUNUKULCAGPZLUIEUOCEABPUOFAABGBQGQUBAUAUCUDZRAGCSTUKDUJGPZLU
      NUJGDSUQUMDUQMUONUMAGUEEUOMUPUFTRUGUHT $.

    $( Alternate definition of the conditional operator ~ df-if .  Note that
       ` ph ` is independent of ` x ` i.e. a constant true or false.
       (Contributed by NM, 25-Aug-2013.) $)
    dfif4 $p |- if ( ph , A , B )
        = ( ( A u. B ) i^i ( ( A u. ( _V \ C ) ) i^i ( B u. C ) ) ) $=
      ( cif cin cvv cdif cun dfif3 undir undi uncom undifv ineq12i 3eqtri inass
      inv1 eqtri ) ACDGCEHDIEJZHZKCUCKZEUCKZHZCDKZCUBKZDEKZHHZABCDEFLCEUCMUFUGU
      HHZUIHUJUDUKUEUICDUBNUEEDKZEUBKZHUIIHUIEDUBNULUIUMIEDOEPQUITRQUGUHUISUAR
      $.

    $( Alternate definition of the conditional operator ~ df-if .  Note that
       ` ph ` is independent of ` x ` i.e. a constant true or false (see also
       ~ abvor0 ).  (Contributed by G&eacute;rard Lang, 18-Aug-2013.) $)
    dfif5 $p |- if ( ph , A , B ) = ( ( A i^i B )
          u. ( ( ( A \ B ) i^i C ) u. ( ( B \ A ) i^i ( _V \ C ) ) ) ) $=
      ( cun cdif cin undir unidm unass undi 3eqtr3ri ineq1i inabs eqtri 3eqtr4i
      undifabs eqtr4i cvv cif inindi dfif4 uneq1i undif2 uneq12i unundi 3eqtrri
      uncom uneq2i ineq2i ineq12i ) CDGZCUAEHZGZDEGZIIUNUPIZUNUQIZIZACDUBCDICDH
      ZEIZDCHZUOIZGZGZUNUPUQUCABCDEFUDVFCVEGZDVEGZIUTCDVEJURVGUSVHURCVBGZCVDGZG
      ZVGURCCDUOIZGZGZVKCCGZVLGVMVNURVOCVLCKUECCVLLCDUOMZNVICVJVMVICVAGZCEGZIZC
      CVAEMVSCVRICVQCVRCDSOCEPQQCVCGZUPIURVJVMVTUNUPCDUFOCVCUOMVPRUGTCVBVDUHTCE
      IZDGZDVBGZDVDGZGZUSVHWBDGWADDGZGWEWBWADDLWBWCDWDWBDVAGZUQIZWCDWAGDCGZUQIW
      BWHDCEMWADUJWGWIUQDCUFORDVAEMTWDDVCGZDUOGZIDWKIDDVCUOMWJDWKDCSODUOPUIUGWF
      DWADKUKNUSUNEDGZIWBUQWLUNDEUJULCEDJTDVBVDUHRUMTR $.
  $}

  $( Equality theorem for conditional operators.  (Contributed by NM,
     1-Sep-2004.) $)
  ifeq12 $p |- ( ( A = B /\ C = D ) ->
                if ( ph , A , C ) = if ( ph , B , D ) ) $=
    ( wceq cif ifeq1 ifeq2 sylan9eq ) BCFDEFABDGACDGACEGABCDHADECIJ $.

  ${
    ifeq1d.1 $e |- ( ph -> A = B ) $.
    $( Equality deduction for conditional operator.  (Contributed by NM,
       16-Feb-2005.) $)
    ifeq1d $p |- ( ph -> if ( ps , A , C ) = if ( ps , B , C ) ) $=
      ( wceq cif ifeq1 syl ) ACDGBCEHBDEHGFBCDEIJ $.

    $( Equality deduction for conditional operator.  (Contributed by NM,
       16-Feb-2005.) $)
    ifeq2d $p |- ( ph -> if ( ps , C , A ) = if ( ps , C , B ) ) $=
      ( wceq cif ifeq2 syl ) ACDGBECHBEDHGFBCDEIJ $.

    ifeq12d.2 $e |- ( ph -> C = D ) $.
    $( Equality deduction for conditional operator.  (Contributed by NM,
       24-Mar-2015.) $)
    ifeq12d $p |- ( ph -> if ( ps , A , C ) = if ( ps , B , D ) ) $=
      ( cif ifeq1d ifeq2d eqtrd ) ABCEIBDEIBDFIABCDEGJABEFDHKL $.
  $}

  $( Equivalence theorem for conditional operators.  (Contributed by Raph
     Levien, 15-Jan-2004.) $)
  ifbi $p |- ( ( ph <-> ps ) -> if ( ph , A , B ) = if ( ps , A , B ) ) $=
    ( wb wa wn wo cif wceq dfbi3 iftrue eqcomd sylan9eq iffalse jaoi sylbi ) AB
    EABFZAGZBGZFZHACDIZBCDIZJZABKRUDUAABUBCUCACDLBUCCBCDLMNSTUBDUCACDOTUCDBCDOM
    NPQ $.

  ${
    ifbid.1 $e |- ( ph -> ( ps <-> ch ) ) $.
    $( Equivalence deduction for conditional operators.  (Contributed by NM,
       18-Apr-2005.) $)
    ifbid $p |- ( ph -> if ( ps , A , B ) = if ( ch , A , B ) ) $=
      ( wb cif wceq ifbi syl ) ABCGBDEHCDEHIFBCDEJK $.
  $}

  ${
    ifbieq2i.1 $e |- ( ph <-> ps ) $.
    ifbieq2i.2 $e |- A = B $.
    $( Equivalence/equality inference for conditional operators.  (Contributed
       by Paul Chapman, 22-Jun-2011.) $)
    ifbieq2i $p |- if ( ph , C , A ) = if ( ps , C , B ) $=
      ( cif wb wceq ifbi ax-mp ifeq2 eqtri ) AECHZBECHZBEDHZABIOPJFABECKLCDJPQJ
      GBCDEMLN $.
  $}

  ${
    ifbieq2d.1 $e |- ( ph -> ( ps <-> ch ) ) $.
    ifbieq2d.2 $e |- ( ph -> A = B ) $.
    $( Equivalence/equality deduction for conditional operators.  (Contributed
       by Paul Chapman, 22-Jun-2011.) $)
    ifbieq2d $p |- ( ph -> if ( ps , C , A ) = if ( ch , C , B ) ) $=
      ( cif ifbid ifeq2d eqtrd ) ABFDICFDICFEIABCFDGJACDEFHKL $.
  $}

  ${
    ifbieq12i.1 $e |- ( ph <-> ps ) $.
    ifbieq12i.2 $e |- A = C $.
    ifbieq12i.3 $e |- B = D $.
    $( Equivalence deduction for conditional operators.  (Contributed by NM,
       18-Mar-2013.) $)
    ifbieq12i $p |- if ( ph , A , B ) = if ( ps , C , D ) $=
      ( cif wceq ifeq1 ax-mp ifbieq2i eqtri ) ACDJZAEDJZBEFJCEKPQKHACEDLMABDFEG
      INO $.
  $}

  ${
    ifbieq12d.1 $e |- ( ph -> ( ps <-> ch ) ) $.
    ifbieq12d.2 $e |- ( ph -> A = C ) $.
    ifbieq12d.3 $e |- ( ph -> B = D ) $.
    $( Equivalence deduction for conditional operators.  (Contributed by Jeff
       Madsen, 2-Sep-2009.) $)
    ifbieq12d $p |- ( ph -> if ( ps , A , B ) = if ( ch , C , D ) ) $=
      ( cif ifbid ifeq12d eqtrd ) ABDEKCDEKCFGKABCDEHLACDFEGIJMN $.
  $}

  ${
    $d x y $.  $d y A $.  $d y B $.  $d y ph $.  $d y ps $.
    nfifd.2 $e |- ( ph -> F/ x ps ) $.
    nfifd.3 $e |- ( ph -> F/_ x A ) $.
    nfifd.4 $e |- ( ph -> F/_ x B ) $.
    $( Deduction version of ~ nfif .  (Contributed by NM, 15-Feb-2013.)
       (Revised by Mario Carneiro, 13-Oct-2016.) $)
    nfifd $p |- ( ph -> F/_ x if ( ps , A , B ) ) $=
      ( vy cif cv wcel wi wa cab dfif2 nfv nfcrd nfimd nfand nfabd nfcxfrd ) AC
      BDEJIKZELZBMZUCDLZBNZMZIOBIDEPAUHCIAIQAUEUGCAUDBCACIEHRFSAUFBCACIDGRFTSUA
      UB $.
  $}

  ${
    nfif.1 $e |- F/ x ph $.
    nfif.2 $e |- F/_ x A $.
    nfif.3 $e |- F/_ x B $.
    $( Bound-variable hypothesis builder for a conditional operator.
       (Contributed by NM, 16-Feb-2005.)  (Proof shortened by Andrew Salmon,
       26-Jun-2011.) $)
    nfif $p |- F/_ x if ( ph , A , B ) $=
      ( cif wnfc wtru wnf a1i nfifd trud ) BACDHIJABCDABKJELBCIJFLBDIJGLMN $.
  $}

  ${
    ifeq1da.1 $e |- ( ( ph /\ ps ) -> A = B ) $.
    $( Conditional equality.  (Contributed by Jeff Madsen, 2-Sep-2009.) $)
    ifeq1da $p |- ( ph -> if ( ps , A , C ) = if ( ps , B , C ) ) $=
      ( cif wceq wa ifeq1d wn iffalse eqtr4d adantl pm2.61dan ) ABBCEGZBDEGZHZA
      BIBCDEFJBKZRASPEQBCELBDELMNO $.
  $}

  ${
    ifeq2da.1 $e |- ( ( ph /\ -. ps ) -> A = B ) $.
    $( Conditional equality.  (Contributed by Jeff Madsen, 2-Sep-2009.) $)
    ifeq2da $p |- ( ph -> if ( ps , C , A ) = if ( ps , C , B ) ) $=
      ( cif wceq iftrue eqtr4d adantl wn wa ifeq2d pm2.61dan ) ABBECGZBEDGZHZBR
      ABPEQBECIBEDIJKABLMBCDEFNO $.
  $}

  ${
    ifclda.1 $e |- ( ( ph /\ ps ) -> A e. C ) $.
    ifclda.2 $e |- ( ( ph /\ -. ps ) -> B e. C ) $.
    $( Conditional closure.  (Contributed by Jeff Madsen, 2-Sep-2009.) $)
    ifclda $p |- ( ph -> if ( ps , A , B ) e. C ) $=
      ( cif wcel wa wceq iftrue adantl eqeltrd wn iffalse pm2.61dan ) ABBCDHZEI
      ABJRCEBRCKABCDLMFNABOZJRDESRDKABCDPMGNQ $.
  $}

  ${
    $d y A $.  $d y B $.  $d y C $.  $d y ph $.  $d x y $.
    $( Distribute proper substitution through the conditional operator.
       (Contributed by NM, 24-Feb-2013.)  (Revised by Mario Carneiro,
       14-Nov-2016.) $)
    csbifg $p |- ( A e. V -> [_ A / x ]_ if ( ph , B , C )
          = if ( [. A / x ]. ph , [_ A / x ]_ B , [_ A / x ]_ C ) ) $=
      ( vy cv cif csb wsb wceq csbeq1 dfsbcq2 ifbieq12d eqeq12d nfcsb1v csbeq1a
      wsbc vex nfs1v nfif weq sbequ12 csbief vtoclg ) BGHZADEIZJZABGKZBUGDJZBUG
      EJZIZLBCUHJZABCSZBCDJZBCEJZIZLGCFUGCLZUIUNUMURBUGCUHMUSUJUOUKULUPUQABGCNB
      UGCDMBUGCEMOPBUGUHUMGTUJBUKULABGUABUGDQBUGEQUBBGUCAUJDEUKULABGUDBUGDRBUGE
      ROUEUF $.
  $}

  ${
    elimif.1 $e |- ( if ( ph , A , B ) = A -> ( ps <-> ch ) ) $.
    elimif.2 $e |- ( if ( ph , A , B ) = B -> ( ps <-> th ) ) $.
    $( Elimination of a conditional operator contained in a wff ` ps ` .
       (Contributed by NM, 15-Feb-2005.) $)
    elimif $p |- ( ps <-> ( ( ph /\ ch ) \/ ( -. ph /\ th ) ) ) $=
      ( wn wo wa exmid biantrur andir cif wceq wb iftrue syl pm5.32i iffalse
      orbi12i 3bitri ) BAAIZJZBKABKZUDBKZJACKZUDDKZJUEBALMAUDBNUFUHUGUIABCAAEFO
      ZEPBCQAEFRGSTUDBDUDUJFPBDQAEFUAHSTUBUC $.
  $}

  ${
    ifboth.1 $e |- ( A = if ( ph , A , B ) -> ( ps <-> th ) ) $.
    ifboth.2 $e |- ( B = if ( ph , A , B ) -> ( ch <-> th ) ) $.
    ${
      ifbothda.3 $e |- ( ( et /\ ph ) -> ps ) $.
      ifbothda.4 $e |- ( ( et /\ -. ph ) -> ch ) $.
      $( A wff ` th ` containing a conditional operator is true when both of
         its cases are true.  (Contributed by NM, 15-Feb-2015.) $)
      ifbothda $p |- ( et -> th ) $=
        ( wa wb cif wceq iftrue eqcomd syl adantl mpbid wn iffalse pm2.61dan )
        EADEALBDJABDMZEAFAFGNZOUDAUEFAFGPQHRSTEAUAZLCDKUFCDMZEUFGUEOUGUFUEGAFGU
        BQIRSTUC $.
    $}

    $( A wff ` th ` containing a conditional operator is true when both of its
       cases are true.  (Contributed by NM, 3-Sep-2006.)  (Revised by Mario
       Carneiro, 15-Feb-2015.) $)
    ifboth $p |- ( ( ps /\ ch ) -> th ) $=
      ( wa simpll wn simplr ifbothda ) ABCDBCIEFGHBCAJBCAKLM $.
  $}

  $( Identical true and false arguments in the conditional operator.
     (Contributed by NM, 18-Apr-2005.) $)
  ifid $p |- if ( ph , A , A ) = A $=
    ( cif wceq iftrue iffalse pm2.61i ) AABBCBDABBEABBFG $.

  $( Expansion of an equality with a conditional operator.  (Contributed by NM,
     14-Feb-2005.) $)
  eqif $p |- ( A = if ( ph , B , C ) <->
             ( ( ph /\ A = B ) \/ ( -. ph /\ A = C ) ) ) $=
    ( cif wceq eqeq2 elimif ) ABACDEZFBCFBDFCDICBGIDBGH $.

  $( Membership in a conditional operator.  (Contributed by NM,
     14-Feb-2005.) $)
  elif $p |- ( A e. if ( ph , B , C ) <->
             ( ( ph /\ A e. B ) \/ ( -. ph /\ A e. C ) ) ) $=
    ( cif wcel eleq2 elimif ) ABACDEZFBCFBDFCDICBGIDBGH $.

  $( Membership of a conditional operator.  (Contributed by NM,
     10-Sep-2005.) $)
  ifel $p |- ( if ( ph , A , B ) e. C <->
             ( ( ph /\ A e. C ) \/ ( -. ph /\ B e. C ) ) ) $=
    ( cif wcel eleq1 elimif ) AABCEZDFBDFCDFBCIBDGICDGH $.

  $( Membership (closure) of a conditional operator.  (Contributed by NM,
     4-Apr-2005.) $)
  ifcl $p |- ( ( A e. C /\ B e. C ) -> if ( ph , A , B ) e. C ) $=
    ( wcel cif eleq1 ifboth ) ABDECDEABCFZDEBCBIDGCIDGH $.

  $( The possible values of a conditional operator.  (Contributed by NM,
     17-Jun-2007.)  (Proof shortened by Andrew Salmon, 26-Jun-2011.) $)
  ifeqor $p |- ( if ( ph , A , B ) = A \/ if ( ph , A , B ) = B ) $=
    ( cif wceq wn iftrue con3i iffalse syl orri ) ABCDZBEZLCEZMFAFNAMABCGHABCIJ
    K $.

  $( Negating the first argument swaps the last two arguments of a conditional
     operator.  (Contributed by NM, 21-Jun-2007.) $)
  ifnot $p |- if ( -. ph , A , B ) = if ( ph , B , A ) $=
    ( wn cif wceq notnot1 iffalse syl iftrue eqtr4d pm2.61i ) AADZBCEZACBEZFANC
    OAMDNCFAGMBCHIACBJKMNBOMBCJACBHKL $.

  $( Rewrite a conjunction in an if statement as two nested conditionals.
     (Contributed by Mario Carneiro, 28-Jul-2014.) $)
  ifan $p |- if ( ( ph /\ ps ) , A , B ) = if ( ph , if ( ps , A , B ) , B ) $=
    ( wa cif wceq iftrue ifbid eqtr2d wn simpl con3i iffalse syl eqtr4d pm2.61i
    ibar ) AABEZCDFZABCDFZDFZGAUBUATAUADHABSCDABRIJAKZTDUBUCSKTDGSAABLMSCDNOAUA
    DNPQ $.

  $( Rewrite a disjunction in an if statement as two nested conditionals.
     (Contributed by Mario Carneiro, 28-Jul-2014.) $)
  ifor $p |- if ( ( ph \/ ps ) , A , B ) = if ( ph , A , if ( ps , A , B ) ) $=
    ( wo cif wceq iftrue orcs eqtr4d wn iffalse biorf ifbid eqtr2d pm2.61i ) AA
    BEZCDFZACBCDFZFZGARCTABRCGQCDHIACSHJAKZTSRACSLUABQCDABMNOP $.

  ${
    dedth.1 $e |- ( A = if ( ph , A , B ) -> ( ps <-> ch ) ) $.
    dedth.2 $e |- ch $.
    $( Weak deduction theorem that eliminates a hypothesis ` ph ` , making it
       become an antecedent.  We assume that a proof exists for ` ph ` when the
       class variable ` A ` is replaced with a specific class ` B ` .  The
       hypothesis ` ch ` should be assigned to the inference, and the
       inference's hypothesis eliminated with ~ elimhyp .  If the inference has
       other hypotheses with class variable ` A ` , these can be kept by
       assigning ~ keephyp to them.  For more information, see the Deduction
       Theorem ~ http://us.metamath.org/mpeuni/mmdeduction.html .  (Contributed
       by NM, 15-May-1999.) $)
    dedth $p |- ( ph -> ps ) $=
      ( cif wceq wb iftrue eqcomd syl mpbiri ) ABCGADADEHZIBCJAODADEKLFMN $.
  $}

  ${
    dedth2h.1 $e |- ( A = if ( ph , A , C ) -> ( ch <-> th ) ) $.
    dedth2h.2 $e |- ( B = if ( ps , B , D ) -> ( th <-> ta ) ) $.
    dedth2h.3 $e |- ta $.
    $( Weak deduction theorem eliminating two hypotheses.  This theorem is
       simpler to use than ~ dedth2v but requires that each hypothesis has
       exactly one class variable.  See also comments in ~ dedth .
       (Contributed by NM, 15-May-1999.) $)
    dedth2h $p |- ( ( ph /\ ps ) -> ch ) $=
      ( wi cif wceq imbi2d dedth imp ) ABCABCMBDMFHFAFHNOCDBJPBDEGIKLQQR $.
  $}

  ${
    dedth3h.1 $e |- ( A = if ( ph , A , D ) -> ( th <-> ta ) ) $.
    dedth3h.2 $e |- ( B = if ( ps , B , R ) -> ( ta <-> et ) ) $.
    dedth3h.3 $e |- ( C = if ( ch , C , S ) -> ( et <-> ze ) ) $.
    dedth3h.4 $e |- ze $.
    $( Weak deduction theorem eliminating three hypotheses.  See comments in
       ~ dedth2h .  (Contributed by NM, 15-May-1999.) $)
    dedth3h $p |- ( ( ph /\ ps /\ ch ) -> th ) $=
      ( wa wi cif wceq imbi2d dedth2h dedth 3impib ) ABCDABCRZDSUFESHKHAHKTUADE
      UFNUBBCEFGIJLMOPQUCUDUE $.
  $}

  ${
    dedth4h.1 $e |- ( A = if ( ph , A , R ) -> ( ta <-> et ) ) $.
    dedth4h.2 $e |- ( B = if ( ps , B , S ) -> ( et <-> ze ) ) $.
    dedth4h.3 $e |- ( C = if ( ch , C , F ) -> ( ze <-> si ) ) $.
    dedth4h.4 $e |- ( D = if ( th , D , G ) -> ( si <-> rh ) ) $.
    dedth4h.5 $e |- rh $.
    $( Weak deduction theorem eliminating four hypotheses.  See comments in
       ~ dedth2h .  (Contributed by NM, 16-May-1999.) $)
    dedth4h $p |- ( ( ( ph /\ ps ) /\ ( ch /\ th ) ) -> ta ) $=
      ( wa wi cif wceq imbi2d dedth2h imp ) ABUCCDUCZEABUJEUDUJFUDUJGUDJKNOJAJN
      UEUFEFUJRUGKBKOUEUFFGUJSUGCDGHILMPQTUAUBUHUHUI $.
  $}

  ${
    dedth2v.1 $e |- ( A = if ( ph , A , C ) -> ( ps <-> ch ) ) $.
    dedth2v.2 $e |- ( B = if ( ph , B , D ) -> ( ch <-> th ) ) $.
    dedth2v.3 $e |- th $.
    $( Weak deduction theorem for eliminating a hypothesis with 2 class
       variables.  Note: if the hypothesis can be separated into two
       hypotheses, each with one class variable, then ~ dedth2h is simpler to
       use.  See also comments in ~ dedth .  (Contributed by NM, 13-Aug-1999.)
       (Proof shortened by Eric Schmidt, 28-Jul-2009.) $)
    dedth2v $p |- ( ph -> ps ) $=
      ( dedth2h anidms ) ABAABCDEFGHIJKLM $.
  $}

  ${
    dedth3v.1 $e |- ( A = if ( ph , A , D ) -> ( ps <-> ch ) ) $.
    dedth3v.2 $e |- ( B = if ( ph , B , R ) -> ( ch <-> th ) ) $.
    dedth3v.3 $e |- ( C = if ( ph , C , S ) -> ( th <-> ta ) ) $.
    dedth3v.4 $e |- ta $.
    $( Weak deduction theorem for eliminating a hypothesis with 3 class
       variables.  See comments in ~ dedth2v .  (Contributed by NM,
       13-Aug-1999.)  (Proof shortened by Eric Schmidt, 28-Jul-2009.) $)
    dedth3v $p |- ( ph -> ps ) $=
      ( dedth3h 3anidm12 anidms ) ABAABAAABCDEFGHIJKLMNOPQR $.
  $}

  ${
    dedth4v.1 $e |- ( A = if ( ph , A , R ) -> ( ps <-> ch ) ) $.
    dedth4v.2 $e |- ( B = if ( ph , B , S ) -> ( ch <-> th ) ) $.
    dedth4v.3 $e |- ( C = if ( ph , C , T ) -> ( th <-> ta ) ) $.
    dedth4v.4 $e |- ( D = if ( ph , D , U ) -> ( ta <-> et ) ) $.
    dedth4v.5 $e |- et $.
    $( Weak deduction theorem for eliminating a hypothesis with 4 class
       variables.  See comments in ~ dedth2v .  (Contributed by NM,
       21-Apr-2007.)  (Proof shortened by Eric Schmidt, 28-Jul-2009.) $)
    dedth4v $p |- ( ph -> ps ) $=
      ( anidms wa dedth4h ) ABAAUABAAAABCDEFGHIJKLMNOPQRSUBTT $.
  $}

  ${
    elimhyp.1 $e |- ( A = if ( ph , A , B ) -> ( ph <-> ps ) ) $.
    elimhyp.2 $e |- ( B = if ( ph , A , B ) -> ( ch <-> ps ) ) $.
    elimhyp.3 $e |- ch $.
    $( Eliminate a hypothesis containing class variable ` A ` when it is known
       for a specific class ` B ` .  For more information, see comments in
       ~ dedth .  (Contributed by NM, 15-May-1999.) $)
    elimhyp $p |- ps $=
      ( cif wceq wb iftrue eqcomd syl ibi wn iffalse mpbii pm2.61i ) ABABADADEI
      ZJABKATDADELMFNOAPZCBHUAETJCBKUATEADEQMGNRS $.
  $}

  ${
    elimhyp2v.1 $e |- ( A = if ( ph , A , C ) -> ( ph <-> ch ) ) $.
    elimhyp2v.2 $e |- ( B = if ( ph , B , D ) -> ( ch <-> th ) ) $.
    elimhyp2v.3 $e |- ( C = if ( ph , A , C ) -> ( ta <-> et ) ) $.
    elimhyp2v.4 $e |- ( D = if ( ph , B , D ) -> ( et <-> th ) ) $.
    elimhyp2v.5 $e |- ta $.
    $( Eliminate a hypothesis containing 2 class variables.  (Contributed by
       NM, 14-Aug-1999.) $)
    elimhyp2v $p |- th $=
      ( cif wceq wb iftrue eqcomd syl bitrd ibi wn iffalse mpbii pm2.61i ) ACAC
      AABCAFAFHOZPABQAUGFAFHRSJTAGAGIOZPBCQAUHGAGIRSKTUAUBAUCZDCNUIDECUIHUGPDEQ
      UIUGHAFHUDSLTUIIUHPECQUIUHIAGIUDSMTUAUEUF $.
  $}

  ${
    elimhyp3v.1 $e |- ( A = if ( ph , A , D ) -> ( ph <-> ch ) ) $.
    elimhyp3v.2 $e |- ( B = if ( ph , B , R ) -> ( ch <-> th ) ) $.
    elimhyp3v.3 $e |- ( C = if ( ph , C , S ) -> ( th <-> ta ) ) $.
    elimhyp3v.4 $e |- ( D = if ( ph , A , D ) -> ( et <-> ze ) ) $.
    elimhyp3v.5 $e |- ( R = if ( ph , B , R ) -> ( ze <-> si ) ) $.
    elimhyp3v.6 $e |- ( S = if ( ph , C , S ) -> ( si <-> ta ) ) $.
    elimhyp3v.7 $e |- et $.
    $( Eliminate a hypothesis containing 3 class variables.  (Contributed by
       NM, 14-Aug-1999.) $)
    elimhyp3v $p |- ta $=
      ( cif wceq wb iftrue eqcomd syl 3bitrd ibi wn iffalse mpbii pm2.61i ) ADA
      DAABCDAHAHKUAZUBABUCAUMHAHKUDUENUFAIAILUAZUBBCUCAUNIAILUDUEOUFAJAJMUAZUBC
      DUCAUOJAJMUDUEPUFUGUHAUIZEDTUPEFGDUPKUMUBEFUCUPUMKAHKUJUEQUFUPLUNUBFGUCUP
      UNLAILUJUERUFUPMUOUBGDUCUPUOMAJMUJUESUFUGUKUL $.
  $}

  ${
    elimhyp4v.1 $e |- ( A = if ( ph , A , D ) -> ( ph <-> ch ) ) $.
    elimhyp4v.2 $e |- ( B = if ( ph , B , R ) -> ( ch <-> th ) ) $.
    elimhyp4v.3 $e |- ( C = if ( ph , C , S ) -> ( th <-> ta ) ) $.
    elimhyp4v.4 $e |- ( F = if ( ph , F , G ) -> ( ta <-> ps ) ) $.
    elimhyp4v.5 $e |- ( D = if ( ph , A , D ) -> ( et <-> ze ) ) $.
    elimhyp4v.6 $e |- ( R = if ( ph , B , R ) -> ( ze <-> si ) ) $.
    elimhyp4v.7 $e |- ( S = if ( ph , C , S ) -> ( si <-> rh ) ) $.
    elimhyp4v.8 $e |- ( G = if ( ph , F , G ) -> ( rh <-> ps ) ) $.
    elimhyp4v.9 $e |- et $.
    $( Eliminate a hypothesis containing 4 class variables (for use with the
       weak deduction theorem ~ dedth ).  (Contributed by NM, 16-Apr-2005.) $)
    elimhyp4v $p |- ps $=
      ( cif wceq wb iftrue eqcomd syl bitrd 3bitrd ibi wn iffalse mpbii pm2.61i
      ) ABABAADEBAACDAJAJMUGZUHACUIAUTJAJMUJUKRULAKAKNUGZUHCDUIAVAKAKNUJUKSULUM
      ALALOUGZUHDEUIAVBLALOUJUKTULAPAPQUGZUHEBUIAVCPAPQUJUKUAULUNUOAUPZFBUFVDFH
      IBVDFGHVDMUTUHFGUIVDUTMAJMUQUKUBULVDNVAUHGHUIVDVANAKNUQUKUCULUMVDOVBUHHIU
      IVDVBOALOUQUKUDULVDQVCUHIBUIVDVCQAPQUQUKUEULUNURUS $.
  $}

  ${
    elimel.1 $e |- B e. C $.
    $( Eliminate a membership hypothesis for weak deduction theorem, when
       special case ` B e. C ` is provable.  (Contributed by NM,
       15-May-1999.) $)
    elimel $p |- if ( A e. C , A , B ) e. C $=
      ( wcel cif eleq1 elimhyp ) ACEZIABFZCEBCEABAJCGBJCGDH $.
  $}

  ${
    elimdhyp.1 $e |- ( ph -> ps ) $.
    elimdhyp.2 $e |- ( A = if ( ph , A , B ) -> ( ps <-> ch ) ) $.
    elimdhyp.3 $e |- ( B = if ( ph , A , B ) -> ( th <-> ch ) ) $.
    elimdhyp.4 $e |- th $.
    $( Version of ~ elimhyp where the hypothesis is deduced from the final
       antecedent.  See ghomgrplem in set.mm for an example of its use.
       (Contributed by Paul Chapman, 25-Mar-2008.) $)
    elimdhyp $p |- ch $=
      ( cif wceq wb iftrue eqcomd syl mpbid wn iffalse mpbii pm2.61i ) ACABCGAE
      AEFKZLBCMAUBEAEFNOHPQARZDCJUCFUBLDCMUCUBFAEFSOIPTUA $.
  $}

  ${
    keephyp.1 $e |- ( A = if ( ph , A , B ) -> ( ps <-> th ) ) $.
    keephyp.2 $e |- ( B = if ( ph , A , B ) -> ( ch <-> th ) ) $.
    keephyp.3 $e |- ps $.
    keephyp.4 $e |- ch $.
    $( Transform a hypothesis ` ps ` that we want to keep (but contains the
       same class variable ` A ` used in the eliminated hypothesis) for use
       with the weak deduction theorem.  (Contributed by NM, 15-May-1999.) $)
    keephyp $p |- th $=
      ( ifboth mp2an ) BCDIJABCDEFGHKL $.
  $}

  ${
    keephyp2v.1 $e |- ( A = if ( ph , A , C ) -> ( ps <-> ch ) ) $.
    keephyp2v.2 $e |- ( B = if ( ph , B , D ) -> ( ch <-> th ) ) $.
    keephyp2v.3 $e |- ( C = if ( ph , A , C ) -> ( ta <-> et ) ) $.
    keephyp2v.4 $e |- ( D = if ( ph , B , D ) -> ( et <-> th ) ) $.
    keephyp2v.5 $e |- ps $.
    keephyp2v.6 $e |- ta $.
    $( Keep a hypothesis containing 2 class variables (for use with the weak
       deduction theorem ~ dedth ).  (Contributed by NM, 16-Apr-2005.) $)
    keephyp2v $p |- th $=
      ( wceq wb eqcomd syl cif iftrue bitrd mpbii wn iffalse pm2.61i ) ADABDOAB
      CDAGAGIUAZQBCRAUHGAGIUBSKTAHAHJUAZQCDRAUIHAHJUBSLTUCUDAUEZEDPUJEFDUJIUHQE
      FRUJUHIAGIUFSMTUJJUIQFDRUJUIJAHJUFSNTUCUDUG $.
  $}

  ${
    keephyp3v.1 $e |- ( A = if ( ph , A , D ) -> ( rh <-> ch ) ) $.
    keephyp3v.2 $e |- ( B = if ( ph , B , R ) -> ( ch <-> th ) ) $.
    keephyp3v.3 $e |- ( C = if ( ph , C , S ) -> ( th <-> ta ) ) $.
    keephyp3v.4 $e |- ( D = if ( ph , A , D ) -> ( et <-> ze ) ) $.
    keephyp3v.5 $e |- ( R = if ( ph , B , R ) -> ( ze <-> si ) ) $.
    keephyp3v.6 $e |- ( S = if ( ph , C , S ) -> ( si <-> ta ) ) $.
    keephyp3v.7 $e |- rh $.
    keephyp3v.8 $e |- et $.
    $( Keep a hypothesis containing 3 class variables.  (Contributed by NM,
       27-Sep-1999.) $)
    keephyp3v $p |- ta $=
      ( cif wceq wb iftrue eqcomd syl 3bitrd mpbii wn iffalse pm2.61i ) ADAHDUA
      AHBCDAIAILUCZUDHBUEAUNIAILUFUGOUHAJAJMUCZUDBCUEAUOJAJMUFUGPUHAKAKNUCZUDCD
      UEAUPKAKNUFUGQUHUIUJAUKZEDUBUQEFGDUQLUNUDEFUEUQUNLAILULUGRUHUQMUOUDFGUEUQ
      UOMAJMULUGSUHUQNUPUDGDUEUQUPNAKNULUGTUHUIUJUM $.
  $}

  ${
    keepel.1 $e |- A e. C $.
    keepel.2 $e |- B e. C $.
    $( Keep a membership hypothesis for weak deduction theorem, when special
       case ` B e. C ` is provable.  (Contributed by NM, 14-Aug-1999.) $)
    keepel $p |- if ( ph , A , B ) e. C $=
      ( wcel cif eleq1 keephyp ) ABDGCDGABCHZDGBCBKDICKDIEFJ $.
  $}

  ${
    dedex.1 $e |- A e. _V $.
    dedex.2 $e |- B e. _V $.
    $( Conditional operator existence.  (Contributed by NM, 2-Sep-2004.) $)
    ifex $p |- if ( ph , A , B ) e. _V $=
      ( cvv keepel ) ABCFDEG $.
  $}

  ${
    $d A x y $.  $d B y $.  $d ph x y $.
    $( Conditional operator existence.  (Contributed by NM, 21-Mar-2011.) $)
    ifexg $p |- ( ( A e. V /\ B e. W ) -> if ( ph , A , B ) e. _V ) $=
      ( vx vy cv cif cvv wcel wceq ifeq1 eleq1d ifeq2 vex ifex vtocl2g ) AFHZGH
      ZIZJKABTIZJKABCIZJKFGBCDESBLUAUBJASBTMNTCLUBUCJATCBONASTFPGPQR $.
  $}

$(
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
                          Power classes
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
$)

  $( Declare the symbol for power class. $)
  $c ~P $.  $( Calligraphic P $)

  $( Extend class notation to include power class.  (The tilde in the Metamath
     token is meant to suggest the calligraphic font of the P.) $)
  cpw $a class ~P A $.

  ${
    $d x A $.  $d y A $.  $d z x $.  $d z y $.  $d z A $.
    $( Soundness justification theorem for ~ df-pw .  (Contributed by Rodolfo
       Medina, 28-Apr-2010.)  (Proof shortened by Andrew Salmon,
       29-Jun-2011.) $)
    pwjust $p |- { x | x C_ A } = { y | y C_ A } $=
      ( vz cv wss cab sseq1 cbvabv eqtri ) AEZCFZAGDEZCFZDGBEZCFZBGLNADKMCHINPD
      BMOCHIJ $.
  $}

  ${
    $d x A $.
    $( Define power class.  Definition 5.10 of [TakeutiZaring] p. 17, but we
       also let it apply to proper classes, i.e. those that are not members of
       ` _V ` .  When applied to a set, this produces its power set.  A power
       set of S is the set of all subsets of S, including the empty set and S
       itself.  For example, if ` A = { ` 3 , 5 , 7 ` } ` , then
       ` ~P A = { (/) , { ` 3 ` } , { ` 5 ` } , { ` 7 ` } , { ` 3 , 5 ` } , `
       ` { ` 3 , 7 ` } , { ` 5 , 7 ` } , { ` 3 , 5 , 7 ` } } ` (ex-pw in
       set.mm).  We will later introduce the Axiom of Power Sets ax-pow in
       set.mm, which can be expressed in class notation per ~ pwexg .  Still
       later we will prove, in hashpw in set.mm, that the size of the power set
       of a finite set is 2 raised to the power of the size of the set.
       (Contributed by NM, 5-Aug-1993.) $)
    df-pw $a |- ~P A = { x | x C_ A } $.
  $}

  ${
    $d x A $.  $d x B $.
    $( Equality theorem for power class.  (Contributed by NM, 5-Aug-1993.) $)
    pweq $p |- ( A = B -> ~P A = ~P B ) $=
      ( vx wceq cv wss cab cpw sseq2 abbidv df-pw 3eqtr4g ) ABDZCEZAFZCGNBFZCGA
      HBHMOPCABNIJCAKCBKL $.
  $}

  ${
    pweqi.1 $e |- A = B $.
    $( Equality inference for power class.  (Contributed by NM,
       27-Nov-2013.) $)
    pweqi $p |- ~P A = ~P B $=
      ( wceq cpw pweq ax-mp ) ABDAEBEDCABFG $.
  $}

  ${
    pweqd.1 $e |- ( ph -> A = B ) $.
    $( Equality deduction for power class.  (Contributed by NM,
       27-Nov-2013.) $)
    pweqd $p |- ( ph -> ~P A = ~P B ) $=
      ( wceq cpw pweq syl ) ABCEBFCFEDBCGH $.
  $}

  ${
    $d A x $.  $d B x $.
    ${
      elpw.1 $e |- A e. _V $.
      $( Membership in a power class.  Theorem 86 of [Suppes] p. 47.
         (Contributed by NM, 31-Dec-1993.) $)
      elpw $p |- ( A e. ~P B <-> A C_ B ) $=
        ( vx cv wss cpw sseq1 df-pw elab2 ) DEZBFABFDABGCKABHDBIJ $.
    $}

    $( Membership in a power class.  Theorem 86 of [Suppes] p. 47.  See also
       elpw2g in set.mm.  (Contributed by NM, 6-Aug-2000.) $)
    elpwg $p |- ( A e. V -> ( A e. ~P B <-> A C_ B ) ) $=
      ( vx cv cpw wcel wss eleq1 sseq1 vex elpw vtoclbg ) DEZBFZGNBHAOGABHDACNA
      OINABJNBDKLM $.
  $}

  $( Subset relation implied by membership in a power class.  (Contributed by
     NM, 17-Feb-2007.) $)
  elpwi $p |- ( A e. ~P B -> A C_ B ) $=
    ( cpw wcel wss elpwg ibi ) ABCZDABEABHFG $.

  ${
    elpwid.1 $e |- ( ph -> A e. ~P B ) $.
    $( An element of a power class is a subclass.  Deduction form of ~ elpwi .
       (Contributed by David Moews, 1-May-2017.) $)
    elpwid $p |- ( ph -> A C_ B ) $=
      ( cpw wcel wss elpwi syl ) ABCEFBCGDBCHI $.
  $}

  $( If ` A ` belongs to a part of ` C ` then ` A ` belongs to ` C ` .
     (Contributed by FL, 3-Aug-2009.) $)
  elelpwi $p |- ( ( A e. B /\ B e. ~P C ) -> A e. C ) $=
    ( cpw wcel elpwi sseld impcom ) BCDEZABEACEIBCABCFGH $.

  ${
    $d y A $.  $d x y $.
    nfpw.1 $e |- F/_ x A $.
    $( Bound-variable hypothesis builder for power class.  (Contributed by NM,
       28-Oct-2003.)  (Revised by Mario Carneiro, 13-Oct-2016.) $)
    nfpw $p |- F/_ x ~P A $=
      ( vy cpw cv wss cab df-pw nfcv nfss nfab nfcxfr ) ABEDFZBGZDHDBIOADANBANJ
      CKLM $.
  $}

  $( Membership of the original in a power set.  (Contributed by Stefan O'Rear,
     1-Feb-2015.) $)
  pwidg $p |- ( A e. V -> A e. ~P A ) $=
    ( wcel cpw wss ssid elpwg mpbiri ) ABCAADCAAEAFAABGH $.

  ${
    pwid.1 $e |- A e. _V $.
    $( A set is a member of its power class.  Theorem 87 of [Suppes] p. 47.
       (Contributed by NM, 5-Aug-1993.) $)
    pwid $p |- A e. ~P A $=
      ( cvv wcel cpw pwidg ax-mp ) ACDAAEDBACFG $.
  $}

  ${
    $d x A $.  $d x B $.
    $( Subclass relationship for power class.  (Contributed by NM,
       21-Jun-2009.) $)
    pwss $p |- ( ~P A C_ B <-> A. x ( x C_ A -> x e. B ) ) $=
      ( cpw wss cv wcel wi wal dfss2 df-pw abeq2i imbi1i albii bitri ) BDZCEAFZ
      PGZQCGZHZAIQBEZSHZAIAPCJTUBARUASUAAPABKLMNO $.
  $}


$(
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
          Unordered and ordered pairs
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
$)

  $( Extend class notation to include singleton. $)
  csn $a class { A } $.
  $( Extend class notation to include unordered pair. $)
  cpr $a class { A , B } $.
  $( Extend class notation to include unordered triplet. $)
  ctp $a class { A , B , C } $.

  ${
    $d x A $.  $d y A $.  $d z x $.  $d z y $.  $d z A $.
    $( Soundness justification theorem for ~ df-sn .  (Contributed by Rodolfo
       Medina, 28-Apr-2010.)  (Proof shortened by Andrew Salmon,
       29-Jun-2011.) $)
    snjust $p |- { x | x = A } = { y | y = A } $=
      ( vz cv wceq cab eqeq1 cbvabv eqtri ) AEZCFZAGDEZCFZDGBEZCFZBGLNADKMCHINP
      DBMOCHIJ $.
  $}

  ${
    $d x A $.
    $( Define the singleton of a class.  Definition 7.1 of [Quine] p. 48.  For
       convenience, it is well-defined for proper classes, i.e., those that are
       not elements of ` _V ` , although it is not very meaningful in this
       case.  For an alternate definition see ~ dfsn2 .  (Contributed by NM,
       5-Aug-1993.) $)
    df-sn $a |- { A } = { x | x = A } $.
  $}

  $( Define unordered pair of classes.  Definition 7.1 of [Quine] p. 48.  For
     example, ` A e. { ` 1 , -u 1 ` } -> ( A ` ^ 2 ` ) = ` 1 (ex-pr in
     set.mm).  They are unordered, so ` { A , B } = { B , A } ` as proven by
     ~ prcom .  For a more traditional definition, but requiring a dummy
     variable, see ~ dfpr2 .  (Contributed by NM, 5-Aug-1993.) $)
  df-pr $a |- { A , B } = ( { A } u. { B } ) $.

  $( Define unordered triple of classes.  Definition of [Enderton] p. 19.
     (Contributed by NM, 9-Apr-1994.) $)
  df-tp $a |- { A , B , C } = ( { A , B } u. { C } ) $.

  ${
    $d x A $.  $d x B $.
    $( Equality theorem for singletons.  Part of Exercise 4 of [TakeutiZaring]
       p. 15.  (Contributed by NM, 5-Aug-1993.) $)
    sneq $p |- ( A = B -> { A } = { B } ) $=
      ( vx wceq cv cab csn eqeq2 abbidv df-sn 3eqtr4g ) ABDZCEZADZCFMBDZCFAGBGL
      NOCABMHICAJCBJK $.
  $}

  ${
    sneqi.1 $e |- A = B $.
    $( Equality inference for singletons.  (Contributed by NM, 22-Jan-2004.) $)
    sneqi $p |- { A } = { B } $=
      ( wceq csn sneq ax-mp ) ABDAEBEDCABFG $.
  $}

  ${
    sneqd.1 $e |- ( ph -> A = B ) $.
    $( Equality deduction for singletons.  (Contributed by NM, 22-Jan-2004.) $)
    sneqd $p |- ( ph -> { A } = { B } ) $=
      ( wceq csn sneq syl ) ABCEBFCFEDBCGH $.
  $}

  $( Alternate definition of singleton.  Definition 5.1 of [TakeutiZaring]
     p. 15.  (Contributed by NM, 24-Apr-1994.) $)
  dfsn2 $p |- { A } = { A , A } $=
    ( cpr csn cun df-pr unidm eqtr2i ) AABACZHDHAAEHFG $.

  ${
    $d x A $.
    $( There is only one element in a singleton.  Exercise 2 of [TakeutiZaring]
       p. 15.  (Contributed by NM, 5-Aug-1993.) $)
    elsn $p |- ( x e. { A } <-> x = A ) $=
      ( cv wceq csn df-sn abeq2i ) ACBDABEABFG $.
  $}

  ${
    $d x A $.  $d x B $.
    $( Alternate definition of unordered pair.  Definition 5.1 of
       [TakeutiZaring] p. 15.  (Contributed by NM, 24-Apr-1994.) $)
    dfpr2 $p |- { A , B } = { x | ( x = A \/ x = B ) } $=
      ( cpr csn cun cv wceq cab df-pr wcel elun elsn orbi12i bitri abbi2i eqtri
      wo ) BCDBEZCEZFZAGZBHZUBCHZRZAIBCJUEAUAUBUAKUBSKZUBTKZRUEUBSTLUFUCUGUDABM
      ACMNOPQ $.
  $}

  ${
    $d x A $.  $d x B $.  $d x C $.
    $( A member of an unordered pair of classes is one or the other of them.
       Exercise 1 of [TakeutiZaring] p. 15, generalized.  (Contributed by NM,
       13-Sep-1995.) $)
    elprg $p |- ( A e. V -> ( A e. { B , C } <-> ( A = B \/ A = C ) ) ) $=
      ( vx cv wceq wo cpr eqeq1 orbi12d dfpr2 elab2g ) EFZBGZNCGZHABGZACGZHEABC
      IDNAGOQPRNABJNACJKEBCLM $.
  $}

  ${
    elpr.1 $e |- A e. _V $.
    $( A member of an unordered pair of classes is one or the other of them.
       Exercise 1 of [TakeutiZaring] p. 15.  (Contributed by NM,
       13-Sep-1995.) $)
    elpr $p |- ( A e. { B , C } <-> ( A = B \/ A = C ) ) $=
      ( cvv wcel cpr wceq wo wb elprg ax-mp ) AEFABCGFABHACHIJDABCEKL $.
  $}

  ${
    elpr2.1 $e |- B e. _V $.
    elpr2.2 $e |- C e. _V $.
    $( A member of an unordered pair of classes is one or the other of them.
       Exercise 1 of [TakeutiZaring] p. 15.  (Contributed by NM,
       14-Oct-2005.) $)
    elpr2 $p |- ( A e. { B , C } <-> ( A = B \/ A = C ) ) $=
      ( cpr wcel wceq wo elprg ibi cvv wb eleq1 mpbiri jaoi syl ibir impbii ) A
      BCFZGZABHZACHZIZUAUDABCTJKUDUAUDALGZUAUDMUBUEUCUBUEBLGDABLNOUCUECLGEACLNO
      PABCLJQRS $.
  $}

  $( If a class is an element of a pair, then it is one of the two paired
     elements.  (Contributed by Scott Fenton, 1-Apr-2011.) $)
  elpri $p |- ( A e. { B , C } -> ( A = B \/ A = C ) ) $=
    ( cpr wcel wceq wo elprg ibi ) ABCDZEABFACFGABCJHI $.

  ${
    nelpri.1 $e |- A =/= B $.
    nelpri.2 $e |- A =/= C $.
    $( If an element doesn't match the items in an unordered pair, it is not in
       the unordered pair.  (Contributed by David A. Wheeler, 10-May-2015.) $)
    nelpri $p |- -. A e. { B , C } $=
      ( wne cpr wcel wn wa wceq wo neanior elpri con3i sylbi mp2an ) ABFZACFZAB
      CGHZIZDERSJABKACKLZIUAABACMTUBABCNOPQ $.
  $}

  ${
    $d A x $.  $d B x $.
    $( There is only one element in a singleton.  Exercise 2 of [TakeutiZaring]
       p. 15 (generalized).  (Contributed by NM, 13-Sep-1995.)  (Proof
       shortened by Andrew Salmon, 29-Jun-2011.) $)
    elsncg $p |- ( A e. V -> ( A e. { B } <-> A = B ) ) $=
      ( vx cv wceq csn eqeq1 df-sn elab2g ) DEZBFABFDABGCKABHDBIJ $.
  $}

  ${
    elsnc.1 $e |- A e. _V $.
    $( There is only one element in a singleton.  Exercise 2 of [TakeutiZaring]
       p. 15.  (Contributed by NM, 13-Sep-1995.) $)
    elsnc $p |- ( A e. { B } <-> A = B ) $=
      ( cvv wcel csn wceq wb elsncg ax-mp ) ADEABFEABGHCABDIJ $.
  $}

  $( There is only one element in a singleton.  (Contributed by NM,
     5-Jun-1994.) $)
  elsni $p |- ( A e. { B } -> A = B ) $=
    ( csn wcel wceq elsncg ibi ) ABCZDABEABHFG $.

  $( A set is a member of its singleton.  Part of Theorem 7.6 of [Quine]
     p. 49.  (Contributed by NM, 28-Oct-2003.) $)
  snidg $p |- ( A e. V -> A e. { A } ) $=
    ( wcel csn wceq eqid elsncg mpbiri ) ABCAADCAAEAFAABGH $.

  $( A class is a set iff it is a member of its singleton.  (Contributed by NM,
     5-Apr-2004.) $)
  snidb $p |- ( A e. _V <-> A e. { A } ) $=
    ( cvv wcel csn snidg elex impbii ) ABCAADZCABEAHFG $.

  ${
    snid.1 $e |- A e. _V $.
    $( A set is a member of its singleton.  Part of Theorem 7.6 of [Quine]
       p. 49.  (Contributed by NM, 31-Dec-1993.) $)
    snid $p |- A e. { A } $=
      ( cvv wcel csn snidb mpbi ) ACDAAEDBAFG $.
  $}

  $( There is only one element in a singleton.  Exercise 2 of [TakeutiZaring]
     p. 15.  This variation requires only that ` B ` , rather than ` A ` , be a
     set.  (Contributed by NM, 28-Oct-2003.) $)
  elsnc2g $p |- ( B e. V -> ( A e. { B } <-> A = B ) ) $=
    ( wcel csn wceq elsni snidg eleq1 syl5ibrcom impbid2 ) BCDZABEZDZABFZABGLNO
    BMDBCHABMIJK $.

  ${
    elsnc2.1 $e |- B e. _V $.
    $( There is only one element in a singleton.  Exercise 2 of [TakeutiZaring]
       p. 15.  This variation requires only that ` B ` , rather than ` A ` , be
       a set.  (Contributed by NM, 12-Jun-1994.) $)
    elsnc2 $p |- ( A e. { B } <-> A = B ) $=
      ( cvv wcel csn wceq wb elsnc2g ax-mp ) BDEABFEABGHCABDIJ $.
  $}

  ${
    $d A x $.  $d ps x $.
    $( Substitution expressed in terms of quantification over a singleton.
       (Contributed by Mario Carneiro, 23-Apr-2015.) $)
    ralsns $p |- ( A e. V -> ( A. x e. { A } ph <-> [. A / x ]. ph ) ) $=
      ( wcel wsbc cv wceq wal csn wral sbc6g df-ral imbi1i albii bitri syl6rbbr
      wi elsn ) CDEABCFBGZCHZARZBIZABCJZKZABCDLUETUDEZARZBIUCABUDMUGUBBUFUAABCS
      NOPQ $.

    $( Restricted existential quantification over a singleton.  (Contributed by
       Mario Carneiro, 23-Apr-2015.) $)
    rexsns $p |- ( A e. V -> ( E. x e. { A } ph <-> [. A / x ]. ph ) ) $=
      ( wcel wsbc cv wceq wa wex csn wrex wb sbc5 a1i df-rex anbi1i exbii bitri
      elsn syl6rbbr ) CDEZABCFZBGZCHZAIZBJZABCKZLZUCUGMUBABCNOUIUDUHEZAIZBJUGAB
      UHPUKUFBUJUEABCTQRSUA $.

    ralsng.1 $e |- ( x = A -> ( ph <-> ps ) ) $.
    $( Substitution expressed in terms of quantification over a singleton.
       (Contributed by NM, 14-Dec-2005.)  (Revised by Mario Carneiro,
       23-Apr-2015.) $)
    ralsng $p |- ( A e. V -> ( A. x e. { A } ph <-> ps ) ) $=
      ( wcel csn wral wsbc ralsns sbcieg bitrd ) DEGACDHIACDJBACDEKABCDEFLM $.

    $( Restricted existential quantification over a singleton.  (Contributed by
       NM, 29-Jan-2012.) $)
    rexsng $p |- ( A e. V -> ( E. x e. { A } ph <-> ps ) ) $=
      ( wcel csn wrex wsbc rexsns sbcieg bitrd ) DEGACDHIACDJBACDEKABCDEFLM $.
  $}

  ${
    $d A x $.  $d ps x $.
    ralsn.1 $e |- A e. _V $.
    ralsn.2 $e |- ( x = A -> ( ph <-> ps ) ) $.
    $( Convert a quantification over a singleton to a substitution.
       (Contributed by NM, 27-Apr-2009.) $)
    ralsn $p |- ( A. x e. { A } ph <-> ps ) $=
      ( cvv wcel csn wral wb ralsng ax-mp ) DGHACDIJBKEABCDGFLM $.

    $( Restricted existential quantification over a singleton.  (Contributed by
       Jeff Madsen, 5-Jan-2011.) $)
    rexsn $p |- ( E. x e. { A } ph <-> ps ) $=
      ( cvv wcel csn wrex wb rexsng ax-mp ) DGHACDIJBKEABCDGFLM $.
  $}

  $( Members of an unordered triple of classes.  (Contributed by FL,
     2-Feb-2014.)  (Proof shortened by Mario Carneiro, 11-Feb-2015.) $)
  eltpg $p |- ( A e. V -> ( A e. { B , C , D } <->
     ( A = B \/ A = C \/ A = D ) ) ) $=
    ( wcel cpr csn wo wceq ctp w3o elprg elsncg orbi12d df-tp eleq2i elun bitri
    cun df-3or 3bitr4g ) AEFZABCGZFZADHZFZIZABJZACJZIZADJZIABCDKZFZUIUJULLUCUEU
    KUGULABCEMADENOUNAUDUFTZFUHUMUOABCDPQAUDUFRSUIUJULUAUB $.

  $( A member of an unordered triple of classes is one of them.  (Contributed
     by Mario Carneiro, 11-Feb-2015.) $)
  eltpi $p |- ( A e. { B , C , D } -> ( A = B \/ A = C \/ A = D ) ) $=
    ( ctp wcel wceq w3o eltpg ibi ) ABCDEZFABGACGADGHABCDKIJ $.

  ${
    eltp.1 $e |- A e. _V $.
    $( A member of an unordered triple of classes is one of them.  Special case
       of Exercise 1 of [TakeutiZaring] p. 17.  (Contributed by NM,
       8-Apr-1994.)  (Revised by Mario Carneiro, 11-Feb-2015.) $)
    eltp $p |- ( A e. { B , C , D } <-> ( A = B \/ A = C \/ A = D ) ) $=
      ( cvv wcel ctp wceq w3o wb eltpg ax-mp ) AFGABCDHGABIACIADIJKEABCDFLM $.
  $}

  ${
    $d x A $.  $d x B $.  $d x C $.
    $( Alternate definition of unordered triple of classes.  Special case of
       Definition 5.3 of [TakeutiZaring] p. 16.  (Contributed by NM,
       8-Apr-1994.) $)
    dftp2 $p |- { A , B , C } = { x | ( x = A \/ x = B \/ x = C ) } $=
      ( cv wceq w3o ctp vex eltp abbi2i ) AEZBFLCFLDFGABCDHLBCDAIJK $.
  $}

  ${
    $d y A $.  $d y B $.  $d x y $.
    nfpr.1 $e |- F/_ x A $.
    nfpr.2 $e |- F/_ x B $.
    $( Bound-variable hypothesis builder for unordered pairs.  (Contributed by
       NM, 14-Nov-1995.) $)
    nfpr $p |- F/_ x { A , B } $=
      ( vy cpr cv wceq wo cab dfpr2 nfeq2 nfor nfab nfcxfr ) ABCGFHZBIZQCIZJZFK
      FBCLTAFRSAAQBDMAQCEMNOP $.
  $}

  $( Membership of a conditional operator in an unordered pair.  (Contributed
     by NM, 17-Jun-2007.) $)
  ifpr $p |- ( ( A e. C /\ B e. D ) -> if ( ph , A , B ) e. { A , B } ) $=
    ( wcel cvv cif cpr elex wa ifcl wceq wo ifeqor elprg mpbiri syl syl2an ) BD
    FBGFZCGFZABCHZBCIFZCEFBDJCEJTUAKUBGFZUCABCGLUDUCUBBMUBCMNABCOUBBCGPQRS $.

  ${
    $d x A $.  $d x B $.  $d x C $.  $d x ps $.  $d x ch $.  $d x th $.
    ralprg.1 $e |- ( x = A -> ( ph <-> ps ) ) $.
    ralprg.2 $e |- ( x = B -> ( ph <-> ch ) ) $.
    $( Convert a quantification over a pair to a conjunction.  (Contributed by
       NM, 17-Sep-2011.)  (Revised by Mario Carneiro, 23-Apr-2015.) $)
    ralprg $p |- ( ( A e. V /\ B e. W ) ->
      ( A. x e. { A , B } ph <-> ( ps /\ ch ) ) ) $=
      ( cpr wral csn wa wcel cun df-pr raleqi ralunb ralsng bi2anan9 syl5bb
      bitri ) ADEFKZLZADEMZLZADFMZLZNZEGOZFHOZNBCNUEADUFUHPZLUJADUDUMEFQRADUFUH
      SUCUKUGBULUICABDEGITACDFHJTUAUB $.

    $( Convert a quantification over a pair to a disjunction.  (Contributed by
       NM, 17-Sep-2011.)  (Revised by Mario Carneiro, 23-Apr-2015.) $)
    rexprg $p |- ( ( A e. V /\ B e. W ) ->
      ( E. x e. { A , B } ph <-> ( ps \/ ch ) ) ) $=
      ( cpr wrex csn wo wcel wa cun df-pr rexeqi rexsng orbi1d orbi2d sylan9bb
      rexun bitri syl5bb ) ADEFKZLZADEMZLZADFMZLZNZEGOZFHOZPBCNZUHADUIUKQZLUMAD
      UGUQEFRSADUIUKUDUEUNUMBULNUOUPUNUJBULABDEGITUAUOULCBACDFHJTUBUCUF $.

    raltpg.3 $e |- ( x = C -> ( ph <-> th ) ) $.
    $( Convert a quantification over a triple to a conjunction.  (Contributed
       by NM, 17-Sep-2011.)  (Revised by Mario Carneiro, 23-Apr-2015.) $)
    raltpg $p |- ( ( A e. V /\ B e. W /\ C e. X ) ->
      ( A. x e. { A , B , C } ph <-> ( ps /\ ch /\ th ) ) ) $=
      ( wcel w3a cpr wral csn wa ctp wb ralprg ralsng bi2anan9 3impa cun raleqi
      df-tp ralunb bitri df-3an 3bitr4g ) FIOZGJOZHKOZPAEFGQZRZAEHSZRZTZBCTZDTZ
      AEFGHUAZRZBCDPUNUOUPVAVCUBUNUOTURVBUPUTDABCEFGIJLMUCADEHKNUDUEUFVEAEUQUSU
      GZRVAAEVDVFFGHUIUHAEUQUSUJUKBCDULUM $.

    $( Convert a quantification over a triple to a disjunction.  (Contributed
       by Mario Carneiro, 23-Apr-2015.) $)
    rextpg $p |- ( ( A e. V /\ B e. W /\ C e. X ) ->
      ( E. x e. { A , B , C } ph <-> ( ps \/ ch \/ th ) ) ) $=
      ( wcel w3a cpr wrex csn wo ctp wb wa rexprg orbi1d rexsng orbi2d sylan9bb
      w3o 3impa cun df-tp rexeqi rexun bitri df-3or 3bitr4g ) FIOZGJOZHKOZPAEFG
      QZRZAEHSZRZTZBCTZDTZAEFGHUAZRZBCDUIURUSUTVEVGUBURUSUCZVEVFVDTUTVGVJVBVFVD
      ABCEFGIJLMUDUEUTVDDVFADEHKNUFUGUHUJVIAEVAVCUKZRVEAEVHVKFGHULUMAEVAVCUNUOB
      CDUPUQ $.
  $}

  ${
    $d x A $.  $d x B $.  $d x ps $.  $d x ch $.
    ralpr.1 $e |- A e. _V $.
    ralpr.2 $e |- B e. _V $.
    ralpr.3 $e |- ( x = A -> ( ph <-> ps ) ) $.
    ralpr.4 $e |- ( x = B -> ( ph <-> ch ) ) $.
    $( Convert a quantification over a pair to a conjunction.  (Contributed by
       NM, 3-Jun-2007.)  (Revised by Mario Carneiro, 23-Apr-2015.) $)
    ralpr $p |- ( A. x e. { A , B } ph <-> ( ps /\ ch ) ) $=
      ( cvv wcel cpr wral wa wb ralprg mp2an ) EKLFKLADEFMNBCOPGHABCDEFKKIJQR
      $.

    $( Convert an existential quantification over a pair to a disjunction.
       (Contributed by NM, 3-Jun-2007.)  (Revised by Mario Carneiro,
       23-Apr-2015.) $)
    rexpr $p |- ( E. x e. { A , B } ph <-> ( ps \/ ch ) ) $=
      ( cvv wcel cpr wrex wo wb rexprg mp2an ) EKLFKLADEFMNBCOPGHABCDEFKKIJQR
      $.
  $}

  ${
    $d x A $.  $d x B $.  $d x C $.  $d x ps $.  $d x ch $.  $d x th $.
    raltp.1 $e |- A e. _V $.
    raltp.2 $e |- B e. _V $.
    raltp.3 $e |- C e. _V $.
    raltp.4 $e |- ( x = A -> ( ph <-> ps ) ) $.
    raltp.5 $e |- ( x = B -> ( ph <-> ch ) ) $.
    raltp.6 $e |- ( x = C -> ( ph <-> th ) ) $.
    $( Convert a quantification over a triple to a conjunction.  (Contributed
       by NM, 13-Sep-2011.)  (Revised by Mario Carneiro, 23-Apr-2015.) $)
    raltp $p |- ( A. x e. { A , B , C } ph <-> ( ps /\ ch /\ th ) ) $=
      ( cvv wcel ctp wral w3a wb raltpg mp3an ) FOPGOPHOPAEFGHQRBCDSTIJKABCDEFG
      HOOOLMNUAUB $.

    $( Convert a quantification over a triple to a disjunction.  (Contributed
       by Mario Carneiro, 23-Apr-2015.) $)
    rextp $p |- ( E. x e. { A , B , C } ph <-> ( ps \/ ch \/ th ) ) $=
      ( cvv wcel ctp wrex w3o wb rextpg mp3an ) FOPGOPHOPAEFGHQRBCDSTIJKABCDEFG
      HOOOLMNUAUB $.
  $}

  ${
    $d x A $.
    $( TODO - make obsolete; use ralsnsSBC instead - also,
       shorten posn w/ ralsn or ralsng $)
    $( Substitution expressed in terms of quantification over a singleton.
       (Contributed by NM, 14-Dec-2005.)  (Revised by Mario Carneiro,
       23-Apr-2015.) $)
    sbcsng $p |- ( A e. V -> ( [. A / x ]. ph <-> A. x e. { A } ph ) ) $=
      ( wcel csn wral wsbc ralsns bicomd ) CDEABCFGABCHABCDIJ $.
  $}

  ${
    nfsn.1 $e |- F/_ x A $.
    $( Bound-variable hypothesis builder for singletons.  (Contributed by NM,
       14-Nov-1995.) $)
    nfsn $p |- F/_ x { A } $=
      ( csn cpr dfsn2 nfpr nfcxfr ) ABDBBEBFABBCCGH $.
  $}

  ${
    $d A y $.  $d B y $.  $d V y $.  $d x y $.
    $( Distribute proper substitution through the singleton of a class.
       ~ csbsng is derived from the virtual deduction proof csbsngVD in
       set.mm.  (Contributed by Alan Sare, 10-Nov-2012.) $)
    csbsng $p |- ( A e. V -> [_ A / x ]_ { B } = { [_ A / x ]_ B } ) $=
      ( vy wcel wceq cab csb csn wsbc csbabg sbceq2g abbidv eqtrd df-sn csbeq2i
      cv 3eqtr4g ) BDFZABERZCGZEHZIZUAABCIZGZEHZABCJZIUEJTUDUBABKZEHUGUBAEBDLTU
      IUFEABUACDMNOABUHUCECPQEUEPS $.
  $}

  ${
    $d x A $.  $d x B $.
    $( Intersection with the singleton of a non-member is disjoint.
       (Contributed by NM, 22-May-1998.)  (Proof shortened by Andrew Salmon,
       29-Jun-2011.)  (Proof shortened by Wolf Lammen, 30-Sep-2014.) $)
    disjsn $p |- ( ( A i^i { B } ) = (/) <-> -. B e. A ) $=
      ( vx csn cin c0 wceq cv wcel wn wi wal wa disj1 con2b imbi1i imnan 3bitri
      elsn albii wex alnex df-clel xchbinxr ) ABDZEFGCHZAIZUFUEIZJKZCLUFBGZUGMZ
      JZCLZBAIZJCAUENUIULCUIUHUGJZKUJUOKULUGUHOUHUJUOCBSPUJUGQRTUMUKCUAUNUKCUBC
      BAUCUDR $.
  $}

  $( Intersection of distinct singletons is disjoint.  (Contributed by NM,
     25-May-1998.) $)
  disjsn2 $p |- ( A =/= B -> ( { A } i^i { B } ) = (/) ) $=
    ( wne csn wcel wn cin c0 wceq elsni eqcomd necon3ai disjsn sylibr ) ABCBADZ
    EZFOBDGHIPABPBABAJKLOBMN $.

  ${
    $d x A $.
    $( The singleton of a proper class (one that doesn't exist) is the empty
       set.  Theorem 7.2 of [Quine] p. 48.  (Contributed by NM, 5-Aug-1993.) $)
    snprc $p |- ( -. A e. _V <-> { A } = (/) ) $=
      ( vx csn c0 wceq cvv wcel cv wex wn elsn exbii neq0 isset 3bitr4i con1bii
      ) ACZDEZAFGZBHZQGZBITAEZBIRJSUAUBBBAKLBQMBANOP $.
  $}

  ${
    $d x y A $.  $d x B $.
    r19.12sn.1 $e |- A e. _V $.
    $( Special case of ~ r19.12 where its converse holds.  (Contributed by NM,
       19-May-2008.)  (Revised by Mario Carneiro, 23-Apr-2015.) $)
    r19.12sn $p |- ( E. x e. { A } A. y e. B ph
                <-> A. y e. B E. x e. { A } ph ) $=
      ( cvv wcel wral csn wrex wb wsbc sbcralg rexsns ralbidv 3bitr4d ax-mp ) D
      GHZACEIZBDJZKZABUAKZCEIZLFSTBDMABDMZCEIUBUDABCDEGNTBDGOSUCUECEABDGOPQR $.
  $}

  ${
    $d x A $.  $d x B $.
    $( Condition where a restricted class abstraction is a singleton.
       (Contributed by NM, 28-May-2006.) $)
    rabsn $p |- ( B e. A -> { x e. A | x = B } = { B } ) $=
      ( wcel cv wceq wa cab crab csn eleq1 pm5.32ri abbidv df-rab df-sn 3eqtr4g
      baib ) CBDZAEZBDZSCFZGZAHUAAHUAABICJRUBUAAUBRUAUATRSCBKLQMUAABNACOP $.
  $}

  ${
    $d x y $.  $d y ph $.  $d y A $.
    $( Another way to express existential uniqueness of a wff: its class
       abstraction is a singleton.  (Contributed by Mario Carneiro,
       14-Nov-2016.) $)
    euabsn2 $p |- ( E! x ph <-> E. y { x | ph } = { y } ) $=
      ( weu cv wceq wb wal wex cab csn df-eu wcel abeq1 elsn bibi2i albii bitri
      exbii bitr4i ) ABDABEZCEZFZGZBHZCIABJUBKZFZCIABCLUGUECUGAUAUFMZGZBHUEABUF
      NUIUDBUHUCABUBOPQRST $.

    $( Another way to express existential uniqueness of a wff: its class
       abstraction is a singleton.  (Contributed by NM, 22-Feb-2004.) $)
    euabsn $p |- ( E! x ph <-> E. x { x | ph } = { x } ) $=
      ( vy weu cab cv csn wceq wex euabsn2 nfab1 nfeq1 sneq eqeq2d cbvex bitr4i
      nfv ) ABDABEZCFZGZHZCIRBFZGZHZBIABCJUDUABCUDCQBRTABKLUBSHUCTRUBSMNOP $.

    $( A way to express restricted existential uniqueness of a wff: its
       restricted class abstraction is a singleton.  (Contributed by NM,
       30-May-2006.)  (Proof shortened by Mario Carneiro, 14-Nov-2016.) $)
    reusn $p |- ( E! x e. A ph <-> E. y { x e. A | ph } = { y } ) $=
      ( cv wcel wa weu cab csn wceq wex wreu euabsn2 df-reu df-rab eqeq1i exbii
      crab 3bitr4i ) BEDFAGZBHUABIZCEJZKZCLABDMABDSZUCKZCLUABCNABDOUFUDCUEUBUCA
      BDPQRT $.

    $( Restricted existential uniqueness determined by a singleton.
       (Contributed by NM, 29-May-2006.) $)
    absneu $p |- ( ( A e. V /\ { x | ph } = { A } ) -> E! x ph ) $=
      ( vy wcel cab csn wceq wa wex weu sneq eqeq2d spcegv imp euabsn2 sylibr
      cv ) CDFZABGZCHZIZJUAESZHZIZEKZABLTUCUGUFUCECDUDCIUEUBUAUDCMNOPABEQR $.

    $( Restricted existential uniqueness determined by a singleton.
       (Contributed by NM, 29-May-2006.)  (Revised by Mario Carneiro,
       23-Dec-2016.) $)
    rabsneu $p |- ( ( A e. V /\ { x e. B | ph } = { A } ) -> E! x e. B ph ) $=
      ( wcel crab csn wceq wa cv weu df-rab eqeq1i absneu sylan2b df-reu sylibr
      wreu cab ) CEFZABDGZCHZIZJBKDFAJZBLZABDSUDUAUEBTZUCIUFUBUGUCABDMNUEBCEOPA
      BDQR $.
  $}

  ${
    $d x A $.
    $( Two ways to express " ` A ` is a singleton."  (Contributed by NM,
       30-Oct-2010.) $)
    eusn $p |- ( E! x x e. A <-> E. x A = { x } ) $=
      ( cv wcel weu cab csn wceq wex euabsn abid2 eqeq1i exbii bitri ) ACZBDZAE
      PAFZOGZHZAIBRHZAIPAJSTAQBRABKLMN $.
  $}

  ${
    $d x A $.  $d x B $.  $d x ps $.
    rabsnt.1 $e |- B e. _V $.
    rabsnt.2 $e |- ( x = B -> ( ph <-> ps ) ) $.
    $( Truth implied by equality of a restricted class abstraction and a
       singleton.  (Contributed by NM, 29-May-2006.)  (Proof shortened by Mario
       Carneiro, 23-Dec-2016.) $)
    rabsnt $p |- ( { x e. A | ph } = { B } -> ps ) $=
      ( crab csn wceq wcel snid id syl5eleqr elrab simprbi syl ) ACDHZEIZJZERKZ
      BTESREFLTMNUAEDKBABCEDGOPQ $.
  $}

  $( Commutative law for unordered pairs.  (Contributed by NM, 5-Aug-1993.) $)
  prcom $p |- { A , B } = { B , A } $=
    ( csn cun cpr uncom df-pr 3eqtr4i ) ACZBCZDJIDABEBAEIJFABGBAGH $.

  $( Equality theorem for unordered pairs.  (Contributed by NM,
     29-Mar-1998.) $)
  preq1 $p |- ( A = B -> { A , C } = { B , C } ) $=
    ( wceq csn cun cpr sneq uneq1d df-pr 3eqtr4g ) ABDZAEZCEZFBEZNFACGBCGLMONAB
    HIACJBCJK $.

  $( Equality theorem for unordered pairs.  (Contributed by NM, 5-Aug-1993.) $)
  preq2 $p |- ( A = B -> { C , A } = { C , B } ) $=
    ( wceq cpr preq1 prcom 3eqtr4g ) ABDACEBCECAECBEABCFCAGCBGH $.

  $( Equality theorem for unordered pairs.  (Contributed by NM,
     19-Oct-2012.) $)
  preq12 $p |- ( ( A = C /\ B = D ) -> { A , B } = { C , D } ) $=
    ( wceq cpr preq1 preq2 sylan9eq ) ACEBDEABFCBFCDFACBGBDCHI $.

  ${
    preq1i.1 $e |- A = B $.
    $( Equality inference for unordered pairs.  (Contributed by NM,
       19-Oct-2012.) $)
    preq1i $p |- { A , C } = { B , C } $=
      ( wceq cpr preq1 ax-mp ) ABEACFBCFEDABCGH $.

    $( Equality inference for unordered pairs.  (Contributed by NM,
       19-Oct-2012.) $)
    preq2i $p |- { C , A } = { C , B } $=
      ( wceq cpr preq2 ax-mp ) ABECAFCBFEDABCGH $.

    ${
      preq12i.2 $e |- C = D $.
      $( Equality inference for unordered pairs.  (Contributed by NM,
         19-Oct-2012.) $)
      preq12i $p |- { A , C } = { B , D } $=
        ( wceq cpr preq12 mp2an ) ABGCDGACHBDHGEFACBDIJ $.
    $}
  $}

  ${
    preq1d.1 $e |- ( ph -> A = B ) $.
    $( Equality deduction for unordered pairs.  (Contributed by NM,
       19-Oct-2012.) $)
    preq1d $p |- ( ph -> { A , C } = { B , C } ) $=
      ( wceq cpr preq1 syl ) ABCFBDGCDGFEBCDHI $.

    $( Equality deduction for unordered pairs.  (Contributed by NM,
       19-Oct-2012.) $)
    preq2d $p |- ( ph -> { C , A } = { C , B } ) $=
      ( wceq cpr preq2 syl ) ABCFDBGDCGFEBCDHI $.

    preq12d.2 $e |- ( ph -> C = D ) $.
    $( Equality deduction for unordered pairs.  (Contributed by NM,
       19-Oct-2012.) $)
    preq12d $p |- ( ph -> { A , C } = { B , D } ) $=
      ( wceq cpr preq12 syl2anc ) ABCHDEHBDICEIHFGBDCEJK $.
  $}

  $( Equality theorem for unordered triples.  (Contributed by NM,
     13-Sep-2011.) $)
  tpeq1 $p |- ( A = B -> { A , C , D } = { B , C , D } ) $=
    ( wceq cpr csn cun ctp preq1 uneq1d df-tp 3eqtr4g ) ABEZACFZDGZHBCFZPHACDIB
    CDINOQPABCJKACDLBCDLM $.

  $( Equality theorem for unordered triples.  (Contributed by NM,
     13-Sep-2011.) $)
  tpeq2 $p |- ( A = B -> { C , A , D } = { C , B , D } ) $=
    ( wceq cpr csn cun ctp preq2 uneq1d df-tp 3eqtr4g ) ABEZCAFZDGZHCBFZPHCADIC
    BDINOQPABCJKCADLCBDLM $.

  $( Equality theorem for unordered triples.  (Contributed by NM,
     13-Sep-2011.) $)
  tpeq3 $p |- ( A = B -> { C , D , A } = { C , D , B } ) $=
    ( wceq cpr csn cun ctp sneq uneq2d df-tp 3eqtr4g ) ABEZCDFZAGZHOBGZHCDAICDB
    INPQOABJKCDALCDBLM $.

  ${
    tpeq1d.1 $e |- ( ph -> A = B ) $.
    $( Equality theorem for unordered triples.  (Contributed by NM,
       22-Jun-2014.) $)
    tpeq1d $p |- ( ph -> { A , C , D } = { B , C , D } ) $=
      ( wceq ctp tpeq1 syl ) ABCGBDEHCDEHGFBCDEIJ $.

    $( Equality theorem for unordered triples.  (Contributed by NM,
       22-Jun-2014.) $)
    tpeq2d $p |- ( ph -> { C , A , D } = { C , B , D } ) $=
      ( wceq ctp tpeq2 syl ) ABCGDBEHDCEHGFBCDEIJ $.

    $( Equality theorem for unordered triples.  (Contributed by NM,
       22-Jun-2014.) $)
    tpeq3d $p |- ( ph -> { C , D , A } = { C , D , B } ) $=
      ( wceq ctp tpeq3 syl ) ABCGDEBHDECHGFBCDEIJ $.

    tpeq123d.2 $e |- ( ph -> C = D ) $.
    tpeq123d.3 $e |- ( ph -> E = F ) $.
    $( Equality theorem for unordered triples.  (Contributed by NM,
       22-Jun-2014.) $)
    tpeq123d $p |- ( ph -> { A , C , E } = { B , D , F } ) $=
      ( ctp tpeq1d tpeq2d tpeq3d 3eqtrd ) ABDFKCDFKCEFKCEGKABCDFHLADECFIMAFGCEJ
      NO $.
  $}

  ${
    $d x A $.  $d x B $.  $d x C $.
    $( Rotation of the elements of an unordered triple.  (Contributed by Alan
       Sare, 24-Oct-2011.) $)
    tprot $p |- { A , B , C } = { B , C , A } $=
      ( vx cv wceq w3o cab ctp 3orrot abbii dftp2 3eqtr4i ) DEZAFZNBFZNCFZGZDHP
      QOGZDHABCIBCAIRSDOPQJKDABCLDBCALM $.
  $}

  $( Swap 1st and 2nd members of an undordered triple.  (Contributed by NM,
     22-May-2015.) $)
  tpcoma $p |- { A , B , C } = { B , A , C } $=
    ( cpr csn cun ctp prcom uneq1i df-tp 3eqtr4i ) ABDZCEZFBADZMFABCGBACGLNMABH
    IABCJBACJK $.

  $( Swap 2nd and 3rd members of an undordered triple.  (Contributed by NM,
     22-May-2015.) $)
  tpcomb $p |- { A , B , C } = { A , C , B } $=
    ( ctp tpcoma tprot 3eqtr4i ) BCADCBADABCDACBDBCAEABCFACBFG $.

  $( Split off the first element of an unordered triple.  (Contributed by Mario
     Carneiro, 5-Jan-2016.) $)
  tpass $p |- { A , B , C } = ( { A } u. { B , C } ) $=
    ( ctp cpr csn cun df-tp tprot uncom 3eqtr4i ) BCADBCEZAFZGABCDMLGBCAHABCIML
    JK $.

  $( Two ways to write an unordered quadruple.  (Contributed by Mario Carneiro,
     5-Jan-2016.) $)
  qdass $p |- ( { A , B } u. { C , D } ) = ( { A , B , C } u. { D } ) $=
    ( cpr csn cun ctp unass df-tp uneq1i df-pr uneq2i 3eqtr4ri ) ABEZCFZGZDFZGO
    PRGZGABCHZRGOCDEZGOPRITQRABCJKUASOCDLMN $.

  $( Two ways to write an unordered quadruple.  (Contributed by Mario Carneiro,
     5-Jan-2016.) $)
  qdassr $p |- ( { A , B } u. { C , D } ) = ( { A } u. { B , C , D } ) $=
    ( csn cun cpr ctp unass df-pr uneq1i tpass uneq2i 3eqtr4i ) AEZBEZFZCDGZFOP
    RFZFABGZRFOBCDHZFOPRITQRABJKUASOBCDLMN $.

  $( Unordered triple ` { A , A , B } ` is just an overlong way to write
     ` { A , B } ` .  (Contributed by David A. Wheeler, 10-May-2015.) $)
  tpidm12 $p |- { A , A , B } = { A , B } $=
    ( csn cun cpr ctp dfsn2 uneq1i df-pr df-tp 3eqtr4ri ) ACZBCZDAAEZMDABEAABFL
    NMAGHABIAABJK $.

  $( Unordered triple ` { A , B , A } ` is just an overlong way to write
     ` { A , B } ` .  (Contributed by David A. Wheeler, 10-May-2015.) $)
  tpidm13 $p |- { A , B , A } = { A , B } $=
    ( ctp cpr tprot tpidm12 eqtr3i ) AABCABACABDAABEABFG $.

  $( Unordered triple ` { A , B , B } ` is just an overlong way to write
     ` { A , B } ` .  (Contributed by David A. Wheeler, 10-May-2015.) $)
  tpidm23 $p |- { A , B , B } = { A , B } $=
    ( ctp cpr tprot tpidm12 prcom 3eqtri ) ABBCBBACBADABDABBEBAFBAGH $.

  $( Unordered triple ` { A , A , A } ` is just an overlong way to write
     ` { A } ` .  (Contributed by David A. Wheeler, 10-May-2015.) $)
  tpidm $p |- { A , A , A } = { A } $=
    ( ctp cpr csn tpidm12 dfsn2 eqtr4i ) AAABAACADAAEAFG $.

  $( An unordered pair contains its first member.  Part of Theorem 7.6 of
     [Quine] p. 49.  (Contributed by Stefan Allan, 8-Nov-2008.) $)
  prid1g $p |- ( A e. V -> A e. { A , B } ) $=
    ( wcel cpr wceq wo eqid orci elprg mpbiri ) ACDAABEDAAFZABFZGLMAHIAABCJK $.

  $( An unordered pair contains its second member.  Part of Theorem 7.6 of
     [Quine] p. 49.  (Contributed by Stefan Allan, 8-Nov-2008.) $)
  prid2g $p |- ( B e. V -> B e. { A , B } ) $=
    ( wcel cpr prid1g prcom syl6eleq ) BCDBBAEABEBACFBAGH $.

  ${
    prid1.1 $e |- A e. _V $.
    $( An unordered pair contains its first member.  Part of Theorem 7.6 of
       [Quine] p. 49.  (Contributed by NM, 5-Aug-1993.) $)
    prid1 $p |- A e. { A , B } $=
      ( cvv wcel cpr prid1g ax-mp ) ADEAABFECABDGH $.
  $}

  ${
    prid2.1 $e |- B e. _V $.
    $( An unordered pair contains its second member.  Part of Theorem 7.6 of
       [Quine] p. 49.  (Contributed by NM, 5-Aug-1993.) $)
    prid2 $p |- B e. { A , B } $=
      ( cpr prid1 prcom eleqtri ) BBADABDBACEBAFG $.
  $}

  ${
    tpid1.1 $e |- A e. _V $.
    $( One of the three elements of an unordered triple.  (Contributed by NM,
       7-Apr-1994.)  (Proof shortened by Andrew Salmon, 29-Jun-2011.) $)
    tpid1 $p |- A e. { A , B , C } $=
      ( ctp wcel wceq w3o eqid 3mix1i eltp mpbir ) AABCEFAAGZABGZACGZHMNOAIJAAB
      CDKL $.
  $}

  ${
    tpid2.1 $e |- B e. _V $.
    $( One of the three elements of an unordered triple.  (Contributed by NM,
       7-Apr-1994.)  (Proof shortened by Andrew Salmon, 29-Jun-2011.) $)
    tpid2 $p |- B e. { A , B , C } $=
      ( ctp wcel wceq w3o eqid 3mix2i eltp mpbir ) BABCEFBAGZBBGZBCGZHNMOBIJBAB
      CDKL $.
  $}

  ${
    $d x A $.  $d x B $.  $d x C $.  $d x D $.
    $( Closed theorem form of ~ tpid3 .  This proof was automatically generated
       from the virtual deduction proof tpid3gVD in set.mm using a translation
       program.  (Contributed by Alan Sare, 24-Oct-2011.) $)
    tpid3g $p |- ( A e. B -> A e. { C , D , A } ) $=
      ( vx wcel cv wceq wex ctp elisset w3o cab wi 3mix3 a1i abid syl6ibr dftp2
      eleq2i eleq1 mpbidi exlimdv mpd ) ABFZEGZAHZEIACDAJZFZEABKUEUGUIEUGUFUHFZ
      UIUEUEUGUFUFCHZUFDHZUGLZEMZFZUJUEUGUMUOUGUMNUEUGUKULOPUMEQRUHUNUFECDASTRU
      FAUHUAUBUCUD $.
  $}

  ${
    tpid3.1 $e |- C e. _V $.
    $( One of the three elements of an unordered triple.  (Contributed by NM,
       7-Apr-1994.)  (Proof shortened by Andrew Salmon, 29-Jun-2011.) $)
    tpid3 $p |- C e. { A , B , C } $=
      ( ctp wcel wceq w3o eqid 3mix3i eltp mpbir ) CABCEFCAGZCBGZCCGZHOMNCIJCAB
      CDKL $.
  $}

  $( The singleton of a set is not empty.  (Contributed by NM, 14-Dec-2008.) $)
  snnzg $p |- ( A e. V -> { A } =/= (/) ) $=
    ( wcel csn c0 wne snidg ne0i syl ) ABCAADZCJEFABGJAHI $.

  ${
    snnz.1 $e |- A e. _V $.
    $( The singleton of a set is not empty.  (Contributed by NM,
       10-Apr-1994.) $)
    snnz $p |- { A } =/= (/) $=
      ( cvv wcel csn c0 wne snnzg ax-mp ) ACDAEFGBACHI $.
  $}

  ${
    prnz.1 $e |- A e. _V $.
    $( A pair containing a set is not empty.  (Contributed by NM,
       9-Apr-1994.) $)
    prnz $p |- { A , B } =/= (/) $=
      ( cpr wcel c0 wne prid1 ne0i ax-mp ) AABDZEKFGABCHKAIJ $.
  $}

  ${
    $d x A $.  $d x B $.
    $( A pair containing a set is not empty.  (Contributed by FL,
       19-Sep-2011.) $)
    prnzg $p |- ( A e. V -> { A , B } =/= (/) ) $=
      ( vx cv cpr c0 wne wceq preq1 neeq1d vex prnz vtoclg ) DEZBFZGHABFZGHDACO
      AIPQGOABJKOBDLMN $.
  $}

  ${
    tpnz.1 $e |- A e. _V $.
    $( A triplet containing a set is not empty.  (Contributed by NM,
       10-Apr-1994.) $)
    tpnz $p |- { A , B , C } =/= (/) $=
      ( ctp wcel c0 wne tpid1 ne0i ax-mp ) AABCEZFLGHABCDILAJK $.
  $}

  ${
    $d A x $.  $d B x $.
    snss.1 $e |- A e. _V $.
    $( The singleton of an element of a class is a subset of the class.
       Theorem 7.4 of [Quine] p. 49.  (Contributed by NM, 5-Aug-1993.) $)
    snss $p |- ( A e. B <-> { A } C_ B ) $=
      ( vx cv csn wcel wi wal wceq wss elsn imbi1i albii dfss2 clel2 3bitr4ri )
      DEZAFZGZRBGZHZDIRAJZUAHZDISBKABGUBUDDTUCUADALMNDSBODABCPQ $.
  $}

  $( Membership in a set with an element removed.  (Contributed by NM,
     10-Oct-2007.) $)
  eldifsn $p |- ( A e. ( B \ { C } ) <-> ( A e. B /\ A =/= C ) ) $=
    ( csn cdif wcel wn wa wne eldif elsncg necon3bbid pm5.32i bitri ) ABCDZEFAB
    FZAOFZGZHPACIZHABOJPRSPQACACBKLMN $.

  $( Membership in a set with an element removed.  (Contributed by NM,
     10-Mar-2015.) $)
  eldifsni $p |- ( A e. ( B \ { C } ) -> A =/= C ) $=
    ( csn cdif wcel wne eldifsn simprbi ) ABCDEFABFACGABCHI $.

  $( ` A ` is not in ` ( B \ { A } ) ` .  (Contributed by David Moews,
     1-May-2017.) $)
  neldifsn $p |- -. A e. ( B \ { A } ) $=
    ( csn cdif wcel wne neirr eldifsni mto ) ABACDEAAFAGABAHI $.

  $( ` A ` is not in ` ( B \ { A } ) ` .  Deduction form.  (Contributed by
     David Moews, 1-May-2017.) $)
  neldifsnd $p |- ( ph -> -. A e. ( B \ { A } ) ) $=
    ( csn cdif wcel wn neldifsn a1i ) BCBDEFGABCHI $.

  $( Restricted existential quantification over a set with an element removed.
     (Contributed by NM, 4-Feb-2015.) $)
  rexdifsn $p |- ( E. x e. ( A \ { B } ) ph
      <-> E. x e. A ( x =/= B /\ ph ) ) $=
    ( cv wne wa csn cdif wcel eldifsn anbi1i anass bitri rexbii2 ) ABEZDFZAGZBC
    DHIZCPSJZAGPCJZQGZAGUARGTUBAPCDKLUAQAMNO $.

  ${
    $d A x $.  $d B x $.
    $( The singleton of an element of a class is a subset of the class.
       Theorem 7.4 of [Quine] p. 49.  (Contributed by NM, 22-Jul-2001.) $)
    snssg $p |- ( A e. V -> ( A e. B <-> { A } C_ B ) ) $=
      ( vx cv wcel csn wss eleq1 wceq sneq sseq1d vex snss vtoclbg ) DEZBFPGZBH
      ABFAGZBHDACPABIPAJQRBPAKLPBDMNO $.

    $( An element not in a set can be removed without affecting the set.
       (Contributed by NM, 16-Mar-2006.)  (Proof shortened by Andrew Salmon,
       29-Jun-2011.) $)
    difsn $p |- ( -. A e. B -> ( B \ { A } ) = B ) $=
      ( vx wcel wn csn cdif cv wne wa eldifsn simpl wceq eleq1 biimpcd necon3bd
      com12 ancld impbid2 syl5bb eqrdv ) ABDZEZCBAFGZBCHZUDDUEBDZUEAIZJZUCUFUEB
      AKUCUHUFUFUGLUCUFUGUFUCUGUFUBUEAUEAMUFUBUEABNOPQRSTUA $.

    $( Removal of a singleton from an unordered pair.  (Contributed by NM,
       16-Mar-2006.)  (Proof shortened by Andrew Salmon, 29-Jun-2011.) $)
    difprsnss $p |- ( { A , B } \ { A } ) C_ { B } $=
      ( vx cpr csn cdif cv wcel wn wa wceq wo elpr elsn notbii biimparc syl2anb
      vex biorf eldif 3imtr4i ssriv ) CABDZAEZFZBEZCGZUCHZUGUDHZIZJUGBKZUGUEHUG
      UFHUHUGAKZUKLZULIZUKUJUGABCRMUIULCANOUNUKUMULUKSPQUGUCUDTCBNUAUB $.
  $}

  $( Removal of a singleton from an unordered pair.  (Contributed by Thierry
     Arnoux, 4-Feb-2017.) $)
  difprsn1 $p |- ( A =/= B -> ( { A , B } \ { A } ) = { B } ) $=
    ( wne cpr csn cdif wceq necom cin c0 disjsn2 disj3 sylib cun df-pr equncomi
    difeq1i difun2 eqtri syl6reqr sylbir ) ABCBACZABDZAEZFZBEZGBAHUBUFUFUDFZUEU
    BUFUDIJGUFUGGBAKUFUDLMUEUFUDNZUDFUGUCUHUDUCUDUFABOPQUFUDRSTUA $.

  $( Removal of a singleton from an unordered pair.  (Contributed by Alexander
     van der Vekens, 5-Oct-2017.) $)
  difprsn2 $p |- ( A =/= B -> ( { A , B } \ { B } ) = { A } ) $=
    ( wne cpr csn cdif prcom difeq1i wceq necom difprsn1 sylbi syl5eq ) ABCZABD
    ZBEZFBADZPFZAEZOQPABGHNBACRSIABJBAKLM $.

  $( Removal of a singleton from an unordered triple.  (Contributed by
     Alexander van der Vekens, 5-Oct-2017.) $)
  diftpsn3 $p |- ( ( A =/= C /\ B =/= C )
                    -> ( { A , B , C } \ { C } ) = { A , B } ) $=
    ( wne wa ctp csn cdif cpr cun a1i c0 cin necom disjsn2 sylbi uneq12d syl6eq
    wceq 3eqtrd df-tp difeq1d df-pr ineq1d incom indi eqtri adantr adantl unidm
    difundir disj3 sylib eqcomd difid un0 ) ACDZBCDZEZABCFZCGZHABIZVAJZVAHZVBVA
    HZVAVAHZJZVBUSUTVCVAUTVCSUSABCUAKUBVDVGSUSVBVAVAUKKUSVGVBLJVBUSVEVBVFLUSVBV
    EUSVBVAMZLSVBVESUSVHAGZBGZJZVAMZVAVIMZVAVJMZJZLUSVBVKVAVBVKSUSABUCKUDVLVOSU
    SVLVAVKMVOVKVAUEVAVIVJUFUGKUSVOLLJLUSVMLVNLUQVMLSZURUQCADVPACNCAOPUHURVNLSZ
    UQURCBDVQBCNCBOPUIQLUJRTVBVAULUMUNVFLSUSVAUOKQVBUPRT $.

  $( ` ( B \ { A } ) ` equals ` B ` if and only if ` A ` is not a member of
     ` B ` .  Generalization of ~ difsn .  (Contributed by David Moews,
     1-May-2017.) $)
  difsnb $p |- ( -. A e. B <-> ( B \ { A } ) = B ) $=
    ( wcel wn csn cdif wceq difsn neldifsnd nelne1 mpdan necomd necon2bi impbii
    wne ) ABCZDBAEFZBGABHPQBPBQPAQCDBQOPABIABQJKLMN $.

  $( ` ( B \ { A } ) ` is a proper subclass of ` B ` if and only if ` A ` is a
     member of ` B ` .  (Contributed by David Moews, 1-May-2017.) $)
  difsnpss $p |- ( A e. B <-> ( B \ { A } ) C. B ) $=
    ( wcel wn csn cdif wpss notnot wne wss wa biantrur difsnb necon3bbii df-pss
    difss 3bitr4i bitri ) ABCZSDZDZBAEZFZBGZSHUCBIZUCBJZUEKUAUDUFUEBUBPLTUCBABM
    NUCBOQR $.

  $( The singleton of an element of a class is a subset of the class.
     (Contributed by NM, 6-Jun-1994.) $)
  snssi $p |- ( A e. B -> { A } C_ B ) $=
    ( wcel csn wss snssg ibi ) ABCADBEABBFG $.

  ${
    snssd.1 $e |- ( ph -> A e. B ) $.
    $( The singleton of an element of a class is a subset of the class
       (deduction rule).  (Contributed by Jonathan Ben-Naim, 3-Jun-2011.) $)
    snssd $p |- ( ph -> { A } C_ B ) $=
      ( wcel csn wss wb snssg syl mpbid ) ABCEZBFCGZDALLMHDBCCIJK $.
  $}

  $( If we remove a single element from a class then put it back in, we end up
     with the original class.  (Contributed by NM, 2-Oct-2006.) $)
  difsnid $p |- ( B e. A -> ( ( A \ { B } ) u. { B } ) = A ) $=
    ( wcel csn cdif cun uncom wss wceq snssi undif sylib syl5eq ) BACZABDZEZOFO
    PFZAPOGNOAHQAIBAJOAKLM $.

  ${
    $d x y $.
    $( Compute the power set of the power set of the empty set.  (See ~ pw0 for
       the power set of the empty set.)  Theorem 90 of [Suppes] p. 48.
       Although this theorem is a special case of ~ pwsn , we have chosen to
       show a direct elementary proof.  (Contributed by NM, 7-Aug-1994.) $)
    pwpw0 $p |- ~P { (/) } = { (/) , { (/) } } $=
      ( vx vy cv c0 csn wss cab wceq wo cpw cpr wn wa wcel wal dfss2 elsn sylbi
      wi wex imbi2i albii bitri neq0 exintr syl5bi exancom df-clel bitr4i snssi
      syl6 anc2li eqss syl6ibr orrd sseq1 mpbiri eqimss jaoi impbii abbii df-pw
      0ss dfpr2 3eqtr4i ) ACZDEZFZAGVFDHZVFVGHZIZAGVGJDVGKVHVKAVHVKVHVIVJVHVILZ
      VHVGVFFZMVJVHVLVMVHBCZVFNZVNDHZSZBOZVLVMSVHVOVNVGNZSZBOVRBVFVGPVTVQBVSVPV
      OBDQUAUBUCVRVLVOVPMBTZVMVLVOBTVRWABVFUDVOVPBUEUFWADVFNZVMWAVPVOMBTWBVOVPB
      UGBDVFUHUIDVFUJRUKRULVFVGUMUNUOVIVHVJVIVHDVGFVGVCVFDVGUPUQVFVGURUSUTVAAVG
      VBADVGVDVE $.
  $}

  $( A singleton is a subset of an unordered pair containing its member.
     (Contributed by NM, 27-Aug-2004.) $)
  snsspr1 $p |- { A } C_ { A , B } $=
    ( csn cun cpr ssun1 df-pr sseqtr4i ) ACZIBCZDABEIJFABGH $.

  $( A singleton is a subset of an unordered pair containing its member.
     (Contributed by NM, 2-May-2009.) $)
  snsspr2 $p |- { B } C_ { A , B } $=
    ( csn cun cpr ssun2 df-pr sseqtr4i ) BCZACZIDABEIJFABGH $.

  $( A singleton is a subset of an unordered triple containing its member.
     (Contributed by NM, 9-Oct-2013.) $)
  snsstp1 $p |- { A } C_ { A , B , C } $=
    ( csn cpr cun ctp snsspr1 ssun1 sstri df-tp sseqtr4i ) ADZABEZCDZFZABCGMNPA
    BHNOIJABCKL $.

  $( A singleton is a subset of an unordered triple containing its member.
     (Contributed by NM, 9-Oct-2013.) $)
  snsstp2 $p |- { B } C_ { A , B , C } $=
    ( csn cpr cun ctp snsspr2 ssun1 sstri df-tp sseqtr4i ) BDZABEZCDZFZABCGMNPA
    BHNOIJABCKL $.

  $( A singleton is a subset of an unordered triple containing its member.
     (Contributed by NM, 9-Oct-2013.) $)
  snsstp3 $p |- { C } C_ { A , B , C } $=
    ( csn cpr cun ctp ssun2 df-tp sseqtr4i ) CDZABEZKFABCGKLHABCIJ $.

  ${
    prss.1 $e |- A e. _V $.
    prss.2 $e |- B e. _V $.
    $( A pair of elements of a class is a subset of the class.  Theorem 7.5 of
       [Quine] p. 49.  (Contributed by NM, 30-May-1994.)  (Proof shortened by
       Andrew Salmon, 29-Jun-2011.) $)
    prss $p |- ( ( A e. C /\ B e. C ) <-> { A , B } C_ C ) $=
      ( csn wss wa cun wcel cpr unss snss anbi12i df-pr sseq1i 3bitr4i ) AFZCGZ
      BFZCGZHRTIZCGACJZBCJZHABKZCGRTCLUCSUDUAACDMBCEMNUEUBCABOPQ $.
  $}

  $( A pair of elements of a class is a subset of the class.  Theorem 7.5 of
     [Quine] p. 49.  (Contributed by NM, 22-Mar-2006.)  (Proof shortened by
     Andrew Salmon, 29-Jun-2011.) $)
  prssg $p |- ( ( A e. V /\ B e. W ) ->
              ( ( A e. C /\ B e. C ) <-> { A , B } C_ C ) ) $=
    ( wcel wa csn wss cpr snssg bi2anan9 cun unss df-pr sseq1i bitr4i syl6bb )
    ADFZBEFZGACFZBCFZGAHZCIZBHZCIZGZABJZCIZSUAUDTUBUFACDKBCEKLUGUCUEMZCIUIUCUEC
    NUHUJCABOPQR $.

  $( A pair of elements of a class is a subset of the class.  (Contributed by
     NM, 16-Jan-2015.) $)
  prssi $p |- ( ( A e. C /\ B e. C ) -> { A , B } C_ C ) $=
    ( wcel wa cpr wss prssg ibi ) ACDBCDEABFCGABCCCHI $.

  ${
    $d x A $.  $d x B $.
    $( The subsets of a singleton.  (Contributed by NM, 24-Apr-2004.) $)
    sssn $p |- ( A C_ { B } <-> ( A = (/) \/ A = { B } ) ) $=
      ( vx csn wss c0 wceq wo wn wa wcel cv wex neq0 ssel elsni syl6 eleq1 ibd
      wb exlimdv syl5bi snssi anc2li eqss syl6ibr orrd sseq1 mpbiri eqimss jaoi
      0ss impbii ) ABDZEZAFGZAUNGZHUOUPUQUOUPIZUOUNAEZJUQUOURUSUOURBAKZUSURCLZA
      KZCMUOUTCANUOVBUTCUOVBUTUOVBVABGZVBUTTUOVBVAUNKVCAUNVAOVABPQVABARQSUAUBBA
      UCQUDAUNUEUFUGUPUOUQUPUOFUNEUNULAFUNUHUIAUNUJUKUM $.

    $( The property of being sandwiched between two sets naturally splits under
       union with a singleton.  This is the induction hypothesis for the
       determination of large powersets such as ~ pwtp .  (Contributed by Mario
       Carneiro, 2-Jul-2016.) $)
    ssunsn2 $p |- ( ( B C_ A /\ A C_ ( C u. { D } ) ) <->
                    ( ( B C_ A /\ A C_ C ) \/
                      ( ( B u. { D } ) C_ A /\ A C_ ( C u. { D } ) ) ) ) $=
      ( wcel wss csn cun wa wo wb syl wi anim12d pm4.72 sylib bitrd wceq bitr3i
      a1i snssi unss bicomi rbaibr anbi1d biimpi expcom ssun3 wn cdif c0 disjsn
      cin disj3 sseq1 sylbi uncom sseq2i ssundif syl6rbbr anbi2d simplbi biimpd
      orcom syl6bb pm2.61i ) DAEZBAFZACDGZHZFZIZVHACFZIZBVIHAFZVKIZJZKVGVLVPVQV
      GVHVOVKVGVIAFZVHVOKDAUAZVOVHVRVHVRIZVOBVIAUBZUCZUDLUEVGVNVPMVPVQKVGVHVOVM
      VKVGVRVHVOMVSVHVRVOVTVOWAUFUGLVMVKMVGACVIUHTNVNVPOPQVGUIZVLVNVQWCVKVMVHWC
      VMAVIUJZCFZVKWCAWDRZVMWEKWCAVIUMUKRWFADULAVIUNSAWDCUOUPVKAVICHZFWEWGVJAVI
      CUQURAVICUSSUTZVAWCVNVPVNJZVQWCVPVNMVNWIKWCVOVHVKVMVOVHMWCVOVHVRWBVBTWCVK
      VMWHVCNVPVNOPVPVNVDVEQVF $.

    $( Possible values for a set sandwiched between another set and it plus a
       singleton.  (Contributed by Mario Carneiro, 2-Jul-2016.) $)
    ssunsn $p |- ( ( B C_ A /\ A C_ ( B u. { C } ) ) <->
      ( A = B \/ A = ( B u. { C } ) ) ) $=
      ( wss csn cun wa wo wceq ssunsn2 ancom eqss bitr4i orbi12i bitri ) BADZAB
      CEFZDZGPABDZGZQADZRGZHABIZAQIZHABBCJTUCUBUDTSPGUCPSKABLMUBRUAGUDUARKAQLMN
      O $.

    $( Two ways to express that a nonempty set equals a singleton.
       (Contributed by NM, 15-Dec-2007.) $)
    eqsn $p |- ( A =/= (/) -> ( A = { B } <-> A. x e. A x = B ) ) $=
      ( c0 wne csn wceq wss cv wral eqimss wn df-ne wo sssn biimpi syl5bi com12
      ord impbid2 wcel dfss3 elsn ralbii bitri syl6bb ) BDEZBCFZGZBUHHZAIZCGZAB
      JZUGUIUJBUHKUJUGUIUGBDGZLUJUIBDMUJUNUIUJUNUINBCOPSQRTUJUKUHUAZABJUMABUHUB
      UOULABACUCUDUEUF $.
  $}

  $( Possible values for a set sandwiched between another set and it plus a
     singleton.  (Contributed by Mario Carneiro, 2-Jul-2016.) $)
  ssunpr $p |- ( ( B C_ A /\ A C_ ( B u. { C , D } ) ) <->
    ( ( A = B \/ A = ( B u. { C } ) ) \/
      ( A = ( B u. { D } ) \/ A = ( B u. { C , D } ) ) ) ) $=
    ( wss cpr cun wa csn wo wceq df-pr uneq2i unass eqtr4i sseq2i anbi2i ssunsn
    ssunsn2 3bitri un23 eqtr2i eqeq2i orbi2i orbi12i ) BAEZABCDFZGZEZHUFABCIZGZ
    DIZGZEZHUFAUKEHZBULGZAEZUNHZJABKAUKKJZAUPKZAUHKZJZJUIUNUFUHUMAUHBUJULGZGUMU
    GVCBCDLMBUJULNOZPQABUKDSUOUSURVBABCRURUQAUPUJGZEZHUTAVEKZJVBUNVFUQUMVEABUJU
    LUAZPQAUPCRVGVAUTVEUHAUHUMVEVDVHUBUCUDTUET $.

  $( The subsets of a pair.  (Contributed by NM, 16-Mar-2006.)  (Proof
     shortened by Mario Carneiro, 2-Jul-2016.) $)
  sspr $p |- ( A C_ { B , C } <->
   ( ( A = (/) \/ A = { B } ) \/ ( A = { C } \/ A = { B , C } ) ) ) $=
    ( cpr wss c0 cun wa wceq csn wo uncom un0 sseq2i 0ss biantrur bitr3i eqeq2i
    eqtri orbi12i ssunpr orbi2i 3bitri ) ABCDZEZFAEZAFUDGZEZHZAFIZAFBJZGZIZKZAF
    CJZGZIZAUGIZKZKUJAUKIZKZAUOIZAUDIZKZKUEUHUIUGUDAUGUDFGUDFUDLUDMSZNUFUHAOPQA
    FBCUAUNVAUSVDUMUTUJULUKAULUKFGUKFUKLUKMSRUBUQVBURVCUPUOAUPUOFGUOFUOLUOMSRUG
    UDAVERTTUC $.

  $( The subsets of a triple.  (Contributed by Mario Carneiro, 2-Jul-2016.) $)
  sstp $p |- ( A C_ { B , C , D } <->
    ( ( ( A = (/) \/ A = { B } ) \/ ( A = { C } \/ A = { B , C } ) ) \/
      ( ( A = { D } \/ A = { B , D } ) \/
        ( A = { C , D } \/ A = { B , C , D } ) ) ) ) $=
    ( wss cpr csn cun c0 wa wceq wo sseq2i biantrur uncom eqtr4i eqeq2i orbi12i
    df-pr 3bitri ctp df-tp 0ss ssunsn2 sspr bitr3i sseq1i anbi12i ssunpr orbi2i
    un0 eqtri eqtr2i bitri ) ABCDUAZEABCFZDGZHZEZIAEZUSJZAIKABGZKLACGZKAUPKLLZA
    UQKZABDFZKZLZACDFZKZAUOKZLZLZLZUOURABCDUBZMUTUSAUCZNVAUTAUPEZJZIUQHZAEZUSJZ
    LVNAIUPDUDVRVDWAVMVRVQVDUTVQVPNABCUEUFWAUQAEZAUQUPHZEZJVEAUQVBHZKZLZAUQVCHZ
    KZAWCKZLZLVMVTWBUSWDVSUQAVSUQIHUQIUQOUQUKULUGURWCAUPUQOZMUHAUQBCUIWGVHWKVLW
    FVGVEWEVFAWEVBUQHVFUQVBOBDSPQUJWIVJWJVKWHVIAWHVCUQHVIUQVCOCDSPQWCUOAUOURWCV
    OWLUMQRRTRUNT $.

  ${
    tpss.1 $e |- A e. _V $.
    tpss.2 $e |- B e. _V $.
    tpss.3 $e |- C e. _V $.
    $( A triplet of elements of a class is a subset of the class.  (Contributed
       by NM, 9-Apr-1994.)  (Proof shortened by Andrew Salmon, 29-Jun-2011.) $)
    tpss $p |- ( ( A e. D /\ B e. D /\ C e. D ) <-> { A , B , C } C_ D ) $=
      ( cpr wss csn wa cun wcel w3a ctp unss df-3an prss snss anbi12i 3bitr4i
      bitri df-tp sseq1i ) ABHZDIZCJZDIZKZUEUGLZDIADMZBDMZCDMZNZABCOZDIUEUGDPUN
      UKULKZUMKUIUKULUMQUPUFUMUHABDEFRCDGSTUBUOUJDABCUCUDUA $.
  $}

  ${
    sneqr.1 $e |- A e. _V $.
    $( If the singletons of two sets are equal, the two sets are equal.  Part
       of Exercise 4 of [TakeutiZaring] p. 15.  (Contributed by NM,
       27-Aug-1993.) $)
    sneqr $p |- ( { A } = { B } -> A = B ) $=
      ( csn wceq wcel snid eleq2 mpbii elsnc sylib ) ADZBDZEZAMFZABENALFOACGLMA
      HIABCJK $.

    $( If a singleton is a subset of another, their members are equal.
       (Contributed by NM, 28-May-2006.) $)
    snsssn $p |- ( { A } C_ { B } -> A = B ) $=
      ( csn wss c0 wceq wo sssn wne wn snnz df-ne mpbi pm2.21i sneqr jaoi sylbi
      ) ADZBDZESFGZSTGZHABGZSBIUAUCUBUAUCSFJUAKACLSFMNOABCPQR $.
  $}

  ${
    $d x A $.  $d x B $.
    $( Closed form of ~ sneqr .  (Contributed by Scott Fenton, 1-Apr-2011.) $)
    sneqrg $p |- ( A e. V -> ( { A } = { B } -> A = B ) ) $=
      ( vx cv csn wceq wi sneq eqeq1d eqeq1 imbi12d vex sneqr vtoclg ) DEZFZBFZ
      GZPBGZHAFZRGZABGZHDACPAGZSUBTUCUDQUARPAIJPABKLPBDMNO $.

  $}

  $( Two singletons of sets are equal iff their elements are equal.
     (Contributed by Scott Fenton, 16-Apr-2012.) $)
  sneqbg $p |- ( A e. V -> ( { A } = { B } <-> A = B ) ) $=
    ( wcel csn wceq sneqrg sneq impbid1 ) ACDAEBEFABFABCGABHI $.

  ${
    sneqb.1 $e |- A e. _V $.
    $( Biconditional equality for singletons.  (Contributed by SF,
       14-Jan-2015.) $)
    sneqb $p |- ( { A } = { B } <-> A = B ) $=
      ( cvv wcel csn wceq wb sneqbg ax-mp ) ADEAFBFGABGHCABDIJ $.
  $}

  ${
    $d x A $.
    $( The singleton of a class is a subset of its power class.  (Contributed
       by NM, 5-Aug-1993.) $)
    snsspw $p |- { A } C_ ~P A $=
      ( vx csn cpw cv wceq wss wcel eqimss elsn df-pw abeq2i 3imtr4i ssriv ) BA
      CZADZBEZAFQAGZQOHQPHQAIBAJRBPBAKLMN $.
  $}

  ${
    prsspw.1 $e |- A e. _V $.
    prsspw.2 $e |- B e. _V $.
    $( An unordered pair belongs to the power class of a class iff each member
       belongs to the class.  (Contributed by NM, 10-Dec-2003.)  (Proof
       shortened by Andrew Salmon, 26-Jun-2011.) $)
    prsspw $p |- ( { A , B } C_ ~P C <-> ( A C_ C /\ B C_ C ) ) $=
      ( cpr cpw wss wcel wa prss elpw anbi12i bitr3i ) ABFCGZHAOIZBOIZJACHZBCHZ
      JABODEKPRQSACDLBCELMN $.
  $}

  ${
    $d B x $.  $d ps x $.
    ralunsn.1 $e |- ( x = B -> ( ph <-> ps ) ) $.
    $( Restricted quantification over the union of a set and a singleton, using
       implicit substitution.  (Contributed by Paul Chapman, 17-Nov-2012.)
       (Revised by Mario Carneiro, 23-Apr-2015.) $)
    ralunsn $p |- ( B e. C -> ( A. x e. ( A u. { B } ) ph <->
                                ( A. x e. A ph /\ ps ) ) ) $=
      ( csn cun wral wa wcel ralunb ralsng anbi2d syl5bb ) ACDEHZIJACDJZACQJZKE
      FLZRBKACDQMTSBRABCEFGNOP $.
  $}

  ${
    $d A x $.  $d B x y $.  $d C x $.  $d ch x $.  $d ps y $.  $d th x $.
    2ralunsn.1 $e |- ( x = B -> ( ph <-> ch ) ) $.
    2ralunsn.2 $e |- ( y = B -> ( ph <-> ps ) ) $.
    2ralunsn.3 $e |- ( x = B -> ( ps <-> th ) ) $.
    $( Double restricted quantification over the union of a set and a
       singleton, using implicit substitution.  (Contributed by Paul Chapman,
       17-Nov-2012.) $)
    2ralunsn $p |- ( B e. C ->
                     ( A. x e. ( A u. { B } ) A. y e. ( A u. { B } ) ph <->
                       ( ( A. x e. A A. y e. A ph /\ A. x e. A ps ) /\
                         ( A. y e. A ch /\ th ) ) ) ) $=
      ( wcel csn cun wral wa ralunsn ralbidv cv wceq r19.26 anbi1i syl6bb bitrd
      anbi12d ) HIMZAFGHNOZPZEUHPAFGPZBQZEUHPZUJEGPBEGPQZCFGPZDQZQZUGUIUKEUHABF
      GHIKRSUGULUKEGPZUOQUPUKUOEGHIETHUAZUJUNBDURACFGJSLUFRUQUMUOUJBEGUBUCUDUE
      $.
  $}

  ${
    $d x A $.  $d x B $.  $d x C $.
    $( The power set of a singleton.  (Contributed by NM, 5-Jun-2006.) $)
    pwsn $p |- ~P { A } = { (/) , { A } } $=
      ( vx cv csn wss cab c0 wceq wo cpw cpr sssn abbii df-pw dfpr2 3eqtr4i ) B
      CZADZEZBFQGHQRHIZBFRJGRKSTBQALMBRNBGROP $.

    $d x y $.  $d y A $.
    $( The power set of a singleton (direct proof).  TO DO - should we keep
       this?  (Contributed by NM, 5-Jun-2006.)
       (Proof modification is discouraged.)  (New usage is discouraged.) $)
    pwsnALT $p |- ~P { A } = { (/) , { A } } $=
      ( vx vy cv csn wss cab c0 wceq wo cpw cpr wn wa wcel wal dfss2 wex sylbi
      wi elsn imbi2i albii bitri neq0 exintr syl5bi df-clel exancom bitr2i syl6
      snssi anc2li eqss syl6ibr orrd 0ss sseq1 mpbiri eqimss impbii abbii df-pw
      jaoi dfpr2 3eqtr4i ) BDZAEZFZBGVGHIZVGVHIZJZBGVHKHVHLVIVLBVIVLVIVJVKVIVJM
      ZVIVHVGFZNVKVIVMVNVICDZVGOZVOAIZTZCPZVMVNTVIVPVOVHOZTZCPVSCVGVHQWAVRCVTVQ
      VPCAUAUBUCUDVSVMVPVQNCRZVNVMVPCRVSWBCVGUEVPVQCUFUGWBAVGOZVNWCVQVPNCRWBCAV
      GUHVQVPCUIUJAVGULSUKSUMVGVHUNUOUPVJVIVKVJVIHVHFVHUQVGHVHURUSVGVHUTVDVAVBB
      VHVCBHVHVEVF $.

    $( The power set of an unordered pair.  (Contributed by NM, 1-May-2009.) $)
    pwpr $p |- ~P { A , B } = ( { (/) , { A } } u. { { B } , { A , B } } ) $=
      ( vx cpr cpw c0 csn cun cv wss wcel wo wceq sspr elpr orbi12i bitr4i elpw
      vex elun 3bitr4i eqriv ) CABDZEZFAGZDZBGZUCDZHZCIZUCJZUJUFKZUJUHKZLZUJUDK
      UJUIKUKUJFMUJUEMLZUJUGMUJUCMLZLUNUJABNULUOUMUPUJFUECSZOUJUGUCUQOPQUJUCUQR
      UJUFUHTUAUB $.

    $( The power set of an unordered triple.  (Contributed by Mario Carneiro,
       2-Jul-2016.) $)
    pwtp $p |- ~P { A , B , C } =
      ( ( { (/) , { A } } u. { { B } , { A , B } } ) u.
        ( { { C } , { A , C } } u. { { B , C } , { A , B , C } } ) ) $=
      ( vx ctp cpw c0 csn cpr cun cv wcel wss vex wceq elun elpr orbi12i bitri
      wo elpw sstp 3bitr4ri eqriv ) DABCEZFZGAHZIZBHZABIZIZJZCHZACIZIZBCIZUEIZJ
      ZJZDKZUFLUTUEMZUTUSLZUTUEDNZUAUTULLZUTURLZTUTGOUTUGOTZUTUIOUTUJOTZTZUTUMO
      UTUNOTZUTUPOUTUEOTZTZTVBVAVDVHVEVKVDUTUHLZUTUKLZTVHUTUHUKPVLVFVMVGUTGUGVC
      QUTUIUJVCQRSVEUTUOLZUTUQLZTVKUTUOUQPVNVIVOVJUTUMUNVCQUTUPUEVCQRSRUTULURPU
      TABCUBUCSUD $.
  $}

  $( Compute the power set of the power set of the power set of the empty set.
     (See also ~ pw0 and ~ pwpw0 .)  (Contributed by NM, 2-May-2009.) $)
  pwpwpw0 $p |- ~P { (/) , { (/) } } =
                ( { (/) , { (/) } } u. { { { (/) } } , { (/) , { (/) } } } ) $=
    ( c0 csn pwpr ) AABC $.

  $( The power class of the universe is the universe.  Exercise 4.12(d) of
     [Mendelson] p. 235.  (Contributed by NM, 14-Sep-2003.) $)
  pwv $p |- ~P _V = _V $=
    ( vx cvv cpw cv wcel wss ssv vex elpw mpbir 2th eqriv ) ABCZBADZMEZNBEONBFN
    GNBAHZIJPKL $.

  ${
    unsneqsn.1 $e |- B e. _V $.
    $( If union with a singleton yields a singleton, then the first argument is
       either also the singleton or is the empty set.  (Contributed by SF,
       15-Jan-2015.) $)
    unsneqsn $p |- ( ( A u. { B } ) = { C } -> ( A = (/) \/ A = { B } ) ) $=
      ( csn cun wceq wss c0 wcel ssun2 snid sselii eleq2 mpbii elsni syl eqeq2d
      wo sneq biimprd mpcom ssequn1 sylibr sssn sylib ) ABEZFZCEZGZAUGHZAIGAUGG
      SUJUHUGGZUKBCGZUJULUJBUIJZUMUJBUHJUNUGUHBUGAKBDLMUHUIBNOBCPQUMULUJUMUGUIU
      HBCTRUAUBAUGUCUDABUEUF $.
  $}

  ${
    $d A x $.  $d B x $.
    $( Alternate definition of proper subset.  Theorem IX.4.21 of [Rosser]
       p. 236.  (Contributed by SF, 19-Jan-2015.) $)
    dfpss4 $p |- ( A C. B <-> ( A C_ B /\ E. x e. B -. x e. A ) ) $=
      ( wpss wss wn wa wcel wrex dfpss3 wral dfss3 dfral2 bitr2i con1bii anbi2i
      cv bitri ) BCDBCEZCBEZFZGSAQBHZFACIZGBCJUAUCSUCTTUBACKUCFACBLUBACMNOPR $.
  $}

  $( Adjoining a new element is one-to-one.  (Contributed by SF,
     29-Jan-2015.) $)
  adj11 $p |- ( ( -. C e. A /\ -. C e. B ) ->
     ( ( A u. { C } ) = ( B u. { C } ) <-> A = B ) ) $=
    ( wcel wn wa csn cun wceq cdif difeq1 difun2 3eqtr3g difsn eqeqan12d syl5ib
    uneq1 impbid1 ) CADEZCBDEZFZACGZHZBUBHZIZABIZUEAUBJZBUBJZIUAUFUEUCUBJUDUBJU
    GUHUCUDUBKAUBLBUBLMSTUGAUHBCANCBNOPABUBQR $.

  ${
    $d A x $.  $d B x $.
    $( Two ways of saying that two classes are disjoint.  (Contributed by SF,
       5-Feb-2015.) $)
    disj5 $p |- ( ( A i^i B ) = (/) <-> A C_ ~ B ) $=
      ( vx cv wcel wn wral ccompl wi wal cin wceq wss vex elcompl ralbii df-ral
      c0 bitr3i disj dfss2 3bitr4i ) CDZBEFZCAGZUCAEUCBHZEZICJZABKRLAUFMUEUGCAG
      UHUGUDCAUCBCNOPUGCAQSCABTCAUFUAUB $.
  $}


$(
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
                       The union of a class
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
$)

  $( Declare class union symbol. $)
  $c U. $. $( Big cup $)

  $( Extend class notation to include the union of a class (read:  'union
     ` A ` ') $)
  cuni $a class U. A $.

  ${
    $d x y A $.
    $( Define the union of a class i.e. the collection of all members of the
       members of the class.  Definition 5.5 of [TakeutiZaring] p. 16.  For
       example, ` U. { { ` 1 , 3 ` } , { ` 1 , 8 ` } } = { ` 1 , 3 , 8 ` } `
       (ex-uni in set.mm).  This is similar to the union of two classes
       ~ df-un .  (Contributed by NM, 23-Aug-1993.) $)
    df-uni $a |- U. A = { x | E. y ( x e. y /\ y e. A ) } $.
  $}

  ${
    $d x y A $.
    $( Alternate definition of class union.  (Contributed by NM,
       28-Jun-1998.) $)
    dfuni2 $p |- U. A = { x | E. y e. A x e. y } $=
      ( cuni cv wcel wa wex cab wrex df-uni exancom df-rex bitr4i abbii eqtri )
      CDAEBEZFZQCFZGBHZAIRBCJZAIABCKTUAATSRGBHUARSBLRBCMNOP $.
  $}

  ${
    $d x A y $.  $d x B y $.
    $( Membership in class union.  (Contributed by NM, 22-May-1994.) $)
    eluni $p |- ( A e. U. B <-> E. x ( A e. x /\ x e. B ) ) $=
      ( vy cuni wcel cvv cv wa wex elex adantr exlimiv wceq eleq1 anbi1d exbidv
      df-uni elab2g pm5.21nii ) BCEZFBGFZBAHZFZUCCFZIZAJZBUAKUFUBAUDUBUEBUCKLMD
      HZUCFZUEIZAJUGDBUAGUHBNZUJUFAUKUIUDUEUHBUCOPQDACRST $.

    $( Membership in class union.  Restricted quantifier version.  (Contributed
       by NM, 31-Aug-1999.) $)
    eluni2 $p |- ( A e. U. B <-> E. x e. B A e. x ) $=
      ( cv wcel wa wex cuni wrex exancom eluni df-rex 3bitr4i ) BADZEZNCEZFAGPO
      FAGBCHEOACIOPAJABCKOACLM $.
  $}

  ${
    $d x A $.  $d x B $.  $d x C $.
    $( Membership in class union.  (Contributed by NM, 24-Mar-1995.) $)
    elunii $p |- ( ( A e. B /\ B e. C ) -> A e. U. C ) $=
      ( vx wcel wa cv cuni wceq eleq2 eleq1 anbi12d spcegv anabsi7 eluni sylibr
      wex ) ABEZBCEZFZADGZEZUACEZFZDQZACHERSUEUDTDBCUABIUBRUCSUABAJUABCKLMNDACO
      P $.
  $}

  ${
    $d y z A $.  $d x y z $.
    nfuni.1 $e |- F/_ x A $.
    $( Bound-variable hypothesis builder for union.  (Contributed by NM,
       30-Dec-1996.)  (Proof shortened by Andrew Salmon, 27-Aug-2011.) $)
    nfuni $p |- F/_ x U. A $=
      ( vy vz cuni cv wcel wrex cab dfuni2 nfv nfrex nfab nfcxfr ) ABFDGEGHZEBI
      ZDJDEBKQADPAEBCPALMNO $.
  $}

  ${
    $d y z A $.  $d x y z $.  $d y z ph $.
    nfunid.3 $e |- ( ph -> F/_ x A ) $.
    $( Deduction version of ~ nfuni .  (Contributed by NM, 18-Feb-2013.) $)
    nfunid $p |- ( ph -> F/_ x U. A ) $=
      ( vy vz cuni cv wcel wrex cab dfuni2 nfv nfvd nfrexd nfabd nfcxfrd ) ABCG
      EHFHIZFCJZEKEFCLASBEAEMARBFCAFMDARBNOPQ $.
  $}

  ${
    $d A y z $.  $d B y z $.  $d V y z $.  $d x y z $.
    $( Distribute proper substitution through the union of a class.
       (Contributed by Alan Sare, 10-Nov-2012.) $)
    csbunig $p |- ( A e. V -> [_ A / x ]_ U. B = U. [_ A / x ]_ B ) $=
      ( vz vy wcel cv wa wex cab csb cuni wsbc csbabg sbcexg sbcang sbcg df-uni
      bitrd sbcel2g anbi12d exbidv abbidv eqtrd csbeq2i 3eqtr4g ) BDGZABEHFHZGZ
      UICGZIZFJZEKZLZUJUIABCLZGZIZFJZEKZABCMZLUPMUHUOUMABNZEKUTUMAEBDOUHVBUSEUH
      VBULABNZFJUSULFABDPUHVCURFUHVCUJABNZUKABNZIURUJUKABDQUHVDUJVEUQUJABDRABUI
      CDUAUBTUCTUDUEABVAUNEFCSUFEFUPSUG $.
  $}

  ${
    $d x y A $.  $d x y B $.
    $( Equality theorem for class union.  Exercise 15 of [TakeutiZaring]
       p. 18.  (Contributed by NM, 10-Aug-1993.)  (Proof shortened by Andrew
       Salmon, 29-Jun-2011.) $)
    unieq $p |- ( A = B -> U. A = U. B ) $=
      ( vy vx wceq cv wcel wrex cab cuni rexeq abbidv dfuni2 3eqtr4g ) ABEZCFDF
      GZDAHZCIPDBHZCIAJBJOQRCPDABKLCDAMCDBMN $.
  $}

  ${
    unieqi.1 $e |- A = B $.
    $( Inference of equality of two class unions.  (Contributed by NM,
       30-Aug-1993.) $)
    unieqi $p |- U. A = U. B $=
      ( wceq cuni unieq ax-mp ) ABDAEBEDCABFG $.
  $}

  ${
    unieqd.1 $e |- ( ph -> A = B ) $.
    $( Deduction of equality of two class unions.  (Contributed by NM,
       21-Apr-1995.) $)
    unieqd $p |- ( ph -> U. A = U. B ) $=
      ( wceq cuni unieq syl ) ABCEBFCFEDBCGH $.
  $}

  ${
    $d x A y $.  $d ph y $.
    $( Membership in union of a class abstraction.  (Contributed by NM,
       11-Aug-1994.)  (Revised by Mario Carneiro, 14-Nov-2016.) $)
    eluniab $p |- ( A e. U. { x | ph } <-> E. x ( A e. x /\ ph ) ) $=
      ( vy cab cuni wcel cv wa wex eluni nfv nfsab1 nfan wceq eleq2 abid syl6bb
      eleq1 anbi12d cbvex bitri ) CABEZFGCDHZGZUDUCGZIZDJCBHZGZAIZBJDCUCKUGUJDB
      UEUFBUEBLABDMNUJDLUDUHOZUEUIUFAUDUHCPUKUFUHUCGAUDUHUCSABQRTUAUB $.

    $( Membership in union of a class abstraction.  (Contributed by NM,
       4-Oct-2006.) $)
    elunirab $p |- ( A e. U. { x e. B | ph } <->
                   E. x e. B ( A e. x /\ ph ) ) $=
      ( cv wcel cab cuni wex crab wrex eluniab df-rab unieqi eleq2i df-rex an12
      wa exbii bitri 3bitr4i ) CBEZDFZARZBGZHZFCUBFZUDRZBIZCABDJZHZFUGARZBDKZUD
      BCLUKUFCUJUEABDMNOUMUCULRZBIUIULBDPUNUHBUCUGAQSTUA $.
  $}

  ${
    $d x y A $.  $d x y B $.
    unipr.1 $e |- A e. _V $.
    unipr.2 $e |- B e. _V $.
    $( The union of a pair is the union of its members.  Proposition 5.7 of
       [TakeutiZaring] p. 16.  (Contributed by NM, 23-Aug-1993.) $)
    unipr $p |- U. { A , B } = ( A u. B ) $=
      ( vx vy cpr cuni cun wel cv wcel wa wex wceq wo vex bitri clel3 exancom
      elpr anbi2i andi exbii 19.43 eluni elun orbi12i 3bitr4i eqriv ) EABGZHZAB
      IZEFJZFKZUKLZMZFNZUNUOAOZMZFNZUNUOBOZMZFNZPZEKZULLVFUMLZURUTVCPZFNVEUQVHF
      UQUNUSVBPZMVHUPVIUNUOABFQUAUBUNUSVBUCRUDUTVCFUERFVFUKUFVGVFALZVFBLZPVEVFA
      BUGVJVAVKVDVJUSUNMFNVAFVFACSUSUNFTRVKVBUNMFNVDFVFBDSVBUNFTRUHRUIUJ $.
  $}

  ${
    $d x y A $.  $d y B $.
    $( The union of a pair is the union of its members.  Proposition 5.7 of
       [TakeutiZaring] p. 16.  (Contributed by NM, 25-Aug-2006.) $)
    uniprg $p |- ( ( A e. V /\ B e. W ) -> U. { A , B } = ( A u. B ) ) $=
      ( vx vy cv cpr cuni cun wceq preq1 unieqd uneq1 eqeq12d preq2 uneq2 unipr
      vex vtocl2g ) EGZFGZHZIZUAUBJZKAUBHZIZAUBJZKABHZIZABJZKEFABCDUAAKZUDUGUEU
      HULUCUFUAAUBLMUAAUBNOUBBKZUGUJUHUKUMUFUIUBBAPMUBBAQOUAUBESFSRT $.
  $}

  ${
    unisn.1 $e |- A e. _V $.
    $( A set equals the union of its singleton.  Theorem 8.2 of [Quine] p. 53.
       (Contributed by NM, 30-Aug-1993.) $)
    unisn $p |- U. { A } = A $=
      ( csn cuni cpr cun dfsn2 unieqi unipr unidm 3eqtri ) ACZDAAEZDAAFALMAGHAA
      BBIAJK $.
  $}

  ${
    $d x A $.
    $( A set equals the union of its singleton.  Theorem 8.2 of [Quine] p. 53.
       (Contributed by NM, 13-Aug-2002.) $)
    unisng $p |- ( A e. V -> U. { A } = A ) $=
      ( vx cv csn cuni wceq sneq unieqd id eqeq12d vex unisn vtoclg ) CDZEZFZOG
      AEZFZAGCABOAGZQSOATPROAHITJKOCLMN $.
  $}

  ${
    $d x y $.  $d y A $.
    $( An alternative statement of the effective freeness of a class ` A ` ,
       when it is a set.  (Contributed by Mario Carneiro, 14-Oct-2016.) $)
    dfnfc2 $p |- ( A. x A e. V -> ( F/_ x A <-> A. y F/ x y = A ) ) $=
      ( wcel wal wnfc cv wceq wnf nfcvd id nfeqd alrimiv wa csn cuni simpr elsn
      df-nfc nfbii albii bitri sylibr nfunid nfa1 nfnf1 nfal nfan unisng adantr
      sps nfceqdf mpbid ex impbid2 ) CDEZAFZACGZBHZCIZAJZBFZUSVBBUSAUTCUSAUTKUS
      LMNURVCUSURVCOZACPZQZGUSVDAVEVDVCAVEGZURVCRVGUTVEEZAJZBFVCABVETVIVBBVHVAA
      BCSUAUBUCUDUEVDAVFCURVCAUQAUFVBABVAAUGUHUIURVFCIZVCUQVJACDUJULUKUMUNUOUP
      $.
  $}

  ${
    $d x y A $.  $d x y B $.
    $( The class union of the union of two classes.  Theorem 8.3 of [Quine]
       p. 53.  (Contributed by NM, 20-Aug-1993.) $)
    uniun $p |- U. ( A u. B ) = ( U. A u. U. B ) $=
      ( vx vy cun cuni cv wcel wa wo 19.43 elun anbi2i andi bitri exbii orbi12i
      wex eluni 3bitr4i eqriv ) CABEZFZAFZBFZEZCGZDGZHZUHUBHZIZDRZUGUDHZUGUEHZJ
      ZUGUCHUGUFHUIUHAHZIZUIUHBHZIZJZDRUQDRZUSDRZJULUOUQUSDKUKUTDUKUIUPURJZIUTU
      JVCUIUHABLMUIUPURNOPUMVAUNVBDUGASDUGBSQTDUGUBSUGUDUELTUA $.

    $( The class union of the intersection of two classes.  Exercise 4.12(n) of
       [Mendelson] p. 235.  See uniinqs in set.mm for a condition where
       equality holds.  (Contributed by NM, 4-Dec-2003.)  (Proof shortened by
       Andrew Salmon, 29-Jun-2011.) $)
    uniin $p |- U. ( A i^i B ) C_ ( U. A i^i U. B ) $=
      ( vx vy cin cuni cv wcel wex 19.40 elin anbi2i anandi bitri exbii anbi12i
      wa eluni 3imtr4i ssriv ) CABEZFZAFZBFZEZCGZDGZHZUGUAHZQZDIZUFUCHZUFUDHZQZ
      UFUBHUFUEHUHUGAHZQZUHUGBHZQZQZDIUPDIZURDIZQUKUNUPURDJUJUSDUJUHUOUQQZQUSUI
      VBUHUGABKLUHUOUQMNOULUTUMVADUFARDUFBRPSDUFUARUFUCUDKST $.
  $}

  ${
    $d x y A $.  $d x y B $.  $d x y C $.
    $( Subclass relationship for class union.  Theorem 61 of [Suppes] p. 39.
       (Contributed by NM, 22-Mar-1998.)  (Proof shortened by Andrew Salmon,
       29-Jun-2011.) $)
    uniss $p |- ( A C_ B -> U. A C_ U. B ) $=
      ( vx vy wss cuni cv wcel wa wex ssel anim2d eximdv eluni 3imtr4g ssrdv )
      ABEZCAFZBFZQCGZDGZHZUAAHZIZDJUBUABHZIZDJTRHTSHQUDUFDQUCUEUBABUAKLMDTANDTB
      NOP $.

    $( Subclass relationship for class union.  (Contributed by NM,
       24-May-1994.)  (Proof shortened by Andrew Salmon, 29-Jun-2011.) $)
    ssuni $p |- ( ( A C_ B /\ B e. C ) -> A C_ U. C ) $=
      ( vy vx wcel wss cuni cv wi wal eleq2 imbi1d elunii expcom vtoclga imim2d
      wceq alimdv dfss2 3imtr4g impcom ) BCFZABGZACHZGZUCDIZAFZUGBFZJZDKUHUGUEF
      ZJZDKUDUFUCUJULDUCUIUKUHUGEIZFZUKJUIUKJEBCUMBRUNUIUKUMBUGLMUNUMCFUKUGUMCN
      OPQSDABTDAUETUAUB $.
  $}

  ${
    unissi.1 $e |- A C_ B $.
    $( Subclass relationship for subclass union.  Inference form of ~ uniss .
       (Contributed by David Moews, 1-May-2017.) $)
    unissi $p |- U. A C_ U. B $=
      ( wss cuni uniss ax-mp ) ABDAEBEDCABFG $.
  $}

  ${
    unissd.1 $e |- ( ph -> A C_ B ) $.
    $( Subclass relationship for subclass union.  Deduction form of ~ uniss .
       (Contributed by David Moews, 1-May-2017.) $)
    unissd $p |- ( ph -> U. A C_ U. B ) $=
      ( wss cuni uniss syl ) ABCEBFCFEDBCGH $.
  $}

  ${
    $d x y A $.
    $( The union of a set is empty iff the set is included in the singleton of
       the empty set.  (Contributed by NM, 12-Sep-2004.) $)
    uni0b $p |- ( U. A = (/) <-> A C_ { (/) } ) $=
      ( vx vy cv c0 csn wcel wral wceq wss cuni elsn ralbii dfss3 wex wrex neq0
      wn rexcom4 3bitr4ri rexbii eluni2 exbii rexnal 3bitri con4bii ) BDZEFZGZB
      AHUGEIZBAHZAUHJAKZEIZUIUJBABELMBAUHNUMUKUMRCDZULGZCOZUJRZBAPZUKRCULQUNUGG
      ZCOZBAPUSBAPZCOURUPUSBCASUQUTBACUGQUAUOVACBUNAUBUCTUJBAUDUEUFT $.

    $( The union of a set is empty iff all of its members are empty.
       (Contributed by NM, 16-Aug-2006.) $)
    uni0c $p |- ( U. A = (/) <-> A. x e. A x = (/) ) $=
      ( cuni c0 wceq csn wss cv wcel wral uni0b dfss3 elsn ralbii 3bitri ) BCDE
      BDFZGAHZPIZABJQDEZABJBKABPLRSABADMNO $.
  $}

  $( The union of the empty set is the empty set.  Theorem 8.7 of [Quine]
     p. 54.  (Reproved without relying on ax-nul in set.mm by Eric Schmidt.)
     (Contributed by NM, 16-Sep-1993.)  (Revised by Eric Schmidt,
     4-Apr-2007.) $)
  uni0 $p |- U. (/) = (/) $=
    ( c0 cuni wceq csn wss 0ss uni0b mpbir ) ABACAADZEIFAGH $.

  $( An element of a class is a subclass of its union.  Theorem 8.6 of [Quine]
     p. 54.  Also the basis for Proposition 7.20 of [TakeutiZaring] p. 40.
     (Contributed by NM, 6-Jun-1994.) $)
  elssuni $p |- ( A e. B -> A C_ U. B ) $=
    ( wss wcel cuni ssid ssuni mpan ) AACABDABECAFAABGH $.

  $( Condition turning a subclass relationship for union into an equality.
     (Contributed by NM, 18-Jul-2006.) $)
  unissel $p |- ( ( U. A C_ B /\ B e. A ) -> U. A = B ) $=
    ( cuni wss wcel wa simpl elssuni adantl eqssd ) ACZBDZBAEZFKBLMGMBKDLBAHIJ
    $.

  ${
    $d x y A $.  $d x y B $.
    $( Relationship involving membership, subset, and union.  Exercise 5 of
       [Enderton] p. 26 and its converse.  (Contributed by NM, 20-Sep-2003.) $)
    unissb $p |- ( U. A C_ B <-> A. x e. A x C_ B ) $=
      ( vy cv cuni wcel wi wal wss wa wex eluni imbi1i 19.23v albii bitri dfss2
      wral 3bitr4i bitr4i alcom 19.21v impexp bi2.04 imbi2i df-ral ) DEZBFZGZUH
      CGZHZDIZAEZBGZUNCJZHZAIZUICJUPABSUMUHUNGZUOKZUKHZAIZDIZURULVBDULUTALZUKHV
      BUJVDUKAUHBMNUTUKAOUAPVCVADIZAIURVADAUBVEUQAUOUSUKHZHZDIUOVFDIZHVEUQUOVFD
      UCVAVGDVAUSUOUKHHVGUSUOUKUDUSUOUKUEQPUPVHUODUNCRUFTPQQDUICRUPABUGT $.
  $}

  ${
    $d x A $.  $d x y B $.
    $( A subclass condition on the members of two classes that implies a
       subclass relation on their unions.  Proposition 8.6 of [TakeutiZaring]
       p. 59.  See ~ iunss2 for a generalization to indexed unions.
       (Contributed by NM, 22-Mar-2004.) $)
    uniss2 $p |- ( A. x e. A E. y e. B x C_ y -> U. A C_ U. B ) $=
      ( cv wss wrex wral cuni wcel ssuni expcom rexlimiv ralimi unissb sylibr )
      AEZBEZFZBDGZACHQDIZFZACHCIUAFTUBACSUBBDSRDJUBQRDKLMNACUAOP $.
  $}

  ${
    $d x y A $.  $d x y B $.
    $( If the difference ` A \ B ` contains the largest members of ` A ` , then
       the union of the difference is the union of ` A ` .  (Contributed by NM,
       22-Mar-2004.) $)
    unidif $p |- ( A. x e. A E. y e. ( A \ B ) x C_ y ->
               U. ( A \ B ) = U. A ) $=
      ( cv wss cdif wrex wral cuni wa wceq uniss2 difss uniss ax-mp eqss sylibr
      jctil ) AEBEFBCDGZHACIZTJZCJZFZUCUBFZKUBUCLUAUEUDABCTMTCFUDCDNTCOPSUBUCQR
      $.
  $}

  ${
    $d x A $.  $d x B $.
    $( Relationship implying union.  (Contributed by NM, 10-Nov-1999.) $)
    ssunieq $p |- ( ( A e. B /\ A. x e. B x C_ A ) -> A = U. B ) $=
      ( wcel cv wss wral cuni wceq elssuni unissb biimpri anim12i eqss sylibr
      wa ) BCDZAEBFACGZPBCHZFZSBFZPBSIQTRUABCJUARACBKLMBSNO $.
  $}

  ${
    $d x y A $.  $d x y B $.
    $( Any member of a class is the largest of those members that it includes.
       (Contributed by NM, 13-Aug-2002.) $)
    unimax $p |- ( A e. B -> U. { x e. B | x C_ A } = A ) $=
      ( vy wcel cv wss crab wral cuni wceq ssid sseq1 elrab3 elrab simprbi rgen
      mpbiri wa ssunieq eqcomd sylancl ) BCEZBAFZBGZACHZEZDFZBGZDUFIZUFJZBKUCUG
      BBGZBLUEULABCUDBBMNRUIDUFUHUFEUHCEUIUEUIAUHCUDUHBMOPQUGUJSBUKDBUFTUAUB $.
  $}

$(
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
        The intersection of a class
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
$)

  $( Declare class intersection symbol. $)
  $c |^| $. $( Big cap $)

  $( Extend class notation to include the intersection of a class (read:
     'intersect ` A ` '). $)
  cint $a class |^| A $.

  ${
    $d x y A $.
    $( Define the intersection of a class.  Definition 7.35 of [TakeutiZaring]
       p. 44.  For example, ` |^| { { ` 1 , 3 ` } , { ` 1 , 8 ` } } = { ` 1
       ` } ` .  Compare this with the intersection of two classes, ~ df-in .
       (Contributed by NM, 18-Aug-1993.) $)
    df-int $a |- |^| A = { x | A. y ( y e. A -> x e. y ) } $.
  $}

  ${
    $d x y A $.
    $( Alternate definition of class intersection.  (Contributed by NM,
       28-Jun-1998.) $)
    dfint2 $p |- |^| A = { x | A. y e. A x e. y } $=
      ( cint cv wcel wi wal cab wral df-int df-ral abbii eqtr4i ) CDBEZCFAEOFZG
      BHZAIPBCJZAIABCKRQAPBCLMN $.
  $}

  ${
    $d x y A $.  $d x y B $.
    $( Equality law for intersection.  (Contributed by NM, 13-Sep-1999.) $)
    inteq $p |- ( A = B -> |^| A = |^| B ) $=
      ( vx vy wceq cv wcel wral cab cint raleq abbidv dfint2 3eqtr4g ) ABEZCFDF
      GZDAHZCIPDBHZCIAJBJOQRCPDABKLCDAMCDBMN $.
  $}

  ${
    inteqi.1 $e |- A = B $.
    $( Equality inference for class intersection.  (Contributed by NM,
       2-Sep-2003.) $)
    inteqi $p |- |^| A = |^| B $=
      ( wceq cint inteq ax-mp ) ABDAEBEDCABFG $.
  $}

  ${
    inteqd.1 $e |- ( ph -> A = B ) $.
    $( Equality deduction for class intersection.  (Contributed by NM,
       2-Sep-2003.) $)
    inteqd $p |- ( ph -> |^| A = |^| B ) $=
      ( wceq cint inteq syl ) ABCEBFCFEDBCGH $.
  $}

  ${
    $d x A y $.  $d x B y $.
    elint.1 $e |- A e. _V $.
    $( Membership in class intersection.  (Contributed by NM, 21-May-1994.) $)
    elint $p |- ( A e. |^| B <-> A. x ( x e. B -> A e. x ) ) $=
      ( vy cv wcel wi wal cint wceq eleq1 imbi2d albidv df-int elab2 ) AFZCGZEF
      ZQGZHZAIRBQGZHZAIEBCJDSBKZUAUCAUDTUBRSBQLMNEACOP $.
  $}

  ${
    $d x A $.  $d x B $.
    elint2.1 $e |- A e. _V $.
    $( Membership in class intersection.  (Contributed by NM, 14-Oct-1999.) $)
    elint2 $p |- ( A e. |^| B <-> A. x e. B A e. x ) $=
      ( cint wcel cv wi wal wral elint df-ral bitr4i ) BCEFAGZCFBNFZHAIOACJABCD
      KOACLM $.
  $}

  ${
    $d x y A $.  $d x y B $.
    $( Membership in class intersection, with the sethood requirement expressed
       as an antecedent.  (Contributed by NM, 20-Nov-2003.) $)
    elintg $p |- ( A e. V -> ( A e. |^| B <-> A. x e. B A e. x ) ) $=
      ( vy cv cint wcel wral eleq1 wceq ralbidv vex elint2 vtoclbg ) EFZCGZHPAF
      ZHZACIBQHBRHZACIEBDPBQJPBKSTACPBRJLAPCEMNO $.
  $}

  ${
    $d x A $.  $d x B $.  $d x C $.
    $( Membership in class intersection.  (Contributed by NM, 14-Oct-1999.)
       (Proof shortened by Andrew Salmon, 9-Jul-2011.) $)
    elinti $p |- ( A e. |^| B -> ( C e. B -> A e. C ) ) $=
      ( vx cint wcel wi cv wral elintg eleq2 rspccv syl6bi pm2.43i ) ABEZFZCBFA
      CFZGZPPADHZFZDBIRDABOJTQDCBSCAKLMN $.
  $}

  ${
    $d y z A $.  $d x y z $.
    nfint.1 $e |- F/_ x A $.
    $( Bound-variable hypothesis builder for intersection.  (Contributed by NM,
       2-Feb-1997.)  (Proof shortened by Andrew Salmon, 12-Aug-2011.) $)
    nfint $p |- F/_ x |^| A $=
      ( vy vz cint cv wcel wral cab dfint2 nfv nfral nfab nfcxfr ) ABFDGEGHZEBI
      ZDJDEBKQADPAEBCPALMNO $.
  $}

  ${
    $d A x y $.  $d ph y $.
    inteqab.1 $e |- A e. _V $.
    $( Membership in the intersection of a class abstraction.  (Contributed by
       NM, 30-Aug-1993.) $)
    elintab $p |- ( A e. |^| { x | ph } <-> A. x ( ph -> A e. x ) ) $=
      ( vy cab cint wcel cv wi wal elint nfsab1 nfv nfim wceq eleq1 abid syl6bb
      eleq2 imbi12d cbval bitri ) CABFZGHEIZUDHZCUEHZJZEKACBIZHZJZBKECUDDLUHUKE
      BUFUGBABEMUGBNOUKENUEUIPZUFAUGUJULUFUIUDHAUEUIUDQABRSUEUICTUAUBUC $.

    $( Membership in the intersection of a class abstraction.  (Contributed by
       NM, 17-Oct-1999.) $)
    elintrab $p |- ( A e. |^| { x e. B | ph } <->
                 A. x e. B ( ph -> A e. x ) ) $=
      ( cv wcel wa cab cint wi wal crab wral elintab impexp albii df-rab inteqi
      bitri eleq2i df-ral 3bitr4i ) CBFZDGZAHZBIZJZGZUEACUDGZKZKZBLZCABDMZJZGUK
      BDNUIUFUJKZBLUMUFBCEOUPULBUEAUJPQTUOUHCUNUGABDRSUAUKBDUBUC $.
  $}

  ${
    $d x y A $.  $d y B $.  $d y ph $.
    $( Membership in the intersection of a class abstraction.  (Contributed by
       NM, 17-Feb-2007.) $)
    elintrabg $p |- ( A e. V -> ( A e. |^| { x e. B | ph } <->
                 A. x e. B ( ph -> A e. x ) ) ) $=
      ( vy cv crab cint wcel wi wral eleq1 wceq imbi2d ralbidv elintrab vtoclbg
      vex ) FGZABDHIZJATBGZJZKZBDLCUAJACUBJZKZBDLFCETCUAMTCNZUDUFBDUGUCUEATCUBM
      OPABTDFSQR $.

    $( The intersection of the empty set is the universal class.  Exercise 2 of
       [TakeutiZaring] p. 44.  (Contributed by NM, 18-Aug-1993.) $)
    int0 $p |- |^| (/) = _V $=
      ( vy vx cv c0 wcel wi wal cab wceq cint cvv noel pm2.21i ax-gen 2th abbii
      eqid df-int df-v 3eqtr4i ) ACZDEZBCZUAEZFZAGZBHUCUCIZBHDJKUFUGBUFUGUEAUBU
      DUALMNUCQOPBADRBST $.
  $}

  ${
    $d x y A $.  $d x y B $.  $d y ph $.
    $( An element of a class includes the intersection of the class.  Exercise
       4 of [TakeutiZaring] p. 44 (with correction), generalized to classes.
       (Contributed by NM, 18-Nov-1995.) $)
    intss1 $p |- ( A e. B -> |^| B C_ A ) $=
      ( vx vy wcel cint cv wal vex elint wceq eleq1 eleq2 imbi12d spcgv pm2.43a
      wi syl5bi ssrdv ) ABEZCBFZACGZUAEDGZBEZUBUCEZQZDHZTUBAEZDUBBCIJUGTUHUFTUH
      QDABUCAKUDTUEUHUCABLUCAUBMNOPRS $.

    $( Subclass of a class intersection.  Theorem 5.11(viii) of [Monk1] p. 52
       and its converse.  (Contributed by NM, 14-Oct-1999.) $)
    ssint $p |- ( A C_ |^| B <-> A. x e. B A C_ x ) $=
      ( vy cint wss cv wcel wral dfss3 vex elint2 ralbii ralcom bitr4i 3bitri )
      BCEZFDGZQHZDBIRAGZHZACIZDBIZBTFZACIZDBQJSUBDBARCDKLMUCUADBIZACIUEUADABCNU
      DUFACDBTJMOP $.

    $( Subclass of the intersection of a class abstraction.  (Contributed by
       NM, 31-Jul-2006.)  (Proof shortened by Andrew Salmon, 9-Jul-2011.) $)
    ssintab $p |- ( A C_ |^| { x | ph } <-> A. x ( ph -> A C_ x ) ) $=
      ( vy cab cint wss cv wral wi wal ssint sseq2 ralab2 bitri ) CABEZFGCDHZGZ
      DPIACBHZGZJBKDCPLARTDBQSCMNO $.

    $( Subclass of the least upper bound.  (Contributed by NM, 8-Aug-2000.) $)
    ssintub $p |- A C_ |^| { x e. B | A C_ x } $=
      ( vy cv wss crab cint ssint wcel sseq2 elrab simprbi mprgbir ) BBAEZFZACG
      ZHFBDEZFZDQDBQIRQJRCJSPSARCORBKLMN $.

    $( Subclass of the minimum value of class of supersets.  (Contributed by
       NM, 10-Aug-2006.) $)
    ssmin $p |- A C_ |^| { x | ( A C_ x /\ ph ) } $=
      ( cv wss wa cab cint wi ssintab simpl mpgbir ) CCBDEZAFZBGHENMIBNBCJMAKL
      $.

    $( Any member of a class is the smallest of those members that include it.
       (Contributed by NM, 13-Aug-2002.)  (Proof shortened by Andrew Salmon,
       9-Jul-2011.) $)
    intmin $p |- ( A e. B -> |^| { x e. B | A C_ x } = A ) $=
      ( vy wcel cv wss crab cint wi wral elintrab ssid wceq sseq2 eleq2 imbi12d
      vex rspcv mpii syl5bi ssrdv ssintub a1i eqssd ) BCEZBAFZGZACHIZBUFDUIBDFZ
      UIEUHUJUGEZJZACKZUFUJBEZUHAUJCDRLUFUMBBGZUNBMULUOUNJABCUGBNUHUOUKUNUGBBOU
      GBUJPQSTUAUBBUIGUFABCUCUDUE $.

    $( Intersection of subclasses.  (Contributed by NM, 14-Oct-1999.) $)
    intss $p |- ( A C_ B -> |^| B C_ |^| A ) $=
      ( vy vx cv wcel wal cint wss imim1 al2imi vex elint 3imtr4g alrimiv dfss2
      wi 3imtr4i ) CEZAFZSBFZQZCGZDEZBHZFZUDAHZFZQZDGABIUEUGIUCUIDUCUAUDSFZQZCG
      TUJQZCGUFUHUBUKULCTUAUJJKCUDBDLZMCUDAUMMNOCABPDUEUGPR $.

    $( The intersection of a nonempty set is a subclass of its union.
       (Contributed by NM, 29-Jul-2006.) $)
    intssuni $p |- ( A =/= (/) -> |^| A C_ U. A ) $=
      ( vx vy c0 wne cint cuni cv wcel wral r19.2z ex vex elint2 eluni2 3imtr4g
      wrex ssrdv ) ADEZBAFZAGZSBHZCHIZCAJZUCCAQZUBTIUBUAISUDUEUCCAKLCUBABMNCUBA
      OPR $.
  $}

  ${
    $d x A $.
    $( Subclass of the intersection of a restricted class builder.
       (Contributed by NM, 30-Jan-2015.) $)
    ssintrab $p |- ( A C_ |^| { x e. B | ph }
           <-> A. x e. B ( ph -> A C_ x ) ) $=
      ( crab cint wss cv wcel wa cab wral df-rab inteqi sseq2i wal impexp albii
      wi ssintab df-ral 3bitr4i bitri ) CABDEZFZGCBHZDIZAJZBKZFZGZACUFGZSZBDLZU
      EUJCUDUIABDMNOUHULSZBPUGUMSZBPUKUNUOUPBUGAULQRUHBCTUMBDUAUBUC $.
  $}

  $( If the union of a class is included in its intersection, the class is
     either the empty set or a singleton ( ~ uniintsn ).  (Contributed by NM,
     30-Oct-2010.)  (Proof shortened by Andrew Salmon, 25-Jul-2011.) $)
  unissint $p |- ( U. A C_ |^| A <-> ( A = (/) \/ U. A = |^| A ) ) $=
    ( cuni cint wss c0 wo wn wa simpl wne df-ne intssuni sylbir adantl eqssd ex
    wceq orrd cvv ssv int0 sseqtr4i inteq syl5sseqr eqimss jaoi impbii ) ABZACZ
    DZAEQZUHUIQZFUJUKULUJUKGZULUJUMHUHUIUJUMIUMUIUHDZUJUMAEJUNAEKALMNOPRUKUJULU
    KECZUHUIUHSUOUHTUAUBAEUCUDUHUIUEUFUG $.

  $( Subclass relationship for intersection and union.  (Contributed by NM,
     29-Jul-2006.) $)
  intssuni2 $p |- ( ( A C_ B /\ A =/= (/) ) -> |^| A C_ U. B ) $=
    ( c0 wne wss cint cuni intssuni uniss sylan9ssr ) ACDABEAFAGBGAHABIJ $.

  ${
    $d x A $.  $d x B $.  $d x ps $.
    intminss.1 $e |- ( x = A -> ( ph <-> ps ) ) $.
    $( Under subset ordering, the intersection of a restricted class
       abstraction is less than or equal to any of its members.  (Contributed
       by NM, 7-Sep-2013.) $)
    intminss $p |- ( ( A e. B /\ ps ) -> |^| { x e. B | ph } C_ A ) $=
      ( wcel wa crab cint wss elrab intss1 sylbir ) DEGBHDACEIZGOJDKABCDEFLDOMN
      $.
  $}

  ${
    $d x A $.
    intmin2.1 $e |- A e. _V $.
    $( Any set is the smallest of all sets that include it.  (Contributed by
       NM, 20-Sep-2003.) $)
    intmin2 $p |- |^| { x | A C_ x } = A $=
      ( cv wss cvv crab cint cab rabab inteqi wcel wceq intmin ax-mp eqtr3i ) B
      ADEZAFGZHZQAIZHBRTQAJKBFLSBMCABFNOP $.
  $}

  ${
    $d x A $.  $d x ps $.
    intmin3.2 $e |- ( x = A -> ( ph <-> ps ) ) $.
    intmin3.3 $e |- ps $.
    $( Under subset ordering, the intersection of a class abstraction is less
       than or equal to any of its members.  (Contributed by NM,
       3-Jul-2005.) $)
    intmin3 $p |- ( A e. V -> |^| { x | ph } C_ A ) $=
      ( wcel cab cint wss elabg mpbiri intss1 syl ) DEHZDACIZHZQJDKPRBGABCDEFLM
      DQNO $.
  $}

  ${
    $d x y A $.  $d y ph $.
    $( Elimination of a conjunct in a class intersection.  (Contributed by NM,
       31-Jul-2006.) $)
    intmin4 $p |- ( A C_ |^| { x | ph } ->
                  |^| { x | ( A C_ x /\ ph ) } = |^| { x | ph } ) $=
      ( vy cab cint wss cv wa wcel wi wal wb ssintab simpr impbid2 imbi1d alimi
      ancr elintab albi syl sylbi vex 3bitr4g eqrdv ) CABEFZGZDCBHZGZAIZBEFZUGU
      HUKDHZUIJZKZBLZAUNKZBLZUMULJUMUGJUHAUJKZBLZUPURMZABCNUTUOUQMZBLVAUSVBBUSU
      KAUNUSUKAUJAOAUJSPQRUOUQBUAUBUCUKBUMDUDZTABUMVCTUEUF $.
  $}

  ${
    $d x z A $.  $d x z ph $.  $d x y z $.
    intab.1 $e |- A e. _V $.
    intab.2 $e |- { x | E. y ( ph /\ x = A ) } e. _V $.
    $( The intersection of a special case of a class abstraction. ` y ` may be
       free in ` ph ` and ` A ` , which can be thought of a ` ph ( y ) ` and
       ` A ( y ) ` .  Typically, abrexex2 in set.mm or abexssex in set.mm can
       be used to satisfy the second hypothesis.  (Contributed by NM,
       28-Jul-2006.)  (Proof shortened by Mario Carneiro, 14-Nov-2016.) $)
    intab $p |- |^| { x | A. y ( ph -> A e. x ) } =
                { x | E. y ( ph /\ x = A ) } $=
      ( vz cv wcel wi wal cab cint wceq wa wex wss ex alrimiv sylibr cvv anbi2d
      eqeq1 exbidv cbvabv eqeltri nfe1 nfab nfeq2 eleq2 imbi2d albid elab 19.8a
      wsbc sbc6 df-sbc sylib mpgbir intss1 19.29r simplr pm3.35 adantlr eqeltrd
      ax-mp exlimiv syl vex elintab abssi eqssi eqtri ) ADBHZIZJZCKZBLZMZAGHZDN
      ZOZCPZGLZAVNDNZOZCPZBLZVSWDWDVRIZVSWDQWIADWDIZJZCVQWKCKBWDWDWHUAWCWGGBVTV
      NNZWBWFCWLWAWEAVTVNDUCUBUDUEZFUFVNWDNZVPWKCCVNWDWCCGWBCUGUHUIWNVOWJAVNWDD
      UJUKULUMAWCGDUOZWJAWAWCJZGKWOAWPGAWAWCWBCUNRSWCGDEUPTWCGDUQURUSWDVRUTVFWC
      GVSWCVQVTVNIZJZBKVTVSIWCWRBWCVQWQWCVQOWBVPOZCPWQWBVPCVAWSWQCWSVTDVNAWAVPV
      BAVPVOWAAVOVCVDVEVGVHRSVQBVTGVIVJTVKVLWMVM $.
  $}

  $( The intersection of a class containing the empty set is empty.
     (Contributed by NM, 24-Apr-2004.) $)
  int0el $p |- ( (/) e. A -> |^| A = (/) ) $=
    ( c0 wcel cint intss1 wss 0ss a1i eqssd ) BACZADZBBAEBKFJKGHI $.

  ${
    $d x y A $.  $d x y B $.
    $( The class intersection of the union of two classes.  Theorem 78 of
       [Suppes] p. 42.  (Contributed by NM, 22-Sep-2002.) $)
    intun $p |- |^| ( A u. B ) = ( |^| A i^i |^| B ) $=
      ( vx vy cun cint cin cv wcel wi wal wa 19.26 elun imbi1i jaob bitri elint
      wo 3bitr4i albii vex anbi12i elin eqriv ) CABEZFZAFZBFZGZDHZUFIZCHZUKIZJZ
      DKZUMUHIZUMUIIZLZUMUGIUMUJIUKAIZUNJZUKBIZUNJZLZDKVADKZVCDKZLUPUSVAVCDMUOV
      DDUOUTVBSZUNJVDULVGUNUKABNOUTUNVBPQUAUQVEURVFDUMACUBZRDUMBVHRUCTDUMUFVHRU
      MUHUIUDTUE $.
  $}

  ${
    $d x y A $.  $d x y B $.
    intpr.1 $e |- A e. _V $.
    intpr.2 $e |- B e. _V $.
    $( The intersection of a pair is the intersection of its members.  Theorem
       71 of [Suppes] p. 42.  (Contributed by NM, 14-Oct-1999.) $)
    intpr $p |- |^| { A , B } = ( A i^i B ) $=
      ( vx vy cpr cint cin cv wcel wi wal wa wceq 19.26 wo vex clel4 3bitr4i
      elpr imbi1i jaob bitri albii anbi12i elint elin eqriv ) EABGZHZABIZFJZUJK
      ZEJZUMKZLZFMZUOAKZUOBKZNZUOUKKUOULKUMAOZUPLZUMBOZUPLZNZFMVCFMZVEFMZNURVAV
      CVEFPUQVFFUQVBVDQZUPLVFUNVIUPUMABFRUAUBVBUPVDUCUDUEUSVGUTVHFUOACSFUOBDSUF
      TFUOUJERUGUOABUHTUI $.
  $}

  ${
    $d x y A $.  $d y B $.
    $( The intersection of a pair is the intersection of its members.  Closed
       form of ~ intpr .  Theorem 71 of [Suppes] p. 42.  (Contributed by FL,
       27-Apr-2008.) $)
    intprg $p |- ( ( A e. V /\ B e. W ) -> |^| { A , B } = ( A i^i B ) ) $=
      ( vx vy cv cpr cint cin wceq preq1 inteqd ineq1 eqeq12d preq2 ineq2 intpr
      vex vtocl2g ) EGZFGZHZIZUAUBJZKAUBHZIZAUBJZKABHZIZABJZKEFABCDUAAKZUDUGUEU
      HULUCUFUAAUBLMUAAUBNOUBBKZUGUJUHUKUMUFUIUBBAPMUBBAQOUAUBESFSRT $.
  $}

  $( Intersection of a singleton.  (Contributed by Stefan O'Rear,
     22-Feb-2015.) $)
  intsng $p |- ( A e. V -> |^| { A } = A ) $=
    ( wcel csn cint cpr dfsn2 inteqi cin wceq intprg anidms inidm syl6eq syl5eq
    ) ABCZADZEAAFZEZAQRAGHPSAAIZAPSTJAABBKLAMNO $.

  ${
    intsn.1 $e |- A e. _V $.
    $( The intersection of a singleton is its member.  Theorem 70 of [Suppes]
       p. 41.  (Contributed by NM, 29-Sep-2002.) $)
    intsn $p |- |^| { A } = A $=
      ( cvv wcel csn cint wceq intsng ax-mp ) ACDAEFAGBACHI $.
  $}

  ${
    $d x y A $.  $d y ph $.
    $( Two ways to express " ` A ` is a singleton."  See also en1 in set.mm,
       en1b in set.mm, card1 in set.mm, and ~ eusn .  (Contributed by NM,
       2-Aug-2010.) $)
    uniintsn $p |- ( U. A = |^| A <-> E. x A = { x } ) $=
      ( vy cuni cint wceq cv wex wcel wa wal c0 inteq syl6eq adantl unieq sylib
      wne cvv wss csn wi vn0 int0 eqeq1 syl5ib imp eqtr3d ex necon3d mpi n0 cpr
      uni0 vex prss cun cin uniss simpl sseqtrd intss sstrd unipr intpr 3sstr3g
      inss1 ssun1 sstri jctir eqss uneqin bitr3i syl5bi alrimivv jca weu euabsn
      cab eleq1 abid2 eqeq1i exbii 3bitr3i unisn intsn 3eqtr4a exlimiv impbii
      eu4 ) BDZBEZFZBAGZUAZFZAHZWMWNBIZAHZWRCGZBIZJZWNWTFZUBZCKAKZJZWQWMWSXEWMB
      LRZWSWMSLRXGUCWMBLSLWMBLFZSLFWMXHJWLSLXHWLSFWMXHWLLESBLMUDNOWMXHWLLFZXHWK
      LFWMXIXHWKLDLBLPUNNWKWLLUEUFUGUHUIUJUKABULQWMXDACXBWNWTUMZBTZWMXCWNWTBAUO
      ZCUOZUPWMXKXCWMXKJZWNWTUQZWNWTURZTZXPXOTZJZXCXNXQXRXNXJDZXJEZXOXPXNXTWLYA
      XNXTWKWLXKXTWKTWMXJBUSOWMXKUTVAXKWLYATWMXJBVBOVCWNWTXLXMVDWNWTXLXMVEVFXPW
      NXOWNWTVGWNWTVHVIVJXSXOXPFXCXOXPVKWNWTVLVMQUIVNVOVPWRAVQWRAVSZWOFZAHXFWQW
      RAVRWRXAACWNWTBVTWJYCWPAYBBWOABWAWBWCWDQWPWMAWPWODWNWKWLWNXLWEBWOPWPWLWOE
      WNBWOMWNXLWFNWGWHWI $.

    $( The union and the intersection of a class abstraction are equal exactly
       when there is a unique satisfying value of ` ph ( x ) ` .  (Contributed
       by Mario Carneiro, 24-Dec-2016.) $)
    uniintab $p |- ( E! x ph <-> U. { x | ph } = |^| { x | ph } ) $=
      ( vy weu cab cv csn wceq wex cuni cint euabsn2 uniintsn bitr4i ) ABDABEZC
      FGHCIOJOKHABCLCOMN $.
  $}

  ${
    intunsn.1 $e |- B e. _V $.
    $( Theorem joining a singleton to an intersection.  (Contributed by NM,
       29-Sep-2002.) $)
    intunsn $p |- |^| ( A u. { B } ) = ( |^| A i^i B ) $=
      ( csn cun cint cin intun intsn ineq2i eqtri ) ABDZEFAFZLFZGMBGALHNBMBCIJK
      $.
  $}

  $( Relative intersection of an empty set.  (Contributed by Stefan O'Rear,
     3-Apr-2015.) $)
  rint0 $p |- ( X = (/) -> ( A i^i |^| X ) = A ) $=
    ( c0 wceq cint cin inteq ineq2d cvv int0 ineq2i inv1 eqtri syl6eq ) BCDZABE
    ZFACEZFZAOPQABCGHRAIFAQIAJKALMN $.

  ${
    $d B y $.  $d X y $.
    $( Membership in a restricted intersection.  (Contributed by Stefan O'Rear,
       3-Apr-2015.) $)
    elrint $p |- ( X e. ( A i^i |^| B ) <-> ( X e. A /\ A. y e. B X e. y ) ) $=
      ( cint cin wcel wa cv wral elin elintg pm5.32i bitri ) DBCEZFGDBGZDOGZHPD
      AIGACJZHDBOKPQRADCBLMN $.

    $( Membership in a restricted intersection.  (Contributed by Stefan O'Rear,
       3-Apr-2015.) $)
    elrint2 $p |- ( X e. A -> ( X e. ( A i^i |^| B ) <->
          A. y e. B X e. y ) ) $=
      ( cint cin wcel cv wral elrint baib ) DBCEFGDBGDAHGACIABCDJK $.
  $}

$(
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
        Indexed union and intersection
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
$)

  $c U_ $. $( Underlined big cup. $)
  $c |^|_ $. $( Underlined big cap. $)

  $( Extend class notation to include indexed union.  Note:  Historically
     (prior to 21-Oct-2005), set.mm used the notation ` U. x e. A B ` , with
     the same union symbol as ~ cuni .  While that syntax was unambiguous, it
     did not allow for LALR parsing of the syntax constructions in set.mm.  The
     new syntax uses as distinguished symbol ` U_ ` instead of ` U. ` and does
     allow LALR parsing.  Thanks to Peter Backes for suggesting this change. $)
  ciun $a class U_ x e. A B $.

  $( Extend class notation to include indexed intersection.  Note:
     Historically (prior to 21-Oct-2005), set.mm used the notation
     ` |^| x e. A B ` , with the same intersection symbol as ~ cint .  Although
     that syntax was unambiguous, it did not allow for LALR parsing of the
     syntax constructions in set.mm.  The new syntax uses a distinguished
     symbol ` |^|_ ` instead of ` |^| ` and does allow LALR parsing.  Thanks to
     Peter Backes for suggesting this change. $)
  ciin $a class |^|_ x e. A B $.

  ${
    $d x y $.  $d y A $.  $d y B $.
    $( Define indexed union.  Definition indexed union in [Stoll] p. 45.  In
       most applications, ` A ` is independent of ` x ` (although this is not
       required by the definition), and ` B ` depends on ` x ` i.e. can be read
       informally as ` B ( x ) ` .  We call ` x ` the index, ` A ` the index
       set, and ` B ` the indexed set.  In most books, ` x e. A ` is written as
       a subscript or underneath a union symbol ` U. ` .  We use a special
       union symbol ` U_ ` to make it easier to distinguish from plain class
       union.  In many theorems, you will see that ` x ` and ` A ` are in the
       same distinct variable group (meaning ` A ` cannot depend on ` x ` ) and
       that ` B ` and ` x ` do not share a distinct variable group (meaning
       that can be thought of as ` B ( x ) ` i.e. can be substituted with a
       class expression containing ` x ` ).  An alternate definition tying
       indexed union to ordinary union is ~ dfiun2 .  Theorem ~ uniiun provides
       a definition of ordinary union in terms of indexed union.  Theorems
       ~ fniunfv and ~ funiunfv are useful when ` B ` is a function.
       (Contributed by NM, 27-Jun-1998.) $)
    df-iun $a |- U_ x e. A B = { y | E. x e. A y e. B } $.

    $( Define indexed intersection.  Definition of [Stoll] p. 45.  See the
       remarks for its sibling operation of indexed union ~ df-iun .  An
       alternate definition tying indexed intersection to ordinary intersection
       is ~ dfiin2 .  Theorem ~ intiin provides a definition of ordinary
       intersection in terms of indexed intersection.  (Contributed by NM,
       27-Jun-1998.) $)
    df-iin $a |- |^|_ x e. A B = { y | A. x e. A y e. B } $.
  $}

  ${
    $d x y A $.  $d y B $.  $d y C $.
    $( Membership in indexed union.  (Contributed by NM, 3-Sep-2003.) $)
    eliun $p |- ( A e. U_ x e. B C <-> E. x e. B A e. C ) $=
      ( vy ciun wcel wrex elex rexlimivw cv wceq eleq1 rexbidv df-iun pm5.21nii
      cvv elab2g ) BACDFZGBQGZBDGZACHZBSIUATACBDIJEKZDGZACHUBEBSQUCBLUDUAACUCBD
      MNAECDORP $.

    $( Membership in indexed intersection.  (Contributed by NM, 3-Sep-2003.) $)
    eliin $p |- ( A e. V -> ( A e. |^|_ x e. B C <-> A. x e. B A e. C ) ) $=
      ( vy cv wcel wral ciin wceq eleq1 ralbidv df-iin elab2g ) FGZDHZACIBDHZAC
      IFBACDJEPBKQRACPBDLMAFCDNO $.
  $}

  ${
    $d y z A $.  $d x z B $.  $d z C $.  $d x y $.
    $( Commutation of indexed unions.  (Contributed by NM, 18-Dec-2008.) $)
    iuncom $p |- U_ x e. A U_ y e. B C = U_ y e. B U_ x e. A C $=
      ( vz ciun cv wcel wrex rexcom eliun rexbii 3bitr4i eqriv ) FACBDEGZGZBDAC
      EGZGZFHZPIZACJZTRIZBDJZTQITSITEIZBDJZACJUEACJZBDJUBUDUEABCDKUAUFACBTDELMU
      CUGBDATCELMNATCPLBTDRLNO $.
  $}

  ${
    $d y z A $.  $d y z B $.  $d x y z $.
    $( Commutation of union with indexed union.  (Contributed by Mario
       Carneiro, 18-Jan-2014.) $)
    iuncom4 $p |- U_ x e. A U. B = U. U_ x e. A B $=
      ( vy vz cuni ciun cv wcel wa wex df-rex rexbii rexcom4 bitri exbii eluni2
      wrex eliun 3bitr4i r19.41v anbi1i eqriv ) DABCFZGZABCGZFZDHZUDIZABRZUHEHZ
      IZEUFRZUHUEIUHUGIULECRZABRZUKCIZABRZULJZEKZUJUMUOUPULJZABRZEKZUSUOUTEKZAB
      RVBUNVCABULECLMUTAEBNOVAUREUPULABUAPOUIUNABEUHCQMUMUKUFIZULJZEKUSULEUFLVE
      UREVDUQULAUKBCSUBPOTAUHBUDSEUHUFQTUC $.
  $}

  ${
    $d x y A $.  $d x y B $.
    $( Indexed union of a constant class, i.e. where ` B ` does not depend on
       ` x ` .  (Contributed by NM, 5-Sep-2004.)  (Proof shortened by Andrew
       Salmon, 25-Jul-2011.) $)
    iunconst $p |- ( A =/= (/) -> U_ x e. A B = B ) $=
      ( vy c0 wne ciun cv wcel wrex r19.9rzv eliun syl6rbbr eqrdv ) BEFZDABCGZC
      ODHZCIZRABJQPIRABKAQBCLMN $.

    $( Indexed intersection of a constant class, i.e. where ` B ` does not
       depend on ` x ` .  (Contributed by Mario Carneiro, 6-Feb-2015.) $)
    iinconst $p |- ( A =/= (/) -> |^|_ x e. A B = B ) $=
      ( vy c0 wne ciin cv wcel wral r19.3rzv cvv vex eliin ax-mp syl6rbbr eqrdv
      wb ) BEFZDABCGZCSDHZCIZUBABJZUATIZUBABKUALIUDUCRDMAUABCLNOPQ $.
  $}

  ${
    $d x y $.  $d y z A $.  $d x z B $.  $d z C $.
    $( Law combining indexed union with indexed intersection.  Eq. 14 in
       [KuratowskiMostowski] p. 109.  This theorem also appears as the last
       example at ~ http://en.wikipedia.org/wiki/Union%5F%28set%5Ftheory%29 .
       (Contributed by NM, 17-Aug-2004.)  (Proof shortened by Andrew Salmon,
       25-Jul-2011.) $)
    iuniin $p |- U_ x e. A |^|_ y e. B C C_ |^|_ y e. B U_ x e. A C $=
      ( vz ciin ciun cv wcel wrex wral r19.12 cvv vex eliin ax-mp eliun 3imtr4i
      wb rexbii ralbii ssriv ) FACBDEGZHZBDACEHZGZFIZUDJZACKZUHUFJZBDLZUHUEJUHU
      GJZUHEJZBDLZACKUNACKZBDLUJULUNABCDMUIUOACUHNJZUIUOTFOZBUHDENPQUAUKUPBDAUH
      CERUBSAUHCUDRUQUMULTURBUHDUFNPQSUC $.
  $}

  ${
    $d x y A $.  $d x y B $.  $d y C $.
    $( Subclass theorem for indexed union.  (Contributed by NM, 10-Dec-2004.)
       (Proof shortened by Andrew Salmon, 25-Jul-2011.) $)
    iunss1 $p |- ( A C_ B -> U_ x e. A C C_ U_ x e. B C ) $=
      ( vy wss ciun cv wcel wrex ssrexv eliun 3imtr4g ssrdv ) BCFZEABDGZACDGZOE
      HZDIZABJSACJRPIRQISABCKARBDLARCDLMN $.

    $( Subclass theorem for indexed union.  (Contributed by NM,
       24-Jan-2012.) $)
    iinss1 $p |- ( A C_ B -> |^|_ x e. B C C_ |^|_ x e. A C ) $=
      ( vy wss ciin cv wcel wral ssralv cvv wb vex eliin ax-mp 3imtr4g ssrdv )
      BCFZEACDGZABDGZSEHZDIZACJZUCABJZUBTIZUBUAIZUCABCKUBLIZUFUDMENZAUBCDLOPUHU
      GUEMUIAUBBDLOPQR $.

    $( Equality theorem for indexed union.  (Contributed by NM,
       27-Jun-1998.) $)
    iuneq1 $p |- ( A = B -> U_ x e. A C = U_ x e. B C ) $=
      ( wss wa ciun wceq iunss1 anim12i eqss 3imtr4i ) BCEZCBEZFABDGZACDGZEZPOE
      ZFBCHOPHMQNRABCDIACBDIJBCKOPKL $.

    $( Equality theorem for restricted existential quantifier.  (Contributed by
       NM, 27-Jun-1998.) $)
    iineq1 $p |- ( A = B -> |^|_ x e. A C = |^|_ x e. B C ) $=
      ( vy wceq cv wcel wral cab ciin raleq abbidv df-iin 3eqtr4g ) BCFZEGDHZAB
      IZEJQACIZEJABDKACDKPRSEQABCLMAEBDNAECDNO $.
  $}

  ${
    $d x y $.  $d y A $.  $d y B $.  $d y C $.
    $( Subclass theorem for indexed union.  (Contributed by NM, 26-Nov-2003.)
       (Proof shortened by Andrew Salmon, 25-Jul-2011.) $)
    ss2iun $p |- ( A. x e. A B C_ C -> U_ x e. A B C_ U_ x e. A C ) $=
      ( vy wss wral ciun cv wcel wrex ssel ralimi rexim syl eliun 3imtr4g ssrdv
      wi ) CDFZABGZEABCHZABDHZUAEIZCJZABKZUDDJZABKZUDUBJUDUCJUAUEUGSZABGUFUHSTU
      IABCDUDLMUEUGABNOAUDBCPAUDBDPQR $.

    $( Equality theorem for indexed union.  (Contributed by NM,
       22-Oct-2003.) $)
    iuneq2 $p |- ( A. x e. A B = C -> U_ x e. A B = U_ x e. A C ) $=
      ( wss wral wa ciun wceq ss2iun anim12i eqss ralbii r19.26 bitri 3imtr4i )
      CDEZABFZDCEZABFZGZABCHZABDHZEZUCUBEZGCDIZABFZUBUCIRUDTUEABCDJABDCJKUGQSGZ
      ABFUAUFUHABCDLMQSABNOUBUCLP $.

    $( Equality theorem for indexed intersection.  (Contributed by NM,
       22-Oct-2003.)  (Proof shortened by Andrew Salmon, 25-Jul-2011.) $)
    iineq2 $p |- ( A. x e. A B = C -> |^|_ x e. A B = |^|_ x e. A C ) $=
      ( vy wceq wral cv wcel cab ciin wb eleq2 ralimi syl abbidv df-iin 3eqtr4g
      ralbi ) CDFZABGZEHZCIZABGZEJUBDIZABGZEJABCKABDKUAUDUFEUAUCUELZABGUDUFLTUG
      ABCDUBMNUCUEABSOPAEBCQAEBDQR $.
  $}

  ${
    iuneq2i.1 $e |- ( x e. A -> B = C ) $.
    $( Equality inference for indexed union.  (Contributed by NM,
       22-Oct-2003.) $)
    iuneq2i $p |- U_ x e. A B = U_ x e. A C $=
      ( wceq ciun iuneq2 mprg ) CDFABCGABDGFABABCDHEI $.

    $( Equality inference for indexed intersection.  (Contributed by NM,
       22-Oct-2003.) $)
    iineq2i $p |- |^|_ x e. A B = |^|_ x e. A C $=
      ( wceq ciin iineq2 mprg ) CDFABCGABDGFABABCDHEI $.
  $}

  ${
    iineq2d.1 $e |- F/ x ph $.
    iineq2d.2 $e |- ( ( ph /\ x e. A ) -> B = C ) $.
    $( Equality deduction for indexed intersection.  (Contributed by NM,
       7-Dec-2011.) $)
    iineq2d $p |- ( ph -> |^|_ x e. A B = |^|_ x e. A C ) $=
      ( wceq wral ciin cv wcel ex ralrimi iineq2 syl ) ADEHZBCIBCDJBCEJHAQBCFAB
      KCLQGMNBCDEOP $.
  $}

  ${
    $d x ph $.
    iuneq2dv.1 $e |- ( ( ph /\ x e. A ) -> B = C ) $.
    $( Equality deduction for indexed union.  (Contributed by NM,
       3-Aug-2004.) $)
    iuneq2dv $p |- ( ph -> U_ x e. A B = U_ x e. A C ) $=
      ( wceq wral ciun ralrimiva iuneq2 syl ) ADEGZBCHBCDIBCEIGAMBCFJBCDEKL $.

    $( Equality deduction for indexed intersection.  (Contributed by NM,
       3-Aug-2004.) $)
    iineq2dv $p |- ( ph -> |^|_ x e. A B = |^|_ x e. A C ) $=
      ( nfv iineq2d ) ABCDEABGFH $.
  $}

  ${
    $d x A $.  $d x B $.
    iuneq1d.1 $e |- ( ph -> A = B ) $.
    $( Equality theorem for indexed union, deduction version.  (Contributed by
       Drahflow, 22-Oct-2015.) $)
    iuneq1d $p |- ( ph -> U_ x e. A C = U_ x e. B C ) $=
      ( wceq ciun iuneq1 syl ) ACDGBCEHBDEHGFBCDEIJ $.

    ${
      $d x ph $.
      iuneq12d.2 $e |- ( ph -> C = D ) $.
      $( Equality deduction for indexed union, deduction version.  (Contributed
         by Drahflow, 22-Oct-2015.) $)
      iuneq12d $p |- ( ph -> U_ x e. A C = U_ x e. B D ) $=
        ( ciun iuneq1d wceq cv wcel adantr iuneq2dv eqtrd ) ABCEIBDEIBDFIABCDEG
        JABDEFAEFKBLDMHNOP $.
    $}
  $}

  ${
    $d x ph $.  $d x A $.
    iuneq2d.2 $e |- ( ph -> B = C ) $.
    $( Equality deduction for indexed union.  (Contributed by Drahflow,
       22-Oct-2015.) $)
    iuneq2d $p |- ( ph -> U_ x e. A B = U_ x e. A C ) $=
      ( wceq cv wcel adantr iuneq2dv ) ABCDEADEGBHCIFJK $.
  $}

  ${
    $d z A $.  $d z B $.  $d x z $.  $d y z $.
    nfiun.1 $e |- F/_ y A $.
    nfiun.2 $e |- F/_ y B $.
    $( Bound-variable hypothesis builder for indexed union.  (Contributed by
       Mario Carneiro, 25-Jan-2014.) $)
    nfiun $p |- F/_ y U_ x e. A B $=
      ( vz ciun cv wcel wrex cab df-iun nfcri nfrex nfab nfcxfr ) BACDHGIDJZACK
      ZGLAGCDMSBGRBACEBGDFNOPQ $.

    $( Bound-variable hypothesis builder for indexed intersection.
       (Contributed by Mario Carneiro, 25-Jan-2014.) $)
    nfiin $p |- F/_ y |^|_ x e. A B $=
      ( vz ciin cv wcel wral cab df-iin nfcri nfral nfab nfcxfr ) BACDHGIDJZACK
      ZGLAGCDMSBGRBACEBGDFNOPQ $.
  $}

  ${
    $d y A $.  $d y B $.  $d x y $.
    $( Bound-variable hypothesis builder for indexed union.  (Contributed by
       NM, 12-Oct-2003.) $)
    nfiu1 $p |- F/_ x U_ x e. A B $=
      ( vy ciun cv wcel wrex cab df-iun nfre1 nfab nfcxfr ) AABCEDFCGZABHZDIADB
      CJOADNABKLM $.

    $( Bound-variable hypothesis builder for indexed intersection.
       (Contributed by NM, 15-Oct-2003.) $)
    nfii1 $p |- F/_ x |^|_ x e. A B $=
      ( vy ciin cv wcel wral cab df-iin nfra1 nfab nfcxfr ) AABCEDFCGZABHZDIADB
      CJOADNABKLM $.
  $}

  ${
    $d y z w A $.  $d y z w B $.  $d w C z $.  $d w x y z $.
    $( Alternate definition of indexed union when ` B ` is a set.  Definition
       15(a) of [Suppes] p. 44.  (Contributed by NM, 23-Mar-2006.)  (Proof
       shortened by Andrew Salmon, 25-Jul-2011.) $)
    dfiun2g $p |- ( A. x e. A B e. C ->
                  U_ x e. A B = U. { y | E. x e. A y = B } ) $=
      ( vz wcel wral ciun cv wceq wrex cab cuni wa wex nfra1 wb rsp syl6bb syl6
      clel3g rexbida rexcom4 r19.41v exbii exancom bitri eliun eluniab 3bitr4g
      imp eqrdv ) DEGZACHZFACDIZBJZDKZACLZBMNZUOFJZDGZACLZVAUQGZUSOBPZVAUPGVAUT
      GUOVCURVDOZACLZBPZVEUOVCVFBPZACLVHUOVBVIACUNACQUOAJCGZVBVIRZUOVJUNVKUNACS
      BVADEUBUAULUCVFABCUDTVHUSVDOZBPVEVGVLBURVDACUEUFUSVDBUGUHTAVACDUIUSBVAUJU
      KUM $.

    $( Alternate definition of indexed intersection when ` B ` is a set.
       (Contributed by Jeff Hankins, 27-Aug-2009.) $)
    dfiin2g $p |- ( A. x e. A B e. C
               -> |^|_ x e. A B = |^| { y | E. x e. A y = B } ) $=
      ( vw vz wcel wral cv cab wceq wrex wi wal df-ral wb eqeq1 albii bitr4i
      ciin cint eleq2 biimprcd alrimiv eqid imbi12d mpii impbid2 imim2i pm5.74d
      spcgv alimi albi syl sylbi alcom r19.23v vex rexbidv elab imbi1i 3bitr3ri
      19.21v syl6bb syl5bb abbidv df-iin df-int 3eqtr4g ) DEHZACIZFJZDHZACIZFKG
      JZBJZDLZACMZBKZHZVMVPHZNZGOZFKACDUAVTUBVLVOWDFVOAJCHZVNNZAOZVLWDVNACPVLWG
      WEVPDLZWBNZGOZNZAOZWDVLWEVKNZAOZWGWLQZVKACPWNWFWKQZAOWOWMWPAWMWEVNWJVKVNW
      JQWEVKVNWJVNWIGWHWBVNVPDVMUCZUDUEVKWJDDLZVNDUFWIWRVNNGDEWHWHWRWBVNVPDDRWQ
      UGULUHUIUJUKUMWFWKAUNUOUPWIACIZGOZWEWINZGOZAOZWDWLWTXAAOZGOXCWSXDGWIACPSX
      AAGUQTWSWCGWSWHACMZWBNWCWHWBACURWAXEWBVSXEBVPGUSVQVPLVRWHACVQVPDRUTVAVBTS
      XBWKAWEWIGVDSVCVEVFVGAFCDVHFGVTVIVJ $.
  $}

  ${
    $d x y $.  $d y A $.  $d y B $.
    dfiun2.1 $e |- B e. _V $.
    $( Alternate definition of indexed union when ` B ` is a set.  Definition
       15(a) of [Suppes] p. 44.  (Contributed by NM, 27-Jun-1998.)  (Revised by
       David Abernethy, 19-Jun-2012.) $)
    dfiun2 $p |- U_ x e. A B = U. { y | E. x e. A y = B } $=
      ( cvv wcel ciun cv wceq wrex cab cuni dfiun2g a1i mprg ) DFGZACDHBIDJACKB
      LMJACABCDFNQAICGEOP $.

    $( Alternate definition of indexed intersection when ` B ` is a set.
       Definition 15(b) of [Suppes] p. 44.  (Contributed by NM, 28-Jun-1998.)
       (Proof shortened by Andrew Salmon, 25-Jul-2011.) $)
    dfiin2 $p |- |^|_ x e. A B = |^| { y | E. x e. A y = B } $=
      ( cvv wcel ciin cv wceq wrex cab cint dfiin2g a1i mprg ) DFGZACDHBIDJACKB
      LMJACABCDFNQAICGEOP $.
  $}

  ${
    $d z y A $.  $d z x A $.  $d z B $.  $d z C $.
    cbviun.1 $e |- F/_ y B $.
    cbviun.2 $e |- F/_ x C $.
    cbviun.3 $e |- ( x = y -> B = C ) $.
    $( Rule used to change the bound variables in an indexed union, with the
       substitution specified implicitly by the hypothesis.  (Contributed by
       NM, 26-Mar-2006.)  (Revised by Andrew Salmon, 25-Jul-2011.) $)
    cbviun $p |- U_ x e. A B = U_ y e. A C $=
      ( vz cv wcel wrex cab ciun nfcri wceq eleq2d cbvrex abbii df-iun 3eqtr4i
      ) IJZDKZACLZIMUBEKZBCLZIMACDNBCENUDUFIUCUEABCBIDFOAIEGOAJBJPDEUBHQRSAICDT
      BICETUA $.

    $( Change bound variables in an indexed intersection.  (Contributed by Jeff
       Hankins, 26-Aug-2009.)  (Revised by Mario Carneiro, 14-Oct-2016.) $)
    cbviin $p |- |^|_ x e. A B = |^|_ y e. A C $=
      ( vz cv wcel wral cab ciin nfcri wceq eleq2d cbvral abbii df-iin 3eqtr4i
      ) IJZDKZACLZIMUBEKZBCLZIMACDNBCENUDUFIUCUEABCBIDFOAIEGOAJBJPDEUBHQRSAICDT
      BICETUA $.
  $}

  ${
    $d x A $.  $d y A $.  $d y B $.  $d x C $.
    cbviunv.1 $e |- ( x = y -> B = C ) $.
    $( Rule used to change the bound variables in an indexed union, with the
       substitution specified implicitly by the hypothesis.  (Contributed by
       NM, 15-Sep-2003.) $)
    cbviunv $p |- U_ x e. A B = U_ y e. A C $=
      ( nfcv cbviun ) ABCDEBDGAEGFH $.

    $( Change bound variables in an indexed intersection.  (Contributed by Jeff
       Hankins, 26-Aug-2009.) $)
    cbviinv $p |- |^|_ x e. A B = |^|_ y e. A C $=
      ( nfcv cbviin ) ABCDEBDGAEGFH $.
  $}

  ${
    $d x y C $.  $d y A $.  $d y B $.
    $( Subset theorem for an indexed union.  (Contributed by NM, 13-Sep-2003.)
       (Proof shortened by Andrew Salmon, 25-Jul-2011.) $)
    iunss $p |- ( U_ x e. A B C_ C <-> A. x e. A B C_ C ) $=
      ( vy ciun wss cv wcel wrex cab wal wral df-iun sseq1i abss ralbii ralcom4
      wi dfss2 r19.23v albii 3bitrri 3bitri ) ABCFZDGEHZCIZABJZEKZDGUHUFDIZSZEL
      ZCDGZABMZUEUIDAEBCNOUHEDPUNUGUJSZELZABMUOABMZELULUMUPABECDTQUOAEBRUQUKEUG
      UJABUAUBUCUD $.
  $}

  ${
    $d x y C $.  $d y A $.  $d y B $.
    $( Subset implication for an indexed union.  (Contributed by NM,
       3-Sep-2003.)  (Proof shortened by Andrew Salmon, 25-Jul-2011.) $)
    ssiun $p |- ( E. x e. A C C_ B -> C C_ U_ x e. A B ) $=
      ( vy wss wrex ciun cv wcel ssel reximi r19.37av syl eliun syl6ibr ssrdv
      wi ) DCFZABGZEDABCHZTEIZDJZUBCJZABGZUBUAJTUCUDRZABGUCUERSUFABDCUBKLUCUDAB
      MNAUBBCOPQ $.
  $}

  ${
    $d y A $.  $d y B $.  $d x y $.
    $( Identity law for subset of an indexed union.  (Contributed by NM,
       12-Oct-2003.)  (Proof shortened by Andrew Salmon, 25-Jul-2011.) $)
    ssiun2 $p |- ( x e. A -> B C_ U_ x e. A B ) $=
      ( vy cv wcel ciun wrex rspe ex eliun syl6ibr ssrdv ) AEBFZDCABCGZNDEZCFZQ
      ABHZPOFNQRQABIJAPBCKLM $.
  $}

  ${
    $d x A $.  $d x C $.  $d x D $.
    ssiun2s.1 $e |- ( x = C -> B = D ) $.
    $( Subset relationship for an indexed union.  (Contributed by NM,
       26-Oct-2003.) $)
    ssiun2s $p |- ( C e. A -> D C_ U_ x e. A B ) $=
      ( ciun wss nfcv nfiu1 nfss cv wceq sseq1d ssiun2 vtoclgaf ) CABCGZHEQHADB
      ADIAEQAEIABCJKALDMCEQFNABCOP $.
  $}

  ${
    $d x y $.  $d x B $.  $d y C $.  $d x D $.
    $( A subclass condition on the members of two indexed classes ` C ( x ) `
       and ` D ( y ) ` that implies a subclass relation on their indexed
       unions.  Generalization of Proposition 8.6 of [TakeutiZaring] p. 59.
       Compare ~ uniss2 .  (Contributed by NM, 9-Dec-2004.) $)
    iunss2 $p |- ( A. x e. A E. y e. B C C_ D ->
                 U_ x e. A C C_ U_ y e. B D ) $=
      ( wss wrex wral ciun ssiun ralimi iunss sylibr ) EFGBDHZACIEBDFJZGZACIACE
      JPGOQACBDFEKLACEPMN $.
  $}

  ${
    $d y A $.  $d x y $.  $d x B $.
    $( The indexed union of a class abstraction.  (Contributed by NM,
       27-Dec-2004.) $)
    iunab $p |- U_ x e. A { y | ph } = { y | E. x e. A ph } $=
      ( cab ciun wrex wceq cv wcel wb nfcv nfab1 nfiun cleqf abid eliun 3bitr4i
      rexbii mpgbir ) BDACEZFZABDGZCEZHCIZUBJZUEUDJZKCCUBUDBCDUACDLACMNUCCMOUEU
      AJZBDGUCUFUGUHABDACPSBUEDUAQUCCPRT $.

    $( The indexed union of a restricted class abstraction.  (Contributed by
       NM, 3-Jan-2004.)  (Proof shortened by Mario Carneiro, 14-Nov-2016.) $)
    iunrab $p |- U_ x e. A { y e. B | ph } = { y e. B | E. x e. A ph } $=
      ( cv wcel cab ciun wrex crab iunab wceq df-rab a1i iuneq2i r19.42v eqtr4i
      wa abbii 3eqtr4i ) BDCFEGZASZCHZIUCBDJZCHZBDACEKZIABDJZCEKZUCBCDLBDUGUDUG
      UDMBFDGACENOPUIUBUHSZCHUFUHCENUEUJCUBABDQTRUA $.
  $}

  ${
    $d x y A $.  $d x y B $.  $d y C $.  $d x D $.
    iunxdif2.1 $e |- ( x = y -> C = D ) $.
    $( Indexed union with a class difference as its index.  (Contributed by NM,
       10-Dec-2004.) $)
    iunxdif2 $p |- ( A. x e. A E. y e. ( A \ B ) C C_ D ->
                 U_ y e. ( A \ B ) D = U_ x e. A C ) $=
      ( wss cdif wrex wral ciun wceq iunss2 difss iunss1 ax-mp cbviunv sseqtr4i
      wa jctil eqss sylibr ) EFHBCDIZJACKZBUDFLZACELZHZUGUFHZTUFUGMUEUIUHABCUDE
      FNUFBCFLZUGUDCHUFUJHCDOBUDCFPQABCEFGRSUAUFUGUBUC $.
  $}

  ${
    $d y A $.  $d y B $.  $d y C $.  $d x y $.
    ssiinf.1 $e |- F/_ x C $.
    $( Subset theorem for an indexed intersection.  (Contributed by FL,
       15-Oct-2012.)  (Proof shortened by Mario Carneiro, 14-Oct-2016.) $)
    ssiinf $p |- ( C C_ |^|_ x e. A B <-> A. x e. A C C_ B ) $=
      ( vy cv ciin wcel wral wss cvv vex eliin ax-mp ralbii nfcv ralcomf dfss3
      wb bitri 3bitr4i ) FGZABCHZIZFDJZUCCIZFDJZABJZDUDKDCKZABJUFUGABJZFDJUIUEU
      KFDUCLIUEUKTFMAUCBCLNOPUGFADBEFBQRUAFDUDSUJUHABFDCSPUB $.
  $}

  ${
    $d x C $.
    $( Subset theorem for an indexed intersection.  (Contributed by NM,
       15-Oct-2003.) $)
    ssiin $p |- ( C C_ |^|_ x e. A B <-> A. x e. A C C_ B ) $=
      ( nfcv ssiinf ) ABCDADEF $.
  $}

  ${
    $d x y C $.  $d y A $.  $d y B $.
    $( Subset implication for an indexed intersection.  (Contributed by NM,
       15-Oct-2003.)  (Proof shortened by Andrew Salmon, 25-Jul-2011.) $)
    iinss $p |- ( E. x e. A B C_ C -> |^|_ x e. A B C_ C ) $=
      ( vy wss wrex ciin cv wcel wral cvv wb vex eliin ax-mp wi reximi r19.36av
      ssel syl syl5bi ssrdv ) CDFZABGZEABCHZDEIZUFJZUGCJZABKZUEUGDJZUGLJUHUJMEN
      AUGBCLOPUEUIUKQZABGUJUKQUDULABCDUGTRUIUKABSUAUBUC $.
  $}

  ${
    $d A y $.  $d B y $.  $d x y $.
    $( An indexed intersection is included in any of its members.  (Contributed
       by FL, 15-Oct-2012.) $)
    iinss2 $p |- ( x e. A -> |^|_ x e. A B C_ B ) $=
      ( vy cv wcel ciin wral wi cvv wb vex eliin ax-mp rsp sylbi com12 ssrdv )
      AEBFZDABCGZCDEZTFZSUACFZUBUCABHZSUCIUAJFUBUDKDLAUABCJMNUCABOPQR $.
  $}

  ${
    $d x y A $.
    $( Class union in terms of indexed union.  Definition in [Stoll] p. 43.
       (Contributed by NM, 28-Jun-1998.) $)
    uniiun $p |- U. A = U_ x e. A x $=
      ( vy cuni cv wcel wrex cab ciun dfuni2 df-iun eqtr4i ) BDCEAEZFABGCHABMIC
      ABJACBMKL $.

    $( Class intersection in terms of indexed intersection.  Definition in
       [Stoll] p. 44.  (Contributed by NM, 28-Jun-1998.) $)
    intiin $p |- |^| A = |^|_ x e. A x $=
      ( vy cint cv wcel wral cab ciin dfint2 df-iin eqtr4i ) BDCEAEZFABGCHABMIC
      ABJACBMKL $.

    $( An indexed union of singletons recovers the index set.  (Contributed by
       NM, 6-Sep-2005.) $)
    iunid $p |- U_ x e. A { x } = A $=
      ( vy cv csn ciun wceq cab wcel df-sn equcom abbii eqtri a1i iuneq2i iunab
      wrex risset abid2 3eqtr2i ) ABADZEZFABUACDZGZCHZFZBABUBUEUBUEGUABIUBUCUAG
      ZCHUECUAJUGUDCCAKLMNOUFUDABQZCHUCBIZCHBUDACBPUIUHCAUCBRLCBSTM $.
  $}

  ${
    $d x y $.  $d y A $.
    $( An indexed union of the empty set is empty.  (Contributed by NM,
       26-Mar-2003.)  (Proof shortened by Andrew Salmon, 25-Jul-2011.) $)
    iun0 $p |- U_ x e. A (/) = (/) $=
      ( vy c0 ciun cv wcel wrex wn noel a1i nrex eliun mtbir 2false eqriv ) CAB
      DEZDCFZQGZRDGZSTABHTABTIAFBGRJZKLARBDMNUAOP $.

    $( An empty indexed union is empty.  (Contributed by NM, 4-Dec-2004.)
       (Proof shortened by Andrew Salmon, 25-Jul-2011.) $)
    0iun $p |- U_ x e. (/) A = (/) $=
      ( vy c0 ciun cv wcel wrex rex0 eliun mtbir noel 2false eqriv ) CADBEZDCFZ
      OGZPDGQPBGZADHRAIAPDBJKPLMN $.

    $( An empty indexed intersection is the universal class.  (Contributed by
       NM, 20-Oct-2005.) $)
    0iin $p |- |^|_ x e. (/) A = _V $=
      ( vy c0 ciin cv wcel wral cab cvv df-iin vex ral0 2th abbi2i eqtr4i ) ADB
      ECFZBGZADHZCIJACDBKSCJQJGSCLRAMNOP $.

    $( Indexed intersection with a universal index class.  When ` A ` doesn't
       depend on ` x ` , this evaluates to ` A ` by ~ 19.3 and ~ abid2 .  When
       ` A = x ` , this evaluates to ` (/) ` by ~ intiin and intv in set.mm.
       (Contributed by NM, 11-Sep-2008.) $)
    viin $p |- |^|_ x e. _V A = { y | A. x y e. A } $=
      ( cvv ciin cv wcel wral cab wal df-iin ralv abbii eqtri ) ADCEBFCGZADHZBI
      OAJZBIABDCKPQBOALMN $.
  $}

  ${
    $d x y A $.  $d y B $.
    $( There is a non-empty class in an indexed collection ` B ( x ) ` iff the
       indexed union of them is non-empty.  (Contributed by NM, 15-Oct-2003.)
       (Proof shortened by Andrew Salmon, 25-Jul-2011.) $)
    iunn0 $p |- ( E. x e. A B =/= (/) <-> U_ x e. A B =/= (/) ) $=
      ( vy cv wcel wex wrex c0 wne rexcom4 eliun exbii bitr4i n0 rexbii 3bitr4i
      ciun ) DEZCFZDGZABHZSABCRZFZDGZCIJZABHUCIJUBTABHZDGUETADBKUDUGDASBCLMNUFU
      AABDCOPDUCOQ $.
  $}

  ${
    $d y A $.  $d x y $.
    $( Indexed intersection of a class builder.  (Contributed by NM,
       6-Dec-2011.) $)
    iinab $p |- |^|_ x e. A { y | ph } = { y | A. x e. A ph } $=
      ( cab ciin wral wceq cv wcel nfcv nfab1 nfiin cleqf abid ralbii cvv eliin
      wb vex ax-mp 3bitr4i mpgbir ) BDACEZFZABDGZCEZHCIZUEJZUHUGJZSCCUEUGBCDUDC
      DKACLMUFCLNUHUDJZBDGZUFUIUJUKABDACOPUHQJUIULSCTBUHDUDQRUAUFCOUBUC $.

    $d x A $.  $d x B $.
    $( Indexed intersection of a restricted class builder.  (Contributed by NM,
       6-Dec-2011.) $)
    iinrab $p |- ( A =/= (/)
          -> |^|_ x e. A { y e. B | ph } = { y e. B | A. x e. A ph } ) $=
      ( c0 wne cv wcel wa wral cab crab ciin r19.28zv abbidv df-rab a1i iineq2i
      wceq iinab eqtri 3eqtr4g ) DFGZCHEIZAJZBDKZCLZUEABDKZJZCLBDACEMZNZUICEMUD
      UGUJCUEABDOPULBDUFCLZNUHBDUKUMUKUMTBHDIACEQRSUFBCDUAUBUICEQUC $.

    $d y B $.
    $( Indexed intersection of a restricted class builder.  (Contributed by NM,
       6-Dec-2011.) $)
    iinrab2 $p |- ( |^|_ x e. A { y e. B | ph } i^i B )
                      = { y e. B | A. x e. A ph } $=
      ( crab ciin cin wral wceq c0 cvv iineq1 0iin syl6eq incom inv1 eqtri rzal
      ineq1d rabid2 ralcom bitr2i sylib wne iinrab wss ssrab2 dfss mpbi syl6eqr
      eqtrd pm2.61ine ) BDACEFZGZEHZABDIZCEFZJDKDKJZUPEURUSUPLEHZEUSUOLEUSUOBKU
      NGLBDKUNMBUNNOTUTELHELEPEQROUSACEIZBDIZEURJZVABDSVCUQCEIVBUQCEUAACBEDUBUC
      UDULDKUEZUPUREHZURVDUOUREABCDEUFTUREUGURVEJUQCEUHUREUIUJUKUM $.
  $}

  ${
    $d y A $.  $d x y B $.  $d y C $.
    $( Indexed union of intersection.  Generalization of half of theorem
       "Distributive laws" in [Enderton] p. 30.  Use ~ uniiun to recover
       Enderton's theorem.  (Contributed by NM, 26-Mar-2004.) $)
    iunin2 $p |- U_ x e. A ( B i^i C ) = ( B i^i U_ x e. A C ) $=
      ( vy cin ciun cv wcel wrex r19.42v elin rexbii eliun anbi2i 3bitr4i eqriv
      wa ) EABCDFZGZCABDGZFZEHZSIZABJZUCCIZUCUAIZRZUCTIUCUBIUFUCDIZRZABJUFUIABJ
      ZRUEUHUFUIABKUDUJABUCCDLMUGUKUFAUCBDNOPAUCBSNUCCUALPQ $.

    $( Indexed union of intersection.  Generalization of half of theorem
       "Distributive laws" in [Enderton] p. 30.  Use ~ uniiun to recover
       Enderton's theorem.  (Contributed by Mario Carneiro, 30-Aug-2015.) $)
    iunin1 $p |- U_ x e. A ( C i^i B ) = ( U_ x e. A C i^i B ) $=
      ( cin ciun iunin2 wceq cv wcel incom a1i iuneq2i 3eqtr4i ) ABCDEZFCABDFZE
      ABDCEZFPCEABCDGABQOQOHAIBJDCKLMPCKN $.

    $( Indexed intersection of union.  Generalization of half of theorem
       "Distributive laws" in [Enderton] p. 30.  Use ~ intiin to recover
       Enderton's theorem.  (Contributed by NM, 19-Aug-2004.) $)
    iinun2 $p |- |^|_ x e. A ( B u. C ) = ( B u. |^|_ x e. A C ) $=
      ( vy cun ciin cv wcel wral wo r19.32v elun ralbii cvv eliin ax-mp 3bitr4i
      wb vex orbi2i eqriv ) EABCDFZGZCABDGZFZEHZUCIZABJZUGCIZUGUEIZKZUGUDIZUGUF
      IUJUGDIZKZABJUJUNABJZKUIULUJUNABLUHUOABUGCDMNUKUPUJUGOIZUKUPSETZAUGBDOPQU
      ARUQUMUISURAUGBUCOPQUGCUEMRUB $.

    $( Indexed union of class difference.  Generalization of half of theorem
       "De Morgan's laws" in [Enderton] p. 31.  Use ~ intiin to recover
       Enderton's theorem.  (Contributed by NM, 19-Aug-2004.) $)
    iundif2 $p |- U_ x e. A ( B \ C ) = ( B \ |^|_ x e. A C ) $=
      ( vy cdif ciun ciin cv wcel wrex wn wa eldif rexbii r19.42v rexnal cvv wb
      wral vex eliin ax-mp xchbinxr anbi2i 3bitri eliun 3bitr4i eqriv ) EABCDFZ
      GZCABDHZFZEIZUJJZABKZUNCJZUNULJZLZMZUNUKJUNUMJUPUQUNDJZLZMZABKUQVBABKZMUT
      UOVCABUNCDNOUQVBABPVDUSUQVDVAABTZURVAABQUNRJURVESEUAAUNBDRUBUCUDUEUFAUNBU
      JUGUNCULNUHUI $.
  $}

  ${
    $d x B $.  $d y C $.  $d x D $.  $d x y $.
    $( Rearrange indexed unions over intersection.  (Contributed by NM,
       18-Dec-2008.) $)
    2iunin $p |- U_ x e. A U_ y e. B ( C i^i D )
        = ( U_ x e. A C i^i U_ y e. B D ) $=
      ( cin ciun wceq cv wcel iunin2 a1i iuneq2i iunin1 eqtri ) ACBDEFGHZHACEBD
      FHZGZHACEHRGACQSQSIAJCKBDEFLMNACREOP $.
  $}

  ${
    $d x y A $.  $d x y B $.  $d y C $.
    $( Indexed intersection of class difference.  Generalization of half of
       theorem "De Morgan's laws" in [Enderton] p. 31.  Use ~ uniiun to recover
       Enderton's theorem.  (Contributed by NM, 5-Oct-2006.) $)
    iindif2 $p |- ( A =/= (/) ->
                 |^|_ x e. A ( B \ C ) = ( B \ U_ x e. A C ) ) $=
      ( vy c0 wne cdif ciin ciun cv wcel wn wa r19.28zv eldif bicomi ralbii cvv
      wral wrex ralnex eliun xchbinxr anbi2i 3bitr3g wb vex eliin ax-mp 3bitr4g
      eqrdv ) BFGZEABCDHZIZCABDJZHZUMEKZUNLZABTZURCLZURUPLZMZNZURUOLZURUQLUMVAU
      RDLZMZNZABTVAVGABTZNUTVDVAVGABOVHUSABUSVHURCDPQRVIVCVAVIVFABUAVBVFABUBAUR
      BDUCUDUEUFURSLVEUTUGEUHAURBUNSUIUJURCUPPUKUL $.

    $( Indexed intersection of intersection.  Generalization of half of theorem
       "Distributive laws" in [Enderton] p. 30.  Use ~ intiin to recover
       Enderton's theorem.  (Contributed by Mario Carneiro, 19-Mar-2015.) $)
    iinin2 $p |- ( A =/= (/) ->
      |^|_ x e. A ( B i^i C ) = ( B i^i |^|_ x e. A C ) ) $=
      ( vy c0 wne cin ciin cv wcel wral wa r19.28zv elin wb eliin ax-mp 3bitr4g
      cvv ralbii vex anbi2i eqrdv ) BFGZEABCDHZIZCABDIZHZUEEJZUFKZABLZUJCKZUJUH
      KZMZUJUGKZUJUIKUEUMUJDKZMZABLUMUQABLZMULUOUMUQABNUKURABUJCDOUAUNUSUMUJTKZ
      UNUSPEUBZAUJBDTQRUCSUTUPULPVAAUJBUFTQRUJCUHOSUD $.

    $( Indexed intersection of intersection.  Generalization of half of theorem
       "Distributive laws" in [Enderton] p. 30.  Use ~ intiin to recover
       Enderton's theorem.  (Contributed by Mario Carneiro, 19-Mar-2015.) $)
    iinin1 $p |- ( A =/= (/) ->
      |^|_ x e. A ( C i^i B ) = ( |^|_ x e. A C i^i B ) ) $=
      ( c0 wne cin ciin iinin2 wceq cv wcel incom a1i iineq2i 3eqtr4g ) BEFABCD
      GZHCABDHZGABDCGZHRCGABCDIABSQSQJAKBLDCMNORCMP $.
  $}

  ${
    $d A x y $.  $d X x y $.  $d B x $.
    $( Elementhood in a relative intersection.  (Contributed by Mario Carneiro,
       30-Dec-2016.) $)
    elriin $p |- ( B e. ( A i^i |^|_ x e. X S ) <->
      ( B e. A /\ A. x e. X B e. S ) ) $=
      ( ciin cin wcel wa wral elin eliin pm5.32i bitri ) CBAEDFZGHCBHZCOHZIPCDH
      AEJZICBOKPQRACEDBLMN $.

    $( Relative intersection of an empty family.  (Contributed by Stefan
       O'Rear, 3-Apr-2015.) $)
    riin0 $p |- ( X = (/) -> ( A i^i |^|_ x e. X S ) = A ) $=
      ( c0 wceq ciin cin iineq1 ineq2d cvv 0iin ineq2i inv1 eqtri syl6eq ) DEFZ
      BADCGZHBAECGZHZBQRSBADECIJTBKHBSKBACLMBNOP $.

    $( Relative intersection of a nonempty family.  (Contributed by Stefan
       O'Rear, 3-Apr-2015.) $)
    riinn0 $p |- ( ( A. x e. X S C_ A /\ X =/= (/) ) ->
        ( A i^i |^|_ x e. X S ) = |^|_ x e. X S ) $=
      ( wss wral c0 wne wa ciin incom wceq wrex r19.2z ancoms iinss df-ss sylib
      cin syl syl5eq ) CBEZADFZDGHZIZBADCJZSUFBSZUFBUFKUEUFBEZUGUFLUEUBADMZUHUD
      UCUIUBADNOADCBPTUFBQRUA $.

    $( Relative intersection of a relative abstraction.  (Contributed by Stefan
       O'Rear, 3-Apr-2015.) $)
    riinrab $p |- ( A i^i |^|_ x e. X { y e. A | ph } ) =
        { y e. A | A. x e. X ph } $=
      ( crab ciin cin wral wceq c0 riin0 rzal ralrimivw rabid2 sylibr eqtrd wne
      wss ssrab2 rgenw riinn0 mpan iinrab pm2.61ine ) DBEACDFZGZHZABEIZCDFZJEKE
      KJZUHDUJBDUFELUKUICDIDUJJUKUICDABEMNUICDOPQEKRZUHUGUJUFDSZBEIULUHUGJUMBEA
      CDTUABDUFEUBUCABCEDUDQUE $.
  $}

  ${
    $d x y A $.  $d y B $.  $d x y C $.  $d y V $.
    iinxsng.1 $e |- ( x = A -> B = C ) $.
    $( A singleton index picks out an instance of an indexed intersection's
       argument.  (Contributed by NM, 15-Jan-2012.)  (Proof shortened by Mario
       Carneiro, 17-Nov-2016.) $)
    iinxsng $p |- ( A e. V -> |^|_ x e. { A } B = C ) $=
      ( vy wcel csn ciin cv wral cab df-iin wceq eleq2d ralsng abbi1dv syl5eq )
      BEHZABIZCJGKZCHZAUALZGMDAGUACNTUDGDUCUBDHABEAKBOCDUBFPQRS $.
  $}

  ${
    $d x y A $.  $d x y B $.  $d y C $.  $d x y D $.  $d x y E $.  $d y V $.
    $d y W $.
    iinxprg.1 $e |- ( x = A -> C = D ) $.
    iinxprg.2 $e |- ( x = B -> C = E ) $.
    $( Indexed intersection with an unordered pair index.  (Contributed by NM,
       25-Jan-2012.) $)
    iinxprg $p |- ( ( A e. V /\ B e. W )
        -> |^|_ x e. { A , B } C = ( D i^i E ) ) $=
      ( vy wcel wa cpr ciin cin cv wceq eleq2d cvv wral ralprg eliin ax-mp elin
      wb vex 3bitr4g eqrdv ) BGLCHLMZKABCNZDOZEFPZUJKQZDLZAUKUAZUNELZUNFLZMUNUL
      LZUNUMLUOUQURABCGHAQZBRDEUNISUTCRDFUNJSUBUNTLUSUPUFKUGAUNUKDTUCUDUNEFUEUH
      UI $.
  $}

  ${
    $d x y A $.  $d y B $.  $d x y C $.  $d y V $.
    iunxsng.1 $e |- ( x = A -> B = C ) $.
    $( A singleton index picks out an instance of an indexed union's argument.
       (Contributed by Mario Carneiro, 25-Jun-2016.) $)
    iunxsng $p |- ( A e. V -> U_ x e. { A } B = C ) $=
      ( vy wcel csn ciun cv wrex eliun wceq eleq2d rexsng syl5bb eqrdv ) BEHZGA
      BIZCJZDGKZUAHUBCHZATLSUBDHZAUBTCMUCUDABEAKBNCDUBFOPQR $.
  $}

  ${
    $d x A $.  $d x C $.
    iunxsn.1 $e |- A e. _V $.
    iunxsn.2 $e |- ( x = A -> B = C ) $.
    $( A singleton index picks out an instance of an indexed union's argument.
       (Contributed by NM, 26-Mar-2004.)  (Proof shortened by Mario Carneiro,
       25-Jun-2016.) $)
    iunxsn $p |- U_ x e. { A } B = C $=
      ( cvv wcel csn ciun wceq iunxsng ax-mp ) BGHABICJDKEABCDGFLM $.
  $}

  ${
    $d x y $.  $d y A $.  $d y B $.  $d y C $.
    $( Separate a union in an indexed union.  (Contributed by NM,
       27-Dec-2004.)  (Proof shortened by Mario Carneiro, 17-Nov-2016.) $)
    iunun $p |- U_ x e. A ( B u. C ) = ( U_ x e. A B u. U_ x e. A C ) $=
      ( vy cun ciun cv wcel wrex r19.43 elun rexbii eliun orbi12i 3bitr4i eqriv
      wo ) EABCDFZGZABCGZABDGZFZEHZSIZABJZUDUAIZUDUBIZRZUDTIUDUCIUDCIZUDDIZRZAB
      JUJABJZUKABJZRUFUIUJUKABKUEULABUDCDLMUGUMUHUNAUDBCNAUDBDNOPAUDBSNUDUAUBLP
      Q $.

    $( Separate a union in the index of an indexed union.  (Contributed by NM,
       26-Mar-2004.)  (Proof shortened by Mario Carneiro, 17-Nov-2016.) $)
    iunxun $p |- U_ x e. ( A u. B ) C = ( U_ x e. A C u. U_ x e. B C ) $=
      ( vy cun ciun cv wcel wrex rexun eliun orbi12i bitr4i elun 3bitr4i eqriv
      wo ) EABCFZDGZABDGZACDGZFZEHZDIZASJZUDUAIZUDUBIZRZUDTIUDUCIUFUEABJZUEACJZ
      RUIUEABCKUGUJUHUKAUDBDLAUDCDLMNAUDSDLUDUAUBOPQ $.
  $}

  ${
    $d x y z $.  $d x z A $.  $d z B $.  $d y z C $.
    $( Separate an indexed union in the index of an indexed union.
       (Contributed by Mario Carneiro, 5-Dec-2016.) $)
    iunxiun $p |- U_ x e. U_ y e. A B C = U_ y e. A U_ x e. B C $=
      ( vz ciun cv wcel wa wex eliun anbi1i r19.41v bitr4i exbii rexcom4 df-rex
      wrex 3bitr4i bitri rexbii eqriv ) FABCDGZEGZBCADEGZGZFHZEIZAUDSZUHUFIZBCS
      ZUHUEIUHUGIAHZUDIZUIJZAKZUMDIZUIJZAKZBCSZUJULUPURBCSZAKUTUOVAAUOUQBCSZUIJ
      VAUNVBUIBUMCDLMUQUIBCNOPURBACQOUIAUDRUKUSBCUKUIADSUSAUHDELUIADRUAUBTAUHUD
      ELBUHCUFLTUC $.
  $}

  ${
    $d x y A $.  $d x y B $.
    $( A relationship involving union and indexed intersection.  Exercise 23 of
       [Enderton] p. 33.  (Contributed by NM, 25-Nov-2003.)  (Proof shortened
       by Mario Carneiro, 17-Nov-2016.) $)
    iinuni $p |- ( A u. |^| B ) = |^|_ x e. B ( A u. x ) $=
      ( vy cint cun cv ciin wcel wral wel r19.32v elun ralbii vex elint2 orbi2i
      wo 3bitr4ri cvv wb eliin ax-mp 3bitr4i eqriv ) DBCEZFZACBAGZFZHZDGZBIZUKU
      FIZRZUKUIIZACJZUKUGIUKUJIZULDAKZRZACJULURACJZRUPUNULURACLUOUSACUKBUHMNUMU
      TULAUKCDOZPQSUKBUFMUKTIUQUPUAVAAUKCUITUBUCUDUE $.

    $( A relationship involving union and indexed union.  Exercise 25 of
       [Enderton] p. 33.  (Contributed by NM, 25-Nov-2003.)  (Proof shortened
       by Mario Carneiro, 17-Nov-2016.) $)
    iununi $p |- ( ( B = (/) -> A = (/) ) <->
                ( A u. U. B ) = U_ x e. B ( A u. x ) ) $=
      ( c0 wceq wi cuni cun cv ciun wn wne iunconst sylbir iun0 iuneq2d 3eqtr4a
      df-ne id syl6eq ja eqcomd uneq1d uniiun uneq2i iunun 3eqtr4g unieq uneq2d
      uni0 un0 iuneq1 0iun eqeq12d biimpcd impbii ) CDEZBDEZFZBCGZHZACBAIZHZJZE
      ZUSBACVBJZHACBJZVFHVAVDUSBVGVFUSVGBUQURVGBEZUQKCDLVHCDRACBMNURACDJDVGBACO
      URACBDURSZPVIQUAUBUCUTVFBACUDUEACBVBUFUGUQVEURUQVABVDDUQVABDHBUQUTDBUQUTD
      GDCDUHUJTUIBUKTUQVDADVCJDACDVCULAVCUMTUNUOUP $.
  $}

  ${
    $d x A $.  $d x B $.
    $( Subclass relationship for power class and union.  (Contributed by NM,
       18-Jul-2006.) $)
    sspwuni $p |- ( A C_ ~P B <-> U. A C_ B ) $=
      ( vx cv cpw wcel wral wss cuni vex elpw ralbii dfss3 unissb 3bitr4i ) CDZ
      BEZFZCAGPBHZCAGAQHAIBHRSCAPBCJKLCAQMCABNO $.

    $( Two ways to express a collection of subclasses.  (Contributed by NM,
       19-Jul-2006.) $)
    pwssb $p |- ( A C_ ~P B <-> A. x e. A x C_ B ) $=
      ( cpw wss cuni cv wral sspwuni unissb bitri ) BCDEBFCEAGCEABHBCIABCJK $.
  $}

  $( Relationship for power class and union.  (Contributed by NM,
     18-Jul-2006.) $)
  elpwuni $p |- ( B e. A -> ( A C_ ~P B <-> U. A = B ) ) $=
    ( cpw wss cuni wcel wceq sspwuni unissel expcom eqimss impbid1 syl5bb ) ABC
    DAEZBDZBAFZNBGZABHPOQOPQABIJNBKLM $.

  ${
    $d x y A $.
    $( The power class of an intersection in terms of indexed intersection.
       Exercise 24(a) of [Enderton] p. 33.  (Contributed by NM,
       29-Nov-2003.) $)
    iinpw $p |- ~P |^| A = |^|_ x e. A ~P x $=
      ( vy cint cpw cv ciin wss wcel wral ssint vex elpw ralbii bitr4i wb eliin
      cvv ax-mp 3bitr4i eqriv ) CBDZEZABAFZEZGZCFZUBHZUGUEIZABJZUGUCIUGUFIZUHUG
      UDHZABJUJAUGBKUIULABUGUDCLZMNOUGUBUMMUGRIUKUJPUMAUGBUERQSTUA $.

    $( Inclusion of an indexed union of a power class in the power class of the
       union of its index.  Part of Exercise 24(b) of [Enderton] p. 33.
       (Contributed by NM, 25-Nov-2003.) $)
    iunpwss $p |- U_ x e. A ~P x C_ ~P U. A $=
      ( vy cpw ciun cuni wss wrex wcel ssiun eliun vex elpw rexbii bitri uniiun
      cv sseq2i 3imtr4i ssriv ) CABAQZDZEZBFZDZCQZUAGZABHZUFABUAEZGZUFUCIZUFUEI
      ZABUAUFJUKUFUBIZABHUHAUFBUBKUMUGABUFUACLZMNOULUFUDGUJUFUDUNMUDUIUFABPROST
      $.
  $}

  $( Relative intersection of a nonempty set.  (Contributed by Stefan O'Rear,
     3-Apr-2015.)  (Revised by Mario Carneiro, 5-Jun-2015.) $)
  rintn0 $p |- ( ( X C_ ~P A /\ X =/= (/) ) -> ( A i^i |^| X ) = |^| X ) $=
    ( cpw wss c0 wne wa cint incom wceq cuni intssuni2 ssid sspwuni mpbi syl6ss
    cin df-ss sylib syl5eq ) BACZDBEFGZABHZQUCAQZUCAUCIUBUCADUDUCJUBUCUAKZABUAL
    UAUADUEADUAMUAANOPUCARST $.


$(
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
        The Kuratowski ordered pair
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
$)

  $( Declare new symbols needed. $)
  $c << $.  $( Double bracket $)
  $c >> $.  $( Double bracket $)

  $( Extend class notation to include Kuratowski ordered pair. $)
  copk $a class << A , B >> $.

  $( Define the Kuratowski ordered pair.  This ordered pair definition is
     standard for ZFC set theory, but we do not use it beyond establishing
     ~ df-op , since it is not type-level.  We state this definition since it
     is a simple definition that can be used by the set construction axioms
     that follow this section.  (Contributed by SF, 12-Jan-2015.) $)
  df-opk $a |- << A , B >> = { { A } , { A , B } } $.

  $( Equality theorem for ordered pairs.  (Contributed by NM, 25-Jun-1998.) $)
  opkeq1 $p |- ( A = B -> << A , C >> = << B , C >> ) $=
    ( wceq csn cpr copk sneq preq1 preq12d df-opk 3eqtr4g ) ABDZAEZACFZFBEZBCFZ
    FACGBCGMNPOQABHABCIJACKBCKL $.

  $( Equality theorem for ordered pairs.  (Contributed by NM, 25-Jun-1998.) $)
  opkeq2 $p |- ( A = B -> << C , A >> = << C , B >> ) $=
    ( wceq csn cpr copk preq2 preq2d df-opk 3eqtr4g ) ABDZCEZCAFZFMCBFZFCAGCBGL
    NOMABCHICAJCBJK $.

  $( Equality theorem for ordered pairs.  (Contributed by NM, 28-May-1995.) $)
  opkeq12 $p |- ( ( A = C /\ B = D ) -> << A , B >> = << C , D >> ) $=
    ( wceq copk opkeq1 opkeq2 sylan9eq ) ACEBDEABFCBFCDFACBGBDCHI $.

  ${
    opkeq1i.1 $e |- A = B $.
    $( Equality inference for ordered pairs.  (Contributed by NM,
       16-Dec-2006.) $)
    opkeq1i $p |- << A , C >> = << B , C >> $=
      ( wceq copk opkeq1 ax-mp ) ABEACFBCFEDABCGH $.

    $( Equality inference for ordered pairs.  (Contributed by NM,
       16-Dec-2006.) $)
    opkeq2i $p |- << C , A >> = << C , B >> $=
      ( wceq copk opkeq2 ax-mp ) ABECAFCBFEDABCGH $.

    ${
      opkeq12i.2 $e |- C = D $.
      $( Equality inference for ordered pairs.  (The proof was shortened by
         Eric Schmidt, 4-Apr-2007.)  (Contributed by NM, 16-Dec-2006.) $)
      opkeq12i $p |- << A , C >> = << B , D >> $=
        ( wceq copk opkeq12 mp2an ) ABGCDGACHBDHGEFACBDIJ $.
    $}
  $}

  ${
    opkeq1d.1 $e |- ( ph -> A = B ) $.
    $( Equality deduction for ordered pairs.  (Contributed by NM,
       16-Dec-2006.) $)
    opkeq1d $p |- ( ph -> << A , C >> = << B , C >> ) $=
      ( wceq copk opkeq1 syl ) ABCFBDGCDGFEBCDHI $.

    $( Equality deduction for ordered pairs.  (Contributed by NM,
       16-Dec-2006.) $)
    opkeq2d $p |- ( ph -> << C , A >> = << C , B >> ) $=
      ( wceq copk opkeq2 syl ) ABCFDBGDCGFEBCDHI $.

    ${
      opkeq12d.2 $e |- ( ph -> C = D ) $.
      $( Equality deduction for ordered pairs.  (The proof was shortened by
         Andrew Salmon, 29-Jun-2011.)  (Contributed by NM, 16-Dec-2006.) $)
      opkeq12d $p |- ( ph -> << A , C >> = << B , D >> ) $=
        ( wceq copk opkeq12 syl2anc ) ABCHDEHBDICEIHFGBDCEJK $.
    $}
  $}

  ${
    nfopk.1 $e |- F/_ x A $.
    nfopk.2 $e |- F/_ x B $.
    $( Bound-variable hypothesis builder for ordered pairs.  (Contributed by
       NM, 14-Nov-1995.) $)
    nfopk $p |- F/_ x << A , B >> $=
      ( copk csn cpr df-opk nfsn nfpr nfcxfr ) ABCFBGZBCHZHBCIAMNABDJABCDEKKL
      $.
  $}

$(
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
        More Boolean set operations
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
$)

  $( Complement in terms of difference.  (Contributed by SF, 2-Jan-2018.) $)
  compldif $p |- ~ A = ( _V \ A ) $=
    ( cvv cdif ccompl cin df-dif incom inv1 3eqtrri ) BACBADZEJBEJBAFBJGJHI $.

  $( The complement of the universe is the empty set.  (Contributed by SF,
     2-Jan-2018.) $)
  complV $p |- ~ _V = (/) $=
    ( cvv ccompl cdif c0 compldif df-nul eqtr4i ) ABAACDAEFG $.

  $( The complement of the empty set is the universe.  (Contributed by SF,
     2-Jan-2018.) $)
  compl0 $p |- ~ (/) = _V $=
    ( cvv ccompl c0 complV compleqi dblcompl eqtr3i ) ABZBCBAHCDEAFG $.

  ${
    $d x A $.
    $( Anti-intersection with complement.  (Contributed by SF, 2-Jan-2018.) $)
    nincompl $p |- ( A -i^i ~ A ) = _V $=
      ( vx ccompl cnin cvv wceq cv wcel eqv wn wa pm3.24 wnan vex elnin elcompl
      nanbi2i df-nan 3bitri mpbir mpgbir ) AACZDZEFBGZUCHZBBUCIUEUDAHZUFJZKJZUF
      LUEUFUDUBHZMUFUGMUHUDAUBBNZOUIUGUFUDAUJPQUFUGRSTUA $.
  $}

  $( Intersection with complement.  (Contributed by SF, 2-Jan-2018.) $)
  incompl $p |- ( A i^i ~ A ) = (/) $=
    ( ccompl cin cnin cvv c0 df-in nincompl compleqi complV 3eqtri ) AABZCALDZB
    EBFALGMEAHIJK $.

  $( Union with complement.  (Contributed by SF, 2-Jan-2018.) $)
  uncompl $p |- ( A u. ~ A ) = _V $=
    ( ccompl cun cnin cvv df-un nincompl eqtri ) AABZCIIBDEAIFIGH $.

  $( The intersection of an intersection and a difference is empty.
     (Contributed by set.mm contributors, 10-Mar-2015.) $)
  inindif $p |- ( ( A i^i B ) i^i ( A \ B ) ) = (/) $=
    ( cin cdif ccompl c0 df-dif ineq2i inindi incompl in0 eqtri 3eqtr2i ) ABCZA
    BDZCNABEZCZCABPCZCZFOQNABGHABPISAFCFRFABJHAKLM $.

  ${
    $d A x $.  $d B x $.  $d C x $.
    $( Condition for subset when ` A ` is already known to be a subset.
       (Contributed by SF, 13-Jan-2015.) $)
    ssofss $p |- ( A C_ C -> ( A C_ B <-> A. x e. C ( x e. A -> x e. B ) ) ) $=
      ( wss cv wcel wi wral ccompl wa vex elcompl ssel con3d syl5bi imp pm2.21d
      wn cvv ralrimiva biantrud cun wal ralv raleqi dfss2 3bitr4ri ralunb bitri
      uncompl syl6rbbr ) BDEZAFZBGZUNCGZHZADIZURUQADJZIZKZBCEZUMUTURUMUQAUSUMUN
      USGZKUOUPUMVCUOSZVCUNDGZSUMVDUNDALMUMUOVEBDUNNOPQRUAUBVBUQADUSUCZIZVAUQAT
      IUQAUDVGVBUQAUEUQAVFTDUKUFABCUGUHUQADUSUIUJUL $.
  $}

  ${
    $d A x $.  $d B x $.  $d C x $.
    $( When ` A ` and ` B ` are subsets of ` C ` , equality depends only on the
       elements of ` C ` .  (Contributed by SF, 13-Jan-2015.) $)
    ssofeq $p |- ( ( A C_ C /\ B C_ C ) ->
        ( A = B <-> A. x e. C ( x e. A <-> x e. B ) ) ) $=
      ( wss wa cv wcel wi wral wceq wb ssofss bi2anan9 eqss ralbiim 3bitr4g ) B
      DEZCDEZFBCEZCBEZFAGZBHZUBCHZIADJZUDUCIADJZFBCKUCUDLADJRTUESUAUFABCDMACBDM
      NBCOUCUDADPQ $.
  $}


$(
#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#
             NF Set Theory - add the Set Construction Axioms
#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#
$)

$(
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
        Introduce the set construction axioms
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
$)

  ${
    $d x y z w $.
    $( State the axiom of anti-intersection.  Axiom P1 of [Hailperin] p. 6.
       This axiom sets up boolean operations on sets.

       Note on this and the following axioms: this axiom, ~ ax-xp , ~ ax-cnv ,
       ~ ax-1c , ~ ax-sset , ~ ax-si , ~ ax-ins2 , ~ ax-ins3 , and
       ~ ax-typlower are from Hailperin and are designed to implement the
       Stratification Axiom of Quine.

       A well-formed formula using only propositional symbols, predicate
       symbols, and ` e. ` is "stratified" iff you can make a (metalogical)
       mapping from the variables to the natural numbers such that any formulas
       of the form ` x = y ` have the same number, and any formulas of the form
       ` x e. y ` have ` x ` as one less than ` y ` .  Quine's stratification
       axiom states that there is a set corresponding to any stratified
       formula.

       Since we cannot state stratification from within the logic, we use
       Hailperin's axioms and prove existence of stratified sets using
       Hailperin's algorithm.  (Contributed by SF, 12-Jan-2015.) $)
    ax-nin $a |- E. z A. w ( w e. z <-> ( w e. x -/\ w e. y ) ) $.
  $}

  ${
    $d x y z w t $.
    $( State the axiom of cross product.  This axiom guarantees the existence
       of the (Kuratowski) cross product of ` _V ` with ` x ` .  Axiom P5 of
       [Hailperin] p. 10.  (Contributed by SF, 12-Jan-2015.) $)
    ax-xp $a |- E. y A. z ( z e. y <->
           E. w E. t ( z = << w , t >> /\ t e. x ) ) $.
  $}

  ${
    $d x y z w $.
    $( State the axiom of converse.  This axiom guarantees the existence of the
       Kuratowski converse of ` x ` .  Axiom P7 of [Hailperin] p. 10.
       (Contributed by SF, 12-Jan-2015.) $)
    ax-cnv $a |- E. y A. z A. w ( << z , w >> e. y <-> << w , z >> e. x ) $.
  $}

  ${
    $d x y z w $.
    $( State the axiom of cardinal one.  This axiom guarantees the existence of
       the set of all singletons, which will become cardinal one later in our
       development.  Axiom P8 of [Hailperin] p. 10.  (Contributed by SF,
       12-Jan-2015.) $)
    ax-1c $a |- E. x A. y ( y e. x <-> E. z A. w ( w e. y <-> w = z ) ) $.
  $}

  ${
    $d x y z w $.
    $( State the axiom of the subset relationship.  This axiom guarantees the
       existence of the Kuratowski relationship representing subset.  Slight
       generalization of axiom P9 of [Hailperin] p. 10.  (Contributed by SF,
       12-Jan-2015.) $)
    ax-sset $a |- E. x A. y A. z ( << y , z >> e. x <->
      A. w ( w e. y -> w e. z ) ) $.
  $}

  ${
    $d x y z w $.
    $( State the axiom of the singleton image.  This axiom guarantees that
       guarantees the existence of a set that raises the "type" of another set
       when considered as a relationship.  Axiom P2 of [Hailperin] p. 10.
       (Contributed by SF, 12-Jan-2015.) $)
    ax-si $a |- E. y A. z A. w ( << { z } , { w } >> e. y <->
          << z , w >> e. x ) $.
  $}

  ${
    $d x y z w t $.
    $( State the insertion two axiom.  This axiom sets up a set that inserts an
       extra variable at the second place of the relationship described by
       ` x ` .  Axiom P3 of [Hailperin] p. 10.  (Contributed by SF,
       12-Jan-2015.) $)
    ax-ins2 $a |- E. y A. z A. w A. t (
      << { { z } } , << w , t >> >> e. y <-> << z , t >> e. x ) $.

    $( State the insertion three axiom.  This axiom sets up a set that inserts
       an extra variable at the third place of the relationship described by
       ` x ` .  Axiom P4 of [Hailperin] p. 10.  (Contributed by SF,
       12-Jan-2015.) $)
    ax-ins3 $a |- E. y A. z A. w A. t (
      << { { z } } , << w , t >> >> e. y <-> << z , w >> e. x ) $.
  $}

  ${
    $d x y z w $.
    $( The type lowering axiom.  This axiom eventually sets up both the
       existence of the sum set and the existence of the range of a
       relationship.  Axiom P6 of [Hailperin] p. 10.  (Contributed by SF,
       12-Jan-2015.) $)
    ax-typlower $a |- E. y A. z ( z e. y <-> A. w << w , { z } >> e. x ) $.
  $}

  ${
    $d x y z $.
    $( The singleton axiom.  This axiom sets up the existence of a singleton
       set.  This appears to have been an oversight on Hailperin's part, as it
       is needed to prove the properties of Kuratowski ordered pairs.
       (Contributed by SF, 12-Jan-2015.) $)
    ax-sn $a |- E. y A. z ( z e. y <-> z = x ) $.
  $}
$(
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
        Primitive forms for some axioms
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
$)

  ${
    $d a c $.  $d B c $.
    $( Lemma for the primitive axioms.  Primitive form of equality to a
       singleton.  (Contributed by SF, 25-Mar-2015.) $)
    axprimlem1 $p |- ( a = { B } <-> A. c ( c e. a <-> c = B ) ) $=
      ( cv csn wceq wel wcel wb wal dfcleq elsn bibi2i albii bitri ) BDZAEZFCBG
      ZCDZQHZIZCJRSAFZIZCJCPQKUAUCCTUBRCALMNO $.
  $}

  ${
    $d a d $.  $d B d $.  $d B e $.  $d B f $.  $d C d $.  $d C f $.  $d d e $.
    $d d f $.
    $( Lemma for the primitive axioms.  Primitive form of equality to a
       Kuratowski ordered pair.  (Contributed by SF, 25-Mar-2015.) $)
    axprimlem2 $p |- ( a = << B , C >> <-> A. d ( d e. a <-> ( A. e ( e e. d
        <-> e = B ) \/ A. f ( f e. d <-> ( f = B \/ f = C ) ) ) ) ) $=
      ( cv wceq cpr wel wb wal wo wcel dfcleq vex elpr bibi2i albii bitri copk
      csn df-opk eqeq2i axprimlem1 orbi12i ) EGZABUAZHUGAUBZABIZIZHZFEJZCFJCGAH
      KCLZDFJZDGZAHUPBHMZKZDLZMZKZFLZUHUKUGABUCUDULUMFGZUKNZKZFLVBFUGUKOVEVAFVD
      UTUMVDVCUIHZVCUJHZMUTVCUIUJFPQVFUNVGUSAFCUEVGUOUPUJNZKZDLUSDVCUJOVIURDVHU
      QUOUPABDPQRSTUFTRSTT $.
  $}

  ${
    $d a b $.  $d a c $.  $d a t $.  $d a w $.  $d a z $.  $d b w $.  $d c t $.
    $d c w $.  $d t w $.  $d t x $.  $d t y $.  $d t z $.  $d w x $.  $d w y $.
    $d w z $.  $d x y $.  $d x z $.  $d y z $.
    $( ~ ax-xp presented without any set theory definitions.  (Contributed by
       SF, 25-Mar-2015.) $)
    axxpprim $p |- E. y A. z ( z e. y <-> E. w E. t ( A. a ( a e. z <-> ( A. b
        ( b e. a <-> b = w ) \/ A. c ( c e. a <-> ( c = w \/ c = t ) ) ) ) /\ t
        e. x ) ) $=
      ( wel cv copk wceq wa wex wb wal weq wo ax-xp axprimlem2 albii exbii mpbi
      anbi1i 2exbii bibi2i ) CBIZCJDJZEJZKLZEAIZMZENDNZOZCPZBNUGFCIGFIGDQOGPHFI
      HDQHEQROHPROFPZUKMZENDNZOZCPZBNABCDESUOUTBUNUSCUMURUGULUQDEUJUPUKUHUIGHCF
      TUDUEUFUAUBUC $.
  $}

  ${
    $d a b $.  $d a w $.  $d a y $.  $d a z $.  $d b c $.  $d b d $.  $d b w $.
    $d b z $.  $d c z $.  $d d w $.  $d d z $.  $d e f $.  $d e w $.  $d e x $.
    $d e z $.  $d f g $.  $d f h $.  $d f w $.  $d f z $.  $d g w $.  $d h w $.
    $d h z $.  $d w x $.  $d w y $.  $d w z $.  $d x y $.  $d x z $.  $d y z $.
    $( ~ ax-cnv presented without any set theory definitions.  (Contributed by
       SF, 25-Mar-2015.) $)
    axcnvprim $p |- E. y A. z A. w ( E. a ( A. b ( b e. a <-> ( A. c ( c e. b
        <-> c = z ) \/ A. d ( d e. b <-> ( d = z \/ d = w ) ) ) ) /\ a e. y )
        <-> E. e ( A. f ( f e. e <-> ( A. g ( g e. f <-> g = w ) \/ A. h ( h e.
        f <-> ( h = w \/ h = z ) ) ) ) /\ e e. x ) ) $=
      ( cv wb wal wex wel weq wo wa copk ax-cnv df-clel axprimlem2 anbi1i exbii
      wcel wceq bitri bibi12i 2albii mpbi ) CMZDMZUAZBMZUGZUNUMUAZAMZUGZNZDOCOZ
      BPJIQKJQKCRNKOLJQLCRLDRSNLOSNJOZIBQZTZIPZFEQGFQGDRNGOHFQHDRHCRSNHOSNFOZEA
      QZTZEPZNZDOCOZBPABCDUBVBVLBVAVKCDUQVFUTVJUQIMUOUHZVDTZIPVFIUOUPUCVNVEIVMV
      CVDUMUNKLIJUDUEUFUIUTEMURUHZVHTZEPVJEURUSUCVPVIEVOVGVHUNUMGHEFUDUEUFUIUJU
      KUFUL $.
  $}

  ${
    $d a b $.  $d a x $.  $d a y $.  $d a z $.  $d b c $.  $d b d $.  $d b y $.
    $d b z $.  $d c y $.  $d d y $.  $d d z $.  $d e x $.  $d e y $.  $d e z $.
    $d x y $.  $d x z $.  $d y z $.
    $( ~ ax-sset presented without any set theory definitions.  (Contributed by
       SF, 25-Mar-2015.) $)
    axssetprim $p |- E. x A. y A. z ( E. a ( A. b ( b e. a <-> ( A. c ( c e. b
        <-> c = y ) \/ A. d ( d e. b <-> ( d = y \/ d = z ) ) ) ) /\ a e. x )
        <-> A. e ( e e. y -> e e. z ) ) $=
      ( cv copk wcel wel wi wal wb wex weq wo wa exbii ax-sset axprimlem2 bitri
      wceq df-clel anbi1i bibi1i 2albii mpbi ) BIZCIZJZAIZKZDBLDCLMDNZOZCNBNZAP
      FELGFLGBQOGNHFLHBQHCQROHNROFNZEALZSZEPZUOOZCNBNZAPABCDUAUQVCAUPVBBCUNVAUO
      UNEIULUDZUSSZEPVAEULUMUEVEUTEVDURUSUJUKGHEFUBUFTUCUGUHTUI $.
  $}

  ${
    $d a b $.  $d a w $.  $d a y $.  $d a z $.  $d b c $.  $d b e $.  $d b w $.
    $d b z $.  $d c d $.  $d c z $.  $d d z $.  $d e f $.  $d e g $.  $d e w $.
    $d e z $.  $d f z $.  $d g w $.  $d h i $.  $d h w $.  $d h x $.  $d h z $.
    $d i j $.  $d i k $.  $d i w $.  $d i z $.  $d j z $.  $d k w $.  $d k z $.
    $d w x $.  $d w y $.  $d w z $.  $d x y $.  $d x z $.  $d y z $.
    $( ~ ax-si presented without any set theory definitions.  (Contributed by
       SF, 25-Mar-2015.) $)
    axsiprim $p |- E. y A. z A. w ( E. a ( A. b ( b e. a <-> ( A. c ( c e. b
        <-> A. d ( d e. c <-> d = z ) ) \/ A. e ( e e. b <-> ( A. f ( f e. e
        <-> f = z ) \/ A. g ( g e. e <-> g = w ) ) ) ) ) /\ a e. y ) <-> E. h (
        A. i ( i e. h <-> ( A. j ( j e. i <-> j = z ) \/ A. k ( k e. i <-> ( k
        = z \/ k = w ) ) ) ) /\ h e. x ) ) $=
      ( cv wb wal wex wel csn copk wcel weq wo wa ax-si wceq df-clel axprimlem2
      axprimlem1 bibi2i albii orbi12i bitri anbi1i exbii bibi12i 2albii mpbi )
      CPZUAZDPZUAZUBZBPZUCZVAVCUBZAPZUCZQZDRCRZBSMLTZNMTZONTOCUDQORZQZNRZEMTZFE
      TFCUDQFRZGETGDUDQGRZUEZQZERZUEZQZMRZLBTZUFZLSZIHTJITJCUDQJRKITKCUDKDUDUEQ
      KRUEQIRZHATZUFZHSZQZDRCRZBSABCDUGVLWOBVKWNCDVGWIVJWMVGLPVEUHZWGUFZLSWILVE
      VFUIWQWHLWPWFWGWPVMVNNPVBUHZQZNRZVREPZVBUHZXAVDUHZUEZQZERZUEZQZMRWFVBVDNE
      LMUJXHWEMXGWDVMWTVQXFWCWSVPNWRVOVNVANOUKULUMXEWBEXDWAVRXBVSXCVTVAEFUKVCEG
      UKUNULUMUNULUMUOUPUQUOVJHPVHUHZWKUFZHSWMHVHVIUIXJWLHXIWJWKVAVCJKHIUJUPUQU
      OURUSUQUT $.
  $}

  ${
    $d a b $.  $d a w $.  $d a x $.  $d a z $.  $d b c $.  $d b d $.  $d b w $.
    $d b z $.  $d c w $.  $d d e $.  $d d w $.  $d d z $.  $d e z $.  $d w x $.
    $d w y $.  $d w z $.  $d x y $.  $d x z $.  $d y z $.
    $( ~ ax-typlower presented without any set theory definitions.
       (Contributed by SF, 25-Mar-2015.) $)
    axtyplowerprim $p |- E. y A. z ( z e. y <-> A. w E. a ( A. b ( b e. a <-> (
        A. c ( c e. b <-> c = w ) \/ A. d ( d e. b <-> ( d = w \/ A. e ( e e. d
        <-> e = z ) ) ) ) ) /\ a e. x ) ) $=
      ( wel cv wal wb wex weq wo wa wceq bibi2i albii csn copk wcel ax-typlower
      df-clel axprimlem2 axprimlem1 orbi2i bitri anbi1i exbii mpbi ) CBJZDKZCKZ
      UAZUBZAKZUCZDLZMZCLZBNUMGFJZHGJHDOMHLZIGJZIDOZEIJECOMELZPZMZILZPZMZGLZFAJ
      ZQZFNZDLZMZCLZBNABCDUDVBVSBVAVRCUTVQUMUSVPDUSFKUQRZVNQZFNVPFUQURUEWAVOFVT
      VMVNVTVCVDVEVFIKUPRZPZMZILZPZMZGLVMUNUPHIFGUFWGVLGWFVKVCWEVJVDWDVIIWCVHVE
      WBVGVFUOIEUGUHSTUHSTUIUJUKUITSTUKUL $.
  $}

  ${
    $d a b $.  $d a t $.  $d a w $.  $d a y $.  $d a z $.  $d b c $.  $d b f $.
    $d b t $.  $d b w $.  $d b z $.  $d c d $.  $d c z $.  $d d e $.  $d d z $.
    $d e g $.  $d e z $.  $d f g $.  $d f h $.  $d f t $.  $d f w $.  $d f z $.
    $d g z $.  $d h i $.  $d h j $.  $d h t $.  $d h w $.  $d i w $.  $d j t $.
    $d j w $.  $d k l $.  $d k t $.  $d k x $.  $d k z $.  $d l m $.  $d l n $.
    $d l t $.  $d l z $.  $d m z $.  $d n t $.  $d n z $.  $d t w $.  $d t x $.
    $d t y $.  $d t z $.  $d w x $.  $d w y $.  $d w z $.  $d x y $.  $d x z $.
    $d y z $.
    $( ~ ax-ins2 presented without any set theory definitions.  (Contributed by
       SF, 25-Mar-2015.) $)
    axins2prim $p |- E. y A. z A. w A. t ( E. a ( A. b ( b e. a <-> ( A. c ( c
        e. b <-> A. d ( d e. c <-> A. e ( e e. d <-> e = z ) ) ) \/ A. f ( f e.
        b <-> ( A. g ( g e. f <-> A. e ( e e. g <-> e = z ) ) \/ A. h ( h e. f
        <-> ( A. i ( i e. h <-> i = w ) \/ A. j ( j e. h <-> ( j = w \/ j = t )
        ) ) ) ) ) ) ) /\ a e. y ) <-> E. k ( A. l ( l e. k <-> ( A. m ( m e. l
        <-> m = z ) \/ A. n ( n e. l <-> ( n = z \/ n = t ) ) ) ) /\ k e. x ) )
        $=
      ( wal cv csn copk wcel wb wex wel weq wo wa ax-ins2 axprimlem2 axprimlem1
      wceq df-clel bibi2i albii bitri orbi12i anbi1i exbii bibi12i 2albii mpbi
      ) CUAZUBZUBZDUAZEUAZUCZUCZBUAZUDZVEVIUCZAUAZUDZUEZETZDTCTZBUFPOUGZQPUGZRQ
      UGZFRUGFCUHZUEFTZUEZRTZUEZQTZGPUGZHGUGZFHUGWCUEFTZUEZHTZIGUGJIUGJDUHUEJTK
      IUGKDUHKEUHUIUEKTUIUEITZUIZUEZGTZUIZUEZPTZOBUGZUJZOUFZSLUGMSUGMCUHUEMTNSU
      GNCUHNEUHUIUENTUIUESTZLAUGZUJZLUFZUEZETZDTCTZBUFABCDEUKVSXJBVRXICDVQXHEVM
      XCVPXGVMOUAVKUNZXAUJZOUFXCOVKVLUOXLXBOXKWTXAXKVTWAQUAVGUNZUEZQTZWIGUAZVGU
      NZXPVJUNZUIZUEZGTZUIZUEZPTWTVGVJQGOPULYCWSPYBWRVTXOWHYAWQXNWGQXMWFWAXMWBR
      UAVFUNZUEZRTWFVFQRUMYEWERYDWDWBVERFUMUPUQURUPUQXTWPGXSWOWIXQWMXRWNXQWJHUA
      VFUNZUEZHTWMVFGHUMYGWLHYFWKWJVEHFUMUPUQURVHVIJKGIULUSUPUQUSUPUQURUTVAURVP
      LUAVNUNZXEUJZLUFXGLVNVOUOYIXFLYHXDXEVEVIMNLSULUTVAURVBUQVCVAVD $.
  $}

  ${
    $d a b $.  $d a t $.  $d a w $.  $d a y $.  $d a z $.  $d b c $.  $d b f $.
    $d b t $.  $d b w $.  $d b z $.  $d c d $.  $d c z $.  $d d e $.  $d d z $.
    $d e g $.  $d e z $.  $d f g $.  $d f h $.  $d f t $.  $d f w $.  $d f z $.
    $d g z $.  $d h i $.  $d h j $.  $d h t $.  $d h w $.  $d i w $.  $d j t $.
    $d j w $.  $d k l $.  $d k w $.  $d k x $.  $d k z $.  $d l m $.  $d l n $.
    $d l w $.  $d l z $.  $d m z $.  $d n w $.  $d n z $.  $d t w $.  $d t x $.
    $d t y $.  $d t z $.  $d w x $.  $d w y $.  $d w z $.  $d x y $.  $d x z $.
    $d y z $.
    $( ~ ax-ins3 presented without any set theory definitions.  (Contributed by
       SF, 25-Mar-2015.) $)
    axins3prim $p |- E. y A. z A. w A. t ( E. a ( A. b ( b e. a <-> ( A. c ( c
        e. b <-> A. d ( d e. c <-> A. e ( e e. d <-> e = z ) ) ) \/ A. f ( f e.
        b <-> ( A. g ( g e. f <-> A. e ( e e. g <-> e = z ) ) \/ A. h ( h e. f
        <-> ( A. i ( i e. h <-> i = w ) \/ A. j ( j e. h <-> ( j = w \/ j = t )
        ) ) ) ) ) ) ) /\ a e. y ) <-> E. k ( A. l ( l e. k <-> ( A. m ( m e. l
        <-> m = z ) \/ A. n ( n e. l <-> ( n = z \/ n = w ) ) ) ) /\ k e. x ) )
        $=
      ( wal cv csn copk wcel wb wex wel weq wo wa ax-ins3 axprimlem2 axprimlem1
      wceq df-clel bibi2i albii bitri orbi12i anbi1i exbii bibi12i 2albii mpbi
      ) CUAZUBZUBZDUAZEUAZUCZUCZBUAZUDZVEVHUCZAUAZUDZUEZETZDTCTZBUFPOUGZQPUGZRQ
      UGZFRUGFCUHZUEFTZUEZRTZUEZQTZGPUGZHGUGZFHUGWCUEFTZUEZHTZIGUGJIUGJDUHUEJTK
      IUGKDUHKEUHUIUEKTUIUEITZUIZUEZGTZUIZUEZPTZOBUGZUJZOUFZSLUGMSUGMCUHUEMTNSU
      GNCUHNDUHUIUENTUIUESTZLAUGZUJZLUFZUEZETZDTCTZBUFABCDEUKVSXJBVRXICDVQXHEVM
      XCVPXGVMOUAVKUNZXAUJZOUFXCOVKVLUOXLXBOXKWTXAXKVTWAQUAVGUNZUEZQTZWIGUAZVGU
      NZXPVJUNZUIZUEZGTZUIZUEZPTWTVGVJQGOPULYCWSPYBWRVTXOWHYAWQXNWGQXMWFWAXMWBR
      UAVFUNZUEZRTWFVFQRUMYEWERYDWDWBVERFUMUPUQURUPUQXTWPGXSWOWIXQWMXRWNXQWJHUA
      VFUNZUEZHTWMVFGHUMYGWLHYFWKWJVEHFUMUPUQURVHVIJKGIULUSUPUQUSUPUQURUTVAURVP
      LUAVNUNZXEUJZLUFXGLVNVOUOYIXFLYHXDXEVEVHMNLSULUTVAURVBUQVCVAVD $.
  $}


$(
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
        Initial existence theorems
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
$)

  ${
    $d A x y z w $.  $d B x y z w $.
    $( The anti-intersection of two sets is a set.  (Contributed by SF,
       12-Jan-2015.) $)
    ninexg $p |- ( ( A e. V /\ B e. W ) -> ( A -i^i B ) e. _V ) $=
      ( vx vy vw vz cv cnin cvv wcel wceq nineq1 eleq1d wel wb wal wex bitri
      nineq2 wnan ax-nin isset dfcleq elnin bibi2i albii exbii mpbir vtocl2g
      vex ) EIZFIZJZKLZAUNJZKLABJZKLEFABCDUMAMUOUQKUMAUNNOUNBMUQURKUNBAUAOUPGHP
      ZGEPGFPUBZQZGRZHSZEFHGUCUPHIZUOMZHSVCHUOUDVEVBHVEUSGIZUOLZQZGRVBGVDUOUEVH
      VAGVGUTUSVFUMUNGULUFUGUHTUITUJUK $.
  $}

  ${
    ninex.1 $e |- A e. _V $.
    ninex.2 $e |- B e. _V $.
    $( The anti-intersection of two sets is a set.  (Contributed by SF,
       12-Jan-2015.) $)
    ninex $p |- ( A -i^i B ) e. _V $=
      ( cvv wcel cnin ninexg mp2an ) AEFBEFABGEFCDABEEHI $.
  $}

  $( The complement of a set is a set.  (Contributed by SF, 12-Jan-2015.) $)
  complexg $p |- ( A e. V -> ~ A e. _V ) $=
    ( wcel ccompl cnin cvv df-compl ninexg anidms syl5eqel ) ABCZADAAEZFAGKLFCA
    ABBHIJ $.

  $( The intersection of two sets is a set.  (Contributed by SF,
     12-Jan-2015.) $)
  inexg $p |- ( ( A e. V /\ B e. W ) -> ( A i^i B ) e. _V ) $=
    ( wcel wa cin cnin ccompl cvv df-in ninexg complexg syl syl5eqel ) ACEBDEFZ
    ABGABHZIZJABKPQJERJEABCDLQJMNO $.

  $( The union of two sets is a set.  (Contributed by SF, 12-Jan-2015.) $)
  unexg $p |- ( ( A e. V /\ B e. W ) -> ( A u. B ) e. _V ) $=
    ( wcel wa cun ccompl cnin cvv df-un complexg ninexg syl2an syl5eqel ) ACEZB
    DEZFABGAHZBHZIZJABKPRJESJETJEQACLBDLRSJJMNO $.

  $( The difference of two sets is a set.  (Contributed by SF, 12-Jan-2015.) $)
  difexg $p |- ( ( A e. V /\ B e. W ) -> ( A \ B ) e. _V ) $=
    ( wcel wa cdif ccompl cin cvv df-dif complexg inexg sylan2 syl5eqel ) ACEZB
    DEZFABGABHZIZJABKQPRJESJEBDLARCJMNO $.

  $( The symmetric difference of two sets is a set.  (Contributed by SF,
     12-Jan-2015.) $)
  symdifexg $p |- ( ( A e. V /\ B e. W ) -> ( A (+) B ) e. _V ) $=
    ( wcel csymdif cdif cun cvv df-symdif difexg ancoms unexg syl2anc syl5eqel
    wa ) ACEZBDEZPZABFABGZBAGZHZIABJSTIEUAIEZUBIEABCDKRQUCBADCKLTUAIIMNO $.

  ${
    boolex.1 $e |- A e. _V $.
    $( The complement of a set is a set.  (Contributed by SF, 12-Jan-2015.) $)
    complex $p |- ~ A e. _V $=
      ( cvv wcel ccompl complexg ax-mp ) ACDAECDBACFG $.

    boolex.2 $e |- B e. _V $.
    $( The intersection of two sets is a set.  (Contributed by SF,
       12-Jan-2015.) $)
    inex $p |- ( A i^i B ) e. _V $=
      ( cvv wcel cin inexg mp2an ) AEFBEFABGEFCDABEEHI $.

    $( The union of two sets is a set.  (Contributed by SF, 12-Jan-2015.) $)
    unex $p |- ( A u. B ) e. _V $=
      ( cvv wcel cun unexg mp2an ) AEFBEFABGEFCDABEEHI $.

    $( The difference of two sets is a set.  (Contributed by SF,
       12-Jan-2015.) $)
    difex $p |- ( A \ B ) e. _V $=
      ( cvv wcel cdif difexg mp2an ) AEFBEFABGEFCDABEEHI $.

    $( The symmetric difference of two sets is a set.  (Contributed by SF,
       12-Jan-2015.) $)
    symdifex $p |- ( A (+) B ) e. _V $=
      ( cvv wcel csymdif symdifexg mp2an ) AEFBEFABGEFCDABEEHI $.
  $}

  $( The universal class exists.  This marks a major departure from ZFC set
     theory, where ` _V ` is a proper class.  (Contributed by SF,
     12-Jan-2015.) $)
  vvex $p |- _V e. _V $=
    ( vx cv ccompl cun cvv uncompl vex complex unex eqeltrri ) ABZKCZDEEKFKLAGZ
    KMHIJ $.

  $( The empty class exists.  (Contributed by SF, 12-Jan-2015.) $)
  0ex $p |- (/) e. _V $=
    ( cvv ccompl c0 complV vvex complex eqeltrri ) ABCADAEFG $.

  ${
    $d A x y z $.
    $( A singleton always exists.  (Contributed by SF, 12-Jan-2015.) $)
    snex $p |- { A } e. _V $=
      ( vx vz vy cvv wcel csn cv wceq sneq eleq1d wel weq wb wal wex axprimlem1
      ax-sn isset c0 exbii bitri mpbir vtoclg snprc biimpi 0ex syl6eqel pm2.61i
      wn ) AEFZAGZEFZBHZGZEFZUMBAEUNAIUOULEUNAJKUPCDLCBMNCOZDPZBDCRUPDHUOIZDPUR
      DUOSUSUQDUNDCQUAUBUCUDUKUJZULTEUTULTIAUEUFUGUHUI $.
  $}

  $( An unordered pair exists.  (Contributed by SF, 12-Jan-2015.) $)
  prex $p |- { A , B } e. _V $=
    ( cpr csn cun cvv df-pr snex unex eqeltri ) ABCADZBDZEFABGKLAHBHIJ $.

  $( A Kuratowski ordered pair exists.  (Contributed by SF, 12-Jan-2015.) $)
  opkex $p |- << A , B >> e. _V $=
    ( copk csn cpr cvv df-opk prex eqeltri ) ABCADZABEZEFABGJKHI $.

  $( A singleton of a set belongs to a power class of a set containing it.
     (Contributed by SF, 1-Feb-2015.) $)
  snelpwg $p |- ( A e. V -> ( { A } e. ~P B <-> A e. B ) ) $=
    ( wcel csn wss cpw snssg snex elpw syl6rbbr ) ACDABDAEZBFLBGDABCHLBAIJK $.

  ${
    snelpw.1 $e |- A e. _V $.
    $( A singleton of a set belongs to a power class of a set containing it.
       (Contributed by SF, 1-Feb-2015.) $)
    snelpw $p |- ( { A } e. ~P B <-> A e. B ) $=
      ( cvv wcel csn cpw wb snelpwg ax-mp ) ADEAFBGEABEHCABDIJ $.
  $}

  $( A singleton of a set belongs to the power class of a class containing the
     set.  (Contributed by Alan Sare, 25-Aug-2011.) $)
  snelpwi $p |- ( A e. B -> { A } e. ~P B ) $=
    ( wcel csn wss cpw snssi snex elpw sylibr ) ABCADZBEKBFCABGKBAHIJ $.

  ${
    $d A x y $.
    $( A class equals the union of its power class.  Exercise 6(a) of
       [Enderton] p. 38.  (The proof was shortened by Alan Sare, 28-Dec-2008.)
       (Contributed by SF, 14-Oct-1996.)  (Revised by SF, 29-Dec-2008.) $)
    unipw $p |- U. ~P A = A $=
      ( vx vy cpw cuni cv wcel wa wex eluni wss wi vex elpw ssel impcom exlimiv
      sylbi csn snid snelpwi elunii sylancr impbii eqriv ) BADZEZABFZUGGZUHAGZU
      IUHCFZGZUKUFGZHZCIUJCUHUFJUNUJCUMULUJUMUKAKULUJLUKACMNUKAUHORPQRUJUHUHSZG
      UOUFGUIUHBMTUHAUAUHUOUFUBUCUDUE $.
  $}

  ${
    $d A x $.  $d B x $.
    $( Classes are subclasses if and only if their power classes are
       subclasses.  Exercise 18 of [TakeutiZaring] p. 18.  (Contributed by SF,
       13-Oct-1996.) $)
    sspwb $p |- ( A C_ B <-> ~P A C_ ~P B ) $=
      ( vx wss cpw wcel sstr2 com12 vex elpw 3imtr4g ssrdv csn ssel snex bitr4i
      cv snss 3imtr3g impbii ) ABDZAEZBEZDZUACUBUCUACQZADZUEBDZUEUBFUEUCFUFUAUG
      UEABGHUEACIZJUEBUHJKLUDCABUDUEMZUBFZUIUCFZUEAFZUEBFZUBUCUINUJUIADULUIAUEO
      ZJUEAUHRPUKUIBDUMUIBUNJUEBUHRPSLT $.
  $}

  ${
    $d A a $.  $d a b $.  $d A b $.  $d A x $.  $d a z $.  $d A z $.  $d b z $.
    $d X a $.  $d X b $.  $d X x $.  $d x z $.  $d X z $.

    $( Compute the power class of an adjoinment.  (Contributed by SF,
       30-Jan-2015.) $)
    pwadjoin $p |- ~P ( A u. { X } ) =
       ( ~P A u. { a | E. b e. ~P A a = ( b u. { X } ) } ) $=
      ( vz vx cun cpw cv wceq wrex wss wo wcel wn wa bitri vex elpw com12 uncom
      csn cab cdif sseq2i ssundif biimpi adantr snex difex sylibr eqcomd adantl
      difsnid uneq1 eqeq2d rspcev syl2anc ex con3d wel wi ssel elun elsn orbi2i
      ax-1 eleq1 anbi1d pm2.21 impcom syl6bi jaoi sylbi exp3a syld imp3a orcomd
      ssrdv orrd ssun3 unss1 sseq1 syl5ibrcom rexlimiv impbii weq eqeq1 rexbidv
      elab orbi12i 3bitr4i eqriv ) EABUBZGZHZAHZCIZDIZWNGZJZDWQKZCUCZGZEIZWOLZX
      EALZXEWTJZDWQKZMZXEWPNXEXDNZXFXJXFXIXGXFXIXGXFXIOBXENZOZXGXFXLXIXFXLXIXFX
      LPZXEWNUDZWQNZXEXOWNGZJZXIXNXOALZXPXFXSXLXFXSXFXEWNAGZLXSWOXTXEAWNUAUEXEW
      NAUFQUGUHXOAXEWNERZBUIUJSUKXLXRXFXLXQXEXEBUNULUMXHXRDXOWQWSXOJWTXQXEWSXOW
      NUOUPUQURUSUTXFXMXGXFXMPZFXEAFEVAZYBFIZANZYCXFXMYEYCXFYDWONZXMYEVBZXFYCYF
      XEWOYDVCTYFYCYGYFYCXMYEYFYEYDBJZMZYCXMPZYEVBZYFYEYDWNNZMYIYDAWNVDYLYHYEFB
      VEVFQYEYKYHYEYJVGYHYJXLXMPYEYHYCXLXMYDBXEVHVIXMXLYEXLYEVJVKVLVMVNVOTVPVQT
      VSUSVPVTVRXGXFXIXEAWNWAXHXFDWQWSWQNZXFXHWTWOLZYMWSALYNWSADRSWSAWNWBVNXEWT
      WOWCWDWEVMWFXEWOYASXKXEWQNZXEXCNZMXJXEWQXCVDYOXGYPXIXEAYASXBXICXEYACEWGXA
      XHDWQWRXEWTWHWIWJWKQWLWM $.
  $}


$(
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
        Singletons and pairs (continued)
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
$)

  $( A singleton is a subset of an unordered pair.  (Contributed by SF,
     12-Jan-2015.) $)
  snprss1 $p |- { A } C_ { A , B } $=
    ( csn cun cpr ssun1 df-pr sseqtr4i ) ACZIBCZDABEIJFABGH $.

  $( A singleton is a subset of an unordered pair.  (Contributed by SF,
     12-Jan-2015.) $)
  snprss2 $p |- { A } C_ { B , A } $=
    ( csn cpr snprss1 prcom sseqtri ) ACABDBADABEABFG $.

  $( An unordered pair of a proper class.  (Contributed by SF, 12-Jan-2015.) $)
  prprc2 $p |- ( -. A e. _V -> { B , A } = { B } ) $=
    ( cvv wcel wn cpr csn cun df-pr wceq snprc biimpi uneq2d un0 syl6eq syl5eq
    c0 ) ACDEZBAFBGZAGZHZSBAIRUASQHSRTQSRTQJAKLMSNOP $.

  $( An unordered pair of a proper class.  (Contributed by SF, 12-Jan-2015.) $)
  prprc1 $p |- ( -. A e. _V -> { A , B } = { B } ) $=
    ( cvv wcel wn cpr csn prcom prprc2 syl5eq ) ACDEABFBAFBGABHABIJ $.

  ${
    preqr1.1 $e |- A e. _V $.
    preqr1.2 $e |- B e. _V $.
    $( Reverse equality lemma for unordered pairs.  If two unordered pairs have
       the same second element, the first elements are equal.  (Contributed by
       NM, 18-Oct-1995.) $)
    preqr1 $p |- ( { A , C } = { B , C } -> A = B ) $=
      ( cpr wceq wcel wo prid1 eleq2 mpbii elpr sylib mpbiri eqcom eqeq2 oplem1
      ) ACFZBCFZGZABGZACGZBAGZBCGZUAATHZUBUCIUAASHUFACDJSTAKLABCDMNUABSHZUDUEIU
      AUGBTHBCEJSTBKOBACEMNABPACBQR $.
  $}

  ${
    preqr2.1 $e |- A e. _V $.
    preqr2.2 $e |- B e. _V $.
    $( Reverse equality lemma for unordered pairs.  If two unordered pairs have
       the same first element, the second elements are equal.  (Contributed by
       NM, 5-Aug-1993.) $)
    preqr2 $p |- ( { C , A } = { C , B } -> A = B ) $=
      ( cpr wceq prcom eqeq12i preqr1 sylbi ) CAFZCBFZGACFZBCFZGABGLNMOCAHCBHIA
      BCDEJK $.
  $}

  ${
    $d A x y $.  $d B x y $.  $d C x y $.
    $( Reverse equality lemma for unordered pairs.  If two unordered pairs have
       the same first element, the second elements are equal.  (Contributed by
       SF, 12-Jan-2015.) $)
    preqr2g $p |- ( ( A e. V /\ B e. W ) ->
           ( { C , A } = { C , B } -> A = B ) ) $=
      ( vx vy cv cpr wceq weq wi preq2 eqeq1d eqeq1 imbi12d eqeq2d eqeq2 preqr2
      vex vtocl2g ) CFHZIZCGHZIZJZFGKZLCAIZUEJZAUDJZLUHCBIZJZABJZLFGABDEUBAJZUF
      UIUGUJUNUCUHUEUBACMNUBAUDOPUDBJZUIULUJUMUOUEUKUHUDBCMQUDBARPUBUDCFTGTSUA
      $.
  $}

  ${
    preq12b.1 $e |- A e. _V $.
    preq12b.2 $e |- B e. _V $.
    preq12b.3 $e |- C e. _V $.
    preq12b.4 $e |- D e. _V $.
    $( Equality relationship for two unordered pairs.  (Contributed by NM,
       17-Oct-1996.) $)
    preq12b $p |- ( { A , B } = { C , D } <->
                   ( ( A = C /\ B = D ) \/ ( A = D /\ B = C ) ) ) $=
      ( cpr wceq wa wo wcel preq1 eqeq1d preqr2 syl6bi com12 ancld prcom eqeq2i
      prid1 eleq2 mpbii elpr sylib wi sylbi orim12d preq12 syl6eq sylan9eq jaoi
      mpd impbii ) ABIZCDIZJZACJZBDJZKZADJZBCJZKZLZURUSVBLZVEURAUQMZVFURAUPMVGA
      BEUBUPUQAUCUDACDEUEUFURUSVAVBVDURUSUTUSURUTUSURCBIZUQJUTUSUPVHUQACBNOBDCF
      HPQRSURVBVCURUPDCIZJZVBVCUGUQVIUPCDTUAVBVJVCVBVJDBIZVIJVCVBUPVKVIADBNZOBC
      DFGPQRUHSUIUNVAURVDABCDUJVBVCUPBDIZUQVBUPVKVMVLDBTUKBCDNULUMUO $.
  $}

  ${
    $d A x y z w $.  $d B x y z w $.  $d C x y z w $.  $d D x y z w $.
    $d V x y z w $.  $d W x y z w $.  $d X x y z w $.  $d Y x y z w $.
    $( Closed form of ~ preq12b .  (Contributed by Scott Fenton,
       28-Mar-2014.) $)
    preq12bg $p |- ( ( ( A e. V /\ B e. W ) /\ ( C e. X /\ D e. Y ) ) ->
       ( { A , B } = { C , D } <->
         ( ( A = C /\ B = D ) \/ ( A = D /\ B = C ) ) ) ) $=
      ( vx vy vz vw wcel wa cpr wceq wo wb wi cv weq preq1 eqeq1d eqeq1 orbi12d
      anbi1d bibi12d imbi2d preq2 anbi2d eqeq2 w3a vex preq12b vtoclbg vtocl3ga
      eqeq2d a1i 3expa impr ) AEMZBFMZNCGMZDHMZABOZCDOZPZACPZBDPZNZADPZBCPZNZQZ
      RZVAVBVCVDVOSZVDITZJTZOZKTZDOZPZIKUAZVRDPZNZVQDPZJKUAZNZQZRZSZVDAVROZWAPZ
      AVTPZWDNZVKWGNZQZRZSVDVEWAPZWNVINZVKBVTPZNZQZRZSVPIJKABCEFGVQAPZWJWRVDXEW
      BWMWIWQXEVSWLWAVQAVRUBUCXEWEWOWHWPXEWCWNWDVQAVTUDUFXEWFVKWGVQADUDUFUEUGUH
      VRBPZWRXDVDXFWMWSWQXCXFWLVEWAVRBAUIUCXFWOWTWPXBXFWDVIWNVRBDUDUJXFWGXAVKVR
      BVTUDUJUEUGUHVTCPZXDVOVDXGWSVGXCVNXGWAVFVEVTCDUBUQXGWTVJXBVMXGWNVHVIVTCAU
      KUFXGXAVLVKVTCBUKUJUEUGUHWKVQEMVRFMVTGMULVSVTLTZOZPWCJLUAZNZILUAZWGNZQWBW
      ILDHXHDPZXIWAVSXHDVTUIUQXNXKWEXMWHXNXJWDWCXHDVRUKUJXNXLWFWGXHDVQUKUFUEVQV
      RVTXHIUMJUMKUMLUMUNUOURUPUSUT $.
  $}

$(
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
        Kuratowski ordered pairs (continued)
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
$)

  $( Membership in a Kuratowski ordered pair.  (Contributed by SF,
     12-Jan-2015.) $)
  elopk $p |- ( A e. << B , C >> <-> ( A = { B } \/ A = { B , C } ) ) $=
    ( copk wcel csn cpr wceq wo df-opk eleq2i snex prex elpr2 bitri ) ABCDZEABF
    ZBCGZGZEAQHARHIPSABCJKAQRBLBCMNO $.

  $( Equality of the first member of a Kuratowski ordered pair, which holds
     regardless of the sethood of the second members.  (Contributed by SF,
     12-Jan-2015.) $)
  opkth1g $p |- ( ( A e. V /\ << A , B >> = << C , D >> ) -> A = C ) $=
    ( wcel copk wceq wa csn cpr wo eqid orci elopk mpbir eleq2 snidg syl5ibrcom
    biimprd prid1g jaod syl5bi sylan9r mpi wb elsncg adantr mpbid ) AEFZABGZCDG
    ZHZIZACJZFZACHZUNUOULFZUPURUOUOHZUOCDKHZLUSUTUOMNUOCDOPUMURUOUKFZUJUPUMVAUR
    UKULUOQTVAUOAJZHZUOABKZHZLUJUPUOABOUJVCUPVEUJUPVCAVBFAERUOVBAQSUJUPVEAVDFAB
    EUAUOVDAQSUBUCUDUEUJUPUQUFUMACEUGUHUI $.

  $( Two Kuratowski ordered pairs are equal iff their components are equal.
     (Contributed by SF, 12-Jan-2015.) $)
  opkthg $p |- ( ( A e. V /\ B e. W /\ D e. T ) ->
    ( << A , B >> = << C , D >> <-> ( A = C /\ B = D ) ) ) $=
    ( wcel w3a copk wceq wa simp1 opkth1g sylan wi cpr df-opk prex syl5 jca csn
    simp2 simp3 opkeq1 eqeq1d biimpd impcom eqeq12i preqr2 sylbi exp3a imp jcai
    preqr2g ex opkeq12 impbid1 ) AFHZBGHZDEHZIZABJZCDJZKZACKZBDKZLZVBVEVHVBVELV
    FVGVBUSVEVFUSUTVAMABCDFNOVBUTVALZVEVFVGPZVBUTVAUSUTVAUCUSUTVAUDUAVIVEVJVIVE
    VFVGVEVFLCBJZVDKZVIVGVFVEVLVFVEVLVFVCVKVDACBUEUFUGUHVLCBQZCDQZKZVIVGVLCUBZV
    MQZVPVNQZKVOVKVQVDVRCBRCDRUIVMVNVPCBSCDSUJUKBDCGEUOTTULUMOUNUPABCDUQUR $.

  ${
    opkth.1 $e |- A e. _V $.
    opkth.2 $e |- B e. _V $.
    opkth.3 $e |- D e. _V $.
    $( Two Kuratowski ordered pairs are equal iff their components are equal.
       (Contributed by SF, 12-Jan-2015.) $)
    opkth $p |- ( << A , B >> = << C , D >> <-> ( A = C /\ B = D ) ) $=
      ( cvv wcel copk wceq wa wb opkthg mp3an ) AHIBHIDHIABJCDJKACKBDKLMEFGABCD
      HHHNO $.
  $}


$(
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
        Cardinal one, unit unions, and unit power classes
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
$)

  $c 1c $. $( Cardinal one $)
  $c ~P1 $.  $( Unit power class: calligraphic P with subscript 1. $)
  $c U.1 $. $( Unitary union. $)

  $( Extend class notation to include the unit union of a class (read:  'unit
     union ` A ` ') $)
  cuni1 $a class U.1 A $.

  $( Extend the definition of a class to include cardinal one. $)
  c1c $a class 1c $.

  $( Extend class notation to include unit power class. $)
  cpw1 $a class ~P1 A $.

  ${
    $d x y $.
    $( Define cardinal one.  This is the set of all singletons, or the set of
       all sets of size one.  (Contributed by SF, 12-Jan-2015.) $)
    df-1c $a |- 1c = { x | E. y x = { y } } $.
  $}

  $( Define unit power class.  Definition from [Rosser] p. 252.  (Contributed
     by SF, 12-Jan-2015.) $)
  df-pw1 $a |- ~P1 A = ( ~P A i^i 1c ) $.

  $( Define the unit union of a class.  This operation is used implicitly in
     both Holmes and Hailperin to complete their stratification algorithms,
     although neither provide explicit notation for it.  See ~ eluni1 for
     membership condition.  (Contributed by SF, 12-Jan-2015.) $)
  df-uni1 $a |- U.1 A = U. ( A i^i 1c ) $.

  ${
    $d A x y $.
    $( Membership in cardinal one.  (Contributed by SF, 12-Jan-2015.) $)
    el1c $p |- ( A e. 1c <-> E. x A = { x } ) $=
      ( vy c1c wcel cvv cv csn wceq elex snex eleq1 mpbiri exlimiv eqeq1 exbidv
      wex df-1c elab2g pm5.21nii ) BDEBFEZBAGZHZIZAQZBDJUDUAAUDUAUCFEUBKBUCFLMN
      CGZUCIZAQUECBDFUFBIUGUDAUFBUCOPCARST $.
  $}

  ${
    $d A x $.
    snel1c.1 $e |- A e. _V $.
    $( A singleton is an element of cardinal one.  (Contributed by SF,
       13-Jan-2015.) $)
    snel1c $p |- { A } e. 1c $=
      ( vx csn c1c wcel cv wceq wex eqid sneq eqeq2d spcev ax-mp el1c mpbir ) A
      DZEFQCGZDZHZCIZQQHZUAQJTUBCABRAHSQQRAKLMNCQOP $.
  $}

  ${
    $d A x $.
    $( A singleton is an element of cardinal one.  (Contributed by SF,
       30-Jan-2015.) $)
    snel1cg $p |- ( A e. V -> { A } e. 1c ) $=
      ( vx cv csn c1c wcel wceq sneq eleq1d vex snel1c vtoclg ) CDZEZFGAEZFGCAB
      NAHOPFNAIJNCKLM $.
  $}

  ${
    $d x y z w $.
    $( Cardinal one is a set.  (Contributed by SF, 12-Jan-2015.) $)
    1cex $p |- 1c e. _V $=
      ( vy vx vw vz c1c cvv wcel wel weq wb wal wex ax-1c cv isset bitri bibi2i
      wceq albii exbii csn cab df-1c eqeq2i abeq2 dfcleq df-sn abeq2i mpbir ) E
      FGZABHZCAHZCDIZJZCKZDLZJZAKZBLZBADCMUJBNZERZBLUSBEOVAURBVAUKANZDNZUAZRZDL
      ZJZAKZURVAUTVFAUBZRVHEVIUTADUCUDVFAUTUEPVGUQAVFUPUKVEUODVEULCNVDGZJZCKUOC
      VBVDUFVKUNCVJUMULUMCVDCVCUGUHQSPTQSPTPUI $.
  $}

  $( Equality theorem for unit power class.  (Contributed by SF,
     12-Jan-2015.) $)
  pw1eq $p |- ( A = B -> ~P1 A = ~P1 B ) $=
    ( wceq cpw c1c cin cpw1 pweq ineq1d df-pw1 3eqtr4g ) ABCZADZEFBDZEFAGBGLMNE
    ABHIAJBJK $.

  ${
    $d A x y $.  $d B x y $.
    $( Membership in a unit power class.  (Contributed by SF, 13-Jan-2015.) $)
    elpw1 $p |- ( A e. ~P1 B <-> E. x e. B A = { x } ) $=
      ( cpw1 wcel cpw c1c wa cv csn wceq wrex cin df-pw1 eleq2i elin bitri el1c
      wex bitr4i anbi2i 19.42v eleq1 wss snex elpw vex snss syl6bb exbii df-rex
      pm5.32ri ) BCDZEZBCFZEZBGEZHZBAIZJZKZACLZUNBUOGMZEURUMVCBCNOBUOGPQURUPVAH
      ZASZVBURUPVAASZHVEUQVFUPABRUAUPVAAUBTVEUSCEZVAHZASVBVDVHAVAUPVGVAUPUTUOEZ
      VGBUTUOUCVIUTCUDVGUTCUSUEUFUSCAUGUHTUIULUJVAACUKTQQ $.

    $( Membership in a unit power class applied twice.  (Contributed by SF,
       15-Jan-2015.) $)
    elpw12 $p |- ( A e. ~P1 ~P1 B <-> E. x e. B A = { { x } } ) $=
      ( vy cpw1 wcel cv csn wceq wrex wa wex elpw1 anbi1i r19.41v bitr4i df-rex
      exbii rexcom4 3bitr4i snex sneq eqeq2d ceqsexv rexbii 3bitri ) BCEZEFBDGZ
      HZIZDUGJZUHAGZHZIZUJKZDLZACJZBUMHZIZACJDBUGMUHUGFZUJKZDLUOACJZDLUKUQVAVBD
      VAUNACJZUJKVBUTVCUJAUHCMNUNUJACOPRUJDUGQUOADCSTUPUSACUJUSDUMULUAUNUIURBUH
      UMUBUCUDUEUF $.
  $}

  ${
    $d A x $.  $d B x $.
    $( Membership of a singleton in a unit power class.  (Contributed by SF,
       13-Jan-2015.) $)
    snelpw1 $p |- ( { A } e. ~P1 B <-> A e. B ) $=
      ( vx csn cv wceq wrex cpw1 wcel eqcom vex sneqb bitri rexbii elpw1 risset
      3bitr4i ) ADZCEZDZFZCBGSAFZCBGRBHIABIUAUBCBUATRFUBRTJSACKLMNCRBOCABPQ $.
  $}

  ${
    $d A x y $.
    $( Membership in ` ~P1 1c ` (Contributed by SF, 13-Jan-2015.) $)
    elpw11c $p |- ( A e. ~P1 1c <-> E. x A = { { x } } ) $=
      ( vy c1c cpw1 wcel cv csn wceq wrex wex elpw1 df-rex anbi1i 19.41v bitr4i
      wa el1c exbii bitri excom snex sneq eqeq2d ceqsexv 3bitri ) BDEFBCGZHZIZC
      DJZUGAGZHZIZUIQZAKZCKZBULHZIZAKZCBDLUJUGDFZUIQZCKUPUICDMVAUOCVAUMAKZUIQUO
      UTVBUIAUGRNUMUIAOPSTUPUNCKZAKUSUNCAUAVCURAUIURCULUKUBUMUHUQBUGULUCUDUESTU
      F $.

    $( Membership in ` ~P1 ~P1 1c ` (Contributed by SF, 13-Jan-2015.) $)
    elpw121c $p |- ( A e. ~P1 ~P1 1c <-> E. x A = { { { x } } } ) $=
      ( vy c1c cpw1 wcel cv csn wceq wrex elpw1 wa df-rex elpw11c anbi1i 19.41v
      wex bitr4i exbii bitri excom snex sneq eqeq2d ceqsexv ) BDEZEFBCGZHZIZCUF
      JZBAGHZHZHZIZAQZCBUFKUJUGULIZUILZAQZCQZUOUJUGUFFZUILZCQUSUICUFMVAURCVAUPA
      QZUILURUTVBUIAUGNOUPUIAPRSTUSUQCQZAQUOUQCAUAVCUNAUIUNCULUKUBUPUHUMBUGULUC
      UDUESTTT $.

    $( Membership in ` ~P1 ~P1 ~P1 1c ` (Contributed by SF, 14-Jan-2015.) $)
    elpw131c $p |- ( A e. ~P1 ~P1 ~P1 1c <->
                E. x A = { { { { x } } } } ) $=
      ( vy c1c cpw1 wcel cv csn wceq wex elpw1 wa df-rex elpw121c anbi1i 19.41v
      wrex bitr4i exbii bitri excom snex sneq eqeq2d ceqsexv ) BDEEZEFBCGZHZIZC
      UFQZBAGHHZHZHZIZAJZCBUFKUJUGULIZUILZAJZCJZUOUJUGUFFZUILZCJUSUICUFMVAURCVA
      UPAJZUILURUTVBUIAUGNOUPUIAPRSTUSUQCJZAJUOUQCAUAVCUNAUIUNCULUKUBUPUHUMBUGU
      LUCUDUESTTT $.

    $( Membership in ` ~P1 ~P1 ~P1 ~P1 1c ` (Contributed by SF,
       14-Jan-2015.) $)
    elpw141c $p |- ( A e. ~P1 ~P1 ~P1 ~P1 1c <->
                E. x A = { { { { { x } } } } } ) $=
      ( vy c1c cpw1 wcel cv csn wceq wex elpw1 wa df-rex elpw131c anbi1i 19.41v
      wrex bitr4i exbii bitri excom snex sneq eqeq2d ceqsexv ) BDEEEZEFBCGZHZIZ
      CUFQZBAGHHHZHZHZIZAJZCBUFKUJUGULIZUILZAJZCJZUOUJUGUFFZUILZCJUSUICUFMVAURC
      VAUPAJZUILURUTVBUIAUGNOUPUIAPRSTUSUQCJZAJUOUQCAUAVCUNAUIUNCULUKUBUPUHUMBU
      GULUCUDUESTTT $.

    $( Membership in ` ~P1 ~P1 ~P1 ~P1 ~P1 1c ` (Contributed by SF,
       14-Jan-2015.) $)
    elpw151c $p |- ( A e. ~P1 ~P1 ~P1 ~P1 ~P1 1c <->
                E. x A = { { { { { { x } } } } } } ) $=
      ( vy c1c cpw1 wcel cv csn wceq wex elpw1 wa df-rex elpw141c anbi1i 19.41v
      wrex bitr4i exbii bitri excom snex sneq eqeq2d ceqsexv ) BDEEEEZEFBCGZHZI
      ZCUFQZBAGHHHHZHZHZIZAJZCBUFKUJUGULIZUILZAJZCJZUOUJUGUFFZUILZCJUSUICUFMVAU
      RCVAUPAJZUILURUTVBUIAUGNOUPUIAPRSTUSUQCJZAJUOUQCAUAVCUNAUIUNCULUKUBUPUHUM
      BUGULUCUDUESTTT $.

    $( Membership in ` ~P1 ~P1 ~P1 ~P1 ~P1 ~P1 1c ` (Contributed by SF,
       14-Jan-2015.) $)
    elpw161c $p |- ( A e. ~P1 ~P1 ~P1 ~P1 ~P1 ~P1 1c <->
                E. x A = { { { { { { { x } } } } } } } ) $=
      ( vy c1c cpw1 wcel cv csn wceq wex elpw1 wa df-rex elpw151c anbi1i 19.41v
      wrex bitr4i exbii bitri excom snex sneq eqeq2d ceqsexv ) BDEEEEEZEFBCGZHZ
      IZCUFQZBAGHHHHHZHZHZIZAJZCBUFKUJUGULIZUILZAJZCJZUOUJUGUFFZUILZCJUSUICUFMV
      AURCVAUPAJZUILURUTVBUIAUGNOUPUIAPRSTUSUQCJZAJUOUQCAUAVCUNAUIUNCULUKUBUPUH
      UMBUGULUCUDUESTTT $.

    $( Membership in ` ~P1 ~P1 ~P1 ~P1 ~P1 ~P1 ~P1 1c ` (Contributed by SF,
       15-Jan-2015.) $)
    elpw171c $p |- ( A e. ~P1 ~P1 ~P1 ~P1 ~P1 ~P1 ~P1 1c <->
                E. x A = { { { { { { { { x } } } } } } } } ) $=
      ( vy c1c cpw1 wcel cv csn wceq wex elpw1 wa df-rex elpw161c anbi1i 19.41v
      wrex bitr4i exbii bitri excom snex sneq eqeq2d ceqsexv ) BDEEEEEEZEFBCGZH
      ZIZCUFQZBAGHHHHHHZHZHZIZAJZCBUFKUJUGULIZUILZAJZCJZUOUJUGUFFZUILZCJUSUICUF
      MVAURCVAUPAJZUILURUTVBUIAUGNOUPUIAPRSTUSUQCJZAJUOUQCAUAVCUNAUIUNCULUKUBUP
      UHUMBUGULUCUDUESTTT $.

    $( Membership in ` ~P1 ~P1 ~P1 ~P1 ~P1 ~P1 ~P1 ~P1 1c ` (Contributed by SF,
       15-Jan-2015.) $)
    elpw181c $p |- (
     A e. ~P1 ~P1 ~P1 ~P1 ~P1 ~P1 ~P1 ~P1 1c <->
                E. x A = { { { { { { { { { x } } } } } } } } } ) $=
      ( vy c1c cpw1 wcel cv csn wceq wex elpw1 wa df-rex elpw171c anbi1i 19.41v
      wrex bitr4i exbii bitri excom snex sneq eqeq2d ceqsexv ) BDEEEEEEEZEFBCGZ
      HZIZCUFQZBAGHHHHHHHZHZHZIZAJZCBUFKUJUGULIZUILZAJZCJZUOUJUGUFFZUILZCJUSUIC
      UFMVAURCVAUPAJZUILURUTVBUIAUGNOUPUIAPRSTUSUQCJZAJUOUQCAUAVCUNAUIUNCULUKUB
      UPUHUMBUGULUCUDUESTTT $.

    $( Membership in ` ~P1 ~P1 ~P1 ~P1 ~P1 ~P1 ~P1 ~P1 ~P1 1c ` (Contributed by
       SF, 24-Jan-2015.) $)
    elpw191c $p |- (
     A e. ~P1 ~P1 ~P1 ~P1 ~P1 ~P1 ~P1 ~P1 ~P1 1c <->
                E. x A = { { { { { { { { { { x } } } } } } } } } } ) $=
      ( vy c1c cpw1 wcel cv csn wceq wex elpw1 wa df-rex elpw181c anbi1i 19.41v
      wrex bitr4i exbii bitri excom snex sneq eqeq2d ceqsexv ) BDEEEEEEEEZEFBCG
      ZHZIZCUFQZBAGHHHHHHHHZHZHZIZAJZCBUFKUJUGULIZUILZAJZCJZUOUJUGUFFZUILZCJUSU
      ICUFMVAURCVAUPAJZUILURUTVBUIAUGNOUPUIAPRSTUSUQCJZAJUOUQCAUAVCUNAUIUNCULUK
      UBUPUHUMBUGULUCUDUESTTT $.

    $( Membership in ` ~P1 ~P1 ~P1 ~P1 ~P1 ~P1 ~P1 ~P1 ~P1 ~P1 1c `
       (Contributed by SF, 24-Jan-2015.) $)
    elpw1101c $p |- (
     A e. ~P1 ~P1 ~P1 ~P1 ~P1 ~P1 ~P1 ~P1 ~P1 ~P1 1c <->
                E. x A = { { { { { { { { { { { x } } } } } } } } } } } ) $=
      ( vy c1c cpw1 wcel cv csn wceq wex elpw1 wa df-rex elpw191c anbi1i 19.41v
      wrex bitr4i exbii bitri excom snex sneq eqeq2d ceqsexv ) BDEEEEEEEEEZEFBC
      GZHZIZCUFQZBAGHHHHHHHHHZHZHZIZAJZCBUFKUJUGULIZUILZAJZCJZUOUJUGUFFZUILZCJU
      SUICUFMVAURCVAUPAJZUILURUTVBUIAUGNOUPUIAPRSTUSUQCJZAJUOUQCAUAVCUNAUIUNCUL
      UKUBUPUHUMBUGULUCUDUESTTT $.

    $( Membership in ` ~P1 ~P1 ~P1 ~P1 ~P1 ~P1 ~P1 ~P1 ~P1 ~P1 ~P1 1c `
       (Contributed by SF, 24-Jan-2015.) $)
    elpw1111c $p |- (
     A e. ~P1 ~P1 ~P1 ~P1 ~P1 ~P1 ~P1 ~P1 ~P1 ~P1 ~P1 1c <->
                E. x A = { { { { { { { { { { { { x } } } } } } } } } } } } ) $=
      ( vy c1c cpw1 wcel csn wceq wrex wex elpw1 df-rex elpw1101c anbi1i 19.41v
      cv wa bitr4i exbii bitri excom snex sneq eqeq2d ceqsexv ) BDEEEEEEEEEEZEF
      BCPZGZHZCUFIZBAPGGGGGGGGGGZGZGZHZAJZCBUFKUJUGULHZUIQZAJZCJZUOUJUGUFFZUIQZ
      CJUSUICUFLVAURCVAUPAJZUIQURUTVBUIAUGMNUPUIAORSTUSUQCJZAJUOUQCAUAVCUNAUIUN
      CULUKUBUPUHUMBUGULUCUDUESTTT $.
  $}

  $( A unit power class is a subset of ` 1c ` .  (Contributed by SF,
     22-Jan-2015.) $)
  pw1ss1c $p |- ~P1 A C_ 1c $=
    ( cpw1 cpw c1c cin df-pw1 inss2 eqsstri ) ABACZDEDAFIDGH $.

  $( The empty class is not a singleton.  (Contributed by SF, 22-Jan-2015.) $)
  0nel1c $p |- -. (/) e. 1c $=
    ( vx c0 c1c wcel cv csn wceq wex wn cvv vex snprc eqcom bitri con1bii mpbir
    nex el1c mtbir ) BCDBAEZFZGZAHUBAUBITJDZAKUCUBUCIUABGUBTLUABMNOPQABRS $.

  $( Note that ` x ` is a dummy variable in the proof below. $)
  $( Compute the power set of the empty set.  Theorem 89 of [Suppes] p. 47.
     (The proof was shortened by Andrew Salmon, 29-Jun-2011.)  (Contributed by
     SF, 5-Aug-1993.)  (Revised by SF, 29-Jun-2011.) $)
  pw0 $p |- ~P (/) = { (/) } $=
    ( vx cv c0 wss cab wceq cpw csn ss0b abbii df-pw df-sn 3eqtr4i ) ABZCDZAENC
    FZAECGCHOPANIJACKACLM $.

  $( Compute the unit power class of ` (/) ` (Contributed by SF,
     22-Jan-2015.) $)
  pw10 $p |- ~P1 (/) = (/) $=
    ( vx c0 cpw1 cpw c1c cin csn df-pw1 ineq1i wceq cv wcel wn disj 0nel1c elsn
    pw0 wb eleq1 sylbi mtbiri mprgbir 3eqtri ) BCBDZEFBGZEFZBBHUDUEEQIUFBJAKZEL
    ZMAUEAUEENUGUELZUHBELZOUIUGBJUHUJRABPUGBESTUAUBUC $.

  ${
    $d A x y $.  $d B x y $.
    $( A condition for equality to unit power class.  (Contributed by SF,
       21-Jan-2015.) $)
    eqpw1 $p |- ( A = ~P1 B <-> ( A C_ 1c /\ A. x ( { x } e. A <-> x e. B )
        ) ) $=
      ( vy cpw1 wceq c1c wss cv csn wcel wb pw1ss1c sseq1 wi bitr4i albii bitri
      wal eleq1 mpbiri wral ssofeq mpan2 df-ral wex imbi1i 19.23v alcom bibi12d
      el1c snex ceqsalv snelpw1 bibi2i syl6bb biadan2 ) BCEZFZBGHZAIZJZBKZVACKZ
      LZASZUSUTURGHZCMZBURGNUAUTUSDIZBKZVIURKZLZDGUBZVFUTVGUSVMLVHDBURGUCUDVMVI
      VBFZVLOZDSZASZVFVMVIGKZVLOZDSZVQVLDGUEVTVOASZDSVQVSWADVSVNAUFZVLOWAVRWBVL
      AVIUKUGVNVLAUHPQVOADUIPRVPVEAVPVCVBURKZLZVEVLWDDVBVAULVNVJVCVKWCVIVBBTVIV
      BURTUJUMWCVDVCVACUNUORQRUPUQ $.
  $}

  ${
    $d A x y $.  $d B x y $.
    $( Unit power class distributes over union.  (Contributed by SF,
       22-Jan-2015.) $)
    pw1un $p |- ~P1 ( A u. B ) = ( ~P1 A u. ~P1 B ) $=
      ( vx vy cun cpw1 cv wceq wrex wcel rexun elpw1 elun orbi12i bitri 3bitr4i
      csn wo eqriv ) CABEZFZAFZBFZEZCGZDGQHZDTIUFDAIZUFDBIZRZUEUAJUEUDJZUFDABKD
      UETLUJUEUBJZUEUCJZRUIUEUBUCMUKUGULUHDUEALDUEBLNOPS $.
  $}

  ${
    $d A x y $.  $d B x y $.
    $( Unit power class distributes over intersection.  (Contributed by SF,
       13-Feb-2015.) $)
    pw1in $p |- ~P1 ( A i^i B ) = ( ~P1 A i^i ~P1 B ) $=
      ( vx vy cin cpw1 cv csn wceq wrex wcel wa ancom eleq1 snelpw1 syl6bb elin
      anbi2d elpw1 3bitr4i syl6bbr pm5.32ri an12 3bitr3i rexbii2 anbi1i r19.41v
      eqriv ) CABEZFZAFZBFZEZCGZDGZHZIZDUIJUQUNULKZLZDAJZUNUJKUNUMKZUQUSDUIAUOA
      KZURLZUQLUQVCLUOUIKZUQLVBUSLVCUQMUQVCVDUQVCVBUOBKZLVDUQURVEVBUQURUPULKVEU
      NUPULNUOBOPRUOABQUAUBUQVBURUCUDUEDUNUISUNUKKZURLUQDAJZURLVAUTVFVGURDUNASU
      FUNUKULQUQURDAUGTTUH $.
  $}

  ${
    $d A x y $.
    pw1sn.1 $e |- A e. _V $.
    $( Compute the unit power class of a singleton.  (Contributed by SF,
       22-Jan-2015.) $)
    pw1sn $p |- ~P1 { A } = { { A } } $=
      ( vx vy cpw1 cv wceq wrex wcel sneq eqeq2d rexsn elpw1 elsn 3bitr4i eqriv
      csn ) CAQZEZRQZCFZDFZQZGZDRHUARGZUASIUATIUDUEDABUBAGUCRUAUBAJKLDUARMCRNOP
      $.
  $}

  ${
    $d A x $.
    $( The unit power class of a class is empty iff the class itself is empty.
       (Contributed by SF, 22-Jan-2015.) $)
    pw10b $p |- ( ~P1 A = (/) <-> A = (/) ) $=
      ( vx cpw1 c0 wceq wne cv wcel wex csn snelpw1 ne0i sylbir exlimiv necon4i
      n0 sylbi pw1eq pw10 syl6eq impbii ) ACZDEADEZADUBDADFBGZAHZBIUBDFZBAPUEUF
      BUEUDJZUBHUFUDAKUBUGLMNQOUCUBDCDADRSTUA $.
  $}

  ${
    $d A x y $.  $d B x y $.
    $( Two unit power classes are disjoint iff the classes themselves are
       disjoint.  (Contributed by SF, 26-Jan-2015.) $)
    pw1disj $p |- ( ( ~P1 A i^i ~P1 B ) = (/) <-> ( A i^i B ) = (/) ) $=
      ( vx vy cpw1 cin c0 wceq cv wcel wn wral csn wi disj eleq1 notbid snelpw1
      sylbi ralrimiv rspccv notbii 3imtr3g sylibr wrex elpw1 rsp imp syl5ibrcom
      wa syl6bb rexlimdva syl5bi impbii ) AEZBEZFGHZABFGHZUQCIZBJZKZCALURUQVACA
      UQUSMZUOJZVBUPJZKZUSAJVAUQDIZUPJZKZDUOLVCVENDUOUPOVHVEDVBUOVFVBHVGVDVFVBU
      PPQUASUSARVDUTUSBRUBUCTCABOUDURUSUPJZKZCUOLUQURVJCUOUSUOJUSVFMZHZDAUEURVJ
      DUSAUFURVLVJDAURVFAJZUJVJVLVFBJZKZURVMVOURVODALVMVONDABOVODAUGSUHVLVIVNVL
      VIVKUPJVNUSVKUPPVFBRUKQUIULUMTCUOUPOUDUN $.
  $}

  ${
    $d x y $.
    $( Cardinal one is the unit power class of the universe.  (Contributed by
       SF, 29-Jan-2015.) $)
    df1c2 $p |- 1c = ~P1 _V $=
      ( vx vy c1c cvv cpw1 cv csn wceq wrex wcel rexv elpw1 el1c 3bitr4ri eqriv
      wex ) ACDEZAFZBFGHZBDISBPRQJRCJSBKBRDLBRMNO $.
  $}

  $( Unit power set preserves subset.  (Contributed by SF, 3-Feb-2015.) $)
  pw1ss $p |- ( A C_ B -> ~P1 A C_ ~P1 B ) $=
    ( wss cpw c1c cin cpw1 sspwb ssrin sylbi df-pw1 3sstr4g ) ABCZADZEFZBDZEFZA
    GBGMNPCOQCABHNPEIJAKBKL $.

  ${
    $d A t $.  $d A x $.  $d B t $.  $d B x $.  $d t x $.
    $( The unit power class operation is one-to-one.  (Contributed by SF,
       26-Feb-2015.) $)
    pw111 $p |- ( ~P1 A = ~P1 B <-> A = B ) $=
      ( vt vx cv csn wceq cpw1 wcel wb wi wal eleq1 snelpw1 bitri albii c1c wss
      snex pw1ss1c bibi12d ceqsalv bibi12i wral ssofeq mp2an df-ral el1c imbi1i
      wex 19.23v bitr4i alcom dfcleq 3bitr4i ) CEZDEZFZGZUPAHZIZUPBHZIZJZKZCLZD
      LZUQAIZUQBIZJZDLUTVBGZABGVFVJDVFURUTIZURVBIZJZVJVDVNCURUQSUSVAVLVCVMUPURU
      TMUPURVBMUAUBVLVHVMVIUQANUQBNUCOPVKVDCQUDZVGUTQRVBQRVKVOJATBTCUTVBQUEUFVO
      UPQIZVDKZCLZVGVDCQUGVRVEDLZCLVGVQVSCVQUSDUJZVDKVSVPVTVDDUPUHUIUSVDDUKULPV
      ECDUMOOODABUNUO $.
  $}

  $( A unit power class is a subset of a power class.  (Contributed by SF,
     10-Mar-2015.) $)
  pw1sspw $p |- ~P1 A C_ ~P A $=
    ( cpw1 cpw c1c cin df-pw1 inss1 eqsstri ) ABACZDEIAFIDGH $.

  ${
    $d A x y $.  $d B x y $.
    $( Membership in a unit union.  (Contributed by SF, 15-Mar-2015.) $)
    eluni1g $p |- ( A e. V -> ( A e. U.1 B <-> { A } e. B ) ) $=
      ( vy vx cuni1 wcel wceq csn wex c1c cin cuni df-uni1 anbi1i bitr4i 3bitri
      cv wa exbii eleq2i eluni elin ancom el1c 19.41v anbi2i 19.42v excom eleq2
      an12 vex elsnc2 syl6bb eleq1 anbi12d ceqsexv eqcom eleq1d ceqsexgv syl5bb
      snex sneq ) ABFZGZDRZAHZVFIZBGZSZDJZACGAIZBGZVEABKLZMZGAERZGZVPVNGZSZEJZV
      KVDVOABNUAEAVNUBVTVQVPVHHZVPBGZSZSZDJZEJWDEJZDJVKVSWEEVSVQWCDJZSWEVRWGVQV
      RWBVPKGZSWHWBSZWGVPBKUCWBWHUDWIWADJZWBSWGWHWJWBDVPUEOWAWBDUFPQUGVQWCDUHPT
      WDEDUIWFVJDWFWAVQWBSZSZEJAVFHZVISZVJWDWLEVQWAWBUKTWKWNEVHVFVBWAVQWMWBVIWA
      VQAVHGWMVPVHAUJAVFDULUMUNVPVHBUOUPUQWMVGVIAVFUROQTQQVIVMDACVGVHVLBVFAVCUS
      UTVA $.
  $}

  ${
    eluni1.1 $e |- A e. _V $.
    $( Membership in a unit union.  (Contributed by SF, 15-Mar-2015.) $)
    eluni1 $p |- ( A e. U.1 B <-> { A } e. B ) $=
      ( cvv wcel cuni1 csn wb eluni1g ax-mp ) ADEABFEAGBEHCABDIJ $.
  $}


$(
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
        Kuratowski relationships
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
$)

  $( Introduce new constant symbols. $)
  $c X._k $. $( Times symbol (cross product symbol) (read: 'cross') $)
  $c `'_k $. $( Small elevated smiley (converse operation) $)
  $c "_k $. $( Left quote (image symbol) $)
  $c o._k $. $( Small circle (composition symbol) $)
  $c Ins2_k $. $( Insert two operator. $)
  $c Ins3_k $. $( Insert three operator. $)
  $c P6 $. $( P6 operator $)
  $c SI_k $. $( Singleton image functor $)
  $c _S_k $. $( Subset relationship $)
  $c Image_k $. $( Image functor $)
  $c _I_k $. $( Identity relationship $)

  $( Extend the definition of a class to include the Kuratowski cross
     product. $)
  cxpk $a class ( A X._k B ) $.

  $( Extend the definition of a class to include the Kuratowski converse of a
     class. $)
  ccnvk $a class `'_k A $.

  $( Extend the definition of a class to include the Kuratowski second
     insertion operator. $)
  cins2k $a class Ins2_k A $.

  $( Extend the definition of a class to include the Kuratowski third insertion
     operator. $)
  cins3k $a class Ins3_k A $.

  $( Extend the definition of a class to include the P6 operator (the set
     guaranteed by ~ ax-typlower ). $)
  cp6 $a class P6 A $.

  $( Extend the definition of a class to include the Kuratowski image of a
     class.  (Read:  The image of ` B ` under ` A ` .) $)
  cimak $a class ( A "_k B ) $.

  $( Extend the definition of a class to include the Kuratowski composition of
     two classes.  (Read:  The composition of ` A ` and ` B ` .) $)
  ccomk $a class ( A o._k B ) $.

  $( Extend the definition of a class to include the Kuratowski singleton
     image. $)
  csik $a class SI_k A $.

  $( Extend the definition of a class to include the Kuratowski image
     functor. $)
  cimagek $a class Image_k A $.

  $( Extend the definition of a class to include the Kuratowski subset
     relationship. $)
  cssetk $a class _S_k $.

  $( Extend the definition of a class to include the Kuratowski identity
     relationship. $)
  cidk $a class _I_k $.

  ${
    $d A x y z t u v $.  $d B x y z t u v $.
    $( Define the Kuratowski cross product.  This definition through ~ df-idk
       set up the Kuratowski relationships.  These are used mainly to prove the
       properties of ~ df-op , and are not used thereafter.  (Contributed by
       SF, 12-Jan-2015.) $)
    df-xpk $a |- ( A X._k B ) =
            { x | E. y E. z ( x = << y , z >> /\ ( y e. A /\ z e. B ) ) } $.

    $( Define the Kuratowski converse.  (Contributed by SF, 12-Jan-2015.) $)
    df-cnvk $a |- `'_k A =
             { x | E. y E. z ( x = << y , z >> /\ << z , y >> e. A ) } $.

    $( Define the Kuratowski second insertion operator.  (Contributed by SF,
       12-Jan-2015.) $)
    df-ins2k $a |- Ins2_k A =
       { x | E. y E. z ( x = << y , z >> /\
         E. t E. u E. v ( y = { { t } } /\ z = << u , v >> /\
            << t , v >> e. A ) ) } $.

    $( Define the Kuratowski third insertion operator.  (Contributed by SF,
       12-Jan-2015.) $)
    df-ins3k $a |- Ins3_k A =
       { x | E. y E. z ( x = << y , z >> /\
         E. t E. u E. v ( y = { { t } } /\ z = << u , v >> /\
            << t , u >> e. A ) ) } $.

    $( Define the Kuratowski image operator.  (Contributed by SF,
       12-Jan-2015.) $)
    df-imak $a |- ( A "_k B ) = { x | E. y e. B << y , x >> e. A } $.

    $( Define the Kuratowski composition operator.  (Contributed by SF,
       12-Jan-2015.) $)
    df-cok $a |- ( A o._k B ) =
       ( ( Ins2_k A i^i Ins3_k `'_k B ) "_k _V ) $.

    $( Define the P6 operator.  This is the set guaranteed by ~ ax-typlower .
       (Contributed by SF, 12-Jan-2015.) $)
    df-p6 $a |- P6 A = { x | ( _V X._k { { x } } ) C_ A } $.

    $( Define the Kuratowski singleton image operation.  (Contributed by SF,
       12-Jan-2015.) $)
    df-sik $a |- SI_k A = { x |
       E. y E. z ( x = << y , z >> /\
          E. t E. u ( y = { t } /\ z = { u } /\ << t , u >> e. A ) ) } $.

    $( Define the Kuratowski subset relationship.  (Contributed by SF,
       12-Jan-2015.) $)
    df-ssetk $a |- _S_k = { x | E. y E. z ( x = << y , z >> /\ y C_ z ) } $.

    $( Define the Kuratowski image function.  See ~ opkelimagek for
       membership.  (Contributed by SF, 12-Jan-2015.) $)
    df-imagek $a |- Image_k A =
       ( ( _V X._k _V ) \
         ( ( Ins2_k _S_k (+) Ins3_k ( _S_k o._k `'_k SI_k A ) ) "_k
           ~P1 ~P1 1c ) ) $.

    $( Define the Kuratowski identity relationship.  (Contributed by SF,
       12-Jan-2015.) $)
    df-idk $a |- _I_k = { x | E. y E. z ( x = << y , z >> /\ y = z ) } $.
  $}

  ${
    $d A x y z w $.  $d B x y z w $.  $d C x y z w $.

    $( Membership in a Kuratowski cross product.  (Contributed by SF,
       12-Jan-2015.) $)
    elxpk $p |- ( A e. ( B X._k C ) <-> E. x E. y ( A = << x , y >> /\
               ( x e. B /\ y e. C ) ) ) $=
      ( vw cxpk wcel cvv cv copk wceq wa wex opkex eleq1 mpbiri adantr exlimivv
      elex eqeq1 anbi1d 2exbidv df-xpk elab2g pm5.21nii ) CDEGZHCIHZCAJZBJZKZLZ
      UIDHUJEHMZMZBNANZCUGTUNUHABULUHUMULUHUKIHUIUJOCUKIPQRSFJZUKLZUMMZBNANUOFC
      UGIUPCLZURUNABUSUQULUMUPCUKUAUBUCFABDEUDUEUF $.

    $( Membership in a cross product.  (Contributed by SF, 12-Jan-2015.) $)
    elxpk2 $p |- ( A e. ( B X._k C ) <->
           E. x e. B E. y e. C A = << x , y >> ) $=
      ( cv wcel wa copk wceq wex wrex cxpk ancom 2exbii r2ex elxpk 3bitr4ri ) A
      FZDGBFZEGHZCSTIJZHZBKAKUBUAHZBKAKUBBELADLCDEMGUCUDABUAUBNOUBABDEPABCDEQR
      $.

    $d x y z A $.  $d x y z B $.  $d x y z C $.
    $( Equality theorem for Kuratowski cross product.  (Contributed by SF,
       12-Jan-2015.) $)
    xpkeq1 $p |- ( A = B -> ( A X._k C ) = ( B X._k C ) ) $=
      ( vx vy vz wceq cxpk cv copk wrex wcel rexeq elxpk2 3bitr4g eqrdv ) ABGZD
      ACHZBCHZQDIZEIFIJGFCKZEAKUAEBKTRLTSLUAEABMEFTACNEFTBCNOP $.

    $( Equality theorem for Kuratowski cross product.  (Contributed by SF,
       12-Jan-2015.) $)
    xpkeq2 $p |- ( A = B -> ( C X._k A ) = ( C X._k B ) ) $=
      ( vx vy vz wceq cxpk cv copk wrex wcel rexeq rexbidv elxpk2 3bitr4g eqrdv
      ) ABGZDCAHZCBHZRDIZEIFIJGZFAKZECKUBFBKZECKUASLUATLRUCUDECUBFABMNEFUACAOEF
      UACBOPQ $.
  $}

  $( Equality theorem for Kuratowski cross product.  (Contributed by SF,
     12-Jan-2015.) $)
  xpkeq12 $p |- ( ( A = B /\ C = D ) -> ( A X._k C ) = ( B X._k D ) ) $=
    ( wceq cxpk xpkeq1 xpkeq2 sylan9eq ) ABECDEACFBCFBDFABCGCDBHI $.

  ${
    xpkeq1i.1 $e |- A = B $.
    $( Equality inference for Kuratowski cross product.  (Contributed by SF,
       12-Jan-2015.) $)
    xpkeq1i $p |- ( A X._k C ) = ( B X._k C ) $=
      ( wceq cxpk xpkeq1 ax-mp ) ABEACFBCFEDABCGH $.

    $( Equality inference for Kuratowski cross product.  (Contributed by SF,
       12-Jan-2015.) $)
    xpkeq2i $p |- ( C X._k A ) = ( C X._k B ) $=
      ( wceq cxpk xpkeq2 ax-mp ) ABECAFCBFEDABCGH $.
  $}

  ${
    xpkeq12i.1 $e |- A = B $.
    xpkeq12i.2 $e |- C = D $.
    $( Equality inference for Kuratowski cross product.  (Contributed by SF,
       12-Jan-2015.) $)
    xpkeq12i $p |- ( A X._k C ) = ( B X._k D ) $=
      ( wceq cxpk xpkeq12 mp2an ) ABGCDGACHBDHGEFABCDIJ $.
  $}

  ${
    xpkeq1d.1 $e |- ( ph -> A = B ) $.
    $( Equality deduction for Kuratowski cross product.  (Contributed by SF,
       12-Jan-2015.) $)
    xpkeq1d $p |- ( ph -> ( A X._k C ) = ( B X._k C ) ) $=
      ( wceq cxpk xpkeq1 syl ) ABCFBDGCDGFEBCDHI $.

    $( Equality deduction for Kuratowski cross product.  (Contributed by SF,
       12-Jan-2015.) $)
    xpkeq2d $p |- ( ph -> ( C X._k A ) = ( C X._k B ) ) $=
      ( wceq cxpk xpkeq2 syl ) ABCFDBGDCGFEBCDHI $.

    xpkeq12d.2 $e |- ( ph -> C = D ) $.
    $( Equality deduction for Kuratowski cross product.  (Contributed by SF,
       12-Jan-2015.) $)
    xpkeq12d $p |- ( ph -> ( A X._k C ) = ( B X._k D ) ) $=
      ( wceq cxpk xpkeq12 syl2anc ) ABCHDEHBDICEIHFGBCDEJK $.
  $}

  ${
    $d A x y $.
    $( Membership in ` ( _V X._k _V ) ` (Contributed by SF, 13-Jan-2015.) $)
    elvvk $p |- ( A e. ( _V X._k _V ) <-> E. x E. y A = << x , y >> ) $=
      ( cvv cxpk wcel cv copk wceq wex elxpk vex pm3.2i biantru 2exbii bitr4i
      wa ) CDDEFCAGZBGZHIZRDFZSDFZQZQZBJAJTBJAJABCDDKTUDABUCTUAUBALBLMNOP $.
  $}

  ${
    $d t w $.  $d t y $.  $d t z $.  $d w y $.  $d w z $.  $d x y $.  $d x z $.
    $( Any Kuratowski ordered pair abstraction is a subset of
       ` ( _V X._k _V ) ` .  (Contributed by SF, 13-Jan-2015.) $)
    opkabssvvk $p |- { x | E. y E. z ( x = << y , z >> /\ ph ) } C_
       ( _V X._k _V ) $=
      ( vw vt cv copk wceq wex cvv cxpk wcel eqid vex weq opkeq12 eqeq2d spc2ev
      wa ax-mp elvvk mpbir eleq1 mpbiri adantr exlimivv abssi ) BGZCGZDGZHZIZAT
      ZDJCJBKKLZUNUIUOMZCDUMUPAUMUPULUOMZUQULEGZFGZHZIZFJEJZULULIZVBULNVAVCEFUJ
      UKCODOECPFDPTUTULULURUSUJUKQRSUAEFULUBUCUIULUOUDUEUFUGUH $.
  $}

  ${
    $d x y $.  $d x z $.
    opkabssvvki.1 $e |- A = { x | E. y E. z ( x = << y , z >> /\ ph ) } $.
    $( Any Kuratowski ordered pair abstraction is a subset of
       ` ( _V X._k _V ) ` .  (Contributed by SF, 13-Jan-2015.) $)
    opkabssvvki $p |- A C_ ( _V X._k _V ) $=
      ( cv copk wceq wa wex cab cvv cxpk opkabssvvk eqsstri ) EBGCGDGHIAJDKCKBL
      MMNFABCDOP $.
  $}

  ${
    $d A x y z $.  $d B x y z $.
    $( Any Kuratowski cross product is a subset of ` ( _V X._k _V ) ` .
       (Contributed by SF, 13-Jan-2015.) $)
    xpkssvvk $p |- ( A X._k B ) C_ ( _V X._k _V ) $=
      ( vy vz vx cv wcel wa cxpk df-xpk opkabssvvki ) CFAGDFBGHECDABIECDABJK $.
  $}

  ${
    $d A x y z $.  $d B x y z $.
    $( Subset for Kuratowski relationships.  (Contributed by SF,
       13-Jan-2015.) $)
    ssrelk $p |- ( A C_ ( _V X._k _V ) ->
       ( A C_ B <-> A. x A. y ( << x , y >> e. A -> << x , y >> e. B ) ) ) $=
      ( vz cvv cxpk wss cv wcel wi wral copk wal ssofss wceq df-ral bitri eleq1
      wex elvvk imbi1i 19.23vv bitr4i albii alrot3 opkex imbi12d ceqsalv 2albii
      syl6bb ) CFFGZHCDHEIZCJZUMDJZKZEULLZAIZBIZMZCJZUTDJZKZBNANZECDULOUQUMUTPZ
      UPKZENZBNANZVDUQUMULJZUPKZENZVHUPEULQVKVFBNANZENVHVJVLEVJVEBTATZUPKVLVIVM
      UPABUMUAUBVEUPABUCUDUEVFEABUFRRVGVCABUPVCEUTURUSUGVEUNVAUOVBUMUTCSUMUTDSU
      HUIUJRUK $.
  $}

  ${
    $d A x y z $.  $d B x y z $.
    $( Equality for two Kuratowski relationships.  (Contributed by SF,
       13-Jan-2015.) $)
    eqrelk $p |- ( ( A C_ ( _V X._k _V ) /\ B C_ ( _V X._k _V ) ) ->
      ( A = B <-> A. x A. y ( << x , y >> e. A <-> << x , y >> e. B ) ) ) $=
      ( vz cvv cxpk wss wa wceq cv wcel wb wral copk wal ssofeq wi wex eleq1
      df-ral elvvk imbi1i 19.23vv bitr4i albii alrot3 bitri opkex 2albii 3bitri
      bibi12d ceqsalv syl6bb ) CFFGZHDUOHICDJEKZCLZUPDLZMZEUONZAKZBKZOZCLZVCDLZ
      MZBPAPZECDUOQUTUPUOLZUSRZEPZUPVCJZUSRZEPZBPAPZVGUSEUOUAVJVLBPAPZEPVNVIVOE
      VIVKBSASZUSRVOVHVPUSABUPUBUCVKUSABUDUEUFVLEABUGUHVMVFABUSVFEVCVAVBUIVKUQV
      DURVEUPVCCTUPVCDTULUMUJUKUN $.
  $}

  ${
    $d A x y $.  $d B x y $.
    eqrelkriiv.1 $e |- A C_ ( _V X._k _V ) $.
    eqrelkriiv.2 $e |- B C_ ( _V X._k _V ) $.
    ${
      eqrelkriiv.3 $e |- ( << x , y >> e. A <-> << x , y >> e. B ) $.
      $( Equality for two Kuratowski relationships.  (Contributed by SF,
         13-Jan-2015.) $)
      eqrelkriiv $p |- A = B $=
        ( wceq cv copk wcel wb wal gen2 cvv cxpk wss eqrelk mp2an mpbir ) CDHZA
        IBIJZCKUBDKLZBMAMZUCABGNCOOPZQDUEQUAUDLEFABCDRST $.
    $}

    ${
      $d ph x y $.
      eqrelkrdv.3 $e |- ( ph -> ( << x , y >> e. A <-> << x , y >> e. B ) ) $.
      $( Equality for two Kuratowski relationships.  (Contributed by SF,
         13-Jan-2015.) $)
      eqrelkrdv $p |- ( ph -> A = B ) $=
        ( cv copk wcel wb wal wceq alrimivv cvv cxpk wss eqrelk mp2an sylibr )
        ABICIJZDKUBEKLZCMBMZDENZAUCBCHODPPQZREUFRUEUDLFGBCDESTUA $.
    $}
  $}

  ${
    $d A x y z $.  $d B x y z $.
    $( Equality theorem for Kuratowski converse.  (Contributed by SF,
       12-Jan-2015.) $)
    cnvkeq $p |- ( A = B -> `'_k A = `'_k B ) $=
      ( vx vy vz wceq cv copk wcel wa wex cab ccnvk eleq2 anbi2d 2exbidv abbidv
      df-cnvk 3eqtr4g ) ABFZCGDGZEGZHFZUBUAHZAIZJZEKDKZCLUCUDBIZJZEKDKZCLAMBMTU
      GUJCTUFUIDETUEUHUCABUDNOPQCDEARCDEBRS $.
  $}

  ${
    cnvkeqi.1 $e |- A = B $.
    $( Equality inference for Kuratowski converse.  (Contributed by SF,
       12-Jan-2015.) $)
    cnvkeqi $p |- `'_k A = `'_k B $=
      ( wceq ccnvk cnvkeq ax-mp ) ABDAEBEDCABFG $.
  $}

  ${
    cnvkeqd.1 $e |- ( ph -> A = B ) $.
    $( Equality deduction for Kuratowski converse.  (Contributed by SF,
       12-Jan-2015.) $)
    cnvkeqd $p |- ( ph -> `'_k A = `'_k B ) $=
      ( wceq ccnvk cnvkeq syl ) ABCEBFCFEDBCGH $.
  $}

  ${
    $d A x y z w t u $.  $d B x y z w t u $.
    $( Equality theorem for the Kuratowski insert two operator.  (Contributed
       by SF, 12-Jan-2015.) $)
    ins2keq $p |- ( A = B -> Ins2_k A = Ins2_k B ) $=
      ( vx vy vz vw vt vu wceq cv copk csn w3a wex wa cab cins2k eleq2 df-ins2k
      wcel 3anbi3d 3exbidv anbi2d 2exbidv abbidv 3eqtr4g ) ABIZCJDJZEJZKIZUHFJZ
      LLIZUIGJHJZKIZUKUMKZATZMZHNGNFNZOZENDNZCPUJULUNUOBTZMZHNGNFNZOZENDNZCPAQB
      QUGUTVECUGUSVDDEUGURVCUJUGUQVBFGHUGUPVAULUNABUORUAUBUCUDUECDEHGFASCDEHGFB
      SUF $.

    $( Equality theorem for the Kuratowski insert three operator.  (Contributed
       by SF, 12-Jan-2015.) $)
    ins3keq $p |- ( A = B -> Ins3_k A = Ins3_k B ) $=
      ( vx vy vz vw vt vu wceq cv copk csn w3a wex wa cab cins3k eleq2 df-ins3k
      wcel 3anbi3d 3exbidv anbi2d 2exbidv abbidv 3eqtr4g ) ABIZCJDJZEJZKIZUHFJZ
      LLIZUIGJZHJKIZUKUMKZATZMZHNGNFNZOZENDNZCPUJULUNUOBTZMZHNGNFNZOZENDNZCPAQB
      QUGUTVECUGUSVDDEUGURVCUJUGUQVBFGHUGUPVAULUNABUORUAUBUCUDUECDEHGFASCDEHGFB
      SUF $.
  $}

  ${
    inskeqi.1 $e |- A = B $.
    $( Equality inference for Kuratowski insert two operator.  (Contributed by
       SF, 12-Jan-2015.) $)
    ins2keqi $p |- Ins2_k A = Ins2_k B $=
      ( wceq cins2k ins2keq ax-mp ) ABDAEBEDCABFG $.

    $( Equality inference for Kuratowski insert three operator.  (Contributed
       by SF, 12-Jan-2015.) $)
    ins3keqi $p |- Ins3_k A = Ins3_k B $=
      ( wceq cins3k ins3keq ax-mp ) ABDAEBEDCABFG $.
  $}

  ${
    inskeqd.1 $e |- ( ph -> A = B ) $.
    $( Equality deduction for Kuratowski insert two operator.  (Contributed by
       SF, 12-Jan-2015.) $)
    ins2keqd $p |- ( ph -> Ins2_k A = Ins2_k B ) $=
      ( wceq cins2k ins2keq syl ) ABCEBFCFEDBCGH $.

    $( Equality deduction for Kuratowski insert three operator.  (Contributed
       by SF, 12-Jan-2015.) $)
    ins3keqd $p |- ( ph -> Ins3_k A = Ins3_k B ) $=
      ( wceq cins3k ins3keq syl ) ABCEBFCFEDBCGH $.
  $}

  ${
    $d A x y $.  $d B x y $.  $d C x y $.
    $( Equality theorem for Kuratowski image.  (Contributed by SF,
       12-Jan-2015.) $)
    imakeq1 $p |- ( A = B -> ( A "_k C ) = ( B "_k C ) ) $=
      ( vy vx wceq cv copk wcel wrex cimak eleq2 rexbidv abbidv df-imak 3eqtr4g
      cab ) ABFZDGEGHZAIZDCJZEQSBIZDCJZEQACKBCKRUAUCERTUBDCABSLMNEDACOEDBCOP $.

    $( Equality theorem for Kuratowski image.  (Contributed by SF,
       12-Jan-2015.) $)
    imakeq2 $p |- ( A = B -> ( C "_k A ) = ( C "_k B ) ) $=
      ( vy vx wceq cv copk wcel wrex cab cimak rexeq abbidv df-imak 3eqtr4g ) A
      BFZDGEGHCIZDAJZEKRDBJZEKCALCBLQSTERDABMNEDCAOEDCBOP $.
  $}

  ${
    imakeq1i.1 $e |- A = B $.
    $( Equality theorem for image.  (Contributed by SF, 12-Jan-2015.) $)
    imakeq1i $p |- ( A "_k C ) = ( B "_k C ) $=
      ( wceq cimak imakeq1 ax-mp ) ABEACFBCFEDABCGH $.

    $( Equality theorem for Kuratowski image.  (Contributed by SF,
       12-Jan-2015.) $)
    imakeq2i $p |- ( C "_k A ) = ( C "_k B ) $=
      ( wceq cimak imakeq2 ax-mp ) ABECAFCBFEDABCGH $.
  $}

  ${
    imakeq1d.1 $e |- ( ph -> A = B ) $.
    $( Equality theorem for Kuratowski image.  (Contributed by SF,
       12-Jan-2015.) $)
    imakeq1d $p |- ( ph -> ( A "_k C ) = ( B "_k C ) ) $=
      ( wceq cimak imakeq1 syl ) ABCFBDGCDGFEBCDHI $.

    $( Equality theorem for Kuratowski image.  (Contributed by SF,
       12-Jan-2015.) $)
    imakeq2d $p |- ( ph -> ( C "_k A ) = ( C "_k B ) ) $=
      ( wceq cimak imakeq2 syl ) ABCFDBGDCGFEBCDHI $.
  $}

  $( Equality theorem for Kuratowski composition of two classes.  (Contributed
     by SF, 12-Jan-2015.) $)
  cokeq1 $p |- ( A = B -> ( A o._k C ) = ( B o._k C ) ) $=
    ( wceq cins2k ccnvk cins3k cin cimak ins2keq ineq1d imakeq1d df-cok 3eqtr4g
    cvv ccomk ) ABDZAEZCFGZHZOIBEZSHZOIACPBCPQTUBOQRUASABJKLACMBCMN $.

  $( Equality theorem for Kuratowski composition of two classes.  (Contributed
     by SF, 12-Jan-2015.) $)
  cokeq2 $p |- ( A = B -> ( C o._k A ) = ( C o._k B ) ) $=
    ( wceq cins2k ccnvk cins3k cin cimak cnvkeq ins3keqd ineq2d imakeq1d df-cok
    cvv ccomk 3eqtr4g ) ABDZCEZAFZGZHZOISBFZGZHZOICAPCBPRUBUEORUAUDSRTUCABJKLMC
    ANCBNQ $.

  ${
    cokeq1i.1 $e |- A = B $.
    $( Equality inference for Kuratowski composition of two classes.
       (Contributed by SF, 12-Jan-2015.) $)
    cokeq1i $p |- ( A o._k C ) = ( B o._k C ) $=
      ( wceq ccomk cokeq1 ax-mp ) ABEACFBCFEDABCGH $.

    $( Equality inference for Kuratowski composition of two classes.
       (Contributed by SF, 12-Jan-2015.) $)
    cokeq2i $p |- ( C o._k A ) = ( C o._k B ) $=
      ( wceq ccomk cokeq2 ax-mp ) ABECAFCBFEDABCGH $.
  $}

  ${
    cokeq1d.1 $e |- ( ph -> A = B ) $.
    $( Equality deduction for Kuratowski composition of two classes.
       (Contributed by SF, 12-Jan-2015.) $)
    cokeq1d $p |- ( ph -> ( A o._k C ) = ( B o._k C ) ) $=
      ( wceq ccomk cokeq1 syl ) ABCFBDGCDGFEBCDHI $.

    $( Equality deduction for Kuratowski composition of two classes.
       (Contributed by SF, 12-Jan-2015.) $)
    cokeq2d $p |- ( ph -> ( C o._k A ) = ( C o._k B ) ) $=
      ( wceq ccomk cokeq2 syl ) ABCFDBGDCGFEBCDHI $.
  $}

  ${
    cokeq12i.1 $e |- A = B $.
    cokeq12i.2 $e |- C = D $.
    $( Equality inference for Kuratowski composition of two classes.
       (Contributed by SF, 12-Jan-2015.) $)
    cokeq12i $p |- ( A o._k C ) = ( B o._k D ) $=
      ( ccomk cokeq1i cokeq2i eqtri ) ACGBCGBDGABCEHCDBFIJ $.
  $}

  ${
    cokeq12d.1 $e |- ( ph -> A = B ) $.
    cokeq12d.2 $e |- ( ph -> C = D ) $.
    $( Equality deduction for Kuratowski composition of two classes.
       (Contributed by SF, 12-Jan-2015.) $)
    cokeq12d $p |- ( ph -> ( A o._k C ) = ( B o._k D ) ) $=
      ( ccomk cokeq1d cokeq2d eqtrd ) ABDHCDHCEHABCDFIADECGJK $.
  $}

  ${
    $d A x $.  $d B x $.
    $( Equality theorem for P6 operation.  (Contributed by SF, 12-Jan-2015.) $)
    p6eq $p |- ( A = B -> P6 A = P6 B ) $=
      ( vx wceq cvv cv csn cxpk wss cab cp6 sseq2 abbidv df-p6 3eqtr4g ) ABDZEC
      FGGHZAIZCJQBIZCJAKBKPRSCABQLMCANCBNO $.
  $}

  ${
    p6eqi.1 $e |- A = B $.
    $( Equality inference for the P6 operation.  (Contributed by SF,
       12-Jan-2015.) $)
    p6eqi $p |- P6 A = P6 B $=
      ( wceq cp6 p6eq ax-mp ) ABDAEBEDCABFG $.
  $}

  ${
    p6eqd.1 $e |- ( ph -> A = B ) $.
    $( Equality deduction for the P6 operation.  (Contributed by SF,
       12-Jan-2015.) $)
    p6eqd $p |- ( ph -> P6 A = P6 B ) $=
      ( wceq cp6 p6eq syl ) ABCEBFCFEDBCGH $.
  $}

  ${
    $d A x y z w t $.  $d B x y z w t $.
    $( Equality theorem for Kuratowski singleton image.  (Contributed by SF,
       12-Jan-2015.) $)
    sikeq $p |- ( A = B -> SI_k A = SI_k B ) $=
      ( vx vy vz vw vt wceq cv copk csn wcel w3a wex wa cab csik 2exbidv df-sik
      eleq2 3anbi3d anbi2d abbidv 3eqtr4g ) ABHZCIDIZEIZJHZUFFIZKHZUGGIZKHZUIUK
      JZALZMZGNFNZOZENDNZCPUHUJULUMBLZMZGNFNZOZENDNZCPAQBQUEURVCCUEUQVBDEUEUPVA
      UHUEUOUTFGUEUNUSUJULABUMTUARUBRUCCDEGFASCDEGFBSUD $.
  $}

  ${
    sikeqi.1 $e |- A = B $.
    $( Equality inference for Kuratowski singleton image.  (Contributed by SF,
       12-Jan-2015.) $)
    sikeqi $p |- SI_k A = SI_k B $=
      ( wceq csik sikeq ax-mp ) ABDAEBEDCABFG $.
  $}

  ${
    sikeqd.1 $e |- ( ph -> A = B ) $.
    $( Equality deduction for Kuratowski singleton image.  (Contributed by SF,
       12-Jan-2015.) $)
    sikeqd $p |- ( ph -> SI_k A = SI_k B ) $=
      ( wceq csik sikeq syl ) ABCEBFCFEDBCGH $.
  $}

  $( Equality theorem for image operation.  (Contributed by SF,
     12-Jan-2015.) $)
  imagekeq $p |- ( A = B -> Image_k A = Image_k B ) $=
    ( wceq cvv cxpk cssetk cins2k csik ccnvk ccomk cins3k csymdif c1c cpw1 cdif
    cimak cimagek sikeq cnvkeqd df-imagek cokeq2d ins3keqd symdifeq2d imakeq1d
    difeq2d 3eqtr4g ) ABCZDDEZFGZFAHZIZJZKZLZMNNZPZOUHUIFBHZIZJZKZLZUOPZOAQBQUG
    UPVBUHUGUNVAUOUGUMUTUIUGULUSUGUKURFUGUJUQABRSUAUBUCUDUEATBTUF $.

  ${
    $d A y z $.  $d B x $.  $d B y $.  $d B z $.  $d C x $.  $d C y $.
    $d C z $.  $d ch z $.  $d ph x $.  $d ps y $.  $d x y z $.
    opkelopkabg.1 $e |- A = { x | E. y E. z ( x = << y , z >> /\ ph ) } $.
    opkelopkabg.2 $e |- ( y = B -> ( ph <-> ps ) ) $.
    opkelopkabg.3 $e |- ( z = C -> ( ps <-> ch ) ) $.
    $( Kuratowski ordered pair membership in an abstraction of Kuratowski
       ordered pairs.  (Contributed by SF, 12-Jan-2015.) $)
    opkelopkabg $p |- ( ( B e. V /\ C e. W ) ->
                 ( << B , C >> e. A <-> ch ) ) $=
      ( wcel wceq wa wex cvv wb copk cv opkex eqeq1 eqcom syl6bb anbi1d 2exbidv
      elab2 elex vex opkthg mp3an12 adantl exbidv 19.42v anbi2d ceqsexgv adantr
      anass 3bitrd syl2an syl5bb ) HIUAZGOEUBZFUBZUAZVDPZAQZFRZERZHJOZIKOZQCDUB
      ZVGPZAQZFRERVKDVDGHIUCVNVDPZVPVIEFVQVOVHAVQVOVDVGPVHVNVDVGUDVDVGUEUFUGUHL
      UIVLHSOZISOZVKCTVMHJUJIKUJVRVSQZVKVEHPZVFIPZAQZFRZQZERZWBBQZFRZCVTVJWEEVT
      VJWAWCQZFRWEVTVIWIFVTVIWAWBQZAQWIVTVHWJAVSVHWJTZVRVESOVFSOVSWKEUKFUKVEVFH
      ISSSULUMUNUGWAWBAUTUFUOWAWCFUPUFUOVRWFWHTVSWDWHEHSWAWCWGFWAABWBMUQUOURUSV
      SWHCTVRBCFISNURUNVAVBVC $.
  $}

  ${
    $d A y $.  $d A z $.  $d B x $.  $d B y $.  $d B z $.  $d C x $.  $d C y $.
    $d C z $.  $d ch z $.  $d ph x $.  $d ps y $.  $d x y $.  $d x z $.
    $d y z $.
    opkelopkab.1 $e |- A = { x | E. y E. z ( x = << y , z >> /\ ph ) } $.
    opkelopkab.2 $e |- ( y = B -> ( ph <-> ps ) ) $.
    opkelopkab.3 $e |- ( z = C -> ( ps <-> ch ) ) $.
    opkelopkab.4 $e |- B e. _V $.
    opkelopkab.5 $e |- C e. _V $.
    $( Kuratowski ordered pair membership in an abstraction of Kuratowski
       ordered pairs.  (Contributed by SF, 12-Jan-2015.) $)
    opkelopkab $p |- ( << B , C >> e. A <-> ch ) $=
      ( cvv wcel copk wb opkelopkabg mp2an ) HOPIOPHIQGPCRMNABCDEFGHIOOJKLST $.
  $}

  ${
    $d A x y z $.  $d B x y z $.  $d C x y z $.  $d D x y z $.
    $( Kuratowski ordered pair membership in a Kuratowski cross product.
       (Contributed by SF, 12-Jan-2015.) $)
    opkelxpkg $p |- ( ( A e. V /\ B e. W ) ->
       ( << A , B >> e. ( C X._k D ) <-> ( A e. C /\ B e. D ) ) ) $=
      ( vx vy vz cv wcel wa cxpk df-xpk wceq eleq1 anbi1d anbi2d opkelopkabg )
      GJZCKZHJZDKZLACKZUCLUDBDKZLIGHCDMABEFIGHCDNTAOUAUDUCTACPQUBBOUCUEUDUBBDPR
      S $.
  $}

  ${
    opkelxpk.1 $e |- A e. _V $.
    opkelxpk.2 $e |- B e. _V $.
    $( Kuratowski ordered pair membership in a Kuratowski cross product.
       (Contributed by SF, 13-Jan-2015.) $)
    opkelxpk $p |- ( << A , B >> e. ( C X._k D ) <-> ( A e. C /\ B e. D ) ) $=
      ( cvv wcel copk cxpk wa wb opkelxpkg mp2an ) AGHBGHABICDJHACHBDHKLEFABCDG
      GMN $.
  $}

  ${
    $d A x y z $.  $d B x y z $.  $d C x y z $.
    $( Kuratowski ordered pair membership in a Kuratowski converse.
       (Contributed by SF, 12-Jan-2015.) $)
    opkelcnvkg $p |- ( ( A e. V /\ B e. W ) ->
                ( << A , B >> e. `'_k C <-> << B , A >> e. C ) ) $=
      ( vy vx vz copk wcel ccnvk df-cnvk wceq opkeq2 eleq1d opkeq1 opkelopkabg
      cv ) FRZGRZIZCJSAIZCJBAIZCJHGFCKABDEHGFCLTAMUAUBCTASNOSBMUBUCCSBAPOQ $.
  $}

  ${
    opkelcnvk.1 $e |- A e. _V $.
    opkelcnvk.2 $e |- B e. _V $.
    $( Kuratowski ordered pair membership in a Kuratowski converse.
       (Contributed by SF, 14-Jan-2015.) $)
    opkelcnvk $p |- ( << A , B >> e. `'_k C <-> << B , A >> e. C ) $=
      ( cvv wcel copk ccnvk wb opkelcnvkg mp2an ) AFGBFGABHCIGBAHCGJDEABCFFKL
      $.
  $}

  ${
    $d A x y z w t u $.  $d B x y z w t u $.  $d C x y z w t u $.
    $( Kuratowski ordered pair membership in Kuratowski insertion operator.
       (Contributed by SF, 12-Jan-2015.) $)
    opkelins2kg $p |- ( ( A e. V /\ B e. W ) ->
       ( << A , B >> e. Ins2_k C <->
         E. x E. y E. z ( A = { { x } } /\ B = << y , z >> /\
              << x , z >> e. C ) ) ) $=
      ( vw vu vt cv csn wceq copk wcel w3a wex eqeq1 3exbidv cins2k opkelopkabg
      df-ins2k 3anbi1d 3anbi2d ) ILZALZMMZNZJLZBLCLZOZNZUGUKOFPZQZCRBRARDUHNZUM
      UNQZCRBRARUPEULNZUNQZCRBRARKIJFUADEGHKIJCBAFUCUFDNZUOUQABCUTUIUPUMUNUFDUH
      SUDTUJENZUQUSABCVAUMURUPUNUJEULSUETUB $.

    $( Kuratowski ordered pair membership in Kuratowski insertion operator.
       (Contributed by SF, 12-Jan-2015.) $)
    opkelins3kg $p |- ( ( A e. V /\ B e. W ) ->
       ( << A , B >> e. Ins3_k C <->
         E. x E. y E. z ( A = { { x } } /\ B = << y , z >> /\
              << x , y >> e. C ) ) ) $=
      ( vw vu vt cv csn wceq copk wcel w3a wex eqeq1 3exbidv cins3k opkelopkabg
      df-ins3k 3anbi1d 3anbi2d ) ILZALZMMZNZJLZBLZCLOZNZUGUKOFPZQZCRBRARDUHNZUM
      UNQZCRBRARUPEULNZUNQZCRBRARKIJFUADEGHKIJCBAFUCUFDNZUOUQABCUTUIUPUMUNUFDUH
      SUDTUJENZUQUSABCVAUMURUPUNUJEULSUETUB $.
  $}

  ${
    $d A x y z $.  $d B x y z $.  $d C x y z $.  $d D x y z $.  $d T x y z $.
    $( Kuratowski ordered triple membership in Kuratowski insertion operator.
       (Contributed by SF, 12-Jan-2015.) $)
    otkelins2kg $p |- ( ( A e. V /\ B e. W /\ C e. T ) ->
      ( << { { A } } , << B , C >> >> e. Ins2_k D <->
        << A , C >> e. D ) ) $=
      ( vx vy vz csn copk wcel cv wceq wa wex cvv wb bitri w3a snex opkelins2kg
      cins2k opkex mp2an 3anass eqcom sneqb anbi1i 2exbii 19.42vv opkeq1 eleq1d
      exbii anbi2d 2exbidv ceqsexgv 3ad2ant1 opkthg mp3an12 syl5bb anbi1d anass
      vex 19.42v syl6bb adantl biidd opkeq2 sylan9bb bitrd 3adant1 ) AKZKZBCLZL
      DUDMZHNZAOZVPINZJNZLZOZVRWALZDMZPZJQIQZPZHQZAFMZBGMZCEMZUAZACLZDMZVQVOVRK
      ZKZOZWCWEUAZJQIQZHQZWIVORMVPRMVQXASVNUBBCUEHIJVOVPDRRUCUFWTWHHWTVSWFPZJQI
      QWHWSXBIJWSWRWFPXBWRWCWEUGWRVSWFWRWQVOOZVSVOWQUHXCWPVNOVSWPVNVRUBUIVRAHVE
      UITTUJTUKVSWFIJULTUOTWMWIWCAWALZDMZPZJQIQZWOWJWKWIXGSWLWGXGHAFVSWFXFIJVSW
      EXEWCVSWDXDDVRAWAUMUNUPUQURUSWKWLXGWOSWJWKWLPXGVTBOZWACOZXEPZJQZPZIQZWOWL
      XGXMSWKWLXGXHXIPZXEPZJQZIQXMWLXFXOIJWLWCXNXEWCWBVPOZWLXNVPWBUHVTRMWARMWLX
      QXNSIVEJVEVTWABCERRUTVAVBVCUQXPXLIXPXHXJPZJQXLXOXRJXHXIXEVDUOXHXJJVFTUOVG
      VHWKXMXKWLWOXKXKIBGXHXKVIURXEWOJCEXIXDWNDWACAVJUNURVKVLVMVLVB $.

    $( Kuratowski ordered triple membership in Kuratowski insertion operator.
       (Contributed by SF, 12-Jan-2015.) $)
    otkelins3kg $p |- ( ( A e. V /\ B e. W /\ C e. T ) ->
      ( << { { A } } , << B , C >> >> e. Ins3_k D <->
        << A , B >> e. D ) ) $=
      ( vx vy vz csn copk wcel cv wceq wex cvv wb wa bitri w3a snex opkelins3kg
      cins3k opkex mp2an 3anass eqcom sneqb anbi1i 2exbii 19.42vv opkeq1 eleq1d
      exbii anbi2d 2exbidv ceqsexgv syl5bb 3ad2ant1 opkthg mp3an12 anbi1d anass
      vex syl6bb exdistr adantl opkeq2 exbidv biidd sylan9bb bitrd 3adant1 ) AK
      ZKZBCLZLDUDMZVPHNZKZKZOZVQINZJNZLZOZVSWCLZDMZUAZJPIPZHPZAFMZBGMZCEMZUAZAB
      LZDMZVPQMVQQMVRWKRVOUBBCUEHIJVPVQDQQUCUFWOWKWFAWCLZDMZSZJPIPZWQWLWMWKXARW
      NWKVSAOZWFWHSZJPIPZSZHPWLXAWJXEHWJXBXCSZJPIPXEWIXFIJWIWBXCSXFWBWFWHUGWBXB
      XCWBWAVPOZXBVPWAUHXGVTVOOXBVTVOVSUBUIVSAHVEUITTUJTUKXBXCIJULTUOXDXAHAFXBX
      CWTIJXBWHWSWFXBWGWRDVSAWCUMUNUPUQURUSUTWMWNXAWQRWLWMWNSXAWCBOZWDCOZWSSZJP
      ZSIPZWQWNXAXLRWMWNXAXHXJSZJPIPXLWNWTXMIJWNWTXHXISZWSSXMWNWFXNWSWFWEVQOZWN
      XNVQWEUHWCQMWDQMWNXOXNRIVEJVEWCWDBCEQQVAVBUSVCXHXIWSVDVFUQXHXJIJVGVFVHWMX
      LXIWQSZJPZWNWQXKXQIBGXHXJXPJXHWSWQXIXHWRWPDWCBAVIUNUPVJURWQWQJCEXIWQVKURV
      LVMVNVMUS $.
  $}

  ${
    otkelinsk.1 $e |- A e. _V $.
    otkelinsk.2 $e |- B e. _V $.
    otkelinsk.3 $e |- C e. _V $.
    $( Kuratowski ordered triple membership in Kuratowski insertion operator.
       (Contributed by SF, 12-Jan-2015.) $)
    otkelins2k $p |- ( << { { A } } , << B , C >> >> e. Ins2_k D <->
        << A , C >> e. D ) $=
      ( cvv wcel csn copk cins2k wb otkelins2kg mp3an ) AHIBHICHIAJJBCKKDLIACKD
      IMEFGABCDHHHNO $.

    $( Kuratowski ordered triple membership in Kuratowski insertion operator.
       (Contributed by SF, 12-Jan-2015.) $)
    otkelins3k $p |- ( << { { A } } , << B , C >> >> e. Ins3_k D <->
        << A , B >> e. D ) $=
      ( cvv wcel csn copk cins3k wb otkelins3kg mp3an ) AHIBHICHIAJJBCKKDLIABKD
      IMEFGABCDHHHNO $.
  $}

  ${
    $d A x y $.  $d B x y $.  $d C x y $.
    $( Membership in a Kuratowski image.  (Contributed by SF, 13-Jan-2015.) $)
    elimakg $p |- ( C e. V ->
             ( C e. ( A "_k B ) <-> E. y e. B << y , C >> e. A ) ) $=
      ( vx cv copk wcel wrex cimak wceq opkeq2 eleq1d rexbidv df-imak elab2g )
      AGZFGZHZBIZACJRDHZBIZACJFDBCKESDLZUAUCACUDTUBBSDRMNOFABCPQ $.

    $( Membership in a Kuratowski image under ` _V ` .  (Contributed by SF,
       13-Jan-2015.) $)
    elimakvg $p |- ( C e. V ->
             ( C e. ( A "_k _V ) <-> E. y << y , C >> e. A ) ) $=
      ( wcel cvv cimak cv copk wrex wex elimakg rexv syl6bb ) CDECBFGEAHCIBEZAF
      JOAKABFCDLOAMN $.
  $}

  ${
    $d A y $.  $d B y $.  $d C y $.
    elimak.1 $e |- C e. _V $.
    $( Membership in a Kuratowski image.  (Contributed by SF, 13-Jan-2015.) $)
    elimak $p |- ( C e. ( A "_k B ) <-> E. y e. B << y , C >> e. A ) $=
      ( cvv wcel cimak cv copk wrex wb elimakg ax-mp ) DFGDBCHGAIDJBGACKLEABCDF
      MN $.

    $( Membership in a Kuratowski image under ` _V ` .  (Contributed by SF,
       13-Jan-2015.) $)
    elimakv $p |- ( C e. ( A "_k _V ) <-> E. y << y , C >> e. A ) $=
      ( cvv wcel cimak cv copk wex wb elimakvg ax-mp ) CEFCBEGFAHCIBFAJKDABCELM
      $.
  $}

  ${
    $d A x y z w $.  $d B x y z w $.  $d C x y z w $.  $d D x y z w $.
    $( Membership in a Kuratowski composition.  (Contributed by SF,
       13-Jan-2015.) $)
    opkelcokg $p |- ( ( A e. V /\ B e. W ) ->
       ( << A , B >> e. ( C o._k D ) <->
         E. x ( << A , x >> e. D /\ << x , B >> e. C ) ) ) $=
      ( vz vw vy wcel cvv copk cv wa wex wb wceq vex exbii ccomk elex csn ccnvk
      cins3k cins2k cin cimak df-cok eleq2i opkex elimakv w3a opkelins2kg mp2an
      3anass 2exbii 19.42vv bitri anbi1i elin 19.41v 3bitr4i excom anass opkeq1
      snex eleq1d anbi2d 3bitri ancom otkelins3kg mp3an1 opkelcnvkg mpan adantr
      ceqsexv bitrd eqcom opkthg mp3an12 anbi1d syl6bb 2exbidv adantl biantrurd
      syl5bb elisset bicomd opkeq2 ceqsexgv sylan9bb anbi12d exbidv syl2an
      eeanv ) BFKBLKZCLKZBCMZDEUAZKZBANZMEKZXBCMZDKZOZAPZQCGKBFUBCGUBXAWSHNZINZ
      MZRZXBXIMZDKZOZIPHPZXBUCZUCZWSMZEUDZUEZKZOZAPZWQWROZXGXAWSDUFZXTUGZLUHZKJ
      NZWSMZYFKZJPZYCWTYGWSDEUIUJJYFWSBCUKZULYKYHXQRZXOOZYIXTKZOZAPZJPYPJPZAPYC
      YJYQJYIYEKZYOOYNAPZYOOYJYQYSYTYOYSYMXKXMUMZIPHPZAPZYTYHLKWSLKYSUUCQJSYLAH
      IYHWSDLLUNUOUUBYNAUUBYMXNOZIPHPYNUUAUUDHIYMXKXMUPUQYMXNHIURUSTUSUTYIYEXTV
      AYNYOAVBVCTYPJAVDYRYBAYRYMXOYOOZOZJPYBYPUUFJYMXOYOVETUUEYBJXQXPVGYMYOYAXO
      YMYIXRXTYHXQWSVFVHVIVQUSTVJVJYDYBXFAYBYAXOOYDXFXOYAVKYDYAXCXOXEYDYAXBBMXS
      KZXCXBLKZWQWRYAUUGQASZXBBCXSLLLVLVMWQUUGXCQZWRUUHWQUUJUUIXBBELLVNVOVPVRYD
      XOXHBRZHPZXICRZXMOZIPZOZXEXOXJWSRZXMOZIPHPZYDUUPXNUURHIXKUUQXMWSXJVSUTUQY
      DUUSUUKUUNOZIPHPZUUPWRUUSUVAQWQWRUURUUTHIWRUURUUKUUMOZXMOUUTWRUUQUVBXMXHL
      KXILKWRUUQUVBQHSISXHXIBCLLLVTWAWBUUKUUMXMVEWCWDWEUUKUUNHIWPWCWGWQUUPUUOWR
      XEWQUUOUUPWQUULUUOHBLWHWFWIXMXEICLUUMXLXDDXICXBWJVHWKWLVRWMWGWNWGWO $.
  $}

  ${
    $d A x $.  $d B x $.  $d C x $.  $d D x $.
    opkelcok.1 $e |- A e. _V $.
    opkelcok.2 $e |- B e. _V $.
    $( Membership in a Kuratowski composition.  (Contributed by SF,
       13-Jan-2015.) $)
    opkelcok $p |- ( << A , B >> e. ( C o._k D ) <->
         E. x ( << A , x >> e. D /\ << x , B >> e. C ) ) $=
      ( cvv wcel copk ccomk cv wa wex wb opkelcokg mp2an ) BHICHIBCJDEKIBALZJEI
      RCJDIMANOFGABCDEHHPQ $.
  $}

  ${
    $d A x y $.  $d B x y $.
    $( Membership in the P6 operator.  (Contributed by SF, 13-Jan-2015.) $)
    elp6 $p |- ( A e. V -> ( A e. P6 B <-> A. x << x , { A } >> e. B ) ) $=
      ( vy wcel cp6 cvv csn cxpk wss cv copk wal wceq sneq wi vex albii bitri
      sneqd xpkeq2d sseq1d df-p6 elab2g xpkssvvk ssrelk ax-mp opkelxpk biantrur
      wb wa df-sn abeq2i 3bitr2i imbi1i snex opkeq2 eleq1d ceqsalv syl6bb ) BDF
      BCGZFHBIZIZJZCKZALZVCMZCFZANZHELZIZIZJZCKVFEBVBDVKBOZVNVECVOVMVDHVOVLVCVK
      BPUAUBUCECUDUEVFVGVKMZVEFZVPCFZQZENZANZVJVEHHJKVFWAUKHVDUFAEVECUGUHVTVIAV
      TVKVCOZVRQZENVIVSWCEVQWBVRVQVGHFZVKVDFZULWEWBVGVKHVDARZERUIWDWEWFUJWBEVDE
      VCUMUNUOUPSVRVIEVCBUQWBVPVHCVKVCVGURUSUTTSTVA $.
  $}

  ${
    $d A x y z t u $.  $d B x y z t u $.  $d C x y z t u $.
    $( Membership in Kuratowski singleton image.  (Contributed by SF,
       13-Jan-2015.) $)
    opkelsikg $p |- ( ( A e. V /\ B e. W ) ->
       ( << A , B >> e. SI_k C <->
         E. x E. y ( A = { x } /\ B = { y } /\ << x , y >> e. C ) ) ) $=
      ( vt vu vz cv csn wceq copk wcel w3a wex csik eqeq1 2exbidv opkelopkabg
      df-sik 3anbi1d 3anbi2d ) HKZAKZLZMZIKZBKZLZMZUFUJNEOZPZBQAQCUGMZULUMPZBQA
      QUODUKMZUMPZBQAQJHIERCDFGJHIBAEUBUECMZUNUPABUSUHUOULUMUECUGSUCTUIDMZUPURA
      BUTULUQUOUMUIDUKSUDTUA $.
  $}

  ${
    $d A x y $.  $d B x y $.  $d C x y $.
    opksnelsik.1 $e |- A e. _V $.
    opksnelsik.2 $e |- B e. _V $.
    $( Membership of an ordered pair of singletons in a Kuratowski singleton
       image.  (Contributed by SF, 13-Jan-2015.) $)
    opksnelsik $p |- ( << { A } , { B } >> e. SI_k C <-> << A , B >> e. C ) $=
      ( vx vy csn copk wcel cv wceq w3a wex cvv snex eqcom vex sneqb bitri csik
      wb opkelsikg mp2an biid 3anbi123i 2exbii opkeq1 eleq1d opkeq2 ceqsex2v )
      AHZBHZICUAJZULFKZHZLZUMGKZHZLZUOURIZCJZMZGNFNZABIZCJZULOJUMOJUNVDUBAPBPFG
      ULUMCOOUCUDVDUOALZURBLZVBMZGNFNVFVCVIFGUQVGUTVHVBVBUQUPULLVGULUPQUOAFRSTU
      TUSUMLVHUMUSQURBGRSTVBUEUFUGVBAURIZCJVFFGABDEVGVAVJCUOAURUHUIVHVJVECURBAU
      JUIUKTT $.
  $}

  ${
    $d A x y z t u $.
    $( A Kuratowski singleton image is a Kuratowski relationship.  (Contributed
       by SF, 13-Jan-2015.) $)
    sikssvvk $p |- SI_k A C_ ( _V X._k _V ) $=
      ( vy vt vz vu vx cv csn wceq copk wcel w3a wex csik df-sik opkabssvvki )
      BGCGZHIDGEGZHIQRJAKLEMCMFBDANFBDECAOP $.
  $}

  ${
    $d A x y z w t a b $.
    $( A Kuratowski singleton image is a subset of ` ( 1c X._k 1c ) ` .
       (Contributed by SF, 13-Jan-2015.) $)
    sikss1c1c $p |- SI_k A C_ ( 1c X._k 1c ) $=
      ( vx vy va vb vz vw vt c1c cxpk wss cv copk wcel wal csn wceq w3a wex vex
      csik wi df-sik eqeq1 3anbi1d 2exbidv 3anbi2d opkelopkab wa opkeq12 snel1c
      wb opkelxpkg mp2an mpbir2an syl6eqel 3adant3 exlimivv sylbi gen2 sikssvvk
      weq cvv ssrelk ax-mp mpbir ) AUAZIIJZKZBLZCLZMZVGNZVLVHNZUBZCOBOZVOBCVMVJ
      DLZPZQZVKELZPZQZVQVTMANZRZESDSZVNFLZVRQZGLZWAQZWCRZESDSVSWIWCRZESDSWEHFGV
      GVJVKHFGEDAUCFBVBZWJWKDEWLWGVSWIWCWFVJVRUDUEUFGCVBZWKWDDEWMWIWBVSWCWHVKWA
      UDUGUFBTCTUHWDVNDEVSWBVNWCVSWBUIVLVRWAMZVHVJVKVRWAUJWNVHNZVRINZWAINZVQDTU
      KZVTETUKZWPWQWOWPWQUIULWRWSVRWAIIIIUMUNUOUPUQURUSUTVGVCVCJKVIVPULAVABCVGV
      HVDVEVF $.
  $}

  ${
    $d A x y z $.  $d B x y z $.
    $( Membership in the Kuratowski subset relationship.  (Contributed by SF,
       13-Jan-2015.) $)
    opkelssetkg $p |- ( ( A e. V /\ B e. W ) ->
      ( << A , B >> e. _S_k <-> A C_ B ) ) $=
      ( vy vz vx cv wss cssetk df-ssetk sseq1 sseq2 opkelopkabg ) EHZFHZIAPIABI
      GEFJABCDGEFKOAPLPBAMN $.
  $}

  $( Membership via the Kuratowski subset relationship.  (Contributed by SF,
     13-Jan-2015.) $)
  elssetkg $p |- ( ( A e. V /\ B e. W ) ->
       ( << { A } , B >> e. _S_k <-> A e. B ) ) $=
    ( wcel csn copk cssetk wss cvv snex opkelssetkg mpan snssg bicomd sylan9bbr
    wb ) BDEZAFZBGHEZSBIZACEZABEZSJERTUAQAKSBJDLMUBUCUAABCNOP $.

  ${
    elssetk.1 $e |- A e. _V $.
    elssetk.2 $e |- B e. _V $.
    $( Membership via the Kuratowski subset relationship.  (Contributed by SF,
       13-Jan-2015.) $)
    elssetk $p |- ( << { A } , B >> e. _S_k <-> A e. B ) $=
      ( cvv wcel csn copk cssetk wb elssetkg mp2an ) AEFBEFAGBHIFABFJCDABEEKL
      $.
  $}

  ${
    $d A x y z $.  $d B x y $.  $d C x y z $.
    $( Membership in the Kuratowski image functor.  (Contributed by SF,
       13-Jan-2015.) $)
    opkelimagekg $p |- ( ( A e. V /\ B e. W ) ->
      ( << A , B >> e. Image_k C <-> B = ( C "_k A ) ) ) $=
      ( vx vy vz wcel cvv copk wb wa cssetk c1c wn wex csn exbii bitri cimak cv
      cimagek wceq elex cxpk cins2k csik ccnvk ccomk csymdif cpw1 wal opkelxpkg
      cins3k ibir biantrurd exnal wrex opkex elimak df-rex anbi1i 19.41v bitr4i
      elpw121c excom snex opkeq1 eleq1d ceqsexv 3bitri elsymdif otkelins2kg vex
      mp3an1 elssetkg mpan adantl otkelins3kg opkelcokg anbi1d exbidv opkelcnvk
      bitrd sikss1c1c sseli opkelxpk el1c biimpi adantr sylbi syl anass anbi12d
      pm4.71ri opksnelsik anbi2i syl6bb 3bitr4g syl6bbr bibi12d syl5rbb syl5bbr
      ancom notbid syl5bb con1bid bitr3d df-imagek eleq2i eldif dfcleq syl2an
      cdif ) ADIAJIZBJIZABKZCUCZIZBCAUAZUDZLBEIADUEBEUEXPXQMZXRJJUFZIZXRNUGZNCU
      HZUIZUJZUOZUKZOULULZUAZIZPZMZFUBZBIZYQYAIZLZFUMZXTYBYCYOYPUUAYCYEYOYCYEAB
      JJJJUNUPUQYCUUAYNUUAPYTPZFQZYCYNYTFURYNYQRZRZRZXRKZYKIZFQZYCUUCYNGUBZXRKZ
      YKIZGYLUSUUJYLIZUULMZGQZUUIGYKYLXRABUTVAUULGYLVBUUOUUJUUFUDZUULMZFQZGQUUQ
      GQZFQUUIUUNUURGUUNUUPFQZUULMUURUUMUUTUULFUUJVFVCUUPUULFVDVESUUQGFVGUUSUUH
      FUULUUHGUUFUUEVHUUPUUKUUGYKUUJUUFXRVIVJVKSVLVLYCUUHUUBFUUHUUGYFIZUUGYJIZL
      ZPYCUUBUUGYFYJVMYCUVCYTYCUVAYRUVBYSYCUVAUUDBKNIZYRUUDJIZXPXQUVAUVDLYQVHZU
      UDABNJJJVNVPXQUVDYRLZXPYQJIXQUVGFVOZYQBJJVQVRVSWEYCUVBUUDAKYIIZYSUVEXPXQU
      VBUVILUVFUUDABYIJJJVTVPXPUVIYSLXQXPUVIUUJYQKCIZGAUSZYSXPUVIUUDHUBZKYHIZUV
      LAKZNIZMZHQZUVKUVEXPUVIUVQLUVFHUUDANYHJJWAVRXPUUJRZAKZNIZUVJMZGQZUUJAIZUV
      JMZGQUVQUVKXPUWAUWDGXPUVTUWCUVJUUJJIXPUVTUWCLGVOZUUJAJJVQVRWBWCUVQUVLUVRU
      DZUVLUUDKZYGIZUVOMZMZGQZHQUWJHQZGQUWBUVPUWKHUVPUWFGQZUWHMZUVOMZUWKUVMUWNU
      VOUVMUWHUWNUUDUVLYGUVFHVOZWDUWHUWMUWHUWGOOUFZIZUWMYGUWQUWGCWFWGUWRUVLOIZU
      UDOIZMUWMUVLUUDOOUWPUVFWHUWSUWMUWTUWSUWMGUVLWIWJWKWLWMWPTVCUWOUWMUWIMUWKU
      WMUWHUVOWNUWFUWIGVDVETSUWJHGVGUWLUWAGUWIUWAHUVRUUJVHUWFUWIUVRUUDKZYGIZUVT
      MZUWAUWFUWHUXBUVOUVTUWFUWGUXAYGUVLUVRUUDVIVJUWFUVNUVSNUVLUVRAVIVJWOUXCUVT
      UXBMUWAUXBUVTXEUXBUVJUVTUUJYQCUWEUVHWQWRTWSVKSVLUVJGAVBWTWEGCAYQUVHVAXAWK
      WEXBXFXGWCXCXDXHXIXTXRYDYMXOZIYPXSUXDXRCXJXKXRYDYMXLTFBYAXMWTXN $.
  $}

  ${
    opkelimagek.1 $e |- A e. _V $.
    opkelimagek.2 $e |- B e. _V $.
    $( Membership in the Kuratowski image functor.  (Contributed by SF,
       20-Jan-2015.) $)
    opkelimagek $p |- ( << A , B >> e. Image_k C <-> B = ( C "_k A ) ) $=
      ( cvv wcel copk cimagek cimak wceq wb opkelimagekg mp2an ) AFGBFGABHCIGBC
      AJKLDEABCFFMN $.
  $}

  $( The Kuratowski image functor is a relationship.  (Contributed by SF,
     14-Jan-2015.) $)
  imagekrelk $p |- Image_k A C_ ( _V X._k _V ) $=
    ( cimagek cvv cxpk cssetk cins2k csik ccnvk ccomk cins3k csymdif cpw1 cimak
    c1c cdif df-imagek difss eqsstri ) ABCCDZEFEAGHIJKNLLMZOSAPSTQR $.

  ${
    $d A x y z $.  $d B x y z $.
    $( Membership in the Kuratowski identity relationship.  (Contributed by SF,
       13-Jan-2015.) $)
    opkelidkg $p |- ( ( A e. V /\ B e. W ) ->
              ( << A , B >> e. _I_k <-> A = B ) ) $=
      ( vx vy vz weq cv wceq cidk df-idk eqeq1 eqeq2 opkelopkabg ) EFHAFIZJABJG
      EFKABCDGEFLEIAPMPBANO $.
  $}

  ${
    $d A x y z $.
    $( A Kuratowski converse is a Kuratowski relationship.  (Contributed by SF,
       13-Jan-2015.) $)
    cnvkssvvk $p |- `'_k A C_ ( _V X._k _V ) $=
      ( vz vy vx cv copk wcel ccnvk df-cnvk opkabssvvki ) BECEFAGDCBAHDCBAIJ $.
  $}

  ${
    $d A x y $.  $d B x y $.
    $( The converse of a Kuratowski cross product.  (Contributed by SF,
       13-Jan-2015.) $)
    cnvkxpk $p |- `'_k ( A X._k B ) = ( B X._k A ) $=
      ( vx vy cxpk ccnvk cnvkssvvk xpkssvvk cv wcel wa copk ancom vex opkelcnvk
      opkelxpk bitri 3bitr4i eqrelkriiv ) CDABEZFZBAEZTGBAHDIZAJZCIZBJZKZUFUDKU
      EUCLZUAJZUHUBJUDUFMUIUCUELTJUGUEUCTCNZDNZOUCUEABUKUJPQUEUCBAUJUKPRS $.
  $}

  ${
    $d A x y $.  $d B x y $.  $d C x y $.  $d D x y $.
    $( The intersection of two Kuratowski cross products.  (Contributed by SF,
       13-Jan-2015.) $)
    inxpk $p |- ( ( A X._k B ) i^i ( C X._k D ) ) =
           ( ( A i^i C ) X._k ( B i^i D ) ) $=
      ( vx vy cxpk cin cvv inss1 xpkssvvk sstri cv wcel wa vex opkelxpk anbi12i
      elin bitri copk an4 3bitr4i eqrelkriiv ) EFABGZCDGZHZACHZBDHZGZUGUEIIGUEU
      FJABKLUHUIKEMZANZFMZBNZOZUKCNZUMDNZOZOZULUPOZUNUQOZOZUKUMUAZUGNZVCUJNZULU
      NUPUQUBVDVCUENZVCUFNZOUSVCUEUFSVFUOVGURUKUMABEPZFPZQUKUMCDVHVIQRTVEUKUHNZ
      UMUINZOVBUKUMUHUIVHVIQVJUTVKVAUKACSUMBDSRTUCUD $.
  $}

  ${
    $d x y z $.
    $( The Kuratowski subset relationship is a Kuratowski relationship.
       (Contributed by SF, 13-Jan-2015.) $)
    ssetkssvvk $p |- _S_k C_ ( _V X._k _V ) $=
      ( vy vz vx cv wss cssetk df-ssetk opkabssvvki ) ADBDECABFCABGH $.
  $}

  ${
    $d A x y z t u w $.
    $( Subset law for ` Ins2_k A ` .  (Contributed by SF, 14-Jan-2015.) $)
    ins2kss $p |- Ins2_k A C_ ( ~P1 1c X._k ( _V X._k _V ) ) $=
      ( vy vz vw vt vu vx c1c cvv cxpk wss copk wcel wal csn wceq w3a wex vex
      cv cins2k cpw1 wi wb opkelins2kg mp2an wa opkeq12 snel1c snelpw1 opkelxpk
      mpbir mpbir2an snex opkex syl6eqel 3adant3 exlimiv exlimivv gen2 df-ins2k
      sylbi opkabssvvki ssrelk ax-mp ) AUAZHUBZIIJZJZKZBTZCTZLZVFMZVMVIMZUCZCNB
      NZVPBCVNVKDTZOZOZPZVLETZFTZLZPZVRWCLAMZQZFRZERDRZVOVKIMVLIMVNWIUDBSCSDEFV
      KVLAIIUEUFWHVODEWGVOFWAWEVOWFWAWEUGVMVTWDLZVIVKVLVTWDUHWJVIMVTVGMZWDVHMZW
      KVSHMVRDSUIVSHUJULWLWBIMWCIMESZFSZWBWCIIWMWNUKUMVTWDVGVHVSUNWBWCUOUKUMUPU
      QURUSVBUTVFVHKVJVQUDVKWBOOPVLWCVRLPWBVRLAMQDRFRERGBCVFGBCDFEAVAVCBCVFVIVD
      VEUL $.

    $( Subset law for ` Ins3_k A ` .  (Contributed by SF, 14-Jan-2015.) $)
    ins3kss $p |- Ins3_k A C_ ( ~P1 1c X._k ( _V X._k _V ) ) $=
      ( vy vz vt vu vw vx c1c cvv cxpk wss cv copk wcel wal csn wceq wex wb vex
      cins3k cpw1 wi opkelins3kg mp2an wa opkeq12 snel1c snelpw1 mpbir opkelxpk
      mpbir2an snex opkex syl6eqel 3adant3 exlimiv exlimivv sylbi gen2 df-ins3k
      w3a opkabssvvki ssrelk ax-mp ) AUAZHUBZIIJZJZKZBLZCLZMZVFNZVMVINZUCZCOBOZ
      VPBCVNVKDLZPZPZQZVLELZFLZMZQZVRWBMANZVBZFRZERDRZVOVKINVLINVNWISBTCTDEFVKV
      LAIIUDUEWHVODEWGVOFWAWEVOWFWAWEUFVMVTWDMZVIVKVLVTWDUGWJVINVTVGNZWDVHNZWKV
      SHNVRDTUHVSHUIUJWLWBINWCINETZFTZWBWCIIWMWNUKULVTWDVGVHVSUMWBWCUNUKULUOUPU
      QURUSUTVFVHKVJVQSWIGBCVFGBCFEDAVAVCBCVFVIVDVEUJ $.
  $}

  ${
    $d x y z $.
    $( The Kuratowski identity relationship is a Kuratowski relationship.
       (Contributed by SF, 14-Jan-2015.) $)
    idkssvvk $p |- _I_k C_ ( _V X._k _V ) $=
      ( vy vz vx weq cidk df-idk opkabssvvki ) ABDCABECABFG $.
  $}

  ${
    $d A x y z $.  $d B x y z $.  $d C x y z $.
    $( Image under a composition.  (Contributed by SF, 4-Feb-2015.) $)
    imacok $p |- ( ( A o._k B ) "_k C ) = ( A "_k ( B "_k C ) ) $=
      ( vz vx vy ccomk cimak cv copk wcel wrex wa wex vex rexbii rexcom4 df-rex
      opkelcok elimak anbi1i r19.41v bitr4i exbii bitr2i 3bitri 3bitr4i eqriv )
      DABGZCHZABCHZHZEIZDIZJUIKZECLZFIZUNJAKZFUKLZUNUJKUNULKUPUMUQJBKZURMZFNZEC
      LVAECLZFNZUSUOVBECFUMUNABEODOZSPVAEFCQUSUQUKKZURMZFNVDURFUKRVGVCFVGUTECLZ
      URMVCVFVHUREBCUQFOTUAUTURECUBUCUDUEUFEUICUNVETFAUKUNVETUGUH $.
  $}

  ${
    $d x A $.  $d x B $.  $d x C $.
    elimaksn.1 $e |- B e. _V $.
    elimaksn.2 $e |- C e. _V $.
    $( Membership in a Kuratowski image of a singleton.  (Contributed by SF,
       4-Feb-2015.) $)
    elimaksn $p |- ( C e. ( A "_k { B } ) <-> << B , C >> e. A ) $=
      ( vx csn cimak wcel cv copk wrex elimak wceq opkeq1 eleq1d rexsn bitri )
      CABGZHIFJZCKZAIZFSLBCKZAIZFASCEMUBUDFBDTBNUAUCATBCOPQR $.
  $}

  ${
    $d A x y a b c $.  $d B x y a b c $.
    $( A Kuratowski composition is a Kuratowski relationship.  (Contributed by
       SF, 4-Feb-2015.) $)
    cokrelk $p |- ( A o._k B ) C_ ( _V X._k _V ) $=
      ( vx vy va vb vc ccomk cvv cxpk wcel copk cins2k wex vex csn wceq exlimiv
      cv sylbi ccnvk cins3k cimak df-cok eleq2i elimakv bitri inss1 opkelins2kg
      cin sseli wb mp2an opkelxpk mpbir2an eleq1 mpbiri 3ad2ant2 exlimivv ssriv
      w3a syl ) CABHZIIJZCSZVCKZDSZVELZAMZBUAUBZUJZKZDNZVEVDKZVFVEVKIUCZKVMVCVO
      VEABUDUEDVKVECOZUFUGVLVNDVLVHVIKZVNVKVIVHVIVJUHUKVQVGESZPPQZVEFSZGSZLZQZV
      RWALAKZVAZGNZFNENZVNVGIKVEIKVQWGULDOVPEFGVGVEAIIUIUMWFVNEFWEVNGWCVSVNWDWC
      VNWBVDKZWHVTIKWAIKFOZGOZVTWAIIWIWJUNUOVEWBVDUPUQURRUSTVBRTUT $.
  $}


$(
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
                 Kuratowski existence theorems
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
$)

  ${
    $d A a b x y z $.
    $( The Kuratowski cross product of ` _V ` with a set is a set.
       (Contributed by SF, 13-Jan-2015.) $)
    xpkvexg $p |- ( A e. V -> ( _V X._k A ) e. _V ) $=
      ( vx vz vy va vb cvv cv cxpk wcel wceq xpkeq2 eleq1d wel wa wex wal bitri
      wb copk ax-xp isset dfcleq elxpk vex biantrur anbi2i 2exbii bitr4i bibi2i
      albii exbii mpbir vtoclg ) HCIZJZHKZHAJZHKCABUPALUQUSHUPAHMNURDEOZDIZFIZG
      IUALZGCOZPZGQFQZTZDRZEQZCEDFGUBUREIZUQLZEQVIEUQUCVKVHEVKUTVAUQKZTZDRVHDVJ
      UQUDVMVGDVLVFUTVLVCVBHKZVDPZPZGQFQVFFGVAHUPUEVEVPFGVDVOVCVNVDFUFUGUHUIUJU
      KULSUMSUNUO $.
  $}

  ${
    $d A x y z w $.
    $( The Kuratowski converse of a set is a set.  (Contributed by SF,
       13-Jan-2015.) $)
    cnvkexg $p |- ( A e. V -> `'_k A e. _V ) $=
      ( vx vz vw vy cv ccnvk cvv wcel wceq cnvkeq eleq1d copk wal wex wss ax-mp
      wb vex ax-cnv cxpk inss1 cnvkssvvk eqrelk mp2an opkelxpk mpbir2an mpbiran
      cin elin opkelcnvk bibi12i 2albii bitri biimpri vvex xpkvexg inex exlimiv
      syl6eqelr vtoclg ) CGZHZIJZAHZIJCABVCAKVDVFIVCALMDGZEGZNZFGZJZVHVGNVCJZSZ
      EODOZFPVECFDEUAVNVEFVNVDIIUBZVJUJZIVPVDKZVNVQVIVPJZVIVDJZSZEODOZVNVPVOQVD
      VOQVQWASVOVJUCVCUDDEVPVDUEUFVTVMDEVRVKVSVLVRVIVOJZVKWBVGIJVHIJDTZETZVGVHI
      IWCWDUGUHVIVOVJUKUIVGVHVCWCWDULUMUNUOUPVOVJIIJVOIJUQIIURRFTUSVAUTRVB $.
  $}

  ${
    cnvkex.1 $e |- A e. _V $.
    $( The Kuratowski converse of a set is a set.  (Contributed by SF,
       14-Jan-2015.) $)
    cnvkex $p |- `'_k A e. _V $=
      ( cvv wcel ccnvk cnvkexg ax-mp ) ACDAECDBACFG $.
  $}

  $( The Kuratowski cross product of two sets is a set.  (Contributed by SF,
     13-Jan-2015.) $)
  xpkexg $p |- ( ( A e. V /\ B e. W ) -> ( A X._k B ) e. _V ) $=
    ( wcel cvv cxpk ccnvk cnvkxpk xpkvexg cnvkexg syl syl5eqelr cin inxpk incom
    wa inv1 eqtri xpkeq12i inexg syl2an ) ACEZAFGZFEZFBGZFEZABGZFEBDEUCUDFAGZHZ
    FFAIUCUIFEUJFEACJUIFKLMBDJUEUGQUHUDUFNZFUKAFNZFBNZGUHAFFBOULAUMBARUMBFNBFBP
    BRSTSUDUFFFUAMUB $.

  ${
    xpkex.1 $e |- A e. _V $.
    xpkex.2 $e |- B e. _V $.
    $( The Kuratowski cross product of two sets is a set.  (Contributed by SF,
       14-Jan-2015.) $)
    xpkex $p |- ( A X._k B ) e. _V $=
      ( cvv wcel cxpk xpkexg mp2an ) AEFBEFABGEFCDABEEHI $.
  $}

  ${
    $d A x y z w $.
    $( The P6 operator applied to a set yields a set.  (Contributed by SF,
       13-Jan-2015.) $)
    p6exg $p |- ( A e. V -> P6 A e. _V ) $=
      ( vx vz vy vw cv cp6 cvv wcel wceq p6eq eleq1d wel csn copk wal vex ax-mp
      wb ax-typlower dfcleq bibi2i albii bitri biimpri syl6eqelr exlimiv vtoclg
      wex elp6 ) CGZHZIJZAHZIJCABULAKUMUOIULALMDENZFGDGZOPULJFQZTZDQZEUJUNCEDFU
      AUTUNEUTUMEGZIVAUMKZUTVBUPUQUMJZTZDQUTDVAUMUBVDUSDVCURUPUQIJVCURTDRFUQULI
      UKSUCUDUEUFERUGUHSUI $.
  $}

  ${
    $d A x $.  $d A z $.  $d x z $.
    $( Alternate definition of unit union.  (Contributed by SF,
       15-Mar-2015.) $)
    dfuni12 $p |- U.1 A = P6 ( _V X._k A ) $=
      ( vx vz cuni1 cvv cxpk cp6 cv csn wcel copk wal 19.27v vex opkelxpk albii
      wa snex ax-gen biantrur 3bitr4ri eluni1 wb elp6 ax-mp 3bitr4i eqriv ) BAD
      ZEAFZGZBHZIZAJZCHZULKUIJZCLZUKUHJUKUJJZUNEJZUMQZCLURCLZUMQUPUMURUMCMUOUSC
      UNULEACNZUKROPUTUMURCVASTUAUKABNZUBUKEJUQUPUCVBCUKUIEUDUEUFUG $.
  $}

  $( The unit union operator preserves sethood.  (Contributed by SF,
     13-Jan-2015.) $)
  uni1exg $p |- ( A e. V -> U.1 A e. _V ) $=
    ( wcel cuni1 cvv cxpk cp6 dfuni12 vvex xpkexg mpan p6exg syl syl5eqel ) ABC
    ZADEAFZGZEAHOPECZQECEECORIEAEBJKPELMN $.

  ${
    uni1ex.1 $e |- A e. _V $.
    $( The unit union operator preserves sethood.  (Contributed by SF,
       14-Jan-2015.) $)
    uni1ex $p |- U.1 A e. _V $=
      ( cvv wcel cuni1 uni1exg ax-mp ) ACDAECDBACFG $.
  $}

  ${
    $d x y z w $.
    $( The Kuratowski subset relationship is a set.  (Contributed by SF,
       13-Jan-2015.) $)
    ssetkex $p |- _S_k e. _V $=
      ( vy vz vx vw cv copk wcel wel wi wal wb wex cssetk cvv ax-sset wss mp2an
      vex bitri ax-mp cxpk cin wceq ssetkssvvk eqrelk opkelxpk mpbir2an mpbiran
      inss1 elin opkelssetkg bibi12i 2albii biimpri vvex xpkvexg inex syl6eqelr
      dfss2 exlimiv ) AEZBEZFZCEZGZDAHDBHIDJZKZBJAJZCLMNGZCABDOVHVICVHMNNUAZVDU
      BZNVKMUCZVHVLVCVKGZVCMGZKZBJAJZVHVKVJPMVJPVLVPKVJVDUIUDABVKMUEQVOVGABVMVE
      VNVFVMVCVJGZVEVQVANGZVBNGZARZBRZVAVBNNVTWAUFUGVCVJVDUJUHVNVAVBPZVFVRVSVNW
      BKVTWAVAVBNNUKQDVAVBUSSULUMSUNVJVDNNGVJNGUONNUPTCRUQURUTT $.
  $}

  ${
    $d A x y z w t $.  $d B x y z w t $.
    sikexlem.1 $e |- A C_ ( 1c X._k 1c ) $.
    sikexlem.2 $e |- B C_ ( 1c X._k 1c ) $.
    $( Lemma for ~ sikexg .  Equality for two subsets of ` 1c ` squared .
       (Contributed by SF, 14-Jan-2015.) $)
    sikexlem $p |- ( A = B <->
              A. x A. y ( << { x } , { y } >> e. A <->
                          << { x } , { y } >> e. B ) ) $=
      ( vz vw vt wceq cv wcel wb c1c copk wal wex wa bitr4i bitri cxpk wral csn
      wss ssofeq mp2an df-ral w3a elxpk el1c anbi12i eeanv anbi2i df-3an 2exbii
      wi ancom 19.42vv exrot4 snex opkeq1 eqeq2d opkeq2 ceqsex2v 3bitri 19.23vv
      imbi1i albii alrot3 opkex eleq1 bibi12d ceqsalv 2albii ) CDJZGKZCLZVPDLZM
      ZGNNUAZUBZAKZUCZBKZUCZOZCLZWFDLZMZBPAPZCVTUDDVTUDVOWAMEFGCDVTUEUFWAVPVTLZ
      VSUPZGPZVPWFJZVSUPZGPZBPAPZWJVSGVTUGWMWOBPAPZGPWQWLWRGWLWNBQAQZVSUPWRWKWS
      VSWKVPHKZIKZOZJZWTNLZXANLZRZRZIQHQZWTWCJZXAWEJZXCUHZIQHQZBQAQZWSHIVPNNUIX
      HXKBQAQZIQHQXMXGXNHIXGXCXIXJRZBQAQZRZXNXFXPXCXFXIAQZXJBQZRXPXDXRXEXSAWTUJ
      BXAUJUKXIXJABULSUMXNXCXORZBQAQXQXKXTABXKXOXCRXTXIXJXCUNXOXCUQTUOXCXOABURT
      SUOXKABHIUSSXLWNABXCVPWCXAOZJWNHIWCWEWBUTWDUTXIXBYAVPWTWCXAVAVBXJYAWFVPXA
      WEWCVCVBVDUOVEVGWNVSABVFSVHWOGABVITWPWIABVSWIGWFWCWEVJWNVQWGVRWHVPWFCVKVP
      WFDVKVLVMVNVET $.
  $}

  ${
    $d A x y z w $.
    $( The Kuratowski singleton image of a set is a set.  (Contributed by SF,
       14-Jan-2015.) $)
    sikexg $p |- ( A e. V -> SI_k A e. _V ) $=
      ( vx vz vw vy cv csik cvv wcel wceq csn copk wal c1c vex snel1c snex 1cex
      wb sikeq eleq1d wex ax-si cxpk inss1 sikss1c1c sikexlem opkelxpk mpbir2an
      elin mpbiran opksnelsik bibi12i 2albii bitri biimpri xpkex inex syl6eqelr
      cin exlimiv ax-mp vtoclg ) CGZHZIJZAHZIJCABVEAKVFVHIVEAUAUBDGZLZEGZLZMZFG
      ZJZVIVKMVEJZTZENDNZFUCVGCFDEUDVRVGFVRVFOOUEZVNVAZIVTVFKZVRWAVMVTJZVMVFJZT
      ZENDNVRDEVTVFVSVNUFVEUGUHWDVQDEWBVOWCVPWBVMVSJZVOWEVJOJVLOJVIDPZQVKEPZQVJ
      VLOOVIRVKRUIUJVMVSVNUKULVIVKVEWFWGUMUNUOUPUQVSVNOOSSURFPUSUTVBVCVD $.
  $}

  ${
    sikex.1 $e |- A e. _V $.
    $( The Kuratowski singleton image of a set is a set.  (Contributed by SF,
       14-Jan-2015.) $)
    sikex $p |- SI_k A e. _V $=
      ( cvv wcel csik sikexg ax-mp ) ACDAECDBACFG $.
  $}

  ${
    $d A x y z $.  $d B x y z $.
    $( Alternate definition of Kuratowski image.  This is the first of a series
       of definitions throughout the file designed to prove existence of
       various operations.  (Contributed by SF, 14-Jan-2015.) $)
    dfimak2 $p |- ( A "_k B ) =
       ~ P6 ( ~ ( 1c X._k _V ) u. SI_k ~ ( A i^i ( B X._k _V ) ) ) $=
      ( vx vy vz c1c cvv cxpk ccompl cv copk wcel wn wex csn vex elcompl 3bitri
      wa bitri cimak cin csik cun cp6 wrex df-rex exancom wceq wb elp6 ax-mp wo
      elun opkex snex opkelxpk mpbiran2 xchbinx orbi1i wi iman imor el1c anbi1i
      19.41v bitr4i notbii 3bitr3i albii opkeq1 eleq1d opksnelsik syl6bb notbid
      alnex excom ceqsexv elin notnot anbi2i exbii con2bii elimak 3bitr4i eqriv
      wal ) CABUAZFGHZIZABGHZUBZIZUCZUDZUEZIZDJZCJZKZALZDBUFZWSWPLZMZWSWHLWSWQL
      XBWRBLZXASDNXAXESZDNZXDXADBUGXEXADUHXCXGXCEJZWSOZKZWOLZEWGZXHWROZUIZXJWNL
      ZMZSZDNZMZEWGZXGMWSGLZXCXLUJCPZEWSWOGUKULXKXSEXKXJWJLZXOUMXHFLZMZXOUMZXSX
      JWJWNUNYCYEXOYCXJWILZYDXJWIXHXIUOQYGYDXIGLWSUPZXHXIFGEPYHUQURUSUTYDXOVAYD
      XPSZMYFXSYDXOVBYDXOVCYIXRYIXNDNZXPSXRYDYJXPDXHVDVEXNXPDVFVGVHVIRVJXTXRENZ
      XGXREVPYKXQENZDNXGXQEDVQYLXFDYLWTWLLZMZMZXFXPYOEXMWRUPXNXOYNXNXOXMXIKZWNL
      ZYNXNXJYPWNXHXMXIVKVLYQWTWMLYNWRWSWMDPZYBVMWTWLWRWSUOQTVNVOVRYMXAWTWKLZSY
      OXFWTAWKVSYMVTYSXEXAYSXEYAYBWRWSBGYRYBUQURWAVITWBTUSRWCRDABWSYBWDWSWPYBQW
      EWF $.
  $}

  $( The image of a set under a set is a set.  (Contributed by SF,
     14-Jan-2015.) $)
  imakexg $p |- ( ( A e. V /\ B e. W ) -> ( A "_k B ) e. _V ) $=
    ( wcel wa cimak c1c cvv cxpk ccompl cin csik cun dfimak2 1cex vvex complexg
    cp6 3syl xpkex complex xpkexg mpan2 inexg sylan2 sikexg unexg sylancr p6exg
    syl5eqel ) ACEZBDEZFZABGHIJZKZABIJZLZKZMZNZSZKZIABOUNVAIEZVBIEVCIEUNUPIEUTI
    EZVDUOHIPQUAUBUNURIEZUSIEVEUMULUQIEZVFUMIIEVGQBIDIUCUDAUQCIUEUFURIRUSIUGTUP
    UTIIUHUIVAIUJVBIRTUK $.

  ${
    imakex.1 $e |- A e. _V $.
    imakex.2 $e |- B e. _V $.
    $( The image of a set under a set is a set.  (Contributed by SF,
       14-Jan-2015.) $)
    imakex $p |- ( A "_k B ) e. _V $=
      ( cvv wcel cimak imakexg mp2an ) AEFBEFABGEFCDABEEHI $.
  $}

  ${
    $d A x y z w $.
    $( Alternate expression for unit power classes.  (Contributed by SF,
       26-Jan-2015.) $)
    dfpw12 $p |- ~P1 A = ( SI_k ( A X._k A ) "_k _V ) $=
      ( vx vy vz vw cpw1 cvv cv wcel csn wceq wex vex wb exbii bitr4i wa 3bitri
      copk weq cxpk csik cimak wrex elpw1 elimakv opkelsikg mp2an exrot3 df-3an
      w3a opkelxpk anbi2i an4 2exbii 19.41vv eqeq12 sylan2 eleq1 adantl anbi12d
      sneq spc2ev pm4.71ri ancom bitr3i df-rex eqriv ) BAFZAAUAZUBZGUCZBHZVIIVM
      CHZJZKZCAUDZVMVLIZCVMAUEVRDHZVMSVKIZDLZVSEHZJZKZVPWBVNSVJIZUKZELDLZCLZVQD
      VKVMBMZUFWAWFCLELZDLWHVTWJDVSGIVMGIVTWJNDMWIECVSVMVJGGUGUHOWFCDEUIPWHVNAI
      ZVPQZCLVQWGWLCWGWDWBAIZQZVPWKQZQZELDLWNELDLZWOQZWLWFWPDEWFWDVPQZWEQWSWMWK
      QZQWPWDVPWEUJWEWTWSWBVNAAEMCMZULUMWDVPWMWKUNRUOWNWODEUPWRWOWLWOWQWNWODEVM
      VNWIXADBTZECTZQWDVPWMWKXCXBWCVOKWDVPNWBVNVBVSVMWCVOUQURXCWMWKNXBWBVNAUSUT
      VAVCVDVPWKVEVFROVPCAVGPRPVH $.
  $}

  $( The unit power class preserves sethood.  (Contributed by SF,
     14-Jan-2015.) $)
  pw1exg $p |- ( A e. V -> ~P1 A e. _V ) $=
    ( wcel cpw1 cxpk csik cvv cimak dfpw12 xpkexg anidms sikexg imakexg sylancl
    syl vvex syl5eqel ) ABCZADAAEZFZGHZGAIRTGCZGGCUAGCRSGCZUBRUCAABBJKSGLOPTGGG
    MNQ $.

  ${
    pw1ex.1 $e |- A e. _V $.
    $( The unit power class preserves sethood.  (Contributed by SF,
       14-Jan-2015.) $)
    pw1ex $p |- ~P1 A e. _V $=
      ( cvv wcel cpw1 pw1exg ax-mp ) ACDAECDBACFG $.
  $}

  ${
    $d A x y z w t u $.  $d B x y z w t u $.
    insklem.1 $e |- A C_ ( ~P1 1c X._k ( _V X._k _V ) ) $.
    insklem.2 $e |- B C_ ( ~P1 1c X._k ( _V X._k _V ) ) $.
    $( Lemma for ~ ins2kexg and ~ ins3kexg .  Equality for subsets of
       ` ( ~P1 1c X._k ( _V X._k _V ) ) ` .  (Contributed by SF,
       14-Jan-2015.) $)
    insklem $p |- ( A = B <->
      A. x A. y A. z ( << { { x } } , << y , z >> >> e. A <->
                       << { { x } } , << y , z >> >> e. B ) ) $=
      ( vw vt vu wceq cv wcel copk wal wi wex albii wa bitri c1c cpw1 cxpk wral
      wb cvv csn wss ssofeq mp2an 19.23v 19.23vv 19.42vv anbi2i 3bitr4ri 2exbii
      elvvk elxpk exrot3 exancom elpw11c anbi1i 19.41v bitr4i exbii ancom opkex
      an12 opkeq2 eqeq2d anbi1d ceqsexv snex opkeq1 excom bitr3i exrot4 3bitr4i
      imbi1i df-ral alcom alrot3 eleq1 bibi12d ceqsalv 2albii 3bitrri ) DEKZHLZ
      DMZWIEMZUEZHUAUBZUFUFUCZUCZUDZALUGZUGZBLZCLZNZNZDMZXBEMZUEZCOZBOAOZDWOUHE
      WOUHWHWPUEFGHDEWOUIUJWIWOMZWLPZHOWIXBKZWLPZCOBOZAOZHOZWPXGXIXMHXJCQBQZWLP
      ZAOXOAQZWLPXMXIXOWLAUKXLXPAXJWLBCULRXHXQWLWIILZJLZNZKZXRWMMZXSWNMZSZSZJQI
      QYAYBXSXAKZSZSZCQBQZJQIQZXHXQYEYIIJYAYGCQBQZSYAYBYFCQBQZSZSYIYEYKYMYAYBYF
      BCUMUNYAYGBCUMYDYMYAYCYLYBBCXSUQUNUNUOUPIJWIWMWNURXQXJAQZCQBQZYJXJABCUSYO
      YHJQIQZCQBQYJYNYPBCWIXRXANZKZYBSZIQZXRWRKZYRSZAQZIQZYPYNYTYBYRSZIQUUDYRYB
      IUTUUEUUCIUUEUUAAQZYRSUUCYBUUFYRAXRVAVBUUAYRAVCVDVETYPYFYAYBSZSZJQZIQYTYH
      UUHIJYHYAYFYBSZSUUHYGUUJYAYBYFVFUNYAYFYBVHTUPUUIYSIUUGYSJXAWSWTVGYFYAYRYB
      YFXTYQWIXSXAXRVIVJVKVLVETYNUUBIQZAQUUDUUKXJAYRXJIWRWQVMUUAYQXBWIXRWRXAVNV
      JVLVEUUBAIVOVPUOUPYHBCIJVQTTVRVSUORWLHWOVTXNXLHOZAOXKHOZCOZBOZAOXGXLHAWAU
      ULUUOAXKHBCWBRUUNXFABUUMXECWLXEHXBWRXAVGXJWJXCWKXDWIXBDWCWIXBEWCWDWERWFWG
      VRT $.
  $}

  ${
    $d A x y z w t $.
    $( ` Ins2_k ` preserves sethood.  (Contributed by SF, 14-Jan-2015.) $)
    ins2kexg $p |- ( A e. V -> Ins2_k A e. _V ) $=
      ( vx vz vw vt vy cv cins2k cvv wcel wceq csn copk wb wal c1c vex opkelxpk
      cxpk ins2keq eleq1d wex ax-ins2 cpw1 inss1 ins2kss insklem snel1c snelpw1
      cin mpbir mpbir2an snex opkex elin mpbiran otkelins2k bibi12i albii bitri
      2albii biimpri 1cex pw1ex vvex xpkex inex syl6eqelr exlimiv ax-mp vtoclg
      ) CHZIZJKZAIZJKCABVMALVNVPJVMAUAUBDHZMZMZEHZFHZNZNZGHZKZVQWANVMKZOZFPZEPD
      PZGUCVOCGDEFUDWIVOGWIVNQUEZJJTZTZWDUKZJWMVNLZWIWNWCWMKZWCVNKZOZFPZEPDPWID
      EFWMVNWLWDUFVMUGUHWRWHDEWQWGFWOWEWPWFWOWCWLKZWEWSVSWJKZWBWKKZWTVRQKVQDRZU
      IVRQUJULXAVTJKWAJKERZFRZVTWAJJXCXDSUMVSWBWJWKVRUNVTWAUOSUMWCWLWDUPUQVQVTW
      AVMXBXCXDURUSUTVBVAVCWLWDWJWKQVDVEJJVFVFVGVGGRVHVIVJVKVL $.

    $( ` Ins3_k ` preserves sethood.  (Contributed by SF, 14-Jan-2015.) $)
    ins3kexg $p |- ( A e. V -> Ins3_k A e. _V ) $=
      ( vx vz vw vt vy cv cins3k cvv wcel wceq csn copk wb wal c1c vex opkelxpk
      cxpk ins3keq eleq1d wex ax-ins3 cpw1 inss1 ins3kss insklem snel1c snelpw1
      cin mpbir mpbir2an snex opkex elin mpbiran otkelins3k bibi12i albii bitri
      2albii biimpri 1cex pw1ex vvex xpkex inex syl6eqelr exlimiv ax-mp vtoclg
      ) CHZIZJKZAIZJKCABVMALVNVPJVMAUAUBDHZMZMZEHZFHZNZNZGHZKZVQVTNVMKZOZFPEPZD
      PZGUCVOCGDEFUDWIVOGWIVNQUEZJJTZTZWDUKZJWMVNLZWIWNWCWMKZWCVNKZOZFPEPZDPWID
      EFWMVNWLWDUFVMUGUHWRWHDWQWGEFWOWEWPWFWOWCWLKZWEWSVSWJKZWBWKKZWTVRQKVQDRZU
      IVRQUJULXAVTJKWAJKERZFRZVTWAJJXCXDSUMVSWBWJWKVRUNVTWAUOSUMWCWLWDUPUQVQVTW
      AVMXBXCXDURUSVBUTVAVCWLWDWJWKQVDVEJJVFVFVGVGGRVHVIVJVKVL $.
  $}

  ${
    inskex.1 $e |- A e. _V $.
    $( ` Ins2_k ` preserves sethood.  (Contributed by SF, 14-Jan-2015.) $)
    ins2kex $p |- Ins2_k A e. _V $=
      ( cvv wcel cins2k ins2kexg ax-mp ) ACDAECDBACFG $.

    $( ` Ins3_k ` preserves sethood.  (Contributed by SF, 14-Jan-2015.) $)
    ins3kex $p |- Ins3_k A e. _V $=
      ( cvv wcel cins3k ins3kexg ax-mp ) ACDAECDBACFG $.
  $}

  $( The Kuratowski composition of two sets is a set.  (Contributed by SF,
     14-Jan-2015.) $)
  cokexg $p |- ( ( A e. V /\ B e. W ) -> ( A o._k B ) e. _V ) $=
    ( wcel wa ccomk cins2k ccnvk cins3k cin cvv cimak ins2kexg cnvkexg ins3kexg
    df-cok syl inexg syl2an vvex imakexg sylancl syl5eqel ) ACEZBDEZFZABGAHZBIZ
    JZKZLMZLABQUGUKLEZLLEULLEUEUHLEUJLEZUMUFACNUFUILEUNBDOUILPRUHUJLLSTUAUKLLLU
    BUCUD $.

  ${
    cokex.1 $e |- A e. _V $.
    cokex.2 $e |- B e. _V $.
    $( The Kuratowski composition of two sets is a set.  (Contributed by SF,
       14-Jan-2015.) $)
    cokex $p |- ( A o._k B ) e. _V $=
      ( cvv wcel ccomk cokexg mp2an ) AEFBEFABGEFCDABEEHI $.
  $}

  $( The Kuratowski image functor preserves sethood.  (Contributed by SF,
     14-Jan-2015.) $)
  imagekexg $p |- ( A e. V -> Image_k A e. _V ) $=
    ( wcel cimagek cvv cxpk cssetk cins2k csik ccnvk ccomk csymdif c1c cpw1 syl
    cins3k ssetkex mpan pw1ex vvex cimak cdif df-imagek sikexg cnvkexg ins3kexg
    cokexg ins2kex symdifexg 1cex imakexg mpan2 xpkex difexg syl5eqel ) ABCZADE
    EFZGHZGAIZJZKZPZLZMNZNZUAZUBZEAUCUPVFECZVGECZUPVCECZVHUPVBECZVJUPVAECZVKUPU
    TECZVLUPUSECVMABUDUSEUEOGECVMVLQGUTEEUGROVAEUFOURECVKVJGQUHURVBEEUIROVJVEEC
    VHVDMUJSSVCVEEEUKULOUQECVHVIEETTUMUQVFEEUNROUO $.

  ${
    imagekex.1 $e |- A e. _V $.
    $( The Kuratowski image functor preserves sethood.  (Contributed by SF,
       14-Jan-2015.) $)
    imagekex $p |- Image_k A e. _V $=
      ( cvv wcel cimagek imagekexg ax-mp ) ACDAECDBACFG $.
  $}

  ${
    $d x y $.
    $( Definition of ` _I_k ` in terms of ` _S_k ` .  (Contributed by SF,
       14-Jan-2015.) $)
    dfidk2 $p |- _I_k = ( _S_k i^i `'_k _S_k ) $=
      ( vx vy cidk cssetk ccnvk cin idkssvvk cvv cxpk inss1 cv wss wa copk wcel
      wb vex mp2an opkelssetkg bitri ssetkssvvk weq eqss opkelidkg elin anbi12i
      sstri opkelcnvk 3bitr4i eqrelkriiv ) ABCDDEZFZGULDHHIDUKJUAUGABUBZAKZBKZL
      ZUOUNLZMZUNUONZCOZUSULOZUNUOUCUNHOZUOHOZUTUMPAQZBQZUNUOHHUDRVAUSDOZUSUKOZ
      MURUSDUKUEVFUPVGUQVBVCVFUPPVDVEUNUOHHSRVGUOUNNDOZUQUNUODVDVEUHVCVBVHUQPVE
      VDUOUNHHSRTUFTUIUJ $.
  $}

  $( The Kuratowski identity relationship is a set.  (Contributed by SF,
     14-Jan-2015.) $)
  idkex $p |- _I_k e. _V $=
    ( cidk cssetk ccnvk cin cvv dfidk2 ssetkex cnvkex inex eqeltri ) ABBCZDEFBK
    GBGHIJ $.

  ${
    $d A x y $.
    $( Alternate definition of class union for existence proof.  (Contributed
       by SF, 14-Jan-2015.) $)
    dfuni3 $p |- U. A = U.1 ( `'_k _S_k "_k A ) $=
      ( vx vy cuni cssetk ccnvk cimak cuni1 cv csn copk wcel wrex wel opkelcnvk
      vex snex elssetk bitri rexbii eluni1 elimak eluni2 3bitr4ri eqriv ) BADZE
      FZAGZHZCIZBIZJZKUGLZCAMZBCNZCAMUKUILZUKUFLUMUOCAUMULUJKELUOUJULECPZUKQZOU
      KUJBPZUQRSTUPULUHLUNUKUHUSUACUGAULURUBSCUKAUCUDUE $.
  $}

  $( The sum class of a set is a set.  (Contributed by SF, 14-Jan-2015.) $)
  uniexg $p |- ( A e. V -> U. A e. _V ) $=
    ( wcel cuni cssetk ccnvk cimak cuni1 cvv dfuni3 ssetkex cnvkex imakexg mpan
    uni1exg syl syl5eqel ) ABCZADEFZAGZHZIAJRTICZUAICSICRUBEKLSAIBMNTIOPQ $.

  ${
    uniex.1 $e |- A e. _V $.
    $( The sum class of a set is a set.  (Contributed by SF, 14-Jan-2015.) $)
    uniex $p |- U. A e. _V $=
      ( cvv wcel cuni uniexg ax-mp ) ACDAECDBACFG $.
  $}

  ${
    $d A x y $.
    $( Alternate definition of class intersection for the existence proof.
       (Contributed by SF, 14-Jan-2015.) $)
    dfint3 $p |- |^| A = ~ U.1 ( `'_k ~ _S_k "_k A ) $=
      ( vx vy cint cssetk ccompl ccnvk cimak cuni1 wel wral cv wcel wn csn copk
      wrex vex elcompl 3bitri eluni1 snex elimak bitri opkelcnvk elssetk notbii
      opkex rexbii rexnal con2bii elint2 3bitr4i eqriv ) BADZEFZGZAHZIZFZBCJZCA
      KZBLZUSMZNVCUOMVCUTMVDVBVDCLZVCOZPUQMZCAQZVANZCAQVBNVDVFURMVHVCURBRZUACUQ
      AVFVCUBZUCUDVGVICAVGVFVEPZUPMVLEMZNVIVEVFUPCRZVKUEVLEVFVEUHSVMVAVCVEVJVNU
      FUGTUIVACAUJTUKCVCAVJULVCUSVJSUMUN $.
  $}

  $( The intersection of a set is a set.  (Contributed by SF, 14-Jan-2015.) $)
  intexg $p |- ( A e. V -> |^| A e. _V ) $=
    ( wcel cint cssetk ccompl ccnvk cimak dfint3 ssetkex complex cnvkex imakexg
    cuni1 cvv mpan uni1exg complexg 3syl syl5eqel ) ABCZADEFZGZAHZNZFZOAIUAUDOC
    ZUEOCUFOCUCOCUAUGUBEJKLUCAOBMPUDOQUEORST $.

  ${
    intex.1 $e |- A e. _V $.
    $( The intersection of a set is a set.  (Contributed by SF,
       14-Jan-2015.) $)
    intex $p |- |^| A e. _V $=
      ( cvv wcel cint intexg ax-mp ) ACDAECDBACFG $.
  $}

  ${
    $d A x y $.
    $( Two ways to express the class of all sets that contain ` A ` .
       (Contributed by SF, 14-Jan-2015.) $)
    setswith $p |- { x | A e. x } =
                if ( A e. _V , ( _S_k "_k { { A } } ) , (/) ) $=
      ( vy cvv wcel cv cab cssetk csn cimak c0 cif wceq copk wrex opkeq1 eleq1d
      snex eqtr4d wn rexsn wb vex elssetkg mpan2 syl5rbb abbidv df-imak syl6eqr
      iftrue wal elex con3i alrimiv ab0 sylibr iffalse pm2.61i ) BDEZBAFZEZAGZU
      SHBIZIZJZKLZMUSVBVEVFUSVBCFZUTNZHEZCVDOZAGVEUSVAVJAVJVCUTNZHEZUSVAVIVLCVC
      BRVGVCMVHVKHVGVCUTPQUAUSUTDEVLVAUBAUCBUTDDUDUEUFUGACHVDUHUIUSVEKUJSUSTZVB
      KVFVMVATZAUKVBKMVMVNAVAUSBUTULUMUNVAAUOUPUSVEKUQSUR $.

    $( The class of all sets that contain ` A ` exist.  (Contributed by SF,
       14-Jan-2015.) $)
    setswithex $p |- { x | A e. x } e. _V $=
      ( wcel cab cvv cssetk csn cimak cif setswith ssetkex snex imakex 0ex ifex
      cv c0 eqeltri ) BAPCADBECZFBGZGZHZQIEABJSUBQFUAKTLMNOR $.
  $}

  ${
    $d A x t $.  $d B x t $.
    ndisjrelk.1 $e |- A e. _V $.
    ndisjrelk.2 $e |- B e. _V $.
    $( Membership in a particular Kuratowski relationship is equivalent to
       non-disjointedness.  (Contributed by SF, 15-Jan-2015.) $)
    ndisjrelk $p |- (
      << A , B >> e. ( ( Ins3_k _S_k i^i Ins2_k _S_k ) "_k ~P1 ~P1 1c )
      <-> ( A i^i B ) =/= (/) ) $=
      ( vt vx cv csn copk cssetk cin wcel wa cpw1 snex elin elssetk bitri exbii
      wex wceq cins3k cins2k c1c cimak wne opkeq1 eleq1d ceqsexv otkelins3k vex
      otkelins2k anbi12i wrex opkex elimak elpw121c anbi1i 19.41v bitr4i df-rex
      c0 excom 3bitr4i n0 ) EGZFGZHZHZHZUAZVFABIZIZJUBZJUCZKZLZMZETZFTZVGALZVGB
      LZMZFTZVLVPUDNNZUELZABKZVBUFZVSWCFVSVJVLIZVPLZWCVQWJEVJVIOVKVMWIVPVFVJVLU
      GUHUIWJWIVNLZWIVOLZMWCWIVNVOPWKWAWLWBWKVHAIJLWAVHABJVGOZCDUJVGAFUKZCQRWLV
      HBIJLWBVHABJWMCDULVGBWNDQRUMRRSWFVQEWEUNZVTEVPWEVLABUOUPVFWELZVQMZETVRFTZ
      ETWOVTWQWREWQVKFTZVQMWRWPWSVQFVFUQURVKVQFUSUTSVQEWEVAVRFEVCVDRWHVGWGLZFTW
      DFWGVEWTWCFVGABPSRVD $.
  $}

  ${
    $d ph x $.
    $( When ` x ` does not occur in ` ph ` , ` { x | ph } ` is a set.
       (Contributed by SF, 17-Jan-2015.) $)
    abexv $p |- { x | ph } e. _V $=
      ( cab cvv wceq c0 wo wcel abvor0 vvex eleq1 mpbiri 0ex jaoi ax-mp ) ABCZD
      EZPFEZGPDHZABIQSRQSDDHJPDDKLRSFDHMPFDKLNO $.
  $}

  ${
    $d A x y z $.
    $( The union of a unit power class is the original set.  (Contributed by
       SF, 20-Jan-2015.) $)
    unipw1 $p |- U. ~P1 A = A $=
      ( vx vy vz cpw1 cuni cv wcel wel wa wex csn wceq eluni elpw1 anbi1i ancom
      wrex weq 3bitri r19.41v 3bitr4i exbii risset ceqsexv abeq2i equcom rexbii
      snex eleq2 df-sn rexcom4 3bitr2ri eqriv ) BAEZFZABGZUPHBCIZCGZUOHZJZCKUSD
      GZLZMZURJZDARZCKZUQAHZCUQUONVAVFCUTURJVDDARZURJVAVFUTVIURDUSAOPURUTQVDURD
      AUAUBUCVHDBSZDARVECKZDARVGDUQAUDVKVJDAVKUQVCHZBDSZVJURVLCVCVBUIUSVCUQUJUE
      VMBVCBVBUKUFBDUGTUHVEDCAULUMTUN $.
  $}

  $( Biconditional existence for unit power class.  (Contributed by SF,
     20-Jan-2015.) $)
  pw1exb $p |- ( ~P1 A e. _V <-> A e. _V ) $=
    ( cpw1 cvv wcel cuni unipw1 uniexg syl5eqelr pw1exg impbii ) ABZCDZACDLAKEC
    AFKCGHACIJ $.

  ${
    $d A x y t $.
    $( Definition of power set for existence proof.  (Contributed by SF,
       21-Jan-2015.) $)
    dfpw2 $p |- ~P A = ~ ( ( _S_k \ ( ~P1 A X._k _V ) ) "_k 1c ) $=
      ( vx vy vt cpw cssetk cpw1 cvv c1c cv wcel wn copk wa wex vex exbii bitri
      3bitr4i 3bitri cxpk cdif cimak ccompl wel wal csn wceq wrex elimak anbi1i
      el1c 19.41v bitr4i df-rex excom snex opkeq1 eleq1d ceqsexv eldif opkelxpk
      wi elssetk mpbiran2 snelpw1 notbii anbi12i annim exnal con2bii elpw dfss2
      wss elcompl eqriv ) BAEZFAGZHUAZUBZIUCZUDZCBUEZCJZAKZVCZCUFZBJZWAKZLWHVQK
      ZWHWBKWIWGWIDJZWDUGZUHZWKWHMZVTKZNZDOZCOZWFLZCOWGLWIWODIUIZWRDVTIWHBPZUJW
      KIKZWONZDOWPCOZDOWTWRXCXDDXCWMCOZWONXDXBXEWOCWKULUKWMWOCUMUNQWODIUOWPCDUP
      SRWQWSCWQWLWHMZVTKZWSWOXGDWLWDUQZWMWNXFVTWKWLWHURUSUTXGXFFKZXFVSKZLZNWCWE
      LZNWSXFFVSVAXIWCXKXLWDWHCPXAVDXJWEXJWLVRKZWEXJXMWHHKXAWLWHVRHXHXAVBVEWDAV
      FRVGVHWCWEVITRQWFCVJTVKWJWHAVNWGWHAXAVLCWHAVMRWHWAXAVOSVP $.
  $}

  $( The power class of a set is a set.  (Contributed by SF, 21-Jan-2015.) $)
  pwexg $p |- ( A e. V -> ~P A e. _V ) $=
    ( wcel cpw cssetk cpw1 cvv cxpk cdif cimak ccompl dfpw2 ssetkex pw1exg vvex
    c1c xpkexg sylancl difexg sylancr 1cex imakexg complexg syl syl5eqel ) ABCZ
    ADEAFZGHZIZPJZKZGALUFUJGCZUKGCUFUIGCZPGCULUFEGCUHGCZUMMUFUGGCGGCUNABNOUGGGG
    QREUHGGSTUAUIPGGUBRUJGUCUDUE $.

  ${
    pwex.1 $e |- A e. _V $.
    $( The power class of a set is a set.  (Contributed by SF, 21-Jan-2015.) $)
    pwex $p |- ~P A e. _V $=
      ( cvv wcel cpw pwexg ax-mp ) ACDAECDBACFG $.
  $}

  ${
    $d A x y z $.
    $( A class of singletons is equal to the unit power class of its union.
       (Contributed by SF, 26-Jan-2015.) $)
    eqpw1uni $p |- ( A C_ 1c -> A = ~P1 U. A ) $=
      ( vx vy vz c1c wss cuni cpw1 cv wcel ssel wi csn wceq wb el1c eleq2 sylbi
      wex eleq1 pw1ss1c sseli a1i wel wrex vex snid rspcev weq elsn sneq eleq1d
      mpan2 biimprcd imbi1d imbi12d mpbiri exlimiv syli rexlimdv impbid2 eluni2
      syl6bbr snelpw1 syl6bb bibi12d syl5ibrcom exlimdv syl5bi pm5.21ndd eqrdv
      ) AEFZBAAGZHZVLBIZEJZVOAJZVOVNJZAEVOKZVRVPLVLVNEVOVMUAUBUCVPVOCIZMZNZCSVL
      VQVROZCVOPVLWBWCCVLWCWBWAAJZVTVMJZOVLWDCBUDZBAUEZWEVLWDWGWDVTWAJZWGVTCUFU
      GWFWHBWAAVOWAVTQUHUMVLWFWDBAVQVLVPWFWDLZVSVPVODIZMZNZDSVQWILZDVOPWLWMDWLW
      MWKAJZVTWKJZWDLZLWOWDWNWOCDUIZWDWNOCWJUJWQWAWKAVTWJUKULRUNWLVQWNWIWPVOWKA
      TWLWFWOWDVOWKVTQUOUPUQURRUSUTVABVTAVBVCWBVQWDVRWEVOWAATWBVRWAVNJWEVOWAVNT
      VTVMVDVEVFVGVHVIVJVK $.
  $}

  ${
    $d A x $.  $d A y $.  $d B x $.  $d B y $.  $d C x $.  $d C y $.  $d x y $.
    pw1equn.1 $e |- A e. _V $.
    pw1equn.2 $e |- B e. _V $.
    $( A condition for a unit power class to equal a union.  (Contributed by
       SF, 26-Jan-2015.) $)
    pw1equn $p |- ( ~P1 C = ( A u. B ) <->
        E. x E. y ( C = ( x u. y ) /\ A = ~P1 x /\ B = ~P1 y ) ) $=
      ( cpw1 cun wceq cv w3a wex cuni c1c wss mpbiri eqeq2d wb pw1eq unipw1 syl
      unieq syl5eqr ssun1 sseq2 pw1ss1c syl6ss eqpw1uni ssun2 wa uneq12 syl6eqr
      uniex uniun adantr adantl 3anbi123d spc2ev pw1un eqeqan12d 3impb exlimivv
      syl3anc impbii ) EHZCDIZJZEAKZBKZIZJZCVIHZJZDVJHZJZLZBMAMZVHEVGNZJZCCNZHZ
      JZDDNZHZJZVRVHEVFNVSEUAVFVGUCUDVHCOPWCVHCVFOVHCVFPCVGPCDUEVFVGCUFQEUGZUHC
      UIUBVHDOPWFVHDVFOVHDVFPDVGPDCUJVFVGDUFQWGUHDUIUBVQVTWCWFLABWAWDCFUNDGUNVI
      WAJZVJWDJZUKZVLVTVNWCVPWFWJVKVSEWJVKWAWDIVSVIWAVJWDULCDUOUMRWHVNWCSWIWHVM
      WBCVIWATRUPWIVPWFSWHWIVOWEDVJWDTRUQURUSVDVQVHABVQVHVKHZVMVOIZJZVIVJUTVLVN
      VPVHWMSVLVNVPUKVFWKVGWLEVKTCVMDVOULVAVBQVCVE $.
  $}

  ${
    $d A x y $.  $d B x y $.  $d C x y $.
    pw1eqadj.1 $e |- A e. _V $.
    pw1eqadj.2 $e |- B e. _V $.
    $( A condition for a unit power class to work out to an adjunction.
       (Contributed by SF, 26-Jan-2015.) $)
    pw1eqadj $p |- ( ~P1 C = ( A u. { B } ) <->
       E. x E. y ( C = ( x u. { y } ) /\ A = ~P1 x /\ B = { y } ) ) $=
      ( cpw1 csn cun wceq cv wex cuni c1c wcel mpbiri wss eqeq2d wb unieq uniun
      w3a unipw1 3eqtr3g unisn pw1ss1c ssun2 snid sselii eleq2 sseldi vex sneqi
      eqcomi id sneqd 3eqtr4a exlimiv sylbi syl syl5eq uneq2d eqtrd ssun1 sseq2
      el1c syl6ss eqpw1uni uniex wa uneq12 sylan2 pw1eq adantr adantl 3anbi123d
      spc2ev syl3anc pw1un pw1sn uneq2i eqtri eqeqan12d 3impb exlimivv impbii
      sneq ) EHZCDIZJZKZEALZBLZIZJZKZCWMHZKZDWOKZUCZBMAMZWLECNZDNZIZJZKZCXCHZKZ
      DXEKZXBWLEXCWJNZJZXFWLWINWKNEXLWIWKUAEUDCWJUBUEWLXKXEXCWLXKDXEDGUFWLDOPZX
      JWLWIODEUGZWLDWIPDWKPWJWKDWJCUHDGUIUJWIWKDUKQULXMDWMIZKZAMXJADVGXPXJAXPXO
      XONZIZDXEXRXOXQWMWMAUMUFUNUOXPUPXPXDXQDXOUAUQURUSUTVAZVBVCVDWLCORXIWLCWIO
      WLCWIRCWKRCWJVEWIWKCVFQXNVHCVIVAXSXAXGXIXJUCABXCXDCFVJDGVJWMXCKZWNXDKZVKZ
      WQXGWSXIWTXJYBWPXFEYAXTWOXEKWPXFKWNXDWHZWMXCWOXEVLVMSXTWSXITYAXTWRXHCWMXC
      VNSVOYAWTXJTXTYAWOXEDYCSVPVQVRVSXAWLABXAWLWPHZWRWOIZJZKZYDWRWOHZJYFWMWOVT
      YHYEWRWNBUMWAWBWCWQWSWTWLYGTWQWSWTVKWIYDWKYFEWPVNWTWSWJYEKWKYFKDWOWHCWRWJ
      YEVLVMWDWEQWFWG $.
  $}

  ${
    $d x y $.  $d y ph $.
    $( Alternate definition of existential uniqueness in terms of abstraction.
       (Contributed by SF, 29-Jan-2015.) $)
    dfeu2 $p |- ( E! x ph <-> { x | ph } e. 1c ) $=
      ( vy weq wb wal wex cab cv csn wceq weu c1c wcel abbi df-sn eqeq2i bitr4i
      exbii df-eu el1c 3bitr4i ) ABCDZEBFZCGABHZCIZJZKZCGABLUEMNUDUHCUDUEUCBHZK
      UHAUCBOUGUIUEBUFPQRSABCTCUEUAUB $.
  $}

  $( If there is a unique object satisfying a property ` ph ` , then the set of
     all elements that satisfy ` ph ` exists.  (Contributed by SF,
     16-Jan-2015.) $)
  euabex $p |- ( E! x ph -> { x | ph } e. _V ) $=
    ( weu cab c1c wcel cvv dfeu2 elex sylbi ) ABCABDZEFKGFABHKEIJ $.

  ${
    $d A x $.  $d B x $.
    sspw1.1 $e |- A e. _V $.
    $( A condition for being a subclass of a unit power class.  Corollary 2 of
       theorem IX.6.14 of [Rosser] p. 255.  (Contributed by SF, 3-Feb-2015.) $)
    sspw1 $p |- ( A C_ ~P1 B <-> E. x ( x C_ B /\ A = ~P1 x ) ) $=
      ( cpw1 wss cv wceq wa wex cuni uniss unipw1 syl6sseq c1c pw1ss1c eqpw1uni
      sstr mpan2 sseq1 uniex pw1eq eqeq2d anbi12d spcev syl2anc syl5ibr exlimiv
      syl pw1ss impcom impbii ) BCEZFZAGZCFZBUOEZHZIZAJZUNBKZCFZBVAEZHZUTUNVAUM
      KCBUMLCMNUNBOFZVDUNUMOFVECPBUMORSBQUIUSVBVDIAVABDUAUOVAHZUPVBURVDUOVACTVF
      UQVCBUOVAUBUCUDUEUFUSUNAURUPUNUPUNURUQUMFUOCUJBUQUMTUGUKUHUL $.
  $}

  ${
    $d A x $.
    sspw12.1 $e |- A e. _V $.
    $( A set is a subset of cardinal one iff it is the unit power class of some
       other set.  (Contributed by SF, 17-Mar-2015.) $)
    sspw12 $p |- ( A C_ 1c <-> E. x A = ~P1 x ) $=
      ( c1c wss cv cpw1 wceq wex cuni eqpw1uni uniex pw1eq eqeq2d spcev pw1ss1c
      syl sseq1 mpbiri exlimiv impbii ) BDEZBAFZGZHZAIZUBBBJZGZHZUFBKUEUIAUGBCL
      UCUGHUDUHBUCUGMNOQUEUBAUEUBUDDEUCPBUDDRSTUA $.
  $}


$(
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
        Definite description binder (inverted iota)
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
$)

  $c iota $.
  $( Extend class notation with Russell's definition description binder
     (inverted iota). $)
  cio $a class ( iota x ph ) $.

  ${
    $d w x z $.  $d ph w z $.  $d ph w y $.  $d x y $.
    $( Soundness justification theorem for ~ df-iota .  (Contributed by Andrew
       Salmon, 29-Jun-2011.) $)
    iotajust $p |- U. { y | { x | ph } = { y } } =
       U. { z | { x | ph } = { z } } $=
      ( vw cab cv csn wceq sneq eqeq2d cbvabv eqtri unieqi ) ABFZCGZHZIZCFZODGZ
      HZIZDFZSOEGZHZIZEFUCRUFCEPUDIQUEOPUDJKLUFUBEDUDTIUEUAOUDTJKLMN $.
  $}

  ${
    $d y x $.  $d y ph $.
    $( Define Russell's definition description binder, which can be read as
       "the unique ` x ` such that ` ph ` ," where ` ph ` ordinarily contains
       ` x ` as a free variable.  Our definition is meaningful only when there
       is exactly one ` x ` such that ` ph ` is true (see ~ iotaval );
       otherwise, it evaluates to the empty set (see ~ iotanul ).  Russell used
       the inverted iota symbol ` iota ` to represent the binder.  (Contributed
       by SF, 12-Jan-2015.) $)
    df-iota $a |- ( iota x ph ) = U. { y | { x | ph } = { y } } $.
  $}

  ${
    $d y x $.  $d y ph $.
    $( Alternate definition for descriptions.  Definition 8.18 in [Quine]
       p. 56.  (Contributed by Andrew Salmon, 30-Jun-2011.) $)
    dfiota2 $p |- ( iota x ph ) = U. { y | A. x ( ph <-> x = y ) } $=
      ( cio cab cv csn wceq cuni wb wal df-iota df-sn eqeq2i abbi bitr4i unieqi
      abbii eqtri ) ABDABEZCFZGZHZCEZIABFUAHZJBKZCEZIABCLUDUGUCUFCUCTUEBEZHUFUB
      UHTBUAMNAUEBOPRQS $.
  $}

  ${
    $d x y $.  $d y ph $.
    $( Bound-variable hypothesis builder for the ` iota ` class.  (Contributed
       by Andrew Salmon, 11-Jul-2011.)  (Revised by Mario Carneiro,
       15-Oct-2016.) $)
    nfiota1 $p |- F/_ x ( iota x ph ) $=
      ( vy cio cv wceq wb wal cab cuni dfiota2 nfaba1 nfuni nfcxfr ) BABDABECEF
      GZBHCIZJABCKBPOBCLMN $.
  $}

  ${
    $d z ps $.  $d z ph $.  $d x z $.  $d y z $.
    nfiotad.1 $e |- F/ y ph $.
    nfiotad.2 $e |- ( ph -> F/ x ps ) $.
    $( Deduction version of ~ nfiota .  (Contributed by NM, 18-Feb-2013.) $)
    nfiotad $p |- ( ph -> F/_ x ( iota y ps ) ) $=
      ( vz cio cv wceq wb wal cab cuni dfiota2 nfv wn wa wnf adantr wnfc adantl
      nfcvf nfcvd nfeqd nfbid nfald2 nfabd nfunid nfcxfrd ) ACBDHBDIZGIZJZKZDLZ
      GMZNBDGOACUPAUOCGAGPAUNCDEACIUKJCLQZRZBUMCABCSUQFTURCUKULUQCUKUAACDUCUBUR
      CULUDUEUFUGUHUIUJ $.
  $}

  ${
    nfiota.1 $e |- F/ x ph $.
    $( Bound-variable hypothesis builder for the ` iota ` class.  (Contributed
       by NM, 23-Aug-2011.) $)
    nfiota $p |- F/_ x ( iota y ph ) $=
      ( cio wnfc wtru nftru wnf a1i nfiotad trud ) BACEFGABCCHABIGDJKL $.
  $}

  ${
    $d z w x $.  $d z w y $.  $d z w ph $.  $d z w ps $.
    cbviota.1 $e |- ( x = y -> ( ph <-> ps ) ) $.
    cbviota.2 $e |- F/ y ph $.
    cbviota.3 $e |- F/ x ps $.
    $( Change bound variables in a description binder.  (Contributed by Andrew
       Salmon, 1-Aug-2011.) $)
    cbviota $p |- ( iota x ph ) = ( iota y ps ) $=
      ( vw vz cv wceq wb wal cab cuni cio wsb nfv nfbi equequ1 nfs1v cbval nfsb
      sbequ12 bibi12d sbequ sbie syl6bb bitri abbii unieqi dfiota2 3eqtr4i ) AC
      JZHJZKZLZCMZHNZOBDJZUOKZLZDMZHNZOACPBDPUSVDURVCHURACIQZIJZUOKZLZIMVCUQVHC
      IUQIRVEVGCACIUAVGCRSUNVFKAVEUPVGACIUDCIHTUEUBVHVBIDVEVGDACIDFUCVGDRSVBIRV
      FUTKZVEBVGVAVIVEACDQBAIDCUFABCDGEUGUHIDHTUEUBUIUJUKACHULBDHULUM $.
  $}

  ${
    $d ph y $.  $d ps x $.
    cbviotav.1 $e |- ( x = y -> ( ph <-> ps ) ) $.
    $( Change bound variables in a description binder.  (Contributed by Andrew
       Salmon, 1-Aug-2011.) $)
    cbviotav $p |- ( iota x ph ) = ( iota y ps ) $=
      ( nfv cbviota ) ABCDEADFBCFG $.
  $}

  ${
    $d w z ph $.  $d w z x $.  $d w z y $.
    sb8iota.1 $e |- F/ y ph $.
    $( Variable substitution in description binder.  Compare ~ sb8eu .
       (Contributed by NM, 18-Mar-2013.) $)
    sb8iota $p |- ( iota x ph ) = ( iota y [ y / x ] ph ) $=
      ( vz vw cv wceq wb wal cab cuni wsb cio nfv sb8 sbbi nfsb nfxfr dfiota2
      eqsb3 nfbi sbequ cbval equsb3 sblbis albii 3bitri abbii unieqi 3eqtr4i )
      ABGEGZHZIZBJZEKZLABCMZCGULHZIZCJZEKZLABNUQCNUPVAUOUTEUOUNBFMZFJUNBCMZCJUT
      UNBFUNFOPVBVCFCVBABFMZUMBFMZICAUMBFQVDVECABFCDRVEFGULHZCFBULUAVFCOSUBSVCF
      OUNFCBUCUDVCUSCUMURABCCBEUEUFUGUHUIUJABETUQCETUK $.
  $}

  ${
    $d y z $.  $d x z $.  $d ph z $.
    $( Equality theorem for descriptions.  (Contributed by Andrew Salmon,
       30-Jun-2011.) $)
    iotaeq $p |- ( A. x x = y -> ( iota x ph ) = ( iota y ph ) ) $=
      ( vz cv wceq wal cab csn cuni cio wcel drsb1 df-clab 3bitr4g eqrdv eqeq1d
      wsb abbidv df-iota unieqd 3eqtr4g ) BECEFBGZABHZDEZIZFZDHZJACHZUFFZDHZJAB
      KACKUCUHUKUCUGUJDUCUDUIUFUCDUDUIUCABDRACDRUEUDLUEUILABCDMADBNADCNOPQSUAAB
      DTACDTUB $.
  $}

  ${
    $d ph z $.  $d ps z $.  $d x y z $.
    $( Equivalence theorem for descriptions.  (Contributed by Andrew Salmon,
       30-Jun-2011.) $)
    iotabi $p |- ( A. x ( ph <-> ps ) -> ( iota x ph ) = ( iota x ps ) ) $=
      ( vz wb wal cab cv csn wceq cuni abbi biimpi eqeq1d abbidv unieqd df-iota
      cio 3eqtr4g ) ABECFZACGZDHIZJZDGZKBCGZUBJZDGZKACRBCRTUDUGTUCUFDTUAUEUBTUA
      UEJABCLMNOPACDQBCDQS $.

    $( Part of Theorem 8.17 in [Quine] p. 56.  This theorem serves as a lemma
       for the fundamental property of iota.  (Contributed by Andrew Salmon,
       11-Jul-2011.) $)
    uniabio $p |- ( A. x ( ph <-> x = y ) -> U. { x | ph } = y ) $=
      ( cv wceq wb wal cab cuni csn abbi biimpi df-sn syl6eqr unieqd vex syl6eq
      unisn ) ABDCDZEZFBGZABHZISJZISUAUBUCUAUBTBHZUCUAUBUDEATBKLBSMNOSCPRQ $.

    $( Theorem 8.19 in [Quine] p. 57.  This theorem is the fundamental property
       of iota.  (Contributed by Andrew Salmon, 11-Jul-2011.) $)
    iotaval $p |- ( A. x ( ph <-> x = y ) -> ( iota x ph ) = y ) $=
      ( vz cv wceq wb wal cio cab cuni dfiota2 cvv wcel wa sbeqalb equcomi syl6
      wi vex ax-mp ex equequ2 eqcoms bibi2d biimpd alimdv com12 alrimiv uniabio
      impbid syl syl5eq ) ABEZCEZFZGZBHZABIAUNDEZFZGZBHZDJKZUOABDLURVBUSUOFZGZD
      HVCUOFURVEDURVBVDURVBVDUOMNZURVBOZVDSCTVFVGUOUSFVDABUOUSMPCDQRUAUBVDURVBV
      DUQVABVDUQVAVDUPUTAUPUTGUOUSCDBUCUDUEUFUGUHUKUIVBDCUJULUM $.

    $( Equivalence between two different forms of ` iota ` .  (Contributed by
       Andrew Salmon, 12-Jul-2011.) $)
    iotauni $p |- ( E! x ph -> ( iota x ph ) = U. { x | ph } ) $=
      ( vz weu cv wceq wb wal wex cio cuni df-eu iotaval uniabio eqtr4d exlimiv
      cab sylbi ) ABDABECEZFGBHZCIABJZABQKZFZABCLTUCCTUASUBABCMABCNOPR $.

    $( Equivalence between two different forms of ` iota ` .  (Contributed by
       Mario Carneiro, 24-Dec-2016.) $)
    iotaint $p |- ( E! x ph -> ( iota x ph ) = |^| { x | ph } ) $=
      ( weu cio cab cuni cint iotauni wceq uniintab biimpi eqtrd ) ABCZABDABEZF
      ZNGZABHMOPIABJKL $.

    $( Property of iota.  (Contributed by NM, 23-Aug-2011.)  (Revised by Mario
       Carneiro, 23-Dec-2016.) $)
    iota1 $p |- ( E! x ph -> ( ph <-> ( iota x ph ) = x ) ) $=
      ( vz weu cv wceq wb wal wex cio df-eu iotaval eqeq2d bitr4d eqcom exlimiv
      sp syl6bb sylbi ) ABDABEZCEZFZGZBHZCIAABJZTFZGZABCKUDUGCUDATUEFZUFUDAUBUH
      UCBQUDUEUATABCLMNTUEORPS $.

    $( Theorem 8.22 in [Quine] p. 57.  This theorem is the result if there
       isn't exactly one ` x ` that satisfies ` ph ` .  (Contributed by Andrew
       Salmon, 11-Jul-2011.) $)
    iotanul $p |- ( -. E! x ph -> ( iota x ph ) = (/) ) $=
      ( vz weu cv wceq wb wal wex cio c0 df-eu wn cuni dfiota2 alnex ax-1 eqidd
      cab impbid1 con2bid alimi abbi dfnul2 syl6eqr sylbir unieqd syl6eq syl5eq
      sylib uni0 sylnbi ) ABDABECEZFGBHZCIZABJZKFABCLUOMZUPUNCSZNZKABCOUQUSKNKU
      QURKUQUNMZCHZURKFUNCPVAURUMUMFZMZCSZKVAUNVCGZCHURVDFUTVECUTVBUNUTVBUTUTVB
      QUTUMRTUAUBUNVCCUCUJCUDUEUFUGUKUHUIUL $.

    $( The ` iota ` class is a subset of the union of all elements satisfying
       ` ph ` .  (Contributed by Mario Carneiro, 24-Dec-2016.) $)
    iotassuni $p |- ( iota x ph ) C_ U. { x | ph } $=
      ( weu cio cab cuni wss iotauni eqimss syl wn c0 0ss iotanul sseq1d mpbiri
      wceq pm2.61i ) ABCZABDZABEFZGZSTUAQUBABHTUAIJSKZUBLUAGUAMUCTLUAABNOPR $.

    $( Theorem 8.23 in [Quine] p. 58.  This theorem proves the existence of the
       ` iota ` class under our definition.  (Contributed by Andrew Salmon,
       11-Jul-2011.) $)
    iotaex $p |- ( iota x ph ) e. _V $=
      ( vz weu cio cvv wcel cv wceq wb wal wex iotaval eqcomd eximi df-eu isset
      3imtr4i wn c0 iotanul 0ex syl6eqel pm2.61i ) ABDZABEZFGZABHCHZIJBKZCLUHUF
      IZCLUEUGUIUJCUIUFUHABCMNOABCPCUFQRUESUFTFABUAUBUCUD $.

    $( Theorem *14.22 in [WhiteheadRussell] p. 190.  (Contributed by Andrew
       Salmon, 12-Jul-2011.) $)
    iota4 $p |- ( E! x ph -> [. ( iota x ph ) / x ]. ph ) $=
      ( vz weu weq wb wal wex cio wsbc df-eu wsb bi2 alimi sb2 syl wceq iotaval
      wi cv eqcomd dfsbcq2 mpbid exlimiv sylbi ) ABDABCEZFZBGZCHABABIZJZABCKUHU
      JCUHABCLZUJUHUFASZBGUKUGULBAUFMNABCOPUHCTZUIQUKUJFUHUIUMABCRUAABCUIUBPUCU
      DUE $.
  $}

  $( Theorem *14.23 in [WhiteheadRussell] p. 191.  (Contributed by Andrew
     Salmon, 12-Jul-2011.) $)
  iota4an $p |- ( E! x ( ph /\ ps )
            -> [. ( iota x ( ph /\ ps ) ) / x ]. ph ) $=
    ( wa weu cio wsbc iota4 wi cvv wcel iotaex simpl sbcth ax-mp wb sbcimg mpbi
    syl ) ABDZCETCTCFZGZACUAGZTCHTAIZCUAGZUBUCIZUAJKZUETCLZUDCUAJABMNOUGUEUFPUH
    TACUAJQORS $.

  ${
    $d x y A $.  $d x V $.  $d x ph $.  $d y ps $.
    iota5.1 $e |- ( ( ph /\ A e. V ) -> ( ps <-> x = A ) ) $.
    $( A method for computing iota.  (Contributed by NM, 17-Sep-2013.) $)
    iota5 $p |- ( ( ph /\ A e. V ) -> ( iota x ps ) = A ) $=
      ( vy wcel wa cv wceq wb wal cio alrimiv wi eqeq2 bibi2d albidv imbi12d
      iotaval vtoclg adantl mpd ) ADEHZIZBCJZDKZLZCMZBCNZDKZUFUICFOUEUJULPZABUG
      GJZKZLZCMZUKUNKZPUMGDEUNDKZUQUJURULUSUPUICUSUOUHBUNDUGQRSUNDUKQTBCGUAUBUC
      UD $.
  $}

  ${
    $d x ph $.
    iotabidv.1 $e |- ( ph -> ( ps <-> ch ) ) $.
    $( Formula-building deduction rule for iota.  (Contributed by NM,
       20-Aug-2011.) $)
    iotabidv $p |- ( ph -> ( iota x ps ) = ( iota x ch ) ) $=
      ( wb wal cio wceq alrimiv iotabi syl ) ABCFZDGBDHCDHIAMDEJBCDKL $.
  $}

  ${
    iotabii.1 $e |- ( ph <-> ps ) $.
    $( Formula-building deduction rule for iota.  (Contributed by Mario
       Carneiro, 2-Oct-2015.) $)
    iotabii $p |- ( iota x ph ) = ( iota x ps ) $=
      ( wb cio wceq iotabi mpg ) ABEACFBCFGCABCHDI $.
  $}

  $( Membership law for descriptions.

     This can useful for expanding an unbounded iota-based definition (see
     ~ df-iota ).  If you have a bounded iota-based definition, riotacl2 in
     set.mm may be useful.

     (Contributed by Andrew Salmon, 1-Aug-2011.) $)
  iotacl $p |- ( E! x ph -> ( iota x ph ) e. { x | ph } ) $=
    ( weu cio wsbc cab wcel iota4 df-sbc sylib ) ABCABABDZEKABFGABHABKIJ $.

  $( Membership law for descriptions.  (Contributed by SF, 21-Aug-2011.) $)
  reiotacl2 $p |- ( E! x e. A ph
                  -> ( iota x ( x e. A /\ ph ) ) e. { x e. A | ph } ) $=
    ( wreu cv wcel wa cio cab crab weu df-reu iotacl sylbi df-rab syl6eleqr ) A
    BCDZBECFAGZBHZRBIZABCJQRBKSTFABCLRBMNABCOP $.

  ${
    $d x A $.
    $( Membership law for descriptions.  (Contributed by SF, 21-Aug-2011.) $)
    reiotacl $p |- ( E! x e. A ph
                    -> ( iota x ( x e. A /\ ph ) ) e. A ) $=
      ( wreu crab cv wcel wa cio wss ssrab2 a1i reiotacl2 sseldd ) ABCDZABCEZCB
      FCGAHBIPCJOABCKLABCMN $.
  $}

  ${
    iota2df.1 $e |- ( ph -> B e. V ) $.
    iota2df.2 $e |- ( ph -> E! x ps ) $.
    iota2df.3 $e |- ( ( ph /\ x = B ) -> ( ps <-> ch ) ) $.
    ${
      iota2df.4 $e |- F/ x ph $.
      iota2df.5 $e |- ( ph -> F/ x ch ) $.
      iota2df.6 $e |- ( ph -> F/_ x B ) $.
      $( A condition that allows us to represent "the unique element such that
         ` ph ` " with a class expression ` A ` .  (Contributed by NM,
         30-Dec-2014.) $)
      iota2df $p |- ( ph -> ( ch <-> ( iota x ps ) = B ) ) $=
        ( wnfc cio wceq wb wnf cv wal alrimi wi wcel nfiota1 a1i nfeqd nfbid wa
        simpr eqeq2d bibi12d ex weu iota1 syl vtoclgft syl221anc ) ADEMCBDNZEOZ
        PZDQDRZEOZBUQUTOZPZUSPZUAZDSVCDSEFUBUSLACURDKADUQEDUQMABDUCUDLUEUFAVEDJ
        AVAVDAVAUGZBCVBURIVFUTEUQAVAUHUIUJUKTAVCDJABDULVCHBDUMUNTGVCUSDEFUOUP
        $.
    $}

    $d x B $.  $d x ph $.  $d x ch $.
    $( A condition that allows us to represent "the unique element such that
       ` ph ` " with a class expression ` A ` .  (Contributed by NM,
       30-Dec-2014.) $)
    iota2d $p |- ( ph -> ( ch <-> ( iota x ps ) = B ) ) $=
      ( nfv nfvd nfcvd iota2df ) ABCDEFGHIADJACDKADELM $.
  $}

  ${
    $d A x $.  $d ps x $.
    iota2.1 $e |- ( x = A -> ( ph <-> ps ) ) $.
    $( The unique element such that ` ph ` .  (Contributed by Jeff Madsen,
       1-Jun-2011.)  (Revised by Mario Carneiro, 23-Dec-2016.) $)
    iota2 $p |- ( ( A e. B /\ E! x ph ) -> ( ps <-> ( iota x ph ) = A ) ) $=
      ( wcel cvv weu cio wceq wb elex wa simpl simpr cv adantl nfv nfeu1 nfcvd
      nfan nfvd iota2df sylan ) DEGDHGZACIZBACJDKLDEMUFUGNZABCDHUFUGOUFUGPCQDKA
      BLUHFRUFUGCUFCSACTUBUHBCUCUHCDUAUDUE $.
  $}

  ${
    $d x A $.  $d x B $.  $d x ps $.
    reiota2.1 $e |- ( x = B -> ( ph <-> ps ) ) $.
    $( A condition allowing us to represent "the unique element in ` A ` such
       that ` ph ` " with a class expression ` B ` .  (Contributed by Scott
       Fenton, 7-Jan-2018.) $)
    reiota2 $p |- ( ( B e. A /\ E! x e. A ph ) ->
      ( ps <-> ( iota x ( x e. A /\ ph ) ) = B ) ) $=
      ( wcel wreu wa cv cio wceq simpl biantrurd weu df-reu eleq1 anbi12d iota2
      wb sylan2b bitrd ) EDGZACDHZIZBUCBIZCJZDGZAIZCKELZUEUCBUCUDMNUDUCUICOUFUJ
      TACDPUIUFCEDUGELUHUCABUGEDQFRSUAUB $.
  $}

  $( A class abstraction with a unique member can be expressed as a singleton.
     (Contributed by Mario Carneiro, 23-Dec-2016.) $)
  sniota $p |- ( E! x ph -> { x | ph } = { ( iota x ph ) } ) $=
    ( weu cv cab wcel cio csn wb wal wceq nfeu1 iota1 eqcom syl6bb abid 3bitr4g
    vex elsnc alrimi nfab1 nfiota1 nfsn cleqf sylibr ) ABCZBDZABEZFZUGABGZHZFZI
    ZBJUHUKKUFUMBABLUFAUGUJKZUIULUFAUJUGKUNABMUJUGNOABPUGUJBRSQTBUHUKABUABUJABU
    BUCUDUE $.

  $( The ` iota ` operation using the ` if ` operator.  (Contributed by Scott
     Fenton, 6-Oct-2017.) $)
  dfiota3 $p |- ( iota x ph ) = if ( E! x ph , U. { x | ph } , (/) ) $=
    ( weu cio cab cuni c0 wceq iotauni iftrue eqtr4d wn iotanul iffalse pm2.61i
    cif ) ABCZABDZQABEFZGPZHQRSTABIQSGJKQLRGTABMQSGNKO $.

  ${
    $d A y z $.  $d x y z $.  $d ph z $.
    $( Class substitution within a description binder.  (Contributed by Scott
       Fenton, 6-Oct-2017.) $)
    csbiotag $p |- ( A e. V ->
        [_ A / x ]_ ( iota y ph ) = ( iota y [. A / x ]. ph ) ) $=
      ( vz cv cio csb wsb wceq csbeq1 dfsbcq2 iotabidv eqeq12d vex nfs1v nfiota
      wsbc weq sbequ12 csbief vtoclg ) BFGZACHZIZABFJZCHZKBDUEIZABDSZCHZKFDEUDD
      KZUFUIUHUKBUDDUELULUGUJCABFDMNOBUDUEUHFPUGBCABFQRBFTAUGCABFUANUBUC $.
  $}

  $( Alternate definition of iota in terms of ` 1c ` .  (Contributed by SF,
     29-Jan-2015.) $)
  dfiota4 $p |- ( iota x ph ) = U. U. ( 1c i^i { { x | ph } } ) $=
    ( weu cio c1c cab csn cin cuni wceq iotauni wss wcel dfeu2 unieqd eqtr4d wn
    cvv c0 uni0 snssi sylbi df-ss incom eqeq1i bitri sylib euabex eqtrd iotanul
    unisng syl notbii disjsn bitr4i biimpi unieqi eqtri syl6eq pm2.61i ) ABCZAB
    DZEABFZGZHZIZIZJVAVBVCIVGABKVAVFVCVAVFVDIZVCVAVEVDVAVDELZVEVDJZVAVCEMZVIABN
    ZVCEUAUBVIVDEHZVDJVJVDEUCVMVEVDVDEUDUEUFUGOVAVCRMVHVCJABUHVCRUKULUIOPVAQZVB
    SVGABUJVNVGSIZIZSVNVFVOVNVESVNVESJZVNVKQVQVAVKVLUMEVCUNUOUPOOVPVOSVOSTUQTUR
    USPUT $.


$(
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
                 Finite cardinals
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
$)

  $c Nn $. $( Natural cardinals $)
  $c 0c $. $( Cardinal zero $)
  $c +c $. $( Cardinal addition. $)
  $c Fin $. $( Finite sets. $)

  $( Extend the definition of a class to include the set of finite
     cardinals. $)
  cnnc $a class Nn $.

  $( Extend the definition of a class to include cardinal zero. $)
  c0c $a class 0c $.

  $( Extend the definition of a class to include cardinal addition. $)
  cplc $a class ( A +c B ) $.

  $( Extend the definition of a class to include the set of all finite sets. $)
  cfin $a class Fin $.

  $( Define cardinal zero.  (Contributed by SF, 12-Jan-2015.) $)
  df-0c $a |- 0c = { (/) } $.

  ${
    $d A x y z $.  $d B x y z $.
    $( Define cardinal addition.  Definition from [Rosser] p. 275.
       (Contributed by SF, 12-Jan-2015.) $)
    df-addc $a |- ( A +c B ) =
      { x | E. y e. A E. z e. B ( ( y i^i z ) = (/) /\ x = ( y u. z ) ) } $.
  $}

  ${
    $d b y $.
    $( Define the finite cardinals.  Definition from [Rosser] p. 275.
       (Contributed by SF, 12-Jan-2015.) $)
    df-nnc $a |- Nn = |^| { b | ( 0c e. b /\ A. y e. b ( y +c 1c ) e. b ) } $.
  $}

  $( Define the set of all finite sets.  Definition from [Rosser], p. 417.
     (Contributed by SF, 12-Jan-2015.) $)
  df-fin $a |- Fin = U. Nn $.

  ${
    $d A x y z t w $.  $d B x y z t w $.
    $( Alternate definition of cardinal addition to establish stratification.
       (Contributed by SF, 15-Jan-2015.) $)
    dfaddc2 $p |- ( A +c B ) =
( ( ( Ins3_k ~ ( ( Ins3_k _S_k i^i Ins2_k _S_k ) "_k ~P1 ~P1 1c ) \
      ( ( Ins2_k Ins2_k _S_k
          (+)
          ( Ins2_k Ins3_k _S_k u.
            Ins3_k SI_k SI_k _S_k ) )
            "_k ~P1 ~P1 ~P1 ~P1 1c ) )
  "_k ~P1 ~P1 B ) "_k A ) $=
      ( vy vz vx vt vw cv wceq wa wrex cssetk cpw1 wcel copk csn wn snex 3bitri
      wex cplc cin c0 cun cab cins3k cins2k c1c cimak csik csymdif cdif df-addc
      ccompl vex elimak opkex elpw12 anbi1i r19.41v bitr4i exbii df-rex rexcom4
      3bitr4i opkeq1 eleq1d ceqsexv eldif ndisjrelk necon2bbii otkelins3k incom
      elcompl eqeq1i wel wb wal dfcleq elpw141c 19.41v excom otkelins2k elssetk
      elsymdif wo opksnelsik bitri orbi12i bibi12i notbii exnal con2bii anbi12i
      elun bitr2i rexbii abbi2i eqtr4i ) ABUACHZDHZUBZUCIZEHZWTXAUDZIZJZDBKZCAK
      ZEUELUFZLUGZUBUHMMZUIZUNZUFZXKUGZXJUGZLUJZUJZUFZUDZUKZXLMMZUIZULZBMMZUIZA
      UIZECDABUMXIEYHXDYHNWTXDOZYGNZCAKXICYGAXDEUOZUPYJXHCAYJFHZYIOZYENZFYFKZYL
      XAPZPZIZYNJZFTZDBKZXHFYEYFYIWTXDUQZUPYLYFNZYNJZFTYSDBKZFTYOUUAUUDUUEFUUDY
      RDBKZYNJUUEUUCUUFYNDYLBURUSYRYNDBUTVAVBYNFYFVCYSDFBVDVEYTXGDBYTYQYIOZYENZ
      UUGXONZUUGYDNZQZJXGYNUUHFYQYPRZYRYMUUGYEYLYQYIVFVGVHUUGXOYDVIUUIXCUUKXFXA
      WTOZXNNZXAWTUBZUCIZUUIXCUUNUUMXMNZQUUPUUMXMXAWTUQVNUUQUUOUCXAWTDUOZCUOZVJ
      VKVAXAWTXDXNUURUUSYKVLXBUUOUCWTXAVMVOVEXFGEVPZGHZXENZVQZGVRZUUKGXDXEVSUUJ
      UVDUUJYLUVAPZPZPZPZPZIZYLUUGOZYBNZJZFTZGTZUVCQZGTUVDQUUJUVLFYCKYLYCNZUVLJ
      ZFTZUVOFYBYCUUGYQYIUQUPUVLFYCVCUVSUVMGTZFTUVOUVRUVTFUVRUVJGTZUVLJUVTUVQUW
      AUVLGYLVTUSUVJUVLGWAVAVBUVMGFWBVASUVNUVPGUVNUVIUUGOZYBNZUWBXPNZUWBYANZVQZ
      QUVPUVLUWCFUVIUVHRUVJUVKUWBYBYLUVIUUGVFVGVHUWBXPYAWEUWFUVCUWDUUTUWEUVBUWD
      UVGYIOZXKNUVEXDOLNUUTUVGYQYIXKUVFRZUULUUBWCUVEWTXDLUVARZUUSYKWCUVAXDGUOZY
      KWDSUWBXQNZUWBXTNZWFGCVPZGDVPZWFUWEUVBUWKUWMUWLUWNUWKUWGXJNUVEWTOLNUWMUVG
      YQYIXJUWHUULUUBWCUVEWTXDLUWIUUSYKVLUVAWTUWJUUSWDSUWLUVGYQOXSNUVFYPOXRNZUW
      NUVGYQYIXSUWHUULUUBVLUVFYPXRUVERXARWGUWOUVEXAOLNUWNUVEXALUWIUURWGUVAXAUWJ
      UURWDWHSWIUWBXQXTWOUVAWTXAWOVEWJWKSVBUVCGWLSWMWPWNSWQSWQWHWRWS $.
  $}

  $( The expression at the heart of ~ dfaddc2 is a set.  (Contributed by SF,
     17-Jan-2015.) $)
  addcexlem $p |- ( Ins3_k
            ~ ( ( Ins3_k _S_k i^i Ins2_k _S_k ) "_k ~P1 ~P1 1c ) \
      ( ( Ins2_k Ins2_k _S_k
          (+)
          ( Ins2_k Ins3_k _S_k u.
            Ins3_k SI_k SI_k _S_k ) )
            "_k ~P1 ~P1 ~P1 ~P1 1c ) ) e. _V $=
    ( cssetk cins3k cins2k cin c1c cpw1 ccompl csik cun csymdif ssetkex ins3kex
    cimak ins2kex inex 1cex pw1ex imakex complex sikex unex symdifex difex ) AB
    ZACZDZEFZFZMZGZBUECZUDCZAHZHZBZIZJZUHFZFZMUJUIUFUHUDUEAKLZAKNZOUGEPQQZRSLUQ
    USUKUPUEVANULUOUDUTNUNUMAKTTLUAUBURUHVBQQRUC $.

  $( Equality law for cardinal addition.  (Contributed by SF, 15-Jan-2015.) $)
  addceq1 $p |- ( A = B -> ( A +c C ) = ( B +c C ) ) $=
    ( wceq cssetk cins3k cins2k cin c1c cpw1 cimak ccompl csik cun csymdif cdif
    cplc imakeq2 dfaddc2 3eqtr4g ) ABDEFZEGZHIJJZKLFUBGUAGEMMFNOUCJJKPCJJKZAKUD
    BKACQBCQABUDRACSBCST $.

  $( Equality law for cardinal addition.  (Contributed by SF, 15-Jan-2015.) $)
  addceq2 $p |- ( A = B -> ( C +c A ) = ( C +c B ) ) $=
    ( wceq cssetk cins3k cins2k cin c1c cpw1 cimak ccompl csik cun csymdif cdif
    cplc pw1eq syl dfaddc2 imakeq2d imakeq1d 3eqtr4g ) ABDZEFZEGZHIJJZKLFUFGUEG
    EMMFNOUGJJKPZAJZJZKZCKUHBJZJZKZCKCAQCBQUDUKUNCUDUJUMUHUDUIULDUJUMDABRUIULRS
    UAUBCATCBTUC $.

  $( Equality law for cardinal addition.  (Contributed by SF, 15-Jan-2015.) $)
  addceq12 $p |- ( ( A = C /\ B = D ) -> ( A +c B ) = ( C +c D ) ) $=
    ( wceq cplc addceq1 addceq2 sylan9eq ) ACEBDEABFCBFCDFACBGBDCHI $.

  ${
    addceqi.1 $e |- A = B $.
    $( Equality inference for cardinal addition.  (Contributed by SF,
       3-Feb-2015.) $)
    addceq1i $p |- ( A +c C ) = ( B +c C ) $=
      ( wceq cplc addceq1 ax-mp ) ABEACFBCFEDABCGH $.

    $( Equality inference for cardinal addition.  (Contributed by SF,
       3-Feb-2015.) $)
    addceq2i $p |- ( C +c A ) = ( C +c B ) $=
      ( wceq cplc addceq2 ax-mp ) ABECAFCBFEDABCGH $.

    addceqi.2 $e |- C = D $.
    $( Equality inference for cardinal addition.  (Contributed by SF,
       3-Feb-2015.) $)
    addceq12i $p |- ( A +c C ) = ( B +c D ) $=
      ( wceq cplc addceq12 mp2an ) ABGCDGACHBDHGEFACBDIJ $.
  $}

  ${
    addceqd.1 $e |- ( ph -> A = B ) $.
    $( Equality deduction for cardinal addition.  (Contributed by SF,
       3-Feb-2015.) $)
    addceq1d $p |- ( ph -> ( A +c C ) = ( B +c C ) ) $=
      ( wceq cplc addceq1 syl ) ABCFBDGCDGFEBCDHI $.

    $( Equality deduction for cardinal addition.  (Contributed by SF,
       3-Feb-2015.) $)
    addceq2d $p |- ( ph -> ( C +c A ) = ( C +c B ) ) $=
      ( wceq cplc addceq2 syl ) ABCFDBGDCGFEBCDHI $.

    addceqd.2 $e |- ( ph -> C = D ) $.
    $( Equality deduction for cardinal addition.  (Contributed by SF,
       3-Feb-2015.) $)
    addceq12d $p |- ( ph -> ( A +c C ) = ( B +c D ) ) $=
      ( wceq cplc addceq12 syl2anc ) ABCHDEHBDICEIHFGBDCEJK $.
  $}

  $( Cardinal zero is a set.  (Contributed by SF, 14-Jan-2015.) $)
  0cex $p |- 0c e. _V $=
    ( c0c c0 csn cvv df-0c snex eqeltri ) ABCDEBFG $.

  $( The cardinal sum of two sets is a set.  (Contributed by SF,
     15-Jan-2015.) $)
  addcexg $p |- ( ( A e. V /\ B e. W ) -> ( A +c B ) e. _V ) $=
    ( wcel wa cplc cssetk cins3k cins2k cin c1c cpw1 ccompl csik cun cvv pw1exg
    cimak imakexg csymdif cdif dfaddc2 addcexlem mpan sylan ancoms syl5eqel
    3syl ) ACEZBDEZFABGHIZHJZKLMMZSNIUMJULJHOOIPUAUNMMSUBZBMZMZSZASZQABUCUKUJUS
    QEZUKURQEZUJUTUKUPQEUQQEZVABDRUPQRUOQEVBVAUDUOUQQQTUEUIURAQCTUFUGUH $.

  ${
    addcex.1 $e |- A e. _V $.
    addcex.2 $e |- B e. _V $.
    $( The cardinal sum of two sets is a set.  (Contributed by SF,
       25-Jan-2015.) $)
    addcex $p |- ( A +c B ) e. _V $=
      ( cvv wcel cplc addcexg mp2an ) AEFBEFABGEFCDABEEHI $.
  $}

  ${
    $d x y z w t $.
    $( Definition of the finite cardinals for existence theorem.  (Contributed
       by SF, 14-Jan-2015.) $)
    dfnnc2 $p |- Nn =
     |^| ( { x | 0c e. x } \
           ( ( _S_k \ ( _S_k o._k SI_k
Image_k ( ( Ins3_k ~ ( ( Ins3_k _S_k i^i Ins2_k _S_k ) "_k
            ~P1 ~P1 1c ) \
      ( ( Ins2_k Ins2_k _S_k
          (+)
          ( Ins2_k Ins3_k _S_k u.
            Ins3_k SI_k SI_k _S_k ) )
            "_k ~P1 ~P1 ~P1 ~P1 1c ) )
  "_k ~P1 ~P1 1c ) ) ) "_k 1c ) ) $=
      ( vy vz vt vw cv wcel c1c wa cssetk cpw1 cimak wn vex wceq copk wex bitri
      cvv exbii cnnc c0c cplc wral cab cint cins3k cins2k cin csik csymdif cdif
      ccompl cun cimagek ccomk df-nnc eldif eleq2 elab wrex csn wel snex opkeq1
      eleq1d ceqsexv elssetk opkeq2 opksnelsik syl6bb opkelimagekg mp2an eqeq2i
      anbi12d dfaddc2 bitr4i anbi12i opkelcok el1c anbi1i 19.41v cxpk sikss1c1c
      wb sseli opkelxpk simprbi syl pm4.71ri anass excom 3bitr4i df-clel notbii
      elimak df-rex rexnal bitr2i con1bii abbi2i inteqi eqtr4i ) UAUBBFZGZCFZHU
      CZXDGZCXDUDZIZBUEZUFUBAFZGZAUEZJJJUGZJUHZUIHKKZLUMUGXPUHXOUHJUJUJUGUNUKXQ
      KKLULXQLZUOZUJZUPZULZHLZULZUFCBUQYDXKXJBYDXDYDGXDXNGZXDYCGZMZIXJXDXNYCURY
      EXEYGXIXMXEAXDBNZXLXDUBUSUTXIYFYFXHMZCXDVAZXIMDFZXFVBZOZYKXDPZYBGZIZDQZCQ
      ZCBVCZYIIZCQYFYJYQYTCYQYLXDPZYBGZYTYOUUBDYLXFVDZYMYNUUAYBYKYLXDVEVFVGUUBU
      UAJGZUUAYAGZMZIYTUUAJYAURUUDYSUUFYIXFXDCNZYHVHUUEXHYKEFZVBZOZYLYKPZXTGZYN
      JGZIZIZDQZEQZUUHXGOZEBVCZIZEQUUEXHUUPUUTEUUPXFUUHPXSGZUUIXDPZJGZIZUUTUUNU
      VDDUUIUUHVDUUJUULUVAUUMUVCUUJUULYLUUIPZXTGUVAUUJUUKUVEXTYKUUIYLVIVFXFUUHX
      SUUGENZVJVKUUJYNUVBJYKUUIXDVEVFVOVGUVAUURUVCUUSUVAUUHXRXFLZOZUURXFSGUUHSG
      UVAUVHWEUUGUVFXFUUHXRSSVLVMXGUVGUUHXFHVPVNVQUUHXDUVFYHVHVRRTUUEUUNDQZUUQD
      YLXDJXTUUCYHVSYKHGZUUNIZDQUUOEQZDQUVIUUQUVKUVLDUVKUUJEQZUUNIUVLUVJUVMUUNE
      YKVTWAUUJUUNEWBVQTUUNUVKDUUNUVJUULIZUUMIUVKUULUVNUUMUULUVJUULUUKHHWCZGZUV
      JXTUVOUUKXSWDWFUVPYLHGUVJYLYKHHUUCDNWGWHWIWJWAUVJUULUUMWKRTUUOEDWLWMREXGX
      DWNWMWOVRRRTYFYODHVAZYRDYBHXDYHWPUVJYOIZDQYPCQZDQUVQYRUVRUVSDUVRYMCQZYOIU
      VSUVJUVTYOCYKVTWAYMYOCWBVQTYODHWQYPCDWLWMRYICXDWQWMXHCXDWRWSWTVRRXAXBXC
      $.
  $}

  $( The class of all finite cardinals is a set.  (Contributed by SF,
     14-Jan-2015.) $)
  nncex $p |- Nn e. _V $=
    ( vx cnnc c0c cv wcel cab cssetk cins3k cins2k cin c1c cpw1 cimak csik cdif
    ssetkex 1cex pw1ex imakex difex ccompl cun csymdif cimagek ccomk cvv dfnnc2
    cint setswithex addcexlem imagekex sikex cokex intex eqeltri ) BCADEAFZGGGH
    ZGIZJKLZLZMUAHURIUQIGNNHUBUCUTLLMOZUTMZUDZNZUEZOZKMZOZUHUFAUGVHUPVGACUIVFKG
    VEPGVDPVCVBVAUTUJUSKQRRSUKULUMTQSTUNUO $.

  $( The class of all finite sets is a set.  (Contributed by SF,
     19-Jan-2015.) $)
  finex $p |- Fin e. _V $=
    ( cfin cnnc cuni cvv df-fin nncex uniex eqeltri ) ABCDEBFGH $.

  ${
    $d A a $.  $d a b $.  $d A b $.  $d a c $.  $d A c $.  $d b c $.  $d M a $.
    $d M b $.  $d M c $.  $d N a $.  $d N b $.  $d N c $.

    $( Membership in cardinal addition.  Theorem X.1.1 of [Rosser] p. 275.
       (Contributed by SF, 16-Jan-2015.) $)
    eladdc $p |- ( A e. ( M +c N ) <->
        E. b e. M E. c e. N ( ( b i^i c ) = (/) /\ A = ( b u. c ) ) ) $=
      ( va cplc wcel cvv cv cin c0 wceq cun wa wrex elex id vex rexlimivw eqeq1
      unex syl6eqel adantl anbi2d 2rexbidv df-addc elab2g pm5.21nii ) ABCGZHAIH
      ZDJZEJZKLMZAULUMNZMZOZECPZDBPZAUJQURUKDBUQUKECUPUKUNUPAUOIUPRULUMDSESUBUC
      UDTTUNFJZUOMZOZECPDBPUSFAUJIUTAMZVBUQDEBCVCVAUPUNUTAUOUAUEUFFDEBCUGUHUI
      $.
  $}

  ${
    $d A a b $.  $d B a b $.  $d M a b $.  $d N a b $.
    $( Inference form of membership in cardinal addition.  (Contributed by SF,
       26-Jan-2015.) $)
    eladdci $p |- ( ( A e. M /\ B e. N /\ ( A i^i B ) = (/) ) ->
       ( A u. B ) e. ( M +c N ) ) $=
      ( va vb wcel cin c0 wceq w3a cv cun wrex cplc eqid eqeq1d eqeq2d anbi12d
      wa ineq1 uneq1 ineq2 uneq2 rspc2ev 3expa mpanr2 3impa eladdc sylibr ) ACG
      ZBDGZABHZIJZKELZFLZHZIJZABMZUOUPMZJZTZFDNECNZUSCDOGUKULUNVCUKULTUNUSUSJZV
      CUSPUKULUNVDTZVCVBVEAUPHZIJZUSAUPMZJZTEFABCDUOAJZURVGVAVIVJUQVFIUOAUPUAQV
      JUTVHUSUOAUPUBRSUPBJZVGUNVIVDVKVFUMIUPBAUCQVKVHUSUSUPBAUDRSUEUFUGUHUSCDEF
      UIUJ $.
  $}

  ${
    $d A n m $.
    $( The empty class is not a member of a successor.  (Contributed by SF,
       14-Jan-2015.) $)
    0nelsuc $p |- -. (/) e. ( A +c 1c ) $=
      ( vn vm c0 c1c cplc wcel cv cin wceq cun wa wrex csn el1c simpr nsyl nrex
      wn wex vex snid ax-mp eqeq1 mtbiri exlimiv sylbi eqcom bitri notbii sylib
      n0i un00 a1i eladdc mtbir ) DAEFGBHZCHZIDJZDUQURKZJZLZCEMZBAMVCBAVCSUQAGV
      BCEUREGZVAVBVDUQDJZURDJZLZSVASVDVFVGVDURUQNZJZBTVFSZBUROVIVJBVIVFVHDJZUQV
      HGVKSUQBUAUBVHUQULUCURVHDUDUEUFUGVEVFPQVGVAVGUTDJVAUQURUMUTDUHUIUJUKUSVAP
      QRUNRDAEBCUOUP $.
  $}

  $( Cardinal zero is not a successor.  Compare Theorem X.1.2 of [Rosser]
     p. 275.  (Contributed by SF, 14-Jan-2015.) $)
  0cnsuc $p |- ( A +c 1c ) =/= 0c $=
    ( c1c cplc c0c wne wceq wn wcel 0nelsuc csn 0ex df-0c eleqtrri eleq2 mpbiri
    c0 snid mto df-ne mpbir ) ABCZDEUADFZGUBPUAHZAIUBUCPDHPPJDPKQLMUADPNORUADST
    $.

  ${
    $d x y $.
    $( Cardinal zero is a finite cardinal.  Theorem X.1.4 of [Rosser] p. 276.
       (Contributed by SF, 14-Jan-2015.) $)
    peano1 $p |- 0c e. Nn $=
      ( vx vy c0c cnnc wcel cv c1c cplc wral wa cab cint wal df-nnc eleq2i 0cex
      wi elintab bitri simpl mpgbir ) CDEZCAFZEZBFGHUCEBUCIZJZUDQZAUBCUFAKLZEUG
      AMDUHCBANOUFACPRSUDUETUA $.
  $}

  ${
    $d A a x y $.
    $( The finite cardinals are closed under addition of one.  Theorem X.1.5 of
       [Rosser] p. 276.  (Contributed by SF, 14-Jan-2015.) $)
    peano2 $p |- ( A e. Nn -> ( A +c 1c ) e. Nn ) $=
      ( va vx vy cv c1c cplc cnnc wcel wceq addceq1 eleq1d c0c wa wi wal eleq2i
      wral elintab bitri wel weq rspccv adantl a2i alimi cab cint df-nnc addcex
      vex 1cex 3imtr4i vtoclga ) BEZFGZHIZAFGZHIBAHUOAJUPURHUOAFKLMCEZIZDEZFGZU
      SIZDUSRZNZBCUAZOZCPZVEUPUSIZOZCPZUOHIZUQVGVJCVEVFVIVDVFVIOUTVCVIDUOUSDBUB
      VBUPUSVAUOFKLUCUDUEUFVLUOVECUGUHZIVHHVMUODCUIZQVECUOBUKZSTUQUPVMIVKHVMUPV
      NQVECUPUOFVOULUJSTUMUN $.
  $}

  $( The successor of a finite cardinal is not zero.  (Contributed by SF,
     14-Jan-2015.) $)
  peano3 $p |- ( A e. Nn -> ( A +c 1c ) =/= 0c ) $=
    ( c1c cplc c0c wne cnnc wcel 0cnsuc a1i ) ABCDEAFGAHI $.

  ${
    $d A x y z $.
    $( Cardinal zero is a fixed point for cardinal addition.  Theorem X.1.8 of
       [Rosser] p. 276.  (Contributed by SF, 16-Jan-2015.) $)
    addcid1 $p |- ( A +c 0c ) = A $=
      ( vx vy vz c0c cplc c0 csn df-0c addceq2i cv cin wceq cun wa wrex weq 0ex
      wcel ineq2 eqeq1d uneq2 eqeq2d anbi12d in0 biantrur syl6bbr eqeq2i equcom
      rexsn un0 3bitri rexbii eladdc risset 3bitr4i eqriv eqtri ) AEFAGHZFZAEUS
      AIJBUTACKZDKZLZGMZBKZVAVBNZMZOZDUSPZCAPCBQZCAPVEUTSVEASVIVJCAVIVEVAGNZMZB
      CQVJVHVLDGRVBGMZVHVAGLZGMZVLOVLVMVDVOVGVLVMVCVNGVBGVATUAVMVFVKVEVBGVAUBUC
      UDVOVLVAUEUFUGUJVKVAVEVAUKUHBCUIULUMVEAUSCDUNCVEAUOUPUQUR $.
  $}

  ${
    $d A x y z $.  $d B x y z $.
    $( Cardinal sum commutes.  Theorem X.1.9 of [Rosser] p. 276.  (Contributed
       by SF, 15-Jan-2015.) $)
    addccom $p |- ( A +c B ) = ( B +c A ) $=
      ( vy vz vx cv cin c0 wceq cun wa wrex cab cplc incom eqeq1i uncom anbi12i
      eqeq2i df-addc 2rexbii rexcom bitri abbii 3eqtr4i ) CFZDFZGZHIZEFZUFUGJZI
      ZKZDBLCALZEMUGUFGZHIZUJUGUFJZIZKZCALDBLZEMABNBANUNUTEUNUSDBLCALUTUMUSCDAB
      UIUPULURUHUOHUFUGOPUKUQUJUFUGQSRUAUSCDABUBUCUDECDABTEDCBATUE $.
  $}

  $( Cardinal zero is a fixed point for cardinal addition.  Theorem X.1.8 of
     [Rosser] p. 276.  (Contributed by SF, 16-Jan-2015.) $)
  addcid2 $p |- ( 0c +c A ) = A $=
    ( c0c cplc addccom addcid1 eqtri ) BACABCABADAEF $.

  $( Cardinal one is a finite cardinal.  Theorem X.1.12 of [Rosser] p. 277.
     (Contributed by SF, 16-Jan-2015.) $)
  1cnnc $p |- 1c e. Nn $=
    ( c1c c0c cplc cnnc addcid1 addccom eqtr3i wcel peano1 peano2 ax-mp eqeltri
    ) ABACZDABCAMAEABFGBDHMDHIBJKL $.

  ${
    $d A x y $.
    $( The principle of mathematical induction: a set containing cardinal zero
       and closed under the successor operator is a superset of the finite
       cardinals.  Theorem X.1.6 of [Rosser] p. 276.  (Contributed by SF,
       14-Jan-2015.) $)
    peano5 $p |- ( ( A e. V /\ 0c e. A /\
                      A. x e. Nn ( x e. A -> ( x +c 1c ) e. A ) ) ->
            Nn C_ A ) $=
      ( vy wcel cnnc cin cvv c0c cv c1c wi wral wss mpan elin biimpri syl eleq2
      wa cplc nncex inexg peano1 imbi1i impexp bitri inss1 sseli peano2 a1i a2i
      mpand sylbir ralimi2 w3a cab cint df-nnc raleqbi1dv anbi12d elabg biimprd
      wceq 3impib intss1 syl5eqss inss2 syl6ss syl3an ) BCEZFBGZHEZIBEZIVLEZAJZ
      BEZVPKUAZBEZLZAFMVRVLEZAVLMZFBNFHEVKVMUBFBHCUCOIFEZVNVOUDVOWCVNTIFBPQOVTW
      AAFVLVPFEZVTLZVPVLEZVSLZWFWALWGWDVQTZVSLWEWFWHVSVPFBPUEWDVQVSUFUGWFVSWAWF
      VRFEZVSWAWFWDWIVLFVPFBUHUIVPUJRWIVSTZWALWFWAWJVRFBPQUKUMULUNUOVMVOWBUPZFV
      LBWKFIDJZEZVRWLEZAWLMZTZDUQZURZVLADUSWKVLWQEZWRVLNVMVOWBWSVMWSVOWBTZWPWTD
      VLHWLVLVDWMVOWOWBWLVLISWNWAAWLVLWLVLVRSUTVAVBVCVEVLWQVFRVGFBVHVIVJ $.
  $}

  ${
    $d A x $.  $d ch x $.  $d ph y $.  $d ps x $.  $d ta x $.  $d th x $.
    $d x y $.  $d et y $.
    findsd.1 $e |- ( et -> { x | ph } e. V ) $.
    findsd.2 $e |- ( x = 0c -> ( ph <-> ps ) ) $.
    findsd.3 $e |- ( x = y -> ( ph <-> ch ) ) $.
    findsd.4 $e |- ( x = ( y +c 1c ) -> ( ph <-> th ) ) $.
    findsd.5 $e |- ( x = A -> ( ph <-> ta ) ) $.
    findsd.6 $e |- ( et -> ps ) $.
    findsd.7 $e |- ( ( y e. Nn /\ et ) -> ( ch -> th ) ) $.
    $( Principle of finite induction over the finite cardinals, using implicit
       substitutions.  The first hypothesis ensures stratification of ` ph ` ,
       the next four set up the substitutions, and the last two set up the base
       case and induction hypothesis.  This version allows for an extra
       deduction clause that may make proving stratification simpler.  Compare
       Theorem X.1.13 of [Rosser] p. 277.  (Contributed by SF, 31-Jul-2019.) $)
    findsd $p |- ( ( A e. Nn /\ et ) -> ta ) $=
      ( cnnc wcel elab wa cab c0c c1c cplc wral wss 0cex sylibr vex 1cex addcex
      cv wi 3imtr4g ancoms ralrimiva peano5 syl3anc sseld impcom wb elabg mpbid
      adantr ) IRSZFUAIAGUBZSZEFVFVHFRVGIFVGJSUCVGSZHUMZVGSZVJUDUEZVGSZUNZHRUFR
      VGUGKFBVIPABGUCUHLTUIFVNHRVJRSZFVNVOFUACDVKVMQACGVJHUJZMTADGVLVJUDVPUKULN
      TUOUPUQHVGJURUSUTVAVFVHEVBFAEGIROVCVEVD $.
  $}

  ${
    $d A x $.  $d ch x $.  $d ph y $.  $d ps x $.  $d ta x $.  $d th x $.
    $d x y $.
    finds.1 $e |- { x | ph } e. _V $.
    finds.2 $e |- ( x = 0c -> ( ph <-> ps ) ) $.
    finds.3 $e |- ( x = y -> ( ph <-> ch ) ) $.
    finds.4 $e |- ( x = ( y +c 1c ) -> ( ph <-> th ) ) $.
    finds.5 $e |- ( x = A -> ( ph <-> ta ) ) $.
    finds.6 $e |- ps $.
    finds.7 $e |- ( y e. Nn -> ( ch -> th ) ) $.
    $( Principle of finite induction over the finite cardinals, using implicit
       substitutions.  The first hypothesis ensures stratification of ` ph ` ,
       the next four set up the substitutions, and the last two set up the base
       case and induction hypothesis.  Compare Theorem X.1.13 of [Rosser]
       p. 277.  (Contributed by SF, 14-Jan-2015.) $)
    finds $p |- ( A e. Nn -> ta ) $=
      ( cnnc wcel wtru cvv a1i tru cab cv wi adantr findsd mpan2 ) HPQREUAABCDE
      RFGHSAFUBSQRITJKLMBRNTGUCPQCDUDROUEUFUG $.
  $}

  ${
    $d A x n m $.
    $( All naturals are either zero or a successor.  Theorem X.1.7 of [Rosser]
       p. 276.  (Contributed by SF, 14-Jan-2015.) $)
    nnc0suc $p |- ( A e. Nn <->
             ( A = 0c \/ E. x e. Nn A = ( x +c 1c ) ) ) $=
      ( vn vm cnnc wcel c0c wceq cv c1c wrex cssetk cins3k cpw1 cimak cvv eqeq1
      wo rexbidv orbi12d cplc csn cins2k cin ccompl csik cun csymdif cdif df-sn
      cimagek cab vex elimak wb opkelimagekg mp2an dfaddc2 eqeq2i bitr4i rexbii
      copk bitri abbi2i uneq12i unab eqtri snex addcexlem pw1ex imakex imagekex
      1cex nncex unex eqeltrri eqid orci addceq1 eqeq2d rspcev mpan2 olcd finds
      weq a1d peano1 eleq1 mpbiri peano2 syl5ibrcom rexlimiv jaoi impbii ) BEFZ
      BGHZBAIZJUAZHZAEKZRZCIZGHZXBWRHZAEKZRZGGHZGWRHZAEKZRDIZGHZXJWRHZAEKZRZXJJ
      UAZGHZXOWRHZAEKZRZXACDBGUBZLMZLUCZUDJNZNZOUEMYBUCYAUCLUFUFMUGUHYDNNOUIZYD
      OZUKZEOZUGZXFCULZPYIXCCULZXECULZUGYJXTYKYHYLCGUJXECYHXBYHFWQXBVBYGFZAEKXE
      AYGEXBCUMZUNYMXDAEYMXBYFWQOZHZXDWQPFXBPFYMYPUOAUMYNWQXBYFPPUPUQWRYOXBWQJU
      RUSUTVAVCVDVEXCXECVFVGXTYHGVHYGEYFYEYDVIYCJVMVJVJVKVLVNVKVOVPXCXCXGXEXIXB
      GGQXCXDXHAEXBGWRQSTCDWEZXCXKXEXMXBXJGQYQXDXLAEXBXJWRQSTXBXOHZXCXPXEXRXBXO
      GQYRXDXQAEXBXOWRQSTXBBHZXCWPXEWTXBBGQYSXDWSAEXBBWRQSTXGXIGVQVRXJEFZXSXNYT
      XRXPYTXOXOHZXRXOVQXQUUAAXJEADWEWRXOXOWQXJJVSVTWAWBWCWFWDWPWOWTWPWOGEFWGBG
      EWHWIWSWOAEWQEFWOWSWREFWQWJBWREWHWKWLWMWN $.
  $}

  ${
    $d A b $.  $d A x $.  $d A y $.  $d b x $.  $d b y $.  $d M b $.  $d M y $.
    $d x y $.
    $( Membership in a successor.  Theorem X.1.16 of [Rosser] p. 279.
       (Contributed by SF, 16-Jan-2015.) $)
    elsuc $p |- ( A e. ( M +c 1c ) <->
       E. b e. M E. x e. ~ b A = ( b u. { x } ) ) $=
      ( vy c1c wcel cv cin c0 wceq cun wa wrex bitr4i anbi1i bitri exbii df-rex
      wex cplc csn ccompl eladdc snex ineq2 eqeq1d uneq2 eqeq2d anbi12d ceqsexv
      wel wn disjsn vex elcompl el1c 19.41v excom 3bitr4i rexbii ) BCFUAGDHZEHZ
      IZJKZBVBVCLZKZMZEFNZDCNBVBAHZUBZLZKZAVBUCZNZDCNBCFDEUDVIVODCVCVKKZVHMZETZ
      ATZVJVNGZVMMZATVIVOVRWAAVRVBVKIZJKZVMMZWAVHWDEVKVJUEVPVEWCVGVMVPVDWBJVCVK
      VBUFUGVPVFVLBVCVKVBUHUIUJUKWCVTVMWCADULUMVTVBVJUNVJVBAUOUPOPQRVIVCFGZVHMZ
      ETZVSVHEFSWGVQATZETVSWFWHEWFVPATZVHMWHWEWIVHAVCUQPVPVHAURORVQEAUSQQVMAVNS
      UTVAQ $.
  $}

  ${
    $d N a x $.  $d A a x $.  $d X a x $.
    elsuci.1 $e |- X e. _V $.
    $( Lemma for ~ ncfinraise .  Take a natural and a disjoint union and
       compute membership in the successor natural.  (Contributed by SF,
       22-Jan-2015.) $)
    elsuci $p |- ( ( A e. N /\ -. X e. A ) ->
       ( A u. { X } ) e. ( N +c 1c ) ) $=
      ( va vx wcel wn wa csn cun cv wceq ccompl wrex cplc elcompl eqeq2d rspcev
      c1c eqid uneq2d mpan2 sylbir compleq uneq1 rexeqbidv sylan2 elsuc sylibr
      sneq ) ABGZCAGHZIACJZKZELZFLZJZKZMZFUPNZOZEBOZUOBTPGUMULUOAURKZMZFANZOZVC
      UMCVFGZVGCADQVHUOUOMZVGUOUAVEVIFCVFUQCMZVDUOUOVJURUNAUQCUKUBRSUCUDVBVGEAB
      UPAMZUTVEFVAVFUPAUEVKUSVDUOUPAURUFRUGSUHFUOBEUIUJ $.
  $}

  ${
    $d A a $.  $d a b $.  $d A b $.  $d a c $.  $d A c $.  $d a d $.  $d A d $.
    $d a e $.  $d A e $.  $d a x $.  $d A x $.  $d B a $.  $d B b $.  $d b c $.
    $d B c $.  $d b d $.  $d B d $.  $d b e $.  $d B e $.  $d b x $.  $d B x $.
    $d C a $.  $d C b $.  $d C c $.  $d c d $.  $d C d $.  $d c e $.  $d C e $.
    $d c x $.  $d C x $.  $d d x $.  $d e x $.

    $( Cardinal addition is associative.  Theorem X.1.11, corollary 1 of
       [Rosser] p. 277.  (Contributed by SF, 17-Jan-2015.) $)
    addcass $p |- ( ( A +c B ) +c C ) = ( A +c ( B +c C ) ) $=
      ( va vb vd vc ve cv cin c0 wceq cun wex wrex bitri exbii rexbii rexcom4
      wa vx cplc wcel ancom anbi2i an12 indir eqeq1i un00 bitr4i 3bitr4i eqeq2i
      indi unass anbi12i anass 3bitr3i ineq1 eqeq1d uneq1 eqeq2d anbi12d anbi2d
      vex unex ceqsexv ineq2 uneq2 2rexbii eladdc df-rex r19.42v r19.41v anbi1i
      3bitr4ri eqriv ) UAABUBZCUBZABCUBZUBZDIZEIZJZKLZFIZWAWBMZLZTZWEGIZJZKLZUA
      IZWEWIMZLZTZTZFNZGCOZEBOZDAOZWBWIJZKLZHIZWBWIMZLZTZWAXCJZKLZWLWAXCMZLZTZT
      ZHNZGCOZEBOZDAOZWLVRUCZWLVTUCZWRXNDEABWQXMGCWDWFWIJZKLZWLWFWIMZLZTZTZXBWA
      XDJZKLZWLWAXDMZLZTZTZWQXMWDXTTZYBTXBYFTZYHTYDYJYKYLYBYHWDWAWIJZKLZXBTZTZX
      BWDYNTZTZYKYLYPWDXBYNTZTYRYOYSWDYNXBUDUEWDXBYNUFPXTYOWDXTYMXAMZKLYOXSYTKW
      AWBWIUGUHYMXAUIUJUEYFYQXBYFWCYMMZKLYQYEUUAKWAWBWIUMUHWCYMUIUJUEUKYAYGWLWA
      WBWIUNULUOWDXTYBUPXBYFYHUPUQWQWGWDWOTZTZFNYDWPUUCFWPWDWGWOTTUUCWDWGWOUPWD
      WGWOUFPQUUBYDFWFWAWBDVDEVDZVEWGWOYCWDWGWKXTWNYBWGWJXSKWEWFWIURUSWGWMYAWLW
      EWFWIUTVAVBVCVFPXMXEXBXKTZTZHNYJXLUUFHXLXBXEXKTTUUFXBXEXKUPXBXEXKUFPQUUEY
      JHXDWBWIUUDGVDVEXEXKYIXBXEXHYFXJYHXEXGYEKXCXDWAVGUSXEXIYGWLXCXDWAVHVAVBVC
      VFPUKRVIXQWOGCOZFVQOZWTWLVQCFGVJUUHWEVQUCZUUGTZFNZWTUUGFVQVKWHUUGTZEBOZFN
      ZDAOUUMDAOZFNWTUUKUUMDFASWSUUNDAWSUULFNZEBOUUNWRUUPEBWRWPGCOZFNUUPWPGFCSU
      UQUULFWHWOGCVLQPRUULEFBSPRUUJUUOFWHEBOZUUGTZDAOUURDAOZUUGTUUOUUJUURUUGDAV
      MUUMUUSDAWHUUGEBVMRUUIUUTUUGWEABDEVJVNVOQVOPPXRXKHVSOZDAOXPWLAVSDHVJUVAXO
      DAUVAXCVSUCZXKTZHNZXOXKHVSVKXLGCOZHNZEBOUVEEBOZHNXOUVDUVEEHBSXNUVFEBXLGHC
      SRUVCUVGHXFGCOZXKTZEBOUVHEBOZXKTUVGUVCUVHXKEBVMUVEUVIEBXFXKGCVMRUVBUVJXKX
      CBCEGVJVNVOQVOPRPUKVP $.
  $}

  $( Swap arguments two and three in cardinal addition.  (Contributed by SF,
     22-Jan-2015.) $)
  addc32 $p |- ( ( A +c B ) +c C ) = ( ( A +c C ) +c B ) $=
    ( cplc addccom addceq2i addcass 3eqtr4i ) ABCDZDACBDZDABDCDACDBDIJABCEFABCG
    ACBGH $.

  $( Swap arguments two and three in quadruple cardinal addition.  (Contributed
     by SF, 25-Jan-2015.) $)
  addc4 $p |- ( ( A +c B ) +c ( C +c D ) ) = ( ( A +c C ) +c ( B +c D ) ) $=
    ( cplc addc32 addceq1i addcass 3eqtr3i ) ABEZCEZDEACEZBEZDEJCDEELBDEEKMDABC
    FGJCDHLBDHI $.

  $( Rearrange cardinal summation of six arguments.  (Contributed by SF,
     13-Mar-2015.) $)
  addc6 $p |- ( ( ( A +c B ) +c ( C +c D ) ) +c ( E +c F ) ) =
     ( ( ( A +c C ) +c E ) +c ( ( B +c D ) +c F ) ) $=
    ( cplc addc4 addceq1i addc32 eqtri addcass 3eqtr3i ) ABGCDGGZEGZFGACGZEGZBD
    GZGZFGNEFGGQRFGGOSFOPRGZEGSNTEABCDHIPREJKINEFLQRFLM $.

  ${
    $d A a b c x $.  $d B a b c x $.
    $( The finite cardinals are closed under addition.  Theorem X.1.14 of
       [Rosser] p. 278.  (Contributed by SF, 17-Jan-2015.) $)
    nncaddccl $p |- ( ( A e. Nn /\ B e. Nn ) -> ( A +c B ) e. Nn ) $=
      ( va vb vc vx cnnc wcel cplc cv wceq eleq1d imbi2d c1c cab cpw1 cimak cvv
      wi addceq2 addceq1 c0c wn cssetk cins3k cins2k cin ccompl csymdif cimagek
      csik cun cdif ccnvk wo unab copk wrex wb vex opkelimagekg mp2an opkelcnvk
      addccom dfaddc2 eqeq2i 3bitr4i rexbii elimak risset abbi2i uneq2i 3eqtr4i
      eqtri imor abbii abexv addcexlem pw1ex imakex imagekex nncex eqeltrri weq
      cnvkex unex addcid1 id syl5eqel addcass peano2 syl5eqelr imim2i a1i finds
      com12 vtoclga imp ) AGHBGHZABIZGHZWSCJZBIZGHZSWSXASCAGXBAKZXDXAWSXEXCWTGX
      BABUALMWSXBGHZXDXFXBDJZIZGHZSZXFXBUBIZGHZSXFXBEJZIZGHZSZXFXBXMNIZIZGHZSZX
      FXDSDEBXFUCZDOZUDUEZUDUFZUGNPPZQUHUEYDUFYCUFUDUKUKUEULUIYEPPQUMZXBPZPZQZU
      JZUNZGQZULZXJDOZRYBXIDOZULYAXIUOZDOYMYNYAXIDUPYLYOYBXIDYLFJZXGUQYKHZFGURY
      QXHKZFGURXGYLHXIYRYSFGXGYQUQYJHZYQYIXGQZKZYRYSXGRHYQRHYTUUBUSDUTZFUTZXGYQ
      YIRRVAVBYQXGYJUUDUUCVCXHUUAYQXHXGXBIUUAXBXGVDXGXBVEVNVFVGVHFYKGXGUUCVIFXH
      GVJVGVKVLXJYPDXFXIVOVPVMYBYLYADVQYKGYJYIYFYHVRYGXBCUTVSVSVTWAWEWBVTWFWCXG
      UBKZXIXLXFUUEXHXKGXGUBXBTLMDEWDZXIXOXFUUFXHXNGXGXMXBTLMXGXQKZXIXSXFUUGXHX
      RGXGXQXBTLMXGBKZXIXDXFUUHXHXCGXGBXBTLMXFXKXBGXBWGXFWHWIXPXTSXMGHXOXSXFXOX
      RXNNIGXBXMNWJXNWKWLWMWNWOWPWQWR $.
  $}

  ${
    $d A x $.
    $( Membership in the set of finite sets.  (Contributed by SF,
       19-Jan-2015.) $)
    elfin $p |- ( A e. Fin <-> E. x e. Nn A e. x ) $=
      ( cfin wcel cnnc cuni cv wrex df-fin eleq2i eluni2 bitri ) BCDBEFZDBAGDAE
      HCMBIJABEKL $.
  $}

  $( Membership in cardinal zero.  (Contributed by SF, 22-Jan-2015.) $)
  el0c $p |- ( A e. 0c <-> A = (/) ) $=
    ( c0c wcel c0 csn wceq df-0c eleq2i 0ex elsnc2 bitri ) ABCADEZCADFBLAGHADIJ
    K $.

  $( The empty set is a member of cardinal zero.  (Contributed by SF,
     13-Feb-2015.) $)
  nulel0c $p |- (/) e. 0c $=
    ( c0 c0c wcel wceq eqid el0c mpbir ) ABCAADAEAFG $.

  $( The empty set is finite.  (Contributed by SF, 19-Jan-2015.) $)
  0fin $p |- (/) e. Fin $=
    ( vn c0 cfin wcel cv cnnc wrex c0c peano1 wceq eqid el0c mpbir eleq2 rspcev
    mp2an elfin ) BCDBAEZDZAFGZHFDBHDZTIUABBJBKBLMSUAAHFRHBNOPABQM $.

  ${
    $d a e $.  $d a m $.  $d a t $.  $d a w $.  $d a x $.  $d e m $.  $d e t $.
    $d e w $.  $d e x $.  $d m t $.  $d m w $.  $d m x $.  $d t w $.  $d t x $.
    $d w x $.
    $( Lemma for ~ nnsucelr .  Establish stratification for the inductive
       hypothesis.  (Contributed by SF, 15-Jan-2015.) $)
    nnsucelrlem1 $p |- { m |
     A. a A. x ( ( -. x e. a /\ ( a u. { x } ) e. ( m +c 1c ) ) -> a e. m ) }
     e. _V $=
      ( vt vw ve cssetk c1c cvv wn csn wcel wa wex wceq copk bitr4i exbii bitri
      snex csik cins3k cins2k cidk cun csymdif cpw1 cimak ccompl cin cdif ccnvk
      cimagek ccomk cxpk wel cv cplc wal cab wrex vex elimak df-rex el1c anbi1i
      19.41v excom opkeq1 eleq1d ceqsexv opkex elpw131c eldif elpw141c elpw171c
      wi elin wb elsymdif otkelins3k opksnelsik elssetk otkelins2k wo weq sneqb
      opkelidkg mp2an elsnc 3bitr4i orbi12i bibi12i notbii elcompl dfcleq ancom
      elun opkelcnvk opkelimagekg dfaddc2 eqeq2i bicomi anbi12i opkelcok addcex
      alex 1cex clel3 df-clel opkelxpk mpbiran annim exnal abbi2i ssetkex sikex
      ins3kex ins2kex idkex unex symdifex pw1ex imakex complex addcexlem cnvkex
      imagekex cokex inex difex vvex xpkex eqeltrri ) GUAZUAZUAZUAZUAZUBZYOUBZU
      CZUDUBZUEZUCZUFZHUGZUGZUGZUGZUGZUGZUGZUHZUIZGUBZGUCZUJUUHUHUIUBUUQUCUUPUC
      YPUBUEUFUUJUHUKZUUHUHZUMZULZGUNZUCZUCZUJZUUJUHZUUAUKZIGUOZUKZUUIUHZHUHZUI
      ZACUPZJZCUQZAUQZKZUEZBUQZHURZLZMZCBUPZVQZAUSZCUSZBUTIUWFBUVLUVSUVKLZJUWEJ
      ZCNZJUVSUVLLUWFUWGUWIUWGDUQZUVOKZOZUWJUVSPZUVJLZMZDNZCNZUWIUWGUWNDHVAZUWQ
      DUVJHUVSBVBZVCUWRUWJHLZUWNMZDNZUWQUWNDHVDUXBUWOCNZDNUWQUXAUXCDUXAUWLCNZUW
      NMUXCUWTUXDUWNCUWJVEVFUWLUWNCVGQRUWOCDVHQSSUWPUWHCUWPUWKUVSPZUVJLZUWHUWNU
      XFDUWKUVOTZUWLUWMUXEUVJUWJUWKUVSVIVJVKUXFUWDJZANZUWHUXFUWJUVQKZKZKZOZUWJU
      XEPZUVILZMZDNZANZUXIUXFUXODUUIVAZUXRDUVIUUIUXEUWKUVSVLZVCUXSUWJUUILZUXOMZ
      DNZUXRUXODUUIVDUYCUXPANZDNUXRUYBUYDDUYBUXMANZUXOMUYDUYAUYEUXOAUWJVMVFUXMU
      XOAVGQRUXPADVHQSSUXQUXHAUXQUXLUXEPZUVILZUXHUXOUYGDUXLUXKTZUXMUXNUYFUVIUWJ
      UXLUXEVIVJVKUYGUWBUWCJZMZUXHUYGUYFUVGLZUYFUVHLZJZMUYJUYFUVGUVHVNUYKUWBUYM
      UYIUYKUWAUVNMZUWBUYKUYFUVFLZUYFUUALZJZMUYNUYFUVFUUAVNUYOUWAUYQUVNUYOEUQZU
      VROZUYRUVTLZMZENZUWAUYOUWJUYFPZUVELZDUUJVAZVUBDUVEUUJUYFUXLUXEVLZVCVUEUWJ
      UYRKZKZKZKZKZOZVUDMZDNZENZVUBVUEUWJUUJLZVUDMZDNZVUOVUDDUUJVDVURVUMENZDNVU
      OVUQVUSDVUQVULENZVUDMVUSVUPVUTVUDEUWJVOVFVULVUDEVGQRVUMEDVHQSVUNVUAEVUNVU
      KUYFPZUVELZVUAVUDVVBDVUKVUJTZVULVUCVVAUVEUWJVUKUYFVIVJVKVVBVVAUUOLZVVAUVD
      LZMVUAVVAUUOUVDVRVVDUYSVVEUYTVVAUUNLZJFEUPZFUQZUVRLZVSZJZFNZJZVVDUYSVVFVV
      LVVFUWJVVHKZKZKZKZKZKZKZKZOZUWJVVAPZUUFLZMZDNZFNZVVLVVFVWDDUUMVAZVWGDUUFU
      UMVVAVUKUYFVLZVCVWHUWJUUMLZVWDMZDNZVWGVWDDUUMVDVWLVWEFNZDNVWGVWKVWMDVWKVW
      BFNZVWDMVWMVWJVWNVWDFUWJVPVFVWBVWDFVGQRVWEFDVHQSSVWFVVKFVWFVWAVVAPZUUFLZV
      VKVWDVWPDVWAVVTTVWBVWCVWOUUFUWJVWAVVAVIVJVKVWPVWOYTLZVWOUUELZVSZJVVKVWOYT
      UUEVTVWSVVJVWQVVGVWRVVIVWQVVSVUKPYSLZVVGVVSVUKUYFYSVVRTZVVCVUFWAVWTVVRVUJ
      PYRLZVVGVVRVUJYRVVQTVUITWBVXBVVQVUIPYQLZVVGVVQVUIYQVVPTZVUHTZWBVXCVVPVUHP
      YPLZVVGVVPVUHYPVVOTZVUGTWBVXFVVOVUGPYOLZVVGVVOVUGYOVVNTZUYRTZWBVXHVVNUYRP
      GLVVGVVNUYRGVVHTZEVBZWBVVHUYRFVBZVXLWCSSSSSSVWRVVSUYFPZUUDLZVVIVVSVUKUYFU
      UDVXAVVCVUFWDVXNUUBLZVXNUUCLZWEFCUPZVVHUVQLZWEVXOVVIVXPVXRVXQVXSVXPVVQUXE
      PUUALZVXRVVQUXLUXEUUAVXDUYHUXTWDVXTVVOUWKPYOLZVXRVVOUWKUVSYOVXIUXGUWSWAVY
      AVVNUVOPGLVXRVVNUVOGVXKCVBZWBVVHUVOVXMVYBWCSSSVXQVVQUXLPUDLZVXSVVQUXLUXEU
      DVXDUYHUXTWAVVQUXLOZFAWFZVYCVXSVYDVVPUXKOZVYEVVPUXKVXGWGVYFVVOUXJOZVYEVVO
      UXJVXIWGVYGVVNUVQOVYEVVNUVQVXKWGVVHUVPVXMWGSSSVVQILUXLILZVYCVYDVSVXDUYHVV
      QUXLIIWHWIVVHUVPVXMWJWKSWLVXNUUBUUCWRVVHUVOUVQWRWKSWMWNSSRSWNVVAUUNVWIWOU
      YSVVJFUSVVMFUYRUVRWPVVJFXGSWKVVEVUIUXEPUVCLZUYTVUIUXLUXEUVCVXEUYHUXTWDVYI
      VUGUVSPUVBLZUYTVUGUWKUVSUVBVXJUXGUWSWDVUGUWJPGLZUWMUVALZMZDNUWJUVTOZEDUPZ
      MZDNVYJUYTVYMVYPDVYMVYLVYKMVYPVYKVYLWQVYLVYNVYKVYOVYLUVSUWJPUUTLZVYNUWJUV
      SUUTDVBZUWSWSVYQUWJUUSUVSUHZOZVYNUVSILUWJILVYQVYTVSUWSVYRUVSUWJUUSIIWTWIV
      YNVYTUVTVYSUWJUVSHXAXBXCSSUYRUWJVXLVYRWCXDSRDVUGUVSUVAGVXJUWSXEDUYRUVTUVS
      HUWSXHXFXIWKSSXDSSRSSEUVRUVTXJQUYPUVMUYPUXJUWKPYOLZUVMUXJUWKUVSYOUVQTUXGU
      WSWAWUAUVQUVOPGLUVMUVQUVOGUVPTVYBWBUVPUVOAVBVYBWCSSWNXDSUWAUVNWQSUYLUWCUY
      LUXEGLZUWCUYLVYHWUBUYHUXLUXEIGUYHUXTXKXLUVOUVSVYBUWSWCSWNXDSUWBUWCXMSSRSU
      WDAXNSSRSWNUVSUVKUWSWOUWECXGWKXOUVKUVJHUVIUUIUVGUVHUVFUUAUVEUUJUUOUVDUUNU
      UFUUMYTUUEYSYRYQYPYOGXPXQZXQXQXQXQXRUUDUUBUUCUUAYOWUCXRZXSUDXTXRYAXSYBUUL
      UUKUUJUUIUUHUUGHXHYCYCZYCZYCZYCYCYCYDYEUVCUVBUVAGUUTUUSUURUUHYFWUEYDYHYGX
      PYIXSXSYJWUGYDWUDYKIGYLXPYMYKWUFYDXHYDYEYN $.
  $}

  ${
    $d A x $.  $d B x $.
    $( Lemma for ~ nnsucelr .  Subtracting a non-element from a set adjoined
       with the non-element retrieves the original set.  (Contributed by SF,
       15-Jan-2015.) $)
    nnsucelrlem2 $p |- ( -. B e. A -> ( ( A u. { B } ) \ { B } ) = A ) $=
      ( vx wcel wn csn cun cdif cv wceq wa wne wo eldifsn elun elsn bitri df-ne
      orbi2i anbi12i pm5.61 3bitri ancom eleq1 biimpcd con3d com12 bicomd eqrdv
      pm4.71rd syl5bb ) BADZEZCABFZGZUNHZACIZUPDZUQBJZEZUQADZKZUMVAURVAUTKZVBUR
      UQUODZUQBLZKVAUSMZUTKVCUQUOBNVDVFVEUTVDVAUQUNDZMVFUQAUNOVGUSVACBPSQUQBRTV
      AUSUAUBVAUTUCQUMVAVBUMVAUTVAUMUTVAUSULUSVAULUQBAUDUEUFUGUJUHUKUI $.
  $}

  ${
    nnsucelrlem3.1 $e |- X e. _V $.
    $( Lemma for ~ nnsucelr .  Rearrange union and difference for a particular
       group of classes.  (Contributed by SF, 15-Jan-2015.) $)
    nnsucelrlem3 $p |-
       ( ( X =/= Y /\ ( A u. { X } ) = ( B u. { Y } ) /\
           -. Y e. B ) -> B = ( ( A \ { Y } ) u. { X } ) ) $=
      ( wne csn cun wceq wcel wn w3a ccompl cin cdif indir df-dif eqtri sylib
      c0 eqcomi incompl uneq12i un0 difsn 3ad2ant3 syl5req simp2 df-ne 3ad2ant1
      wss biimpi elcompl elsnc xchbinx snss bitr3i ssequn2 ineq12d eqtr4d undir
      uneq1i syl6eqr ) CDFZACGZHZBDGZHZIZDBJKZLZBVFVGMZVEHZNZAVGOZVEHZVKBVHVLNZ
      VNVKVQBVGOZBVQBVLNZVGVLNZHZVRBVGVLPWAVRTHVRVSVRVTTVRVSBVGQUAVGUBUCVRUDRRV
      JVDVRBIVIDBUEUFUGVKVFVHVMVLVDVIVJUHVKVEVLUKZVMVLIVKCDIZKZWBVDVIWDVJVDWDCD
      UIULUJWDCVLJZWBWECVGJWCCVGEUMCDEUNUOCVLEUPUQSVEVLURSUSUTVPAVLNZVEHVNVOWFV
      EAVGQVBAVLVEVARVC $.
  $}

  $( Lemma for ~ nnsucelr .  Remove and re-adjoin an element to a set.
     (Contributed by SF, 15-Jan-2015.) $)
  nnsucelrlem4 $p |- ( A e. B -> ( ( B \ { A } ) u. { A } ) = B ) $=
    ( wcel csn cdif cun undif1 wss wceq snssi ssequn2 sylib syl5eq ) ABCZBADZEO
    FBOFZBBOGNOBHPBIABJOBKLM $.

  ${
    $d A a $.  $d a c $.  $d a m $.  $d a n $.  $d a x $.  $d a y $.  $d a z $.
    $d c m $.  $d c n $.  $d c x $.  $d c z $.  $d M a $.  $d M m $.  $d m n $.
    $d m x $.  $d M x $.  $d m y $.  $d m z $.  $d n x $.  $d n z $.  $d X a $.
    $d X x $.  $d x y $.  $d x z $.  $d a b $.  $d b c $.  $d b n $.  $d b x $.
    $d b y $.  $d b z $.  $d c y $.  $d n y $.  $d y z $.  $d a d $.  $d a w $.
    $d d n $.  $d d w $.  $d d y $.  $d w y $.
    nnsucelr.1 $e |- A e. _V $.
    nnsucelr.2 $e |- X e. _V $.
    $( Transfer membership in the successor of a natural into membership of the
       natural itself.  Theorem X.1.17 of [Rosser] p. 525.  (Contributed by SF,
       14-Jan-2015.) $)
    nnsucelr $p |- ( ( M e. Nn /\
              ( -. X e. A /\ ( A u. { X } ) e. ( M +c 1c ) ) ) ->
              A e. M ) $=
      ( vx va vy vz vc vw wcel wn cun c1c wa cv wi wal wceq vm vn cnnc csn cplc
      vb vd wel wex c0 nnsucelrlem1 addceq1 addcid2 syl6eq eleq2d syl6bb anbi2d
      c0c el1c eleq2 df-0c eleq2i vex elsnc bitri imbi12d 2albidv weq wb eleq12
      ancoms notbid sneq uneq12 sylan2 eleq1d anbi12d eleq1 adantr unsneqsn ord
      cbval2v snid mpbiri syl6 con1d exlimiv impcom ccompl elsuc elcompl anbi2i
      w3a simprrl difeq12d simprrr nnsucelrlem2 simprlr 3eqtr3d simprll eqeltrd
      gen2 wrex cdif syl 3adantr1 ex simpl simpr3l simpr2r nnsucelrlem3 syl3anc
      wne simp22r difsn uneq1d eqeq2d biimpcd 3ad2ant3 simp23l wss snss ssequn2
      bitr2i biimpi eqcoms syl6bi syld mt3d nnsucelrlem4 simpl3r difss nsyl cvv
      sseli mp2an uneq2d rspcev uneq1 spcv simp2l biimpd mpan9 snex difex eldif
      simpl1 spc2gv mp2and 3adant1 simprbi mpbir eqid compleq rexeqbidv sylancl
      mt2 sylibr eqeltrrd mpd3an3 pm2.61ine 3expa exp32 rexlimdvva syl5bi com23
      sylan2b imp3a alrimivv a1i finds imbi1d alimi 3syl imp ) BUCLZCALZMZACUDZ
      NZBOUEZLZPZABLZUVPFGUHZMZGQZFQZUDZNZUWALZPZUWGBLZRZFSZGSZCUWGLZMZUWGUVSNZ
      UWALZPZUWMRZGSUWCUWDRZUWFUWJUAQZOUEZLZPZGUAUHZRZFSGSZUWFUWJHQZUDZTZHUIZPZ
      UWGUJTZRZFSGSIJUHZMZJQZIQZUDZNZUBQZOUEZLZPZJUBUHZRZISJSZUWFUWJUYEOUEZLZPZ
      UWGUYELZRZFSGSZUWPUAUBBFUAGUKUXDURTZUXIUXQGFUYQUXGUXOUXHUXPUYQUXFUXNUWFUY
      QUXFUWJOLUXNUYQUXEOUWJUYQUXEUROUEOUXDUROULOUMUNUOHUWJUSUPUQUYQUXHUWGURLZU
      XPUXDURUWGUTUYRUWGUJUDZLUXPURUYSUWGVAVBUWGUJGVCZVDVEUPVFVGUAUBVHZUXJUWFUW
      JUYELZPZGUBUHZRZFSGSUYJVUAUXIVUEGFVUAUXGVUCUXHVUDVUAUXFVUBUWFVUAUXEUYEUWJ
      UXDUYDOULUOUQUXDUYDUWGUTVFVGVUEUYIGFJIGJVHZFIVHZPZVUCUYGVUDUYHVUHUWFUXSVU
      BUYFVUHUWEUXRVUGVUFUWEUXRVIUWHUYAUWGUXTVJVKVLVUHUWJUYCUYEVUGVUFUWIUYBTUWJ
      UYCTUWHUYAVMUWGUXTUWIUYBVNVOVPVQVUFVUDUYHVIVUGUWGUXTUYDVRVSVFWBUPUXDUYETZ
      UXIUYOGFVUIUXGUYMUXHUYNVUIUXFUYLUWFVUIUXEUYKUWJUXDUYEOULUOUQUXDUYEUWGUTVF
      VGUXDBTZUXIUWNGFVUJUXGUWLUXHUWMVUJUXFUWKUWFVUJUXEUWAUWJUXDBOULUOUQUXDBUWG
      UTVFVGUXQGFUXNUWFUXPUXMUWFUXPRHUXMUXPUWEUXMUXPMUWGUWITZUWEUXMUXPVUKUWGUWH
      UXKFVCZVTWAVUKUWEUWHUWILUWHVULWCUWGUWIUWHUTWDWEWFWGWHXBUYJUYPRUYDUCLUYJUY
      OGFUYJUWFUYLUYNUYJUYLUWFUYNUYLUWJUFQZUXLNZTZHVUMWIZXCUFUYEXCUYJUWFUYNRZHU
      WJUYEUFWJUYJVUOVUQUFHUYEVUPVUMUYELZUXKVUPLZPUYJVURHUFUHZMZPZVUOVUQRVUSVVA
      VURUXKVUMHVCZWKWLUYJVVBPVUOUWFUYNUYJVVBVUOUWFPZUYNUYJVVBVVDWMZUYNRUWHUXKF
      HVHZVVEUYNVVFVVBVVDUYNUYJVVFVVBVVDPZPZUWGVUMUYEVVHUWJUWIXDZVUNUXLXDZUWGVU
      MVVHUWJVUNUWIUXLVVFVVBVUOUWFWNVVFUWIUXLTVVGUWHUXKVMVSWOVVHUWFVVIUWGTVVFVV
      BVUOUWFWPUWGUWHWQXEVVHVVAVVJVUMTVVFVURVVAVVDWRVUMUXKWQXEWSVVFVURVVAVVDWTX
      AXFXGUWHUXKXMZVVEUYNVVKVVEVUMUWGUXLXDZUWINZTZUYNVVKVVEPVVKVUOVVAVVNVVKVVE
      XHVUOUWFUYJVVBVVKXIVURVVAUYJVVDVVKXJUWGVUMUWHUXKVULXKXLVVKVVEVVNWMZVVLUXL
      NZUWGUYEVVOHGUHZVVPUWGTVVOVVQVUTVURVVAUYJVVDVVKVVNXNVVOVVQMZVUMUWJTZVUTVV
      NVVKVVRVVSRVVEVVRVVNVVSVVRVVMUWJVUMVVRVVLUWGUWIUXKUWGXOXPXQXRXSVVOVVSVUMV
      UNTVUTVVOUWJVUNVUMVUOUWFUYJVVBVVKVVNXTXQVUTVUNVUMVUNVUMTZVUTVUTUXLVUMYAVV
      TUXKVUMVVCYBUXLVUMYCYDYEYFYGYHYIUXKUWGYJXEVVOVVLUYDLZVVPVVLKQZUDZNZTZKVVL
      WIZXCZVVPUYELZVVEVVNVWAVVKVVEVVNPZUWHVVLLZMZVVMUYELZVWAVWIUWEVWJVUOUWFUYJ
      VVBVVNYKVVLUWGUWHUWGUXLYLYOYMVVEVURVVNVWLUYJVURVVAVVDUUAVVNVURVWLVUMVVMUY
      EVRUUBUUCVWIUYJVWKVWLPZVWARZUYJVVBVVDVVNUUGVVLYNLUWHYNLUYJVWNRUWGUXLUYTUX
      KUUDUUEVULUYIVWNJIVVLUWHYNYNUXTVVLTZIFVHZPZUYGVWMUYHVWAVWQUXSVWKUYFVWLVWQ
      UXRVWJVWPVWOUXRVWJVIUYAUWHUXTVVLVJVKVLVWQUYCVVMUYEVWPVWOUYBUWITUYCVVMTUYA
      UWHVMUXTVVLUYBUWIVNVOVPVQVWOUYHVWAVIVWPUXTVVLUYDVRVSVFUUHYPXEUUIUUJUXKVWF
      LZVVPVVPTZVWGVWRUXKVVLLZMVWTUXKUXLLZUXKVVCWCVWTVVQVXAMUXKUWGUXLUUFUUKUUQU
      XKVVLVVCWKUULVVPUUMVWEVWSKUXKVWFKHVHZVWDVVPVVPVXBVWCUXLVVLVWBUXKVMYQXQYRY
      PVWAVWGPVVPUGQZVWCNZTZKVXCWIZXCZUGUYDXCVWHVXGVWGUGVVLUYDVXCVVLTZVXEVWEKVX
      FVWFVXCVVLUUNVXHVXDVWDVVPVXCVVLVWCYSXQUUOYRKVVPUYDUGWJUURUUPUUSUUTXGUVAUV
      BUVCUVGUVDUVEUVFUVHUVIUVJUVKUWOUXBGUWNUXBFCEUWHCTZUWLUXAUWMVXIUWFUWRUWKUW
      TVXIUWEUWQUWHCUWGVRVLVXIUWJUWSUWAVXIUWIUVSUWGUWHCVMYQVPVQUVLYTUVMUXBUXCGA
      DUWGATZUXAUWCUWMUWDVXJUWRUVRUWTUWBVXJUWQUVQUWGACUTVLVXJUWSUVTUWAUWGAUVSYS
      VPVQUWGABVRVFYTUVNUVO $.
  $}

  ${
    $d a b $.  $d a m $.  $d a n $.  $d a q $.  $d a x $.  $d b m $.  $d b n $.
    $d b q $.  $d b x $.  $d m n $.  $d M n $.  $d m p $.  $d M p $.  $d m q $.
    $d m x $.  $d N n $.  $d n p $.  $d n q $.  $d n x $.  $d p q $.  $d q x $.
    $d b p $.  $d p x $.

    $( Either two naturals are disjoint or they are the same natural.  Theorem
       X.1.18 of [Rosser] p. 526.  (Contributed by SF, 17-Jan-2015.) $)
    nndisjeq $p |- ( ( M e. Nn /\ N e. Nn ) -> ( ( M i^i N ) = (/) \/ M = N ) )
        $=
      ( vn vp vm vq vb cnnc wcel cin c0 wceq wo cv wi weq wn c0c eqeq1d wa wral
      va vx c1c cplc cssetk cins3k cins2k cpw1 cimak ccompl cun cab cvv elcompl
      cidk vex copk wrex elimak opkex elun wne ndisjrelk notbii con2bii 3bitr4i
      df-ne wb opkelidkg mp2an orbi12i incom eqeq1i eqcom 3bitri xchbinx rexbii
      rexnal bitr4i abbi2i ssetkex ins3kex ins2kex inex 1cex pw1ex imakex idkex
      complex nncex eqeltrri csn df-0c eqeq2i biimpi ineq1d disjsn bitri syl6bb
      eqeq1 orbi12d ralbidv ineq1 ineq2 equequ2 cbvralv nnc0suc 0nelsuc biimpcd
      unex eleq2 mtoi adantr orel2 syl com12 sylbi imor sylib rgen wex neq0 wel
      nrexdv elin elsuc anbi2i w3a simp1r n0i rspccv syl6 com23 imp com3l eqeq2
      ex syld syl5bi ssun2 sselii ax-mp eleq2i elsnc mtbir adantl orel1 simpr3r
      snid snex simpll simpr nnsucelr syl12anc sylbir pm2.53 syl5 exp3a adantrr
      3adant1 impcom addceq1 anbi2d imbi2d imbi12d mpbiri rexlimdv 3expa imbi1d
      mpid eleq1 syl5ibrcom sylan2b rexlimdvva imp3a orrd exp31 ralrimdv finds
      exlimdv ) AHIZBHIZABJZKLZABLZMZUWBACNZJZKLZAUWHLZMZCHUAZUWCUWGODNZUWHJZKL
      ZDCPZMZCHUAZKUWHIZQZUWHRLZMZCHUAENZFNZJZKLZEFPZMZFHUAZUXDUDUEZUWHJZKLZUXK
      UWHLZMZCHUAUWMDEAUFUGZUFUHZJZUDUIZUIZUJZUKZUPULZUKZHUJZUKZUWSDUMUNUWSDUYF
      UWNUYFIUWNUYEIZQUWSUWNUYEDUQZUOUYGUWSUYGUWHUWNURZUYDIZCHUSUWRQZCHUSUWSQCU
      YDHUWNUYHUTUYJUYKCHUYJUYIUYCIZUWRUYIUYCUWHUWNVAZUOUYLUYIUYBIZUYIUPIZMUWHU
      WNJZKLZCDPZMUWRUYIUYBUPVBUYNUYQUYOUYRUYIUYAIZQUYPKVCZQUYNUYQUYSUYTUWHUWNC
      UQZUYHVDVEUYIUYAUYMUOUYTUYQUYPKVHVFVGUWHUNIUWNUNIUYOUYRVIVUAUYHUWHUWNUNUN
      VJVKVLUYQUWPUYRUWQUYPUWOKUWHUWNVMVNUWHUWNVOVLVPVQVRUWRCHVSVPVFVTWAUYEUYDH
      UYCUYBUPUYAUXRUXTUXPUXQUFWBWCUFWBWDWEUXSUDWFWGWGWHWJWIXKWJWKWHWJWLUWNRLZU
      WRUXCCHVUBUWPUXAUWQUXBVUBUWPKWMZUWHJZKLZUXAVUBUWOVUDKVUBUWNVUCUWHVUBUWNVU
      CLRVUCUWNWNWOWPWQSVUEUWHVUCJZKLUXAVUDVUFKVUCUWHVMVNUWHKWRWSWTVUBUWQRUWHLU
      XBUWNRUWHXARUWHVOWTXBXCDEPZUWSUXDUWHJZKLZECPZMZCHUAUXJVUGUWRVUKCHVUGUWPVU
      IUWQVUJVUGUWOVUHKUWNUXDUWHXDSUWNUXDUWHXAXBXCVUKUXICFHCFPZVUIUXGVUJUXHVULV
      UHUXFKUWHUXEUXDXESCFEXFXBXGWTUWNUXKLZUWRUXOCHVUMUWPUXMUWQUXNVUMUWOUXLKUWN
      UXKUWHXDSUWNUXKUWHXAXBXCUWNALZUWRUWLCHVUNUWPUWJUWQUWKVUNUWOUWIKUWNAUWHXDS
      UWNAUWHXAXBXCUXCCHUWHHIZUWTUXBOZUXCVUOUXBUWHUXKLZEHUSZMZVUPEUWHXHUWTVUSUX
      BUWTVURQVUSUXBOUWTVUQEHUWTVUQQUXDHIZUWTVUQKUXKIZUXDXIVUQUWTVVAUWHUXKKXLXJ
      XMXNYEVURUXBXOXPXQXRUWTUXBXSXTYAVUTUXJUXOCHVUTVUOUXJUXOVUTVUOUXJUXOVUTVUO
      TZUXJTZUXMUXNUXMQUBNZUXLIZUBYBVVCUXNUBUXLYCVVCVVEUXNUBVVEVVDUXKIZUBCYDZTV
      VCUXNVVDUXKUWHYFVVCVVFVVGUXNVVFVVDGNZUCNZWMZULZLZUCVVHUKZUSGUXDUSVVCVVGUX
      NOZUCVVDUXDGYGVVCVVLVVNGUCUXDVVMGEYDZVVIVVMIZTVVCVVOUCGYDQZTZVVLVVNOVVPVV
      QVVOVVIVVHUCUQZUOYHVVCVVRTVVNVVLVVKUWHIZUXNOZVVBUXJVVRVWAVVBUXJVVRYIZVVTU
      XBUWHUWNUDUEZLZDHUSZMZUXNVWBVUOVWFVUTVUOUXJVVRYJDUWHXHXTVWBVVTVWFUXNOVWBV
      VTTZVWFVWEUXNVWGUXBQZVWFVWEOVVTVWHVWBVVTUXBVVKRIZVWIVVKKLZVVIVVKIVWJQVVJV
      VKVVIVVJVVHUUAVVIVVSUUJUUBVVKVVIYKUUCVWIVVKVUCIVWJRVUCVVKWNUUDVVKKVVHVVJG
      UQZVVIUUKXKUUEWSUUFUXBVVTVWIUWHRVVKXLXJXMUUGUXBVWEUUHXPVWGVWDUXNDHVWDVWGU
      WNHIZUXNVWDVWGVWLUXNOZOVWBVVKVWCIZTZVWLUXKVWCLZOZOVWOVWLEDPZVWPVWBVWNVWLV
      WROVWLVWBVWNVWRVWLVWBVWNVWROVWLVWBTZVWNGDYDZVWRVWSVWNVWTVWSVWNTVWLVVQVWNV
      WTVWLVWBVWNUULVWSVVQVWNVVOVVQVVBUXJVWLUUIXNVWSVWNUUMVVHUWNVVIVWKVVSUUNUUO
      YRVWBVWLVWTVWROZUXJVVRVWLVXAOZVVBUXJVVOVXBVVQUXJVVOVXBUXJVWLVVOVXAUXJVWLU
      XDUWNJZKLZVWRMZVVOVXAOUXIVXEFUWNHFDPZUXGVXDUXHVWRVXFUXFVXCKUXEUWNUXDXESFD
      EXFXBYLVXEVVOVWTVWRVVOVWTTZVXDQZVXEVWRVXGVVHVXCIVXHVVHUXDUWNYFVXCVVHYKUUP
      VXDVWRUUQUURUUSYMYNYOUUTUVAUVBYSYRYPYOUXDUWNUDUVCYMVWDVWGVWOVWMVWQVWDVVTV
      WNVWBUWHVWCVVKXLUVDVWDUXNVWPVWLUWHVWCUXKYQUVEUVFUVGYPUVHYSYRUVKUVIVVLVVGV
      VTUXNVVDVVKUWHUVLUVJUVMUVNUVOYTUVPYTUWAYTUVQUVRYNUVSUVTUWLUWGCBHUWHBLZUWJ
      UWEUWKUWFVXIUWIUWDKUWHBAXESUWHBAYQXBYLXPYO $.
  $}

  $( If two naturals have an element in common, then they are equal.
     (Contributed by SF, 13-Feb-2015.) $)
  nnceleq $p |- ( ( ( M e. Nn /\ N e. Nn ) /\ ( A e. M /\ A e. N ) ) ->
    M = N ) $=
    ( cnnc wcel wa cin c0 wceq wn wo elin n0i sylbir adantl nndisjeq orel1 sylc
    adantr ) BDECDEFZABEACEFZFBCGZHIZJZUCBCIZKZUEUAUDTUAAUBEUDABCLUBAMNOTUFUABC
    PSUCUEQR $.

  ${
    $d A x $.
    $( A singleton is finite.  (Contributed by SF, 23-Feb-2015.) $)
    snfi $p |- { A } e. Fin $=
      ( vx cvv wcel csn cfin cv cnnc wrex c1c 1cnnc snel1cg eleq2 sylancr elfin
      rspcev sylibr wn c0 wceq snprc 0fin eleq1 mpbiri sylbi pm2.61i ) ACDZAEZF
      DZUGUHBGZDZBHIZUIUGJHDUHJDZULKACLUKUMBJHUJJUHMPNBUHOQUGRUHSTZUIAUAUNUISFD
      UBUHSFUCUDUEUF $.
  $}


$(
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
                 Deriving infinity
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
$)

  $c <_[fin] $.
  $c <[fin] $.
  $c Nc[fin] $.
  $c _T[fin] $.
  $c Even[fin] $.
  $c Odd[fin] $.
  $c _S[fin] $.
  $c Sp[fin] $.

  $( Extend class notation to include the less than or equal to relationship
     for finite cardinals. $)
  clefin $a class <_[fin] $.

  $( Extend class notation to include the less than relationship for finite
     cardinals. $)
  cltfin $a class <[fin] $.

  $( Extend class notation to include the finite cardinal function. $)
  cncfin $a class Nc[fin] A $.

  $( Extend class notation to include the finite T operation. $)
  ctfin $a class _T[fin] A $.

  $( Extend class notation to include the (temporary) set of all even
     numbers. $)
  cevenfin $a class Even[fin] $.

  $( Extend class notation to include the (temporary) set of all odd
     numbers. $)
  coddfin $a class Odd[fin] $.

  $( Extend wff notation to include the finite S relationship. $)
  wsfin $a wff _S[fin] ( A , B ) $.

  $( Extend class notation to include the finite Sp set. $)
  cspfin $a class Sp[fin] $.

  ${
    $d x y z w $.
    $( Define the less than or equal to relationship for finite cardinals.
       Definition from Ex.  X.1.4 of [Rosser] p. 279.  (Contributed by SF,
       12-Jan-2015.) $)
    df-lefin $a |- <_[fin] = { x | E. y E. z ( x = << y , z >> /\
        E. w e. Nn z = ( y +c w ) ) } $.
  $}

  ${
    $d m n p x $.
    $( Define the less than relationship for finite cardinals.  Definition from
       [Rosser] p. 527.  (Contributed by SF, 12-Jan-2015.) $)
    df-ltfin $a |- <[fin] = { x | E. m E. n ( x = << m , n >> /\
        ( m =/= (/) /\ E. p e. Nn n = ( ( m +c p ) +c 1c ) ) ) } $.
  $}

  ${
    $d A x $.
    $( Define the finite cardinal function.  Definition from [Rosser] p. 527.
       (Contributed by SF, 12-Jan-2015.) $)
    df-ncfin $a |- Nc[fin] A = ( iota x ( x e. Nn /\ A e. x ) ) $.
  $}

  ${
    $d M n a $.
    $( Define the finite T operator.  Definition from [Rosser] p. 528.
       (Contributed by SF, 12-Jan-2015.) $)
    df-tfin $a |- _T[fin] M = if ( M = (/) , (/) ,
       ( iota n ( n e. Nn /\ E. a e. M ~P1 a e. n ) ) ) $.
  $}

  ${
    $d x n $.
    $( Define the temporary set of all even numbers.  This differs from the
       final definition due to the non-null condition.  Definition from
       [Rosser] p. 529.  (Contributed by SF, 12-Jan-2015.) $)
    df-evenfin $a |- Even[fin] = { x |
                ( E. n e. Nn x = ( n +c n ) /\ x =/= (/) ) } $.
  $}

  ${
    $d x n $.
    $( Define the temporary set of all odd numbers.  This differs from the
       final definition due to the non-null condition.  Definition from
       [Rosser] p. 529.  (Contributed by SF, 12-Jan-2015.) $)
    df-oddfin $a |- Odd[fin] = { x |
                ( E. n e. Nn x = ( ( n +c n ) +c 1c ) /\
                            x =/= (/) ) } $.
  $}

  ${
    $d M a $.  $d N a $.
    $( Define the finite S relationship.  This relationship encapsulates the
       idea of ` M ` being a "smaller" number than ` N ` .  Definition from
       [Rosser] p. 530.  (Contributed by SF, 12-Jan-2015.) $)
    df-sfin $a |- ( _S[fin] ( M , N ) <-> ( M e. Nn /\ N e. Nn /\
             E. a ( ~P1 a e. M /\ ~P a e. N ) ) ) $.
  $}

  ${
    $d a x z $.
    $( Define the finite Sp set.  Definition from [Rosser] p. 533.
       (Contributed by SF, 12-Jan-2015.) $)
    df-spfin $a |- Sp[fin] =
       |^| { a | ( Nc[fin] _V e. a /\
             A. x e. a A. z ( _S[fin] ( z , x ) -> z e. a ) ) } $.
  $}

  ${
    $d A x y z w $.  $d B x y z w $.
    $( Kuratowski ordered pair membership in finite less than or equal to.
       (Contributed by SF, 18-Jan-2015.) $)
    opklefing $p |- ( ( A e. V /\ B e. W ) ->
       ( << A , B >> e. <_[fin] <-> E. x e. Nn B = ( A +c x ) ) ) $=
      ( vz vy vw cv cplc wceq cnnc clefin df-lefin addceq1 eqeq2d rexbidv eqeq1
      wrex opkelopkabg ) FIZGIZAIZJZKZALSUABUCJZKZALSCUFKZALSHGFMBCDEHGFANUBBKZ
      UEUGALUIUDUFUAUBBUCOPQUACKUGUHALUACUFRQT $.
  $}

  ${
    $d A w $.  $d A x $.  $d A y $.  $d A z $.  $d B w $.  $d B x $.  $d B y $.
    $d B z $.  $d w x $.  $d w y $.  $d w z $.  $d x y $.  $d x z $.  $d y z $.

    $( Kuratowski ordered pair membership in finite less than.  (Contributed by
       SF, 27-Jan-2015.) $)
    opkltfing $p |- ( ( A e. V /\ B e. W ) ->
      ( << A , B >> e. <[fin] <->
        ( A =/= (/) /\ E. x e. Nn B = ( ( A +c x ) +c 1c ) ) ) ) $=
      ( vz vw vy cv c0 wne cplc c1c wceq cnnc wrex wa cltfin df-ltfin rexbidv
      neeq1 addceq1 addceq1d eqeq2d anbi12d eqeq1 anbi2d opkelopkabg ) FIZJKZGI
      ZUIAIZLZMLZNZAOPZQBJKZUKBULLZMLZNZAOPZQUQCUSNZAOPZQHFGRBCDEHFGASUIBNZUJUQ
      UPVAUIBJUAVDUOUTAOVDUNUSUKVDUMURMUIBULUBUCUDTUEUKCNZVAVCUQVEUTVBAOUKCUSUF
      TUGUH $.
  $}

  ${
    $d A n $.  $d N n $.
    $( Cardinal sum always yields a larger set.  (Contributed by SF,
       27-Jan-2015.) $)
    lefinaddc $p |- ( ( A e. V /\ N e. Nn ) ->
               << A , ( A +c N ) >> e. <_[fin] ) $=
      ( vn wcel cnnc wa cplc copk clefin cv wceq wrex eqid addceq2 eqeq2d mpan2
      rspcev adantl cvv wb addcexg opklefing syldan mpbird ) ACEZBFEZGAABHZIJEZ
      UHADKZHZLZDFMZUGUMUFUGUHUHLZUMUHNULUNDBFUJBLUKUHUHUJBAOPRQSUFUGUHTEUIUMUA
      ABCFUBDAUHCTUCUDUE $.
  $}

  ${
    $d M a b x $.  $d N a b x $.
    $( Assuming a non-null successor, cardinal successor is one-to-one.
       Theorem X.1.19 of [Rosser] p. 526.  (Contributed by SF, 18-Jan-2015.) $)
    prepeano4 $p |- ( ( ( M e. Nn /\ N e. Nn ) /\
     ( ( M +c 1c ) = ( N +c 1c ) /\ ( M +c 1c ) =/= (/) ) ) -> M = N ) $=
      ( va vb vx cnnc wcel wa c1c cplc wceq c0 wne cv wex csn wrex vex syl5bi
      n0 cun ccompl elsuc simplll simpllr simprl wn simprr elcompl sylib elsuci
      wel sylan2b adantl eleqtrd nnsucelr syl12anc nnceleq syl22anc a1d exlimdv
      simplr rexlimdvva impr ) AFGZBFGZHZAIJZBIJZKZVHLMZABKZVKCNZVHGZCOVGVJHZVL
      CVHTVOVNVLCVNVMDNZENZPUAZKZEVPUBZQDAQVOVLEVMADUCVOVSVLDEAVTVOVPAGZVQVTGZH
      ZHZVLVSWDVEVFWAVPBGZVLVEVFVJWCUDVEVFVJWCUEZVOWAWBUFWDVFEDULUGZVRVIGWEWFWD
      WBWGVOWAWBUHVQVPERZUIZUJWDVRVHVIWCVRVHGZVOWBWAWGWJWIVPAVQWHUKUMUNVGVJWCVB
      UOVPBVQDRWHUPUQVPABURUSUTVCSVASVD $.
  $}

  ${
    $d A a b c $.
    $( Cardinal addition with the empty set.  Theorem X.1.20, corollary 1 of
       [Rosser] p. 526.  (Contributed by SF, 18-Jan-2015.) $)
    addcnul1 $p |- ( A +c (/) ) = (/) $=
      ( va vb vc c0 cplc wceq cv wcel wn eq0 cin cun wrex rex0 a1i eladdc mtbir
      wa nrex mpgbir ) AEFZEGBHZUBIZJBBUBKUDCHZDHZLEGUCUEUFMGSZDENZCANUHCAUHJUE
      AIUGDOPTUCAECDQRUA $.
  $}

  $( If cardinal addition is non-empty, then both addends are non-empty.
     Theorem X.1.20 of [Rosser] p. 526.  (Contributed by SF, 18-Jan-2015.) $)
  addcnnul $p |- ( ( A +c B ) =/= (/) -> ( A =/= (/) /\ B =/= (/) ) ) $=
    ( cplc wne wceq addceq1 addccom addcnul1 eqtri syl6eq necon3i addceq2 jca
    c0 ) ABCZNDANDBNDANONANEONBCZNANBFPBNCNNBGBHIJKBNONBNEOANCNBNALAHJKM $.

  ${
     $d M m n p k t $. $d N m n p k t $. $d P m n p k t $.
     $( Lemma for ~ preaddccan2 . Establish stratification for the induction
        step.  (Contributed by SF, 30-Mar-2021.) $)
     preaddccan2lem1 $p |- ( ( N e. Nn /\ P e. Nn ) ->
     { m | ( ( ( m +c N ) =/= (/) /\ ( m +c N ) = ( m +c P ) ) -> N = P ) }
     e. _V ) $=
       ( vt cv cplc c0 wceq wa cab cvv wcel cpw1 cimak copk 3bitr4i bitri pw1ex
       wn vex vn vp wne cnnc addceq2 neeq1d eqeq1d anbi12d imbi1d abbidv eleq1d
       wi eqeq2d anbi2d cun imor abbii unab eqtr4i cssetk cins3k cins2k cin c1c
       wo ccompl csik csymdif cdif cimagek ccnvk csn elcompl elin 0ex opkelcnvk
       elimaksn dfaddc2 eqeq2i eqcom opkelimagek notbii df-ne wrex rexv anbi12i
       wex bitr4i exbii elimak addcex eqvinc abbi2i imakex imagekex cnvkex snex
       addcexlem complex inex vvex eqeltrri abexv unex eqeltri vtocl2g ) BEZUAE
       ZFZGUCZXIXGUBEZFZHZIZCAHZULZBJZKLXGCFZGUCZXRXLHZIZXOULZBJZKLXSXRXGAFZHZI
       ZXOULZBJZKLUAUBCAUDUDXHCHZXQYCKYIXPYBBYIXNYAXOYIXJXSXMXTYIXIXRGXHCXGUEZU
       FYIXIXRXLYJUGUHUIUJUKXKAHZYCYHKYKYBYGBYKYAYFXOYKXTYEXSYKXLYDXRXKAXGUEUMU
       NUIUJUKXQXNSZBJZXOBJZUOZKXQYLXOVEZBJYOXPYPBXNXOUPUQYLXOBURUSYMYNUTVAZUTV
       BZVCVDMMZNVFVAYRVBYQVBUTVGVGVAUOVHYSMMNVIZXHMZMZNZVJZVKZGVLZNZVFZUUDYTXK
       MZMZNZVJZVCZVKZKNZVCZVFZYMKYLBUUQXGUUQLXGUUPLZSYLXGUUPBTZVMUURXNUURXGUUH
       LZXGUUOLZIXNXGUUHUUOVNUUTXJUVAXMXGUUGLZSXIGHZSUUTXJUVBUVCGXGOUUELXGGOUUD
       LZUVBUVCGXGUUDVOUUSVPUUEGXGVOUUSVQGXIHGUUCXGNZHUVCUVDXIUVEGXGXHVRZVSXIGV
       TXGGUUCUUSVOWAPPWBXGUUGUUSVMXIGWCPDEZXGOUUNLZDKWDZUVGXIHZUVGXLHZIZDWGZUV
       AXMUVIUVHDWGUVMUVHDWEUVHUVLDUVHXGUVGOZUUMLZUVLUVGXGUUMDTZUUSVPUVOUVNUUDL
       ZUVNUULLZIUVLUVNUUDUULVNUVQUVJUVRUVKUVQUVGUVEHUVJXGUVGUUCUUSUVPWAXIUVEUV
       GUVFVSWHUVRUVGUUKXGNZHUVKXGUVGUUKUUSUVPWAXLUVSUVGXGXKVRVSWHWFQQWIQDUUNKX
       GUUSWJDXIXLXGXHUUSUATZWKWLPWFQWBQWMUUPUUHUUOUUGUUEUUFUUDUUCYTUUBWRUUAXHU
       VTRRWNWOZWPGWQWNWSUUNKUUMUUDUULUWAUUKYTUUJWRUUIXKUBTRRWNWOWTWPXAWNWTWSXB
       XOBXCXDXEXF $.

     $( Cancellation law for natural addition with a non-null condition.
     	(Contributed by SF, 29-Jan-2015.) $)
     preaddccan2 $p |- ( ( ( M e. Nn /\ N e. Nn /\ P e. Nn ) /\
     ( M +c N ) =/= (/) ) -> ( ( M +c N ) = ( M +c P ) <-> N = P ) ) $=
       ( vm vk cnnc wcel cplc c0 wne wa wceq wi c0c c1c addceq1 eqeq12d anbi12d
       neeq1d imbi1d w3a cv cvv preaddccan2lem1 weq addc32 syl6eq biimpi adantl
       addcid2 eqeq12i addcnnul simpld simpll simplrl nncaddccl syl2anc simplrr
       a1i ad2antrl simprr simprl prepeano4 syl22anc jca ex imim1d findsd 3impb
       expdimp addceq2 impbid1 ) BFGZCFGZAFGZUAZBCHZIJZKVQBAHZLZCALZVPVRVTWAVMV
       NVOVRVTKZWAMZDUBZCHZIJZWEWDAHZLZKZWAMNCHZIJZWJNAHZLZKZWAMZEUBZCHZIJZWQWP
       AHZLZKZWAMWQOHZIJZXBWSOHZLZKZWAMWCVNVOKZDEBUCADCUDWDNLZWIWNWAXHWFWKWHWMX
       HWEWJIWDNCPZSXHWEWJWGWLXIWDNAPQRTDEUEZWIXAWAXJWFWRWHWTXJWEWQIWDWPCPZSXJW
       EWQWGWSXKWDWPAPQRTWDWPOHZLZWIXFWAXMWFXCWHXEXMWEXBIXMWEXLCHXBWDXLCPWPOCUF
       UGZSXMWEXBWGXDXNXMWGXLAHXDWDXLAPWPOAUFUGQRTWDBLZWIWBWAXOWFVRWHVTXOWEVQIW
       DBCPZSXOWEVQWGVSXPWDBAPQRTWOXGWMWAWKWMWAWJCWLACUJAUJUKUHUIUSWPFGZXGKZXFX
       AWAXRXFXAXRXFKZWRWTXCWRXRXEXCWROIJWQOULUMUTXSWQFGZWSFGZXEXCWTXSXQVNXTXQX
       GXFUNZXQVNVOXFUOWPCUPUQXSXQVOYAYBXQVNVOXFURWPAUPUQXRXCXEVAXRXCXEVBWQWSVC
       VDVEVFVGVHVIVJCABVKVL $.
  $}

  ${
    $d A x $.
    $( If the empty set is a finite cardinal, then it is a maximal element.
       (Contributed by SF, 19-Jan-2015.) $)
    nulge $p |- ( ( (/) e. Nn /\ A e. V ) -> << A , (/) >> e. <_[fin] ) $=
      ( vx c0 cnnc wcel wa copk clefin cv cplc wceq wrex addcnul1 eqcomi eqeq2d
      addceq2 rspcev mpan2 adantr wb opklefing ancoms mpbird ) DEFZABFZGADHIFZD
      ACJZKZLZCEMZUEUKUFUEDADKZLZUKULDANOUJUMCDEUHDLUIULDUHDAQPRSTUFUEUGUKUACAD
      BEUBUCUD $.
  $}

  ${
    $d A x $.
    $( Irreflexive law for finite less than.  (Contributed by SF,
       29-Jan-2015.) $)
    ltfinirr $p |- ( A e. Nn -> -. << A , A >> e. <[fin] ) $=
      ( vx cnnc wcel copk cltfin c0 wne cv cplc c1c wceq wa wn wi 0cnsuc necomi
      wrex c0c wb df-ne addcid1 eqcomi addcass eqeq12i simpll peano1 a1i peano2
      mpbi adantl neeq1i biimpri ad2antlr preaddccan2 syl31anc syl5bb mtbiri ex
      nrexdv imnan sylib opkltfing anidms mtbird ) ACDZAAEFDZAGHZAABIZJKJZLZBCR
      ZMZVFVHVLNZOVMNVFVHVNVFVHMZVKBCVOVICDZMZVKSVIKJZLZSVRHVSNVRSVIPQSVRUAUJVK
      ASJZAVRJZLZVQVSAVTVJWAVTAAUBZUCAVIKUDUEVQVFSCDZVRCDZVTGHZWBVSTVFVHVPUFWDV
      QUGUHVPWEVOVIUIUKVHWFVFVPWFVHVTAGWCULUMUNVRASUOUPUQURUTUSVHVLVAVBVFVGVMTB
      AACCVCVDVE $.
  $}

  ${
    $d A x y z $.  $d B x y z $.  $d C x y z $.
    $( Transitivity law for finite less than and less than or equal.
       (Contributed by SF, 2-Feb-2015.) $)
    leltfintr $p |- ( ( A e. Nn /\ B e. Nn /\ C e. Nn ) ->
       ( ( << A , B >> e. <_[fin] /\ << B , C >> e. <[fin] ) ->
         << A , C >> e. <[fin] ) ) $=
      ( vx vy vz cnnc wcel copk cltfin cv cplc wceq wrex wi wb wa c0 wne c1c
      w3a clefin opklefing 3adant3 simpld a1i nncaddccl 3adant1 addcass addceq1
      addcnnul ax-mp addceq2 syl eqeq2d rspcev syl2anc eqeq1 rexbidv syl5ibrcom
      3expa adantllr rexlimdva anim12d addcexg adantlr simplr opkltfing 3imtr4d
      cvv adantr opkeq1 eleq1d imbi1d 3adant2 sylbid imp3a ) AGHZBGHZCGHZUAZABI
      UBHZBCIZJHZACIJHZWAWBBADKZLZMZDGNZWDWEOZVRVSWBWIPVTDABGGUCUDVRVTWIWJOVSVR
      VTQZWHWJDGWKWFGHZQZWJWHWGCIZJHZWEOWMWGRSZCWGEKZLZTLZMZEGNZQZARSZCAFKZLZTL
      ZMZFGNZQZWOWEWMWPXCXAXHWPXCOWMWPXCWFRSAWFUKUEUFWMWTXHEGVRWLWQGHZWTXHOZVTV
      RWLXJXKVRWLXJUAZXHWTWSXFMZFGNZXLWFWQLZGHZWSAXOLZTLZMZXNWLXJXPVRWFWQUGUHXS
      XLWRXQMXSAWFWQUIWRXQTUJULUFXMXSFXOGXDXOMZXFXRWSXTXEXQMXFXRMXDXOAUMXEXQTUJ
      UNUOUPUQWTXGXMFGCWSXFURUSUTVAVBVCVDWMWGVJHZVTWOXBPVRWLYAVTAWFGGVEVFVRVTWL
      VGEWGCVJGVHUQWKWEXIPWLFACGGVHVKVIWHWDWOWEWHWCWNJBWGCVLVMVNUTVCVOVPVQ $.
  $}

  ${
    $d A x y z $.  $d B x y z $.  $d C x y z $.
    $( Transitivity law for finite less than.  (Contributed by SF,
       29-Jan-2015.) $)
    ltfintr $p |- ( ( A e. Nn /\ B e. Nn /\ C e. Nn ) ->
       ( ( << A , B >> e. <[fin] /\ << B , C >> e. <[fin] ) ->
         << A , C >> e. <[fin] ) ) $=
      ( vx vy vz cnnc wcel c0 cv cplc c1c wceq wrex wa cltfin addceq1 opkltfing
      copk wb w3a wne an4 wi simpl a1i reeanv addccom peano2 syl5eqel nncaddccl
      sylan2 adantl syl eqeq2d biimpa addceq2 addcass syl6eqr rspcev rexlimdvva
      ex syl2im syl5bir anim12d syl5bi 3adant3 3adant1 anbi12d 3adant2 3imtr4d
      eqtri ) AGHZBGHZCGHZUAZAIUBZBADJZKZLKZMZDGNZOZBIUBZCBEJZKZLKZMZEGNZOZOZVQ
      CAFJZKZLKZMZFGNZOZABSPHZBCSPHZOACSPHZWKVQWDOZWBWIOZOVPWQVQWBWDWIUCVPXAVQX
      BWPXAVQUDVPVQWDUEUFXBWAWHOZEGNDGNVPWPWAWHDEGGUGVPXCWPDEGGVPVRGHZWEGHZOZOV
      RLWEKZKZGHZXCCVTWEKZLKZMZWPXFXIVPXEXDXGGHXIXEXGWELKGLWEUHWEUIUJVRXGUKULUM
      WAWHXLWAWGXKCWAWFXJMWGXKMBVTWEQWFXJLQUNUOUPXIXLWPWOXLFXHGWLXHMZWNXKCXMWMX
      JMWNXKMXMWMAXHKZXJWLXHAUQXJVSXGKXNVSLWEURAVRXGURVLUSWMXJLQUNUOUTVBVCVAVDV
      EVFVPWRWCWSWJVMVNWRWCTVODABGGRVGVNVOWSWJTVMEBCGGRVHVIVMVOWTWQTVNFACGGRVJV
      K $.
  $}

  $( Asymmetry law for finite less than.  (Contributed by SF, 29-Jan-2015.) $)
  ltfinasym $p |- ( ( A e. Nn /\ B e. Nn ) ->
   ( << A , B >> e. <[fin] -> -. << B , A >> e. <[fin] ) ) $=
    ( cnnc wcel wa copk cltfin wn ltfinirr ad2antrr wi ltfintr 3anidm13 expdimp
    mtod ex ) ACDZBCDZEZABFGDZBAFGDZHSTEUAAAFGDZQUBHRTAIJSTUAUBQRTUAEUBKABALMNO
    P $.

  $( Cardinal zero is a minimal element for finite less than or equal.
     (Contributed by SF, 29-Jan-2015.) $)
  0cminle $p |- ( A e. Nn -> << 0c , A >> e. <_[fin] ) $=
    ( cnnc wcel c0c copk cplc clefin addcid2 opkeq2i peano1 lefinaddc syl5eqelr
    mpan ) ABCZDAEDDAFZEZGOADAHIDBCNPGCJDABKML $.

  ${
    $d A x $.
    $( One plus a finite cardinal is strictly greater.  (Contributed by SF,
       29-Jan-2015.) $)
    ltfinp1 $p |- ( ( A e. V /\ A =/= (/) ) ->
       << A , ( A +c 1c ) >> e. <[fin] ) $=
      ( vx wcel c0 wne wa c1c cplc copk cltfin wceq cnnc wrex simpr c0c addcid1
      cv peano1 cvv addceq1i eqcomi addceq2 addceq1d eqeq2d mp2an jctir wb 1cex
      rspcev addcexg mpan2 opkltfing mpdan adantr mpbird ) ABDZAEFZGZAAHIZJKDZU
      RUTACRZIZHIZLZCMNZGZUSURVFUQUROPMDUTAPIZHIZLZVFSVIUTVHAHAQUAUBVEVJCPMVBPL
      ZVDVIUTVKVCVHHVBPAUCUDUEUJUFUGUQVAVGUHZURUQUTTDZVLUQHTDVMUIAHBTUKULCAUTBT
      UMUNUOUP $.
  $}

  ${
    $d A x y $.  $d B x y $.
    $( Transfer from less than or equal to less than.  (Contributed by SF,
       29-Jan-2015.) $)
    lefinlteq $p |- ( ( A e. V /\ B e. W /\ A =/= (/) ) ->
       ( << A , B >> e. <_[fin] <-> ( << A , B >> e. <[fin] \/ A = B ) ) ) $=
      ( vx vy wcel cv cplc wceq cnnc wrex c1c wo wb c0c addceq2 eqeq1 rexbidv
      wa c0 wne w3a copk clefin nnc0suc addcid1 syl6req addcass syl6eqr orim12i
      cltfin reximi sylbi orcomd eqeq2 syl5ibrcom rexlimiv eqeq2i peano2 eqeq2d
      orbi12d rspcev sylan sylan2b rexlimiva peano1 eqcomi mp2an mpbii jaoi a1i
      impbii opklefing 3adant3 opkltfing adantr ibar adantl bitr4d orbi1d 3impa
      3bitr4d ) ACGZBDGZAUAUBZUCZBAEHZIZJZEKLZBAFHZIMIZJZFKLZABJZNZABUDZUEGZWRU
      LGZWPNZWKWQOWGWKWQWJWQEKWHKGZWQWJWIWMJZFKLZAWIJZNXBXEXDXBWHPJZWHWLMIZJZFK
      LZNXEXDNFWHUFXFXEXIXDXFWIAPIZAWHPAQZAUGZUHXHXCFKXHWIAXGIZWMWHXGAQZAWLMUIZ
      UJUMUKUNUOWJWOXDWPXEWJWNXCFKBWIWMRSBWIAUPVBUQURWOWKWPWNWKFKWNWLKGZBXMJZWK
      WMXMBXOUSXPXGKGXQWKWLUTWJXQEXGKXHWIXMBXNVAVCVDVEVFWPXEEKLZWKPKGAXJJZXRVGX
      JAXLVHXEXSEPKXFWIXJAXKVAVCVIWPXEWJEKABWIRSVJVKVMVLWDWEWSWKOWFEABCDVNVOWDW
      EWFXAWQOWDWETZWFTZWTWOWPYAWTWFWOTZWOXTWTYBOWFFABCDVPVQWFWOYBOXTWFWOVRVSVT
      WAWBWC $.
  $}

  ${
    $d a b $.  $d a c $.  $d a d $.  $d a t $.  $d a w $.  $d a y $.  $d a z $.
    $d b c $.  $d b d $.  $d b t $.  $d b w $.  $d b y $.  $d b z $.  $d c d $.
    $d c t $.  $d c w $.  $d c x $.  $d c y $.  $d c z $.  $d d t $.  $d d w $.
    $d d y $.  $d d z $.  $d t w $.  $d t x $.  $d t y $.  $d t z $.  $d w x $.
    $d w y $.  $d w z $.  $d x y $.  $d x z $.  $d y z $.

    $( Finite less than is stratified.  (Contributed by SF, 29-Jan-2015.) $)
    ltfinex $p |- <[fin] e. _V $=
      ( vx vt vc va vb vd cssetk csik cpw1 csn copk wceq wrex wa wex opksnelsik
      wcel snex 3bitri sikex vy vz cltfin cvv cxpk cins3k cins2k cin c1c ccompl
      vw cimak cun csymdif cdif cimagek cnnc c0 cv wne cplc df-ltfin elin elvvk
      cab anbi1i 19.41vv eleq1 opkex elimak elpw12 r19.41v bitr4i exbii rexcom4
      wn df-rex 3bitr4i opkeq1 eleq1d ceqsexv elpw131c 19.41v excom wb elpw161c
      wel elsymdif otkelins3k vex elssetk otkelins2k elpw181c ndisjrelk elcompl
      bitri notbii df-ne con2bii elpw1111c orbi12i elun bibi12i wal dfcleq alex
      wo anbi12i rexcom df-addc eqeq2i abeq2 opkelimagek dfaddc2 addcex addceq1
      eqeq2d rexbii opkelxpk mpbiran2 elsnc anbi2i syl6bb pm5.32i 2exbii bitr3i
      eldif ancom abbi2i eqtr4i vvex xpkex ssetkex ins3kex ins2kex pw1ex imakex
      inex complex symdifex 1cex unex addcexlem imagekex nncex difex eqeltri )
[encoded data, 5920 characters]
      PYPYQUXQUDURRYKYLUUFYRUUG $.
  $}

  ${
    $d m n t $.
    $( Lemma for ~ ltfintri .  Establish stratification for induction.
       (Contributed by SF, 29-Jan-2015.) $)
    ltfintrilem1 $p |- { m | ( n e. Nn -> ( m =/= (/) ->
     ( << m , n >> e. <[fin] \/ m = n \/ << n , m >> e. <[fin] ) )
                                                      ) } e. _V $=
      ( vt cv wcel wn cab c0 csn cltfin cimak cun copk weq wi wo unab elun unex
      bitri cnnc ccnvk wne w3o cvv wceq wrex vex elimak opkeq1 eleq1d opkelcnvk
      df-sn rexsn elsnc orbi12i df-3or 3bitr4i abbi2i uneq12i eqtri uneq2i imor
      df-ne imbi1i df-or bitr4i orbi2i abbii 3eqtr4i snex ltfinex cnvkex imakex
      abexv eqeltrri ) BDZUAEZFZAGZHIZJUBZVQIZKZWCLZJWCKZLZLZLZVRADZHUCZWJVQMJE
      ZABNZVQWJMZJEZUDZOZOZAGZUEVTWJHUFZWPPZAGZLVSXAPZAGWIWSVSXAAQWHXBVTWHWTAGZ
      WPAGZLXBWAXDWGXEAHUMWPAWGWJWEEZWJWFEZPWLWMPZWOPWJWGEWPXFXHXGWOXFWJWDEZWJW
      CEZPXHWJWDWCRXIWLXJWMXIWNWBEZWLXICDZWJMZWBEZCWCUGXKCWBWCWJAUHZUIXNXKCVQBU
      HZCBNZXMWNWBXLVQWJUJZUKUNTVQWJJXPXOULTWJVQXOUOUPTXGXMJEZCWCUGWOCJWCWJXOUI
      XSWOCVQXPXQXMWNJXRUKUNTUPWJWEWFRWLWMWOUQURUSUTWTWPAQVAVBWRXCAWRVSWQPXCVRW
      QVCWQXAVSWQWTFZWPOXAWKXTWPWJHVDVEWTWPVFVGVHTVIVJVTWHVSAVOWAWGHVKWEWFWDWCW
      BWCJVLVMVQVKZVNYASJWCVLYAVNSSSVP $.
  $}

  ${
    $d M m n k p $.  $d N m n k p $.
    $( Trichotomy law for finite less than.  (Contributed by SF,
       29-Jan-2015.) $)
    ltfintri $p |- ( ( M e. Nn /\ N e. Nn /\
              M =/= (/) ) ->
       ( << M , N >> e. <[fin] \/ M = N \/ << N , M >> e. <[fin] ) ) $=
      ( vn vk cnnc wcel wne copk cltfin wceq w3o opkeq2 eleq1d opkeq1 3orbi123d
      vp c0 wi imbi2d c0c vm cv eqeq2 weq cplc ltfintrilem1 neeq1 eqeq1 imbi12d
      c1c wa wo clefin 0cminle adantr cvv wb 0cex lefinlteq mp3an1 orcom syl6bb
      mpbid 3mix2 3mix1 jaoi syl ex addcnnul simpld 3ad2ant3 wrex addc32 eqeq2i
      w3a rexbii biimpi adantl a1i opkltfing 3adant3 simp1 peano2 simp2 syl2anc
      opklefing 3imtr4d syl3an1 sylibd ltfinp1 sylan2 3adant2 syl5ibcom ltfintr
      syl6 3mix3 syl3anc mpan2d 3jaod embantd 3expia com23 a2d finds com12 3imp
      vtoclga ) AEFZBEFZAQGZABHZIFZABJZBAHZIFZKZXIXHXJXPRZXHXJACUBZHZIFZAXRJZXR
      AHZIFZKZRZRXHXQRCBEXRBJZYEXQXHYFYDXPXJYFXTXLYAXMYCXOYFXSXKIXRBALMXRBAUCYF
      YBXNIXRBANMOSSXHXREFZYEYGDUBZQGZYHXRHZIFZDCUDZXRYHHZIFZKZRZRYGTQGZTXRHZIF
      ZTXRJZXRTHZIFZKZRZRYGUAUBZQGZUUEXRHZIFZUACUDZXRUUEHZIFZKZRZRYGUUEUJUEZQGZ
      UUNXRHZIFZUUNXRJZXRUUNHZIFZKZRZRYGYERDUAADCUFYHTJZYPUUDYGUVCYIYQYOUUCYHTQ
      UGUVCYKYSYLYTYNUUBUVCYJYRIYHTXRNMYHTXRUHUVCYMUUAIYHTXRLMOUISDUAUDZYPUUMYG
      UVDYIUUFYOUULYHUUEQUGUVDYKUUHYLUUIYNUUKUVDYJUUGIYHUUEXRNMYHUUEXRUHUVDYMUU
      JIYHUUEXRLMOUISYHUUNJZYPUVBYGUVEYIUUOYOUVAYHUUNQUGUVEYKUUQYLUURYNUUTUVEYJ
      UUPIYHUUNXRNMYHUUNXRUHUVEYMUUSIYHUUNXRLMOUISYHAJZYPYEYGUVFYIXJYOYDYHAQUGU
      VFYKXTYLYAYNYCUVFYJXSIYHAXRNMYHAXRUHUVFYMYBIYHAXRLMOUISYGYQUUCYGYQUKZYTYS
      ULZUUCUVGYRUMFZUVHYGUVIYQXRUNUOUVGUVIYSYTULZUVHTUPFYGYQUVIUVJUQURTXRUPEUS
      UTYSYTVAVBVCYTUUCYSYTYSUUBVDYSYTUUBVEVFVGVHUUEEFZYGUUMUVBUVKYGUUMUVBRUVKY
      GUKUUOUUMUVAUVKYGUUOUUMUVARUVKYGUUOVOZUUFUULUVAUUOUVKUUFYGUUOUUFUJQGUUEUJ
      VIVJZVKUVLUUHUVAUUIUUKUVLUUHUUQUURULZUVAUVLUUHUUPUMFZUVNUVLUUFXRUUEPUBZUE
      UJUEZJZPEVLZUKZXRUUNUVPUEZJZPEVLZUUHUVOUVTUWCRUVLUVSUWCUUFUVSUWCUVRUWBPEU
      VQUWAXRUUEUVPUJVMVNVPVQVRVSUVKYGUUHUVTUQUUOPUUEXREEVTWAUVLUUNEFZYGUVOUWCU
      QUVLUVKUWDUVKYGUUOWBZUUEWCZVGZUVKYGUUOWDZPUUNXREEWFWEWGUVKUWDYGUUOUVOUVNU
      QUWFUUNXREEUSWHWIUUQUVAUURUUQUURUUTVEUURUUQUUTVDVFWOUVLUUIUUTUVAUVLUUEUUN
      HZIFZUUIUUTUVKUUOUWJYGUUOUVKUUFUWJUVMUUEEWJWKWLZUUIUWIUUSIUUEXRUUNNMWMUUT
      UUQUURWPZWOUVLUUKUUTUVAUVLUUKUWJUUTUWKUVLYGUVKUWDUUKUWJUKUUTRUWHUWEUWGXRU
      UEUUNWNWQWRUWLWOWSWTXAXBVHXCXDXEXGXEXF $.
  $}

  ${
    $d A x $.
    $( Less than or equal to is reflexive.  (Contributed by SF, 2-Feb-2015.) $)
    lefinrflx $p |- ( A e. V -> << A , A >> e. <_[fin] ) $=
      ( vx wcel copk clefin cv cplc wceq cnnc c0c peano1 addcid1 eqcomi addceq2
      wrex eqeq2d rspcev mp2an wb opklefing anidms mpbiri ) ABDZAAEFDZAACGZHZIZ
      CJPZKJDAAKHZIZUILUJAAMNUHUKCKJUFKIUGUJAUFKAOQRSUDUEUITCAABBUAUBUC $.
  $}

  ${
    $d A x y $.  $d B x y $.
    $( Less than implies less than or equal.  (Contributed by SF,
       2-Feb-2015.) $)
    ltlefin $p |- ( ( A e. V /\ B e. W ) ->
             ( << A , B >> e. <[fin] -> << A , B >> e. <_[fin] ) ) $=
      ( vx vy wcel wa c0 wne cv cplc c1c wceq cnnc wrex copk cltfin clefin wi
      addcass eqeq2i peano2 addceq2 eqeq2d rspcev sylan rexlimiva a1i opkltfing
      sylan2b adantl opklefing 3imtr4d ) ACGBDGHZAIJZBAEKZLMLZNZEOPZHZBAFKZLZNZ
      FOPZABQZRGVFSGVAVETUOUTVEUPUSVEEOUSUQOGZBAUQMLZLZNZVEURVIBAUQMUAUBVGVHOGV
      JVEUQUCVDVJFVHOVBVHNVCVIBVBVHAUDUEUFUGUKUHULUIEABCDUJFABCDUMUN $.
  $}

  $( Less than or equal is the same as negated less than.  (Contributed by SF,
     2-Feb-2015.) $)
  lenltfin $p |- ( ( A e. Nn /\ B e. Nn ) ->
       ( << A , B >> e. <_[fin] <-> -. << B , A >> e. <[fin] ) ) $=
    ( cnnc wcel wa copk clefin cltfin wn ltfinirr wi leltfintr 3anidm13 expdimp
    adantr c0 wceq opkeq2 eleq1d wo ex nulge ancoms eleq1 anbi2d imbi12d mpbiri
    mtod a1dd wne w3o simplr simpll simpr ltfintri syl3anc 3orass ord lefinrflx
    sylib syl5ibrcom ltlefin jaod syld expcom pm2.61ine impbid ) ACDZBCDZEZABFZ
    GDZBAFHDZIZVJVLVNVJVLEVMAAFZHDZVJVPIZVLVHVQVIAJOOVJVLVMVPVHVIVLVMEVPKABALMN
    UHUAVJVNVLKZKBPBPQZVJVLVNVSVJVLKVHPCDZEZAPFZGDZKVTVHWCACUBUCVSVJWAVLWCVSVIV
    TVHBPCUDUEVSVKWBGBPARSUFUGUIVJBPUJZVRVJWDEZVNBAQZVKHDZTZVLWEVMWHWEVMWFWGUKZ
    VMWHTWEVIVHWDWIVHVIWDULVHVIWDUMVJWDUNBAUOUPVMWFWGUQUTURWEWFVLWGVJWFVLKWDVJV
    LWFVOGDZVHWJVIACUSOWFVKVOGBAARSVAOVJWGVLKWDABCCVBOVCVDVEVFVG $.

  ${
    $d A a $.  $d a b $.  $d a c $.  $d a d $.  $d a k $.  $d a m $.  $d a n $.
    $d a x $.  $d B a $.  $d B b $.  $d b c $.  $d b d $.  $d b k $.  $d b m $.
    $d b n $.  $d b t $.  $d b x $.  $d c d $.  $d c k $.  $d c m $.  $d c x $.
    $d d k $.  $d d m $.  $d d x $.  $d k m $.  $d k x $.  $d m n $.  $d m t $.
    $( A subset of a finite set is itself finite.  Theorem X.1.21 of [Rosser]
       p. 527.  (Contributed by SF, 19-Jan-2015.) $)
    ssfin $p |- ( ( A e. V /\ B e. Fin /\ A C_ B ) -> A e. Fin ) $=
      ( va vb vn vm vt vx wcel cfin wss cv wi wceq wa wal cssetk cvv wex imbi2d
      vd vk vc sseq1 eleq1 imbi12d sseq2 imbi1d wel cnnc wrex elfin c0 c1c cplc
      ccompl cimak cpw1 cxpk cin cab wn elcompl alcom impexp albii 19.21v bitri
      vex copk elimak csn df-rex anbi1i 19.41v bitr4i exbii excom opkeq1 eleq1d
      el1c ceqsexv elssetk opkelxpk mpbiran2 snelpw1 ancom wb opkelssetkg mp2an
      snex elin anbi12i exanali 3bitri con2bii abbi2i ssetkex finex imakex vvex
      pw1ex xpkex inex 1cex eqeltrri c0c eleq2 df-0c eleq2i elsnc syl6bb anbi1d
      complex 2albidv weq elequ2 adantl sseq12 anbi12d adantr biimpa ss0b sylib
      cbval2v 0fin syl6eqel wo w3a cdif cun 3ad2ant2 syl5eq df-dif df-ss sylibr
      com23 imp3a ex gen2 wpss sspss dfpss4 orbi1i simp1 snid eldif simprbi mt2
      a1i undif1 snssi ssequn2 simp3r eqeltrd nnsucelr syl12anc ineq2i 3eqtr4ri
      difex inass biimpi 3ad2ant3 difeq1d difsn eqtrd jca 3adant1r 3ad2ant1 mpd
      spc2gv 3exp exp5c rexlimdv peano2 rspcev syl biimprd syl9 syl5bi alrimivv
      jaod finds 19.21bbi exp3a rexlimiv sylbi vtoclga vtoclg 3imp ) ACJBKJZABL
      ZAKJZUWLDMZBLZUWOKJZNZNUWLUWMUWNNZNDACUWOAOZUWRUWSUWLUWTUWPUWMUWQUWNUWOAB
      UEUWOAKUFUGUAUWOEMZLZUWQNZUWREBKUXABOUXBUWPUWQUXABUWOUHUIUXAKJZEFUJZFUKUL
      UXCFUXAUMUXEUXCFUKFMZUKJZUXEUXBUWQUXGUXEUXBPZUWQNZDEEGUJZUXBPZUWQNZEQDQZU
      XAUNOZUXBPZUWQNZEQDQUBUCUJZUDMZUBMZLZPZUXRKJZNZUBQUDQZUXAUCMZUOUPZJZUXBPZ
      UWQNZEQDQZUXIEQDQGUCUXFRRKUQZURZUSZSUTZVAZUOURZUQZUXMGVBSUXMGUYQGMZUYQJUY
      RUYPJZVCZUXMUYRUYPGVJZVDUXMUXLDQZEQUXJUXCDQZNZEQZUYTUXLDEVEVUBVUDEVUBUXJU
      XCNZDQVUDUXLVUFDUXJUXBUWQVFVGUXJUXCDVHVIVGUYSVUEUYSHMZUYRVKZUYOJZHUOULZUX
      JVUCVCZPZETZVUEVCHUYOUOUYRVUAVLVUJVUGUOJZVUIPZHTZVUGUXAVMZOZVUIPZHTZETZVU
      MVUIHUOVNVUPVUSETZHTVVAVUOVVBHVUOVURETZVUIPVVBVUNVVCVUIEVUGWBVOVURVUIEVPV
      QVRVUSEHVSVQVUTVULEVUTVUQUYRVKZUYOJZVVDRJZVVDUYNJZPVULVUIVVEHVUQUXAWLZVUR
      VUHVVDUYOVUGVUQUYRVTWAWCVVDRUYNWMVVFUXJVVGVUKUXAUYREVJZVUAWDVVGVUQUYMJZUX
      AUYLJZVUKVVGVVJUYRSJVUAVUQUYRUYMSVVHVUAWEWFUXAUYLWGVVKUWOUXAVKRJZDUYKULZU
      XBUWQVCZPZDTZVUKDRUYKUXAVVIVLVVMUWOUYKJZVVLPZDTVVPVVLDUYKVNVVRVVODVVRVVLV
      VQPVVOVVQVVLWHVVLUXBVVQVVNUWOSJZUXASJVVLUXBWIDVJZVVIUWOUXASSWJWKUWOKVVTVD
      WNVIVRVIUXBUWQDWOWPWPWNWPVRWPUXJVUCEWOWPWQWPVQWRUYPUYOUORUYNWSUYMSUYLRUYK
      WSKWTXOXAXCXBXDXEXFXAXOXGUYRXHOZUXLUXPDEVWAUXKUXOUWQVWAUXJUXNUXBVWAUXJUXA
      XHJZUXNUYRXHUXAXIVWBUXAUNVMZJUXNXHVWCUXAXJXKUXAUNVVIXLVIXMXNUIXPGUCXQZUXM
      EUCUJZUXBPZUWQNZEQDQUYDVWDUXLVWGDEVWDUXKVWFUWQVWDUXJVWEUXBGUCEXRXNUIXPVWG
      UYCDEUDUBDUDXQZEUBXQZPZVWFUYAUWQUYBVWJVWEUXQUXBUXTVWIVWEUXQWIVWHUXAUXSUYE
      UFXSUWOUXRUXAUXSXTYAVWHUWQUYBWIVWIUWOUXRKUFYBUGYFXMUYRUYFOZUXLUYIDEVWKUXK
      UYHUWQVWKUXJUYGUXBUYRUYFUXAXIXNUIXPGFXQZUXLUXIDEVWLUXKUXHUWQVWLUXJUXEUXBG
      FEXRXNUIXPUXPDEUXOUWOUNKUXOUWOUNLZUWOUNOUXNUXBVWMUXAUNUWOUHYCUWOYDYEYGYHU
      UAUYEUKJZUYDUYJVWNUYDPZUYIDEVWOUYGUXBUWQVWOUXBUYGUWQUXBUXBIDUJVCZIUXAULZP
      ZDEXQZYIZVWOUYGUWQNZUXBUWOUXAUUBZVWSYIVWTUWOUXAUUCVXBVWRVWSIUWOUXAUUDUUEV
      IVWOVWRVXAVWSVWOUXBVWQVXAVWOVWQUXBVXAVWOVWPUXBVXANIUXAVWOIEUJZVWPUXBUYGUW
      QVWOVXCVWPPZUXBUYGPZUWQVWOVXDVXEYJUXAIMZVMZYKZUYEJZUWOVXHLZPZUWQVWNVXDVXE
      VXKUYDVWNVXDVXEYJZVXIVXJVXLVWNVXFVXHJZVCZVXHVXGYLZUYFJVXIVWNVXDVXEUUFVXNV
      XLVXMVXFVXGJZVXFIVJZUUGVXMVXCVXPVCVXFUXAVXGUUHUUIUUJUUKVXLVXOUXAUYFVXLVXO
      UXAVXGYLZUXAUXAVXGUULVXDVWNVXRUXAOZVXEVXCVXSVWPVXCVXGUXALVXSVXFUXAUUMVXGU
      XAUUNYEYBYMYNVWNVXDUXBUYGUUOUUPVXHUYEVXFUXAVXGVVIVXFWLUVAZVXQUUQUURVXLUWO
      VXHVAZUWOOVXJVXLVYAUWOUXAVAZVXGYKZUWOVYBVXGUQZVAUWOUXAVYDVAZVAVYCVYAUWOUX
      AVYDUVBVYBVXGYOVXHVYEUWOUXAVXGYOUUSUUTVXLVYCUWOVXGYKZUWOVXLVYBUWOVXGVXEVW
      NVYBUWOOZVXDUXBVYGUYGUXBVYGUWOUXAYPUVCYBUVDUVEVXDVWNVYFUWOOZVXEVWPVYHVXCV
      XFUWOUVFXSYMUVGYNUWOVXHYPYQUVHUVIVWOVXDVXKUWQNZVXEUYDVYIVWNVVSVXHSJUYDVYI
      NVVTVXTUYCVYIUDUBUWOVXHSSUDDXQZUXSVXHOZPZUYAVXKUYBUWQVYLUXQVXIUXTVXJVYKUX
      QVXIWIVYJUXSVXHUYEUFXSUXRUWOUXSVXHXTYAVYJUYBUWQWIVYKUXRUWOKUFYBUGUVLWKXSU
      VJUVKUVMUVNUVOYRYSVWNVWSVXANUYDVWNUYGUXDVWSUWQVWNUYFUKJZUYGUXDNUYEUVPVYMU
      YGUXDVYMUYGPEIUJZIUKULUXDVYNUYGIUYFUKVXFUYFUXAXIUVQIUXAUMYQYTUVRVWSUWQUXD
      UWOUXAKUFUVSUVTYBUWCUWAYRYSUWBYTUWDUWEUWFUWGUWHUWIUWJUWK $.
  $}

  ${
    $d A x y $.
    $( If the universe is finite, then there is a unique natural containing any
       set.  Theorem X.1.22 of [Rosser] p. 527.  (Contributed by SF,
       19-Jan-2015.) $)
    vfinnc $p |- ( ( A e. V /\ _V e. Fin ) -> E! x e. Nn A e. x ) $=
      ( vy wcel cvv cfin wa cv cnnc wrex weq wi wral wss ssv ssfin mp3an3 elfin
      wreu sylib nnceleq ex rgen2a a1i eleq2 reu4 sylanbrc ) BCEZFGEZHZBAIZEZAJ
      KZUMBDIZEZHZADLZMZDJNAJNZUMAJTUKBGEZUNUIUJBFOVABPBFCQRABSUAUTUKUSADJULJEU
      OJEHUQURBULUOUBUCUDUEUMUPADJULUOBUFUGUH $.
  $}

  ${
    $d A x $.
    $( The finite cardinality of a set exists.  (Contributed by SF,
       27-Jan-2015.) $)
    ncfinex $p |- Nc[fin] A e. _V $=
      ( vx cncfin cv cnnc wcel wa cio cvv df-ncfin iotaex eqeltri ) ACBDZEFAMFG
      ZBHIBAJNBKL $.
  $}

  ${
    $d A x $.  $d B x $.
    $( Equality theorem for finite cardinality.  (Contributed by SF,
       20-Jan-2015.) $)
    ncfineq $p |- ( A = B -> Nc[fin] A = Nc[fin] B ) $=
      ( vx wceq cv cnnc wcel cio cncfin eleq1 anbi2d iotabidv df-ncfin 3eqtr4g
      wa ) ABDZCEZFGZAQGZOZCHRBQGZOZCHAIBIPTUBCPSUARABQJKLCAMCBMN $.
  $}

  ${
    $d A x $.
    $( Properties of finite cardinal number.  Theorem X.1.23 of [Rosser] p. 527
       (Contributed by SF, 20-Jan-2015.) $)
    ncfinprop $p |- ( ( _V e. Fin /\ A e. V ) ->
               ( Nc[fin] A e. Nn /\ A e. Nc[fin] A ) ) $=
      ( vx wcel cvv cfin cncfin cnnc cio df-ncfin wreu vfinnc reiotacl syl5eqel
      wa cv syl wceq eqcomi wb eleq2 reiota2 syl2anc mpbiri jca ancoms ) ABDZEF
      DZAGZHDZAUIDZOUGUHOZUJUKULUICPZHDAUMDZOCIZHCAJZULUNCHKZUOHDCABLZUNCHMQNZU
      LUKUOUIRZUIUOUPSULUJUQUKUTTUSURUNUKCHUIUMUIAUAUBUCUDUEUF $.
  $}

  $( Distribution law for finite cardinality.  (Contributed by SF,
     30-Jan-2015.) $)
  ncfindi $p |- ( ( ( _V e. Fin /\ A e. V ) /\ B e. W /\ ( A i^i B ) = (/) )
     -> Nc[fin] ( A u. B ) = ( Nc[fin] A +c Nc[fin] B ) ) $=
    ( cvv cfin wcel wa cin c0 wceq w3a cun cncfin cnnc syl2anc ncfinprop simpld
    cplc simprd simp1l simp1r simp2 nncaddccl eladdci syl3anc nnceleq syl22anc
    unexg simp3 ) EFGZACGZHZBDGZABIJKZLZABMZNZOGZANZBNZSZOGZUQURGZUQVBGZURVBKUP
    USVDUPUKUQEGZUSVDHUKULUNUOUAZUPULUNVFUKULUNUOUBZUMUNUOUCZABCDUIPUQEQPZRUPUT
    OGZVAOGZVCUPVKAUTGZUPUKULVKVMHVGVHACQPZRUPVLBVAGZUPUKUNVLVOHVGVIBDQPZRUTVAU
    DPUPUSVDVJTUPVMVOUOVEUPVKVMVNTUPVLVOVPTUMUNUOUJABUTVAUEUFUQURVBUGUH $.

  $( If the universe is finite, then the cardinality of a singleton is ` 1c ` .
     (Contributed by SF, 30-Jan-2015.) $)
  ncfinsn $p |- ( ( _V e. Fin /\ A e. V ) -> Nc[fin] { A } = 1c ) $=
    ( cvv cfin wcel csn cncfin cnnc c1c wceq snex ncfinprop mpan2 adantr simpld
    wa 1cnnc a1i simprd snel1cg adantl nnceleq syl22anc ) CDEZABEZPZAFZGZHEZIHE
    ZUGUHEZUGIEZUHIJUFUIUKUDUIUKPZUEUDUGCEUMAKUGCLMNZOUJUFQRUFUIUKUNSUEULUDABTU
    AUGUHIUBUC $.

  $( Equality law for finite cardinality.  Theorem X.1.24 of [Rosser] p. 527.
     (Contributed by SF, 20-Jan-2015.) $)
  ncfineleq $p |- ( ( _V e. Fin /\ A e. V /\ B e. W ) ->
     ( A e. Nc[fin] B <-> Nc[fin] A = Nc[fin] B ) ) $=
    ( cvv cfin wcel w3a cncfin wceq wa cnnc simpl ncfinprop 3adant3 3syl simpld
    3adant2 adantr simprd simpr nnceleq syl22anc ex eleq2 syl5ibcom impbid ) EF
    GZACGZBDGZHZABIZGZAIZULJZUKUMUOUKUMKZUNLGZULLGZAUNGZUMUOUPUKUQUSKZUQUKUMMUH
    UIUTUJACNOZUQUSMPUKURUMUKURBULGZUHUJURVBKUIBDNRQSUKUSUMUKUQUSVATZSUKUMUAAUN
    ULUBUCUDUKUSUOUMVCUNULAUEUFUG $.

  ${
    $d A x t $.  $d B x t $.
    eqpwrelk.1 $e |- A e. _V $.
    eqpwrelk.2 $e |- B e. _V $.
    $( Represent equality to power class via a Kuratowski relationship.
       (Contributed by SF, 26-Jan-2015.) $)
    eqpwrelk $p |- ( << { A } , B >> e.
              ~ ( ( Ins2_k _S_k (+) Ins3_k SI_k _S_k ) "_k
                  ~P1 ~P1 1c ) <-> B = ~P A ) $=
      ( vx vt csn copk cssetk cpw1 wcel wn cv wb wex wceq wa snex cvv 3bitri
      cins2k csik cins3k csymdif c1c cimak wss ccompl cpw opkex elimak elpw121c
      anbi1i 19.41v bitr4i exbii df-rex excom 3bitr4i opkeq1 ceqsexv otkelins2k
      eleq1d elsymdif vex elssetk bitri otkelins3k opksnelsik opkelssetkg mp2an
      wrex bibi12i notbii elcompl cab wal df-pw eqeq2i abeq2 alex ) AGZBHZIUAZI
      UBZUCZUDZUEJJZUFZKZLEMZBKZWKAUGZNZLZEOZLZWCWIUHKBAUIZPZWJWPWJFMZWCHZWGKZF
      WHVLZWTWKGZGZGZPZXBQZFOZEOZWPFWGWHWCWBBUJZUKWTWHKZXBQZFOXHEOZFOXCXJXMXNFX
      MXGEOZXBQXNXLXOXBEWTULUMXGXBEUNUOUPXBFWHUQXHEFURUSXIWOEXIXFWCHZWGKZXPWDKZ
      XPWFKZNZLWOXBXQFXFXERXGXAXPWGWTXFWCUTVCVAXPWDWFVDXTWNXRWLXSWMXRXDBHIKWLXD
      WBBIWKRZARZDVBWKBEVEZDVFVGXSXDWBHWEKWKAHIKZWMXDWBBWEYAYBDVHWKAIYCCVIWKSKA
      SKYDWMNYCCWKASSVJVKTVMVNTUPTVNWCWIXKVOWSBWMEVPZPWNEVQWQWRYEBEAVRVSWMEBVTW
      NEWATUS $.
  $}

  ${
    $d A x t $.  $d B x t $.
    eqpw1relk.1 $e |- A e. _V $.
    eqpw1relk.2 $e |- B e. _V $.
    $( Represent equality to unit power class via a Kuratowski relationship.
       (Contributed by SF, 21-Jan-2015.) $)
    eqpw1relk $p |- ( << A , { B } >> e. ( ( ~P 1c X._k _V ) \
  ( ( Ins3_k _S_k (+) Ins2_k SI_k _S_k )
    "_k ~P1 ~P1 ~P1 1c ) ) <-> A = ~P1 B ) $=
      ( vx vt csn copk c1c cvv wcel cssetk cpw1 wn wa cv wb snex bitri wex cxpk
      cpw cins3k csik cins2k csymdif cimak wss cdif wceq opkelxpk mpbiran2 elpw
      wal opkex elimak elpw131c anbi1i 19.41v bitr4i exbii df-rex excom 3bitr4i
      wrex opkeq1 ceqsexv elsymdif otkelins3k elssetk otkelins2k opksnelsik vex
      eleq1d bibi12i xchbinx exnal 3bitrri con1bii anbi12i eldif eqpw1 ) ABGZHZ
      IUBZJUAZKZWDLUCZLUDZUEZUFZIMMMZUGZKZNZOAIUHZEPZGZAKZWQBKZQZEUNZOWDWFWMUIK
      ABMUJWGWPWOXBWGAWEKZWPWGXCWCJKBRZAWCWEJCXDUKULAICUMSXBWNWNFPZWRGZGZGZUJZX
      EWDHZWKKZOZFTZETZXANZETXBNWNXKFWLVEZXNFWKWLWDAWCUOUPXEWLKZXKOZFTXLETZFTXP
      XNXRXSFXRXIETZXKOXSXQXTXKEXEUQURXIXKEUSUTVAXKFWLVBXLEFVCVDSXMXOEXMXHWDHZW
      KKZXOXKYBFXHXGRXIXJYAWKXEXHWDVFVNVGYBYAWHKZYAWJKZQXAYAWHWJVHYCWSYDWTYCXFA
      HLKWSXFAWCLWRRZCXDVIWRAWQRZCVJSYDXFWCHWIKZWTXFAWCWIYECXDVKYGWRBHLKWTWRBLY
      FDVLWQBEVMDVJSSVOVPSVAXAEVQVRVSVTWDWFWMWAEABWBVD $.
  $}

  ${
    $d a b $.  $d a m $.  $d a n $.  $d a t $.  $d a x $.  $d b m $.  $d b n $.
    $d b t $.  $d b x $.  $d m t $.  $d n t $.  $d n x $.  $d t x $.

    $( Lemma for ~ ncfinraise .  Show stratification for induction.
       (Contributed by SF, 22-Jan-2015.) $)
    ncfinraiselem2 $p |- { m | A. a e. m A. b e. m E. n e. Nn
       ( ~P1 a e. n /\ ~P1 b e. n ) } e. _V $=
      ( vt vx cssetk cpw1 cvv wcel wa wrex snex copk bitr4i exbii df-rex 3bitri
      csn wex csik cins2k cnnc cxpk c1c cpw cins3k csymdif cimak cdif cin cuni1
      ccompl cv wral wn elcompl wceq elimak elpw11c anbi1i 19.41v excom 3bitr4i
      cab wel opkeq1 eleq1d ceqsexv vex opksnelsik elssetk bitri opkex elpw131c
      elin eldif otkelins2k opkelxpk mpbiran2 snelpw1 eqpw1relk anbi12i df-clel
      elpw121c notbii rexnal xchbinx eluni1 dfral2 abbi2i ssetkex sikex ins2kex
      otkelins3k nncex pw1ex vvex xpkex 1cex pwex ins3kex symdifex imakex difex
      inex complex uni1ex eqeltrri ) GUAZXJUBZUCHZHZIUDZUEUFZIUDZGUGZXKUHZUEHZH
      ZHZUIZUJZUAZUBZXQUKZXTUIZUBZYGUGZUKZUKZXSUIZUGZUJZYAUIZUKZXSUIZUMZULZCUNZ
      HZBUNZJZDUNZHZUUBJZKZBUCLZDAUNZUOZCUUIUOZAVEIUUKAYSUUISZYRJZUUJUPZCUUILZU
      PUUIYSJUUKUUMUULYQJZUUOUULYQUUIMZUQUUPEUNZUULNZYPJZEXSLZUURYTSZSZURZUUTKZ
      ETZCTZUUOEYPXSUULUUQUSUURXSJZUUTKZETUVECTZETUVAUVGUVIUVJEUVIUVDCTZUUTKUVJ
      UVHUVKUUTCUURUTVAUVDUUTCVBOPUUTEXSQUVECEVCVDUVGCAVFZUUNKZCTUUOUVFUVMCUVFU
      VCUULNZYPJZUVNXJJZUVNYOJZKUVMUUTUVOEUVCUVBMZUVDUUSUVNYPUURUVCUULVGVHVIUVN
      XJYOVPUVPUVLUVQUUNUVPUVBUUINGJUVLUVBUUIGYTMZAVJZVKYTUUICVJZUVTVLVMUVQUURU
      UDSZSZSZSZURZUURUVNNZYNJZKZETZDTZUUHUPZDUUILZUUNUVQUWHEYALUURYAJZUWHKZETZ
      UWKEYNYAUVNUVCUULVNUSUWHEYAQUWPUWIDTZETUWKUWOUWQEUWOUWFDTZUWHKUWQUWNUWRUW
      HDUURVOVAUWFUWHDVBOPUWIDEVCORUWKDAVFZUWLKZDTUWMUWJUWTDUWJUWEUVNNZYNJZUXAX
      KJZUXAYMJZUPZKUWTUWHUXBEUWEUWDMUWFUWGUXAYNUURUWEUVNVGVHVIUXAXKYMVQUXCUWSU
      XEUWLUXCUWCUULNXJJUWBUUINGJUWSUWCUVCUULXJUWBMZUVRUUQVRUWBUUIGUUDMZUVTVKUU
      DUUIDVJZUVTVLRUXDUUHUXDUWCUVCNZYLJZUURUUBSZSZURZUURUXINZYKJZKZETZBTZUUHUW
      CUVCUULYLUXFUVRUUQWOUXOEXSLZUXPBTZETZUXJUXRUXSUVHUXOKZETUYAUXOEXSQUYBUXTE
      UYBUXMBTZUXOKUXTUVHUYCUXOBUURUTVAUXMUXOBVBOPVMEYKXSUXIUWCUVCVNZUSUXPBEVCV
      DUXRUUBUCJZUUGKZBTUUHUXQUYFBUXQUXLUXINZYKJZUYGXNJZUYGYJJZKUYFUXOUYHEUXLUX
      KMZUXMUXNUYGYKUURUXLUXIVGVHVIUYGXNYJVPUYIUYEUYJUUGUYIUXLXMJZUXKXLJUYEUYIU
      YLUXIIJUYDUXLUXIXMIUYKUYDVSVTUXKXLWAUUBUCWARUYJUYGYHJZUYGYIJZKUUGUYGYHYIV
      PUYMUUCUYNUUFUYMUUBUVCNZYGJZUURFUNZSZSZSZURZUURUYONZYFJZKZETZFTZUUCUUBUWC
      UVCYGBVJZUXFUVRVRUYPVUCEXTLUURXTJZVUCKZETZVUFEYFXTUYOUUBUVCVNUSVUCEXTQVUJ
      VUDFTZETVUFVUIVUKEVUIVUAFTZVUCKVUKVUHVULVUCFUURWEZVAVUAVUCFVBOPVUDFEVCORV
      UFUYQUUAURZFBVFZKZFTUUCVUEVUPFVUEUYTUYONZYFJZVUQYEJZVUQXQJZKVUPVUCVUREUYT
      UYSMZVUAVUBVUQYFUURUYTUYOVGVHVIVUQYEXQVPVUSVUNVUTVUOVUSUYRUVCNYDJUYQUVBNY
      CJVUNUYRUUBUVCYDUYQMZVUGUVRVRUYQUVBYCFVJZUVSVKUYQYTVVCUWAWBRVUTUYRUUBNGJZ
      VUOUYRUUBUVCGVVBVUGUVRWOUYQUUBVVCVUGVLZVMWCRPFUUAUUBWDORUUBUWCNZYGJZUYQUU
      EURZVUOKZFTZUYNUUFVVGUURVVFNZYFJZEXTLZVUAVVLKZETZFTZVVJEYFXTVVFUUBUWCVNUS
      VUHVVLKZETVVNFTZETVVMVVPVVQVVREVVQVULVVLKVVRVUHVULVVLVUMVAVUAVVLFVBOPVVLE
      XTQVVNFEVCVDVVOVVIFVVOUYTVVFNZYFJZVVSYEJZVVSXQJZKVVIVVLVVTEUYTVVAVUAVVKVV
      SYFUURUYTVVFVGVHVIVVSYEXQVPVWAVVHVWBVUOVWAUYRUWCNYDJUYQUWBNYCJVVHUYRUUBUW
      CYDVVBVUGUXFVRUYQUWBYCVVCUXGVKUYQUUDVVCUXHWBRVWBVVDVUOUYRUUBUWCGVVBVUGUXF
      WOVVEVMWCRPRUUBUWCUVCYGVUGUXFUVRWOFUUEUUBWDVDWCVMWCRPUUGBUCQORWFWCRPUWLDU
      UIQOUUHDUUIWGRWCRPUUNCUUIQORWHUUIYRUVTWIUUJCUUIWJVDWKYRYQYPXSXJYOGWLWMZYN
      YAXKYMXJVWCWNZYLYKXSXNYJXMIXLUCWPWQWQWRWSYHYIYGYFXTYEXQYDYCXPYBXOIUEWTXAW
      RWSXRYAXQXKGWLXBZVWDXCXTXSUEWTWQZWQZWQZXDXEWMWNVWEXFVWGXDZWNYGVWIXBXFXFVW
      FXDXBXEVWHXDXFVWFXDXGXHXI $.
  $}

  ${
    $d A a $.  $d a b $.  $d A b $.  $d a m $.  $d a n $.  $d A n $.  $d B b $.
    $d b m $.  $d b n $.  $d B n $.  $d M a $.  $d M b $.  $d a c $.  $d a d $.
    $d a k $.  $d a x $.  $d a y $.  $d b c $.  $d b d $.  $d b k $.  $d b x $.
    $d b y $.  $d c d $.  $d c k $.  $d c x $.  $d c y $.  $d d k $.  $d d x $.
    $d d y $.  $d k m $.  $d k n $.  $d M m $.  $d m n $.  $d x y $.  $d c n $.
    $d d n $.  $d k x $.  $d k y $.  $d n x $.  $d n y $.  $d c m $.  $d d m $.
    $d m x $.  $d m y $.

    $( If two sets are in a particular finite cardinal, then their unit power
       sets are in the same natural.  Theorem X.1.25 of [Rosser] p. 527.
       (Contributed by SF, 21-Jan-2015.) $)
    ncfinraise $p |- ( ( M e. Nn /\ A e. M /\ B e. M ) ->
       E. n e. Nn ( ~P1 A e. n /\ ~P1 B e. n ) ) $=
      ( va vb vc vx vd vy cnnc wcel cpw1 cv wa wrex wral c0c c0 wceq vm vk cplc
      ncfinraiselem2 raleq raleqbi1dv el0c peano1 nulel0c pm3.2i anbi12d rspcev
      c1c eleq2 mp2an pw10 syl6eq eleq1d bi2anan9 rexbidv mpbiri syl2anb rgen2a
      pw1eq nfv nfra1 nfan nfra2 csn cun ccompl reeanv 2rexbii anbi12i 3bitr4ri
      elsuc wel wi weq anbi1d anbi2d rspc2v vex elcompl anbi2i peano2 ad3antrrr
      com12 simplrl adantr simprrl snelpw1 sylnibr snex syl2anc simplrr simprrr
      wn elsuci syl12anc rexlimiva cbvrexv syl8ib imp31 pw1un uneq2i syl5ibrcom
      ex pw1sn eqtri sylan2b expr anasss rexlimdvv exp32 sylan9r pm2.43d syl5bi
      exp3a ralrimd ralrimi finds syl5com 3impib ) DKLZADLZBDLZAMZCNZLZBMZYILZO
      ZCKPZYEENZMZYILZFNZMZYILZOZCKPZFDQZEDQZYFYGOYNUUBFUANZQZEUUEQUUBFRQZERQUU
      BFUBNZQZEUUHQZUUBFUUHUMUCZQZEUUKQZUUDUAUBDUACEFUDUUFUUGEUUERUUBFUUERUEUFU
      UFUUIEUUEUUHUUBFUUEUUHUEUFUUFUULEUUEUUKUUBFUUEUUKUEUFUUFUUCEUUEDUUBFUUEDU
      EUFUUBEFRYORLYOSTZYRSTZUUBYRRLYOUGYRUGUUNUUOOZUUBSYILZUUQOZCKPZRKLSRLZUUT
      OZUUSUHUUTUUTUIUIUJUURUVACRKYIRTUUQUUTUUQUUTYIRSUNZUVBUKULUOUUPUUAUURCKUU
      NYQUUQUUOYTUUQUUNYPSYIUUNYPSMZSYOSVDUPUQURUUOYSSYIUUOYSUVCSYRSVDUPUQURUSU
      TVAVBVCUUHKLZUUJUUMUVDUUJOZUULEUUKUVDUUJEUVDEVEUUIEUUHVFVGUVEYOUUKLZUUBFU
      UKUVDUUJFUVDFVEUUBEFUUHUUHVHVGUVFFVEUVEUVFYRUUKLZUUBUVFUVGOZYOGNZHNZVIZVJ
      ZTZYRINZJNZVIZVJZTZOZJUVNVKZPHUVIVKZPZIUUHPGUUHPZUVEUUBUVMHUWAPZUVRJUVTPZ
      OZIUUHPGUUHPUWDGUUHPZUWEIUUHPZOUWCUVHUWDUWEGIUUHUUHVLUWBUWFGIUUHUUHUVMUVR
      HJUWAUVTVLVMUVFUWGUVGUWHHYOUUHGVPJYRUUHIVPVNVOUVEUWBUUBGIUUHUUHUVEGUBVQIU
      BVQOZUWBUUBVRZUUJUWIUVIMZYILZUVNMZYILZOZCKPZUVDUWIUWJVRUWIUUJUWPUUBUWPUWL
      YTOZCKPEFUVIUVNUUHUUHEGVSZUUAUWQCKUWRYQUWLYTUWRYPUWKYIYOUVIVDURVTUTFIVSZU
      WQUWOCKUWSYTUWNUWLUWSYSUWMYIYRUVNVDURWAUTWBWHUVDUWPUWIUWJUVDUWPUWIOOUVSUU
      BHJUWAUVTUVDUWPUWIUVJUWALZUVOUVTLZOZUVSUUBVRZVRUVDUWPOZUWIUXBUXCUWIUXBOUX
      DUWIHGVQZWRZJIVQZWRZOZOZUXCUXBUXIUWIUWTUXFUXAUXHUVJUVIHWCZWDUVOUVNJWCZWDV
      NWEUXDUXJOUUBUVSUWKUVKVIZVJZYILZUWMUVPVIZVJZYILZOZCKPZUVDUWPUXJUXTUWPUVDU
      XJUXTVRUWPUVDUXJUXNUUELZUXQUUELZOZUAKPZUXTUWOUVDUXJUYDVRZVRCKYIKLZUWOOZUV
      DUYEUYGUVDOZUXJUYDUYHUXJOZYIUMUCZKLZUXNUYJLZUXQUYJLZUYDUYFUYKUWOUVDUXJYIW
      FWGUYIUWLUVKUWKLZWRUYLUYHUWLUXJUYFUWLUWNUVDWIWJUYIUXEUYNUYHUWIUXFUXHWKUVJ
      UVIWLWMUWKYIUVKUVJWNWSWOUYIUWNUVPUWMLZWRUYMUYHUWNUXJUYFUWLUWNUVDWPWJUYIUX
      GUYOUYHUWIUXFUXHWQUVOUVNWLWMUWMYIUVPUVOWNWSWOUYCUYLUYMOUAUYJKUUEUYJTUYAUY
      LUYBUYMUUEUYJUXNUNUUEUYJUXQUNUKULWTXHXHXAUYCUXSUACKUACVSUYAUXOUYBUXRUUEYI
      UXNUNUUEYIUXQUNUKXBXCWHXDUVSUUAUXSCKUVMYQUXOUVRYTUXRUVMYPUXNYIUVMYPUVLMZU
      XNYOUVLVDUYPUWKUVKMZVJUXNUVIUVKXEUYQUXMUWKUVJUXKXIXFXJUQURUVRYSUXQYIUVRYS
      UVQMZUXQYRUVQVDUYRUWMUVPMZVJUXQUVNUVPXEUYSUXPUWMUVOUXLXIXFXJUQURUSUTXGXKX
      LXMXNXOXPXQXNXRXSXTYAXHYBUUBYNYJYTOZCKPEFABDDYOATZUUAUYTCKVUAYQYJYTVUAYPY
      HYIYOAVDURVTUTYRBTZUYTYMCKVUBYTYLYJVUBYSYKYIYRBVDURWAUTWBYCYD $.
  $}

  ${
    $d m n a b t x $.
    $( Lemma for ~ ncfinlower .  Set up stratification for induction.
       (Contributed by SF, 22-Jan-2015.) $)
    ncfinlowerlem1 $p |- { m | A. a A. b ( ( ~P1 a e. m /\ ~P1 b
             e. m ) -> E. n e. Nn ( a e. n /\ b e. n ) ) } e. _V $=
      ( vt vx cvv cssetk cpw1 cnnc wcel wa wrex wex copk csn exbii 3bitr4i snex
      3bitri c1c cpw cxpk cins3k csik cins2k csymdif cimak cdif ccnvk ccompl cv
      cin wel wi wal cab wn wceq vex elimak elpw11c anbi1i 19.41v bitr4i df-rex
      excom opkeq1 eleq1d ceqsexv opkex elpw131c eldif elin elpw121c otkelins3k
      opksnelsik eqpw1relk elssetk bitri anbi12i mpbiran df-clel elpw12 r19.41v
      opkelxpk rexcom4 opkelcnvk rexbii notbii exanali elcompl alex abbi2i vvex
      otkelins2k 1cex xpkex ssetkex ins3kex sikex ins2kex symdifex pw1ex imakex
      pwex difex inex cnvkex nncex complex eqeltrri ) GUAUBZGUCZHUDZHUEZUFZUGZU
      AIZIZIZUHZUIZUEZUDZHUFZUMZXTUHZUCZYHUFZUMZHUJZUFZYLUDZUMZJIZIZUHZUEZUDZUI
      ZYAUHZXSUHZUKZCULZIZAULZKZDULZIZUUGKZLZCBUNZDBUNZLZBJMZUODUPZCUPZAUQGUURA
      UUDUUGUUCKZURUUQURZCNZURUUGUUDKUURUUSUVAUUSEULZUUGOZUUBKZEXSMZUVBUUEPZPZU
      SZUVDLZENZCNZUVAEUUBXSUUGAUTZVAUVBXSKZUVDLZENUVICNZENUVEUVKUVNUVOEUVNUVHC
      NZUVDLUVOUVMUVPUVDCUVBVBVCUVHUVDCVDVEQUVDEXSVFUVICEVGRUVJUUTCUVJUVGUUGOZU
      UBKZUULUUPURZLZDNZUUTUVDUVREUVGUVFSZUVHUVCUVQUUBUVBUVGUUGVHVIVJUVRUVBUVQO
      ZUUAKZEYAMZUVBUUIPZPZPZPZUSZUWDLZENZDNZUWAEUUAYAUVQUVGUUGVKZVAUVBYAKZUWDL
      ZENUWKDNZENUWEUWMUWPUWQEUWPUWJDNZUWDLUWQUWOUWRUWDDUVBVLVCUWJUWDDVDVEQUWDE
      YAVFUWKDEVGRUWLUVTDUWLUWIUVQOZUUAKZUWSYKKZUWSYTKZURZLUVTUWDUWTEUWIUWHSZUW
      JUWCUWSUUAUVBUWIUVQVHVIVJUWSYKYTVMUXAUULUXCUVSUXAUWSYIKZUWSYJKZLUULUWSYIY
      JVNUXEUUHUXFUUKUVQYHKZFULZUUFUSZFAUNZLZFNZUXEUUHUXGUWCYGKZEXTMZUVBUXHPZPZ
      PZUSZUXMLZENZFNZUXLEYGXTUVQUWNVAUVBXTKZUXMLZENUXSFNZENUXNUYAUYCUYDEUYCUXR
      FNZUXMLUYDUYBUYEUXMFUVBVOZVCUXRUXMFVDVEQUXMEXTVFUXSFEVGRUXTUXKFUXTUXQUVQO
      ZYGKZUYGYEKZUYGYFKZLUXKUXMUYHEUXQUXPSZUXRUWCUYGYGUVBUXQUVQVHVIVJUYGYEYFVN
      UYIUXIUYJUXJUYIUXOUVGOYDKUXHUVFOYCKUXIUXOUVGUUGYDUXHSZUWBUVLVPUXHUVFYCFUT
      ZUUESZVQUXHUUEUYMCUTZVRTUYJUXOUUGOHKZUXJUXOUVGUUGHUYLUWBUVLWPUXHUUGUYMUVL
      VSZVTWATQTUXEUWIGKUXGUXDUWIUVQGYHUXDUWNWFWBFUUFUUGWCRUWGUUGOZYHKZUXHUUJUS
      ZUXJLZFNZUXFUUKUYSUVBUYROZYGKZEXTMZUXRVUDLZENZFNZVUBEYGXTUYRUWGUUGVKVAUYB
      VUDLZENVUFFNZENVUEVUHVUIVUJEVUIUYEVUDLVUJUYBUYEVUDUYFVCUXRVUDFVDVEQVUDEXT
      VFVUFFEVGRVUGVUAFVUGUXQUYROZYGKZVUKYEKZVUKYFKZLVUAVUDVULEUXQUYKUXRVUCVUKY
      GUVBUXQUYRVHVIVJVUKYEYFVNVUMUYTVUNUXJVUMUXOUWGOYDKUXHUWFOYCKUYTUXOUWGUUGY
      DUYLUWFSZUVLVPUXHUWFYCUYMUUISZVQUXHUUIUYMDUTZVRTVUNUYPUXJUXOUWGUUGHUYLVUO
      UVLWPUYQVTWATQTUWGUVGUUGYHVUOUWBUVLWPFUUJUUGWCRWAVTUXBUUPUXBUWGUVGOYSKUWF
      UVFOZYRKZUUPUWGUVGUUGYSVUOUWBUVLVPUWFUVFYRVUPUYNVQVUSUVBVUROZYOKZEYQMZUVB
      BULZPZPZUSZVVALZENZBJMZUUPEYOYQVURUWFUVFVKVAUVBYQKZVVALZENVVGBJMZENVVBVVI
      VVKVVLEVVKVVFBJMZVVALVVLVVJVVMVVABUVBJWDVCVVFVVABJWEVEQVVAEYQVFVVGBEJWGRV
      VHUUOBJVVHVVEVUROZYOKZVVNYMKZVVNYNKZLUUOVVAVVOEVVEVVDSVVFVUTVVNYOUVBVVEVU
      RVHVIVJVVNYMYNVNVVPUUMVVQUUNVVPVVCUVFOYLKUVFVVCOHKUUMVVCUWFUVFYLBUTZVUPUY
      NWPVVCUVFHVVRUYNWHUUEVVCUYOVVRVSTVVQVVCUWFOYLKUWFVVCOHKUUNVVCUWFUVFYLVVRV
      UPUYNVPVVCUWFHVVRVUPWHUUIVVCVUQVVRVSTWATWITTWJWATQTUULUUPDWKTQTWJUUGUUCUV
      LWLUUQCWMRWNUUCUUBXSUUAYAYKYTYIYJGYHWOYGXTYEYFYDYCXNYBXMGUAWQXFWOWRXRYAXO
      XQHWSWTXPHWSXAXBXCXTXSUAWQXDZXDZXDZXEXGXAWTHWSXBXHVVTXEZWRYHVWBXBXHYSYRYO
      YQYMYNYLHWSXIZXBYLVWCWTXHYPJXJXDXDXEXAWTXGVWAXEVVSXEXKXL $.
  $}

  ${
    $d A a $.  $d a b $.  $d A b $.  $d a m $.  $d a n $.  $d A n $.  $d B a $.
    $d B b $.  $d b m $.  $d b n $.  $d B n $.  $d M a $.  $d M b $.  $d a k $.
    $d b k $.  $d k m $.  $d k n $.  $d M m $.  $d m n $.  $d a c $.  $d a d $.
    $d a x $.  $d a y $.  $d b c $.  $d b d $.  $d b x $.  $d b y $.  $d c d $.
    $d c k $.  $d c x $.  $d c y $.  $d d k $.  $d d x $.  $d d y $.  $d x y $.
    $d a e $.  $d a f $.  $d a w $.  $d a z $.  $d b e $.  $d b f $.  $d b w $.
    $d b z $.  $d c e $.  $d c f $.  $d c n $.  $d c w $.  $d c z $.  $d d e $.
    $d d f $.  $d d n $.  $d d w $.  $d d z $.  $d e f $.  $d e w $.  $d e x $.
    $d e y $.  $d e z $.  $d f w $.  $d f x $.  $d f y $.  $d f z $.  $d k x $.
    $d k y $.  $d n x $.  $d n y $.  $d w x $.  $d w y $.  $d w z $.  $d x z $.
    $d y z $.  $d e k $.  $d e m $.  $d e n $.  $d f k $.  $d f m $.  $d f n $.
    $d k w $.  $d k z $.  $d m w $.  $d m z $.  $d n w $.  $d n z $.  $d c m $.
    $d d m $.  $d m x $.  $d m y $.
    $( If the unit power classes of two sets are in the same natural, then so
       are the sets themselves.  Theorem X.1.26 of [Rosser] p. 527.
       (Contributed by SF, 22-Jan-2015.) $)
    ncfinlower $p |- ( ( M e. Nn /\ ~P1 A e. M /\ ~P1 B e. M ) ->
       E. n e. Nn ( A e. n /\ B e. n ) ) $=
      ( va vb vm vc vd ve vf cnnc wcel cv wa wrex wel wi wceq eleq2 vk vx vy vz
      vw cpw1 wal c0c c1c cplc ncfinlowerlem1 anbi12d imbi1d 2albidv el0c pw10b
      weq bitri peano1 nulel0c rspcev mp2an eleq1 bi2anan9 anidm syl6bb rexbidv
      c0 mpbiri syl2anb gen2 nfv nfa1 nfan nfa2 csn ccompl reeanv 2rexbii elsuc
      cun anbi12i 3bitr4ri w3a wex wn cvv vex pw1eq eleq1d elequ1 imbi12d com12
      spc2gv ad2antrl peano2 simprrl adantr syl2anc simprrr expr rexlimdva syld
      elsuci syl12anc imp an32s wb 3ad2ant2 compleq eleq12 snex elcompl snelpw1
      sylan2 xchbinx ancoms 3adant1 anbi2d 3ad2ant1 eeanv 2exbii elequ2 cbvrexv
      exlimdvv pw1eqadj 3imtr4g rexlimdvv rexlimdvva syl5bi alrimi finds pw1exb
      ex elex sylib syl2an pm2.43b syl 3impib ) DLMZAUFZDMZBUFZDMZACNZMZBUUFMZO
      ZCLPZUUAENZUFZDMZFNZUFZDMZOZECQZFCQZOZCLPZRZFUGEUGZUUCUUEOZUUJRZUULGNZMZU
      UOUVFMZOZUVARZFUGEUGUULUHMZUUOUHMZOZUVARZFUGEUGUULUANZMZUUOUVOMZOZUVARZFU
      GZEUGZUULUVOUIUJZMZUUOUWBMZOZUVARZFUGZEUGZUVCGUADGCEFUKUVFUHSZUVJUVNEFUWI
      UVIUVMUVAUWIUVGUVKUVHUVLUVFUHUULTUVFUHUUOTULUMUNGUAUQZUVJUVSEFUWJUVIUVRUV
      AUWJUVGUVPUVHUVQUVFUVOUULTUVFUVOUUOTULUMUNUVFUWBSZUVJUWFEFUWKUVIUWEUVAUWK
      UVGUWCUVHUWDUVFUWBUULTUVFUWBUUOTULUMUNUVFDSZUVJUVBEFUWLUVIUUQUVAUWLUVGUUM
      UVHUUPUVFDUULTUVFDUUOTULUMUNUVNEFUVKUUKVHSZUUNVHSZUVAUVLUVKUULVHSUWMUULUO
      UUKUPURUVLUUOVHSUWNUUOUOUUNUPURUWMUWNOZUVAVHUUFMZCLPZUHLMVHUHMZUWQUSUTUWP
      UWRCUHLUUFUHVHTVAVBUWOUUTUWPCLUWOUUTUWPUWPOUWPUWMUURUWPUWNUUSUWPUUKVHUUFV
      CUUNVHUUFVCVDUWPVEVFVGVIVJVKUVOLMZUWAUWHUWSUWAOZUWGEUWSUWAEUWSEVLUVTEVMVN
      UWTUWFFUWSUWAFUWSFVLUVSFEVOVNUWEUULHNZUBNZVPWASZUUOINZUCNZVPWASZOZUCUXDVQ
      ZPUBUXAVQZPZIUVOPHUVOPZUWTUVAUXCUBUXIPZUXFUCUXHPZOZIUVOPHUVOPUXLHUVOPZUXM
      IUVOPZOUXKUWEUXLUXMHIUVOUVOVRUXJUXNHIUVOUVOUXCUXFUBUCUXIUXHVRVSUWCUXOUWDU
      XPUBUULUVOHVTUCUUOUVOIVTWBWCUWTUXJUVAHIUVOUVOUWTHUAQZIUAQZOZOUXGUVAUBUCUX
      IUXHUWTUXSUXBUXIMZUXEUXHMZOZUXGUVARUWTUXSUYBOZOZUUKJNZUDNZVPZWAZSZUXAUYEU
      FZSZUXBUYGSZWDZUUNKNZUENZVPZWAZSZUXDUYNUFZSZUXEUYPSZWDZOZUEWEUDWEZKWEJWEZ
      EGQZFGQZOZGLPZUXGUVAUYDVUDVUIJKUYDVUCVUIUDUEVUCUYDVUIVUCUYDVUIRUWTUYJUVOM
      ZUYSUVOMZOZUDJQZWFZUEKQZWFZOZOZOZUYHUVFMZUYQUVFMZOZGLPZRUWSVURUWAVVCUWSVU
      ROZUWAVVCVVDUWAJCQZKCQZOZCLPZVVCVULUWAVVHRUWSVUQUWAVULVVHUYEWGMUYNWGMUWAV
      ULVVHRZRJWHKWHUVSVVIEFUYEUYNWGWGEJUQZFKUQZOZUVRVULUVAVVHVVJUVPVUJVVKUVQVU
      KVVJUULUYJUVOUUKUYEWIWJVVKUUOUYSUVOUUNUYNWIWJVDVVLUUTVVGCLVVJUURVVEVVKUUS
      VVFEJCWKFKCWKVDVGWLWNVBWMWOVVDVVGVVCCLVVDUUFLMZVVGVVCVVDVVMVVGOZOZUUFUIUJ
      ZLMZUYHVVPMZUYQVVPMZVVCVVMVVQVVDVVGUUFWPWOVVOVVEVUNVVRVVDVVMVVEVVFWQVVDVU
      NVVNUWSVULVUNVUPWQWRUYEUUFUYFUDWHXDWSVVOVVFVUPVVSVVDVVMVVEVVFWTVVDVUPVVNU
      WSVULVUNVUPWTWRUYNUUFUYOUEWHXDWSVVBVVRVVSOGVVPLUVFVVPSVUTVVRVVAVVSUVFVVPU
      YHTUVFVVPUYQTULVAXEXAXBXCXFXGVUCUYDVUSVUIVVCVUCUYCVURUWTVUCUXSVULUYBVUQUY
      MUXQVUJVUBUXRVUKUYKUYIUXQVUJXHUYLUXAUYJUVOVCXIUYTUYRUXRVUKXHVUAUXDUYSUVOV
      CXIVDUYMUXTVUNVUBUYAVUPUYKUYLUXTVUNXHZUYIUYLUYKVVTUYLUYKOUXTUYGUYJVQZMZVU
      NUYKUYLUXIVWASUXTVWBXHUXAUYJXJUXBUYGUXIVWAXKXOVWBUYGUYJMVUMUYGUYJUYFXLXMU
      YFUYEXNXPVFXQXRUYTVUAUYAVUPXHZUYRVUAUYTVWCVUAUYTOUYAUYPUYSVQZMZVUPUYTVUAU
      XHVWDSUYAVWEXHUXDUYSXJUXEUYPUXHVWDXKXOVWEUYPUYSMVUOUYPUYSUYOXLXMUYOUYNXNX
      PVFXQXRVDULXSVUCVUHVVBGLUYMVUFVUTVUBVUGVVAUYIUYKVUFVUTXHUYLUUKUYHUVFVCXTU
      YRUYTVUGVVAXHVUAUUNUYQUVFVCXTVDVGWLVIWMYEYEUYMUDWEZVUBUEWEZOZKWEJWEVWFJWE
      ZVWGKWEZOVUEUXGVWFVWGJKYAVUDVWHJKUYMVUBUDUEYAYBUXCVWIUXFVWJJUDUXAUXBUUKHW
      HUBWHYFKUEUXDUXEUUNIWHUCWHYFWBWCUUTVUHCGLCGUQUURVUFUUSVUGCGEYCCGFYCULYDYG
      XAYHYIYJYKYKYNYLUVCUVDUUJUUCAWGMZBWGMZUVCUVERUUEUUCUUBWGMVWKUUBDYOAYMYPUU
      EUUDWGMVWLUUDDYOBYMYPUVBUVEEFABWGWGUUKASZUUNBSZOZUUQUVDUVAUUJVWMUUMUUCVWN
      UUPUUEVWMUULUUBDUUKAWIWJVWNUUOUUDDUUNBWIWJVDVWOUUTUUICLVWMUURUUGVWNUUSUUH
      UUKAUUFVCUUNBUUFVCVDVGWLWNYQYRYSYT $.
  $}

  ${
    $d a b $.  $d a n $.  $d a p $.  $d b n $.  $d b p $.  $d M a $.  $d M b $.
    $d M n $.  $d M p $.  $d n p $.  $d a q $.  $d b q $.  $d M q $.  $d n q $.
    $d p q $.
    $( For any non-empty finite cardinal, there is a unique natural containing
       a unit power class of one of its elements.  Theorem X.1.27 of [Rosser]
       p. 528.  (Contributed by SF, 22-Jan-2015.) $)
    nnpw1ex $p |- ( ( M e. Nn /\ M =/= (/) ) ->
      E! n e. Nn E. a e. M ~P1 a e. n ) $=
      ( vp vb vq cnnc wcel cpw1 wrex weq wral wex w3a ncfinraise anbi2i nnceleq
      wa cv syl22anc c0 wne wi wreu anidm rexbii sylib 3anidm23 ex ancld eximdv
      n0 rexcom df-rex bitri 3imtr4i pw1eq eleq1d cbvrexv reeanv bitr4i simplll
      imp simprll simprlr syl3anc simp1rl simp3l simp2rl simp3rl simp1rr eqtr4d
      simp2rr simp3rr 3expa exp32 mpd rexlimdvv syl5bi ralrimivva eleq2 rexbidv
      rexlimdv reu4 sylanbrc ) BGHZBUAUBZRZCSZIZASZHZCBJZAGJZWMWJDSZHZCBJZRZADK
      ZUCZDGLAGLWMAGUDWFWIBHZCMZRXAWLAGJZRZCMZWHWNWFXBXEWFXAXDCWFXAXCWFXAXCWFXA
      XCWFXAXANWLWLRZAGJXCWIWIABOXFWLAGWLUEUFUGUHUIUJUKVCWGXBWFCBULPWNXCCBJXEWL
      ACGBUMXCCBUNUOUPWHWTADGGWRWLESZIZWOHZRZEBJCBJZWHWKGHZWOGHZRZRZWSWRWMXIEBJ
      ZRXKWQXPWMWPXICEBCEKWJXHWOWIXGUQURUSPWLXICEBBUTVAXOXJWSCEBBXOXAXGBHZRZXJW
      SXOXRXJRZRZWJFSZHZXHYAHZRZFGJZWSXTWFXAXQYEWFWGXNXSVBXOXAXQXJVDXOXAXQXJVEW
      IXGFBOVFXTYDWSFGXTYAGHZYDWSXOXSYFYDRZWSXOXSYGNZWKYAWOYHXLYFWLYBAFKXLXMWHX
      SYGVGXOXSYFYDVHZWLXIXRXOYGVIYBYCYFXOXSVJWJWKYAQTYHXMYFXIYCDFKXLXMWHXSYGVK
      YIWLXIXRXOYGVMYBYCYFXOXSVNXHWOYAQTVLVOVPWCVQVPVRVSVTWMWQADGWSWLWPCBWKWOWJ
      WAWBWDWE $.
  $}

  ${
    $d A x y $.
    $( The finite T operator is always a set.  (Contributed by SF,
       26-Jan-2015.) $)
    tfinex $p |- _T[fin] A e. _V $=
      ( vx vy ctfin c0 wceq cv cnnc wcel cpw1 wa cio cif cvv df-tfin 0ex iotaex
      wrex ifex eqeltri ) ADAEFZEBGZHICGJUBICARKZBLZMNBACOUAEUDPUCBQST $.
  $}

  ${
    $d M n $.  $d M t $.  $d M y $.  $d M z $.  $d n t $.  $d n x $.  $d n y $.
    $d n z $.  $d t x $.  $d t y $.  $d t z $.  $d X t $.  $d x y $.  $d X z $.
    $d y z $.  $d a n $.  $d a t $.  $d a x $.  $d a y $.  $d a z $.  $d M a $.
    eqtfinrelk.1 $e |- M e. _V $.
    eqtfinrelk.2 $e |- X e. _V $.
    $( Equality to a T raising expressed via a Kuratowski relationship.
       (Contributed by SF, 29-Jan-2015.) $)
    eqtfinrelk $p |- ( << { M } , X >> e. ( ( { { (/) } } X._k { (/) } ) u.
  ( ~ ( ( Ins2_k _S_k (+)
      Ins3_k
( ( Ins3_k `'_k _S_k \
    Ins2_k
( ( Ins2_k ( ( Nn X._k _V ) i^i
     ( ( Ins2_k SI_k _S_k i^i
         Ins3_k
           ( ( Ins3_k SI_k ( ( ~P 1c X._k _V ) \
  ( ( Ins3_k _S_k (+) Ins2_k SI_k _S_k )
    "_k ~P1 ~P1 ~P1 1c ) ) i^i Ins2_k _S_k ) "_k ~P1 ~P1 1c ) )
       "_k ~P1 ~P1 ~P1 1c ) ) (+)
    Ins3_k _I_k ) "_k ~P1 1c ) ) "_k ~P1 1c ) )
      "_k ~P1 ~P1 1c )
    \ ( { { (/) } } X._k _V ) ) ) <-> X = _T[fin] M ) $=
      ( vy va vz vt vn vx csn copk c0 cssetk cvv wcel wceq wa snex wex cxpk c1c
      cins2k ccnvk cins3k cnnc csik cpw csymdif cpw1 cimak cdif cin cidk ccompl
      cun cv wrex cio ctfin wb wo snid opkelxpk mpbiran elsnc bitri orbi1i elun
      cif wn mpbir2an notnoti intnan eldif mtbir biorfi 3bitr4i a1i sneq eleq1d
      opkeq1d iftrue eqeq2d 3bitr4d iffalse opkex elimak elpw121c anbi1i 19.41v
      bitr4i exbii df-rex excom ceqsexv elsymdif otkelins2k vex elssetk wel weq
      opkeq1 wal otkelins3k opkelcnvk 3bitri elin mpbiran2 opksnelsik eqpw1relk
      elpw11c anbi12i df-clel opkelidkg mp2an bibi12i xchbinx exnal 3bitrri cab
      elpw131c con1bii cuni dfiota2 eleq2i eluniab notbii elcompl biantru sneqb
      dfcleq alex 3bitr2i biimpi con3i biantrud simpl biorf syl6bbr syl orbi12i
      bitrd 3bitr2rd pm2.61i df-tfin eqeq2i ) AKZBLZMKZKZUUJUAZNUCZNUDZUEZUFOUA
      ZNUGZUCZUBUHOUANUEUURUIUBUJZUJZUJZUKULZUGZUEZUUMUMZUUTUKZUEZUMZUVAUKZUMZU
      CZUNUEZUIZUUSUKZUCZULZUUSUKZUEZUIZUUTUKZUOZUUKOUAZULZUPZPZBAMQZMEUQZUFPZF
      UQZUJZUWGPZFAURZRZEUSZVJZQZBAUTZQUWFUWEUWPVAUWFUUJBLZUWDPZBMQZUWEUWPUWSUW
      TVAUWFUWRUULPZUWRUWCPZVBUWTUXBVBUWSUWTUXAUWTUXBUXABUUJPZUWTUXAUUJUUKPZUXC
      UUJMSZVCZUUJBUUKUUJUXEDVDVEBMDVFZVGVHUWRUULUWCVIUXBUWTUXBUWRUWAPZUWRUWBPZ
      VKZRUXJUXHUXIUXIUXDBOPZUXFDUUJBUUKOUXEDVDVLVMVNUWRUWAUWBVOVPVQVRVSUWFUUIU
      WRUWDUWFUUHUUJBAMVTWBWAUWFUWOMBUWFMUWNWCWDWEUWFVKZUWPBUWNQZUUIUWAPZUWEUXL
      UWOUWNBUWFMUWNWFWDUXNUXMVAUXLUUIUVTPZVKGUQZBPZUXPUWNPZVAZVKZGTZVKZUXNUXMU
      XOUYAUXOHUQZUUILZUVSPZHUUTURZUYCUXPKZKZKZQZUYERZHTZGTZUYAHUVSUUTUUIUUHBWG
      ZWHUYCUUTPZUYERZHTUYKGTZHTUYFUYMUYPUYQHUYPUYJGTZUYERUYQUYOUYRUYEGUYCWIWJU
      YJUYEGWKWLWMUYEHUUTWNUYKGHWOVRUYLUXTGUYLUYIUUILZUVSPZUXTUYEUYTHUYIUYHSUYJ
      UYDUYSUVSUYCUYIUUIXCWAWPUYTUYSUUMPZUYSUVRPZVAUXSUYSUUMUVRWQVUAUXQVUBUXRVU
      AUYGBLNPUXQUYGUUHBNUXPSZASZDWRUXPBGWSZDWTVGUYCIUQZKZKZQZUYCUYGUUHLZLZUVPP
      ZRZHTZITZGIXAZUWMEIXBZVAZEXDZRZITZVUBUXRVUNVUTIVUNVUHVUJLZUVPPZVVBUUOPZVV
      BUVOPZVKZRVUTVULVVCHVUHVUGSVUIVUKVVBUVPUYCVUHVUJXCWAWPVVBUUOUVOVOVVDVUPVV
      FVUSVVDVUFUYGLUUNPUYGVUFLNPVUPVUFUYGUUHUUNIWSZVUCVUDXEVUFUYGNVVGVUCXFUXPV
      UFVUEVVGWTXGVUSVVEVVEVUFUUHLZUVNPZVURVKZETZVUSVKVUFUYGUUHUVNVVGVUCVUDWRVV
      IUYCVVHLZUVMPZHUUSURZUYCUWGKZKZQZVVMRZHTZETZVVKHUVMUUSVVHVUFUUHWGWHUYCUUS
      PZVVMRZHTVVRETZHTVVNVVTVWBVWCHVWBVVQETZVVMRVWCVWAVWDVVMEUYCXLWJVVQVVMEWKW
      LWMVVMHUUSWNVVREHWOVRVVSVVJEVVSVVPVVHLZUVMPZVVJVVMVWFHVVPVVOSVVQVVLVWEUVM
      UYCVVPVVHXCWAWPVWFVWEUVKPZVWEUVLPZVAVURVWEUVKUVLWQVWGUWMVWHVUQVWGUWGUUHLZ
      UVJPVWIUUPPZVWIUVIPZRUWMUWGVUFUUHUVJEWSZVVGVUDWRVWIUUPUVIXHVWJUWHVWKUWLVW
      JUWHUUHOPVUDUWGUUHUFOVWLVUDVDXIUYCUWIKZKZKZKZQZUYCVWILZUVHPZRZHTZFTZUWIAP
      ZUWKRZFTVWKUWLVXAVXDFVXAVWPVWILZUVHPZVXEUURPZVXEUVGPZRVXDVWSVXFHVWPVWOSVW
      QVWRVXEUVHUYCVWPVWIXCWAWPVXEUURUVGXHVXGVXCVXHUWKVXGVWNUUHLUUQPVWMALNPVXCV
      WNUWGUUHUUQVWMSZVWLVUDWRVWMANUWISZCXJUWIAFWSZCWTXGVWNUWGLZUVFPZJUQZUWJQZJ
      EXAZRZJTZVXHUWKVXMUYCVXLLZUVEPZHUUTURZUYCVXNKZKZKZQZVXTRZHTZJTZVXRHUVEUUT
      VXLVWNUWGWGWHUYOVXTRZHTVYFJTZHTVYAVYHVYIVYJHVYIVYEJTZVXTRVYJUYOVYKVXTJUYC
      WIWJVYEVXTJWKWLWMVXTHUUTWNVYFJHWOVRVYGVXQJVYGVYDVXLLZUVEPZVYLUVDPZVYLUUMP
      ZRVXQVXTVYMHVYDVYCSVYEVXSVYLUVEUYCVYDVXLXCWAWPVYLUVDUUMXHVYNVXOVYOVXPVYNV
      YBVWNLUVCPVXNVWMLUVBPVXOVYBVWNUWGUVCVXNSZVXIVWLXEVXNVWMUVBJWSZVXJXJVXNUWI
      VYQVXKXKXGVYOVYBUWGLNPVXPVYBVWNUWGNVYPVXIVWLWRVXNUWGVYQVWLWTVGXMXGWMXGVWN
      UWGUUHUVFVXIVWLVUDXEJUWJUWGXNVRXMXGWMVWSHUVAURZVWTFTZHTZVWKVXBVYRUYCUVAPZ
      VWSRZHTVYTVWSHUVAWNWUBVYSHWUBVWQFTZVWSRVYSWUAWUCVWSFUYCYBWJVWQVWSFWKWLWMV
      GHUVHUVAVWIUWGUUHWGWHVWTFHWOVRUWKFAWNVRXMXGVWHUWGVUFLUNPZVUQUWGVUFUUHUNVW
      LVVGVUDXEUWGOPVUFOPWUDVUQVAVWLVVGUWGVUFOOXOXPVGXQXRVGWMXGVUREXSXTYCXMXGWM
      VUBVUJUVQPVULHUUSURZVUOUYGUUHBUVQVUCVUDDXEHUVPUUSVUJUYGUUHWGWHVWAVULRZHTV
      UMITZHTWUEVUOWUFWUGHWUFVUIITZVULRWUGVWAWUHVULIUYCXLWJVUIVULIWKWLWMVULHUUS
      WNVUMIHWOVRXGUXRUXPVUSIYAYDZPVVAUWNWUIUXPUWMEIYEYFVUSIUXPYGVGVRXQXRVGWMXG
      YHUUIUVTUYNYIUXMUXSGXDUYBGBUWNYLUXSGYMVGVRVSUXLUXNUUIUULPZUUIUWCPZVBZUWEU
      XLUXNUWFUWTRZUXNUUIUWBPZVKZRZVBZWULUXLUXNWUPWUQUXLWUOUXNWUNUWFWUNUWFWUNUU
      HUUKPZUXKRWURUWFUUHBUUKOVUDDVDUXKWURDYJWURUUHUUJQUWFUUHUUJVUDVFAMCYKVGZYN
      YOYPYQUXLWUMVKWUPWUQVAWUMUWFUWFUWTYRYPWUMWUPYSUUAUUCWUJWUMWUKWUPWUJWURUXC
      RWUMUUHBUUKUUJVUDDVDWURUWFUXCUWTWUSUXGXMVGUUIUWAUWBVOUUBYTUUIUULUWCVIYTUU
      DUUEUWQUWOBEAFUUFUUGWL $.
  $}

  $( The expression at the core of ~ eqtfinrelk exists.  (Contributed by SF,
     30-Jan-2015.) $)
  tfinrelkex $p |- ( ( { { (/) } } X._k { (/) } ) u.
  ( ~ ( ( Ins2_k _S_k (+)
      Ins3_k
( ( Ins3_k `'_k _S_k \
    Ins2_k
( ( Ins2_k ( ( Nn X._k _V ) i^i
     ( ( Ins2_k SI_k _S_k i^i
         Ins3_k
           ( ( Ins3_k SI_k ( ( ~P 1c X._k _V ) \
  ( ( Ins3_k _S_k (+) Ins2_k SI_k _S_k )
    "_k ~P1 ~P1 ~P1 1c ) ) i^i Ins2_k _S_k ) "_k ~P1 ~P1 1c ) )
       "_k ~P1 ~P1 ~P1 1c ) ) (+)
    Ins3_k _I_k ) "_k ~P1 1c ) ) "_k ~P1 1c ) )
      "_k ~P1 ~P1 1c )
    \ ( { { (/) } } X._k _V ) ) ) e. _V $=
    ( cxpk cssetk cins2k cins3k cvv c1c csymdif cpw1 cimak cdif ssetkex ins2kex
    cin xpkex ins3kex vvex symdifex pw1ex imakex difex csn ccnvk cnnc csik cidk
    c0 cpw ccompl snex cnvkex nncex sikex 1cex pwex inex idkex complex unex ) U
    FUAZUAZUSABCZBUBZDZUCEAZBUDZCZFUGZEAZBDZVFGZFHZHZHZIZJZUDZDZVAMZVLIZDZMZVMI
    ZMZCZUEDZGZVKIZCZJZVKIZDZGZVLIZUHZUTEAZJUTUSUSUIZUFUINWNWOWMWLVLVAWKBKLZWJW
    IVKVCWHVBBKUJOWGWFVKWDWEWCVDWBUCEUKPNWAVMVFVTVEBKULLZVSVRVLVQVAVPVOVHVNVGEF
    UMUNPNVJVMVIVFBKOWRQVLVKFUMRZRZRZSTULOWQUOWTSOUOXASUOLUEUPOQWSSLTWSSOQWTSUQ
    UTEWPPNTUR $.

  ${
    $d A x y $.  $d B x y $.
    $( Equality theorem for the finite T operator.  (Contributed by SF,
       24-Jan-2015.) $)
    tfineq $p |- ( A = B -> _T[fin] A = _T[fin] B ) $=
      ( vx vy wceq c0 cv cnnc wcel cpw1 wrex cio cif ctfin eqeq1 rexeq iotabidv
      wa anbi2d df-tfin ifbieq2d 3eqtr4g ) ABEZAFEZFCGZHIZDGJUEIZDAKZRZCLZMBFEZ
      FUFUGDBKZRZCLZMANBNUCUDUKUJUNFABFOUCUIUMCUCUHULUFUGDABPSQUACADTCBDTUB $.
  $}

  ${
    $d a n $.  $d M a $.  $d M n $.

    $( Properties of the finite T operator for a non-empty natural.  Theorem
       X.1.28 of [Rosser] p. 528.  (Contributed by SF, 22-Jan-2015.) $)
    tfinprop $p |- ( ( M e. Nn /\ M =/= (/) ) ->
      ( _T[fin] M e. Nn /\ E. a e. M ~P1 a e. _T[fin] M ) ) $=
      ( vn cnnc wcel c0 wne wa ctfin cv cpw1 wrex wceq cio cif df-tfin wn df-ne
      syl jca iffalse sylbi adantl nnpw1ex reiotacl eqeltrd syl5eqel syl5req wb
      wreu eleq2 rexbidv reiota2 mpbird ) ADEZAFGZHZAIZDEZBJKZUREZBALZUQURAFMZF
      CJZDEUTVDEZBALZHCNZOZDCABPZUQVHVGDUPVHVGMZUOUPVCQVJAFRVCFVGUAUBUCZUQVFCDU
      JZVGDECABUDZVFCDUESUFUGZUQVBVGURMZUQURVHVGVIVKUHUQUSVLHVBVOUIUQUSVLVNVMTV
      FVBCDURVDURMVEVABAVDURUTUKULUMSUNT $.
  $}

  ${
    $d M x $.
    $( If ` M ` is a non-empty natural, then ` _T[fin] M ` is also non-empty.
       Corollary 1 of Theorem X.1.28 of [Rosser] p. 528.  (Contributed by SF,
       23-Jan-2015.) $)
    tfinnnul $p |- ( ( M e. Nn /\ M =/= (/) ) -> _T[fin] M =/= (/) ) $=
      ( vx cnnc wcel c0 wne wa ctfin cv cpw1 wrex tfinprop rexlimivw adantl syl
      ne0i ) ACDAEFGAHZCDZBIJZQDZBAKZGQEFZABLUAUBRTUBBAQSPMNO $.
  $}

  ${
    $d x y $.
    $( The finite T operator applied to the empty set is empty.  Theorem X.1.29
       of [Rosser] p. 528.  (Contributed by SF, 22-Jan-2015.) $)
    tfinnul $p |- _T[fin] (/) = (/) $=
      ( vx vy c0 ctfin wceq cv cnnc wcel cpw1 wrex cio cif df-tfin iftrue ax-mp
      wa eqid eqtri ) CDCCEZCAFZGHBFITHBCJPAKZLZCACBMSUBCECQSCUANOR $.
  $}

  ${
    $d N a $.
    $( Closure law for finite T operation.  (Contributed by SF, 2-Feb-2015.) $)
    tfincl $p |- ( N e. Nn -> _T[fin] N e. Nn ) $=
      ( va cnnc wcel ctfin wi c0 wceq tfinnul tfineq 3eqtr4a eleq1d biimprd wne
      id wa cv cpw1 wrex tfinprop simpld expcom pm2.61ine ) ACDZAEZCDZFAGAGHZUF
      UDUGUEACUGGEGUEAIAGJUGOKLMUDAGNZUFUDUHPUFBQRUEDBASABTUAUBUC $.
  $}

  ${
    $d a b $.  $d a p $.  $d b p $.  $d M a $.  $d M b $.  $d M p $.  $d N a $.
    $d N b $.  $d N p $.

    $( The finite T operator is one-to-one over the naturals.  Theorem X.1.30
       of [Rosser] p. 528.  (Contributed by SF, 24-Jan-2015.) $)
    tfin11 $p |- ( ( M e. Nn /\ N e. Nn /\ _T[fin] M = _T[fin] N ) ->
            M = N ) $=
      ( va vb vp cnnc wcel ctfin wceq w3a wi c0 wa tfinnnul ex necon4d 3ad2ant1
      wne cv wrex impcom eqeq1 adantl adantr sylbid 3adant1 eqtr4d neeq1 biimpd
      wb ancld tfineq tfinnul syl6eq necon3i anim12i 3ad2ant3 tfinprop 3ad2ant2
      syl6 reeanv wel simp31 tfincl syl simp2l simp2r simp33 ncfinlower syl3anc
      eleqtrrd simpl31 simpl1l simprrl nnceleq syl22anc simpl32 simpl1r simprrr
      cpw1 simprl expr rexlimdva mpd 3exp rexlimivv ad2ant2l com12 syl2and syld
      sylbir pm2.61ine ) AFGZBFGZAHZBHZIZJZABIZKZWOLWOLIZWRWSXAWRMALBWRXAALIZWM
      WNXAXBKWQWMALWOLWMALRZWOLRZANOPQUAWRXABLIZWNWQXAXEKWMWNWQMXAWPLIZXEWQXAXF
      UJWNWOWPLUBUCWNXFXEKWQWNBLWPLWNBLRZWPLRZBNOPUDUEUFUAUGOWRXDWSWRXDXCXGMZWS
      WQWMXDXIKWNWQXDXDXHMXIWQXDXHWQXDXHWOWPLUHUIUKXDXCXHXGALWOLXBWOLHZLALULUMU
      NUOBLWPLXEWPXJLBLULUMUNUOUPUTUQWRXCWOFGZCSZVTWOGZCATZMZXGWPFGZDSZVTZWPGZD
      BTZMZWSWMWNXCXOKWQWMXCXOACUROQWNWMXGYAKWQWNXGYABDUROUSXOYAMWRWSXNXTWTXKXP
      XNXTMXMXSMZDBTCATWTXMXSCDABVAYBWTCDABXLAGZXQBGZMZYBWRWSYEYBWRJZCEVBZDEVBZ
      MZEFTZWSYFXKXMXRWOGYJYFWMXKYEYBWMWNWQVCAVDVEYEXMXSWRVFYFXRWPWOYEXMXSWRVGY
      EYBWMWNWQVHVKXLXQEWOVIVJYFYIWSEFYFESZFGZYIWSYFYLYIMZMZAYKBYNWMYLYCYGAYKIW
      MWNWQYEYBYMVLYFYLYIWAZYCYDYBWRYMVMYFYLYGYHVNXLAYKVOVPYNWNYLYDYHBYKIWMWNWQ
      YEYBYMVQYOYCYDYBWRYMVRYFYLYGYHVSXQBYKVOVPUGWBWCWDWEWFWKWGWHWIWJWHWL $.
  $}

  ${
    $d A b $.  $d A n $.  $d b n $.  $d M b $.  $d M n $.
    $( The finite T operator on a natural contains the unit power class of any
       element of the natural.  Theorem X.1.31 of [Rosser] p. 528.
       (Contributed by SF, 24-Jan-2015.) $)
    tfinpw1 $p |- ( ( M e. Nn /\ A e. M ) -> ~P1 A e. _T[fin] M ) $=
      ( vb vn cnnc wcel wa ctfin cv cpw1 wrex c0 wne ne0i tfinprop sylan2 3expa
      expr rexlimdva mpd ncfinraise adantrr w3a simp3rl wceq simp3l syl simp3rr
      simp1l tfincl simp2r nnceleq syl22anc eleqtrd adantld ) BEFZABFZGZBHZEFZC
      IZJZUSFZCBKZGZAJZUSFZUQUPBLMVEBANBCOPURVDVGUTURVCVGCBURVABFZVCVGURVHVCGZG
      ZVFDIZFZVBVKFZGZDEKZVGURVHVOVCUPUQVHVOAVADBUAQUBVJVNVGDEVJVKEFZVNVGURVIVP
      VNGZVGURVIVQUCZVFVKUSVLVMVPURVIUDVRVPUTVMVCVKUSUEURVIVPVNUFVRUPUTUPUQVIVQ
      UIBUJUGVLVMVPURVIUHURVHVCVQUKVBVKUSULUMUNQRSTRSUOT $.
  $}

  $( Relationship between finite T operator and finite Nc operation in a finite
     universe.  Corollary of Theorem X.1.31 of [Rosser] p. 529.  (Contributed
     by SF, 24-Jan-2015.) $)
  ncfintfin $p |- ( ( _V e. Fin /\ A e. V ) ->
             _T[fin] Nc[fin] A = Nc[fin] ~P1 A ) $=
    ( cvv cfin wcel wa cncfin cnnc cpw1 wceq ncfinprop simpld tfincl syl pw1exg
    ctfin sylan2 tfinpw1 simprd nnceleq syl22anc ) CDEZABEZFZAGZPZHEZAIZGZHEZUH
    UFEZUHUIEZUFUIJUDUEHEZUGUDUMAUEEZABKZLUEMNUDUJULUCUBUHCEUJULFABOUHCKQZLUDUM
    UNFUKUOAUERNUDUJULUPSUHUFUITUA $.

  ${
    $d M a b c $.  $d N a b c $.
    $( The finite T operation distributes over non-empty cardinal sum.  Theorem
       X.1.32 of [Rosser] p. 529.  (Contributed by SF, 26-Jan-2015.) $)
    tfindi $p |- ( ( M e. Nn /\ N e. Nn /\ ( M +c N ) =/= (/) ) ->
       _T[fin] ( M +c N ) = ( _T[fin] M +c _T[fin] N ) ) $=
      ( va vb vc cnnc wcel cplc c0 ctfin wceq cv cpw1 nncaddccl 3adant3 tfinpw1
      wa tfincl syl2anc cin wne wex n0 w3a syl syl2an simp3 wrex eladdc simplll
      cun simplrl simpllr simplrr pw1eq pw1in pw10 3eqtr3g adantl eladdci pw1un
      syl3anc syl6eq eleq1d syl5ibrcom expimpd rexlimdvva syl5bi 3impia nnceleq
      syl22anc 3expia exlimdv ) AFGZBFGZABHZIUAZVPJZAJZBJZHZKZVQCLZVPGZCUBVNVOQ
      ZWBCVPUCWEWDWBCVNVOWDWBVNVOWDUDZVRFGZWAFGZWCMZVRGZWIWAGZWBVNVOWGWDWEVPFGZ
      WGABNZVPRUEOVNVOWHWDVNVSFGVTFGWHVOARBRVSVTNUFOWFWLWDWJVNVOWLWDWMOVNVOWDUG
      WCVPPSVNVOWDWKWDDLZELZTZIKZWCWNWOUKZKZQZEBUHDAUHWEWKWCABDEUIWEWTWKDEABWEW
      NAGZWOBGZQZQZWQWSWKXDWQQZWKWSWNMZWOMZUKZWAGZXEXFVSGZXGVTGZXFXGTZIKZXIXEVN
      XAXJVNVOXCWQUJWEXAXBWQULWNAPSXEVOXBXKVNVOXCWQUMWEXAXBWQUNWOBPSWQXMXDWQWPM
      IMXLIWPIUOWNWOUPUQURUSXFXGVSVTUTVBWSWIXHWAWSWIWRMXHWCWRUOWNWOVAVCVDVEVFVG
      VHVIWIVRWAVJVKVLVMVHVI $.
  $}

  $( The finite T operator is fixed at ` 0c ` .  (Contributed by SF,
     29-Jan-2015.) $)
  tfin0c $p |- _T[fin] 0c = 0c $=
    ( c0c ctfin cnnc wcel c0 wceq peano1 tfincl ax-mp cpw1 pw10 nulel0c tfinpw1
    mp2an eqeltrri nnceleq mp4an ) ABZCDZACDZERDEADZRAFTSGAHIGEJZERKTUAUBRDGLEA
    MNOLERAPQ $.

  ${
    $d A a b x $.
    $( The finite T operator over a successor.  (Contributed by SF,
       30-Jan-2015.) $)
    tfinsuc $p |- ( ( A e. Nn /\ ( A +c 1c ) =/= (/) ) ->
       _T[fin] ( A +c 1c ) = ( _T[fin] A +c 1c ) ) $=
      ( va vb vx cnnc wcel c1c cplc ctfin wceq cv cpw1 peano2 tfincl syl adantr
      wa tfinpw1 csn cun c0 wne wex sylan ccompl wrex elsuc adantrr wel elcompl
      n0 wn vex snelpw1 xchbinxr biimpi ad2antll snex syl2anc pw1eq pw1un pw1sn
      elsuci uneq2i syl6eq eleq1d syl5ibrcom rexlimdvva syl5bi nnceleq syl22anc
      eqtri imp ex exlimdv ) AEFZAGHZUAUBZVQIZAIZGHZJZVRBKZVQFZBUCVPWBBVQUKVPWD
      WBBVPWDWBVPWDQVSEFZWAEFZWCLZVSFZWGWAFZWBVPWEWDVPVQEFZWEAMZVQNOPVPWFWDVPVT
      EFWFANVTMOPVPWJWDWHWKWCVQRUDVPWDWIWDWCCKZDKZSZTZJZDWLUEZUFCAUFVPWIDWCACUG
      VPWPWICDAWQVPWLAFZWMWQFZQQZWIWPWLLZWNSZTZWAFZWTXAVTFZWNXAFZULZXDVPWRXEWSW
      LARUHWSXGVPWRWSXGWSDCUIXFWMWLDUMZUJWMWLUNUOUPUQXAVTWNWMURVCUSWPWGXCWAWPWG
      WOLZXCWCWOUTXIXAWNLZTXCWLWNVAXJXBXAWMXHVBVDVLVEVFVGVHVIVMWGVSWAVJVKVNVOVI
      VM $.
  $}

  $( The finite T operator is idempotent over ` 1c ` .  Theorem X.1.34(a) of
     [Rosser] p. 529.  (Contributed by SF, 30-Jan-2015.) $)
  tfin1c $p |- _T[fin] 1c = 1c $=
    ( c0c c1c cplc ctfin cnnc wcel wne wceq peano1 addcid2 csn 1cex snel1c ne0i
    c0 ax-mp eqnetri tfinsuc mp2an tfineq tfin0c addceq1i eqtri 3eqtr3i ) ABCZD
    ZADZBCZBDZBAEFUEOGUFUHHIUEBOBJZBKZBFBOGBLMBUKNPQARSUEBHUFUIHUJUEBTPUHUEBUGA
    BUAUBUJUCUD $.

  ${
    $d M x y $.  $d N x y $.
    $( Lemma for ~ tfinltfin .  Prove the forward direction of the theorem.
       (Contributed by SF, 2-Feb-2015.) $)
    tfinltfinlem1 $p |- ( ( M e. Nn /\ N e. Nn ) ->
    ( << M , N >> e. <[fin] ->
      << _T[fin] M , _T[fin] N >> e. <[fin] ) ) $=
      ( vx vy cnnc wcel wa c0 wne cv cplc wceq wrex ctfin copk addceq1d syl2anc
      c1c wi cvv cltfin tfinnnul adantrd adantr addcnul1 addccom eqtr3i addceq2
      ex syl6eq eqeq2d rspcev mpan2 eleq1 tfineq tfinnul eqeq1d rexbidv imbi12d
      mpbiri adantld a1dd w3a simp2r simp3r simp3l eqnetrrd addcnnul syl simpld
      simprd cpw1 tfinprop adantl simp1l nncaddccl tfinsuc eqtrd tfindi syl3anc
      3ad2ant3 3expa exp32 com12 pm2.61ine expr rexlimdv imp3a opkltfing tfinex
      jcad wb mp2an a1i 3imtr4d ) AEFZBEFZGZAHIZBACJZKZRKZLZCEMZGZANZHIZBNZXFDJ
      ZKZRKZLZDEMZGZABOUAFXFXHOUAFZWRXEXGXMWPXEXGSWQWPWSXGXDWPWSXGAUBUIUCUDWRWS
      XDXMWRWSXDXMSWRWSGXCXMCEWRWSWTEFZXCXMSZWRWSXPGZGZXQSBHBHLZXSXMXCXTWRXMXRX
      TWQXMWPXTWQXMSHEFZHXKLZDEMZSYAHHRKZLZYCRHKHYDRUERHUFUGYBYEDHEXIHLZXKYDHYF
      XJHRYFXJXFHKHXIHXFUHXFUEUJPUKULUMXTWQYAXMYCBHEUNXTXLYBDEXTXHHXKXTXHHNHBHU
      OUPUJUQURUSUTVAUCVBXSBHIZXQXSYGXCXMWRXRYGXCGZXMWRXRYHVCZWTNZEFZXHXFYJKZRK
      ZLZXMYIXPWTHIZYKWRWSXPYHVDZYIWSYOYIXAHIZWSYOGYIYQRHIZYIXBHIZYQYRGYIBXBHWR
      XRYGXCVEWRXRYGXCVFVGZXARVHVIVJZAWTVHVIVKXPYOGYKXIVLYJFDWTMWTDVMVJQYIXHXAN
      ZRKZYMYIXHXBNZUUCYHWRXHUUDLZXRXCUUEYGBXBUOVNWAYIXAEFZYSUUDUUCLYIWPXPUUFWP
      WQXRYHVOZYPAWTVPQYTXAVQQVRYIUUBYLRYIWPXPYQUUBYLLUUGYPUUAAWTVSVTPVRXLYNDYJ
      EXIYJLZXKYMXHUUHXJYLRXIYJXFUHPUKULQWBWCWDWEWFWGUIWHWKCABEEWIXOXNWLZWRXFTF
      XHTFUUIAWJBWJDXFXHTTWIWMWNWO $.
  $}

  ${
    $d M x y $.  $d N x y $.
    $( Ordering rule for the finite T operation.  Corollary to theorem X.1.33
       of [Rosser] p. 529.  (Contributed by SF, 1-Feb-2015.) $)
    tfinltfin $p |- ( ( M e. Nn /\ N e. Nn ) ->
    ( << M , N >> e. <[fin] <->
      << _T[fin] M , _T[fin] N >> e. <[fin] ) ) $=
      ( vx vy cnnc wcel wa copk cltfin ctfin tfinltfinlem1 wi c0 wceq cplc wrex
      wne wn cvv jca cv c1c tfineq tfinnul syl6eq df-ne con2bii intnanrd tfinex
      sylib wb opkltfing mp2an sylnibr pm2.21d a1d w3a tfinprop simpld ltfinirr
      cpw1 syl 3adant2 opkeq2 eleq1d notbid syl5ibcom con2d nsyl simpl1 syl2anc
      imp simpl3 simpl2 simprr simprl ltfinasym sylc expr imnan ancoms simprbda
      3adant3 adantrl mtod w3o ltfintri adantr ecase23d expcom pm2.61ine impbid
      ex 3expa ) AEFZBEFZGZABHIFZAJZBJZHZIFZABKWQXBWRLZLAMAMNZXCWQXDXBWRXDWSMQZ
      WTWSCUAOUBONCEPZGZXBXDXEXFXDWSMNZXERXDWSMJMAMUCUDUEXEXHWSMUFUGUJUHWSSFWTS
      FXBXGUKAUIBUICWSWTSSULUMUNUOUPWQAMQZXCWOWPXIXCWOWPXIUQZXBWRXJXBGZWRABNZBA
      HIFZXKWSWTNZXLXJXBXNRXJXNXBXJWSWSHZIFZRZXNXBRWOXIXQWPWOXIGZWSEFZXQXRXSDUA
      ZVAZWSFDAPADURUSZWSUTVBVCXNXPXBXNXOXAIWSWTWSVDVEVFVGVHVLABUCVIXKXMBMQZWTW
      SHIFZGZXKYCYDRZLYERXJXBYCYFXJXBYCGZGZXSWTEFZGXBYFYHXSYIYHWOXIXSWOWPXIYGVJ
      WOWPXIYGVMYBVKYHWPYCYIWOWPXIYGVNXJXBYCVOWPYCGYIYAWTFDBPBDURUSVKTXJXBYCVPW
      SWTVQVRVSYCYDVTUJXJXBXMYEXJXBXMGZGZYCYDXJXMYCXBXJXMYCABXTOUBONDEPZWOWPXMY
      CYLGUKZXIWPWOYMDBAEEULWAWCWBWDYKWPWOGXMYDYKWPWOWOWPXIYJVNWOWPXIYJVJTXJXBX
      MVOBAKVRTVSWEXJWRXLXMWFXBABWGWHWIWMWNWJWKWL $.
  $}

  $( Ordering rule for the finite T operation.  Theorem X.1.33 of [Rosser]
     p. 529.  (Contributed by SF, 2-Feb-2015.) $)
  tfinlefin $p |- ( ( M e. Nn /\ N e. Nn ) ->
    ( << M , N >> e. <_[fin] <->
      << _T[fin] M , _T[fin] N >> e. <_[fin] ) ) $=
    ( cnnc wcel wa copk cltfin wn ctfin clefin tfinltfin ancoms notbid lenltfin
    wb tfincl syl2an 3bitr4d ) ACDZBCDZEZBAFGDZHBIZAIZFGDZHZABFJDUDUCFJDZUAUBUE
    TSUBUEOBAKLMABNSUDCDUCCDUGUFOTAPBPUDUCNQR $.

  ${
    $d a b $.  $d a c $.  $d a n $.  $d a t $.  $d a x $.  $d b c $.  $d b n $.
    $d b t $.  $d b x $.  $d c n $.  $d c t $.  $d c x $.  $d n x $.  $d n t $.
    $d t x $.

    $( The set of all even naturals exists.  (Contributed by SF,
       20-Jan-2015.) $)
    evenfinex $p |- Even[fin] e. _V $=
      ( vx vn va vt vc vb cssetk csik csn wrex wa wcel copk wn exbii snex bitri
      wex 3bitri opksnelsik cevenfin cins2k cvv cxpk cin cins3k c1c cpw1 ccompl
      cimak cun csymdif cnnc c0 cdif cv cplc wceq wne df-evenfin eldifsn elimak
      cab vex wb opkex elpw121c anbi1i 19.41v bitr4i df-rex excom opkeq1 eleq1d
      3bitr4i ceqsexv elsymdif otkelins2k elssetk otkelins3k r2ex elpw141c elin
      eladdc opkelxpk mpbiran anbi12i ndisjrelk notbii elcompl con2bii elpw171c
      wel df-ne wo orbi12i elun bibi12i wal dfcleq rexbii abbi2i eqtr4i ssetkex
      alex ins2kex vvex xpkex inex ins3kex 1cex pw1ex imakex complex sikex unex
      symdifex nncex difex eqeltri ) UAGUBZYAUBZUCYAUDZUEZGUFZYAUEZUGUHZUHZUJZU
      IZHZHZHZUFZGHZUFZUBZUBZYOHZHZHZHZUFZYTUFZUBZUKZULZYHUHZUHZUHZUHZUHZUJZUIZ
      UEZUEZUUIUJZYHUJZUFZULZYHUJZUIZUMUJZUNIZUOZUCUAAUPZBUPZUVGUQZURZBUMJZUVFU
      NUSZKZAVCUVEABUTUVLAUVEUVFUVELUVFUVCLZUVKKUVLUVFUVCUNVAUVMUVJUVKUVMUVGUVF
      MZUVBLZBUMJUVJBUVBUMUVFAVDZVBUVOUVIBUMUVNUVALZNCAWMZCUPZUVHLZVEZNZCRZNZUV
      OUVIUVQUWCUVQDUPZUVNMZUUTLZDYHJZUWEUVSIZIZIZURZUWGKZDRZCRZUWCDUUTYHUVNUVG
      UVFVFZVBUWEYHLZUWGKZDRUWMCRZDRUWHUWOUWRUWSDUWRUWLCRZUWGKUWSUWQUWTUWGCUWEV
      GVHUWLUWGCVIVJOUWGDYHVKUWMCDVLVOUWNUWBCUWNUWKUVNMZUUTLZUXAYALZUXAUUSLZVEZ
      NUWBUWGUXBDUWKUWJPUWLUWFUXAUUTUWEUWKUVNVMVNVPUXAYAUUSVQUXEUWAUXCUVRUXDUVT
      UXCUWIUVFMGLUVRUWIUVGUVFGUVSPZBVDZUVPVRUVSUVFCVDZUVPVSQUWIUVGMZUURLZUWEEU
      PZIZIZIZURZUWEUXIMZUUQLZKZDRZERZUXDUVTUXJUXQDYHJUWQUXQKZDRZUXTDUUQYHUXIUW
      IUVGVFZVBUXQDYHVKUYBUXRERZDRUXTUYAUYDDUYAUXOERZUXQKUYDUWQUYEUXQEUWEVGVHUX
      OUXQEVIVJOUXREDVLVJSUWIUVGUVFUURUXFUXGUVPVTUVTFUPZUXKUEZUNURZUVSUYFUXKUKZ
      URZKZEUVGJFUVGJFBWMZEBWMZKZUYKKZERFRZUXTUVSUVGUVGFEWDUYKFEUVGUVGWAUYPUYOF
      RZERUXTUYOFEVLUXSUYQEUXSUXNUXIMZUUQLZUWEUYFIZIZIZIZIZURZUWEUYRMZUUPLZKZDR
      ZFRZUYQUXQUYSDUXNUXMPZUXOUXPUYRUUQUWEUXNUXIVMVNVPUYSVUGDUUIJUWEUUILZVUGKZ
      DRZVUJDUUPUUIUYRUXNUXIVFZVBVUGDUUIVKVUNVUHFRZDRVUJVUMVUPDVUMVUEFRZVUGKVUP
      VULVUQVUGFUWEWBVHVUEVUGFVIVJOVUHFDVLVJSVUIUYOFVUIVUDUYRMZUUPLZVURYDLZVURU
      UOLZKUYOVUGVUSDVUDVUCPZVUEVUFVURUUPUWEVUDUYRVMVNVPVURYDUUOWCVUTUYNVVAUYKV
      UTVURYBLZVURYCLZKUYNVURYBYCWCVVCUYLVVDUYMVVCVUBUXIMYALUYTUVGMGLUYLVUBUXNU
      XIYAVUAPZVUKUYCVRUYTUWIUVGGUYFPZUXFUXGVRUYFUVGFVDZUXGVSSVVDUYRYALZUXLUVGM
      GLUYMVVDVUDUCLVVHVVBVUDUYRUCYAVVBVUOWEWFUXLUWIUVGGUXKPZUXFUXGVRUXKUVGEVDZ
      UXGVSSWGQVVAVURYNLZVURUUNLZKUYKVURYNUUNWCVVKUYHVVLUYJVVKVUBUXNMYMLVUAUXMM
      YLLZUYHVUBUXNUXIYMVVEVUKUYCVTVUAUXMYLUYTPZUXLPZTVVMUYTUXLMYKLUYFUXKMZYJLZ
      UYHUYTUXLYKVVFVVITUYFUXKYJVVGVVJTVVPYILZNUYGUNUSZNVVQUYHVVRVVSUYFUXKVVGVV
      JWHWIVVPYIUYFUXKVFWJVVSUYHUYGUNWNWKVOSSVURUUMLZNACWMZUVFUYILZVEZNZARZNZVV
      LUYJVVTVWEVVTUWEVURMZUUGLZDUULJZUWEUVFIZIZIZIZIZIZIZIZURZVWHKZDRZARZVWEDU
      UGUULVURVUDUYRVFZVBUWEUULLZVWHKZDRVWSARZDRVWIVXAVXDVXEDVXDVWRARZVWHKVXEVX
      CVXFVWHAUWEWLVHVWRVWHAVIVJOVWHDUULVKVWSADVLVOVWTVWDAVWTVWQVURMZUUGLZVXGYR
      LZVXGUUFLZVEZNVWDVWHVXHDVWQVWPPVWRVWGVXGUUGUWEVWQVURVMVNVPVXGYRUUFVQVXKVW
      CVXIVWAVXJVWBVXIVWOUYRMZYQLVWMUXIMYPLZVWAVWOVUDUYRYQVWNPZVVBVUOVRVWMUXNUX
      IYPVWLPZVUKUYCVRVXMVWKUWIMYOLVWJUVSMGLVWAVWKUWIUVGYOVWJPZUXFUXGVTVWJUVSGU
      VFPZUXHTUVFUVSUVPUXHVSSSVXGUUCLZVXGUUELZWOAFWMZAEWMZWOVXJVWBVXRVXTVXSVYAV
      XRVWOVUDMUUBLVWNVUCMUUALZVXTVWOVUDUYRUUBVXNVVBVUOVTVWNVUCUUAVWMPVUBPTVYBV
      WMVUBMYTLVWLVUAMYSLZVXTVWMVUBYTVXOVVETVWLVUAYSVWKPZVVNTVYCVWKUYTMYOLVWJUY
      FMGLVXTVWKUYTYOVXPVVFTVWJUYFGVXQVVGTUVFUYFUVPVVGVSSSSVXSVXLUUDLVWMUXNMYTL
      ZVYAVWOVUDUYRUUDVXNVVBVUOVRVWMUXNUXIYTVXOVUKUYCVTVYEVWLUXMMYSLVWKUXLMYOLZ
      VYAVWLUXMYSVYDVVOTVWKUXLYOVXPVVITVYFVWJUXKMGLVYAVWJUXKGVXQVVJTUVFUXKUVPVV
      JVSQSSWPVXGUUCUUEWQUVFUYFUXKWQVOWRWISOSWIVURUUMVXBWJUYJVWCAWSVWFAUVSUYIWT
      VWCAXEQVOWGQWGSOSOVJSVOWRWISOSWIUVNUVAUWPWJUVIUWACWSUWDCUVFUVHWTUWACXEQVO
      XAQVHQXBXCUVCUVDUVBUMUVAUUTYHYAUUSGXDXFZUURUUQYHUUPUUIYDUUOYBYCYAVYGXFUCY
      AXGVYGXHXIYNUUNYMYLYKYJYIYFYHYEYAGXDXJVYGXIYGUGXKXLXLZXMXNXOXOXOXJUUMUUGU
      ULYRUUFYQYPYOGXDXOZXJXFXFUUCUUEUUBUUAYTYSYOVYIXOXOZXOXOXJUUDYTVYJXJXFXPXQ
      UUKUUJUUIUUHYHVYHXLXLZXLXLXLXMXNXIXIVYKXMVYHXMXJXQVYHXMXNXRXMUNPXSXT $.

    $d a y $.  $d b y $.  $d n y $.  $d t y $.  $d x y $.

    $( The set of all odd naturals exists.  (Contributed by SF,
       20-Jan-2015.) $)
    oddfinex $p |- Odd[fin] e. _V $=
      ( vx va vt vb vc vy cssetk csn wceq wrex wa wcel copk wn wex 3bitr4i snex
      exbii 3bitri opksnelsik coddfin cins2k cvv cxpk cin cins3k c1c cpw1 cimak
      vn ccompl csik cun csymdif ccnvk cidk cnnc c0 cdif cplc wne cab df-oddfin
      cv eldifsn vex elimak wb opkex elpw121c anbi1i 19.41v bitr4i df-rex excom
      opkeq1 eleq1d ceqsexv elsymdif otkelins2k elssetk bitri elpw131c elpw141c
      elin opkelxpk mpbiran anbi12i otkelins3k ndisjrelk notbii elcompl con2bii
      wel df-ne elpw171c wo orbi12i elun bibi12i wal dfcleq alex r2ex opkelcnvk
      eladdc weq sneqb opkelidkg mp2an elsnc elsuc rexbii abbi2i eqtr4i ssetkex
      ins2kex vvex xpkex inex ins3kex 1cex pw1ex imakex complex symdifex cnvkex
      sikex unex idkex nncex difex eqeltri ) UAGUBZYNUBZUCYNUDZUEZGUFZYNUEZUGUH
[encoded data, 5920 characters]
      YAYFXVDYDYEYKYDURQYLYM $.
  $}

  ${
    $d n x $.
    $( Cardinal zero is even.  (Contributed by SF, 20-Jan-2015.) $)
    0ceven $p |- 0c e. Even[fin] $=
      ( vn vx c0c cevenfin wcel cv cplc wceq cnnc wrex c0 peano1 addcid2 eqcomi
      wne addceq12 anidms eqeq2d rspcev wa mp2an snid df-0c eleqtrri ne0i ax-mp
      csn 0ex 0cex eqeq1 rexbidv neeq1 anbi12d df-evenfin elab2 mpbir2an ) CDEC
      AFZUQGZHZAIJZCKOZCIECCCGZHZUTLVBCCMNUSVCACIUQCHZURVBCVDURVBHUQUQCCPQRSUAK
      CEVAKKUGCKUHUBUCUDCKUEUFBFZURHZAIJZVEKOZTUTVATBCDUIVECHZVGUTVHVAVIVFUSAIV
      ECURUJUKVECKULUMBAUNUOUP $.
  $}

  ${
    $d A n x $.
    $( An even finite cardinal is a finite cardinal.  (Contributed by SF,
       20-Jan-2015.) $)
    evennn $p |- ( A e. Even[fin] -> A e. Nn ) $=
      ( vn vx cevenfin wcel cv cplc wceq cnnc wrex c0 wne eqeq1 rexbidv anbi12d
      wa neeq1 df-evenfin elab2g syl wi nncaddccl anidms eleq1a rexlimiv adantr
      ibi ) ADEZABFZUIGZHZBIJZAKLZPZAIEZUHUNCFZUJHZBIJZUPKLZPUNCADDUPAHZURULUSU
      MUTUQUKBIUPAUJMNUPAKQOCBRSUGULUOUMUKUOBIUIIEZUJIEZUKUOUAVAVBUIUIUBUCUJIAU
      DTUEUFT $.
  $}

  ${
    $d A n x $.
    $( An odd finite cardinal is a finite cardinal.  (Contributed by SF,
       20-Jan-2015.) $)
    oddnn $p |- ( A e. Odd[fin] -> A e. Nn ) $=
      ( vn vx coddfin wcel cv cplc c1c wceq cnnc wrex c0 wa eqeq1 rexbidv neeq1
      wne anbi12d df-oddfin elab2g ibi wi nncaddccl anidms peano2 3syl rexlimiv
      eleq1a adantr syl ) ADEZABFZULGZHGZIZBJKZALQZMZAJEZUKURCFZUNIZBJKZUTLQZMU
      RCADDUTAIZVBUPVCUQVDVAUOBJUTAUNNOUTALPRCBSTUAUPUSUQUOUSBJULJEZUMJEZUNJEUO
      USUBVEVFULULUCUDUMUEUNJAUHUFUGUIUJ $.
  $}

  ${
    $d A n x $.
    $( An even number is non-empty.  (Contributed by SF, 22-Jan-2015.) $)
    evennnul $p |- ( A e. Even[fin] -> A =/= (/) ) $=
      ( vn vx cevenfin wcel cv cplc wceq cnnc wrex c0 wne eqeq1 rexbidv anbi12d
      wa neeq1 df-evenfin elab2g ibi simprd ) ADEZABFZUCGZHZBIJZAKLZUBUFUGPZCFZ
      UDHZBIJZUIKLZPUHCADDUIAHZUKUFULUGUMUJUEBIUIAUDMNUIAKQOCBRSTUA $.

    $( An odd number is non-empty.  (Contributed by SF, 22-Jan-2015.) $)
    oddnnul $p |- ( A e. Odd[fin] -> A =/= (/) ) $=
      ( vn vx coddfin wcel cv cplc c1c wceq cnnc wrex c0 wa eqeq1 rexbidv neeq1
      wne anbi12d df-oddfin elab2g ibi simprd ) ADEZABFZUDGHGZIZBJKZALQZUCUGUHM
      ZCFZUEIZBJKZUJLQZMUICADDUJAIZULUGUMUHUNUKUFBJUJAUENOUJALPRCBSTUAUB $.
  $}

  ${
    $d A m x $.
    $( The successor of an even natural is odd.  (Contributed by SF,
       20-Jan-2015.) $)
    sucevenodd $p |- ( ( A e. Even[fin] /\ ( A +c 1c ) =/= (/) ) ->
               ( A +c 1c ) e. Odd[fin] ) $=
      ( vm vx cevenfin wcel c1c cplc c0 wa coddfin wceq cnnc wrex eqeq1 rexbidv
      wne cv neeq1 anbi12d cvv df-evenfin elab2g ibi addceq1 reximi adantr 1cex
      syl anim1i wb addcexg mpan2 df-oddfin mpbird ) ADEZAFGZHPZIUPJEZUPBQZUSGZ
      FGZKZBLMZUQIZUOVCUQUOAUTKZBLMZAHPZIZVCUOVHCQZUTKZBLMZVIHPZIVHCADDVIAKZVKV
      FVLVGVMVJVEBLVIAUTNOVIAHRSCBUAUBUCVFVCVGVEVBBLAUTFUDUEUFUHUIUOURVDUJZUQUO
      UPTEZVNUOFTEVOUGAFDTUKULVIVAKZBLMZVLIVDCUPJTVIUPKZVQVCVLUQVRVPVBBLVIUPVAN
      OVIUPHRSCBUMUBUHUFUN $.
  $}

  ${
    $d A m n x $.
    $( The successor of an odd natural is even.  (Contributed by SF,
       22-Jan-2015.) $)
    sucoddeven $p |- ( ( A e. Odd[fin] /\ ( A +c 1c ) =/= (/) ) ->
               ( A +c 1c ) e. Even[fin] ) $=
      ( vm vn vx coddfin wcel c1c cplc c0 wa cevenfin cv wceq cnnc wrex rexbidv
      wne eqeq1 syl cvv neeq1 anbi12d df-oddfin elab2g wi peano2 addc32 addcass
      addceq1i eqtri addceq12 anidms eqeq2d rspcev mpan2 addceq1 eqeq1d biimprd
      ibi com12 rexlimiv adantr anim1i wb 1cex addcexg df-evenfin mpbird ) AEFZ
      AGHZIQZJVJKFZVJBLZVMHZMZBNOZVKJZVIVPVKVIACLZVRHGHZMZCNOZAIQZJZVPVIWCDLZVS
      MZCNOZWDIQZJWCDAEEWDAMZWFWAWGWBWHWEVTCNWDAVSRPWDAIUAUBDCUCUDUSWAVPWBVTVPC
      NVRNFZVSGHZVNMZBNOZVTVPUEWIVRGHZNFZWLVRUFWNWJWMWMHZMZWLWJWMVRHZGHWOVSWQGV
      RVRGUGUIWMVRGUHUJWKWPBWMNVMWMMZVNWOWJWRVNWOMVMVMWMWMUKULUMUNUOSVTWLVPVTVP
      WLVTVOWKBNVTVJWJVNAVSGUPUQPURUTSVAVBSVCVIVLVQVDZVKVIVJTFZWSVIGTFWTVEAGETV
      FUOWDVNMZBNOZWGJVQDVJKTWDVJMZXBVPWGVKXCXAVOBNWDVJVNRPWDVJIUAUBDBVGUDSVBVH
      $.
  $}

  ${
    $d x n $.
    $( Alternate definition of even number.  (Contributed by SF,
       25-Jan-2015.) $)
    dfevenfin2 $p |- Even[fin] =
       { x | E. n e. Nn ( x = ( n +c n ) /\ ( n +c n ) =/= (/) ) } $=
      ( cevenfin cv cplc wceq cnnc wrex c0 wne df-evenfin r19.41v neeq1 pm5.32i
      wa cab rexbii bitr3i abbii eqtri ) CADZBDZUBEZFZBGHUAIJZOZAPUDUCIJZOZBGHZ
      APABKUFUIAUFUDUEOZBGHUIUDUEBGLUJUHBGUDUEUGUAUCIMNQRST $.

    $( Alternate definition of odd number.  (Contributed by SF,
       25-Jan-2015.) $)
    dfoddfin2 $p |- Odd[fin] =
       { x | E. n e. Nn ( x = ( ( n +c n ) +c 1c ) /\
             ( ( n +c n ) +c 1c ) =/= (/) ) } $=
      ( coddfin cv cplc c1c wceq cnnc wrex c0 wne cab df-oddfin r19.41v pm5.32i
      wa neeq1 rexbii bitr3i abbii eqtri ) CADZBDZUCEFEZGZBHIUBJKZPZALUEUDJKZPZ
      BHIZALABMUGUJAUGUEUFPZBHIUJUEUFBHNUKUIBHUEUFUHUBUDJQORSTUA $.
  $}

  ${
    $d x k n m $.
    $( Every non-empty finite cardinal is either even or odd.  Theorem X.1.35
       of [Rosser] p. 529.  (Contributed by SF, 20-Jan-2015.) $)
    evenoddnnnul $p |- ( Even[fin] u. Odd[fin] ) = ( Nn \ { (/) } ) $=
      ( vx vn vm vk cevenfin coddfin cnnc c0 wss cv wcel wne ssriv wi c0c neeq1
      c1c wo eleq1 imbi12d cun cdif wa evennn evennnul eldifsn sylanbrc oddnnul
      csn oddnn pm3.2i unss mpbi cplc cab cvv wn wceq elsnc df-ne con2bii bitri
      vex orbi1i elun imor 3bitr4i abbi2i snex evenfinex oddfinex unex eqeltrri
      weq ssun1 0ceven sselii a1i addcnnul simpld sucevenodd sucoddeven orim12d
      expcom orcom 3imtr4g embantd com12 finds imp sylbi eqssi ) EFUAZGHUIZUBZE
      WOIZFWOIZUCWMWOIWPWQAEWOAJZEKWRGKZWRHLZWRWOKZWRUDWRUEWRGHUFZUGMAFWOWRFKWS
      WTXAWRUJWRUHXBUGMUKEFWOULUMBWOWMBJZWOKXCGKZXCHLZUCXCWMKZXCGHUFXDXEXFCJZHL
      ZXGWMKZNZOHLZOWMKZNDJZHLZXMWMKZNZXMQUNZHLZXQWMKZNZXEXFNCDXCWNWMUAZXJCUOUP
      XJCYAXGWNKZXIRXHUQZXIRXGYAKXJYBYCXIYBXGHURZYCXGHCVCUSXHYDXGHUTVAVBVDXGWNW
      MVEXHXIVFVGVHWNWMHVIEFVJVKVLVLVMXGOURXHXKXIXLXGOHPXGOWMSTCDVNXHXNXIXOXGXM
      HPXGXMWMSTXGXQURXHXRXIXSXGXQHPXGXQWMSTCBVNXHXEXIXFXGXCHPXGXCWMSTXLXKEWMOE
      FVOVPVQVRXPXTNXMGKXRXPXSXRXNXOXSXRXNQHLXMQVSVTXRXMEKZXMFKZRXQFKZXQEKZRZXO
      XSXRYEYGYFYHYEXRYGXMWAWDYFXRYHXMWBWDWCXMEFVEXSYHYGRYIXQEFVEYHYGWEVBWFWGWH
      VRWIWJWKMWL $.
  $}

  ${
    $d j n x a b y t $.
    $( Lemma for ~ evenodddisj .  Establish stratification for induction.
       (Contributed by SF, 25-Jan-2015.) $)
    evenodddisjlem1 $p |- { j | ( ( j +c j ) =/= (/) -> A.
n e. Nn ( ( ( n +c n ) +c 1c ) =/= (/) -> ( j +c j ) =/= ( ( n +c n ) +c 1c ) )
                                 ) } e. _V $=
      ( vx vy va vb vt cssetk csn wceq wn wcel copk wex wrex exbii 3bitr4i snex
      wa 3bitri cins3k cins2k cin c1c cpw1 cimak ccompl csik csymdif ccnvk cdif
      cun c0 cimagek cidk cvv cxpk cnnc cv cplc wne wi cab wo df-or vex elimakv
      wral elin wel wal opkex elimak elpw121c anbi1i 19.41v bitr4i df-rex excom
      wb opkeq1 ceqsexv elsymdif otkelins3k elssetk bitri otkelins2k opksnelsik
      eleq1d elpw141c ndisjrelk notbii elcompl con2bii elpw171c orbi12i bibi12i
      df-ne elun dfcleq alex anbi12i rexcom df-addc eqeq2i abeq2 opkelxpk elsnc
      weq elpw11c opkelcnvk opkelimagek dfaddc2 addcex addceq1 eqeq2d opkelidkg
      mpbiran2 eldif mp2an equcom 1cex eqeq2 eqeq1 notbid anbi12d annim ssetkex
      rexbii ins3kex ins2kex inex pw1ex imakex complex sikex unex symdifex vvex
      xpkex imbi12i con34b ralbii dfral2 neeq1 imbi2d ralbidv orbi12d addcexlem
      imbi1i abbi2i cnvkex imagekex idkex difex nncex eqeltrri ) HUAZHUBZUUSUBZ
[encoded data, 8240 characters]
      YHUOUYGUUNUWSUPYYBYSYTUUOYKYLYXLYNUUPYNYOYQYSYTYLYSYNUUQ $.
  $}

  ${
    $d m n $.  $d m x $.  $d n x $.  $d k n $.  $d k m $.  $d k p $.  $d k q $.
    $d n p $.  $d n q $.  $d p q $.  $d j k $.  $d j m $.  $d j n $.  $d j p $.
    $d k x $.  $d m p $.  $d m q $.

    $( The even finite cardinals and the odd ones are disjoint.  Theorem X.1.36
       of [Rosser] p. 529.  (Contributed by SF, 22-Jan-2015.) $)
    evenodddisj $p |- ( Even[fin] i^i Odd[fin] ) = (/) $=
      ( vx vn vp cv cplc wceq c0 wne wa cnnc c1c wn wi wcel c0c addceq12 anidms
      wral neeq1d imbi12d vk vj vm vq cevenfin coddfin cin dfevenfin2 dfoddfin2
      wrex cab ineq12i inab eqtri evenodddisjlem1 addcid2 syl6eq imbi2d ralbidv
      addceq1d neeq2d cbvralv syl6bb addc32 addceq1i eqtr3i 0cnsuc necomi rgenw
      weq addcass a1i neeq1i addcnnul simpld sylbi adantl simprl nnc0suc mpbiri
      wo sylib simpr rspcv addc4 adantr eqeq2i simplll nncaddccl simplrr peano2
      syl 3syl simpllr prepeano4 syl22anc ex syl5bir necon3d embantd syld com23
      expr imp31 com12 anbi2d syl5ibrcom rexlimiv adantrl mpd simplrl ralrimiva
      finds df-ne imbi2i con2b bitri ralbii ralnex syl6ib anbi1d rexbidv notbid
      jaod imnan eqeq1 imp3a mpbi abf ) UEUFUGZADZUADZYLEZFZYMGHZIZUAJUJZYKBDZY
      REZKEZFZYTGHZIZBJUJZIZAUKZGYJYQAUKZUUDAUKZUGUUFUEUUGUFUUHAUAUHABUIULYQUUD
      AUMUNUUEAYQUUDLZMUUELYPUUIUAJYLJNZYNYOUUIUUJYOUUIMYNYOYMYTFZUUBIZBJUJZLZM
      UUJYOUUBYMYTHZMZBJRZUUNUBDZUUREZGHZUUBUUSYTHZMZBJRZMOGHZUUBOYTHZMZBJRZMUC
      DZUVHEZGHZCDZUVKEZKEZGHZUVIUVMHZMZCJRZMZUVIKEZKEZGHZUUBUVTYTHZMZBJRZMYOUU
      QMUBUCYLUBBUOUUROFZUUTUVDUVCUVGUWEUUSOGUWEUUSOOEZOUWEUUSUWFFUURUUROOPQOUP
      ZUQZSUWEUVBUVFBJUWEUVAUVEUUBUWEUUSOYTUWHSURUSTUBUCVJZUUTUVJUVCUVQUWIUUSUV
      IGUWIUUSUVIFUURUURUVHUVHPQZSUWIUVCUUBUVIYTHZMZBJRUVQUWIUVBUWLBJUWIUVAUWKU
      UBUWIUUSUVIYTUWJSURUSUWLUVPBCJBCVJZUUBUVNUWKUVOUWMYTUVMGUWMYSUVLKUWMYSUVL
      FYRYRUVKUVKPQUTZSUWMYTUVMUVIUWNVATVBVCTUURUVHKEZFZUUTUWAUVCUWDUWPUUSUVTGU
      WPUUSUWOUWOEZUVTUWPUUSUWQFUURUURUWOUWOPQUWOUVHEZKEUWQUVTUWOUVHKVKUWRUVSKU
      VHKUVHVDVEVFUQZSUWPUVBUWCBJUWPUVAUWBUUBUWPUUSUVTYTUWSSURUSTUBUAVJZUUTYOUV
      CUUQUWTUUSYMGUWTUUSYMFUURUURYLYLPQZSUWTUVBUUPBJUWTUVAUUOUUBUWTUUSYMYTUXAS
      URUSTUVGUVDUVFBJUVEUUBYTOYSVGVHVLVIVLUVHJNZUWAUVRUWDUXBUWAUVRUWDMUXBUWAIZ
      UVJUVQUWDUWAUVJUXBUWAUVIKKEZEZGHZUVJUVTUXEGUVIKKVKVMUXFUVJUXDGHZUVIUXDVNV
      OVPVQUXCUVQUWDUXCUVQIZUWCBJUXHYRJNZUUBUWBUXHUXIUUBIZIZUVSYSHZUWBUXKYROFZY
      RUDDZKEZFZUDJUJZWAZUXLUXKUXIUXRUXHUXIUUBVRUDYRVSWBUXKUXMUXLUXQUXMUXLMUXKU
      XMUXLUVSOHUVIVGUXMYSOUVSUXMYSUWFOUXMYSUWFFYRYROOPQUWGUQVAVTVLUXHUUBUXQUXL
      MUXIUXQUXHUUBIZUXLUXPUXSUXLMZUDJUXNJNZUXTUXPUXHUXOUXOEZKEZGHZIZUVSUYBHZMU
      YEUYAUYFUXCUVQUYDUYAUYFMZUXCUYDUVQUYGUXCUYDUVQUYGMUXCUYDIUYAUVQUYFUXCUYDU
      YAUVQUYFMUXCUYDUYAIZIZUVQUXNUXNEZKEZGHZUVIUYKHZMZUYFUYIUYAUVQUYNMUYHUYAUX
      CUYDUYAWCVQUVPUYNCUXNJCUDVJZUVNUYLUVOUYMUYOUVMUYKGUYOUVLUYJKUYOUVLUYJFUVK
      UVKUXNUXNPQUTZSUYOUVMUYKUVIUYPVATWDWLUYIUYLUYMUYFUYHUYLUXCUYDUYLUYAUYDUYK
      UXDEZGHZUYLUYCUYQGUYCUYJUXDEZKEUYQUYBUYSKUXNKUXNKWEVEUYJUXDKVDUNVMUYRUYLU
      XGUYKUXDVNVOVPWFVQUYIUVSUYBUVIUYKUVSUYBFUVSUYKKEZFZUYIUVIUYKFZUYTUYBUVSUY
      TUXOUXNEZKEUYBUYKVUCKUXNUXNKVDVEUXOUXNKVKUNWGUYIVUAVUBUYIVUAIZUVIJNZUYKJN
      ZVUAUVSGHZVUBVUDUXBVUEUXBUWAUYHVUAWHUXBVUEUVHUVHWIQZWLVUDUYAUYJJNZVUFUXCU
      YDUYAVUAWJUYAVUIUXNUXNWIQUYJWKWMUYIVUAWCVUDUWAVUGUXBUWAUYHVUAWNUWAVUGKGHU
      VSKVNVOWLUVIUYKWOWPWQWRWSWTXAXCXBWQXBXDXEUXPUXSUYEUXLUYFUXPUUBUYDUXHUXPYT
      UYCGUXPYSUYBKUXPYSUYBFYRYRUXOUXOPQZUTSXFUXPYSUYBUVSVUJVATXGXHXEXIYDXJUXKU
      VTYTUVSYSUXKUVTYTFZUVSYSFZUXKVUKIZUVSJNZYSJNZVUKUWAVULVUMUXBVUEVUNUXKUXBV
      UKUXBUWAUVQUXJWHWFVUHUVIWKWMVUMUXIVUOUXHUXIUUBVUKXKUXIVUOYRYRWIQWLUXKVUKW
      CUXKUWAVUKUXBUWAUVQUXJWNWFUVSYSWOWPWQWSXJXCXLWQWTWQXBXMUUQUULLZBJRUUNUUPV
      UPBJUUPUUKUUBLMZVUPUUPUUBUUKLZMVUQUUOVURUUBYMYTXNXOUUBUUKXPXQUUKUUBYEXQXR
      UULBJXSXQXTYNUUIUUNYOYNUUDUUMYNUUCUULBJYNUUAUUKUUBYKYMYTYFYAYBYCURXGYGXHY
      QUUDYEYHYIUN $.
  $}

  ${
    $d M m n x $.
    $( If ` M ` is even , then so is ` _T[fin] M ` .  Theorem X.1.37 of
       [Rosser] p. 530.  (Contributed by SF, 26-Jan-2015.) $)
    eventfin $p |- ( M e. Even[fin] -> _T[fin] M e. Even[fin] ) $=
      ( vn vx vm cevenfin wcel cv cplc wceq cnnc wrex c0 wa ctfin eqeq1 rexbidv
      wne neeq1 anbi12d wi df-evenfin elab2g ibi addceq2 addcnul1 cpw1 tfinprop
      syl6eq necon3i simpld sylan2 tfindi 3anidm12 anidms eqeq2d rspcev syl2anc
      addceq12 nncaddccl tfinnnul sylan jca tfinex sylibr tfineq eleq1d imbi12d
      elab2 ex biimprd com12 syl rexlimiv imp ) AEFZABGZVPHZIZBJKZALQZMZANZEFZV
      OWACGZVQIZBJKZWDLQZMWACAEEWDAIZWFVSWGVTWHWEVRBJWDAVQOPWDALRSCBUAUBUCVSVTW
      CVRVTWCTZBJVPJFZVQLQZVQNZEFZTZVRWITWJWKWMWJWKMZWLDGZWPHZIZDJKZWLLQZMZWMWO
      WSWTWOVPNZJFZWLXBXBHZIZWSWKWJVPLQZXCVPLVQLVPLIVQVPLHLVPLVPUDVPUEUHUIWJXFM
      XCWDUFXBFCVPKVPCUGUJUKWJWKXEVPVPULUMWRXEDXBJWPXBIZWQXDWLXGWQXDIWPWPXBXBUR
      UNUOUPUQWJVQJFZWKWTWJXHVPVPUSUNVQUTVAVBWDWQIZDJKZWGMXACWLEVQVCWDWLIZXJWSW
      GWTXKXIWRDJWDWLWQOPWDWLLRSCDUAVHVDVIVRWNWIVRWIWNVRVTWKWCWMAVQLRVRWBWLEAVQ
      VEVFVGVJVKVLVMVNVL $.
  $}

  ${
    $d M n m x $.
    $( If ` M ` is odd , then so is ` _T[fin] M ` .  Theorem X.1.38 of [Rosser]
       p. 530.  (Contributed by SF, 26-Jan-2015.) $)
    oddtfin $p |- ( M e. Odd[fin] -> _T[fin] M e. Odd[fin] ) $=
      ( vn vx vm coddfin wcel cv cplc c1c wceq cnnc c0 wne wa ctfin eqeq1 neeq1
      wrex wi syl rexbidv anbi12d df-oddfin elab2g ibi addceq2 addcnul1 addceq1
      syl6eq addccom eqtri necon3i cpw1 tfinprop simpld sylan2 nncaddccl anidms
      1cnnc tfindi mp3an2 sylan addcnnul 3anidm12 tfin1c addceq12 eqeq2d rspcev
      mpan2 eqtrd syl2anc peano2 tfinnnul jca tfinex elab2 sylibr tfineq eleq1d
      ex imbi12d biimprd com12 rexlimiv imp ) AEFZABGZWGHZIHZJZBKRZALMZNZAOZEFZ
      WFWMCGZWIJZBKRZWPLMZNWMCAEEWPAJZWRWKWSWLWTWQWJBKWPAWIPUAWPALQUBCBUCUDUEWK
      WLWOWJWLWOSZBKWGKFZWILMZWIOZEFZSZWJXASXBXCXEXBXCNZXDDGZXHHZIHZJZDKRZXDLMZ
      NZXEXGXLXMXGWGOZKFZXDXOXOHZIHZJZXLXCXBWGLMZXPWGLWILWGLJZWILIHZLYAWHLJWIYB
      JYAWHWGLHLWGLWGUFWGUGUIWHLIUHTYBILHLLIUJIUGUKUIULXBXTNXPWPUMXOFCWGRWGCUNU
      OUPXGXDWHOZIOZHZXRXBWHKFZXCXDYEJZXBYFWGWGUQURZYFIKFXCYGUSWHIUTVAVBXGYCXQJ
      ZYEXRJZXCXBWHLMZYIXCYKILMWHIVCUOXBYKYIWGWGUTVDUPYIYDIJYJVEYCYDXQIVFVITVJX
      KXSDXOKXHXOJZXJXRXDYLXIXQJZXJXRJYLYMXHXHXOXOVFURXIXQIUHTVGVHVKXBWIKFZXCXM
      XBYFYNYHWHVLTWIVMVBVNWPXJJZDKRZWSNXNCXDEWIVOWPXDJZYPXLWSXMYQYOXKDKWPXDXJP
      UAWPXDLQUBCDUCVPVQVTWJXFXAWJXAXFWJWLXCWOXEAWILQWJWNXDEAWIVRVSWAWBWCTWDWET
      $.
  $}

  ${
    $d n l y x b $.  $d b t $.  $d b z $.  $d l t $.  $d l z $.  $d n t $.
    $d n z $.  $d t x $.  $d t y $.  $d t z $.  $d x z $.  $d y z $.

    $( Lemma for ~ nnadjoin .  Establish stratification.  (Contributed by SF,
       29-Jan-2015.) $)
    nnadjoinlem1 $p |- { n | A. l e. n ( y e. ~ U. l -> { x |
            E. b e. l x = ( b u. { y } ) } e. n ) } e. _V $=
      ( vz vt cssetk wel cvv c1c csn wcel wn copk wa wex exbii 3bitr4i 3bitri
      cab cpw1 cxpk cin ccompl cins3k cins2k cv cun csymdif csik cdif cuni wceq
      cimak wrex wral snex opkeq1 eleq1d ceqsexv elin vex elssetk eldif elcompl
      wi elimak el1c anbi1i 19.41v bitr4i df-rex excom opkelxpk mpbiran2 elequ2
      snelpw1 elab anbi12i eluni xchbinx wb wal abeq2 opkex elpw121c otkelins3k
      df-clel opksnelsik elsymdif bitri otkelins2k alex dfcleq wo elsnc orbi12i
      sneqb elun bibi12i 3bitr4ri notbii annim dfral2 abbi2i ssetkex setswithex
      weq pw1ex vvex xpkex inex 1cex imakex complex ins3kex unex symdifex sikex
      ins2kex difex eqeltrri ) HBFIZFUAZUBZJUCZHUDZKUOZUBZUEZJUCZHUFZHUGZYNHBUH
      ZLZLZJUCZUIZUFZUJZKUBZUBZUOZUEZUKZUFZUDZUUCUOZUGZUJZUUCUOZUEZUKZUFZYNUDZU
      UCUOZULZUDZKUOZUEZYOEUHZUMZUEMZAUHZDUHZYPUIZUNZDUVBUPZAUAZCUHZMZVGZEUVKUQ
      ZCUAJUVNCUVAUVKUUTMZNUVMNZEUVKUPZNUVKUVAMUVNUVOUVQGUHZUVBLZUNZUVRUVKOZUUS
      MZPZGQZEQZECIZUVPPZEQUVOUVQUWDUWGEUWDUVSUVKOZUUSMZUWHHMZUWHUURMZPUWGUWBUW
      IGUVSUVBURZUVTUWAUWHUUSUVRUVSUVKUSUTVAUWHHUURVBUWJUWFUWKUVPUVBUVKEVCZCVCZ
      VDUWKUWHYLMZUWHUUQMZNZPUVDUVLNZPUVPUWHYLUUQVEUWOUVDUWQUWRUVSYKMZYOUVCMZNU
      WOUVDUWSUVSYJMZUWTUVSYJUWLVFUVBYIMZBAIZAEIZPZAQZUXAUWTUXBUVRUVBOZYHMZGKUP
      ZUVRUVELZUNZUXHPZGQZAQZUXFGYHKUVBUWMVHUVRKMZUXHPZGQUXLAQZGQUXIUXNUXPUXQGU
      XPUXKAQZUXHPUXQUXOUXRUXHAUVRVIVJUXKUXHAVKVLRUXHGKVMUXLAGVNSUXMUXEAUXMUXJU
      VBOZYHMZUXSYGMZUXSHMZPUXEUXHUXTGUXJUVEURZUXKUXGUXSYHUVRUXJUVBUSUTVAUXSYGH
      VBUYAUXCUYBUXDUYAUXJYFMZUVEYEMUXCUYAUYDUVBJMUWMUXJUVBYFJUYCUWMVOVPUVEYEVR
      YDUXCFUVEAVCZFABVQVSTUVEUVBUYEUWMVDVTTRTUVBYIVRAYOUVBWASWBUWOUWSUVKJMUWNU
      VSUVKYKJUWLUWNVOVPYOUVCBVCVFSUWPUVLFUHZUVJUNZFCIZPZFQAFIZUVIWCZAWDZUYHPZF
      QZUVLUWPUYIUYMFUYGUYLUYHUVIAUYFWEVJRFUVJUVKWIUWPUVRUWHOZUUPMZGUUCUPZUVRUY
      FLZLZLZUNZUYPPZGQZFQZUYNGUUPUUCUWHUVSUVKWFVHUVRUUCMZUYPPZGQVUBFQZGQUYQVUD
      VUFVUGGVUFVUAFQZUYPPVUGVUEVUHUYPFUVRWGZVJVUAUYPFVKVLRUYPGUUCVMVUBFGVNSVUC
      UYMFVUCUYTUWHOZUUPMZVUJUUOMZVUJYNMZPUYMUYPVUKGUYTUYSURZVUAUYOVUJUUPUVRUYT
      UWHUSUTVAVUJUUOYNVBVULUYLVUMUYHVULUYRUVSOUUNMUYFUVBOZUUMMZUYLUYRUVSUVKUUN
      UYFURZUWLUWNWHUYFUVBUUMFVCZUWMWJVUOUULMZNUYKNZAQZNVUPUYLVUSVVAVUSUVRVUOOZ
      UUKMZGUUCUPZUVRUXJLZLZUNZVVCPZGQZAQZVVAGUUKUUCVUOUYFUVBWFZVHVUEVVCPZGQVVH
      AQZGQVVDVVJVVLVVMGVVLVVGAQZVVCPVVMVUEVVNVVCAUVRWGVJVVGVVCAVKVLRVVCGUUCVMV
      VHAGVNSVVIVUTAVVIVVFVUOOZUUKMZVUTVVCVVPGVVFVVEURVVGVVBVVOUUKUVRVVFVUOUSUT
      VAVVPVVOYMMZVVOUUJMZWCUYKVVOYMUUJWKVVQUYJVVRUVIVVQUXJUYFOHMUYJUXJUYFUVBHU
      YCVURUWMWHUVEUYFUYEVURVDWLUXSUUIMZDEIZUVHPZDQZVVRUVIVVSUVRUXSOZUUHMZGUUCU
      PZUVRUVFLZLZLZUNZVWDPZGQZDQZVWBGUUHUUCUXSUXJUVBWFVHVUEVWDPZGQVWJDQZGQVWEV
      WLVWMVWNGVWMVWIDQZVWDPVWNVUEVWOVWDDUVRWGVJVWIVWDDVKVLRVWDGUUCVMVWJDGVNSVW
      KVWADVWKVWHUXSOZUUHMZVWPYNMZVWPUUGMZPVWAVWDVWQGVWHVWGURVWIVWCVWPUUHUVRVWH
      UXSUSUTVAVWPYNUUGVBVWRVVTVWSUVHVWRVWFUVBOHMVVTVWFUXJUVBHUVFURZUYCUWMWMUVF
      UVBDVCZUWMVDWLVWSVWFUXJOUUFMUVFUVEOZUUEMZUVHVWFUXJUVBUUFVWTUYCUWMWHUVFUVE
      UUEVXAUYEWJFAIZUYFUVGMZWCZFWDVXFNZFQZNUVHVXCVXFFWNFUVEUVGWOVXCVXBUUDMZVXH
      VXBUUDUVFUVEWFZVFVXIUVRVXBOZUUAMZGUUCUPZVUAVXLPZGQZFQZVXHGUUAUUCVXBVXJVHV
      UEVXLPZGQVXNFQZGQVXMVXPVXQVXRGVXQVUHVXLPVXRVUEVUHVXLVUIVJVUAVXLFVKVLRVXLG
      UUCVMVXNFGVNSVXOVXGFVXOUYTVXBOZUUAMZVXGVXLVXTGUYTVUNVUAVXKVXSUUAUVRUYTVXB
      USUTVAVXTVXSYNMZVXSYTMZWCVXFVXSYNYTWKVYAVXDVYBVXEVYAUYRUVEOHMVXDUYRUVFUVE
      HVUQVXAUYEWMUYFUVEVURUYEVDWLVYBUYRUVFOZYSMZVXEUYRUVFUVEYSVUQVXAUYEWHVYCHM
      ZVYCYRMZWPFDIZUYFYPMZWPVYDVXEVYEVYGVYFVYHUYFUVFVURVXAVDUYRYQMZFBXIZVYFVYH
      VYIUYRYPUNVYJUYRYPVUQWQUYFYOVURWSWLVYFVYIUVFJMVXAUYRUVFYQJVUQVXAVOVPUYFYO
      VURWQSWRVYCHYRWTUYFUVFYPWTSWLXAWBWLRTWBXBTVTTRTUXJUYFUVBUUIUYCVURUWMWMUVH
      DUVBVMSXAWBWLRTXCVUOUULVVKVFUYKAWNSTVUMUYRUVKOHMUYHUYRUVSUVKHVUQUWLUWNWMU
      YFUVKVURUWNVDWLVTTRTXBXCVTUVDUVLXDTVTTRUVOUWBGKUPZUWEGUUSKUVKUWNVHUXOUWBP
      ZGQUWCEQZGQVYKUWEVYLVYMGVYLUVTEQZUWBPVYMUXOVYNUWBEUVRVIVJUVTUWBEVKVLRUWBG
      KVMUWCEGVNSWLUVPEUVKVMSXCUVKUUTUWNVFUVMEUVKXESXFUUTUUSKHUURXGYLUUQYKJYJYI
      YHKYGHYFJYEFYOXHXJXKXLXGXMXNXOXJXPXKXLUUPUUCUUOYNUUNUUMUULUUKUUCYMUUJHXGX
      QUUIUUHUUCYNUUGHXGYAZUUFUUEUUDUUAUUCYNYTVYOYSHYRXGYQJYPURXKXLXRXQXSUUBKXN
      XJXJZXOXPXTXQXMVYPXOYAXSVYPXOXPXTXQVYOXMVYPXOYBXMXNXOXPYC $.
  $}

  ${
    $d b l $.  $d b y $.  $d L b $.  $d L l $.  $d l n $.  $d l x $.  $d L x $.
    $d l y $.  $d L y $.  $d N l $.  $d N y $.  $d X b $.  $d X x $.  $d x y $.
    $d X y $.  $d a b $.  $d a c $.  $d a k $.  $d a l $.  $d a n $.  $d a x $.
    $d a y $.  $d a z $.  $d b c $.  $d b k $.  $d b n $.  $d b x $.  $d b z $.
    $d c k $.  $d c l $.  $d c x $.  $d c y $.  $d c z $.  $d k l $.  $d k n $.
    $d k x $.  $d k y $.  $d k z $.  $d l z $.  $d N n $.  $d n x $.  $d n y $.
    $d x z $.  $d y z $.

    $( Adjoining a new element to every member of ` L ` does not change its
       size.  Theorem X.1.39 of [Rosser] p. 530.  (Contributed by SF,
       29-Jan-2015.) $)
    nnadjoin $p |- ( ( N e. Nn /\ L e. N /\ X e. ~ U. L ) ->
         { x | E. b e. L x = ( b u. { X } ) } e. N ) $=
      ( vl vc vz wcel cuni ccompl cv cun wceq wrex cab wi c0 wn wa vy vn vk csn
      va cnnc sneq uneq2d eqeq2d rexbidv abbidv eleq1d imbi2d wral wal c1c cplc
      nnadjoinlem1 c0c eleq2 el0c ab0 bitri syl6bb raleqbi1dv df-ral imbi1i 0ex
      albii unieq compleqd eleq2d notbid albidv imbi12d ceqsalv 3bitrri syl6bbr
      rexeq weq cbvralv rex0 ax-gen a1i elsuc wel cin adantr adantl elin simp3l
      rspcv w3a unisn compleqi eleq2i anbi2i simpr simpl2r elcompl sylib eleq1a
      vex mtod wb simpl3r elunii expcom con3d mpan9 adj11 syl2anc mtbird nrexdv
      eqeq1 elabg nsyl snex unex elsuci ex syl3an3b embantd 3expia syl5bi com23
      ibi syld imp an32s uniun iunin eqtri syl6eq unab df-sn uneq2i rexun uneq1
      wo rexsn orbi2i abbii 3eqtr4ri syl5ibrcom rexlimdvva ralrimiv finds com3r
      rspccv syl vtoclga com3l 3imp ) CUFIZBCIZDBJZKZIZALZELZDUDZMZNZEBOZAPZCIZ
      UUSUUOUUPUVGUUOUUPUUTUVAUALZUDZMZNZEBOZAPZCIZQZQUUOUUPUVGQZQUADUURUVHDNZU
      VOUVPUUOUVQUVNUVGUUPUVQUVMUVFCUVQUVLUVEAUVQUVKUVDEBUVQUVJUVCUUTUVQUVIUVBU
      VAUVHDUGUHUIUJUKULUMUMUUOUUPUVHUURIZUVNUUOUVHFLZJZKZIZUVKEUVSOZAPZCIZQZFC
      UNZUUPUVRUVNQZQUWBUWDUBLZIZQZFUWIUNZUVHRJZKZIZUVKEROZSZAUOZQZUWBUWDUCLZIZ
      QZFUWTUNZUVHUELZJZKZIZUVKEUXDOZAPZUWTUPUQZIZQZUEUXJUNZUWGUBUCCAUAUBEFURUW
      IUSNZUWLUWBUWCSZAUOZQZFUSUNZUWSUWKUXQFUWIUSUXNUWJUXPUWBUXNUWJUWDUSIZUXPUW
      IUSUWDUTUXSUWDRNUXPUWDVAUWCAVBVCVDUMVEUXRUVSUSIZUXQQZFUOUVSRNZUXQQZFUOUWS
      UXQFUSVFUYAUYCFUXTUYBUXQUVSVAVGVIUXQUWSFRVHUYBUWBUWOUXPUWRUYBUWAUWNUVHUYB
      UVTUWMUVSRVJVKVLUYBUXOUWQAUYBUWCUWPUVKEUVSRVSVMVNVOVPVQVRUWKUXBFUWIUWTUBU
      CVTUWJUXAUWBUWIUWTUWDUTUMVEUWIUXJNZUWLUWBUWDUXJIZQZFUXJUNUXMUWKUYFFUWIUXJ
      UYDUWJUYEUWBUWIUXJUWDUTUMVEUYFUXLFUEUXJFUEVTZUWBUXGUYEUXKUYGUWAUXFUVHUYGU
      VTUXEUVSUXDVJVKVLUYGUWDUXIUXJUYGUWCUXHAUVKEUVSUXDVSUKULVOWAVDUWKUWFFUWICU
      WICNUWJUWEUWBUWICUWDUTUMVEUWRUWOUWQAUVKEWBWCWDUWTUFIZUXCUXMUYHUXCTZUXLUEU
      XJUXDUXJIUXDGLZHLZUDZMZNZHUYJKZOGUWTOUYIUXLHUXDUWTGWEUYIUYNUXLGHUWTUYOUYI
      GUCWFZUYKUYOIZTZTUXLUYNUVHUYJJZKZUYLJZKZWGZIZUVKEUYJOZAPZUYKUVIMZUDZMZUXJ
      IZQZUYHUYRUXCVUKUYHUYRTZUXCVUKVULUXCUVHUYTIZVUFUWTIZQZVUKUYRUXCVUOQZUYHUY
      PVUPUYQUXBVUOFUYJUWTFGVTZUWBVUMUXAVUNVUQUWAUYTUVHVUQUVTUYSUVSUYJVJVKVLVUQ
      UWDVUFUWTVUQUWCVUEAUVKEUVSUYJVSUKULVOWLWHWIVULVUDVUOVUJVUDVUMUVHVUBIZTZVU
      LVUOVUJQZUVHUYTVUBWJUYHUYRVUSVUTUYHUYRVUSWMVUMVUNVUJUYHUYRVUMVURWKVUSUYHU
      YRVUMUVHUYKKZIZTZVUNVUJQVURVVBVUMVUBVVAUVHVUAUYKUYKHXCZWNWOWPWQUYHUYRVVCW
      MZVUNVUJVVEVUNTVUNVUGVUFIZSZVUJVVEVUNWRVVEVVGVUNVVEVUGUVJNZEUYJOZVVFVVEVV
      HEUYJVVEEGWFZTZVVHHEVTZVVKVVLHGWFZVVKUYQVVMSUYPUYQUYHVVCVVJWSUYKUYJVVDWTX
      AVVJVVLVVMQVVEUVAUYJUYKXBWIXDVVKUAHWFSZUAEWFZSZVVHVVLXEVVKVVBVVNVUMVVBUYH
      UYRVVJXFUVHUYKUAXCZWTXAVVEUVHUYSIZSZVVJVVPVVEVUMVVSUYHUYRVUMVVBWKUVHUYSVV
      QWTXAVVJVVOVVRVVOVVJVVRUVHUVAUYJXGXHXIXJUYKUVAUVHXKXLXMXNVVFVVIVUEVVIAVUG
      VUFUUTVUGNZUVKVVHEUYJUUTVUGUVJXOUJXPYGXQWHVUFUWTVUGUYKUVIVVDUVHXRXSXTXLYA
      YBYCYDYEYFYHYIYJUYNUXGVUDUXKVUJUYNUXFVUCUVHUYNUXFUYMJZKZVUCUYNUXEVWAUXDUY
      MVJVKVWBUYSVUAMZKVUCVWAVWCUYJUYLYKWOUYSVUAYLYMYNVLUYNUXIVUIUXJUYNUXIUVKEU
      YMOZAPZVUIUYNUXHVWDAUVKEUXDUYMVSUKVUFVVTAPZMVUEVVTYTZAPVUIVWEVUEVVTAYOVUH
      VWFVUFAVUGYPYQVWDVWGAVWDVUEUVKEUYLOZYTVWGUVKEUYJUYLYRVWHVVTVUEUVKVVTEUYKV
      VDEHVTUVJVUGUUTUVAUYKUVIYSUIUUAUUBVCUUCUUDYNULVOUUEUUFYEUUGYAUUHUWFUWHFBC
      UVSBNZUWBUVRUWEUVNVWIUWAUURUVHVWIUVTUUQUVSBVJVKVLVWIUWDUVMCVWIUWCUVLAUVKE
      UVSBVSUKULVOUUJUUKUUIUULUUMUUN $.
  $}

  ${
    $d A a $.  $d a b $.  $d A b $.  $d a t $.  $d A t $.  $d b t $.  $d M b $.
    $d N b $.  $d X a $.  $d X b $.  $d X t $.

    $( Adjoining an element to a power class.  Theorem X.1.40 of [Rosser]
       p. 530.  (Contributed by SF, 27-Jan-2015.) $)
    nnadjoinpw $p |- ( ( ( M e. Nn /\ N e. Nn ) /\ ( A e. M /\ X e. ~ A ) /\
         ~P A e. N ) -> ~P ( A u. { X } ) e. ( N +c N ) ) $=
      ( va vb vt cnnc wcel wa ccompl cpw cun cv wceq wrex wss wn wral wal simp3
      w3a csn cab cplc pwadjoin cin cuni simp1r simp2r unipw compleqi syl6eleqr
      c0 nnadjoin syl3anc elcomplg ibi syl wb snssg mtbid intnand ralrimivw weq
      disjr eqeq1 rexbidv ralab ralcom4 vex snex unex eleq1 notbid ceqsalv elpw
      unss bitr4i xchbinx ralbii r19.23v albii 3bitr3ri 3bitri eladdci syl5eqel
      wi sylibr ) BHIZCHIZJZABIZDAKZIZJZALZCIZUBZADUCZMLWQENZFNZWTMZOZFWQPZEUDZ
      MZCCUEZADEFUFWSWRXFCIZWQXFUGUNOZXGXHIWLWPWRUAZWSWKWRDWQUHZKZIXIWJWKWPWRUI
      XKWSDWNXMWLWMWOWRUJZXLAAUKULUMEWQCDFUOUPWSXBAQZWTAQZJZRZFWQSZXJWSXRFWQWSX
      PXOWSDAIZXPWSWOXTRZXNWOYADAWNUQURUSWSWOXTXPUTXNDAWNVAUSVBVCVDXJGNZWQIZRZG
      XFSYBXCOZFWQPZYDWHZGTZXSGWQXFVFXEYFYDGEEGVEXDYEFWQXAYBXCVGVHVIYEYDWHZGTZF
      WQSYIFWQSZGTXSYHYIFGWQVJYJXRFWQYJXCWQIZXQYDYLRGXCXBWTFVKDVLVMZYEYCYLYBXCW
      QVNVOVPYLXCAQXQXCAYMVQXBWTAVRVSVTWAYKYGGYEYDFWQWBWCWDWEWIWQXFCCWFUPWG $.
  $}

  ${
    $d m a b n t x $.
    $( Lemma for ~ nnpweq .  Establish stratification for induction.
       (Contributed by SF, 26-Jan-2015.) $)
    nnpweqlem1 $p |- { m | A. a e. m A. b e. m E. n e. Nn ( ~P a
                                            e. n /\ ~P b e. n ) } e. _V $=
      ( vt vx cssetk cnnc wcel wa wrex csn copk snex bitri exbii df-rex 3bitr4i
      wex 3bitri csik cins2k cins3k csymdif c1c cpw1 cimak ccnvk cin cdif cuni1
      ccompl cv cpw wral cab cvv vex eluni1 wceq wel opkeq1 eleq1d ceqsexv elin
      opksnelsik elssetk opkex elimak elpw131c anbi1i 19.41v bitr4i excom eldif
      wn otkelins2k otkelins3k elpw12 r19.41v rexcom4 elpw121c eqpwrelk anbi12i
      df-clel rexbii notbii rexnal 3bitr2i elpw11c elcompl dfral2 ssetkex sikex
      opkelcnvk abbi2i ins2kex ins3kex symdifex 1cex imakex complex cnvkex inex
      pw1ex nncex difex uni1ex eqeltrri ) GUAZXJUBZGUBZXJUCZUDZUEUFZUFZUGZULZUH
      ZUAZUBZGUCZUIZXPUGZUBZXRUAZUHZUBZYBUIZXPUGZUCZUIZHUFZUFZUGZUCZUJZXPUFZUGZ
      UIZXOUGZULZUKZCUMZUNZBUMZIZDUMZUNZUUFIZJZBHKZDAUMZUOZCUUMUOZAUPUQUUOAUUCU
      UMUUCIUUMLZUUBIZUUOUUMUUBAURZUSUUPUUAIZVPUUNVPZCUUMKZVPUUQUUOUUSUVAEUMZUU
      DLZLZUTZUVBUUPMZYTIZJZESZCSZCAVAZUUTJZCSUUSUVAUVIUVLCUVIUVDUUPMZYTIZUVMXJ
      IZUVMYSIZJUVLUVGUVNEUVDUVCNZUVEUVFUVMYTUVBUVDUUPVBVCVDUVMXJYSVEUVOUVKUVPU
      UTUVOUVCUUMMGIUVKUVCUUMGUUDNZUURVFUUDUUMCURZUURVGOUVPDAVAZUULVPZJZDSZUWAD
      UUMKUUTUVPUVBUVMMZYQIZEYRKZUVBUUHLZLZLZLZUTZUWEJZESZDSZUWCEYQYRUVMUVDUUPV
      HVIUVBYRIZUWEJZESUWLDSZESUWFUWNUWPUWQEUWPUWKDSZUWEJUWQUWOUWRUWEDUVBVJVKUW
      KUWEDVLVMPUWEEYRQUWLDEVNRUWMUWBDUWMUWJUVMMZYQIZUWSXKIZUWSYPIZVPZJUWBUWEUW
      TEUWJUWINUWKUWDUWSYQUVBUWJUVMVBVCVDUWSXKYPVOUXAUVTUXCUWAUXAUWHUUPMXJIUWGU
      UMMGIUVTUWHUVDUUPXJUWGNZUVQUUMNZVQUWGUUMGUUHNZUURVFUUHUUMDURZUURVGTUXBUUL
      UXBUWHUVDMZYOIZUVBUUFLZLZUTZUVBUXHMZYLIZJZESZBHKZUULUWHUVDUUPYOUXDUVQUXEV
      RUXIUXNEYNKZUXQEYLYNUXHUWHUVDVHVIUVBYNIZUXNJZESUXOBHKZESUXRUXQUXTUYAEUXTU
      XLBHKZUXNJUYAUXSUYBUXNBUVBHVSVKUXLUXNBHVTVMPUXNEYNQUXOBEHWAROUXPUUKBHUXPU
      XKUXHMZYLIZUYCYEIZUYCYKIZJUUKUXNUYDEUXKUXJNUXLUXMUYCYLUVBUXKUXHVBVCVDUYCY
      EYKVEUYEUUGUYFUUJUUFUVDMZYDIZFUMZUUEUTZFBVAZJZFSZUYEUUGUYHUVBUYGMZYCIZEXP
      KZUVBUYILZLZLZUTZUYOJZESZFSZUYMEYCXPUYGUUFUVDVHVIUVBXPIZUYOJZESVUAFSZESUY
      PVUCVUEVUFEVUEUYTFSZUYOJVUFVUDVUGUYOFUVBWBZVKUYTUYOFVLVMPUYOEXPQVUAFEVNRV
      UBUYLFVUBUYSUYGMZYCIZVUIYAIZVUIYBIZJUYLUYOVUJEUYSUYRNZUYTUYNVUIYCUVBUYSUY
      GVBVCVDVUIYAYBVEVUKUYJVULUYKVUKUYQUVDMXTIUYIUVCMXSIZUYJUYQUUFUVDXTUYINZBU
      RZUVQVQUYIUVCXSFURZUVRVFVUNUVCUYIMXRIUYJUYIUVCXRVUQUVRWOUUDUYIUVSVUQWCOTV
      ULUYQUUFMGIZUYKUYQUUFUVDGVUOVUPUVQVRUYIUUFVUQVUPVGZOWDTPTUUFUWHUVDYDVUPUX
      DUVQVQFUUEUUFWERUUFUWHMZYJIZUYIUUIUTZUYKJZFSZUYFUUJVVAUVBVUTMZYIIZEXPKZUY
      TVVFJZESZFSZVVDEYIXPVUTUUFUWHVHVIVUDVVFJZESVVHFSZESVVGVVJVVKVVLEVVKVUGVVF
      JVVLVUDVUGVVFVUHVKUYTVVFFVLVMPVVFEXPQVVHFEVNRVVIVVCFVVIUYSVUTMZYIIZVVMYHI
      ZVVMYBIZJVVCVVFVVNEUYSVUMUYTVVEVVMYIUVBUYSVUTVBVCVDVVMYHYBVEVVOVVBVVPUYKV
      VOUYQUWHMYGIUWHUYQMYFIZVVBUYQUUFUWHYGVUOVUPUXDVQUYQUWHYFVUOUXDWOVVQUWGUYI
      MXRIVVBUWGUYIXRUXFVUQVFUUHUYIUXGVUQWCOTVVPVURUYKUYQUUFUWHGVUOVUPUXDVRVUSO
      WDTPTUUFUWHUVDYJVUPUXDUVQVRFUUIUUFWERWDTWFTWGWDTPTUWADUUMQUULDUUMWHWIWDTP
      UUSUVGEXOKZUVJEYTXOUUPUXEVIUVBXOIZUVGJZESUVHCSZESVVRUVJVVTVWAEVVTUVECSZUV
      GJVWAVVSVWBUVGCUVBWJVKUVEUVGCVLVMPUVGEXOQUVHCEVNROUUTCUUMQRWGUUPUUAUXEWKU
      UNCUUMWLROWPUUBUUAYTXOXJYSGWMWNZYQYRXKYPXJVWCWQYOYLYNYEYKYDYCXPYAYBXTXSXR
      XQXNXPXLXMGWMWQXJVWCWRWSXOUEWTXEZXEZXAXBZXCWNWQGWMWRZXDVWEXAWQYJYIXPYHYBY
      GYFXRVWFWNXCWQVWGXDVWEXAWRXDYMHXFXEXEXAWRXGXPVWEXEXAXDVWDXAXBXHXI $.
  $}

  ${
    $d A a b c d e f x y m n j k $.  $d B a b c d e f x y m n j k $.
    $d M a b c d e f x y m n j k $.
    $( If two sets are the same finite size, then so are their power classes.
       Theorem X.1.41 of [Rosser] p. 530.  (Contributed by SF, 26-Jan-2015.) $)
    nnpweq $p |- ( ( M e. Nn /\ A e. M /\ B e. M ) ->
       E. n e. Nn ( ~P A e. n /\ ~P B e. n ) ) $=
      ( va vb ve vf cnnc wcel cpw cv wa wrex wral c0 c0c wceq pweq eleq1d vm vk
      vc vj vd vx vy csn c1c cplc nnpweqlem1 raleq raleqbi1dv wal df-ral imbi1i
      wi albii 0ex pw0 syl6eq anbi1d rexbidv ralbidv ceqsalv bitri anbi2d anidm
      el0c syl6bb 3bitri weq cbvral2v eleq2 anbi12d cbvrexv 1cnnc snel1c rspcev
      2ralbii mp2an cun ccompl reeanv 2rexbii elsuc anbi12i 3bitr4ri wel rspc2v
      adantl w3a nncaddccl anidms 3ad2ant1 simp1l simp1r simp2ll simp3l simp2rl
      nnadjoinpw syl221anc simp2lr simp3r simp2rr syl12anc syl5ibrcom rexlimdvv
      bi2anan9 3expia expr an32s rexlimdva syld imp rexlimdvva syl5bi ralrimivv
      ex finds syl5com 3impib ) DIJZADJZBDJZAKZCLZJZBKZYGJZMZCINZYCELZKZYGJZFLZ
      KZYGJZMZCINZFDOZEDOZYDYEMYLYTFUALZOZEUUCOZPUHZYGJZCINZYTFUBLZOZEUUIOZUCLZ
      KZUDLZJZUELZKZUUNJZMZUDINZUEUUIUIUJZOUCUVAOZUUBUAUBDUACEFUKUUCQRUUEYTFQOZ
      EQOZUUHUUDUVCEUUCQYTFUUCQULUMUVDYMQJZUVCUQZEUNYMPRZUVCUQZEUNZUUHUVCEQUOUV
      FUVHEUVEUVGUVCYMVIUPURUVIUUGYRMZCINZFQOZYPPRZUVKUQZFUNZUUHUVCUVLEPUSUVGYT
      UVKFQUVGYSUVJCIUVGYOUUGYRUVGYNUUFYGUVGYNPKZUUFYMPSUTVATVBVCVDVEUVLYPQJZUV
      KUQZFUNUVOUVKFQUOUVRUVNFUVQUVMUVKYPVIUPURVFUVKUUHFPUSUVMUVJUUGCIUVMUVJUUG
      UUGMUUGUVMYRUUGUUGUVMYQUUFYGUVMYQUVPUUFYPPSUTVATVGUUGVHVJVCVEVKVKVJUUDUUJ
      EUUCUUIYTFUUCUUIULUMUUCUVARUUEYTFUVAOZEUVAOZUVBUUDUVSEUUCUVAYTFUUCUVAULUM
      UVTUUMYGJZUUQYGJZMZCINZUEUVAOUCUVAOUVBYTUWDUWAYRMZCINEFUCUEUVAUVAEUCVLZYS
      UWECIUWFYOUWAYRUWFYNUUMYGYMUULSTVBVCFUEVLZUWEUWCCIUWGYRUWBUWAUWGYQUUQYGYP
      UUPSTVGVCVMUWDUUTUCUEUVAUVAUWCUUSCUDICUDVLUWAUUOUWBUURYGUUNUUMVNYGUUNUUQV
      NVOVPVTVFVJUUDUUAEUUCDYTFUUCDULUMUIIJUUFUIJZUUHVQPUSVRUUGUWHCUIIYGUIUUFVN
      VSWAUUIIJZUUKUVBUWIUUKMZUUTUCUEUVAUVAUULUVAJZUUPUVAJZMZUULGLZUFLZUHWBZRZU
      UPHLZUGLZUHWBZRZMZUGUWRWCZNUFUWNWCZNZHUUINGUUINZUWJUUTUWQUFUXDNZUXAUGUXCN
      ZMZHUUINGUUINUXGGUUINZUXHHUUINZMUXFUWMUXGUXHGHUUIUUIWDUXEUXIGHUUIUUIUWQUX
      AUFUGUXDUXCWDWEUWKUXJUWLUXKUFUULUUIGWFUGUUPUUIHWFWGWHUWJUXEUUTGHUUIUUIUWI
      GUBWIZHUBWIZMZUUKUXEUUTUQZUWIUXNMZUUKUXOUXPUUKUWNKZYGJZUWRKZYGJZMZCINZUXO
      UXNUUKUYBUQUWIYTUYBUXRYRMZCINEFUWNUWRUUIUUIEGVLZYSUYCCIUYDYOUXRYRUYDYNUXQ
      YGYMUWNSTVBVCFHVLZUYCUYACIUYEYRUXTUXRUYEYQUXSYGYPUWRSTVGVCWJWKUXPUYAUXOCI
      UWIYGIJZUXNUYAUXOUQUWIUYFMZUXNUYAUXOUYGUXNUYAMZMUXBUUTUFUGUXDUXCUYGUYHUWO
      UXDJZUWSUXCJZMZUXBUUTUQUYGUYHUYKWLZUUTUXBUWPKZUUNJZUWTKZUUNJZMZUDINZUYLYG
      YGUJZIJZUYMUYSJZUYOUYSJZUYRUYGUYHUYTUYKUYFUYTUWIUYFUYTYGYGWMWNWKWOUYLUWIU
      YFUXLUYIUXRVUAUWIUYFUYHUYKWPZUWIUYFUYHUYKWQZUXLUXMUYAUYGUYKWRUYGUYHUYIUYJ
      WSUXRUXTUXNUYGUYKWTUWNUUIYGUWOXAXBUYLUWIUYFUXMUYJUXTVUBVUCVUDUXLUXMUYAUYG
      UYKXCUYGUYHUYIUYJXDUXRUXTUXNUYGUYKXEUWRUUIYGUWSXAXBUYQVUAVUBMUDUYSIUUNUYS
      RUYNVUAUYPVUBUUNUYSUYMVNUUNUYSUYOVNVOVSXFUXBUUSUYQUDIUWQUUOUYNUXAUURUYPUW
      QUUMUYMUUNUULUWPSTUXAUUQUYOUUNUUPUWTSTXIVCXGXJXHXKXLXMXNXOXLXPXQXRXSXTYTY
      LYHYRMZCINEFABDDYMARZYSVUECIVUFYOYHYRVUFYNYFYGYMASTVBVCYPBRZVUEYKCIVUGYRY
      JYHVUGYQYIYGYPBSTVGVCWJYAYB $.
  $}

  ${
    $d A t $.  $d A x $.  $d A y $.  $d B t $.  $d B x $.  $d B y $.  $d t x $.
    $d t y $.  $d t z $.  $d x y $.  $d x z $.  $d y z $.
    srelk.1 $e |- A e. _V $.
    srelk.2 $e |- B e. _V $.
    $( Binary relationship form of the ` _S[fin] ` relationship.  (Contributed
       by SF, 23-Jan-2015.) $)
    srelk $p |- ( << A , B >> e. ( ( Nn X._k Nn ) i^i ( (
 Ins3_k ( ( Ins3_k SI_k ( ( ~P 1c X._k _V ) \ ( ( Ins3_k _S_k (+) Ins2_k SI_k
 _S_k ) "_k ~P1 ~P1 ~P1 1c ) ) i^i Ins2_k _S_k ) "_k ~P1 ~P1 1c )
    i^i Ins2_k ( ( Ins3_k SI_k ~ ( ( Ins3_k _S_k (+) Ins2_k SI_k _S_k ) "_k
    ~P1 ~P1 1c ) i^i Ins2_k _S_k ) "_k ~P1 ~P1 1c ) ) "_k ~P1 ~P1
                                                             ~P1 1c ) ) <->
        _S[fin] ( A , B ) ) $=
      ( vx vt vy vz copk cnnc wcel cssetk wa wex wceq exbii 3bitr4i snex 3bitri
      csn cxpk c1c cpw cvv cins3k csik cins2k csymdif cpw1 cimak cdif ccompl cv
      cin wsfin opkelxpk wrex opkex elimak elpw131c anbi1i 19.41v bitr4i df-rex
      excom opkeq1 eleq1d ceqsexv elin elpw121c otkelins3k opksnelsik eqpw1relk
      w3a vex otkelins2k elssetk bitri anbi12i df-clel wel elsymdif opkelssetkg
      wss wb wal wn mp2an bibi12i notbii elcompl alex df-pw eqeq2i abeq2 df-3an
      cab df-sfin ) ABIZJJUAZKZWSUBUCUDUALUEZLUFZUGZUHZUBUIUIZUIZUJUKZUFZUEZLUG
      ZUNZXFUJZUEZXEXFUJZULZUFZUEZXKUNZXFUJZUGZUNZXGUJZKZMZAJKZBJKZEUMZUIZAKZYH
      UCZBKZMZENZVNZWSWTYCUNKABUOYEYFYGMZYNMYOXAYPYDYNABJJCDUPYDFUMZWSIZYBKZFXG
      UQZYQYHTZTZTZTZOZYSMZFNZENZYNFYBXGWSABURUSYQXGKZYSMZFNUUFENZFNYTUUHUUJUUK
      FUUJUUEENZYSMUUKUUIUULYSEYQUTVAUUEYSEVBVCPYSFXGVDUUFEFVEQUUGYMEUUGUUDWSIZ
      YBKZUUMXNKZUUMYAKZMYMYSUUNFUUDUUCRUUEYRUUMYBYQUUDWSVFVGVHUUMXNYAVIUUOYJUU
      PYLUUBAIZXMKZGUMZYIOZUUSAKZMZGNZUUOYJUURYQUUQIZXLKZFXFUQZYQUUSTZTZTZOZUVE
      MZFNZGNZUVCFXLXFUUQUUBAURUSYQXFKZUVEMZFNUVKGNZFNUVFUVMUVOUVPFUVOUVJGNZUVE
      MUVPUVNUVQUVEGYQVJZVAUVJUVEGVBVCPUVEFXFVDUVKGFVEQUVLUVBGUVLUVIUUQIZXLKZUV
      SXJKZUVSXKKZMUVBUVEUVTFUVIUVHRZUVJUVDUVSXLYQUVIUUQVFVGVHUVSXJXKVIUWAUUTUW
      BUVAUWAUVGUUBIZXIKUUSUUAIZXHKUUTUVGUUBAXIUUSRZUUARZCVKUUSUUAXHGVOZYHRZVLU
      USYHUWHEVOZVMSUWBUVGAILKUVAUVGUUBALUWFUWGCVPUUSAUWHCVQVRVSSPSUUBABXMUWGCD
      VKGYIAVTQUUBBIZXTKZUUSYKOZUUSBKZMZGNZUUPYLUWLYQUWKIZXSKZFXFUQZUVJUWRMZFNZ
      GNZUWPFXSXFUWKUUBBURUSUVNUWRMZFNUWTGNZFNUWSUXBUXCUXDFUXCUVQUWRMUXDUVNUVQU
      WRUVRVAUVJUWRGVBVCPUWRFXFVDUWTGFVEQUXAUWOGUXAUVIUWKIZXSKZUXEXRKZUXEXKKZMU
      WOUWRUXFFUVIUWCUVJUWQUXEXSYQUVIUWKVFVGVHUXEXRXKVIUXGUWMUXHUWNUXGUWDXQKUWE
      XPKZUWMUVGUUBBXQUWFUWGDVKUUSUUAXPUWHUWIVLUXIHGWAZHUMZYHWDZWEZHWFZUWMUWEXO
      KZWGUXMWGZHNZWGUXIUXNUXOUXQUXOYQUWEIZXEKZFXFUQZYQUXKTZTZTZOZUXSMZFNZHNZUX
      QFXEXFUWEUUSUUAURZUSUVNUXSMZFNUYEHNZFNUXTUYGUYIUYJFUYIUYDHNZUXSMUYJUVNUYK
      UXSHYQVJVAUYDUXSHVBVCPUXSFXFVDUYEHFVEQUYFUXPHUYFUYCUWEIZXEKZUYLXBKZUYLXDK
      ZWEZWGUXPUXSUYMFUYCUYBRUYDUXRUYLXEYQUYCUWEVFVGVHUYLXBXDWBUYPUXMUYNUXJUYOU
      XLUYNUYAUUSILKUXJUYAUUSUUALUXKRZUWHUWIVKUXKUUSHVOZUWHVQVRUYOUYAUUAIXCKUXK
      YHILKZUXLUYAUUSUUAXCUYQUWHUWIVPUXKYHLUYRUWJVLUXKUDKYHUDKUYSUXLWEUYRUWJUXK
      YHUDUDWCWHSWIWJSPSWJUWEXOUYHWKUXMHWLQUWMUUSUXLHWQZOUXNYKUYTUUSHYHWMWNUXLH
      UUSWOVRVCSUXHUVGBILKUWNUVGUUBBLUWFUWGDVPUUSBUWHDVQVRVSSPSUUBABXTUWGCDVPGY
      KBVTQVSSPSVSYFYGYNWPVCWSWTYCVIABEWRQ $.
  $}

  $( The expression at the core of ~ srelk exists.  (Contributed by SF,
     30-Jan-2015.) $)
  srelkex $p |- ( ( Nn X._k Nn ) i^i ( (
 Ins3_k ( ( Ins3_k SI_k ( ( ~P 1c X._k _V ) \ ( ( Ins3_k _S_k (+) Ins2_k SI_k
 _S_k ) "_k ~P1 ~P1 ~P1 1c ) ) i^i Ins2_k _S_k ) "_k ~P1 ~P1 1c )
    i^i Ins2_k ( ( Ins3_k SI_k ~ ( ( Ins3_k _S_k (+) Ins2_k SI_k _S_k ) "_k
    ~P1 ~P1 1c ) i^i Ins2_k _S_k ) "_k ~P1 ~P1 1c ) ) "_k ~P1 ~P1
                                                       ~P1 1c ) ) e. _V $=
    ( cnnc cxpk c1c cvv cssetk cins3k csik cins2k cimak cin nncex xpkex ssetkex
    cpw1 ins3kex sikex ins2kex pw1ex imakex inex cpw cdif ccompl 1cex pwex vvex
    csymdif symdifex difex complex ) AABCUAZDBZEFZEGZHZUGZCNZNZNZIZUBZGZFZEHZJZ
    URIZFZUPURIZUCZGZFZVDJZURIZHZJZUSIAAKKLVOUSVGVNVFVEURVCVDVBVAULUTUKDCUDUEUF
    LUPUSUMUOEMOUNEMPQUHZURUQCUDRRZRZSUIPOEMQZTVQSOVMVLURVKVDVJVIVHUPURVPVQSUJP
    OVSTVQSQTVRST $.

  ${
    $d A y $.  $d B y $.  $d C y $.
    $( Equality theorem for the finite S relationship.  (Contributed by SF,
       27-Jan-2015.) $)
    sfineq1 $p |- ( A = B -> ( _S[fin] ( A , C ) <-> _S[fin] ( B , C ) ) ) $=
      ( vy wceq cnnc wcel cv cpw1 cpw wex w3a wsfin eleq1 eleq2 anbi1d 3anbi13d
      wa exbidv df-sfin 3bitr4g ) ABEZAFGZCFGZDHZIZAGZUEJCGZRZDKZLBFGZUDUFBGZUH
      RZDKZLACMBCMUBUCUKUJUNUDABFNUBUIUMDUBUGULUHABUFOPSQACDTBCDTUA $.

    $( Equality theorem for the finite S relationship.  (Contributed by SF,
       27-Jan-2015.) $)
    sfineq2 $p |- ( A = B -> ( _S[fin] ( C , A ) <-> _S[fin] ( C , B ) ) ) $=
      ( vy wceq cnnc wcel cv cpw1 cpw wex w3a wsfin eleq1 eleq2 anbi2d 3anbi23d
      wa exbidv df-sfin 3bitr4g ) ABEZCFGZAFGZDHZICGZUEJZAGZRZDKZLUCBFGZUFUGBGZ
      RZDKZLCAMCBMUBUDUKUJUNUCABFNUBUIUMDUBUHULUFABUGOPSQCADTCBDTUA $.
  $}

  $( Zero and one satisfy ` _S[fin] ` .  Theorem X.1.42 of [Rosser] p. 530.
     (Contributed by SF, 30-Jan-2015.) $)
  sfin01 $p |- _S[fin] ( 0c , 1c ) $=
    ( va c0c c1c wsfin cnnc wcel cv cpw1 cpw wex peano1 1cnnc wceq csn pw10 0ex
    wa c0 snel1c el0c pw1eq eqeq1d syl5bb pw0 syl6eq eleq1d anbi12d spcev mp2an
    pweq df-sfin mpbir3an ) BCDBEFCEFAGZHZBFZUMIZCFZQZAJZKLRHZRMZRNZCFZUSORPSUR
    VAVCQARPUMRMZUOVAUQVCUOUNRMVDVAUNTVDUNUTRUMRUAUBUCVDUPVBCVDUPRIVBUMRUJUDUEU
    FUGUHUIBCAUKUL $.

  ${
    $d M x y n k $.  $d N x y n k $.  $d P x y n k $.
    $( Equality law for the finite S operator.  Theorem X.1.43 of [Rosser]
       p. 530.  (Contributed by SF, 27-Jan-2015.) $)
    sfin112 $p |- ( ( _S[fin] ( M , N ) /\ _S[fin] ( M , P ) ) -> N = P ) $=
      ( vx vy vn vk wsfin wa cnnc wcel cpw1 cpw wex w3a wceq df-sfin wel wrex
      cv 3an6 eeanv 3anbi3i anbi12i 3bitr4ri simpllr simprll simprrl ncfinlower
      syl3anc nnpweq 3expb simp1rl simp3l simp2lr simp3rl nnceleq simp1rr 3expa
      syl22anc simp2rr simp3rr eqtr4d expr rexlimdva syl5 exp3a rexlimdv mpd ex
      exlimdvv 3impia sylbi ) BCHZBAHZIZBJKZVQIZCJKZAJKZIZDTZLBKZWBMZCKZIZETZLB
      KZWGMZAKZIZIZENDNZOZCAPZVRWAWFDNZWKENZIZOVQVSWPOZVQVTWQOZIWNVPVQVQVSVTWPW
      QUAWMWRVRWAWFWKDEUBUCVNWSVOWTBCDQBAEQUDUEVRWAWMWOVRWAIZWLWODEXAWLWOXAWLIZ
      DFRZEFRZIZFJSZWOXBVQWCWHXFVQVQWAWLUFXAWCWEWKUGXAWFWHWJUHWBWGFBUIUJXBXEWOF
      JXBFTZJKZXEWOXHXEIWDGTZKZWIXIKZIZGJSZXBWOXHXCXDXMWBWGGXGUKULXBXLWOGJXBXIJ
      KZXLWOXAWLXNXLIZWOXAWLXOOZCXIAXPVSXNWEXJCXIPVSVTVRWLXOUMXAWLXNXLUNZWCWEWK
      XAXOUOXJXKXNXAWLUPWDCXIUQUTXPVTXNWJXKAXIPVSVTVRWLXOURXQWHWJWFXAXOVAXJXKXN
      XAWLVBWIAXIUQUTVCUSVDVEVFVGVHVIVJVKVLVM $.
  $}

  ${
    $d A b $.  $d a n $.  $d A x $.  $d a y $.  $d A y $.  $d a z $.  $d A z $.
    $d b n $.  $d b x $.  $d b y $.  $d b z $.  $d k n $.  $d k y $.  $d k z $.
    $d M a $.  $d M b $.  $d M k $.  $d M n $.  $d M x $.  $d M y $.  $d M z $.
    $d n x $.  $d n y $.  $d n z $.  $d x y $.  $d x z $.  $d y z $.
    $( If the unit power set of a set is in the successor of a finite cardinal,
       then there is a natural that is smaller than the finite cardinal and
       whose double is smaller than the successor of the cardinal.  Theorem
       X.1.44 of [Rosser] p. 531.  (Contributed by SF, 30-Jan-2015.) $)
    sfindbl $p |- ( ( M e. Nn /\ ~P1 A e. ( M +c 1c ) ) ->
         E. n e. Nn ( _S[fin] ( M , n ) /\
            _S[fin] ( ( M +c 1c ) , ( n +c n ) ) ) ) $=
      ( vb vx vy vz vk va cpw1 wcel cnnc cv cun wceq wrex wa wex vex eleq1d c1c
      cplc csn ccompl wsfin elsuc w3a pw1eqadj wi wel wn wb eleq1 adantr eleq12
      compleq snex elcompl snelpw1 xchbinx syl6bb sylan2 ancoms anbi2d 3anidm23
      anbi12d ncfinlower adantrr cpw simp3l simp3rr syl3anc simpl2l simprrr weq
      nnpweq simpl1 simprl pw1eq pweq spcev syl2anc df-sfin syl3anbrc nncaddccl
      peano2 syl anidms pw1un pw1sn uneq2i eqtri simpl2r sylnibr elsuci simpl3l
      syl5eqel sylibr nnadjoinpw syl221anc unex jca expr reximdva mpd rexlimdva
      3expa syl6bi 3adant1 com12 exlimdvv syl5bi rexlimdvva imp sylan2b ) AJZCU
      AUBZKCLKZXPDMZEMZUCNOZEXSUDZPDCPZCBMZUEZXQYDYDUBZUEZQZBLPZEXPCDUFXRYCYIXR
      YAYIDECYBYAAFMZGMZUCZNZOZXSYJJZOZXTYLOZUGZGRFRXRXSCKZXTYBKZQZQZYIFGXSXTAD
      SESUHUUBYRYIFGYRUUBYIYPYQUUBYIUIYNYPYQQZUUBXRYOCKZGFUJZUKZQZQZYIUUCUUAUUG
      XRUUCYSUUDYTUUFYPYSUUDULYQXSYOCUMUNYQYPYTUUFULZYPYQYBYOUDZOZUUIXSYOUPYQUU
      KQYTYLUUJKZUUFXTYLYBUUJUOUULYLYOKZUUEYLYOYKUQZURYKYJUSZUTVAVBVCVFVDUUHFHU
      JZUUPQZHLPZYIXRUUDUURUUFXRUUDUURYJYJHCVGVEVHUUHUUQYIHLUUHHMZLKZUUQYIXRUUG
      UUTUUQQZYIXRUUGUVAUGZYJVIZYDKZUVDQZBLPZYIUVBUUTUUPUUPUVFXRUUGUUTUUQVJUUPU
      UPUUTXRUUGVKZUVGYJYJBUUSVPVLUVBUVEYHBLUVBYDLKZUVEYHUVBUVHUVEQZQZYEYGUVJXR
      UVHIMZJZCKZUVKVIZYDKZQZIRZYEXRUUGUVAUVIVQZUVBUVHUVEVRZUVJUUDUVDUVQUUDUUFX
      RUVAUVIVMZUVBUVHUVDUVDVNZUVPUUDUVDQIYJFSZIFVOZUVMUUDUVOUVDUWCUVLYOCUVKYJV
      STUWCUVNUVCYDUVKYJVTTVFWAWBCYDIWCWDUVJXQLKZYFLKZUVLXQKZUVNYFKZQZIRZYGUVJX
      RUWDUVRCWFWGUVJUVHUWEUVSUVHUWEYDYDWEWHWGUVJYMJZXQKZYMVIZYFKZUWIUVJUWJYOYL
      UCZNZXQUWJYOYLJZNUWOYJYLWIUWPUWNYOYKGSZWJWKWLUVJUUDUUMUKUWOXQKUVTUVJUUEUU
      MUUDUUFXRUVAUVIWMZUUOWNYOCYLUUNWOWBWQUVJUUTUVHUUPYKYJUDKZUVDUWMUUTUUQXRUU
      GUVIWPUVSUVBUUPUVIUVGUNUVJUUFUWSUWRYKYJUWQURWRUWAYJUUSYDYKWSWTUWHUWKUWMQI
      YMYJYLUWBUUNXAUVKYMOZUWFUWKUWGUWMUWTUVLUWJXQUVKYMVSTUWTUVNUWLYFUVKYMVTTVF
      WAWBXQYFIWCWDXBXCXDXEXGXCXFXEXHXIXJXKXLXMXNXO $.
  $}

  ${
    $d m n t x y $.
    $( Lemma for ~ sfintfin .  Set up induction stratification.  (Contributed
       by SF, 31-Jan-2015.) $)
    sfintfinlem1 $p |- { m | A. n ( _S[fin] ( m , n ) ->
                  _S[fin] ( _T[fin] m , _T[fin] n ) ) } e. _V $=
      ( vt vy vx cxpk c1c cins3k cins2k cimak cin csn cv wcel wn wex copk exbii
      wa 3bitri cnnc cpw cvv cssetk csik csymdif cpw1 cdif ccompl c0 ccnvk cidk
      cun cuni1 wsfin ctfin wi wal cab eluni1 wrex wceq snex elimak el1c anbi1i
      vex 19.41v bitr4i df-rex excom 3bitr4i opkeq1 eleq1d opkelcnvk opksnelsik
      ceqsexv eldif srelk elpw11c elin otkelins2k eqtfinrelk otkelins3k anbi12i
      bitri opkex tfinex sfineq1 sfineq2 notbii annim elcompl alex abbi2i sikex
      srelkex tfinrelkex cnvkex ins2kex ins3kex inex pw1ex imakex difex complex
      1cex uni1ex eqeltrri ) UAUAFGUBUCFUDHUDUEIZUFZGUGZUGZUGZJUHUEHUDIZKXMJHZX
      KXMJUIUEHXOKXMJIKXNJKZUEZUJLZLZXSFXOUDUKHUAUCFXJXPKXNJKIULHUFXLJIUHXLJHUF
      XMJUIXTUCFUHUMZUKZIZYCXQHZKZXLJZHZKZXLJZUHZUKZGJZUIZUNZAMZBMZUOZYOUPZYPUP
      ZUOZUQZBURZAUSUCUUBAYNYOYNNYOLZYMNZUUBYOYMAVGZUTUUCYLNZOUUAOZBPZOUUDUUBUU
      FUUHUUFCMZUUCQZYKNZCGVAZUUIYPLZVBZUUKSZCPZBPZUUHCYKGUUCYOVCZVDUUIGNZUUKSZ
      CPUUOBPZCPUULUUQUUTUVACUUTUUNBPZUUKSUVAUUSUVBUUKBUUIVEVFUUNUUKBVHVIRUUKCG
      VJUUOBCVKVLUUPUUGBUUPUUMUUCQZYKNZUUCUUMQZYJNZUUGUUKUVDCUUMYPVCZUUNUUJUVCY
      KUUIUUMUUCVMVNVQUUMUUCYJUVGUURVOUVFUVEXRNZUVEYINZOZSYQYTOZSUUGUVEXRYIVRUV
      HYQUVJUVKUVHYOYPQXQNYQYOYPXQUUEBVGZVPYOYPUUEUVLVSWFUVIYTUVIUUIDMZLZLZVBZU
      UIUVEQZYHNZSZCPZDPZUVMYSVBZYRUVMUOZSZDPYTUVIUVRCXLVAUUIXLNZUVRSZCPZUWACYH
      XLUVEUUCUUMWGVDUVRCXLVJUWGUVSDPZCPUWAUWFUWHCUWFUVPDPZUVRSUWHUWEUWIUVRDUUI
      VTVFUVPUVRDVHVIRUVSDCVKVITUVTUWDDUVTUVOUVEQZYHNZUWJYCNZUWJYGNZSUWDUVRUWKC
      UVOUVNVCUVPUVQUWJYHUUIUVOUVEVMVNVQUWJYCYGWAUWLUWBUWMUWCUWLUVMUUMQYBNUUMUV
      MQYANUWBUVMUUCUUMYBDVGZUURUVGWBUVMUUMYAUWNUVGVOYPUVMUVLUWNWCTUWMUVMUUCQZY
      FNZEMZYRVBZUWQUVMUOZSZEPZUWCUVMUUCUUMYFUWNUURUVGWDUWPUUIUWOQZYENZCXLVAZUU
      IUWQLZLZVBZUXCSZCPZEPZUXACYEXLUWOUVMUUCWGVDUWEUXCSZCPUXHEPZCPUXDUXJUXKUXL
      CUXKUXGEPZUXCSUXLUWEUXMUXCEUUIVTVFUXGUXCEVHVIRUXCCXLVJUXHECVKVLUXIUWTEUXI
      UXFUWOQZYENZUXNYCNZUXNYDNZSUWTUXCUXOCUXFUXEVCUXGUXBUXNYEUUIUXFUWOVMVNVQUX
      NYCYDWAUXPUWRUXQUWSUXPUWQUUCQYBNUUCUWQQYANUWRUWQUVMUUCYBEVGZUWNUURWBUWQUU
      CYAUXRUURVOYOUWQUUEUXRWCTUXQUWQUVMQXQNUWSUWQUVMUUCXQUXRUWNUURWDUWQUVMUXRU
      WNVSWFWETRTUWSUWCEYRYOWHUWQYRUVMWIVQTWETRUWCYTDYSYPWHUVMYSYRWJVQTWKWEYQYT
      WLTTRTWKUUCYLUURWMUUABWNVLWFWOYMYLYKGYJXRYIXQWQWPYHXLYCYGYBYAWRWSWTZYFYEX
      LYCYDUXSXQWQXAXBGXGXCZXDXAXBUXTXDXEWSXGXDXFXHXI $.
  $}

  ${
    $d M a k m n p q $.  $d N a k n $.
    $( If two numbers obey ` _S[fin] ` , then do their T raisings.  Theorem
       X.1.45 of [Rosser] p. 532.  (Contributed by SF, 30-Jan-2015.) $)
    sfintfin $p |- ( _S[fin] ( M , N ) ->
              _S[fin] ( _T[fin] M , _T[fin] N ) ) $=
      ( va vn vk cnnc wcel wa wsfin ctfin wi c0c c1c wceq sfineq1 wb tfineq syl
      imbi12d sfineq2 vm vp vq cv cpw wex w3a df-sfin 3simpa sylbi sfintfinlem1
      cpw1 wal cplc tfin0c syl6eq albidv weq cbvalv syl6bb sfin01 sfin112 mpan2
      tfin1c mpbiri simp3bi 3ad2ant3 wrex sfindbl 3ad2antl1 spv simprrl simplrl
      ax-gen adantl simprrr ad2antlr syl2anc simp2 simp1bi simp1l simp3 tfinpw1
      peano2 c0 wne ne0i tfinsuc eleqtrd simp3l addceq12 anidms biimprcd 3expia
      mpd rexlimdvw 3adant3 adantrd exlimdv simpll adantr exlimiv 3syl sylan9bb
      tfindi syl3anc mpbird ex embantd exp32 com34 com23 exp3a rexlimdv alrimiv
      syl5 3imp finds spcgv mpan9 mpcom ) AFGZBFGZHZABIZAJZBJZIZYEYBYCCUDZULZAG
      YIUEZBGHCUFZUGYDABCUHYBYCYLUIUJYBADUDZIZYFYMJZIZKZDUMZYCYEYHKZEUDZYMIZYTJ
      ZYOIZKZDUMZLYMIZLYOIZKZDUMUAUDZUBUDZIZUUIJZUUJJZIZKZUBUMZUUIMUNZYMIZUUQJZ
      YOIZKZDUMZYREUAAEDUKYTLNZUUDUUHDUVCUUAUUFUUCUUGYTLYMOUVCUUBLNUUCUUGPUVCUU
      BLJLYTLQUOUPUUBLYOORSUQEUAURZUUEUUIYMIZUULYOIZKZDUMUUPUVDUUDUVGDUVDUUAUVE
      UUCUVFYTUUIYMOUVDUUBUULNUUCUVFPYTUUIQUUBUULYOORSUQUVGUUODUBDUBURZUVEUUKUV
      FUUNYMUUJUUITUVHYOUUMNUVFUUNPYMUUJQYOUUMUULTRSUSUTYTUUQNZUUDUVADUVIUUAUUR
      UUCUUTYTUUQYMOUVIUUBUUSNUUCUUTPYTUUQQUUBUUSYOORSUQYTANZUUDYQDUVJUUAYNUUCY
      PYTAYMOUVJUUBYFNUUCYPPYTAQUUBYFYOORSUQUUHDUUFYMMNZUUGUUFLMIZUVKVAMLYMVBVC
      UVKUUGUVLVAUVKYOMNUUGUVLPUVKYOMJMYMMQVDUPYOMLTRVERVNUUIFGZUUPUVBUVMUUPHUV
      ADUVMUUPUURUUTUVMUUPUURUGZYJUUQGZYKYMGZHZCUFZUUTUURUVMUVRUUPUURUUQFGZYMFG
      UVRUUQYMCUHVFVGUVNUVQUUTCUVNUVOUUTUVPUVNUVOUUTUVNUVOHUUIUCUDZIZUUQUVTUVTU
      NZIZHZUCFVHZUUTUVMUUPUVOUWEUURYIUCUUIVIVJUVNUWEUUTKUVOUVNUWDUUTUCFUVNUVTF
      GZUWDUUTUVMUUPUURUWFUWDHZUUTKZUVMUURUUPUWHUVMUURUWGUUPUUTUVMUURUWGUUPUUTK
      UUPUWAUULUVTJZIZKZUVMUURUWGHZHZUUTUUOUWKUBUCUBUCURZUUKUWAUUNUWJUUJUVTUUIT
      UWNUUMUWINUUNUWJPUUJUVTQUUMUWIUULTRSVKUWMUWAUWJUUTUWLUWAUVMUURUWFUWAUWCVL
      VOUWMUWJUUTUWMUWJHZYMUWBNZUUTUWOUURUWCUWPUVMUURUWGUWJVMUWLUWCUVMUWJUURUWF
      UWAUWCVPVQZUWBUUQYMVBVRUWOUUSUWBJZIZUWPUUTKUWOUWSUULMUNZUWIUWIUNZIZUWOUVO
      YKUWBGZHZCUFZUXBUWOUWCUXEUWQUWCUVSUWBFGUXEUUQUWBCUHVFZRUWOUXDUXBCUWOUVOUX
      BUXCUWMUWJUVOUXBUWMUWJUVOUGZUULYTIZUWTYTYTUNZIZHZEFVHZUXBUXGUULFGZYJULZUW
      TGUXLUXGUWJUXMUWMUWJUVOVSUWJUXMUWIFGYJUULGYKUWIGHCUFUULUWICUHVTRUXGUXNUUS
      UWTUXGUVSUVOUXNUUSGUXGUVMUVSUVMUWLUWJUVOWAZUUIWDRUWMUWJUVOWBYJUUQWCVRUXGU
      VMUUQWEWFZUUSUWTNZUXOUVOUWMUXPUWJUUQYJWGZVGUUIWHZVRWIYJEUULVIVRUWMUWJUXLU
      XBKUVOUWOUXKUXBEFUWMUWJUXKUXBUWMUWJUXKUGZUWIYTNZUXBUXTUWJUXHUYAUWMUWJUXKV
      SUWMUWJUXHUXJWJYTUULUWIVBVRUXKUWMUYAUXBKZUWJUXJUYBUXHUYAUXBUXJUYAUXAUXINZ
      UXBUXJPUYAUYCUWIUWIYTYTWKWLUXAUXIUWTTRWMVOVGWOWNWPWQWOWNWRWSWOUWOUXQUWRUX
      ANZUWSUXBPUWOUVMUXPUXQUVMUWLUWJWTUWOUWCUXEUXPUWQUXFUXDUXPCUVOUXPUXCUXRXAX
      BXCUXSVRUWOUWFUWFUWBWEWFZUYDUWMUWFUWJUVMUURUWFUWDVLXAZUYFUWOUWCUXEUYEUWQU
      XFUXDUYECUXCUYEUVOUWBYKWGVOXBXCUVTUVTXEXFUXQUWSUWTUWRIUYDUXBUUSUWTUWROUWR
      UXAUWTTXDVRXGUWPUUTUWSUWPYOUWRNUUTUWSPYMUWBQYOUWRUUSTRWMRWOXHXIXPXJXKXLXQ
      XMXNXAWOXHWRWSWOWNXOXHXRYQYSDBFYMBNZYNYEYPYHYMBATUYGYOYGNYPYHPYMBQYOYGYFT
      RSXSXTYA $.
  $}

  ${
    $d n y a x $.  $d a t $.  $d a w $.  $d a z $.  $d n t $.  $d n z $.
    $d t w $.  $d t x $.  $d t y $.  $d t z $.  $d w x $.  $d w y $.  $d w z $.
    $d x z $.  $d y z $.

    $( Lemma for ~ tfinnn .  Establish stratification.  (Contributed by SF,
       30-Jan-2015.) $)
    tfinnnlem1 $p |- { n | A. y e. n ( y C_ Nn -> { a | E. x e.
                          y a = _T[fin] x } e. _T[fin] n ) } e. _V $=
      ( vt vz vw cssetk csn cimak wcel wn copk wa wex snex bitri 3bitri 3bitr4i
      exbii csik cnnc cpw cpw1 cvv cxpk c0 cins2k ccnvk cins3k c1c csymdif cdif
      cin cidk ccompl cun cuni1 cv wss ctfin wceq wrex cab wi vex eluni1 opkeq1
      wral wel eleq1d ceqsexv elin opksnelsik elssetk opkelxpk mpbiran2 snelpw1
      eldif otkelins2k opkelcnvk eqtfinrelk opkex elimak elpw121c anbi1i 19.41v
      bitr4i df-rex excom wb elsymdif otkelins3k anbi12i bibi12i notbii elcompl
      elpw abeq2 df-clel elpw11c tfinex clel3 annim dfral2 abbi2i ssetkex sikex
      wal alex nncex pwex pw1ex vvex xpkex tfinrelkex ins2kex ins3kex inex 1cex
      cnvkex imakex symdifex complex difex uni1ex eqeltrri ) HUAZUBUCZUDZUEUFZU
      AZUGIZIZYMUFHUHZHUIUJUBUEUFYHUHZUKUCUEUFHUJZYPULUKUDZUDZUDZJUMUAUJYOUNYSJ
      UJUNYTJUNUHUOUJULYRJUHUMYRJUJULYSJUPYNUEUFUMUQZUIZUHZYQYOUUAUJZUNZYSJZUAZ
      UHZULZYSJZUPZUAZUHZYQUNZYSJZUJZUNZYRJZUMZUNZYRJZUPZURZBUSZUBUTZDUSZAUSZVA
      VBZAUVDVCZDVDZCUSZVAZKZVEZBUVKVIZCVDUEUVOCUVCUVKUVCKUVKIZUVBKZUVOUVKUVBCV
      FZVGUVPUVAKZLUVNLZBUVKVCZLUVQUVOUVSUWAEUSZUVDIZIZVBZUWBUVPMZUUTKZNZEOZBOZ
      BCVJZUVTNZBOUVSUWAUWIUWLBUWIUWDUVPMZUUTKZUWMYHKZUWMUUSKZNUWLUWGUWNEUWDUWC
      PZUWEUWFUWMUUTUWBUWDUVPVHVKVLUWMYHUUSVMUWOUWKUWPUVTUWOUWCUVKMZHKUWKUWCUVK
      HUVDPZUVRVNUVDUVKBVFZUVRVOQUWPUWMYLKZUWMUURKZLZNUVEUVMLZNUVTUWMYLUURVSUXA
      UVEUXCUXDUXAUWRYKKZUVDYIKZUVEUWCUVKYKUWSUVRVNUXEUWCYJKZUXFUXEUXGUVKUEKUVR
      UWCUVKYJUEUWSUVRVPVQUVDYIVRQUVDUBUWTWRRUXBUVMUWBFUSZIZIZVBZUWBUWMMZUUQKZN
      ZEOZFOZUXHUVLVBZUVJUXHKZNZFOUXBUVMUXOUXSFUXOUXJUWMMZUUQKZUXTUUCKZUXTUUPKZ
      NUXSUXMUYAEUXJUXIPUXKUXLUXTUUQUWBUXJUWMVHVKVLUXTUUCUUPVMUYBUXQUYCUXRUYBUX
      HUVPMUUBKUVPUXHMUUAKUXQUXHUWDUVPUUBFVFZUWQUVKPZVTUXHUVPUUAUYDUYEWAUVKUXHU
      VRUYDWBRUXHUWDMZUUOKZGUSZUVJVBZGFVJZNZGOZUYCUXRUYGUWBUYFMZUUNKZEYSVCZUWBU
      YHIZIZIZVBZUYNNZEOZGOZUYLEUUNYSUYFUXHUWDWCWDUWBYSKZUYNNZEOUYTGOZEOUYOVUBV
      UDVUEEVUDUYSGOZUYNNVUEVUCVUFUYNGUWBWEWFUYSUYNGWGWHTUYNEYSWIUYTGEWJSVUAUYK
      GVUAUYRUYFMZUUNKZVUGUUMKZVUGYQKZNUYKUYNVUHEUYRUYQPUYSUYMVUGUUNUWBUYRUYFVH
      VKVLVUGUUMYQVMVUIUYIVUJUYJVUIUYPUWDMUULKUYHUWCMZUUKKZUYIUYPUXHUWDUULUYHPZ
      UYDUWQVTUYHUWCUUKGVFZUWSVNVUKUUJKZLDGVJZUVIWKZLZDOZLZVULUYIVUOVUSVUOUWBVU
      KMZUUIKZEYSVCZUWBUVFIZIZIZVBZVVBNZEOZDOZVUSEUUIYSVUKUYHUWCWCZWDVUCVVBNZEO
      VVHDOZEOVVCVVJVVLVVMEVVLVVGDOZVVBNVVMVUCVVNVVBDUWBWEWFVVGVVBDWGWHTVVBEYSW
      IVVHDEWJSVVIVURDVVIVVFVUKMZUUIKZVVOYQKZVVOUUHKZWKZLVURVVBVVPEVVFVVEPVVGVV
      AVVOUUIUWBVVFVUKVHVKVLVVOYQUUHWLVVSVUQVVQVUPVVRUVIVVQVVDUYHMHKVUPVVDUYHUW
      CHUVFPZVUNUWSWMUVFUYHDVFZVUNVOQVVRVVDUWCMUUGKZUVIVVDUYHUWCUUGVVTVUNUWSVTU
      VFUVDMZUUFKZABVJZUVHNZAOZVWBUVIVWDUWBVWCMZUUEKZEYSVCZUWBUVGIZIZIZVBZVWINZ
      EOZAOZVWGEUUEYSVWCUVFUVDWCWDVUCVWINZEOVWOAOZEOVWJVWQVWRVWSEVWRVWNAOZVWINV
      WSVUCVWTVWIAUWBWEWFVWNVWIAWGWHTVWIEYSWIVWOAEWJSVWPVWFAVWPVWMVWCMZUUEKZVXA
      YOKZVXAUUDKZNVWFVWIVXBEVWMVWLPVWNVWHVXAUUEUWBVWMVWCVHVKVLVXAYOUUDVMVXCVWE
      VXDUVHVXCVWKUVDMHKVWEVWKUVFUVDHUVGPZVWAUWTVTUVGUVDAVFZUWTVOQVXDVWKUVFMUUA
      KUVHVWKUVFUVDUUAVXEVWAUWTWMUVGUVFVXFVWAWBQWNRTRUVFUVDUUFVWAUWTVNUVHAUVDWI
      SQWOWPRTRWPVUKUUJVVKWQUYIVUQDXIVUTUVIDUYHWSVUQDXJQSRVUJUYPUXHMHKUYJUYPUXH
      UWDHVUMUYDUWQWMUYHUXHVUNUYDVOQWNRTRUXHUWDUVPUUOUYDUWQUYEWMGUVJUXHWTSWNRTU
      XBUXMEYRVCZUXPEUUQYRUWMUWDUVPWCWDUWBYRKZUXMNZEOUXNFOZEOVXGUXPVXIVXJEVXIUX
      KFOZUXMNVXJVXHVXKUXMFUWBXAWFUXKUXMFWGWHTUXMEYRWIUXNFEWJSQFUVJUVLUVKXBXCSW
      PWNUVEUVMXDRWNRTUVSUWGEYRVCZUWJEUUTYRUVPUYEWDVXHUWGNZEOUWHBOZEOVXLUWJVXMV
      XNEVXMUWEBOZUWGNVXNVXHVXOUWGBUWBXAWFUWEUWGBWGWHTUWGEYRWIUWHBEWJSQUVTBUVKW
      ISWPUVPUVAUYEWQUVNBUVKXESQXFUVBUVAUUTYRYHUUSHXGXHYLUURYKYJUEYIUBXKXLXMXNX
      OXHUUQYRUUCUUPUUBUUAXPYAXQUUOUUNYSUUMYQUULUUKUUJUUIYSYQUUHHXGXRZUUGUUFUUE
      YSYOUUDHXGXQUUAXPXRXSYRUKXTXMZXMZYBXHXQYCVXRYBYDXHXQVXPXSVXRYBXRXSVXQYBYE
      XSVXQYBYDYFYG $.
  $}

  ${
    $d N a x $.  $d A a x $.  $d a y $.  $d A y $.  $d n y $.  $d N y $.
    $d x y $.  $d a b $.  $d a k $.  $d a n $.  $d a w $.  $d a z $.  $d b k $.
    $d b w $.  $d b x $.  $d b y $.  $d b z $.  $d k n $.  $d k w $.  $d k x $.
    $d k y $.  $d k z $.  $d N n $.  $d n x $.  $d n z $.  $d w x $.  $d w y $.
    $d w z $.  $d x z $.  $d y z $.

    $( T-raising of a set of naturals.  Theorem X.1.46 of [Rosser] p. 532.
       (Contributed by SF, 30-Jan-2015.) $)
    tfinnn $p |- ( ( N e. Nn /\ A C_ Nn /\ A e. N ) ->
       { a | E. x e. A a = _T[fin] x } e. _T[fin] N ) $=
      ( vy vb vw cnnc wcel wss cv ctfin wceq wrex cab wi c0 wn c0c wa vn vk wal
      vz wral c1c cplc tfinnnlem1 tfineq tfin0c syl6eq eleq2d imbi2d raleqbi1dv
      df-ral el0c ab0 bitri imbi2i imbi12i albii 0ex sseq1 rexeq notbid imbi12d
      albidv ceqsalv 3bitri syl6bb weq abbidv eleq1d cbvralv ax-gen a1i csn cun
      rex0 ccompl elsuc wel rspcv ad2antrl simprl w3a simp3 simplrr vex elcompl
      sylib elequ1 syl5ibcom con2d imp simpll simprr simplr sseldd simpr tfin11
      syl syl3anc mtand nrexdv 3adant3 tfinex eqeq1 rexbidv elab sylnibr elsuci
      syl2anc 3expia embantd ex com23 snss anbi2i unss bitr2i rexun df-sn rexsn
      wo eqeq2d abbii eqtr4i uneq2i unab eqtr2i biimprcd syl6 syld an32s syl5bi
      rexlimdvva imp32 wne ne0i tfinsuc eleqtrrd expr ralrimiva finds rspccv
      3imp ) CHIZBHJZBCIZDKZAKZLZMZABNZDOZCLZIZUUHUUJUUIUURUUHEKZHJZUUNAUUSNZDO
      ZUUQIZPZECUEZUUJUUIUURPZPUUTUVBUAKZLZIZPZEUVGUEZQHJZUUNAQNZRZDUCZPZUUTUVB
      UBKZLZIZPZEUVQUEZUDKZHJZUUNAUWBNZDOZUVQUFUGZLZIZPZUDUWFUEZUVEUAUBCAEUADUH
      UVGSMZUVKUUTUVBSIZPZESUEZUVPUVJUWMEUVGSUWKUVIUWLUUTUWKUVHSUVBUWKUVHSLSUVG
      SUIUJUKULUMUNUWNUUSSIZUWMPZEUCUUSQMZUUTUVARZDUCZPZPZEUCUVPUWMESUOUWPUXAEU
      WOUWQUWMUWTUUSUPUWLUWSUUTUWLUVBQMUWSUVBUPUVADUQURUSUTVAUWTUVPEQVBUWQUUTUV
      LUWSUVOUUSQHVCUWQUWRUVNDUWQUVAUVMUUNAUUSQVDVEVGVFVHVIVJUVJUVTEUVGUVQUAUBV
      KZUVIUVSUUTUXBUVHUVRUVBUVGUVQUIULUMUNUVGUWFMZUVKUUTUVBUWGIZPZEUWFUEUWJUVJ
      UXEEUVGUWFUXCUVIUXDUUTUXCUVHUWGUVBUVGUWFUIULUMUNUXEUWIEUDUWFEUDVKZUUTUWCU
      XDUWHUUSUWBHVCUXFUVBUWEUWGUXFUVAUWDDUUNAUUSUWBVDVLVMVFVNVJUVJUVDEUVGCUVGC
      MZUVIUVCUUTUXGUVHUUQUVBUVGCUIULUMUNUVOUVLUVNDUUNAVSVOVPUVQHIZUWAUWJUXHUWA
      TZUWIUDUWFUXIUWBUWFIZUWCUWHUXIUXJUWCTZTZUWEUVRUFUGZUWGUXIUXJUWCUWEUXMIZUX
      JUWBFKZGKZVQZVRZMZGUXOVTZNFUVQNUXIUWCUXNPZGUWBUVQFWAUXIUXSUYAFGUVQUXTUXHF
      UBWBZUXPUXTIZTZUWAUXSUYAPZUXHUYDTZUWAUYEUYFUWAUXOHJZUUNAUXONZDOZUVRIZPZUY
      EUYBUWAUYKPUXHUYCUVTUYKEUXOUVQEFVKZUUTUYGUVSUYJUUSUXOHVCUYLUVBUYIUVRUYLUV
      AUYHDUUNAUUSUXOVDVLVMVFWCWDUYFUYKUYGUXPHIZTZUYIUXPLZVQZVRZUXMIZPZUYEUYFUY
      NUYKUYRUYFUYNUYKUYRPUYFUYNTZUYGUYJUYRUYFUYGUYMWEZUYFUYNUYJUYRUYFUYNUYJWFZ
      UYJUYOUYIIZRUYRUYFUYNUYJWGVUBUYOUUMMZAUXONZVUCUYFUYNVUERUYJUYTVUDAUXOUYTA
      FWBZTZVUDGAVKZUYTVUFVUHRUYTVUHVUFUYTGFWBZRZVUHVUFRUYTUYCVUJUXHUYBUYCUYNWH
      UXPUXOGWIZWJWKVUHVUIVUFGAFWLVEWMWNWOVUGVUDTZUYMUULHIVUDVUHVULUYTUYMUYTVUF
      VUDWPZUYFUYGUYMWQXBVULUXOHUULVULUYTUYGVUMVUAXBUYTVUFVUDWRWSVUGVUDWTUXPUUL
      XAXCXDXEXFUYHVUEDUYOUXPXGZUUKUYOMZUUNVUDAUXOUUKUYOUUMXHXIXJXKUYIUVRUYOVUN
      XLXMXNXOXPXQUXSUYAUYSUXSUWCUYNUXNUYRUXSUWCUXRHJZUYNUWBUXRHVCUYNUYGUXQHJZT
      VUPUYMVUQUYGUXPHVUKXRXSUXOUXQHXTYAVJUXSUWEUYQUXMUXSUWEUYHUUNAUXQNZYEZDOZU
      YQUXSUWDVUSDUXSUWDUUNAUXRNVUSUUNAUWBUXRVDUUNAUXOUXQYBVJVLUYQUYIVURDOZVRVU
      TUYPVVAUYIUYPVUODOVVADUYOYCVURVUODUUNVUOAUXPVUKAGVKUUMUYOUUKUULUXPUIYFYDY
      GYHYIUYHVURDYJYKUKVMVFYLYMYNWOYOYQYPYRUXLUXHUWFQYSZUWGUXMMUXHUWAUXKWPUXJV
      VBUXIUWCUWFUWBYTWDUVQUUAXMUUBUUCUUDXPUUEUVDUVFEBCUUSBMZUUTUUIUVCUURUUSBHV
      CVVCUVBUUPUUQVVCUVAUUODUUNAUUSBVDVLVMVFUUFXBXQUUG $.
  $}

  ${
    $d a b $.  $d a r $.  $d a s $.  $d b r $.  $d b s $.  $d M a $.  $d M b $.
    $d M r $.  $d M s $.  $d N a $.  $d N b $.  $d N r $.  $d N s $.  $d P a $.
    $d P b $.  $d P r $.  $d P s $.  $d Q a $.  $d Q b $.  $d Q r $.  $d Q s $.
    $d r s $.  $d a d $.  $d a g $.  $d a t $.  $d a x $.  $d b d $.  $d b g $.
    $d b t $.  $d b x $.  $d d g $.  $d d r $.  $d d s $.  $d d t $.  $d d x $.
    $d g r $.  $d g s $.  $d g t $.  $d g x $.  $d M d $.  $d M g $.  $d M t $.
    $d M x $.  $d N d $.  $d N g $.  $d N t $.  $d N x $.  $d P d $.  $d P g $.
    $d P t $.  $d P x $.  $d Q d $.  $d Q g $.  $d Q t $.  $d Q x $.  $d r t $.
    $d r x $.  $d s t $.  $d s x $.  $d t x $.  $d a n $.  $d a u $.  $d b n $.
    $d b u $.  $d d n $.  $d d u $.  $d g n $.  $d g u $.  $d m n $.  $d M n $.
    $d m u $.  $d M u $.  $d N n $.  $d n r $.  $d n s $.  $d n t $.  $d n u $.
    $d N u $.  $d P n $.  $d P u $.  $d Q n $.  $d Q u $.  $d r u $.  $d s u $.
    $d t u $.
    $( Ordering law for finite smaller than.  Theorem X.1.47 of [Rosser]
       p. 532.  (Contributed by SF, 30-Jan-2015.) $)
    sfinltfin $p |- ( ( ( _S[fin] ( M , N ) /\ _S[fin] ( P , Q ) ) /\
        << M , P >> e. <[fin] ) -> << N , Q >> e. <[fin] ) $=
      ( va vb vr vx wa cltfin wcel cnnc cv wrex wceq c0 wn syl2anc syl cplc cpw
      vs vt vg vd vu vn vm wsfin copk cpw1 wex w3a wi df-sfin 3an6 eeanv simp1l
      wel simp3ll ncfinlower syl3anc simp1r simp3rl reeanv simpl anim12i cin wo
      ctfin simprll simprrl tfinpw1 elin sylanbrc n0i simpl1l wne ne0i tfinprop
      adantr simpld nndisjeq sylc simprlr simprrr simpl1r wb tfinltfin ad2antrl
      orel1 c1c opkltfing simp2rr simp3r eleqtrd addcass syl6eleq 0nelsuc eleq1
      cun eladdc syl5ibcom mtoi df-ne sylibr wss ssun2 sseq2 mpbiri sseld disjr
      n0 rsp sylbi anim12ii ancoms ad2antll vex snelpw sylib eleq2 imp 3ad2ant1
      wral ad2antrr cfin cvv pwex c0c syl5bir eleq1d syl5ibrcom mpd 3expa exp32
      rexlimdv syl5bi rexlimdvv mp2and csn notbii anbi12i ssun1 adantl biimprcd
      sspwb anim2i dfpss2 simp2ll simp2rl nnpweq simpr2l simp3lr simpr1 simp12l
      wpss con3d cdif simp3rr simp12r elunii df-fin syl6eleqr difex difss ssfin
      mp3an13 elfin undif1 eqtr3i simp23 pssssd ssequn2 syl5eqr simp22r disjdif
      uncom a1i eladdci eqeltrrd simp21 simp3l nncaddccl df-pss ssdif0 simplbi2
      cuni necon3d biimpcd syl6ib necon3ad nnc0suc addceq2 syl6eqr reximi mp2an
      eqss el0c addcex opkeq2 opkeq1 3exp2 mpand exlimdv adantld sylbid sylbird
      syl5 syld opkeq12 imbi1d syl7 3expia exlimdvv 3impia sylbir syl2anb ) CDU
[encoded data, 4320 characters]
      VKUXKYLUXLYMYTYPUXMYSYKYTUXNUXOYKUXPUXQUXRYC $.
  $}

  ${
    $d M a $.  $d N a $.  $d P a $.
    $( The finite smaller relationship is one-to-one in its first argument.
       Theorem X.1.48 of [Rosser] p. 533.  (Contributed by SF, 29-Jan-2015.) $)
    sfin111 $p |- ( ( _S[fin] ( M , P ) /\ _S[fin] ( N , P ) ) ->
       M = N ) $=
      ( va wsfin wa copk cltfin wcel wo wn wceq cnnc wex df-sfin adantl simp1bi
      sfinltfin adantr sylib cv cpw1 cpw simp2bi ltfinirr syl mtand ancoms mtod
      wi ex ioran sylanbrc w3o wne ne0i exlimiv 3ad2ant3 sylbi ltfintri syl3anc
      c0 w3a df-3or or32 orel1 sylc ) BAEZCAEZFZBCGHIZCBGHIZJZKZVMBCLZJZVOVJVKK
      VLKVNVJVKAAGHIZVJAMIZVQKVIVRVHVICMIZVRDUAZUBZCIVTUCAIZFDNZCADOZUDPAUEUFZC
      ABARUGVJVLVQWEVIVHVLVQUJVIVHFVLVQBACARUKUHUIVKVLULUMVJVKVOJVLJZVPVJVKVOVL
      UNZWFVJBMIZVSBVBUOZWGVHWHVIVHWHVRWABIZWBFZDNZBADOZQSVIVSVHVIVSVRWCWDQPVHW
      IVIVHWHVRWLVCWIWMWLWHWIVRWKWIDWJWIWBBWAUPSUQURUSSBCUTVAVKVOVLVDTVKVOVLVET
      VMVOVFVG $.
  $}

  ${
    $d a x $.  $d a z $.  $d t x $.  $d x z $.  $d a t $.  $d t z $.
    $( ` Sp[fin] ` is a set.  (Contributed by SF, 20-Jan-2015.) $)
    spfinex $p |- Sp[fin] e. _V $=
      ( va vz vx vt cv wcel cssetk c1c cins3k csik cimak cin wa wn wex copk csn
      bitr4i exbii 3bitri cspfin cvv cncfin cab cnnc cxpk cpw csymdif cpw1 cdif
      cins2k ccompl cint wsfin wel wi wal wral df-spfin wrex wceq elimak anbi1i
      el1c 19.41v df-rex excom 3bitr4i snex opkeq1 eleq1d ceqsexv elssetk opkex
      elin elpw121c eldif otkelins3k opksnelsik srelk otkelins2k notbii anbi12i
      bitri exanali elcompl dfral2 abbi2i ineq2i eqtri inteqi eqtr4i setswithex
      vex inab ssetkex srelkex sikex ins3kex ins2kex difex pw1ex imakex complex
      1cex inex intex eqeltri ) UAUBUCZAEZFZAUDZGUEUEUFHUGUBUFGIGJUKUHZHUIZUIZU
      IZKUJJIGUKZLXOKIXMXOKULJIXQLXOKUKLXPKLZJZIZXQUJZXOKZLZHKZULZLZUMZUBUAXKBE
      ZCEZUNZBAUOZUPBUQZCXJURZMAUDZUMYGCBAUSYFYNYFXLYMAUDZLYNYEYOXLYMAYEXJYDFZN
      YLNZCXJUTZNXJYEFYMYPYRYPCAUOZYQMZCOZYRYPDEZXJPZYCFZDHUTZUUBYIQZVAZUUDMZDO
      ZCOZUUADYCHXJAWNZVBUUBHFZUUDMZDOUUHCOZDOUUEUUJUUMUUNDUUMUUGCOZUUDMUUNUULU
      UOUUDCUUBVDVCUUGUUDCVERSUUDDHVFUUHCDVGVHUUIYTCUUIUUFXJPZYCFZUUPGFZUUPYBFZ
      MYTUUDUUQDUUFYIVIZUUGUUCUUPYCUUBUUFXJVJVKVLUUPGYBVOUURYSUUSYQYIXJCWNZUUKV
      MUUSUUBYHQZQZQZVAZUUBUUPPZYAFZMZDOZBOZYJYKNZMZBOYQUUSUVGDXOUTUUBXOFZUVGMZ
      DOZUVJDYAXOUUPUUFXJVNVBUVGDXOVFUVOUVHBOZDOUVJUVNUVPDUVNUVEBOZUVGMUVPUVMUV
      QUVGBUUBVPVCUVEUVGBVERSUVHBDVGRTUVIUVLBUVIUVDUUPPZYAFZUVRXTFZUVRXQFZNZMUV
      LUVGUVSDUVDUVCVIUVEUVFUVRYAUUBUVDUUPVJVKVLUVRXTXQVQUVTYJUWBUVKUVTUVBUUFPX
      SFYHYIPXRFYJUVBUUFXJXSYHVIZUUTUUKVRYHYIXRBWNZUVAVSYHYIUWDUVAVTTUWAYKUWAUV
      BXJPGFYKUVBUUFXJGUWCUUTUUKWAYHXJUWDUUKVMWDWBWCTSYJYKBWETWCTSTYQCXJVFRWBXJ
      YDUUKWFYLCXJWGVHWHWIXKYMAWOWJWKWLYFXLYEAXIWMYDYCHGYBWPYAXOXTXQXSXRWQWRWSG
      WPWTXAXNHXEXBXBXCXFXEXCXDXFXGXH $.
  $}

  ${
    $d a x z $.
    $( The cardinality of the universe is in the finite Sp set.  Theorem X.1.49
       of [Rosser] p. 534.  (Contributed by SF, 27-Jan-2015.) $)
    ncvspfin $p |- Nc[fin] _V e. Sp[fin] $=
      ( va vz vx cvv cncfin cv wcel wsfin wel wi wal wral wa cab cspfin ncfinex
      cint elintab simpl mpgbir df-spfin eleqtrri ) DEZUCAFZGZBFCFHBAIJBKCUDLZM
      ZANQZOUCUHGUGUEJAUGAUCDPRUEUFSTCBAUAUB $.
  $}

  ${
    $d a p $.  $d a q $.  $d a x $.  $d a z $.  $d p q $.  $d p x $.  $d q x $.
    $d q z $.  $d X x $.  $d X y $.  $d x z $.  $d Z x $.  $d Z y $.  $d Z z $.

    $( If ` X ` is in ` Sp[fin] ` and ` Z ` is smaller than ` X ` , then ` Z `
       is also in ` Sp[fin] ` .  Theorem X.1.50 of [Rosser] p. 534.
       (Contributed by SF, 27-Jan-2015.) $)
    spfinsfincl $p |- ( ( X e. Sp[fin] /\ _S[fin] ( Z , X ) ) ->
       Z e. Sp[fin] ) $=
      ( vy vz vx va vq vp wsfin cspfin wcel wi cnnc cv wa eleq1 imbi12d wel wal
      wceq cpw1 cpw wex w3a df-sfin sfineq1 imbi2d sfineq2 imbi1d cncfin albidv
      cvv wral weq rspcv spv com12 syl9r com23 adantld a2d alimdv cint df-spfin
      cab eleq2i vex elintab bitri 3imtr4g vtocl2g 3adant3 sylbi pm2.43i impcom
      ) BAIZAJKZBJKZVPVQVRLZVPBMKZAMKZCNZUABKWBUBAKOCUCZUDVPVSLZBACUEVTWAWDWCDN
      ZENZIZWFJKZWEJKZLZLBWFIZWHVRLZLWDDEBAMMWEBTZWGWKWJWLWEBWFUFWMWIVRWHWEBJPU
      GQWFATZWKVPWLVSWFABUHWNWHVQVRWFAJPUIQWGULUJFNZKZGNZHNZIZGFRZLZGSZHWOUMZOZ
      EFRZLZFSZXDDFRZLZFSZWHWIWGXFXIFWGXDXEXHWGXCXEXHLWPWGXEXCXHXEXCWQWFIZWTLZG
      SZWGXHXBXMHWFWOHEUNZXAXLGXNWSXKWTWRWFWQUHUIUKUOXMWGXHXLWGXHLGDGDUNXKWGWTX
      HWQWEWFUFWQWEWOPQUPUQURUSUTVAVBWHWFXDFVEVCZKXGJXOWFHGFVDZVFXDFWFEVGVHVIWI
      WEXOKXJJXOWEXPVFXDFWEDVGVHVIVJVKVLVMVNVO $.
  $}

  ${
    $d a x $.  $d a z $.  $d B a $.  $d B x $.  $d B z $.  $d x z $.

    $( Inductive principle for ` Sp[fin] ` .  Theorem X.1.51 of [Rosser]
       p. 534.  (Contributed by SF, 27-Jan-2015.) $)
    spfininduct $p |- ( ( B e. V /\ Nc[fin] _V e. B /\
       A. x e. Sp[fin] A. z ( ( x e. B /\ _S[fin] ( z , x ) ) -> z e. B ) ) ->
       Sp[fin] C_ B ) $=
      ( va wcel cspfin cvv cv wa wi wal wral wss mpan elin df-ral 19.21v bitr4i
      albii cin cncfin wsfin spfinex inexg ncvspfin biimpri spfinsfincl adantrl
      a1d ancrd syl6ibr ex a2d exp4a a2i syl5bi 2alimi 3imtr4i w3a wel cab cint
      imp3a df-spfin wceq eleq2 imbi2d albidv raleqbi1dv anbi12d biimprd 3impib
      elabg intss1 syl syl5eqss inss2 syl6ss syl3an ) CDFZGCUAZHFZHUBZCFZWDWBFZ
      AIZCFZBIZWGUCZJZWICFZKZBLZAGMZWJWIWBFZKZBLZAWBMZGCNGHFWAWCUDGCHDUEOWDGFZW
      EWFUFWFWTWEJWDGCPUGOWGGFZWMKZBLZALZWGWBFZWQKZBLZALZWOWSXBXFABXEXAWHJXBWQW
      GGCPXBXAWHWQXAWMWHWQKXAWMWHWJWPXAWKWLWPXAWKWLWPKXAWKJZWLWIGFZWLJWPXIWLXJX
      IXJWLXAWJXJWHWGWIUHUIUJUKWIGCPULUMUNUOUPVDUQURWOXAWNKZALXDWNAGQXCXKAXAWMB
      RTSWSXEWRKZALXHWRAWBQXGXLAXEWQBRTSUSWCWFWSUTZGWBCXMGWDEIZFZWJBEVAZKZBLZAX
      NMZJZEVBZVCZWBABEVEXMWBYAFZYBWBNWCWFWSYCWCYCWFWSJZXTYDEWBHXNWBVFZXOWFXSWS
      XNWBWDVGXRWRAXNWBYEXQWQBYEXPWPWJXNWBWIVGVHVIVJVKVNVLVMWBYAVOVPVQGCVRVSVT
      $.
  $}

  ${
    $d x y z $.
    $( If the universe is finite, then ` Sp[fin] ` is a subset of the non-empty
       naturals.  Theorem X.1.53 of [Rosser] p. 534.  (Contributed by SF,
       27-Jan-2015.) $)
    vfinspnn $p |- ( _V e. Fin -> Sp[fin] C_ ( Nn \ { (/) } ) ) $=
      ( vx vz vy cvv cfin wcel cncfin cnnc c0 csn cv wsfin wa wi wal cspfin wne
      cdif ne0i eldifsn wral wss vvex ncfinprop mpan2 anim2i syl sylibr cpw wex
      cpw1 w3a df-sfin adantr exlimiv biimpri sylan2 3adant2 sylbi adantl rgenw
      ax-gen nncex snex difex spfininduct mp3an1 sylancl ) DEFZDGZHIJZRZFZAKZVL
      FZBKZVNLZMVPVLFZNZBOZAPUAZPVLUBZVIVJHFZVJIQZMZVMVIWCDVJFZMZWEVIDDFWGUCDDU
      DUEWFWDWCVJDSUFUGVJHITUHVTAPVSBVQVRVOVQVPHFZVNHFZCKZUKZVPFZWJUIVNFZMZCUJZ
      ULVRVPVNCUMWHWOVRWIWOWHVPIQZVRWNWPCWLWPWMVPWKSUNUOVRWHWPMVPHITUPUQURUSUTV
      BVAVLDFVMWAWBHVKVCIVDVEABVLDVFVGVH $.
  $}

  $( If the universe is finite, then ` Nc[fin] 1c ` is the base two log of
     ` Nc[fin] _V ` .  Theorem X.1.54 of [Rosser] p. 534.  (Contributed by SF,
     29-Jan-2015.) $)
  1cvsfin $p |- ( _V e. Fin -> _S[fin] ( Nc[fin] 1c , Nc[fin] _V ) ) $=
    ( va cvv cfin wcel c1c cncfin cnnc cv cpw1 cpw wa wex 1cex ncfinprop simpld
    w3a mpan2 vvex simprd eleq1d wsfin wceq pw1eq df1c2 syl6eqr pweq pwv syl6eq
    anbi12d spcev syl2anc 3jca df-sfin sylibr ) BCDZEFZGDZBFZGDZAHZIZUPDZUTJZUR
    DZKZALZPUPURUAUOUQUSVFUOEBDZUQMUOVGKUQEUPDZEBNZOQUOBBDZUSRUOVJKUSBURDZBBNZO
    QUOVHVKVFUOUQVHUOVGUQVHKMVIQSUOUSVKUOVJUSVKKRVLQSVEVHVKKABRUTBUBZVBVHVDVKVM
    VAEUPVMVABIEUTBUCUDUETVMVCBURVMVCBJBUTBUFUGUHTUIUJUKULUPURAUMUN $.

  $( If the universe is finite, then the size of ` 1c ` is in ` Sp[fin] ` .
     Corollary of Theorem X.1.54 of [Rosser] p. 534.  (Contributed by SF,
     29-Jan-2015.) $)
  1cspfin $p |- ( _V e. Fin -> Nc[fin] 1c e. Sp[fin] ) $=
    ( cvv cfin wcel cncfin cspfin wsfin ncvspfin 1cvsfin spfinsfincl sylancr
    c1c ) ABCADZECKDZLFMECGHLMIJ $.

  $( If the universe is finite, then the T-raising of the size of the universe
     is equal to the size of ` 1c ` .  Theorem X.1.55 of [Rosser] p. 534.
     (Contributed by SF, 29-Jan-2015.) $)
  tncveqnc1fin $p |- ( _V e. Fin -> _T[fin] Nc[fin] _V = Nc[fin] 1c ) $=
    ( cvv cfin wcel cncfin ctfin cpw1 c1c wceq vvex ncfintfin mpan2 df1c2 ax-mp
    ncfineq syl6eqr ) ABCZADEZAFZDZGDZPAACQSHIAAJKGRHTSHLGRNMO $.

  $( If the universe is finite, then the T-raising of the size of ` 1c ` is
     smaller than the size itself.  Corollary of theorem X.1.56 of [Rosser]
     p. 534.  (Contributed by SF, 29-Jan-2015.) $)
  t1csfin1c $p |- ( _V e. Fin ->
             _S[fin] ( _T[fin] Nc[fin] 1c , Nc[fin] 1c ) ) $=
    ( cvv cfin wcel c1c cncfin ctfin wsfin 1cvsfin sfintfin syl wb tncveqnc1fin
    wceq sfineq2 mpbid ) ABCZDEZFZAEZFZGZRQGZPQSGUAHQSIJPTQMUAUBKLTQRNJO $.

  ${
    $d N a $.
    $( If the universe is finite, then the T-raising of all non-empty naturals
       are no greater than the size of ` 1c ` .  Theorem X.1.56 of [Rosser]
       p. 534.  (Contributed by SF, 30-Jan-2015.) $)
    vfintle $p |- ( ( _V e. Fin /\ N e. Nn /\ N =/= (/) ) ->
        << _T[fin] N , Nc[fin] 1c >> e. <_[fin] ) $=
      ( va cvv cfin wcel cnnc c0 w3a cncfin copk clefin ctfin wa wceq ncfinprop
      simp2 simpld mpan2 adantr 3ad2ant1 wne c1c cv wex n0 3adant2 simp3 simprd
      nnceleq syl22anc 3expia wi ccompl simpr cun uncompl ncfineq ax-mp vex cin
      complex incompl ncfindi mp3an23 syl5eqr ncfinex lefinaddc sylancr eqeltrd
      cplc ex syld exlimdv syl5bi 3impia wb vvex tfinlefin syl2anc tncveqnc1fin
      opkeq12d opkeq2d eleq1d bitrd mpbid ) CDEZAFEZAGUAZHZACIZJZKEZALZUBIZJZKE
      ZWFWGWHWLWHBUCZAEZBUDWFWGMZWLBAUEWSWRWLBWSWRAWQIZNZWLWFWGWRXAWFWGWRHZWGWT
      FEZWRWQWTEZXAWFWGWRPXBXCXDWFWRXCXDMWGWQAOUFZQWFWGWRUGXBXCXDXEUHWQAWTUIUJU
      KWFXAWLULWGWFXAWLWFXAMZWKWTWTWQUMZIZVJZJZKXFAWTWJXIWFXAUNWFWJXINXAWFWJWQX
      GUOZIZXIXKCNXLWJNWQUPXKCUQURWFWQCEZXLXINZBUSZWFXMMXGCEZWQXGUTGNXNWQXOVAZW
      QVBWQXGCCVCVDRVESWAWFXJKEZXAWFWTCEXHFEZXRWQVFWFXSXGXHEZWFXPXSXTMXQXGCORQW
      TXHCVGVHSVIVKSVLVMVNVOWIWLWMWJLZJZKEZWPWIWGWJFEZWLYCVPWFWGWHPWIYDCWJEZWFW
      GYDYEMZWHWFCCEYFVQCCORTQAWJVRVSWIYBWOKWIYAWNWMWFWGYAWNNWHVTTWBWCWDWE $.
  $}

  $( If the universe is finite, then ` 1c ` is strictly smaller than the
     universe.  Theorem X.1.57 of [Rosser] p. 534.  (Contributed by SF,
     30-Jan-2015.) $)
  vfin1cltv $p |- ( _V e. Fin -> << Nc[fin] 1c , Nc[fin] _V >> e. <[fin] ) $=
    ( cvv wcel c1c cncfin cplc copk cltfin wceq ax-mp 1cex wa c0 mpan2 c0c cnnc
    wn ncfinprop simprd wne wb cfin cun uncompl ncfineq complex incompl ncfindi
    ccompl cin mp3an23 syl5reqr opkeq2d 0nel1c 0ex elcompl mpbir n0i syl5ibrcom
    eleq2 el0c syl6ib mtoi addcid1 eqeq1i simpld peano1 a1i eqnetrd preaddccan2
    ne0i syl syl31anc syl5bbr mtbird clefin wo ncfinex lefinaddc sylancr addcex
    lefinlteq mp3an12 mpbid orcomd ord mpd eqeltrrd ) AUABZCDZWICUHZDZEZFZWIADZ
    FGWHWLWNWIWHWNCWJUBZDZWLWOAHWPWNHCUCWOAUDIWHCABZWPWLHZJWHWQKWJABZCWJUILHWRC
    JUEZCUFCWJAAUGUJMUKULWHWIWLHZPWMGBZWHXANWKHZWHXCWJLHZLWJBZXDPXELCBPUMLCUNUO
    UPWJLUQIWHXCWJNBZXDWHXFXCWJWKBZWHWKOBZXGWHWSXHXGKWTWJAQMZRNWKWJUSURWJUTVAVB
    XAWINEZWLHZWHXCXJWIWLWIVCZVDWHWIOBZNOBZXHXJLSXKXCTWHXMCWIBZWHWQXMXOKJCAQMZV
    EXNWHVFVGWHXHXGXIVEZWHXJWILXJWIHWHXLVGWHXOWILSZWHXMXOXPRWICVJVKZVHWKWINVIVL
    VMVNWHXAXBWHXBXAWHWMVOBZXBXAVPZWHWIABZXHXTCVQZXQWIWKAVRVSWHXRXTYATZXSYBWLAB
    XRYDYCWIWKYCWJVQVTWIWLAAWAWBVKWCWDWEWFWG $.

  ${
    $d N a $.
    $( If the universe is finite, then the size of the universe is not the
       T-raising of a natural.  Theorem X.1.58 of [Rosser] p. 534.
       (Contributed by SF, 29-Jan-2015.) $)
    vfinncvntnn $p |- ( ( _V e. Fin /\ N e. Nn ) ->
                 _T[fin] N =/= Nc[fin] _V ) $=
      ( va cvv wcel cnnc wa ctfin cncfin wi c0 wceq vvex ncfinprop mpan2 cltfin
      wne copk simpld 3ad2ant1 c1c cfin simprd syl necomd tfineq tfinnul syl6eq
      ne0i neeq1d syl5ibr adantrd w3a wn ltfinirr clefin vfintle vfin1cltv cpw1
      cv wrex tfinprop 3adant1 leltfintr syl3anc mp2and opkeq1 eleq1d syl5ibcom
      1cex mtod df-ne sylibr 3expa expcom pm2.61ine ) CUADZAEDZFZAGZCHZPZIAJAJK
      ZVPWAVQVPWAWBJVTPVPVTJVPCVTDZVTJPVPVTEDZWCVPCCDZWDWCFLCCMZNUBVTCUHUCUDWBV
      SJVTWBVSJGJAJUEUFUGUIUJUKVRAJPZWAVPVQWGWAVPVQWGULZVSVTKZUMWAWHWIVTVTQZODZ
      VPVQWKUMZWGVPWDWLVPWEWDLVPWEFWDWCWFRNZVTUNUCSWHVSVTQZODZWIWKWHVSTHZQUODZW
      PVTQODZWOAUPVPVQWRWGUQSWHVSEDZWPEDZWDWQWRFWOIVQWGWSVPVQWGFWSBUSURVSDBAUTA
      BVARVBVPVQWTWGVPTCDZWTVIVPXAFWTTWPDTCMRNSVPVQWDWGWMSVSWPVTVCVDVEWIWNWJOVS
      VTVTVFVGVHVJVSVTVKVLVMVNVO $.
  $}

  ${
    $d a x $.
    $( If the universe is finite, then its size is not a T raising of an
       element of ` Sp[fin] ` .  Corollary of theorem X.1.58 of [Rosser]
       p. 534.  (Contributed by SF, 27-Jan-2015.) $)
    vfinncvntsp $p |- ( _V e. Fin ->
                 -. Nc[fin] _V e. { a | E. x e. Sp[fin] a = _T[fin] x } ) $=
      ( cvv cfin wcel cncfin cv ctfin wceq cspfin wrex cab wa wne cnnc csn cdif
      wn c0 vfinspnn difss syl6ss sselda vfinncvntnn syldan necomd df-ne nrexdv
      sylib ncfinex eqeq1 rexbidv elab sylnibr ) CDEZCFZAGZHZIZAJKZUPBGZURIZAJK
      ZBLEUOUSAJUOUQJEZMZUPURNUSRVEURUPUOVDUQOEURUPNUOJOUQUOJOSPZQOTOVFUAUBUCUQ
      UDUEUFUPURUGUIUHVCUTBUPCUJVAUPIVBUSAJVAUPURUKULUMUN $.
  $}

  ${
    $d n z x a b p g d $.
    $( Lemma for ~ vfinspss .  Establish part of the inductive step.
       (Contributed by SF, 3-Feb-2015.) $)
    vfinspsslem1 $p |- (
      ( ( _V e. Fin /\ _T[fin] n e. Sp[fin] ) /\
        ( n e. Sp[fin] /\ _S[fin] ( z , _T[fin] n ) ) ) ->
      E. x e. Sp[fin] z = _T[fin] x ) $=
      ( vp va vb vd vg cvv wcel cv cspfin wa c1c wceq cnnc wrex syl cpw1 wex c0
      cfin ctfin wsfin cncfin cplc copk clefin simpl cdif vfinspnn difss syl6ss
      wne csn sselda eldifsn simprbi vfintle syl3anc cltfin wn t1csfin1c adantr
      ad2ant2r wi simpr sfinltfin ex syl2an con3d wb tfincl 1cex mpan2 ad2antrr
      ncfinprop simpld lenltfin syl2anc df-sfin simp1bi ad2antll 3imtr4d tfinex
      cpw mpd vex opklefing mp2an sylib df1c2 pw1eq tfinpw1 syl5eqelr syl5ibcom
      ax-mp eleq2 cin cun eladdc wel wss ssun1 sseq2 mpbiri ssv biantrur bitr4i
      sspw1 exbii anbi1i 19.41v excom pw1ex eqeq2d ceqsexv bitri 3bitri biimpac
      eleq1 nnceleq syl22anc pwex simprr simprd weq eleq1d pweq spcev syl3anbrc
      anbi12d sfintfin sfin112 tfin11 simprl eqeltrrd anbi2d syld syl5 sfineq1
      spfinsfincl risset tfineq eqcomd reximi sylbi eqeq1 rexbidv imbi12d com12
      expdimp exlimdv adantld adantrr rexlimdvva syl5bi rexlimdvw ) IUBJZCKZUCZ
      LJZMZUUTLJZBKZUVAUDZMZMZNUEZUCZUVEDKZUFZOZDPQZUVEAKZUCZOZALQZUVHUVEUVJUGU
      HJZUVNUVHUVAUVIUGUHJZUVSUUSUVDUVTUVBUVFUUSUVDMZUUSUUTPJZUUTUAUNZUVTUUSUVD
      UIUUSLPUUTUUSLPUAUOZUJZPUKPUWDULUMUPZUWAUUTUWEJZUWCUUSLUWEUUTUKUPUWGUWBUW
      CUUTPUAUQURRUUTUSUTVEUVHUVIUVAUGVAJZVBZUVJUVEUGVAJZVBZUVTUVSUVHUWJUWHUVCU
      VJUVIUDZUVFUWJUWHVFUVGUUSUWLUVBVCVDUVDUVFVGUWLUVFMUWJUWHUVEUVAUVJUVIVHVIV
      JVKUVHUVAPJZUVIPJZUVTUWIVLUVHUWBUWMUUSUVDUWBUVBUVFUWFVEUUTVMRUVHUWNNUVIJZ
      UUSUWNUWOMZUVBUVGUUSNIJUWPVNNIVQVOVPZVRZUVAUVIVSVTUVHUVEPJZUVJPJZUVSUWKVL
      UVFUWSUVCUVDUVFUWSUWMEKZSZUVEJUXAWFZUVAJMETUVEUVAEWAWBWCZUVHUWNUWTUWRUVIV
      MRUVEUVJVSVTWDWGUVEIJUVJIJUVSUVNVLBWHUVIWEDUVEUVJIIWIWJWKUVHUVMUVRDPUVHUV
      MISZSZUVLJZUVRUVHUXFUVJJUVMUXGUVHUXFNSZUVJNUXEOUXHUXFOWLNUXEWMWQUVHUWPUXH
      UVJJUWQNUVIWNRWOUVJUVLUXFWRWPUXGUXAFKZWSUAOZUXFUXAUXIWTZOZMZFUVKQEUVEQUVH
      UVRUXFUVEUVKEFXAUVHUXMUVREFUVEUVKUVHEBXBZUXMUVRVFFDXBUVHUXNMZUXLUVRUXJUXL
      UXAGKZSZSZOZGTZUXOUVRUXLUXAUXFXCZUXTUXLUYAUXAUXKXCUXAUXIXDUXFUXKUXAXEXFUY
      AHKZUXEXCZUXAUYBSZOZMZHTUYBUXQOZUYEMZGTZHTZUXTHUXAUXEEWHXJUYFUYIHUYFUYGGT
      ZUYEMUYIUYCUYKUYEUYCUXPIXCZUYGMZGTUYKGUYBIHWHXJUYGUYMGUYLUYGUXPXGXHXKXIXL
      UYGUYEGXMXIXKUYJUYHHTZGTUXTUYHHGXNUYNUXSGUYEUXSHUXQUXPGWHZXOZUYGUYDUXRUXA
      UYBUXQWMXPXQXKXRXSWKUXOUXSUVRGUVHUXNUXSUVRUXNUXSMUXRUVEJZUVHUVRUXSUXNUYQU
      XAUXRUVEYAXTUVHUYQUVEUXQUEZUCZOZUVRUVHUYQUYTUVHUYQMUWSUYSPJZUYQUXRUYSJZUY
      TUVHUWSUYQUXDVDUVHVUAUYQUVHUYRPJZVUAUVHVUCUXQUYRJZUUSVUCVUDMZUVBUVGUUSUXQ
      IJVUEUYPUXQIVQVOZVPZVRUYRVMRVDUVHUYQVGUVHVUBUYQUVHVUEVUBVUGUXQUYRWNRVDUXR
      UVEUYSYBYCVIUYTUVHUVRUYTUVHUVRVFUVCUVDUYSUVAUDZMZMZUYSUVPOZALQZVFVUJUYRLJ
      ZVULVUJUXPWFZUEZLJUYRVUOUDZVUMVUJUUTVUOLVUJUWBVUOPJZUVAVUOUCZOZUUTVUOOUUS
      UVDUWBUVBVUHUWFVEUUSVUQUVBVUIUUSVUQVUNVUOJZUUSVUNIJVUQVUTMUXPUYOYDVUNIVQV
      OZVRZVPVUJVUHUYSVURUDZVUSUVCUVDVUHYEVUJVUPVVCUUSVUPUVBVUIUUSVUCVUQUXBUYRJ
      ZUXCVUOJZMZETZVUPUUSVUCVUDVUFVRVVBUUSVUDVUTVVGUUSVUCVUDVUFYFUUSVUQVUTVVAY
      FVVFVUDVUTMEUXPUYOEGYGZVVDVUDVVEVUTVVHUXBUXQUYRUXAUXPWMYHVVHUXCVUNVUOUXAU
      XPYIYHYLYJVTUYRVUOEWAYKVPZUYRVUOYMRVURUYSUVAYNVTUUTVUOYOUTUVCUVDVUHYPYQVV
      IVUOUYRUUBVTVUMUVOUYROZALQVULAUYRLUUCVVJVUKALVVJUVPUYSUVOUYRUUDUUEUUFUUGR
      UYTUVHVUJUVRVULUYTUVGVUIUVCUYTUVFVUHUVDUVEUYSUVAUUAYRYRUYTUVQVUKALUVEUYSU
      VPUUHUUIUUJXFUUKYSYTUULUUMYTUUNUUOUUPUUQYSUURWG $.
  $}

  ${
    $d a t $.  $d a w $.  $d a x $.  $d a z $.  $d t x $.  $d w x $.  $d w z $.
    $d x z $.  $d n w $.  $d n x $.  $d n z $.
    $( If the universe is finite, then ` Sp[fin] ` is a subset of its ` T `
       raisings and the cardinality of the universe.  Theorem X.1.59 of
       [Rosser] p. 534.  (Contributed by SF, 29-Jan-2015.) $)
    vfinspss $p |- ( _V e. Fin ->
              Sp[fin] C_
              ( { a | E. x e. Sp[fin] a = _T[fin] x } u. { Nc[fin] _V } ) ) $=
      ( vw vz vn vt cvv wcel cv wceq cspfin wrex wsfin wa wi bitri cins3k cimak
      csn vex cfin ctfin cab cncfin cun wal wral wss wo weq tfineq vfinspsslem1
      eqeq2d cbvrexv expr anbi2d anbi1d sfineq2 imbi1d imbi12d mpbiri rexlimdva
      eleq1 com12 syl5bi biimpa c1c 1cvsfin tncveqnc1fin eqcomd ncvspfin rspcev
      sfin111 mpan eqeq1 rexbidv biimpd syl5 mpand exp3a adantr jaod imp3a elun
      elab elsnc orbi12i anbi1i 3imtr4g ssun1 sseli syl6 alrimiv ralrimiva cxpk
      syl c0 cssetk cins2k cnnc csik cpw csymdif cpw1 cdif cin cidk ccompl copk
      ccnvk elimak df-rex elpw1 r19.41v bitr4i exbii rexcom4 snex opkeq1 eleq1d
      ceqsexv eqtfinrelk rexbii abbi2i tfinrelkex spfinex pw1ex imakex eqeltrri
      wex unex ssun2 ncfinex snid sselii spfininduct mp3an12 ) GUAHZCIZBIZAIZUB
      ZJZAKLZBUCZGUDZSZUEZHZDIZYSMZNZUUJUUHHZOZDUFZCKUGZKUUHUHZYRUUOCKYRYSKHZNZ
      UUNDUUSUULUUJUUEHZUUMUUSYSUUBJZAKLZYSUUFJZUIZUUKNUUJUUBJZAKLZUULUUTUUSUVD
      UUKUVFUUSUVBUUKUVFOZUVCUVBYSEIZUBZJZEKLUUSUVGUVAUVJAEKAEUJUUBUVIYSUUAUVHU
      KUMUNUUSUVJUVGEKUVJUUSUVHKHZNZUVGUVJUVLUVGOYRUVIKHZNZUVKNZUUJUVIMZUVFOZOU
      VNUVKUVPUVFADEULUOUVJUVLUVOUVGUVQUVJUUSUVNUVKUVJUURUVMYRYSUVIKVCUPUQUVJUU
      KUVPUVFYSUVIUUJURUSUTVAVDVBVEYRUVCUVGOUURYRUVCUUKUVFUVCUUKNUUJUUFMZYRUVFU
      VCUUKUVRYSUUFUUJURVFYRVGUDZUUFMZUVRUVFVHUVTUVRNUVSUUJJZYRUVFUUFUVSUUJVMYR
      UVSUUBJZAKLZUWAUVFOYRUVSUUFUBZJZUWCYRUWDUVSVIVJUUFKHUWEUWCVKUWBUWEAUUFKUU
      AUUFJUUBUWDUVSUUAUUFUKUMVLVNWPUWAUWCUVFUWAUWCUVFUWAUWBUVEAKUVSUUJUUBVOVPV
      QVDWPVRVSVRVTWAWBWCUUIUVDUUKUUIYSUUEHZYSUUGHZUIUVDYSUUEUUGWDUWFUVBUWGUVCU
      UDUVBBYSCTZBCUJUUCUVAAKYTYSUUBVOVPWEYSUUFUWHWFWGPWHUUDUVFBUUJDTBDUJUUCUVE
      AKYTUUJUUBVOVPWEWIUUEUUHUUJUUEUUGWJWKWLWMWNUUHGHUUFUUHHUUPUUQUUEUUGWQSZSZ
      UWIWOWRWSZWRXJQWTGWOWRXAWSZVGXBGWOWRQUWLXCVGXDZXDZXDZRXEXAQUWKXFUWNRQXFUW
      ORXFWSXGQXCUWMRWSXEUWMRQXCUWNRXHUWJGWOXEUEZKXDZRZUUEGUUDBUWRYTUWRHZFIZUUA
      SZJZUWTYTXIZUWPHZNZFYJZAKLZUUDUWSUXDFUWQLZUXGFUWPUWQYTBTZXKUXHUWTUWQHZUXD
      NZFYJZUXGUXDFUWQXLUXLUXEAKLZFYJUXGUXKUXMFUXKUXBAKLZUXDNUXMUXJUXNUXDAUWTKX
      MWHUXBUXDAKXNXOXPUXEAFKXQXOPPUXFUUCAKUXFUXAYTXIZUWPHZUUCUXDUXPFUXAUUAXRUX
      BUXCUXOUWPUWTUXAYTXSXTYAUUAYTATUXIYBPYCPYDUWPUWQYEKYFYGYHYIUUFXRYKUUGUUHU
      UFUUGUUEYLUUFGYMYNYOCDUUHGYPYQWP $.
  $}

  ${
    $d X x y z $.
    $( If the universe is finite, then ` Sp[fin] ` is closed under T-raising.
       Theorem X.1.60 of [Rosser] p. 536.  (Contributed by SF, 30-Jan-2015.) $)
    vfinspclt $p |- ( ( _V e. Fin /\ X e. Sp[fin] ) ->
               _T[fin] X e. Sp[fin] ) $=
      ( vx vy vz cvv wcel cspfin wa cv ctfin c1c wceq tfineq eleq1d elab cssetk
      cxpk cins2k cins3k cimak cfin cab cncfin wi wal wral tncveqnc1fin 1cspfin
      wsfin eqeltrd ncfinex sylibr simprl sfintfin ad2antll spfinsfincl syl2anc
      wss ex vex weq anbi1i 3imtr4g alrimiv ralrimiva c0 csn ccnvk cnnc csymdif
      csik cpw cpw1 cdif cin cidk ccompl cuni1 wrex copk snex elimak eqtfinrelk
      cun opkelcnvk bitri rexbii eluni1 risset 3bitr4i abbi2i tfinrelkex cnvkex
      spfinex imakex uni1ex eqeltrri spfininduct mp3an1 sselda wb elabg adantl
      mpbid ) EUAFZAGFZHABIZJZGFZBUBZFZAJZGFZXEGXJAXEEUCZXJFZCIZXJFZDIZXPUIZHZX
      RXJFZUDZDUEZCGUFZGXJURZXEXNJZGFZXOXEYFKUCGUGUHUJXIYGBXNEUKXGXNLXHYFGXGXNM
      NOULXEYCCGXEXPGFHZYBDYHXPJZGFZXSHZXRJZGFZXTYAYHYKYMYHYKHYJYLYIUIZYMYHYJXS
      UMXSYNYHYJXRXPUNUOYIYLUPUQUSXQYJXSXIYJBXPCUTZBCVAXHYIGXGXPMNOVBXIYMBXRDUT
      BDVAXHYLGXGXRMNOVCVDVEXJEFXOYDYEVFVGZVGZYPQPRZPVHSVIEQPVKRZKVLEQPSYSVJKVM
      ZVMZVMZTVNVKSYRVOUUATSVOUUBTVORVPSVJYTTRVNYTTSVJUUATVQYQEQVNWDZVHZGTZVRZX
      JEXIBUUFXGVGZUUEFZXPXHLZCGVSZXGUUFFXIUUHXPUUGVTUUDFZCGVSUUJCUUDGUUGXGWAZW
      BUUKUUICGUUKUUGXPVTUUCFUUIXPUUGUUCYOUULWEXGXPBUTZYOWCWFWGWFXGUUEUUMWHCXHG
      WIWJWKUUEUUDGUUCWLWMWNWOWPWQCDXJEWRWSUQWTXFXKXMXAXEXIXMBAGXGALXHXLGXGAMNX
      BXCXD $.
  $}

  ${
    $d a x $.
    $( If the universe is finite, then ` Sp[fin] ` is equal to its T raisings
       and the cardinality of the universe.  Theorem X.1.61 of [Rosser]
       p. 536.  (Contributed by SF, 29-Jan-2015.) $)
    vfinspeqtncv $p |- ( _V e. Fin ->
                  Sp[fin] = ( { a | E. x e. Sp[fin] a = _T[fin] x } u.
                  { Nc[fin] _V } ) ) $=
      ( cvv cfin wcel cspfin cv ctfin wceq wrex cab cncfin csn cun vfinspss wss
      wa wi vfinspclt eleq1 biimprd com12 syl rexlimdva abssdv ncvspfin ncfinex
      snss mpbi jctir unss sylib eqssd ) CDEZFBGZAGZHZIZAFJZBKZCLZMZNZABOUNUTFP
      ZVBFPZQVCFPUNVDVEUNUSBFUNURUOFEZAFUNUPFEQUQFEZURVFRUPSURVGVFURVFVGUOUQFTU
      AUBUCUDUEVAFEVEUFVAFCUGUHUIUJUTVBFUKULUM $.
  $}

  ${
    $d a x t $.
    $( If the universe is finite, then the size of ` Sp[fin] ` is equal to the
       successor of its T-raising.  Theorem X.1.62 of [Rosser] p. 536.
       (Contributed by SF, 20-Jan-2015.) $)
    vfinncsp $p |- ( _V e. Fin ->
       Nc[fin] Sp[fin] = ( _T[fin] Nc[fin] Sp[fin] +c 1c ) ) $=
      ( va vx cvv wcel cspfin cncfin wceq wrex csn c1c cin cssetk cins2k cins3k
      vt cxpk cnnc cpw1 cimak wa cfin cv ctfin cab cun vfinspeqtncv ncfineq syl
      cplc c0 vfinncvntsp disjsn sylibr ccnvk csik cpw csymdif cdif cidk ccompl
      wn copk wex elimak df-rex elpw1 anbi1i r19.41v bitr4i exbii rexcom4 bitri
      vex snex opkeq1 eleq1d ceqsexv eqtfinrelk rexbii tfinrelkex spfinex pw1ex
      abbi2i imakex eqeltrri ncfindi mp3an2 mpanl2 mpdan ncfinprop mpan2 simpld
      tfincl simprd wss vfinspnn syl6ss tfinnn syl3anc nnceleq syl22anc ncfinex
      difss ncfinsn addceq12d 3eqtrd ) CUADZEFZAUBZBUBZUCGZBEHZAUDZCFZIZUEZFZXM
      FZXOFZUIZXHUCZJUIXGEXPGXHXQGBAUFEXPUGUHXGXMXOKUJGZXQXTGZXGXNXMDVAYBBAUKXM
      XNULUMXGXMCDZYBYCUJIZIZYEPLMZLUNNQCPLUOMZJUPCPLNYHUQJRZRZRZSURUONYGKYJSNK
      YKSKMUSNUQYISMURYISNUQYJSUTYFCPURUEZERZSZXMCXLAYNXIYNDZOUBZXJIZGZYPXIVBZY
      LDZTZOVCZBEHZXLYOYTOYMHZUUCOYLYMXIAVMZVDUUDYPYMDZYTTZOVCZUUCYTOYMVEUUHUUA
      BEHZOVCUUCUUGUUIOUUGYRBEHZYTTUUIUUFUUJYTBYPEVFVGYRYTBEVHVIVJUUABOEVKVIVLV
      LUUBXKBEUUBYQXIVBZYLDZXKYTUULOYQXJVNYRYSUUKYLYPYQXIVOVPVQXJXIBVMUUEVRVLVS
      VLWCYLYMVTEWAWBWDWEZXGYDTXOCDYBYCXNVNXMXOCCWFWGWHWIXGXRYAXSJXGXRQDZYAQDZX
      MXRDZXMYADZXRYAGXGUUNUUPXGYDUUNUUPTUUMXMCWJWKZWLXGXHQDZUUOXGUUSEXHDZXGECD
      UUSUUTTWAECWJWKZWLZXHWMUHXGUUNUUPUURWNXGUUSEQWOUUTUUQUVBXGEQYEURQWPQYEXCW
      QXGUUSUUTUVAWNBEXHAWRWSXMXRYAWTXAXGXNCDXSJGCXBXNCXDWKXEXF $.
  $}

  $( The universe is infinite.  Theorem X.1.63 of [Rosser] p. 536.
     (Contributed by SF, 20-Jan-2015.) $)
  vinf $p |- -. _V e. Fin $=
    ( cvv cfin wcel cspfin cncfin c0 noel cevenfin coddfin cin cnnc wa vfinncsp
    wne adantr adantl eqnetrrd syl2anc eqeltrd ex cun cdif ncfinprop mpan2 ne0i
    csn spfinex anim2i syl eldifsn sylibr evenoddnnnul syl6eleqr ctfin c1c cplc
    wo wceq eventfin evennnul sucevenodd ancld oddtfin oddnnul sucoddeven ancrd
    jaod elun elin 3imtr4g mpd evenodddisj syl6eleq mto ) ABCZDEZFCVPGVOVPHIJZF
    VOVPHIUAZCZVPVQCZVOVPKFUFUBZVRVOVPKCZVPFNZLZVPWACVOWBDVPCZLZWDVODACWFUGDAUC
    UDWEWCWBVPDUEUHUIVPKFUJUKULUMVOVPHCZVPICZUQWGWHLZVSVTVOWGWIWHVOWGWHVOWGWHVO
    WGLZVPVPUNZUOUPZIVOVPWLURZWGMOZWJWKHCZWLFNZWLICWGWOVOVPUSPWJVPWLFWNWGWCVOVP
    UTPQWKVARSTVBVOWHWGVOWHWGVOWHLZVPWLHVOWMWHMOZWQWKICZWPWLHCWHWSVOVPVCPWQVPWL
    FWRWHWCVOVPVDPQWKVERSTVFVGVPHIVHVPHIVIVJVKVLVMVN $.

  ${
    $d n m x a $.
    $( The empty class is not a natural.  Theorem X.1.65 of [Rosser] p. 536.
       (Contributed by SF, 20-Jan-2015.) $)
    nulnnn $p |- -. (/) e. Nn $=
      ( vx vn vm va c0 cnnc wcel cv wceq wne c0c cab csn ccompl cvv wn neeq1 wa
      ne0i ex wrex c1c cplc complab df-sn compleqi df-ne abbii 3eqtr4ri complex
      snex eqeltri nulel0c ax-mp wel wex n0 cfin vinf cuni elunii ancoms df-fin
      syl6eleqr mtoi eleq1 notbid syl5ibrcom necon2ad compleqb necon3bii complV
      imp sylib neeq2i vex elcompl cun elsuci syl sylan2b adantl exlimdv syl5bi
      wi mpd finds neneqd nrex risset mtbir ) EFGAHZEIZAFUAWMAFWLFGWLEBHZEJZKEJ
      ZCHZEJZWQUBUCZEJZWLEJBCWLWOBLZEMZNZOWNEIZBLZNXDPZBLXCXAXDBUDXBXEBEUEUFWOX
      FBWNEUGUHUIXBEUKUJULWNKEQWNWQEQWNWSEQWNWLEQEKGWPUMKESUNWRDCUOZDUPWQFGZWTD
      WQUQXHXGWTDXHXGWTXHXGRZDHZNZEJZWTXIXKONZJZXLXIXJOJZXNXHXGXOXHXGXJOXHXGPXJ
      OIZOWQGZPXHXQOURGZUSXHXQXRXHXQROFUTZURXQXHOXSGOWQFVAVBVCVDTVEXPXGXQXJOWQV
      FVGVHVIVMXJOXKXMXJOVJVKVNXMEXKVLVOVNXLWLXKGZAUPXIWTAXKUQXIXTWTAXGXTWTWEXH
      XGXTWTXTXGADUOPZWTWLXJAVPZVQXGYARXJWLMVRZWSGWTXJWQWLYBVSWSYCSVTWATWBWCWDW
      FTWCWDWGWHWIAEFWJWK $.
  $}

  $( The successor operation is one-to-one over the finite cardinals.  Theorem
     X.1.66 of [Rosser] p. 537.  (Contributed by SF, 20-Jan-2015.) $)
  peano4 $p |- ( ( M e. Nn /\ N e. Nn /\ ( M +c 1c ) = ( N +c 1c ) ) ->
     M = N ) $=
    ( cnnc wcel c1c cplc wceq w3a wa c0 3simpa simp3 peano2 nulnnn eleq1 mtbiri
    wne necon2ai syl 3ad2ant1 prepeano4 syl12anc ) ACDZBCDZAEFZBEFGZHUCUDIUFUEJ
    QZABGUCUDUFKUCUDUFLUCUDUGUFUCUECDZUGAMUHUEJUEJGUHJCDNUEJCOPRSTABUAUB $.

  $( Successor cancellation law for finite cardinals.  (Contributed by SF,
     3-Feb-2015.) $)
  suc11nnc $p |- ( ( M e. Nn /\ N e. Nn ) ->
    ( ( M +c 1c ) = ( N +c 1c ) <-> M = N ) ) $=
    ( cnnc wcel wa c1c cplc wceq peano4 3expia addceq1 impbid1 ) ACDZBCDZEAFGBF
    GHZABHZMNOPABIJABFKL $.

  $( Cancellation law for natural addition.  (Contributed by SF,
     3-Feb-2015.) $)
  addccan2 $p |- ( ( M e. Nn /\ N e. Nn /\ P e. Nn ) ->
      ( ( M +c N ) = ( M +c P ) <-> N = P ) ) $=
    ( cnnc wcel w3a cplc c0 wne wceq wb wa nncaddccl nulnnn mtbiri necon2ai syl
    eleq1 3adant3 preaddccan2 mpdan ) BDEZCDEZADEZFBCGZHIZUEBAGJCAJKUBUCUFUDUBU
    CLUEDEZUFBCMUGUEHUEHJUGHDENUEHDROPQSABCTUA $.

  $( Cancellation law for natural addition.  (Contributed by SF,
     3-Feb-2015.) $)
  addccan1 $p |- ( ( M e. Nn /\ N e. Nn /\ P e. Nn ) ->
      ( ( M +c P ) = ( N +c P ) <-> M = N ) ) $=
    ( cplc wceq cnnc wcel w3a addccom eqeq12i wb addccan2 3coml syl5bb ) BADZCA
    DZEABDZACDZEZBFGZCFGZAFGZHBCEZOQPRBAICAIJUBTUASUCKCABLMN $.

$(
#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#
                Ordered Pairs, Relationships, and Functions
#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#
$)


$(
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
                 Ordered Pairs
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
$)

  $( Declare the constant symbols for ordered pairs. $)
  $c <. >. Phi Proj1 Proj2 $.

  $( Declare the syntax for an ordered pair. $)
  cop $a class <. A , B >. $.

  $( Declare the syntax for the Phi operation. $)
  cphi $a class Phi A $.

  $( Declare the syntax for the first projection operation. $)
  cproj1 $a class Proj1 A $.

  $( Declare the syntax for the second projection operation. $)
  cproj2 $a class Proj2 A $.

  ${
    $d x y A $.  $d x y B $.

    $( Define the phi operator.  This operation increments all the naturals in
       ` A ` and leaves all its other members the same.  (Contributed by SF,
       3-Feb-2015.) $)
    df-phi $a |- Phi A = { y |
       E. x e. A y = if ( x e. Nn , ( x +c 1c ) , x ) } $.

    $( Define the type-level ordered pair.  Definition from [Rosser] p. 281.
       (Contributed by SF, 3-Feb-2015.) $)
    df-op $a |- <. A , B >. =
       ( { x | E. y e. A x = Phi y } u.
         { x | E. y e. B x = ( Phi y u. { 0c } ) } ) $.

    $( Define the first projection operation.  This operation recovers the
       first element of an ordered pair.  Definition from [Rosser] p. 281.
       (Contributed by SF, 3-Feb-2015.) $)
    df-proj1 $a |- Proj1 A = { x | Phi x e. A } $.

    $( Define the second projection operation.  This operation recovers the
       second element of an ordered pair.  Definition from [Rosser] p. 281.
       (Contributed by SF, 3-Feb-2015.) $)
    df-proj2 $a |- Proj2 A = { x | ( Phi x u. { 0c } ) e. A } $.
  $}

  ${
    $d A x y z $.
    $( Express the phi operator in terms of the Kuratowski set construction
       functions.  (Contributed by SF, 3-Feb-2015.) $)
    dfphi2 $p |- Phi A = ( ( (
       Image_k
      ( ( Ins3_k ~ ( ( Ins3_k _S_k i^i Ins2_k _S_k ) "_k ~P1 ~P1 1c ) \
        ( ( Ins2_k Ins2_k _S_k
          (+)
          ( Ins2_k Ins3_k _S_k u.
            Ins3_k SI_k SI_k _S_k ) )
            "_k ~P1 ~P1 ~P1 ~P1 1c ) )
            "_k ~P1 ~P1 1c ) i^i ( Nn X._k _V ) ) u.
       ( _I_k i^i ( ~ Nn X._k _V ) ) ) "_k A ) $=
      ( vx vy vz cssetk cins3k cins2k cin c1c cpw1 cimak cnnc cidk cv wcel wceq
      cvv wa wo wb cphi ccompl csik cun csymdif cdif cimagek cxpk cplc cif wrex
      copk weq wn iftrue eqeq2d iba simpr con2i biorf syl syl6bb 3bitrd iffalse
      orcom con3i pm2.61i equcom elcompl anbi12i orbi2i bitr4i elun opkelimagek
      vex dfaddc2 eqeq2i opkelxpk mpbiran2 bitri opkelidkg mp2an orbi12i rexbii
      elin eqeq1 rexbidv df-phi elab2 elimak 3bitr4i eqriv ) BAUAZEFZEGZHIJJZKU
      BFWOGWNGEUCUCFUDUEWPJJKUFWPKZUGZLQUHZHZMLUBZQUHZHZUDZAKZBNZCNZLOZXGIUIZXG
      UJZPZCAUKZXGXFULZXDOZCAUKXFWMOXFXEOXKXNCAXKXFXIPZXHRZCBUMZXGXAOZRZSZXNXKX
      PBCUMZXHUNZRZSZXTXHXKYDTXHXKXOXPYDXHXJXIXFXHXIXGUOUPXHXOUQXHXPYCXPSZYDXHY
      CUNXPYETYCXHYAYBURUSYCXPUTVAYCXPVEVBVCYBXKYAYCYDYBXJXGXFXHXIXGVDUPYBYAUQY
      BXPUNYCYDTXPXHXOXHURVFXPYCUTVAVCVGXSYCXPXQYAXRYBCBVHXGLCVOZVIVJVKVLXNXMWT
      OZXMXCOZSXTXMWTXCVMYGXPYHXSYGXMWROZXMWSOZRXPXMWRWSWEYIXOYJXHYIXFWQXGKZPXO
      XGXFWQYFBVOZVNXIYKXFXGIVPVQVLYJXHXFQOZYLXGXFLQYFYLVRVSVJVTYHXMMOZXMXBOZRX
      SXMMXBWEYNXQYOXRXGQOYMYNXQTYFYLXGXFQQWAWBYOXRYMYLXGXFXAQYFYLVRVSVJVTWCVTV
      LWDDNZXJPZCAUKXLDXFWMYLDBUMYQXKCAYPXFXJWFWGCDAWHWICXDAXFYLWJWKWL $.
  $}

  $( Equality law for the Phi operation.  (Contributed by SF, 3-Feb-2015.) $)
  phieq $p |- ( A = B -> Phi A = Phi B ) $=
    ( wceq cssetk cins3k cins2k cin c1c cpw1 cimak ccompl csik cun csymdif cdif
    cnnc cvv cxpk cphi dfphi2 cimagek cidk imakeq2 3eqtr4g ) ABCDEZDFZGHIIZJKEU
    FFUEFDLLEMNUGIIJOUGJUAPQRGUBPKQRGMZAJUHBJASBSABUHUCATBTUD $.

  $( The phi operator preserves sethood.  (Contributed by SF, 3-Feb-2015.) $)
  phiexg $p |- ( A e. V -> Phi A e. _V ) $=
    ( wcel cssetk cins3k cins2k cin c1c cpw1 ccompl csik cun cnnc cvv cxpk cidk
    cimak pw1ex nncex vvex cphi csymdif cdif dfphi2 addcexlem 1cex imakex xpkex
    cimagek imagekex inex idkex complex unex imakexg mpan syl5eqel ) ABCZAUADEZ
    DFZGHIZIZQJEUTFUSFDKKELUBVBIIQUCZVBQZUIZMNOZGZPMJZNOZGZLZAQZNAUDVKNCURVLNCV
    GVJVEVFVDVCVBUEVAHUFRRUGUJMNSTUHUKPVIULVHNMSUMTUHUKUNVKANBUOUPUQ $.

  ${
    phiex.1 $e |- A e. _V $.
    $( The phi operator preserves sethood.  (Contributed by SF, 3-Feb-2015.) $)
    phiex $p |- Phi A e. _V $=
      ( cvv wcel cphi phiexg ax-mp ) ACDAECDBACFG $.
  $}

  ${
    $d x y z t A $.  $d x y z t B $.
    $( Lemma for ~ dfop2 and ~ dfproj22 .  (Contributed by SF, 2-Jan-2015.) $)
    dfop2lem1 $p |- ( << x , y >> e. ~ ( ( Ins2_k _S_k (+) Ins3_k ( ( `'_k
        Image_k ( ( Image_k ( ( Ins3_k ~ ( ( Ins3_k _S_k i^i Ins2_k _S_k )
        "_k ~P1 ~P1 1c ) \
      ( ( Ins2_k Ins2_k _S_k
          (+)
          ( Ins2_k Ins3_k _S_k u.
            Ins3_k SI_k SI_k _S_k ) )
            "_k ~P1 ~P1 ~P1 ~P1 1c ) )
  "_k ~P1 ~P1 1c ) i^i ( Nn X._k _V ) ) u.
     ( _I_k i^i ( ~ Nn X._k _V ) ) ) o._k _S_k ) u. ( { { 0c } } X._k _V ) )
        ) "_k
     ~P1 ~P1 1c ) <-> y = ( Phi x u. { 0c } ) ) $=
      ( vz vt cv copk cssetk cins3k cpw1 cimak cun cvv c0c csn wcel wn wex wceq
      wa 3bitr4i cins2k cin c1c ccompl csik csymdif cdif cimagek cnnc cxpk cidk
      ccnvk ccomk cphi wb wrex opkex elimak elpw121c anbi1i 19.41v bitr4i exbii
      wel df-rex excom snex opkeq1 eleq1d ceqsexv elsymdif vex otkelins2k bitri
      elssetk otkelins3k elun ancom opkelimagek opkelcnvk dfphi2 eqeq2i anbi12i
      opkelcok phiex clel3 opkelxpk mpbiran2 sneqb elsnc orbi12i 3bitri bibi12i
      wo 3bitr4ri notbii elcompl wal dfcleq alex ) AEZBEZFZGUAZGHZXDUBUCIIZJUDH
      XDUAXEUAGUEUEHKUFXFIIJUGXFJUHUILUJUBUKUIUDLUJUBKZUHZULZGUMZMNZNZLUJZKZHZU
      FZXFJZOZPCBVDZCEZXAUNZXKKZOZUOZPZCQZPZXCXQUDOXBYBRZXRYFXRDEZXCFZXPOZDXFUP
      ZYIXTNZNZNZRZYKSZDQZCQZYFDXPXFXCXAXBUQZURYIXFOZYKSZDQYQCQZDQYLYSUUBUUCDUU
      BYPCQZYKSUUCUUAUUDYKCYIUSUTYPYKCVAVBVCYKDXFVEYQCDVFTYRYECYRYOXCFZXPOZUUEX
      DOZUUEXOOZUOZPYEYKUUFDYOYNVGYPYJUUEXPYIYOXCVHVIVJUUEXDXOVKUUIYDUUGXSUUHYC
      UUGYMXBFGOZXSYMXAXBGXTVGZAVLZBVLZVMXTXBCVLZUUMVOZVNUUHYMXAFZXNOUUPXJOZUUP
      XMOZWNZYCYMXAXBXNUUKUULUUMVPUUPXJXMVQUUSXTYAOZXTXKOZWNYCUUQUUTUURUVAUUJXB
      XAFXIOZSZBQXBYARZXSSZBQUUQUUTUVCUVEBUVCUVBUUJSUVEUUJUVBVRUVBUVDUUJXSXCXHO
      XBXGXAJZRUVBUVDXAXBXGUULUUMVSXBXAXHUUMUULVTYAUVFXBXAWAWBTUUOWCVNVCBYMXAXI
      GUUKUULWDBXTYAXAUULWEWFTUURYMXLOZUVAUURUVGXALOUULYMXAXLLUUKUULWGWHYMXKRXT
      MRUVGUVAXTMUUNWIYMXKUUKWJXTMUUNWJWOVBWKXTYAXKVQVBWLWMWPWLVCWLWPXCXQYTWQYH
      YDCWRYGCXBYBWSYDCWTVNT $.

    $( Lemma for ~ dfop2 (Contributed by SF, 2-Jan-2015.) $)
    dfop2lem2 $p |- ( ~ ( ( Ins2_k _S_k (+)
     Ins3_k ( ( `'_k Image_k ( ( Image_k
      ( ( Ins3_k ~ ( ( Ins3_k _S_k i^i Ins2_k _S_k ) "_k ~P1 ~P1 1c ) \
        ( ( Ins2_k Ins2_k _S_k
          (+)
          ( Ins2_k Ins3_k _S_k u.
            Ins3_k SI_k SI_k _S_k ) )
            "_k ~P1 ~P1 ~P1 ~P1 1c ) )
            "_k ~P1 ~P1 1c ) i^i ( Nn X._k _V ) ) u. ( _I_k i^i ( ~ Nn X._k _V
        ) ) ) o._k
              _S_k ) u. ( { { 0c } } X._k _V ) ) ) "_k ~P1 ~P1 1c ) "_k B
        )
     = { x | E. y e. B x = ( Phi y u. { 0c } ) } $=
      ( cv csn cun wrex cssetk cins2k cins3k cin cpw1 cimak ccompl csik csymdif
      cimagek cnnc cvv cxpk cphi c0c wceq c1c cdif cidk ccnvk ccomk wcel elimak
      copk vex dfop2lem1 rexbii bitri abbi2i ) ADZBDZUAUBEZFUCZBCGZAHIZHJZVBKUD
      LLZMNJVBIVCIHOOJFPVDLLMUEVDMQRSTKUFRNSTKFQUGHUHUSESTFJPVDMNZCMZUQVFUIURUQ
      UKVEUIZBCGVABVECUQAULUJVGUTBCBAUMUNUOUP $.

    $( Express the ordered pair via the set construction functors.
       (Contributed by SF, 2-Jan-2015.) $)
    dfop2 $p |- <. A , B >. =
       ( ( Image_k ( ( Image_k
      ( ( Ins3_k ~ ( ( Ins3_k _S_k i^i Ins2_k _S_k ) "_k ~P1 ~P1 1c ) \
        ( ( Ins2_k Ins2_k _S_k
          (+)
          ( Ins2_k Ins3_k _S_k u.
            Ins3_k SI_k SI_k _S_k ) )
            "_k ~P1 ~P1 ~P1 ~P1 1c ) )
            "_k ~P1 ~P1 1c ) i^i ( Nn X._k _V ) ) u. ( _I_k i^i ( ~ Nn X._k _V
        ) ) ) "_k A ) u.
         ( ~ ( ( Ins2_k _S_k (+) Ins3_k ( ( `'_k Image_k ( ( Image_k
      ( ( Ins3_k ~ ( ( Ins3_k _S_k i^i Ins2_k _S_k ) "_k ~P1 ~P1 1c ) \
        ( ( Ins2_k Ins2_k _S_k
          (+)
          ( Ins2_k Ins3_k _S_k u.
            Ins3_k SI_k SI_k _S_k ) )
            "_k ~P1 ~P1 ~P1 ~P1 1c ) )
            "_k ~P1 ~P1 1c ) i^i ( Nn X._k _V ) ) u.
               ( _I_k i^i ( ~ Nn X._k _V ) ) ) o._k _S_k ) u.
               ( { { 0c } } X._k _V ) ) ) "_k ~P1 ~P1 1c ) "_k B ) ) $=
      ( vx vy cv wceq wrex cab csn cun cssetk cins3k cins2k cin cpw1 cimak csik
      ccompl cvv cxpk cop cphi c0c c1c csymdif cdif cnnc cidk ccnvk ccomk df-op
      wcel copk vex elimak dfphi2 eqeq2i opkelimagek bitr4i rexbii bicomi bitri
      cimagek abbi2i dfop2lem2 uneq12i eqtr4i ) ABUACEZDEZUBZFZDAGZCHZVHVJUCIZJ
      FDBGCHZJKLZKMZNUDOOZPRLVQMVPMKQQLJUEVROOPUFVRPVCUGSTNUHUGRSTNJZVCZAPZVQVT
      UIKUJVNISTJLUEVRPRBPZJCDABUKWAVMWBVOVLCWAVHWAULVIVHUMVTULZDAGZVLDVTAVHCUN
      ZUOVLWDVKWCDAVKVHVSVIPZFWCVJWFVHVIUPUQVIVHVSDUNWEURUSUTVAVBVDCDBVEVFVG $.
  $}

  ${
    $d x y A $.
    $( Express the first projection operator via the set construction
       functors.  (Contributed by SF, 2-Jan-2015.) $)
    dfproj12 $p |- Proj1 A =
     ( `'_k Image_k ( ( Image_k
      ( ( Ins3_k ~ ( ( Ins3_k _S_k i^i Ins2_k _S_k ) "_k ~P1 ~P1 1c ) \
        ( ( Ins2_k Ins2_k _S_k
          (+)
          ( Ins2_k Ins3_k _S_k u.
            Ins3_k SI_k SI_k _S_k ) )
            "_k ~P1 ~P1 ~P1 ~P1 1c ) )
            "_k ~P1 ~P1 1c ) i^i ( Nn X._k _V ) ) u. ( _I_k i^i ( ~ Nn X._k _V
        ) ) ) "_k A ) $=
      ( vx vy wcel cssetk cins3k cins2k cin cpw1 cimak ccompl csik cimagek cnnc
      cv cun cvv cxpk wceq wrex cproj1 cphi cab c1c csymdif cdif ccnvk df-proj1
      cidk copk opkelimagek opkelcnvk dfphi2 eqeq2i rexbii risset elimak abbi2i
      vex 3bitr4ri eqtr4i ) AUABOZUBZADZBUCEFZEGZHUDIIZJKFVFGVEGELLFPUEVGIIJUFV
      GJMNQRHUINKQRHPZMZUGZAJZBAUHVDBVKCOZVCSZCATVLVBUJVJDZCATVDVBVKDVMVNCAVBVL
      UJVIDVLVHVBJZSVNVMVBVLVHBUSZCUSZUKVLVBVIVQVPULVCVOVLVBUMUNUTUOCVCAUPCVJAV
      BVPUQUTURVA $.

    $( Express the second projection operator via the set construction
       functors.  (Contributed by SF, 2-Jan-2015.) $)
    dfproj22 $p |- Proj2 A = ( `'_k ~ ( ( Ins2_k _S_k (+)
    Ins3_k ( ( `'_k Image_k ( ( Image_k
      ( ( Ins3_k ~ ( ( Ins3_k _S_k i^i Ins2_k _S_k ) "_k ~P1 ~P1 1c ) \
        ( ( Ins2_k Ins2_k _S_k
          (+)
          ( Ins2_k Ins3_k _S_k u.
            Ins3_k SI_k SI_k _S_k ) )
            "_k ~P1 ~P1 ~P1 ~P1 1c ) )
            "_k ~P1 ~P1 1c ) i^i ( Nn X._k _V ) ) u.
            ( _I_k i^i ( ~ Nn X._k _V ) ) ) o._k
    _S_k ) u. ( { { 0c } } X._k _V ) ) ) "_k ~P1 ~P1 1c ) "_k A ) $=
      ( vx vy cv csn cun wcel cssetk cins2k cins3k cin cpw1 ccompl csik csymdif
      cimak cimagek cnnc cvv cxpk cproj2 cphi c0c cab c1c cdif cidk ccnvk ccomk
      df-proj2 copk wrex opkelcnvk dfop2lem1 bitri rexbii elimak risset 3bitr4i
      wceq vex abbi2i eqtr4i ) AUABDZUBUCEZFZAGZBUDHIZHJZVHKUELLZPMJVHIVIIHNNJF
      OVJLLPUFVJPQRSTKUGRMSTKFQUHHUIVEESTFJOVJPMZUHZAPZBAUJVGBVMCDZVDUKVLGZCAUL
      VNVFUTZCAULVDVMGVGVOVPCAVOVDVNUKVKGVPVNVDVKCVABVAZUMBCUNUOUPCVLAVDVQUQCVF
      AURUSVBVC $.
  $}

  $( Equality theorem for ordered pairs.  (Contributed by SF, 2-Jan-2015.) $)
  opeq1 $p |- ( A = B -> <. A , C >. = <. B , C >. ) $=
    ( cssetk cins3k cins2k cin cpw1 cimak ccompl csik csymdif cimagek cnnc cxpk
    cun cvv csn cop dfop2 wceq c1c cdif cidk ccnvk ccomk imakeq2 uneq1d 3eqtr4g
    c0c ) ABUAZDEZDFZGUBHHZIJEUMFULFDKKEPLUNHHIUCUNIMNQOGUDNJQOGPMZAIZUMUOUEDUF
    UJRRQOPELUNIJCIZPUOBIZUQPACSBCSUKUPURUQABUOUGUHACTBCTUI $.

  $( Equality theorem for ordered pairs.  (Contributed by SF, 2-Jan-2015.) $)
  opeq2 $p |- ( A = B -> <. C , A >. = <. C , B >. ) $=
    ( cssetk cins3k cins2k cin cpw1 cimak ccompl csik csymdif cimagek cnnc cxpk
    cun cvv csn cop dfop2 wceq c1c cdif cidk ccnvk ccomk imakeq2 uneq2d 3eqtr4g
    c0c ) ABUAZDEZDFZGUBHHZIJEUMFULFDKKEPLUNHHIUCUNIMNQOGUDNJQOGPMZCIZUMUOUEDUF
    UJRRQOPELUNIJZAIZPUPUQBIZPCASCBSUKURUSUPABUQUGUHCATCBTUI $.

  $( Equality theorem for ordered pairs.  (Contributed by SF, 2-Jan-2015.) $)
  opeq12 $p |- ( ( A = B /\ C = D ) -> <. A , C >. = <. B , D >. ) $=
    ( wceq cop opeq1 opeq2 sylan9eq ) ABECDEACFBCFBDFABCGCDBHI $.

  ${
    opeq1i.1 $e |- A = B $.
    $( Equality inference for ordered pairs.  (Contributed by SF,
       16-Dec-2006.) $)
    opeq1i $p |- <. A , C >. = <. B , C >. $=
      ( wceq cop opeq1 ax-mp ) ABEACFBCFEDABCGH $.

    $( Equality inference for ordered pairs.  (Contributed by SF,
       16-Dec-2006.) $)
    opeq2i $p |- <. C , A >. = <. C , B >. $=
      ( wceq cop opeq2 ax-mp ) ABECAFCBFEDABCGH $.

    ${
      opeq12i.2 $e |- C = D $.
      $( Equality inference for ordered pairs.  (The proof was shortened by
         Eric Schmidt, 4-Apr-2007.)  (Contributed by SF, 16-Dec-2006.) $)
      opeq12i $p |- <. A , C >. = <. B , D >. $=
        ( cop opeq1i opeq2i eqtri ) ACGBCGBDGABCEHCDBFIJ $.
    $}
  $}

  ${
    opeq1d.1 $e |- ( ph -> A = B ) $.
    $( Equality deduction for ordered pairs.  (Contributed by SF,
       16-Dec-2006.) $)
    opeq1d $p |- ( ph -> <. A , C >. = <. B , C >. ) $=
      ( wceq cop opeq1 syl ) ABCFBDGCDGFEBCDHI $.

    $( Equality deduction for ordered pairs.  (Contributed by SF,
       16-Dec-2006.) $)
    opeq2d $p |- ( ph -> <. C , A >. = <. C , B >. ) $=
      ( wceq cop opeq2 syl ) ABCFDBGDCGFEBCDHI $.

    ${
      opeq12d.2 $e |- ( ph -> C = D ) $.
      $( Equality deduction for ordered pairs.  (The proof was shortened by
         Andrew Salmon, 29-Jun-2011.)  (Contributed by SF, 16-Dec-2006.)
         (Revised by SF, 29-Jun-2011.) $)
      opeq12d $p |- ( ph -> <. A , C >. = <. B , D >. ) $=
        ( cop opeq1d opeq2d eqtrd ) ABDHCDHCEHABCDFIADECGJK $.
    $}
  $}

  $( An ordered pair of two sets is a set.  (Contributed by SF, 2-Jan-2015.) $)
  opexg $p |- ( ( A e. V /\ B e. W ) -> <. A , B >. e. _V ) $=
    ( wcel cssetk cins3k cins2k cin c1c cpw1 ccompl csik cun cnnc cvv cxpk vvex
    cimak xpkex wa cop csymdif cdif cimagek ccnvk ccomk c0c csn dfop2 addcexlem
    cidk 1cex pw1ex imagekex nncex inex idkex complex unex imakexg mpan ssetkex
    imakex ins2kex cnvkex cokex snex ins3kex symdifex unexg syl2an syl5eqel ) A
    CEZBDEZUAABUBFGZFHZIJKZKZSLGVQHVPHFMMGNUCVSKKSUDZVSSZUEZOPQZIZULOLZPQZIZNZU
    EZASZVQWIUFZFUGZUHUIZUIZPQZNZGZUCZVSSZLZBSZNZPABUJVNWJPEZXAPEZXBPEVOWIPEVNX
    CWHWDWGWBWCWAVTVSUKVRJUMUNUNZVDUOOPUPRTUQULWFURWEPOUPUSRTUQUTUOZWIAPCVAVBWT
    PEVOXDWSWRVSVQWQFVCVEWPWLWOWKFWIXFVFVCVGWNPWMVHRTUTVIVJXEVDUSWTBPDVAVBWJXAP
    PVKVLVM $.

  ${
    opex.1 $e |- A e. _V $.
    opex.2 $e |- B e. _V $.
    $( An ordered pair of two sets is a set.  (Contributed by SF,
       5-Jan-2015.) $)
    opex $p |- <. A , B >. e. _V $=
      ( cvv wcel cop opexg mp2an ) AEFBEFABGEFCDABEEHI $.
  $}

  $( Equality theorem for first projection operator.  (Contributed by SF,
     2-Jan-2015.) $)
  proj1eq $p |- ( A = B -> Proj1 A = Proj1 B ) $=
    ( wceq cssetk cins3k cins2k cin c1c cpw1 cimak ccompl csik cun csymdif cnnc
    cimagek cvv cxpk cproj1 dfproj12 cdif cidk ccnvk imakeq2 3eqtr4g ) ABCDEZDF
    ZGHIIZJKEUGFUFFDLLEMNUHIIJUAUHJPOQRGUBOKQRGMPUCZAJUIBJASBSABUIUDATBTUE $.

  $( Equality theorem for second projection operator.  (Contributed by SF,
     2-Jan-2015.) $)
  proj2eq $p |- ( A = B -> Proj2 A = Proj2 B ) $=
    ( cssetk cins2k cins3k cin cpw1 cimak ccompl csik csymdif cimagek cnnc cxpk
    cun cvv ccnvk csn cproj2 dfproj22 wceq c1c cdif cidk ccomk imakeq2 3eqtr4g
    c0c ) ABUACDZCEZUIFUBGGZHIEUIDUJDCJJEOKUKGGHUCUKHLMPNFUDMIPNFOLQCUEUHRRPNOE
    KUKHIQZAHULBHASBSABULUFATBTUG $.

  $( The first projection of a set is a set.  (Contributed by SF,
     2-Jan-2015.) $)
  proj1exg $p |- ( A e. V -> Proj1 A e. _V ) $=
    ( wcel cssetk cins3k cins2k cin c1c cpw1 cimak ccompl csik cun cimagek cnnc
    cvv cxpk cidk pw1ex imagekex cproj1 csymdif ccnvk dfproj12 addcexlem imakex
    cdif 1cex nncex vvex xpkex inex idkex complex unex cnvkex imakexg syl5eqel
    mpan ) ABCZAUADEZDFZGHIZIZJKEVBFVAFDLLEMUBVDIIJUGZVDJZNZOPQZGZROKZPQZGZMZNZ
    UCZAJZPAUDVOPCUTVPPCVNVMVIVLVGVHVFVEVDUEVCHUHSSUFTOPUIUJUKULRVKUMVJPOUIUNUJ
    UKULUOTUPVOAPBUQUSUR $.

  $( The second projection of a set is a set.  (Contributed by SF,
     2-Jan-2015.) $)
  proj2exg $p |- ( A e. V -> Proj2 A e. _V ) $=
    ( wcel cssetk cins2k cins3k cin c1c cpw1 cimak ccompl csik cun csymdif cnnc
    cimagek cvv cxpk vvex xpkex cproj2 cdif cidk ccnvk c0c csn dfproj22 ssetkex
    ccomk ins2kex addcexlem 1cex pw1ex imakex imagekex nncex inex idkex complex
    unex cnvkex cokex snex ins3kex symdifex imakexg mpan syl5eqel ) ABCZAUADEZD
    FZVJGHIZIZJKFVJEVKEDLLFMNVMIIJUBZVMJZPZOQRZGZUCOKZQRZGZMZPZUDZDUIZUEUFZUFZQ
    RZMZFZNZVMJZKZUDZAJZQAUGWNQCVIWOQCWMWLWKVMVJWJDUHUJWIWEWHWDDWCWBVRWAVPVQVOV
    NVMUKVLHULUMUMZUNUOOQUPSTUQUCVTURVSQOUPUSSTUQUTUOVAUHVBWGQWFVCSTUTVDVEWPUNU
    SVAWNAQBVFVGVH $.

  ${
     projex.1 $e |- A e. _V $.

     $( The first projection of a set is a set.  (Contributed by Scott Fenton,
        16-Apr-2021.) $)
     proj1ex $p |- Proj1 A e. _V $=
       ( cvv wcel cproj1 proj1exg ax-mp ) ACDAECDBACFG $.

     $( The second projection of a set is a set.  (Contributed by Scott Fenton,
        16-Apr-2021.) $)
     proj2ex $p |- Proj2 A e. _V $=
       ( cvv wcel cproj2 proj2exg ax-mp ) ACDAECDBACFG $.
  $}


  ${
    $d A x y z $.  $d B x y z $.
    $( Lemma for ~ phi11 .  (Contributed by SF, 3-Feb-2015.) $)
    phi11lem1 $p |- ( Phi A = Phi B -> A C_ B ) $=
      ( vz vy vx cphi wceq cv wcel cnnc wi wa wrex eqeq2d rexbidv elab2 biimpac
      c1c syl5 syl cplc cif iftrue eqcomd weq eleq1 addceq1 id ifbieq12d rspcev
      sylan2 ancoms vex 1cex addcex eqeq1 df-phi sylibr eleq2 wn iffalse peano2
      syl5ibcom expdimp pm2.18d simpl simpr eqtr2d peano4 syl3anc 3adant2 simp2
      w3a eqeltrrd 3expia rexlimdva syl5bi exp3a adantr mpd eleq1a sylbid com12
      con3d impcom adantlr simplr ex pm2.61ian ssrdv ) AFZBFZGZCABCHZAIZWMWNBIZ
      WNJIZWOWMWPKZWQWOLZWNRUAZWKIZWRWSWTDHZJIZXBRUAZXBUBZGZDAMZXAWOWQXGWQWOWTW
      QWTWNUBZGZXGWQXHWTWQWTWNUCUDXFXIDWNADCUEZXEXHWTXJXCWQXDXBWTWNXBWNJUFXBWNR
      UGXJUHUIZNUJUKULEHZXEGZDAMZXGEWTWKWNRCUMZUNUOZXLWTGZXMXFDAXLWTXEUPZODEAUQ
      ZPURWQXAWRKWOWQXAWMWPXAWMLWTWLIZWQWPWMXAXTWKWLWTUSQXTXFDBMZWQWPXMDBMZYAEW
      TWLXPXQXMXFDBXRODEBUQZPWQXFWPDBWQXBBIZXFWPWQYDXFVMXBWNBWQXFXJYDWQXFLZXCWQ
      XDWTGXJYEXCWQXFXCUTZXCXFYFLWTXBGZWQXCYFXFYGYFXEXBWTXCXDXBVAZNQWQWTJIYGXCW
      NVBWTXBJUFVCSVDVEZWQXFVFYEWTXEXDWQXFVGYEXCXEXDGYIXCXDXBUCZTVHXBWNVIVJVKWQ
      YDXFVLVNVOVPVQSVRVSVTWQUTZWOLZWNWKIZWRYLWNXEGZDAMZYMWOYKYOYKWOWNXHGZYOYKX
      HWNWQWTWNVAUDYNYPDWNAXJXEXHWNXKNUJUKULXNYOEWNWKXOECUEZXMYNDAXLWNXEUPZOXSP
      URYKYMWRKWOYKYMWMWPYMWMLWNWLIZYKWPWMYMYSWKWLWNUSQYSYNDBMZYKWPYBYTEWNWLXOY
      QXMYNDBYROYCPYKYNWPDBYKYDLZYNWPUUAYNLXBWNBYKYNXJYDYKYNLZWNXEXBYKYNVGUUBYF
      XEXBGYNYKYFYNXCWQXCYNWQXCYNWNXDGZWQXCXEXDWNYJNXCXDJIUUCWQKXBVBXDJWNWATWBW
      CWDWEYHTVHWFYKYDYNWGVNWHVPVQSVRVSVTWIWCWJ $.
  $}

  $( The phi operator is one-to-one.  Theorem X.2.2 of [Rosser] p. 282.
     (Contributed by SF, 3-Feb-2015.) $)
  phi11 $p |- ( A = B <-> Phi A = Phi B ) $=
    ( wceq cphi phieq phi11lem1 wss eqcoms eqssd impbii ) ABCADZBDZCZABEMABABFB
    AGLKBAFHIJ $.

  ${
    $d A x y $.
    $( Cardinal zero is not a member of a phi operation.  Theorem X.2.3 of
       [Rosser] p. 282.  (Contributed by SF, 3-Feb-2015.) $)
    0cnelphi $p |- -. 0c e. Phi A $=
      ( vy vx c0c cphi wcel cv cnnc c1c cplc cif wceq wrex wn 0cnsuc df-ne mpbi
      wne wa eqeq2d iffalse biimpac peano1 syl6eqelr iftrue eqcom syl6bb biimpd
      ex pm2.18d mpcom mto a1i nrex 0cex eqeq1 rexbidv df-phi elab2 mtbir ) DAE
      ZFDBGZHFZVBIJZVBKZLZBAMZVFBAVFNVBAFVFVDDLZVDDRVHNVBOVDDPQVCVFVHVFVCVFVCNZ
      VCVFVISVBDHVIVFDVBLVIVEVBDVCVDVBUATUBUCUDUIUJVCVFVHVCVFDVDLVHVCVEVDDVCVDV
      BUETDVDUFUGUHUKULUMUNCGZVELZBAMVGCDVAUOVJDLVKVFBAVJDVEUPUQBCAURUSUT $.
  $}

  ${
    $d A z $.  $d B z $.
    $( Lemma for ~ phi011 .  (Contributed by SF, 3-Feb-2015.) $)
    phi011lem1 $p |- ( ( Phi A u. { 0c } ) = ( Phi B u. { 0c } ) ->
      Phi A C_ Phi B ) $=
      ( vz cphi c0c csn wceq cv wcel wn ssun1 sseli eleq2 syl5ib 0cnelphi eleq1
      cun wi mtbiri wo con2i a1i elun df-sn abeq2i orbi2i bitri biimpi ord ee22
      orcomd ssrdv ) ADZEFZQZBDZUNQZGZCUMUPURCHZUMIZUSUQIZUSEGZJZUSUPIZUTUSUOIU
      RVAUMUOUSUMUNKLUOUQUSMNUTVCRURVBUTVBUTEUMIAOUSEUMPSUAUBVAVBVDVAVDVBVAVDVB
      TZVAVDUSUNIZTVEUSUPUNUCVFVBVDVBCUNCEUDUEUFUGUHUKUIUJUL $.
  $}

  $( ` ( Phi A u. { 0c } ) ` is one-to-one.  Theorem X.2.4 of [Rosser] p. 282.
     (Contributed by SF, 3-Feb-2015.) $)
  phi011 $p |- ( A = B <-> ( Phi A u. { 0c } ) = ( Phi B u. { 0c } ) ) $=
    ( wceq cphi c0c csn cun phi11 uneq1 phi011lem1 eqcoms eqssd impbii bitri
    wss ) ABCADZBDZCZPEFZGZQSGZCZABHRUBPQSIUBPQABJQPOUATBAJKLMN $.

  ${
    $d A x y z $.  $d B x y z $.
    $( The first projection operator applied to an ordered pair yields its
       first member.  Theorem X.2.7 of [Rosser] p. 282.  (Contributed by SF,
       3-Feb-2015.) $)
    proj1op $p |- Proj1 <. A , B >. = A $=
      ( vz vy vx cop cproj1 cv cphi wcel c0c cun wceq wrex wo cab eqeq1 rexbidv
      weq elab csn df-op eleq2i phiex phi11 equcom bitr3i syl6bb risset syl6bbr
      elun vex orbi12i 3bitri phieq eleq1d df-proj1 elab2 wn 0cnelphi 0cex snid
      ssun2 sselii eleq2 mpbiri mto a1i nrex biorfi 3bitr4i eqriv ) CABFZGZACHZ
      IZVMJZVOAJZVPDHZIZKUAZLZMZDBNZOZVOVNJVRVQVPEHZVTMZDANZEPZWFWBMZDBNZEPZLZJ
      VPWIJZVPWLJZOWEVMWMVPEDABUBUCVPWIWLUKWNVRWOWDWHVREVPVOCULZUDZWFVPMZWHDCSZ
      DANVRWRWGWSDAWRWGVPVTMZWSWFVPVTQWTCDSWSVOVSUECDUFUGUHRDVOAUIUJTWKWDEVPWQW
      RWJWCDBWFVPWBQRTUMUNWFIZVMJVQEVOVNWPECSXAVPVMWFVOUOUPEVMUQURWDVRWCDBWCUSV
      SBJWCKVPJZVOUTWCXBKWBJWAWBKWAVTVCKVAVBVDVPWBKVEVFVGVHVIVJVKVL $.
  $}

  ${
    $d A x y z $.  $d B x y z $.
    $( The second projection operator applied to an ordered pair yields its
       second member.  Theorem X.2.8 of [Rosser] p. 283.  (Contributed by SF,
       3-Feb-2015.) $)
    proj2op $p |- Proj2 <. A , B >. = B $=
      ( vz vy vx cv cphi c0c cun wcel wceq wrex wo cab rexbidv elab weq 3bitr4i
      eqeq1 bitri cop cproj2 csn df-op eleq2i elun vex phiex snex phi011 equcom
      unex bitr3i rexbii risset orbi12i phieq uneq1d df-proj2 elab2 wn 0cnelphi
      eleq1d ssun2 0cex snid sselii eleq2 mpbii mto a1i nrex biorfi orcom eqriv
      ) CABUAZUBZBCFZGZHUCZIZVPJZWADFZGZKZDALZVRBJZMZVRVQJWGWBWAEFZWDKZDALZENZW
      IWDVTIZKZDBLZENZIZJZWHVPWQWAEDABUDUEWRWAWLJZWAWPJZMWHWAWLWPUFWSWFWTWGWKWF
      EWAVSVTVRCUGZUHHUIULZWIWAKZWJWEDAWIWAWDSOPWAWMKZDBLZDCQZDBLWTWGXDXFDBXDCD
      QXFVRWCUJCDUKUMUNWOXEEWAXBXCWNXDDBWIWAWMSOPDVRBUORUPTTWIGZVTIZVPJWBEVRVQX
      AECQZXHWAVPXIXGVSVTWIVRUQURVCEVPUSUTWGWGWFMWHWFWGWEDAWEVAWCAJWEHWDJZWCVBW
      EHWAJXJVTWAHVTVSVDHVEVFVGWAWDHVHVIVJVKVLVMWGWFVNTRVO $.
  $}

  $( The ordered pair theorem.  Two ordered pairs are equal iff their
     components are equal.  (Contributed by SF, 2-Jan-2015.) $)
  opth $p |- ( <. A , B >. = <. C , D >. <-> ( A = C /\ B = D ) ) $=
    ( cop wceq cproj1 proj1eq proj1op 3eqtr3g cproj2 proj2eq proj2op jca opeq12
    wa impbii ) ABEZCDEZFZACFZBDFZPTUAUBTRGSGACRSHABICDIJTRKSKBDRSLABMCDMJNACBD
    OQ $.

  $( An ordered pair is a set iff its components are sets.  (Contributed by SF,
     2-Jan-2015.) $)
  opexb $p |- ( <. A , B >. e. _V <-> ( A e. _V /\ B e. _V ) ) $=
    ( cop cvv wcel wa cproj1 proj1op proj1exg syl5eqelr cproj2 proj2op proj2exg
    jca opexg impbii ) ABCZDEZADEZBDEZFRSTRAQGDABHQDIJRBQKDABLQDMJNABDDOP $.

  ${
    $d z w A $.  $d z w B $.  $d x z w $.
    nfop.1 $e |- F/_ x A $.
    nfop.2 $e |- F/_ x B $.
    $( Bound-variable hypothesis builder for ordered pairs.  (Contributed by
       SF, 2-Jan-2015.) $)
    nfop $p |- F/_ x <. A , B >. $=
      ( vz vw cop cv cphi wceq wrex cab c0c csn cun df-op nfv nfrex nfab nfcxfr
      nfun ) ABCHFIZGIJZKZGBLZFMZUCUDNOPKZGCLZFMZPFGBCQAUGUJUFAFUEAGBDUEARSTUIA
      FUHAGCEUHARSTUBUA $.
  $}

  ${
    $d x z $.  $d A z $.  $d B z $.  $d ph z $.
    nfopd.1 $e |- ( ph -> F/_ x A ) $.
    nfopd.2 $e |- ( ph -> F/_ x B ) $.
    $( Deduction version of bound-variable hypothesis builder ~ nfop .
       (Contributed by SF, 2-Jan-2015.) $)
    nfopd $p |- ( ph -> F/_ x <. A , B >. ) $=
      ( vz cv wcel wal cab cop wnfc nfaba1 nfop wb wa nfnfc1 wceq abidnf adantr
      nfan adantl opeq12d nfceqdf syl2anc mpbii ) ABGHZCIZBJGKZUHDIZBJGKZLZMZBC
      DLZMZBUJULUIBGNUKBGNOABCMZBDMZUNUPPEFUQURQZBUMUOUQURBBCRBDRUBUSUJCULDUQUJ
      CSURBGCTUAURULDSUQBGDTUCUDUEUFUG $.
  $}

  ${
    $d x y A $.  $d x y B $.  $d x y C $.
    eqvinop.1 $e |- B e. _V $.
    eqvinop.2 $e |- C e. _V $.
    $( A variable introduction law for ordered pairs.  Analog of Lemma 15 of
       [Monk2] p. 109.  (Contributed by NM, 28-May-1995.) $)
    eqvinop $p |- ( A = <. B , C >. <-> E. x E. y ( A = <. x , y >. /\
                  <. x , y >. = <. B , C >. ) ) $=
      ( cv cop wceq wa wex opth ancom bitri anbi2i an13 exbii eqeq2d ceqsexv
      19.42v opeq2 3bitri opeq1 bitr2i ) CAHZBHZIZJZUHDEIZJZKZBLZALUFDJZCUFEIZJ
      ZKZALCUJJZUMUQAUMUNUGEJZUIKZKZBLUNUTBLZKUQULVABULUIUSUNKZKVAUKVCUIUKUNUSK
      VCUFUGDEMUNUSNOPUIUSUNQORUNUTBUAVBUPUNUIUPBEGUSUHUOCUGEUFUBSTPUCRUPURADFU
      NUOUJCUFDEUDSTUE $.
  $}

  ${
    $d x z w A $.  $d y z w A $.  $d z w ph $.
    $( Substitution of class ` A ` for ordered pair ` <. x , y >. ` .
       (Contributed by NM, 27-Dec-1996.)  (Revised by Andrew Salmon,
       25-Jul-2011.) $)
    copsexg $p |- ( A = <. x , y >. ->
                  ( ph <-> E. x E. y ( A = <. x , y >. /\ ph ) ) ) $=
      ( vz vw cv cop wceq wa wex wb wi vex 19.8a weq syl5bi syl5 weu euequ1 syl
      eqvinop ex opth anbi1i 2exbii nfe1 wal anass a1i anim2d eximd biidd drex1
      nfae sylibd exbii 19.40 nfnae dveeq2 nfd 19.9d anim1d syl6 pm2.61i exlimi
      wn equcom eubii mpbi eupick mpan com12 sylan9 sylbi impbid anbi1d 2exbidv
      eqeq1 bibi2d imbi12d mpbiri adantr exlimivv pm2.43i ) DBGZCGZHZIZAWIAJZCK
      BKZLZWIDEGZFGZHZIZWOWHIZJZFKEKWIWLMZEFDWFWGBNCNUBWRWSEFWPWSWQWPWSWQAWQAJZ
      CKZBKZLZMWQAXBWQAXBWTXAXBWTCOXABOUAUCWQEBPZFCPZJZXBAMWMWNWFWGUDZXBXFAJZCK
      ZBKZXFAWTXHBCWQXFAXGUEUFXJXDXEAJZCKZJZBKZXFAXIXNBXMBUGCBPCUHZXIXNMXOXIXMC
      KXNXOXHXMCCBCUOXHXDXKJZXOXMXDXEAUIZXOXKXLXDXKXLMXOXKCOUJUKQULXMXMCBXOXMUM
      UNUPXOVGZXIXMXNXIXPCKZXRXMXHXPCXQUQXSXDCKZXLJXRXMXDXKCURXRXTXDXLXDXRCXRXD
      CCBCUSCBEUTVAVBVCRQXMBOVDVEVFXDXNXLXEAXNXDXLXDBSZXNXDXLMBEPZBSYABETYBXDBB
      EVHVIVJXDXLBVKVLVMXLXEAXECSZXLXEAMCFPZCSYCCFTYDXECCFVHVIVJXEACVKVLVMVNRQV
      OVPWPWIWQWLXCDWOWHVSZWPWKXBAWPWJWTBCWPWIWQAYEVQVRVTWAWBWCWDVOWE $.
  $}

  ${
    $d x y ps $.  $d x y A $.  $d x y B $.
    $( Closed theorem form of ~ copsex2g .  (Contributed by NM,
       17-Feb-2013.) $)
    copsex2t $p |- ( ( A. x A. y ( ( x = A /\ y = B ) -> ( ph <-> ps ) )
      /\ ( A e. V /\ B e. W ) ) ->
                  ( E. x E. y ( <. A , B >. = <. x , y >. /\ ph ) <-> ps ) ) $=
      ( wcel wa cv wceq wb wal wex cop elisset nfe1 nfv nfbi anim12i eeanv nfa1
      wi sylibr nfa2 nfex opeq12 copsexg eqcoms syl adantl sp 19.21bi bitr3d ex
      imp exlimd sylan2 ) EGIZFHIZJZCKZELZDKZFLZJZABMZUDZDNZCNZVGDOZCOZEFPZVCVE
      PZLAJZDOZCOZBMZVBVDCOZVFDOZJVMUTVTVAWACEGQDFHQUAVDVFCDUBUEVKVMVSVKVLVSCVJ
      CUCVRBCVQCRBCSTVKVGVSDVIDCUFVRBDVQDCVPDRUGBDSTVKVGVSVKVGJAVRBVGAVRMZVKVGV
      OVNLWBVCEVEFUHWBVNVOACDVNUIUJUKULVKVGVHVKVIDVJCUMUNUQUOUPURURUQUS $.
  $}

  ${
    $d x y ps $.  $d x y A $.  $d x y B $.
    copsex2g.1 $e |- ( ( x = A /\ y = B ) -> ( ph <-> ps ) ) $.
    $( Implicit substitution inference for ordered pairs.  (Contributed by NM,
       28-May-1995.) $)
    copsex2g $p |- ( ( A e. V /\ B e. W ) ->
                  ( E. x E. y ( <. A , B >. = <. x , y >. /\ ph ) <-> ps ) ) $=
      ( wcel cv wceq wex cop wa wb elisset nfe1 nfv nfbi eeanv nfex copsexg syl
      opeq12 eqcoms bitr3d exlimi sylbir syl2an ) EGJCKZELZCMZDKZFLZDMZEFNZUKUN
      NZLAOZDMZCMZBPZFHJCEGQDFHQUMUPOULUOOZDMZCMVBULUOCDUAVDVBCVABCUTCRBCSTVCVB
      DVABDUTDCUSDRUBBDSTVCAVABVCURUQLAVAPZUKEUNFUEVEUQURACDUQUCUFUDIUGUHUHUIUJ
      $.
  $}

  ${
    $d x y z w A $.  $d x y z w B $.  $d x y z w C $.  $d x y z w D $.
    $d x y z w ps $.  $d x y z w R $.  $d x y z w S $.
    copsex4g.1 $e |- ( ( ( x = A /\ y = B ) /\ ( z = C /\ w = D ) ) ->
                     ( ph <-> ps ) ) $.
    $( An implicit substitution inference for 2 ordered pairs.  (Contributed by
       NM, 5-Aug-1995.) $)
    copsex4g $p |- ( ( ( A e. R /\ B e. S ) /\ ( C e. R /\ D e. S ) ) ->
                      ( E. x E. y E. z E. w ( ( <. A , B >. = <. x , y >. /\
                      <. C , D >. = <. z , w >. ) /\ ph ) <-> ps ) ) $=
      ( cop cv wceq wa wex wcel eqcom opth anbi12i anbi1i 2exbii cgsex4g syl5bb
      bitri id ) GHNZCOZDOZNZPZIJNZEOZFOZNZPZQZAQZFRERZDRCRUJGPUKHPQZUOIPUPJPQZ
      QZAQZFRERZDRCRGKSHLSQIKSJLSQQBVAVFCDUTVEEFUSVDAUMVBURVCUMULUIPVBUIULTUJUK
      GHUAUGURUQUNPVCUNUQTUOUPIJUAUGUBUCUDUDABVDCDEFGHIJKLVDUHMUEUF $.
  $}

  ${
    $d A z t $.  $d B z t $.  $d C t z $.
    $( Express equality to an ordered pair.  (Contributed by SF,
       6-Jan-2015.) $)
    eqop $p |- ( A = <. B , C >. <->
       A. z ( z e. A <->
          ( E. t e. B z = Phi t \/ E. t e. C z = ( Phi t u. { 0c } ) ) ) ) $=
      ( cop wceq cv wcel wb wal cphi wrex c0c csn cun wo cab bitri abid orbi12i
      dfcleq df-op eleq2i elun bibi2i albii ) CDEFZGAHZCIZUIUHIZJZAKUJUIBHLZGBD
      MZUIUMNOPGBEMZQZJZAKACUHUBULUQAUKUPUJUKUIUNARZIZUIUOARZIZQZUPUKUIURUTPZIV
      BUHVCUIABDEUCUDUIURUTUESUSUNVAUOUNATUOATUASUFUGS $.
  $}

  ${
    $d x y z A $.
    $( "At most one" remains true inside ordered pair quantification.
       (Contributed by NM, 28-Aug-2007.) $)
    mosubopt $p |- ( A. y A. z E* x ph ->
                 E* x E. y E. z ( A = <. y , z >. /\ ph ) ) $=
      ( wmo wal cv cop wceq wex wa nfa1 nfe1 nfmo wi nfex sps exlimd wn copsexg
      mobidv biimpcd simpl 2eximi exlimiv con3i exmo ori syl pm2.61d1 ) ABFZDGZ
      CGZECHDHIJZDKZCKZUOALZDKZCKZBFZUNUPVACUMCMUTCBUSCNOUMUPVAPCUMUOVADULDMUTD
      BUSDCURDNQOULUOVAPDUOULVAUOAUTBACDEUAUBUCRSRSUQTUTBKZTVAVBUQUTUQBURUOCDUO
      AUDUEUFUGVBVAUTBUHUIUJUK $.
  $}

  ${
    $d x y z A $.
    mosubop.1 $e |- E* x ph $.
    $( "At most one" remains true inside ordered pair quantification.
       (Contributed by NM, 28-May-1995.) $)
    mosubop $p |- E* x E. y E. z ( A = <. y , z >. /\ ph ) $=
      ( wmo wal cv cop wceq wa wex gen2 mosubopt ax-mp ) ABGZDHCHECIDIJKALDMCMB
      GQCDFNABCDEOP $.
  $}

  ${
    $d A x y $.  $d B x y $.
    $( The phi operation distributes over union.  (Contributed by SF,
       20-Feb-2015.) $)
    phiun $p |- Phi ( A u. B ) = ( Phi A u. Phi B ) $=
      ( vx vy cv cnnc wcel c1c cplc cif wceq cun wrex cab wo rexun abbii df-phi
      cphi uneq12i unab eqtri 3eqtr4i ) CEDEZFGUDHIUDJKZDABLZMZCNUEDAMZUEDBMZOZ
      CNZUFSASZBSZLZUGUJCUEDABPQDCUFRUNUHCNZUICNZLUKULUOUMUPDCARDCBRTUHUICUAUBU
      C $.

    $( The phi operation applied to a set disjoint from the naturals has no
       effect.  (Contributed by SF, 20-Feb-2015.) $)
    phidisjnn $p |- ( ( A i^i Nn ) = (/) -> Phi A = A ) $=
      ( vx vy cnnc cin c0 wceq cv wcel c1c cplc cif wrex wb wal cphi wa syl6bbr
      weq wn wral disj biimpi r19.21bi iffalse syl eqeq2d equcom risset alrimiv
      rexbidva cab df-phi eqeq1i abeq1 bitri sylibr ) ADEFGZBHZCHZDIZUTJKZUTLZG
      ZCAMZUSAIZNZBOZAPZAGZURVGBURVECBSZCAMVFURVDVKCAURUTAIQZVDBCSVKVLVCUTUSVLV
      ATZVCUTGURVMCAURVMCAUACADUBUCUDVAVBUTUEUFUGCBUHRUKCUSAUIRUJVJVEBULZAGVHVI
      VNACBAUMUNVEBAUOUPUQ $.
  $}

  ${
    $d A x y z w $.
    phiall.1 $e |- A e. _V $.

    $( Lemma for ~ phiall .  Any set of numbers without zero is the
       Phi of a set.  (Contributed by Scott Fenton, 14-Apr-2021.) $)
    phialllem1 $p |- ( ( A C_ Nn /\ -. 0c e. A ) -> E. x A = Phi x ) $=
      ( vz vy vw cnnc c0c wcel wa cv c1c wceq wrex cab eqeq2d cssetk cpw1 cimak
      cins3k wss wn cplc crab cphi wex weq wo eleq1 biimpcd con3d adantll ssel2
      impcom adantlr nnc0suc sylib orel1 anidm anbi2d syl5bbr rexbidv syl5ibcom
      sylc eqeq1 eqtr3 rexlimivw impbid1 rexbidva risset rexcom 3bitr4g abbi2dv
      cif df-phi addceq1 rexrab r19.41v syl6bbr rexbiia bitri abbii syl6eqr cin
      iftrue eqtri cvv dfrab2 cins2k ccompl csik cun csymdif cdif cimagek ccnvk
      copk elimak opkelimagek opkelcnvk dfaddc2 eqeq2i 3bitr4i rexbii addcexlem
      vex abbi2i 1cex pw1ex imakex imagekex cnvkex eqeltrri nncex eqeltri phieq
      inex spcev syl ) BGUAZHBIZUBZJZBDKZEKZLUCZMZDBNZEGUDZUEZMZBAKZUEZMZAUFYCB
      YDYLLUCZMZFKZYOMZJZDBNZAGNZFOZYJYCUUAFBYCDFUGZDBNYSAGNZDBNYQBIUUAYCUUCUUD
      DBYCYDBIZJZUUCUUDUUFYPAGNZUUCUUDUUFYDHMZUBZUUHUUGUHZUUGYBUUEUUIXTUUEYBUUI
      UUEUUHYAUUHUUEYAYDHBUIUJUKUNULUUFYDGIZUUJXTUUEUUKYBBGYDUMUOAYDUPUQUUHUUGU
      RVDUUCYPYSAGYPYPYPJUUCYSYPUSUUCYPYRYPYDYQYOVEUTVAVBVCYSUUCAGYDYQYOVFVGVHV
      IDYQBVJYSADGBVKVLVMYJYQYLGIZYOYLVNZMZAYINZFOUUBAFYIVOUUOUUAFUUOYPDBNZUUNJ
      ZAGNUUAYHUUPUUNAEGEAUGZYGYPDBUURYFYOYDYEYLLVPPVBVQUUQYTAGUULUUQUUPYRJYTUU
      LUUNYRUUPUULUUMYOYQUULYOYLWEPUTYPYRDBVRVSVTWAWBWFWCYNYKAYIYIYHEOZGWDWGYHE
      GWHUUSGQTZQWIZWDLRZRZSWJTUVAWIUUTWIQWKWKTWLWMUVCRRSWNZUVCSZWOZWPZBSZUUSWG
      YHEUVHYEUVHIYDYEWQUVGIZDBNYHDUVGBYEEXFZWRUVIYGDBYEYDWQUVFIYDUVEYESZMUVIYG
      YEYDUVEUVJDXFZWSYDYEUVFUVLUVJWTYFUVKYDYELXAXBXCXDWAXGUVGBUVFUVEUVDUVCXEUV
      BLXHXIXIXJXKXLCXJXMXNXQXOYLYIMYMYJBYLYIXPPXRXS $.


    $( Lemma for ~ phiall .  Any set without ` 0c ` is equal to the ` Phi `
       of a set.  (Contributed by Scott Fenton, 8-Apr-2021.) $)
    phialllem2 $p |- ( -. 0c e. A -> E. x A = Phi x ) $=
      ( vy c0c wcel wn cnnc cin cv cphi wceq wex wss inss2 nncex cun eqtri syl
      c0 inss1 sseli con3i phialllem1 sylancr uncom inundif uneq2 syl5eqr phiun
      inex cdif incom disjdif phidisjnn ax-mp uneq1i syl6eqr difex phieq eqeq2d
      vex unex spcev exlimiv ) EBFZGZBHIZDJZKZLZDMZBAJZKZLZAMZVGVHHNEVHFZGVLBHO
      VQVFVHBEBHUAUBUCDVHBHCPUKUDUEVKVPDVKBBHULZVIQZKZLZVPVKBVRVJQZVTVKBVRVHQZW
      BWCVHVRQBVRVHUFBHUGRVHVJVRUHUIVTVRKZVJQWBVRVIUJWDVRVJVRHIZTLWDVRLWEHVRITV
      RHUMHBUNRVRUOUPUQRURVOWAAVSVRVIBHCPUSDVBVCVMVSLVNVTBVMVSUTVAVDSVES $.

    $( Any set is equal to either the ` Phi ` of another set or to a ` Phi `
       with ` 0c ` adjoined.  (Contributed by Scott Fenton, 8-Apr-2021.) $)
    phiall $p |- E. x ( A = Phi x \/ A = ( Phi x u. { 0c } ) ) $=
      ( c0c wcel cv cphi csn cun wo wex wn phialllem2 cin c0 disjsn mpbir eximi
      wceq syl cdif neldifsn snex difex ax-mp wa 0cnelphi eqtr4i biantru unineq
      bitri difsnid eqeq1d syl5bbr exbidv mpbii olc orc pm2.61i ) DBEZBAFZGZSZB
      VBDHZIZSZJZAKZUTVFAKZVHUTBVDUAZVBSZAKZVIDVJELZVLDBUBZAVJBVDCDUCUDMUEUTVKV
      FAVKVJVDIZVESZUTVFVPVPVJVDNZVBVDNZSZUFVKVSVPVQOVRVQOSVMVNVJDPQVROSDVBELVA
      UGVBDPQUHUIVJVBVDUJUKUTVOBVEBDULUMUNUOUPVFVGAVFVCUQRTUTLVCAKVHABCMVCVGAVC
      VFURRTUS $.
  $}

  ${
     $d A x y z $.
     $( Any class is equal to an ordered pair.  (Contributed by Scott Fenton,
        8-Apr-2021.) $)
     opeq $p |- A = <. Proj1 A , Proj2 A >. $=
       ( vx vy vz cv cphi wceq wrex cab cun wex crab wcel wa rexeqi rexab ancom
       eleq1d 3bitri eqtr4i cproj1 cop c0c csn df-op df-proj1 weq phieq pm5.32i
       cproj2 eleq1 bitr4i exbii 19.41v abbii df-rab df-proj2 uneq1d uneq12i wo
       unrab rabid2 vex phiall 19.43 mpbi a1i mprgbir 3eqtrri ) AUAZAUJZUBBEZCE
       ZFZGZCVJHZBIZVLVNUCUDZJZGZCVKHZBIZJVOCKZBALZVTCKZBALZJZABCVJVKUEVQWDWBWF
       VQVLAMZWCNZBIWDVPWIBVPVOCDEZFZAMZDIZHVNAMZVONZCKZWIVOCVJWMDAUFOWLWNVOCDD
       CUGZWKVNAWJVMUHZRPWPVOWHNZCKWCWHNWIWOWSCWOVOWNNWSWNVOQVOWHWNVLVNAUKUIULU
       MVOWHCUNWCWHQSSUOWCBAUPTWBWHWENZBIWFWAWTBWAVTCWKVRJZAMZDIZHVSAMZVTNZCKZW
       TVTCVKXCDAUQOXBXDVTCDWQXAVSAWQWKVNVRWRURRPXFVTWHNZCKWEWHNWTXEXGCXEVTXDNX
       GXDVTQVTWHXDVLVSAUKUIULUMVTWHCUNWEWHQSSUOWEBAUPTUSWGWCWEUTZBALZAWCWEBAVA
       AXIGXHBAXHBAVBXHWHVOVTUTCKXHCVLBVCVDVOVTCVEVFVGVHTVI $.

    $( A class is a set iff it is equal to an ordered pair.  (Contributed by
       Scott Fenton, 19-Apr-2021.) $)
    opeqexb $p |- ( A e. _V <-> E. x E. y A = <. x , y >. ) $=
      ( cproj1 cproj2 cop cvv wcel wa cv wceq wex opexb opeq eleq1i eeanv eqcom
      eqeq1i isset 3bitr4i opth 3bitri 2exbii anbi12i ) CDZCEZFZGHUEGHZUFGHZIZC
      GHCAJZBJZFZKZBLALZUEUFMCUGGCNZOUKUEKZULUFKZIZBLALUQALZURBLZIUOUJUQURABPUN
      USABUNUGUMKUMUGKUSCUGUMUPRUGUMQUKULUEUFUAUBUCUHUTUIVAAUESBUFSUDTT $.

    $( Any set is equal to some ordered pair.  (Contributed by Scott Fenton,
       16-Apr-2021.) $)
    opeqex $p |- ( A e. V -> E. x E. y A = <. x , y >. ) $=
      ( wcel cvv cv cop wceq wex elex opeqexb sylib ) CDECFECAGBGHIBJAJCDKABCLM
      $.

  $}


$(
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
                Ordered-pair class abstractions (class builders)
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
$)

  $( Extend class notation to include ordered-pair class abstraction (class
     builder). $)
  copab $a class { <. x , y >. | ph } $.

  ${
    $d x z $.  $d y z $.  $d z ph $.
    $( Define the class abstraction of a collection of ordered pairs.
       Definition 3.3 of [Monk1] p. 34.  Usually ` x ` and ` y ` are distinct,
       although the definition doesn't strictly require it (see ~ dfid2 for a
       case where they are not distinct).  The brace notation is called "class
       abstraction" by Quine; it is also (more commonly) called a "class
       builder" in the literature.  (Contributed by SF, 12-Jan-2015.) $)
    df-opab $a |- { <. x , y >. | ph } =
                  { z | E. x E. y ( z = <. x , y >. /\ ph ) } $.
  $}

  ${
    $d x z $.  $d y z $.  $d z ph $.  $d z ps $.  $d z ch $.
    opabbid.1 $e |- F/ x ph $.
    opabbid.2 $e |- F/ y ph $.
    opabbid.3 $e |- ( ph -> ( ps <-> ch ) ) $.
    $( Equivalent wff's yield equal ordered-pair class abstractions (deduction
       rule).  (Contributed by NM, 21-Feb-2004.)  (Proof shortened by Andrew
       Salmon, 9-Jul-2011.) $)
    opabbid $p |- ( ph -> { <. x , y >. | ps } = { <. x , y >. | ch } ) $=
      ( vz cv cop wceq wa wex cab copab anbi2d exbid abbidv df-opab 3eqtr4g ) A
      IJDJEJKLZBMZENZDNZIOUBCMZENZDNZIOBDEPCDEPAUEUHIAUDUGDFAUCUFEGABCUBHQRRSBD
      EITCDEITUA $.
  $}

  ${
    $d x ph $.  $d y ph $.
    opabbidv.1 $e |- ( ph -> ( ps <-> ch ) ) $.
    $( Equivalent wff's yield equal ordered-pair class abstractions (deduction
       rule).  (Contributed by NM, 15-May-1995.) $)
    opabbidv $p |- ( ph -> { <. x , y >. | ps } = { <. x , y >. | ch } ) $=
      ( nfv opabbid ) ABCDEADGAEGFH $.
  $}

  ${
    $d x z $.  $d y z $.  $d z ph $.  $d z ps $.
    opabbii.1 $e |- ( ph <-> ps ) $.
    $( Equivalent wff's yield equal class abstractions.  (Contributed by NM,
       15-May-1995.) $)
    opabbii $p |- { <. x , y >. | ph } = { <. x , y >. | ps } $=
      ( vz cv wceq copab eqid wb a1i opabbidv ax-mp ) FGZOHZACDIBCDIHOJPABCDABK
      PELMN $.
  $}

  ${
    $d x z w $.  $d y z w $.  $d ph w $.
    nfopab.1 $e |- F/ z ph $.
    $( Bound-variable hypothesis builder for class abstraction.  (Contributed
       by NM, 1-Sep-1999.)  (Unnecessary distinct variable restrictions were
       removed by Andrew Salmon, 11-Jul-2011.) $)
    nfopab $p |- F/_ z { <. x , y >. | ph } $=
      ( vw copab cv cop wceq wa wex cab df-opab nfv nfan nfex nfab nfcxfr ) DAB
      CGFHBHCHIJZAKZCLZBLZFMABCFNUCDFUBDBUADCTADTDOEPQQRS $.
  $}

  ${
    $d x z $.  $d y z $.  $d z ph $.
    $( The first abstraction variable in an ordered-pair class abstraction
       (class builder) is effectively not free.  (Contributed by NM,
       16-May-1995.)  (Revised by Mario Carneiro, 14-Oct-2016.) $)
    nfopab1 $p |- F/_ x { <. x , y >. | ph } $=
      ( vz copab cv cop wceq wa wex cab df-opab nfe1 nfab nfcxfr ) BABCEDFBFCFG
      HAICJZBJZDKABCDLQBDPBMNO $.

    $( The second abstraction variable in an ordered-pair class abstraction
       (class builder) is effectively not free.  (Contributed by NM,
       16-May-1995.)  (Revised by Mario Carneiro, 14-Oct-2016.) $)
    nfopab2 $p |- F/_ y { <. x , y >. | ph } $=
      ( vz copab cv cop wceq wa wex cab df-opab nfe1 nfex nfab nfcxfr ) CABCEDF
      BFCFGHAIZCJZBJZDKABCDLSCDRCBQCMNOP $.
  $}

  ${
    $d x y z w v $.  $d v ph $.  $d v ps $.
    cbvopab.1 $e |- F/ z ph $.
    cbvopab.2 $e |- F/ w ph $.
    cbvopab.3 $e |- F/ x ps $.
    cbvopab.4 $e |- F/ y ps $.
    cbvopab.5 $e |- ( ( x = z /\ y = w ) -> ( ph <-> ps ) ) $.
    $( Rule used to change bound variables in an ordered-pair class
       abstraction, using implicit substitution.  (Contributed by NM,
       14-Sep-2003.) $)
    cbvopab $p |- { <. x , y >. | ph } = { <. z , w >. | ps } $=
      ( vv cv cop wceq wa wex cab nfv nfan copab weq opeq12 eqeq2d cbvex2 abbii
      anbi12d df-opab 3eqtr4i ) LMZCMZDMZNZOZAPZDQCQZLRUJEMZFMZNZOZBPZFQEQZLRAC
      DUABEFUAUPVBLUOVACDEFUNAEUNESGTUNAFUNFSHTUTBCUTCSITUTBDUTDSJTCEUBDFUBPZUN
      UTABVCUMUSUJUKUQULURUCUDKUGUEUFACDLUHBEFLUHUI $.
  $}

  ${
    $d x y z w $.  $d z w ph $.  $d x y ps $.
    cbvopabv.1 $e |- ( ( x = z /\ y = w ) -> ( ph <-> ps ) ) $.
    $( Rule used to change bound variables in an ordered-pair class
       abstraction, using implicit substitution.  (Contributed by NM,
       15-Oct-1996.) $)
    cbvopabv $p |- { <. x , y >. | ph } = { <. z , w >. | ps } $=
      ( nfv cbvopab ) ABCDEFAEHAFHBCHBDHGI $.
  $}

  ${
    $d v w x y $.  $d v w y z $.  $d v w ph $.  $d v w ps $.
    cbvopab1.1 $e |- F/ z ph $.
    cbvopab1.2 $e |- F/ x ps $.
    cbvopab1.3 $e |- ( x = z -> ( ph <-> ps ) ) $.
    $( Change first bound variable in an ordered-pair class abstraction, using
       explicit substitution.  (Contributed by NM, 6-Oct-2004.)  (Revised by
       Mario Carneiro, 14-Oct-2016.) $)
    cbvopab1 $p |- { <. x , y >. | ph } = { <. z , y >. | ps } $=
      ( vw vv cv cop wceq wa wex cab copab wsb nfv nfan nfs1v nfex opeq1 eqeq2d
      sbequ12 anbi12d exbidv cbvex nfsb sbequ sbie syl6bb bitri df-opab 3eqtr4i
      abbii ) IKZCKZDKZLZMZANZDOZCOZIPUQEKZUSLZMZBNZDOZEOZIPACDQBEDQVDVJIVDUQJK
      ZUSLZMZACJRZNZDOZJOVJVCVPCJVCJSVOCDVMVNCVMCSACJUATUBURVKMZVBVODVQVAVMAVNV
      QUTVLUQURVKUSUCUDACJUEUFUGUHVPVIJEVOEDVMVNEVMESACJEFUITUBVIJSVKVEMZVOVHDV
      RVMVGVNBVRVLVFUQVKVEUSUCUDVRVNACERBAJECUJABCEGHUKULUFUGUHUMUPACDIUNBEDIUN
      UO $.
  $}

  ${
    $d w x y z $.  $d w ph $.  $d w ps $.
    cbvopab2.1 $e |- F/ z ph $.
    cbvopab2.2 $e |- F/ y ps $.
    cbvopab2.3 $e |- ( y = z -> ( ph <-> ps ) ) $.
    $( Change second bound variable in an ordered-pair class abstraction, using
       explicit substitution.  (Contributed by NM, 22-Aug-2013.) $)
    cbvopab2 $p |- { <. x , y >. | ph } = { <. x , z >. | ps } $=
      ( vw cv cop wceq wa wex cab copab nfv nfan opeq2 df-opab anbi12d 3eqtr4i
      eqeq2d cbvex exbii abbii ) IJZCJZDJZKZLZAMZDNZCNZIOUGUHEJZKZLZBMZENZCNZIO
      ACDPBCEPUNUTIUMUSCULURDEUKAEUKEQFRUQBDUQDQGRUIUOLZUKUQABVAUJUPUGUIUOUHSUC
      HUAUDUEUFACDITBCEITUB $.
  $}

  ${
    $d x y z w $.  $d z w ph $.
    $( Change first bound variable in an ordered-pair class abstraction, using
       explicit substitution.  (Contributed by NM, 31-Jul-2003.) $)
    cbvopab1s $p |- { <. x , y >. | ph } = { <. z , y >. | [ z / x ] ph } $=
      ( vw cv cop wceq wa wex cab wsb copab nfv nfs1v nfan opeq1 eqeq2d df-opab
      nfex sbequ12 anbi12d exbidv cbvex abbii 3eqtr4i ) EFZBFZCFZGZHZAIZCJZBJZE
      KUGDFZUIGZHZABDLZIZCJZDJZEKABCMURDCMUNVAEUMUTBDUMDNUSBCUQURBUQBNABDOPTUHU
      OHZULUSCVBUKUQAURVBUJUPUGUHUOUIQRABDUAUBUCUDUEABCESURDCESUF $.
  $}

  ${
    $d x y $.  $d y z $.  $d z ph $.  $d x ps $.
    cbvopab1v.1 $e |- ( x = z -> ( ph <-> ps ) ) $.
    $( Rule used to change the first bound variable in an ordered pair
       abstraction, using implicit substitution.  (Contributed by NM,
       31-Jul-2003.)  (Proof shortened by Eric Schmidt, 4-Apr-2007.) $)
    cbvopab1v $p |- { <. x , y >. | ph } = { <. z , y >. | ps } $=
      ( nfv cbvopab1 ) ABCDEAEGBCGFH $.
  $}

  ${
    $d x y z w $.  $d z w ph $.  $d y w ps $.
    cbvopab2v.1 $e |- ( y = z -> ( ph <-> ps ) ) $.
    $( Rule used to change the second bound variable in an ordered pair
       abstraction, using implicit substitution.  (Contributed by NM,
       2-Sep-1999.) $)
    cbvopab2v $p |- { <. x , y >. | ph } = { <. x , z >. | ps } $=
      ( vw cv cop wceq wex cab copab opeq2 eqeq2d anbi12d cbvexv exbii df-opab
      wa abbii 3eqtr4i ) GHZCHZDHZIZJZATZDKZCKZGLUCUDEHZIZJZBTZEKZCKZGLACDMBCEM
      UJUPGUIUOCUHUNDEUEUKJZUGUMABUQUFULUCUEUKUDNOFPQRUAACDGSBCEGSUB $.
  $}

  ${
    $d w y z A $.  $d w ph $.  $d w x y z $.
    $( Move substitution into a class abstraction.  (Contributed by NM,
       6-Aug-2007.)  (Proof shortened by Mario Carneiro, 17-Nov-2016.) $)
    csbopabg $p |- ( A e. V -> [_ A / x ]_ { <. y , z >. | ph } =
               { <. y , z >. | [. A / x ]. ph } ) $=
      ( vw cv copab csb wsb wceq wsbc csbeq1 dfsbcq2 opabbidv eqeq12d vex nfs1v
      nfopab sbequ12 csbief vtoclg ) BGHZACDIZJZABGKZCDIZLBEUEJZABEMZCDIZLGEFUD
      ELZUFUIUHUKBUDEUENULUGUJCDABGEOPQBUDUEUHGRUGCDBABGSTBHUDLAUGCDABGUAPUBUC
      $.
  $}

  ${
    $d x z $.  $d y z $.  $d ph z $.  $d ps z $.
    $( Union of two ordered pair class abstractions.  (Contributed by NM,
       30-Sep-2002.) $)
    unopab $p |- ( { <. x , y >. | ph } u. { <. x , y >. | ps } ) =
               { <. x , y >. | ( ph \/ ps ) } $=
      ( vz cv cop wceq wa wex cab wo copab unab 19.43 andi exbii bitr2i df-opab
      cun bitr3i abbii eqtri uneq12i 3eqtr4i ) EFCFDFGHZAIZDJZCJZEKZUFBIZDJZCJZ
      EKZTZUFABLZIZDJZCJZEKZACDMZBCDMZTUPCDMUOUIUMLZEKUTUIUMENVCUSEVCUHULLZCJUS
      UHULCOVDURCURUGUKLZDJVDUQVEDUFABPQUGUKDORQUAUBUCVAUJVBUNACDESBCDESUDUPCDE
      SUE $.
  $}

$(
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
                     Binary relations
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
$)

  $( Extend wff notation to include the general binary relation predicate.
     Note that the syntax is simply three class symbols in a row.  Since binary
     relations are the only possible wff expressions consisting of three class
     expressions in a row, the syntax is unambiguous. $)
  wbr $a wff A R B $.

  $( Define a general binary relation.  Note that the syntax is simply three
     class symbols in a row.  Definition 6.18 of [TakeutiZaring] p. 29
     generalized to arbitrary classes.  Class ` R ` normally denotes a relation
     that compares two classes ` A ` and ` B ` .  This definition is
     well-defined, although not very meaningful, when classes ` A ` and/or
     ` B ` are proper classes (i.e. are not sets).  On the other hand, we often
     find uses for this definition when ` R ` is a proper class.  (Contributed
     by NM, 4-Jun-1995.) $)
  df-br $a |- ( A R B <-> <. A , B >. e. R ) $.

  $( Equality theorem for binary relations.  (Contributed by NM,
     4-Jun-1995.) $)
  breq $p |- ( R = S -> ( A R B <-> A S B ) ) $=
    ( wceq cop wcel wbr eleq2 df-br 3bitr4g ) CDEABFZCGLDGABCHABDHCDLIABCJABDJK
    $.

  $( Equality theorem for a binary relation.  (Contributed by NM,
     31-Dec-1993.) $)
  breq1 $p |- ( A = B -> ( A R C <-> B R C ) ) $=
    ( wceq cop wcel wbr opeq1 eleq1d df-br 3bitr4g ) ABEZACFZDGBCFZDGACDHBCDHMN
    ODABCIJACDKBCDKL $.

  $( Equality theorem for a binary relation.  (Contributed by NM,
     31-Dec-1993.) $)
  breq2 $p |- ( A = B -> ( C R A <-> C R B ) ) $=
    ( wceq cop wcel wbr opeq2 eleq1d df-br 3bitr4g ) ABEZCAFZDGCBFZDGCADHCBDHMN
    ODABCIJCADKCBDKL $.

  $( Equality theorem for a binary relation.  (Contributed by NM,
     8-Feb-1996.) $)
  breq12 $p |- ( ( A = B /\ C = D ) -> ( A R C <-> B R D ) ) $=
    ( wceq wbr breq1 breq2 sylan9bb ) ABFACEGBCEGCDFBDEGABCEHCDBEIJ $.

  ${
    breqi.1 $e |- R = S $.
    $( Equality inference for binary relations.  (Contributed by NM,
       19-Feb-2005.) $)
    breqi $p |- ( A R B <-> A S B ) $=
      ( wceq wbr wb breq ax-mp ) CDFABCGABDGHEABCDIJ $.
  $}

  ${
    breq1i.1 $e |- A = B $.
    $( Equality inference for a binary relation.  (Contributed by NM,
       8-Feb-1996.) $)
    breq1i $p |- ( A R C <-> B R C ) $=
      ( wceq wbr wb breq1 ax-mp ) ABFACDGBCDGHEABCDIJ $.

    $( Equality inference for a binary relation.  (Contributed by NM,
       8-Feb-1996.) $)
    breq2i $p |- ( C R A <-> C R B ) $=
      ( wceq wbr wb breq2 ax-mp ) ABFCADGCBDGHEABCDIJ $.

    ${
      breq12i.2 $e |- C = D $.
      $( Equality inference for a binary relation.  (Contributed by NM,
         8-Feb-1996.)  (Revised by Eric Schmidt, 4-Apr-2007.) $)
      breq12i $p |- ( A R C <-> B R D ) $=
        ( wceq wbr wb breq12 mp2an ) ABHCDHACEIBDEIJFGABCDEKL $.
    $}
  $}

  ${
    breq1d.1 $e |- ( ph -> A = B ) $.
    $( Equality deduction for a binary relation.  (Contributed by NM,
       8-Feb-1996.) $)
    breq1d $p |- ( ph -> ( A R C <-> B R C ) ) $=
      ( wceq wbr wb breq1 syl ) ABCGBDEHCDEHIFBCDEJK $.

    $( Equality deduction for a binary relation.  (Contributed by NM,
       29-Oct-2011.) $)
    breqd $p |- ( ph -> ( C A D <-> C B D ) ) $=
      ( wceq wbr wb breq syl ) ABCGDEBHDECHIFDEBCJK $.

    $( Equality deduction for a binary relation.  (Contributed by NM,
       8-Feb-1996.) $)
    breq2d $p |- ( ph -> ( C R A <-> C R B ) ) $=
      ( wceq wbr wb breq2 syl ) ABCGDBEHDCEHIFBCDEJK $.

    ${
      breq12d.2 $e |- ( ph -> C = D ) $.
      $( Equality deduction for a binary relation.  (The proof was shortened by
         Andrew Salmon, 9-Jul-2011.)  (Contributed by NM, 8-Feb-1996.)
         (Revised by set.mm contributors, 9-Jul-2011.) $)
      breq12d $p |- ( ph -> ( A R C <-> B R D ) ) $=
        ( wceq wbr wb breq12 syl2anc ) ABCIDEIBDFJCEFJKGHBCDEFLM $.
    $}

    ${
      breq123d.2 $e |- ( ph -> R = S ) $.
      breq123d.3 $e |- ( ph -> C = D ) $.
      $( Equality deduction for a binary relation.  (Contributed by NM,
         29-Oct-2011.) $)
      breq123d $p |- ( ph -> ( A R C <-> B S D ) ) $=
        ( wbr breq12d breqd bitrd ) ABDFKCEFKCEGKABCDEFHJLAFGCEIMN $.
    $}

    ${
      breqan12i.2 $e |- ( ps -> C = D ) $.
      $( Equality deduction for a binary relation.  (Contributed by NM,
         8-Feb-1996.) $)
      breqan12d $p |- ( ( ph /\ ps ) -> ( A R C <-> B R D ) ) $=
        ( wceq wbr wb breq12 syl2an ) ACDJEFJCEGKDFGKLBHICDEFGMN $.

      $( Equality deduction for a binary relation.  (Contributed by NM,
         8-Feb-1996.) $)
      breqan12rd $p |- ( ( ps /\ ph ) -> ( A R C <-> B R D ) ) $=
        ( wbr wb breqan12d ancoms ) ABCEGJDFGJKABCDEFGHILM $.
    $}
  $}

  $( Two classes are different if they don't have the same relationship to a
     third class.  (Contributed by NM, 3-Jun-2012.) $)
  nbrne1 $p |- ( ( A R B /\ -. A R C ) -> B =/= C ) $=
    ( wbr wn wne wceq breq2 biimpcd necon3bd imp ) ABDEZACDEZFBCGMNBCBCHMNBCADI
    JKL $.

  $( Two classes are different if they don't have the same relationship to a
     third class.  (Contributed by NM, 3-Jun-2012.) $)
  nbrne2 $p |- ( ( A R C /\ -. B R C ) -> A =/= B ) $=
    ( wbr wn wne wceq breq1 biimpcd necon3bd imp ) ACDEZBCDEZFABGMNABABHMNABCDI
    JKL $.

  ${
    eqbrtr.1 $e |- A = B $.
    eqbrtr.2 $e |- B R C $.
    $( Substitution of equal classes into a binary relation.  (Contributed by
       NM, 5-Aug-1993.) $)
    eqbrtri $p |- A R C $=
      ( wbr breq1i mpbir ) ACDGBCDGFABCDEHI $.
  $}

  ${
    eqbrtrd.1 $e |- ( ph -> A = B ) $.
    eqbrtrd.2 $e |- ( ph -> B R C ) $.
    $( Substitution of equal classes into a binary relation.  (Contributed by
       NM, 8-Oct-1999.) $)
    eqbrtrd $p |- ( ph -> A R C ) $=
      ( wbr breq1d mpbird ) ABDEHCDEHGABCDEFIJ $.
  $}

  ${
    eqbrtrr.1 $e |- A = B $.
    eqbrtrr.2 $e |- A R C $.
    $( Substitution of equal classes into a binary relation.  (Contributed by
       NM, 5-Aug-1993.) $)
    eqbrtrri $p |- B R C $=
      ( eqcomi eqbrtri ) BACDABEGFH $.
  $}

  ${
    eqbrtrrd.1 $e |- ( ph -> A = B ) $.
    eqbrtrrd.2 $e |- ( ph -> A R C ) $.
    $( Substitution of equal classes into a binary relation.  (Contributed by
       NM, 24-Oct-1999.) $)
    eqbrtrrd $p |- ( ph -> B R C ) $=
      ( eqcomd eqbrtrd ) ACBDEABCFHGI $.
  $}

  ${
    breqtr.1 $e |- A R B $.
    breqtr.2 $e |- B = C $.
    $( Substitution of equal classes into a binary relation.  (Contributed by
       NM, 5-Aug-1993.) $)
    breqtri $p |- A R C $=
      ( wbr breq2i mpbi ) ABDGACDGEBCADFHI $.
  $}

  ${
    breqtrd.1 $e |- ( ph -> A R B ) $.
    breqtrd.2 $e |- ( ph -> B = C ) $.
    $( Substitution of equal classes into a binary relation.  (Contributed by
       NM, 24-Oct-1999.) $)
    breqtrd $p |- ( ph -> A R C ) $=
      ( wbr breq2d mpbid ) ABCEHBDEHFACDBEGIJ $.
  $}

  ${
    breqtrr.1 $e |- A R B $.
    breqtrr.2 $e |- C = B $.
    $( Substitution of equal classes into a binary relation.  (Contributed by
       NM, 5-Aug-1993.) $)
    breqtrri $p |- A R C $=
      ( eqcomi breqtri ) ABCDECBFGH $.
  $}

  ${
    breqtrrd.1 $e |- ( ph -> A R B ) $.
    breqtrrd.2 $e |- ( ph -> C = B ) $.
    $( Substitution of equal classes into a binary relation.  (Contributed by
       NM, 24-Oct-1999.) $)
    breqtrrd $p |- ( ph -> A R C ) $=
      ( eqcomd breqtrd ) ABCDEFADCGHI $.
  $}

  ${
    3brtr3.1 $e |- A R B $.
    3brtr3.2 $e |- A = C $.
    3brtr3.3 $e |- B = D $.
    $( Substitution of equality into both sides of a binary relation.
       (Contributed by NM, 11-Aug-1999.) $)
    3brtr3i $p |- C R D $=
      ( eqbrtrri breqtri ) CBDEACBEGFIHJ $.
  $}

  ${
    3brtr4.1 $e |- A R B $.
    3brtr4.2 $e |- C = A $.
    3brtr4.3 $e |- D = B $.
    $( Substitution of equality into both sides of a binary relation.
       (Contributed by NM, 11-Aug-1999.) $)
    3brtr4i $p |- C R D $=
      ( eqbrtri breqtrri ) CBDECABEGFIHJ $.
  $}

  ${
    3brtr3d.1 $e |- ( ph -> A R B ) $.
    3brtr3d.2 $e |- ( ph -> A = C ) $.
    3brtr3d.3 $e |- ( ph -> B = D ) $.
    $( Substitution of equality into both sides of a binary relation.
       (Contributed by NM, 18-Oct-1999.) $)
    3brtr3d $p |- ( ph -> C R D ) $=
      ( wbr breq12d mpbid ) ABCFJDEFJGABDCEFHIKL $.
  $}

  ${
    3brtr4d.1 $e |- ( ph -> A R B ) $.
    3brtr4d.2 $e |- ( ph -> C = A ) $.
    3brtr4d.3 $e |- ( ph -> D = B ) $.
    $( Substitution of equality into both sides of a binary relation.
       (Contributed by NM, 21-Feb-2005.) $)
    3brtr4d $p |- ( ph -> C R D ) $=
      ( wbr breq12d mpbird ) ADEFJBCFJGADBECFHIKL $.
  $}

  ${
    3brtr3g.1 $e |- ( ph -> A R B ) $.
    3brtr3g.2 $e |- A = C $.
    3brtr3g.3 $e |- B = D $.
    $( Substitution of equality into both sides of a binary relation.
       (Contributed by NM, 16-Jan-1997.) $)
    3brtr3g $p |- ( ph -> C R D ) $=
      ( wbr breq12i sylib ) ABCFJDEFJGBDCEFHIKL $.
  $}

  ${
    3brtr4g.1 $e |- ( ph -> A R B ) $.
    3brtr4g.2 $e |- C = A $.
    3brtr4g.3 $e |- D = B $.
    $( Substitution of equality into both sides of a binary relation.
       (Contributed by NM, 16-Jan-1997.) $)
    3brtr4g $p |- ( ph -> C R D ) $=
      ( wbr breq12i sylibr ) ABCFJDEFJGDBECFHIKL $.
  $}

  ${
    syl5eqbr.1 $e |- A = B $.
    syl5eqbr.2 $e |- ( ph -> B R C ) $.
    $( B chained equality inference for a binary relation.  (Contributed by NM,
       11-Oct-1999.) $)
    syl5eqbr $p |- ( ph -> A R C ) $=
      ( eqid 3brtr4g ) ACDBDEGFDHI $.
  $}

  ${
    syl5eqbrr.1 $e |- B = A $.
    syl5eqbrr.2 $e |- ( ph -> B R C ) $.
    $( B chained equality inference for a binary relation.  (Contributed by NM,
       17-Sep-2004.) $)
    syl5eqbrr $p |- ( ph -> A R C ) $=
      ( eqid 3brtr3g ) ACDBDEGFDHI $.
  $}

  ${
    syl5breq.1 $e |- A R B $.
    syl5breq.2 $e |- ( ph -> B = C ) $.
    $( B chained equality inference for a binary relation.  (Contributed by NM,
       11-Oct-1999.) $)
    syl5breq $p |- ( ph -> A R C ) $=
      ( wbr a1i breqtrd ) ABCDEBCEHAFIGJ $.
  $}

  ${
    syl5breqr.1 $e |- A R B $.
    syl5breqr.2 $e |- ( ph -> C = B ) $.
    $( B chained equality inference for a binary relation.  (Contributed by NM,
       24-Apr-2005.) $)
    syl5breqr $p |- ( ph -> A R C ) $=
      ( eqcomd syl5breq ) ABCDEFADCGHI $.
  $}

  ${
    syl6eqbr.1 $e |- ( ph -> A = B ) $.
    syl6eqbr.2 $e |- B R C $.
    $( A chained equality inference for a binary relation.  (Contributed by NM,
       12-Oct-1999.) $)
    syl6eqbr $p |- ( ph -> A R C ) $=
      ( wbr breq1d mpbiri ) ABDEHCDEHGABCDEFIJ $.
  $}

  ${
    syl6eqbrr.1 $e |- ( ph -> B = A ) $.
    syl6eqbrr.2 $e |- B R C $.
    $( A chained equality inference for a binary relation.  (Contributed by NM,
       4-Jan-2006.) $)
    syl6eqbrr $p |- ( ph -> A R C ) $=
      ( eqcomd syl6eqbr ) ABCDEACBFHGI $.
  $}

  ${
    syl6breq.1 $e |- ( ph -> A R B ) $.
    syl6breq.2 $e |- B = C $.
    $( A chained equality inference for a binary relation.  (Contributed by NM,
       11-Oct-1999.) $)
    syl6breq $p |- ( ph -> A R C ) $=
      ( eqid 3brtr3g ) ABCBDEFBHGI $.
  $}

  ${
    syl6breqr.1 $e |- ( ph -> A R B ) $.
    syl6breqr.2 $e |- C = B $.
    $( A chained equality inference for a binary relation.  (Contributed by NM,
       24-Apr-2005.) $)
    syl6breqr $p |- ( ph -> A R C ) $=
      ( eqcomi syl6breq ) ABCDEFDCGHI $.
  $}

  ${
    ssbrd.1 $e |- ( ph -> A C_ B ) $.
    $( Deduction from a subclass relationship of binary relations.
       (Contributed by NM, 30-Apr-2004.) $)
    ssbrd $p |- ( ph -> ( C A D -> C B D ) ) $=
      ( cop wcel wbr sseld df-br 3imtr4g ) ADEGZBHMCHDEBIDECIABCMFJDEBKDECKL $.
  $}

  ${
    ssbri.1 $e |- A C_ B $.
    $( Inference from a subclass relationship of binary relations.  (The proof
       was shortened by Andrew Salmon, 9-Jul-2011.)  (Contributed by NM,
       28-Mar-2007.)  (Revised by set.mm contributors, 9-Jul-2011.) $)
    ssbri $p |- ( C A D -> C B D ) $=
      ( wss wbr wi ssid a1i ssbrd ax-mp ) AAFZCDAGCDBGHAIMABCDABFMEJKL $.
  $}

  ${
    nfbrd.2 $e |- ( ph -> F/_ x A ) $.
    nfbrd.3 $e |- ( ph -> F/_ x R ) $.
    nfbrd.4 $e |- ( ph -> F/_ x B ) $.
    $( Deduction version of bound-variable hypothesis builder ~ nfbr .
       (Contributed by NM, 13-Dec-2005.)  (Revised by Mario Carneiro,
       14-Oct-2016.) $)
    nfbrd $p |- ( ph -> F/ x A R B ) $=
      ( wbr cop wcel df-br nfopd nfeld nfxfrd ) CDEICDJZEKABCDELABPEABCDFHMGNO
      $.
  $}

  ${
    nfbr.1 $e |- F/_ x A $.
    nfbr.2 $e |- F/_ x R $.
    nfbr.3 $e |- F/_ x B $.
    $( Bound-variable hypothesis builder for binary relation.  (Contributed by
       NM, 1-Sep-1999.)  (Revised by Mario Carneiro, 14-Oct-2016.) $)
    nfbr $p |- F/ x A R B $=
      ( wbr wnf wtru wnfc a1i nfbrd trud ) BCDHAIJABCDABKJELADKJFLACKJGLMN $.
  $}

  ${
    $d x y $.  $d y z A $.  $d y z R $.
    $( Relationship between a binary relation and a class abstraction.
       (Contributed by Andrew Salmon, 8-Jul-2011.) $)
    brab1 $p |- ( x R A <-> x e. { z | z R A } ) $=
      ( vy cv wbr wsbc cab wcel cvv wb vex breq1 sbcie2g ax-mp df-sbc bitr3i )
      AFZCDGZBFZCDGZBSHZSUBBIJSKJUCTLAMUBEFZCDGTBESKUAUDCDNUDSCDNOPUBBSQR $.
  $}

  ${
    $d y A $.  $d y B $.  $d y C $.  $d y D $.  $d y R $.  $d x y $.
    $( Move substitution in and out of a binary relation.  (Contributed by NM,
       13-Dec-2005.)  (Proof shortened by Andrew Salmon, 9-Jul-2011.) $)
    sbcbrg $p |- ( A e. D -> ( [. A / x ]. B R C <->
           [_ A / x ]_ B [_ A / x ]_ R [_ A / x ]_ C ) ) $=
      ( vy wbr wsb cv csb wsbc dfsbcq2 wceq csbeq1 breq123d nfcsb1v weq csbeq1a
      nfbr sbie vtoclbg ) CDFHZAGIAGJZCKZAUDDKZAUDFKZHZUCABLABCKZABDKZABFKZHGBE
      UCAGBMUDBNUEUIUFUJUGUKAUDBCOAUDBFOAUDBDOPUCUHAGAUEUFUGAUDCQAUDFQAUDDQTAGR
      CUEDUFFUGAUDCSAUDFSAUDDSPUAUB $.
  $}

  ${
    $d x R $.
    $( Move substitution in and out of a binary relation.  (Contributed by NM,
       13-Dec-2005.) $)
    sbcbr12g $p |- ( A e. D ->
                 ( [. A / x ]. B R C <-> [_ A / x ]_ B R [_ A / x ]_ C ) ) $=
      ( wcel wbr wsbc csb sbcbrg csbconstg breqd bitrd ) BEGZCDFHABIABCJZABDJZA
      BFJZHPQFHABCDEFKORFPQABFELMN $.
  $}

  ${
    $d x C $.  $d x R $.
    $( Move substitution in and out of a binary relation.  (Contributed by NM,
       13-Dec-2005.) $)
    sbcbr1g $p |- ( A e. D ->
                  ( [. A / x ]. B R C <-> [_ A / x ]_ B R C ) ) $=
      ( wcel wbr wsbc csb sbcbr12g csbconstg breq2d bitrd ) BEGZCDFHABIABCJZABD
      JZFHPDFHABCDEFKOQDPFABDELMN $.
  $}

  ${
    $d x B $.  $d x R $.
    $( Move substitution in and out of a binary relation.  (Contributed by NM,
       13-Dec-2005.) $)
    sbcbr2g $p |- ( A e. D ->
                  ( [. A / x ]. B R C <-> B R [_ A / x ]_ C ) ) $=
      ( wcel wbr wsbc csb sbcbr12g csbconstg breq1d bitrd ) BEGZCDFHABIABCJZABD
      JZFHCQFHABCDEFKOPCQFABCELMN $.
  $}

  $( Binary relationship implies sethood of both parts.  (Contributed by SF,
     7-Jan-2015.) $)
  brex $p |- ( A R B -> ( A e. _V /\ B e. _V ) ) $=
    ( cop wcel cvv wbr wa elex df-br opexb bicomi 3imtr4i ) ABDZCENFEZABCGAFEBF
    EHZNCIABCJOPABKLM $.

  $( Binary relationship implies sethood of domain.  (Contributed by SF,
     7-Jan-2018.) $)
  brreldmex $p |- ( A R B -> A e. _V ) $=
    ( wbr cvv wcel brex simpld ) ABCDAEFBEFABCGH $.

  $( Binary relationship implies sethood of range.  (Contributed by SF,
     7-Jan-2018.) $)
  brrelrnex $p |- ( A R B -> B e. _V ) $=
    ( wbr cvv wcel brex simprd ) ABCDAEFBEFABCGH $.

  $( The union of two binary relations.  (Contributed by NM, 21-Dec-2008.) $)
  brun $p |- ( A ( R u. S ) B <-> ( A R B \/ A S B ) ) $=
    ( cop cun wcel wo wbr elun df-br orbi12i 3bitr4i ) ABEZCDFZGNCGZNDGZHABOIAB
    CIZABDIZHNCDJABOKRPSQABCKABDKLM $.

  $( The intersection of two relations.  (Contributed by FL, 7-Oct-2008.) $)
  brin $p |- ( A ( R i^i S ) B <-> ( A R B /\ A S B ) ) $=
    ( cop cin wcel wa wbr elin df-br anbi12i 3bitr4i ) ABEZCDFZGNCGZNDGZHABOIAB
    CIZABDIZHNCDJABOKRPSQABCKABDKLM $.

  $( The difference of two binary relations.  (Contributed by Scott Fenton,
     11-Apr-2011.) $)
  brdif $p |- ( A ( R \ S ) B <-> ( A R B /\ -. A S B ) ) $=
    ( cop cdif wcel wn wa wbr eldif df-br notbii anbi12i 3bitr4i ) ABEZCDFZGPCG
    ZPDGZHZIABQJABCJZABDJZHZIPCDKABQLUARUCTABCLUBSABDLMNO $.


$(
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
                Ordered-pair class abstractions (cont.)
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
$)

  ${
    $d x z $.  $d y z $.  $d ph z $.
    $( The law of concretion.  Special case of Theorem 9.5 of [Quine] p. 61.
       (The proof was shortened by Andrew Salmon, 25-Jul-2011.)  (Contributed
       by NM, 14-Apr-1995.)  (Revised by set.mm contributors, 25-Jul-2011.) $)
    opabid $p |- ( <. x , y >. e. { <. x , y >. | ph } <-> ph ) $=
      ( vz cv cop wceq wa wex copab vex opex copsexg bicomd df-opab elab2 ) DEZ
      BEZCEZFZGZAHCIBIZADTABCJRSBKCKLUAAUBABCQMNABCDOP $.
  $}

  ${
    $d x z A $.  $d y z A $.  $d z ph $.
    $( Membership in a class abstraction of pairs.  (Contributed by NM,
       24-Mar-1998.) $)
    elopab $p |- ( A e. { <. x , y >. | ph } <->
                 E. x E. y ( A = <. x , y >. /\ ph ) ) $=
      ( vz copab wcel cvv cv cop wceq wex elex vex eleq1 mpbiri adantr exlimivv
      wa opex eqeq1 anbi1d 2exbidv df-opab elab2g pm5.21nii ) DABCFZGDHGZDBIZCI
      ZJZKZASZCLBLZDUGMUMUHBCULUHAULUHUKHGUIUJBNCNTDUKHOPQREIZUKKZASZCLBLUNEDUG
      HUODKZUQUMBCURUPULAUODUKUAUBUCABCEUDUEUF $.
  $}

  ${
    $d x y z w $.  $d w z A $.  $d w x B $.  $d w z ph $.
    $( The law of concretion in terms of substitutions.  (Contributed by NM,
       30-Sep-2002.)  (Revised by Mario Carneiro, 18-Nov-2016.) $)
    opelopabsb $p |- ( <. A , B >. e. { <. x , y >. | ph }
                 <-> [. A / x ]. [. B / y ]. ph ) $=
      ( vz vw cop wcel cvv wsbc sbcex cv wsb wceq opeq1 eleq1d dfsbcq2 bibi12d
      wb copab wbr df-br brex sylbir wex spesbc exlimiv syl jca sbcbidv nfopab1
      opeq2 nfel2 nfs1v nfbi weq sbequ12 nfopab2 opabid chvar vtocl2g pm5.21nii
      wa ) DEHZABCUAZIZDJIZEJIZVDZACEKZBDKZVGDEVFUBVJDEVFUCDEVFUDUEVLVHVIVKBDLV
      LVKBUFVIVKBDUGVKVIBACELUHUIUJFMZGMZHZVFIZACGNZBFNZTZDVNHZVFIZVQBDKZTVGVLT
      FGDEJJVMDOZVPWAVRWBWCVOVTVFVMDVNPQVQBFDRSVNEOZWAVGWBVLWDVTVEVFVNEDUMQWDVQ
      VKBDACGERUKSBMZVNHZVFIZVQTZVSBFVPVRBBVOVFABCULUNVQBFUOUPBFUQZWGVPVQVRWIWF
      VOVFWEVMVNPQVQBFURSWECMZHZVFIZATWHCGWGVQCCWFVFABCUSUNACGUOUPCGUQZWLWGAVQW
      MWKWFVFWJVNWEUMQACGURSABCUTVAVAVBVC $.

    brabsb.1 $e |- R = { <. x , y >. | ph } $.
    $( The law of concretion in terms of substitutions.  (Contributed by NM,
       17-Mar-2008.) $)
    brabsb $p |- ( A R B <-> [. A / x ]. [. B / y ]. ph ) $=
      ( wbr cop wcel copab wsbc df-br eleq2i opelopabsb 3bitri ) DEFHDEIZFJQABC
      KZJACELBDLDEFMFRQGNABCDEOP $.
  $}

  ${
    $d x y A $.  $d x y B $.  $d x y ch $.
    $( Closed theorem form of ~ opelopab .  (Contributed by NM,
       19-Feb-2013.) $)
    opelopabt $p |- ( ( A. x A. y ( x = A -> ( ph <-> ps ) )
                     /\ A. x A. y ( y = B -> ( ps <-> ch ) )
                     /\ ( A e. V /\ B e. W ) ) ->
                    ( <. A , B >. e. { <. x , y >. | ph } <-> ch ) ) $=
      ( cop copab wcel cv wceq wa wex wb wi wal w3a elopab prth 2alimi copsex2t
      19.26-2 bitr syl6 sylbir sylan 3impa syl5bb ) FGJZADEKLULDMZEMZJNAOEPDPZU
      MFNZABQZRZESDSZUNGNZBCQZRZESDSZFHLGILOZTCADEULUAUSVCVDUOCQZUSVCOZUPUTOZAC
      QZRZESDSZVDVEVFURVBOZESDSVJURVBDEUEVKVIDEVKVGUQVAOVHUPUQUTVAUBABCUFUGUCUH
      ACDEFGHIUDUIUJUK $.
  $}

  ${
    $d x y A $.  $d x y B $.  $d x y ps $.
    opelopabga.1 $e |- ( ( x = A /\ y = B ) -> ( ph <-> ps ) ) $.
    $( The law of concretion.  Theorem 9.5 of [Quine] p. 61.  (Contributed by
       Mario Carneiro, 19-Dec-2013.) $)
    opelopabga $p |- ( ( A e. V /\ B e. W ) ->
                    ( <. A , B >. e. { <. x , y >. | ph } <-> ps ) ) $=
      ( cop copab wcel cv wceq wa wex elopab copsex2g syl5bb ) EFJZACDKLTCMDMJN
      AODPCPEGLFHLOBACDTQABCDEFGHIRS $.

    ${
      brabga.2 $e |- R = { <. x , y >. | ph } $.
      $( The law of concretion for a binary relation.  (Contributed by Mario
         Carneiro, 19-Dec-2013.) $)
      brabga $p |- ( ( A e. V /\ B e. W ) -> ( A R B <-> ps ) ) $=
        ( wbr cop copab wcel wa df-br eleq2i bitri opelopabga syl5bb ) EFGLZEFM
        ZACDNZOZEHOFIOPBUBUCGOUEEFGQGUDUCKRSABCDEFHIJTUA $.
    $}

    $d x y C $.  $d x y D $.
    $( Ordered pair membership in an ordered pair class abstraction.
       (Contributed by Mario Carneiro, 19-Dec-2013.) $)
    opelopab2a $p |- ( ( A e. C /\ B e. D ) -> ( <. A , B >. e.
                 { <. x , y >. | ( ( x e. C /\ y e. D ) /\ ph ) } <-> ps ) ) $=
      ( wcel wa cop cv copab wceq eleq1 bi2anan9 anbi12d opelopabga bianabs ) E
      GJZFHJZKZEFLCMZGJZDMZHJZKZAKZCDNJBUIUCBKCDEFGHUDEOZUFFOZKUHUCABUJUEUAUKUG
      UBUDEGPUFFHPQIRST $.
  $}

  ${
    $d x y A $.  $d x y B $.  $d x y ps $.
    opelopaba.1 $e |- A e. _V $.
    opelopaba.2 $e |- B e. _V $.
    opelopaba.3 $e |- ( ( x = A /\ y = B ) -> ( ph <-> ps ) ) $.
    $( The law of concretion.  Theorem 9.5 of [Quine] p. 61.  (Contributed by
       Mario Carneiro, 19-Dec-2013.) $)
    opelopaba $p |- ( <. A , B >. e. { <. x , y >. | ph } <-> ps ) $=
      ( cvv wcel cop copab wb opelopabga mp2an ) EJKFJKEFLACDMKBNGHABCDEFJJIOP
      $.

    ${
      braba.4 $e |- R = { <. x , y >. | ph } $.
      $( The law of concretion for a binary relation.  (Contributed by NM,
         19-Dec-2013.) $)
      braba $p |- ( A R B <-> ps ) $=
        ( cvv wcel wbr wb brabga mp2an ) ELMFLMEFGNBOHIABCDEFGLLJKPQ $.
    $}
  $}

  ${
    $d x y A $.  $d x y B $.  $d x y ch $.
    opelopabg.1 $e |- ( x = A -> ( ph <-> ps ) ) $.
    opelopabg.2 $e |- ( y = B -> ( ps <-> ch ) ) $.
    $( The law of concretion.  Theorem 9.5 of [Quine] p. 61.  (Contributed by
       NM, 28-May-1995.)  (Revised by set.mm contributors, 19-Dec-2013.) $)
    opelopabg $p |- ( ( A e. V /\ B e. W ) ->
                    ( <. A , B >. e. { <. x , y >. | ph } <-> ch ) ) $=
      ( cv wceq sylan9bb opelopabga ) ACDEFGHIDLFMABELGMCJKNO $.

    ${
      brabg.5 $e |- R = { <. x , y >. | ph } $.
      $( The law of concretion for a binary relation.  (Contributed by NM,
         16-Aug-1999.)  (Revised by set.mm contributors, 19-Dec-2013.) $)
      brabg $p |- ( ( A e. C /\ B e. D ) -> ( A R B <-> ch ) ) $=
        ( cv wceq sylan9bb brabga ) ACDEFGJHIDNFOABENGOCKLPMQ $.
    $}
  $}

  ${
    $d x y A $.  $d x y B $.  $d x y C $.  $d x y D $.  $d x y ch $.
    opelopab2.1 $e |- ( x = A -> ( ph <-> ps ) ) $.
    opelopab2.2 $e |- ( y = B -> ( ps <-> ch ) ) $.
    $( Ordered pair membership in an ordered pair class abstraction.
       (Contributed by NM, 14-Oct-2007.)  (Revised by set.mm contributors,
       19-Dec-2013.) $)
    opelopab2 $p |- ( ( A e. C /\ B e. D ) -> ( <. A , B >. e.
                 { <. x , y >. | ( ( x e. C /\ y e. D ) /\ ph ) } <-> ch ) ) $=
      ( cv wceq sylan9bb opelopab2a ) ACDEFGHIDLFMABELGMCJKNO $.
  $}

  ${
    $d x y A $.  $d x y B $.  $d x y ch $.
    opelopab.1 $e |- A e. _V $.
    opelopab.2 $e |- B e. _V $.
    opelopab.3 $e |- ( x = A -> ( ph <-> ps ) ) $.
    opelopab.4 $e |- ( y = B -> ( ps <-> ch ) ) $.
    $( The law of concretion.  Theorem 9.5 of [Quine] p. 61.  (Contributed by
       NM, 16-May-1995.) $)
    opelopab $p |- ( <. A , B >. e. { <. x , y >. | ph } <-> ch ) $=
      ( cvv wcel cop copab wb opelopabg mp2an ) FLMGLMFGNADEOMCPHIABCDEFGLLJKQR
      $.

    ${
      brab.5 $e |- R = { <. x , y >. | ph } $.
      $( The law of concretion for a binary relation.  (Contributed by NM,
         16-Aug-1999.) $)
      brab $p |- ( A R B <-> ch ) $=
        ( cvv wcel wbr wb brabg mp2an ) FNOGNOFGHPCQIJABCDEFGNNHKLMRS $.
    $}
  $}

  ${
    $d x y A $.  $d x y B $.
    opelopabaf.x $e |- F/ x ps $.
    opelopabaf.y $e |- F/ y ps $.
    opelopabaf.1 $e |- A e. _V $.
    opelopabaf.2 $e |- B e. _V $.
    opelopabaf.3 $e |- ( ( x = A /\ y = B ) -> ( ph <-> ps ) ) $.
    $( The law of concretion.  Theorem 9.5 of [Quine] p. 61.  This version of
       ~ opelopab uses bound-variable hypotheses in place of distinct variable
       conditions."  (Contributed by Mario Carneiro, 19-Dec-2013.)  (Proof
       shortened by Mario Carneiro, 18-Nov-2016.) $)
    opelopabaf $p |- ( <. A , B >. e. { <. x , y >. | ph } <-> ps ) $=
      ( cop copab wcel wsbc opelopabsb cvv wb nfv sbc2iegf mp2an bitri ) EFLACD
      MNADFOCEOZBACDEFPEQNFQNZUCBRIJABCDEFQQGHUDCSKTUAUB $.
  $}

  ${
    $d x y A $.  $d x y B $.
    opelopabf.x $e |- F/ x ps $.
    opelopabf.y $e |- F/ y ch $.
    opelopabf.1 $e |- A e. _V $.
    opelopabf.2 $e |- B e. _V $.
    opelopabf.3 $e |- ( x = A -> ( ph <-> ps ) ) $.
    opelopabf.4 $e |- ( y = B -> ( ps <-> ch ) ) $.
    $( The law of concretion.  Theorem 9.5 of [Quine] p. 61.  This version of
       ~ opelopab uses bound-variable hypotheses in place of distinct variable
       conditions."  (Contributed by NM, 19-Dec-2008.) $)
    opelopabf $p |- ( <. A , B >. e. { <. x , y >. | ph } <-> ch ) $=
      ( cop wcel wsbc cvv wb sbciegf ax-mp copab opelopabsb nfcv cv wceq 3bitri
      nfsbc sbcbidv ) FGNADEUAOAEGPZDFPZBEGPZCADEFGUBFQOUJUKRJUIUKDFQBDEGDGUCHU
      GDUDFUEABEGLUHSTGQOUKCRKBCEGQIMSTUF $.
  $}

  ${
    $d ph z $.  $d ps z $.  $d x z $.  $d y z $.
    $( Equivalence of ordered pair abstraction subclass and implication.
       (Contributed by NM, 27-Dec-1996.)  (Revised by Mario Carneiro,
       19-May-2013.) $)
    ssopab2 $p |- ( A. x A. y ( ph -> ps ) ->
        { <. x , y >. | ph } C_ { <. x , y >. | ps } ) $=
      ( vz wi wal cv cop wceq wa wex cab copab nfa1 sp anim2d eximd sps df-opab
      ss2abdv 3sstr4g ) ABFZDGZCGZEHCHDHIJZAKZDLZCLZEMUFBKZDLZCLZEMACDNBCDNUEUI
      ULEUEUHUKCUDCOUDUHUKFCUDUGUJDUCDOUDABUFUCDPQRSRUAACDETBCDETUB $.
  $}

  $( Equivalence of ordered pair abstraction subclass and implication.
     (Contributed by NM, 27-Dec-1996.)  (Proof shortened by Mario Carneiro,
     18-Nov-2016.) $)
  ssopab2b $p |- ( { <. x , y >. | ph } C_ { <. x , y >. | ps } <->
             A. x A. y ( ph -> ps ) ) $=
    ( copab wss wi wal nfopab1 nfss nfopab2 cop wcel ssel opabid 3imtr3g alrimi
    cv ssopab2 impbii ) ACDEZBCDEZFZABGZDHZCHUCUECCUAUBACDIBCDIJUCUDDDUAUBACDKB
    CDKJUCCRDRLZUAMUFUBMABUAUBUFNACDOBCDOPQQABCDST $.

  ${
    ssopab2i.1 $e |- ( ph -> ps ) $.
    $( Inference of ordered pair abstraction subclass from implication.
       (Contributed by NM, 5-Apr-1995.) $)
    ssopab2i $p |- { <. x , y >. | ph } C_ { <. x , y >. | ps } $=
      ( wi wal copab wss ssopab2 ax-gen mpg ) ABFZDGACDHBCDHICABCDJMDEKL $.
  $}

  ${
    $d x ph $.  $d y ph $.
    ssopab2dv.1 $e |- ( ph -> ( ps -> ch ) ) $.
    $( Inference of ordered pair abstraction subclass from implication.
       (Contributed by NM, 19-Jan-2014.)  (Revised by Mario Carneiro,
       24-Jun-2014.) $)
    ssopab2dv $p |- ( ph -> { <. x , y >. | ps } C_ { <. x , y >. | ch } ) $=
      ( wi wal copab wss alrimivv ssopab2 syl ) ABCGZEHDHBDEICDEIJANDEFKBCDELM
      $.
  $}

  ${
    $d z ph $.  $d z x $.  $d z y $.
    $( Non-empty ordered pair class abstraction.  (Contributed by NM,
       10-Oct-2007.) $)
    opabn0 $p |- ( { <. x , y >. | ph } =/= (/) <-> E. x E. y ph ) $=
      ( vz copab c0 wne cv wcel wex cop wceq wa n0 elopab exbii exrot3 vex opex
      isseti 19.41v mpbiran 2exbii bitri 3bitri ) ABCEZFGDHZUFIZDJUGBHZCHZKZLZA
      MZCJBJZDJZACJBJZDUFNUHUNDABCUGOPUOUMDJZCJBJUPUMDBCQUQABCUQULDJADUKUIUJBRC
      RSTULADUAUBUCUDUE $.
  $}


$(
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
        Set construction functions
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
$)

  $c 1st $. $( First member of an ordered pair $)
  $c Swap $.
  $c _S $.
  $c o. $.
  $c " $.
  $c SI $.

  $( Extend the definition of a class to include the first member an ordered
     pair function. $)
  c1st $a class 1st $.

  $( Extend the definition of a class to include the swap function. $)
  cswap $a class Swap $.

  $( Extend the definition of a class to include the subset relationship. $)
  csset $a class _S $.

  $( Extend the definition of a class to include the singleton image. $)
  csi $a class SI A $.

  $( Extend the definition of a class to include the composition of two
     classes. $)
  ccom $a class ( A o. B ) $.

  $( Extend the definition of a class to include the image of one class under
     another. $)
  cima $a class ( A " B ) $.

  ${
    $d x y z $.
    $( Define a function that extracts the first member, or abscissa, of an
       ordered pair.  (Contributed by SF, 5-Jan-2015.) $)
    df-1st $a |- 1st = { <. x , y >. | E. z x = <. y , z >. } $.
  $}

  ${
    $d x y z w $.
    $( Define a function that swaps the two elements of an ordered pair.
       (Contributed by SF, 5-Jan-2015.) $)
    df-swap $a |- Swap = { <. x , y >. |
             E. z E. w ( x = <. z , w >. /\ y = <. w , z >. ) } $.
  $}

  ${
    $d x y $.
    $( Define a relationship that holds between subsets.  (Contributed by SF,
       5-Jan-2015.) $)
    df-sset $a |- _S = { <. x , y >. | x C_ y } $.
  $}

  ${
    $d A x y z $.  $d B x y z $.
    $( Define the composition of two classes.  (Contributed by SF,
       5-Jan-2015.) $)
    df-co $a |- ( A o. B ) = { <. x , y >. | E. z ( x B z /\ z A y ) } $.
  $}

  ${
    $d A x y $.  $d B x y $.
    $( Define the image of one class under another.  (Contributed by SF,
       5-Jan-2015.) $)
    df-ima $a |- ( A " B ) = { x | E. y e. B y A x } $.
  $}

  ${
    $d A x y z w $.
    $( Define the singleton image of a class.  (Contributed by SF,
       5-Jan-2015.) $)
    df-si $a |- SI A = { <. x , y >. |
       E. z E. w ( x = { z } /\ y = { w } /\ z A w ) } $.
  $}

  ${
    $d A x y z $.
    $( Membership in ` 1st ` .  (Contributed by SF, 5-Jan-2015.) $)
    el1st $p |- ( A e. 1st <-> E. x E. y A = <. <. x , y >. , x >. ) $=
      ( vz c1st wcel cv cop wceq wex wa copab df-1st eleq2i bitri excom exancom
      elopab vex exbii opex opeq1 eqeq2d ceqsexv exdistr 3bitr3ri ) CEFZCDGZAGZ
      HZIZUHUIBGZHZIZBJZKZAJDJZCUMUIHZIZBJZAJZUGCUODALZFUQEVBCDABMNUODACROUQUPD
      JZAJVAUPDAPVCUTAUKUNKZDJZBJVDBJDJUTVCVDBDPVEUSBVEUNUKKDJUSUKUNDQUKUSDUMUI
      ULASBSUAUNUJURCUHUMUIUBUCUDOTUKUNDBUEUFTOO $.
  $}

  ${
    $d A x y z w $.  $d B x y z w $.  $d C x y z w $.
    $( The binary relationship over the ` 1st ` function.  (Contributed by SF,
       5-Jan-2015.) $)
    br1stg $p |- ( ( A e. V /\ B e. W ) ->
       ( <. A , B >. 1st C <-> A = C ) ) $=
      ( vz vw vx vy cv cop c1st wbr wceq wb breq1d eqeq1 wex wa bitri opeq1 weq
      bibi12d opeq2 bibi1d wcel df-br el1st w3a eqcom opth anbi1i df-3an bitr4i
      2exbii vex biidd ceqsex2v 3bitri vtocl2g ) FJZGJZKZCLMZVACNZOAVBKZCLMZACN
      ZOABKZCLMZVHOFGABDEVAANZVDVGVEVHVKVCVFCLVAAVBUAPVAACQUCVBBNZVGVJVHVLVFVIC
      LVBBAUDPUEVDVCCKZLUFVMHJZIJZKZVNKZNZIRHRZVEVCCLUGHIVMUHVSHFUBZIGUBZVNCNZU
      IZIRHRVEVRWCHIVRVQVMNZWCVMVQUJWDVPVCNZWBSZWCVPVNVCCUKWFVTWASZWBSWCWEWGWBV
      NVOVAVBUKULVTWAWBUMUNTTUOWBVEVEHIVAVBFUPGUPVNVACQWAVEUQURTUSUT $.
  $}

  ${
    $d A x y z t $.  $d B x y z t $.
    setconslem1.1 $e |- A e. _V $.
    setconslem1.2 $e |- B e. _V $.
    $( Lemma for the set construction theorems.  (Contributed by SF,
       6-Jan-2015.) $)
    setconslem1 $p |- ( << { A } , B >> e.
                 ( _S_k o._k SI_k `'_k Image_k ( ( Image_k ( ( Ins3_k ~ ( (
        Ins3_k _S_k i^i Ins2_k _S_k ) "_k ~P1 ~P1 1c ) \
      ( ( Ins2_k Ins2_k _S_k
          (+)
          ( Ins2_k Ins3_k _S_k u.
            Ins3_k SI_k SI_k _S_k ) )
            "_k ~P1 ~P1 ~P1 ~P1 1c ) )
  "_k ~P1 ~P1 1c ) i^i ( Nn X._k _V ) ) u.
  ( _I_k i^i ( ~ Nn X._k _V ) ) ) ) <->
                E. x e. B A = Phi x ) $=
      ( vt vz csn cv copk cssetk cins3k cpw1 cimak cvv wcel wa wex wceq exbii
      cins2k cin c1c ccompl csik csymdif cdif cimagek cnnc cxpk cidk ccnvk cphi
      cun ccomk wrex w3a wb snex opkelsikg mp2an excom 3anass eqcom sneqb bitri
      vex anbi1i opkeq1 eleq1d anbi2d ceqsexv 3bitri 19.41v 3bitr2i opkelimagek
      anass opkelcnvk dfphi2 eqeq2i 3bitr4i elssetk anbi12i opkelcok df-rex
      ancom ) BHZFIZJKLZKUAZUBUCMMZNUDLWJUAWIUAKUEUELUNUFWKMMNUGWKNUHUIOUJUBUKU
      IUDOUJUBUNZUHZULZUEZPZWHCJZKPZQZFRZAIZCPZBXAUMZSZQZARZWGCJKWOUOPXDACUPWTW
      HXAHZSZBXAJZWNPZWRQZQZARZFRXLFRZARXFWSXMFWSXHXJQZARZWRQXOWRQZARXMWPXPWRWP
      WGGIZHZSZXHXRXAJZWNPZUQZARGRZYCGRZARXPWGOPWHOPWPYDURBUSZFVGGAWGWHWNOOUTVA
      YCGAVBYEXOAYEXRBSZXHYBQZQZGRXOYCYIGYCXTYHQYIXTXHYBVCXTYGYHXTXSWGSYGWGXSVD
      XRBGVGVEVFVHVFTYHXOGBDYGYBXJXHYGYAXIWNXRBXAVIVJVKVLVFTVMVHXOWRAVNXQXLAXHX
      JWRVQTVOTXLAFVBXNXEAXNXJXGCJZKPZQZXDXBQXEXKYLFXGXAUSXHWRYKXJXHWQYJKWHXGCV
      IVJVKVLXJXDYKXBXABJWMPBWLXANZSXJXDXABWLAVGZDVPBXAWMDYNVRXCYMBXAVSVTWAXACY
      NEWBWCXDXBWFVMTVOFWGCKWOYFEWDXDACWEWA $.

    $( Lemma for the set construction theorems.  (Contributed by SF,
       6-Jan-2015.) $)
    setconslem2 $p |- ( << { A } , B >> e. ( ( Ins2_k _S_k i^i
    Ins3_k SI_k ~ ( ( Ins2_k _S_k (+)
         Ins3_k ( ( `'_k Image_k ( ( Image_k ( ( Ins3_k ~ ( ( Ins3_k _S_k i^i
        Ins2_k _S_k ) "_k ~P1 ~P1 1c ) \
      ( ( Ins2_k Ins2_k _S_k
          (+)
          ( Ins2_k Ins3_k _S_k u.
            Ins3_k SI_k SI_k _S_k ) )
            "_k ~P1 ~P1 ~P1 ~P1 1c ) )
  "_k ~P1 ~P1 1c ) i^i ( Nn X._k _V ) ) u.
  ( _I_k i^i ( ~ Nn X._k _V ) ) ) o._k _S_k ) u. ( { { 0c } } X._k _V ) ) )
        "_k
         ~P1 ~P1 1c ) )
    "_k ~P1 ~P1 1c ) <->
         E. x e. B A = ( Phi x u. { 0c } ) ) $=
      ( vt vy vz csn copk cssetk cins3k cimak cvv wcel wceq wex 3bitr4i bitri
      wa cv cins2k cin c1c cpw1 ccompl csik csymdif cdif cimagek cnnc cxpk cidk
      cun ccnvk ccomk c0c wrex elpw121c anbi1i 19.41v bitr4i exbii df-rex excom
      cphi snex opkeq1 eleq1d ceqsexv elin otkelins2k vex otkelins3k opksnelsik
      elssetk wb wal wn elimak elsymdif wel opkelimagek opkelcnvk dfphi2 eqeq2i
      opkex wo anbi12i ancom opkelcok phiex clel3 opkelxpk mpbiran2 sneqb elsnc
      orbi12i elun bibi12i xchbinx exnal 3bitri con2bii dfcleq elcompl 3bitr4ri
      ) FUAZBIZCJZJZKUBZXLKLZXLUCUDUEUEZMUFLXLUBXMUBKUGUGLUNUHXNUEUEMUIXNMUJUKN
      ULUCUMUKUFNULUCUNZUJZUOZKUPZUQIZIZNULZUNZLZUHZXNMZUFZUGZLZUCZOZFXNURZAUAZ
      COZBYLVFZXSUNZPZTZAQZXJYIXNMOYPACURYKXHYLIZIZIZPZYJTZFQZAQZYRXHXNOZYJTZFQ
      UUCAQZFQYKUUEUUGUUHFUUGUUBAQZYJTUUHUUFUUIYJAXHUSUTUUBYJAVAVBVCYJFXNVDUUCA
      FVERUUDYQAUUDUUAXJJZYIOZUUJXLOZUUJYHOZTYQYJUUKFUUAYTVGUUBXKUUJYIXHUUAXJVH
      VIVJUUJXLYHVKUULYMUUMYPUULYSCJKOYMYSXICKYLVGZBVGZEVLYLCAVMZEVPSUUMYSXIJYG
      OYLBJZYFOZYPYSXICYGUUNUUOEVNYLBYFUUPDVOGUAZBOZUUSYOOZVQZGVRZUUQYEOZVSYPUU
      RUVDUVCUVDXHUUSIZIZIZPZXHUUQJZYDOZTZFQZGQZUVBVSZGQUVCVSUVDUVJFXNURZUVMFYD
      XNUUQYLBWGZVTUUFUVJTZFQUVKGQZFQUVOUVMUVQUVRFUVQUVHGQZUVJTUVRUUFUVSUVJGXHU
      SUTUVHUVJGVAVBVCUVJFXNVDUVKGFVERSUVLUVNGUVLUVGUUQJZYDOZUVNUVJUWAFUVGUVFVG
      UVHUVIUVTYDXHUVGUUQVHVIVJUWAUVTXLOZUVTYCOZVQUVBUVTXLYCWAUWBUUTUWCUVAUWBUV
      EBJKOUUTUVEYLBKUUSVGZUUPDVLUUSBGVMZDVPSUWCUVEYLJZYBOZUVAUVEYLBYBUWDUUPDVN
      UWFXROZUWFYAOZWHUUSYNOZUUSXSOZWHUWGUVAUWHUWJUWIUWKUVEHUAZJKOZUWLYLJXQOZTZ
      HQUWLYNPZGHWBZTZHQUWHUWJUWOUWRHUWOUWQUWPTUWRUWMUWQUWNUWPUUSUWLUWEHVMZVPYL
      UWLJXPOUWLXOYLMZPUWNUWPYLUWLXOUUPUWSWCUWLYLXPUWSUUPWDYNUWTUWLYLWEWFRWIUWQ
      UWPWJSVCHUVEYLXQKUWDUUPWKHUUSYNYLUUPWLWMRUWIUVEXTOZUWKUWIUXAYLNOUUPUVEYLX
      TNUWDUUPWNWOUVEXSPUUSUQPUXAUWKUUSUQUWEWPUVEXSUWDWQUUSUQUWEWQRSWRUWFXRYAWS
      UUSYNXSWSRSWTXASVCUVBGXBXCXDGBYOXEUUQYEUVPXFXGXCWIXCVCSFYIXNXJXICWGVTYPAC
      VDR $.
  $}

  ${
    $d A x y t $.  $d B x y t $.  $d C x y t $.
    setconslem3.1 $e |- A e. _V $.
    setconslem3.2 $e |- B e. _V $.
    setconslem3.3 $e |- C e. _V $.
    $( Lemma for set construction functions.  Set up a mapping between
       Kuratowski and Quine ordered pairs.  (Contributed by SF, 7-Jan-2015.) $)
    setconslem3 $p |- ( << { { A } } , << B , C >> >> e.
        ~ ( ( Ins3_k SI_k SI_k _S_k (+)
          Ins2_k
            ( Ins3_k ( _S_k o._k SI_k `'_k Image_k ( ( Image_k ( ( Ins3_k ~ (
        ( Ins3_k _S_k i^i Ins2_k _S_k ) "_k ~P1 ~P1 1c ) \
      ( ( Ins2_k Ins2_k _S_k
          (+)
          ( Ins2_k Ins3_k _S_k u.
            Ins3_k SI_k SI_k _S_k ) )
            "_k ~P1 ~P1 ~P1 ~P1 1c ) )
  "_k ~P1 ~P1 1c ) i^i ( Nn X._k _V ) ) u.
  ( _I_k i^i ( ~ Nn X._k _V ) ) ) ) u.
              Ins2_k ( ( Ins2_k _S_k i^i
    Ins3_k SI_k ~ ( ( Ins2_k _S_k (+)
         Ins3_k ( ( `'_k Image_k ( ( Image_k ( ( Ins3_k ~ ( ( Ins3_k _S_k i^i
        Ins2_k _S_k ) "_k ~P1 ~P1 1c ) \
      ( ( Ins2_k Ins2_k _S_k
          (+)
          ( Ins2_k Ins3_k _S_k u.
            Ins3_k SI_k SI_k _S_k ) )
            "_k ~P1 ~P1 ~P1 ~P1 1c ) )
  "_k ~P1 ~P1 1c ) i^i ( Nn X._k _V ) ) u.
  ( _I_k i^i ( ~ Nn X._k _V ) ) ) o._k _S_k ) u. ( { { 0c } } X._k _V ) ) )
        "_k
         ~P1 ~P1 1c ) )
    "_k ~P1 ~P1 1c ) ) ) "_k
          ~P1 ~P1 ~P1 ~P1 1c ) <-> A = <. B , C >. ) $=
      ( vx vy vt wcel wceq csn cun copk cssetk cins3k cins2k cimak wex snex c0c
      cv cphi wrex wo wb wal csik cin c1c cpw1 ccompl csymdif cdif cimagek cnnc
      cvv cxpk ccnvk ccomk wn cop wa opkex elimak df-rex elpw141c anbi1i 19.41v
      bitr4i exbii excom 3bitri opkeq1 eleq1d ceqsexv otkelins3k opksnelsik vex
      elsymdif elssetk bitri otkelins2k setconslem1 setconslem2 orbi12i bibi12i
      cidk elun xchbinx exnal con2bii eqop elcompl 3bitr4ri ) GUBZAJZWPHUBUCZKH
      BUDZWPWRUALZMKHCUDZUEZUFZGUGZALZLZBCNZNZOUHZUHZPZOOPZOQZUIUJUKUKZRULPXMQX
      LQXKMUMXNUKUKZRUNXNRUOUPUQURUIWHUPULUQURUIMUOUSZUHUTZPZXMXMXPOUTWTLUQURMP
      UMXNRULUHPUIXNRZQZMZQZUMZXORZJZVAABCVBKXHYDULJYEXDYEIUBZWPLZLZLZLZLZKZYFX
      HNZYCJZVCZISZGSZXCVAZGSXDVAYEYNIXOUDYFXOJZYNVCZISZYQIYCXOXHXFXGVDZVEYNIXO
      VFUUAYOGSZISYQYTUUCIYTYLGSZYNVCUUCYSUUDYNGYFVGVHYLYNGVIVJVKYOGIVLVJVMYPYR
      GYPYKXHNZYCJZYRYNUUFIYKYJTYLYMUUEYCYFYKXHVNVOVPUUFUUEXKJZUUEYBJZUFXCUUEXK
      YBVTUUGWQUUHXBUUGYIXFNXJJYHXENXIJZWQYIXFXGXJYHTZXETZBCVDZVQYHXEXIYGTATVRU
      UIYGANOJWQYGAOWPTZDVRWPAGVSZDWAWBVMUUHYIXGNZYAJUUOXRJZUUOXTJZUEXBYIXFXGYA
      UUJUUKUULWCUUOXRXTWIUUPWSUUQXAUUPYGBNXQJWSYGBCXQUUMEFVQHWPBUUNEWDWBUUQYGC
      NXSJXAYGBCXSUUMEFWCHWPCUUNFWEWBWFVMWGWJWBVKXCGWKVMWLGHABCWMXHYDUUBWNWO $.
  $}

  ${
    $d A x y z t $.
    $( Lemma for set construction functions.  Create a mapping between the two
       types of ordered pair abstractions.  (Contributed by SF, 7-Jan-2015.) $)
    setconslem4 $p |- U.1 U.1 ( ( ( ( _V X._k _V ) X._k _V ) i^i
     `'_k ~ ( ( Ins3_k SI_k SI_k _S_k (+)
          Ins2_k
            ( Ins3_k ( _S_k o._k SI_k `'_k Image_k ( ( Image_k ( ( Ins3_k ~ (
        ( Ins3_k _S_k i^i Ins2_k _S_k ) "_k ~P1 ~P1 1c ) \
      ( ( Ins2_k Ins2_k _S_k
          (+)
          ( Ins2_k Ins3_k _S_k u.
            Ins3_k SI_k SI_k _S_k ) )
            "_k ~P1 ~P1 ~P1 ~P1 1c ) )
  "_k ~P1 ~P1 1c ) i^i ( Nn X._k _V ) ) u.
  ( _I_k i^i ( ~ Nn X._k _V ) ) ) ) u.
              Ins2_k ( ( Ins2_k _S_k i^i
    Ins3_k SI_k ~ ( ( Ins2_k _S_k (+)
         Ins3_k ( ( `'_k Image_k ( ( Image_k ( ( Ins3_k ~ ( ( Ins3_k _S_k i^i
        Ins2_k _S_k ) "_k ~P1 ~P1 1c ) \
      ( ( Ins2_k Ins2_k _S_k
          (+)
          ( Ins2_k Ins3_k _S_k u.
            Ins3_k SI_k SI_k _S_k ) )
            "_k ~P1 ~P1 ~P1 ~P1 1c ) )
  "_k ~P1 ~P1 1c ) i^i ( Nn X._k _V ) ) u.
  ( _I_k i^i ( ~ Nn X._k _V ) ) ) o._k _S_k ) u. ( { { 0c } } X._k _V ) ) )
        "_k
         ~P1 ~P1 1c ) )
    "_k ~P1 ~P1 1c ) ) ) "_k
          ~P1 ~P1 ~P1 ~P1 1c ) ) "_k A ) =
    { <. x , y >. | << x , y >> e. A } $=
      ( vt cvv cxpk cssetk csik cins3k cins2k cin cpw1 cimak ccompl cun wcel wa
      csn wex bitri vz c1c csymdif cdif cimagek cnnc cidk ccnvk ccomk c0c cuni1
      copk copab cop wceq wrex snex elimak df-rex elin anbi2i an12 vex opkelxpk
      cv mpbiran2 elvvk anbi1i 19.41vv bitr4i exbii exrot3 opkex opkeq1 anbi12d
      eleq1 eleq1d ceqsexv setconslem3 ancom 2exbii eluni1 elopab 3bitr4i eqriv
      opkelcnvk ) UAEEFZEFZGHHIZGGIZGJZKUBLLZMNIWKJWJJWIOUCWLLLZMUDWLMUEUFEFKUG
      UFNEFKOUEUHZHUIIWKWKWNGUIUJRREFOIUCWLMNHIKWLMJOJUCWMMNZUHZKZCMZUKZUKZAVEZ
      BVEZULZCPZABUMZUAVEZRZRZWRPZXFXAXBUNUOZXDQZBSASZXFWTPZXFXEPXIDVEZXHULZWQP
      ZDCUPZXLDWQCXHXGUQZURXQXNXCUOZXNCPZXOWPPZQZQZDSZBSASZXLXQXTXPQZDSZYEXPDCU
      SYGYCBSASZDSYEYFYHDYFXTXOWHPZYAQZQZYHXPYJXTXOWHWPUTVAYKYIYBQZYHXTYIYAVBYL
      XSBSASZYBQYHYIYMYBYIXNWGPZYMYIYNXHEPXRXNXHWGEDVCXRVDVFABXNVGTVHXSYBABVIVJ
      TTVKYCDABVLTTYDXKABYDXDXCXHULZWPPZQZXKYBYQDXCXAXBVMZXSXTXDYAYPXNXCCVPXSXO
      YOWPXNXCXHVNVQVOVRYQXDXJQXKYPXJXDYPXHXCULWOPXJXCXHWOYRXRWFXFXAXBUAVCZAVCB
      VCVSTVAXDXJVTTTWATTXMXGWSPXIXFWSYSWBXGWRXFUQWBTXDABXFWCWDWE $.
  $}

  $( Lemma for set construction theorems.  The big expression in the middle of
     ~ setconslem4 forms a set.  (Contributed by SF, 7-Jan-2015.) $)
  setconslem5 $p |- ~ ( ( Ins3_k SI_k SI_k _S_k (+)
          Ins2_k
            ( Ins3_k ( _S_k o._k SI_k `'_k Image_k ( ( Image_k ( ( Ins3_k ~ (
      ( Ins3_k _S_k i^i Ins2_k _S_k ) "_k ~P1 ~P1 1c ) \
      ( ( Ins2_k Ins2_k _S_k
          (+)
          ( Ins2_k Ins3_k _S_k u.
            Ins3_k SI_k SI_k _S_k ) )
            "_k ~P1 ~P1 ~P1 ~P1 1c ) )
  "_k ~P1 ~P1 1c ) i^i ( Nn X._k _V ) ) u.
  ( _I_k i^i ( ~ Nn X._k _V ) ) ) ) u.
              Ins2_k ( ( Ins2_k _S_k i^i
    Ins3_k SI_k ~ ( ( Ins2_k _S_k (+)
         Ins3_k ( ( `'_k Image_k ( ( Image_k ( ( Ins3_k ~ ( ( Ins3_k _S_k i^i
      Ins2_k _S_k ) "_k ~P1 ~P1 1c ) \
      ( ( Ins2_k Ins2_k _S_k
          (+)
          ( Ins2_k Ins3_k _S_k u.
            Ins3_k SI_k SI_k _S_k ) )
            "_k ~P1 ~P1 ~P1 ~P1 1c ) )
  "_k ~P1 ~P1 1c ) i^i ( Nn X._k _V ) ) u.
  ( _I_k i^i ( ~ Nn X._k _V ) ) ) o._k _S_k ) u. ( { { 0c } } X._k _V ) ) )
      "_k
         ~P1 ~P1 1c ) )
    "_k ~P1 ~P1 1c ) ) ) "_k
          ~P1 ~P1 ~P1 ~P1 1c ) e. _V $=
    ( cssetk csik cins3k cins2k cin cpw1 cimak ccompl cun csymdif cnnc cvv cxpk
    ssetkex sikex ins3kex pw1ex imakex vvex xpkex cdif cimagek cidk ccnvk ccomk
    c1c c0c csn addcexlem 1cex imagekex nncex inex idkex complex cnvkex ins2kex
    unex cokex snex symdifex ) ABZBZCZAACZADZEUFFZFZGHCVFDVEDVDIJVHFZFZGUAZVHGZ
    UBZKLMZEZUCKHZLMZEZIZUBZUDZBZUEZCZVFVFWAAUEZUGUHZUHZLMZIZCZJZVHGZHZBZCZEZVH
    GZDZIZDZJZVJGXAVJVDWTVCVBANOOPWSWDWRWCAWBNWAVTVSVOVRVMVNVLVKVHUIVGUFUJQQZRU
    KKLULSTUMUCVQUNVPLKULUOSTUMURUKUPZOUSPWQWPVHVFWOANUQZWNWMWLWKVHVFWJXDWIWEWH
    WAAXCNUSWGLWFUTSTURPVAXBRUOOPUMXBRUQURUQVAVIVHXBQQRUO $.

  ${
    $d A x y z w t $.
    $( Lemma for the set construction functions.  Invert the expression from
       ~ setconslem4 .  (Contributed by SF, 7-Jan-2015.) $)
    setconslem6 $p |- ( ( ( _V X._k ( _V X._k _V ) ) i^i
     ~ ( ( Ins3_k SI_k SI_k _S_k (+)
          Ins2_k
            ( Ins3_k ( _S_k o._k SI_k `'_k Image_k ( ( Image_k ( ( Ins3_k ~ (
        ( Ins3_k _S_k i^i Ins2_k _S_k ) "_k ~P1 ~P1 1c ) \
      ( ( Ins2_k Ins2_k _S_k
          (+)
          ( Ins2_k Ins3_k _S_k u.
            Ins3_k SI_k SI_k _S_k ) )
            "_k ~P1 ~P1 ~P1 ~P1 1c ) )
  "_k ~P1 ~P1 1c ) i^i ( Nn X._k _V ) ) u.
  ( _I_k i^i ( ~ Nn X._k _V ) ) ) ) u.
              Ins2_k ( ( Ins2_k _S_k i^i
    Ins3_k SI_k ~ ( ( Ins2_k _S_k (+)
         Ins3_k ( ( `'_k Image_k ( ( Image_k ( ( Ins3_k ~ ( ( Ins3_k _S_k i^i
        Ins2_k _S_k ) "_k ~P1 ~P1 1c ) \
      ( ( Ins2_k Ins2_k _S_k
          (+)
          ( Ins2_k Ins3_k _S_k u.
            Ins3_k SI_k SI_k _S_k ) )
            "_k ~P1 ~P1 ~P1 ~P1 1c ) )
  "_k ~P1 ~P1 1c ) i^i ( Nn X._k _V ) ) u.
  ( _I_k i^i ( ~ Nn X._k _V ) ) ) o._k _S_k ) u. ( { { 0c } } X._k _V ) ) )
        "_k
         ~P1 ~P1 1c ) )
    "_k ~P1 ~P1 1c ) ) ) "_k
          ~P1 ~P1 ~P1 ~P1 1c ) ) "_k ~P1 ~P1 A ) =
    { z | E. x E. y ( z = << x , y >> /\ <. x , y >. e. A ) } $=
      ( vt vw cv copk wcel wa wex cvv cxpk cssetk cins3k cins2k cpw1 cimak wrex
      cin wceq cop csik c1c ccompl cun csymdif cdif cimagek cnnc cidk ccnvk c0c
      ccomk csn elimak df-rex elpw12 anbi1i r19.41v bitr4i exbii rexcom4 opkeq1
      vex snex eleq1d ceqsexv 3bitr2i bitri exancom opkelxpk mpbiran elvvk elin
      rexbii 19.41vv 3bitr4i exrot3 anass 19.42v opkeq2 setconslem3 syl6bb opex
      anbi1d exbidv eleq1 pm5.32i 3bitri 2exbii abbi2i ) CGZAGZBGZHZUAZWNWOUBZD
      IZJZBKAKZCLLLMZMZNUCUCOZNNOZNPZTUDQQZRUEOXFPXEPXDUFUGXGQQZRUHXGRUIUJLMTUK
      UJUELMTUFUIULZUCUNOXFXFXINUNUMUOUOLMUFOUGXGRUEUCOTXGRPUFPUGXHRUEZTZDQQZRZ
      WMXMIEGZWMHZXKIZEXLSZFGZUOZUOZWMHZXKIZFDSZXAEXKXLWMCVEZUPXQXNXLIZXPJZEKZY
      CXPEXLUQYGXNXTUAZXPJZFDSZEKYIEKZFDSYCYFYJEYFYHFDSZXPJYJYEYLXPFXNDURUSYHXP
      FDUTVAVBYIFEDVCYKYBFDXPYBEXTXSVFZYHXOYAXKXNXTWMVDVGVHVPVIVJYCXRDIZYBJFKYB
      YNJZFKZXAYBFDUQYNYBFVKYPWQYAXJIZJZYNJZFKZBKAKZXAYPYRBKAKZYNJZFKYSBKAKZFKU
      UAYOUUCFYBUUBYNYAXCIZYQJWQBKAKZYQJYBUUBUUEUUFYQUUEWMXBIZUUFUUEXTLIUUGYMXT
      WMLXBYMYDVLVMABWMVNVJUSYAXCXJVOWQYQABVQVRUSVBUUDUUCFYRYNABVQVBYSFABVSVIYT
      WTABYTWQYQYNJZJZFKWQUUHFKZJWTYSUUIFWQYQYNVTVBWQUUHFWAWQUUJWSWQUUJXRWRUAZY
      NJZFKWSWQUUHUULFWQYQUUKYNWQYQXTWPHZXJIUUKWQYAUUMXJWMWPXTWBVGXRWNWOFVEAVEZ
      BVEZWCWDWFWGYNWSFWRWNWOUUNUUOWEXRWRDWHVHWDWIWJWKVJWJWJWL $.
  $}

  ${
    $d A t x y $.  $d B t x y $.  $d C t x y $.
    setconslem7.1 $e |- A e. _V $.
    setconslem7.2 $e |- B e. _V $.
    setconslem7.3 $e |- C e. _V $.
    $( Lemma for the set construction theorems.  Reorganized version of
       ~ setconslem3 .  (Contributed by SF, 4-Feb-2015.) $)
    setconslem7 $p |- ( << { { C } } , << A , B >> >> e. ~ ( ( Ins2_k Ins3_k
        _S_k (+)
        ( Ins2_k Ins2_k ( _S_k o._k SI_k `'_k Image_k ( ( Image_k ( ( Ins3_k
        ~ ( ( Ins3_k _S_k i^i Ins2_k _S_k ) "_k ~P1 ~P1 1c ) \
      ( ( Ins2_k Ins2_k _S_k
          (+)
          ( Ins2_k Ins3_k _S_k u.
            Ins3_k SI_k SI_k _S_k ) )
            "_k ~P1 ~P1 ~P1 ~P1 1c ) )
  "_k ~P1 ~P1 1c ) i^i ( Nn X._k _V ) ) u.
  ( _I_k i^i ( ~ Nn X._k _V ) ) ) ) u.
          Ins3_k SI_k SI_k ( ( Ins2_k _S_k i^i
    Ins3_k SI_k ~ ( ( Ins2_k _S_k (+)
         Ins3_k ( ( `'_k Image_k ( ( Image_k ( ( Ins3_k ~ ( ( Ins3_k _S_k i^i
        Ins2_k _S_k ) "_k ~P1 ~P1 1c ) \
      ( ( Ins2_k Ins2_k _S_k
          (+)
          ( Ins2_k Ins3_k _S_k u.
            Ins3_k SI_k SI_k _S_k ) )
            "_k ~P1 ~P1 ~P1 ~P1 1c ) )
  "_k ~P1 ~P1 1c ) i^i ( Nn X._k _V ) ) u.
  ( _I_k i^i ( ~ Nn X._k _V ) ) ) o._k _S_k ) u. ( { { 0c } } X._k _V ) ) )
        "_k
         ~P1 ~P1 1c ) )
    "_k ~P1 ~P1 1c ) ) )
      "_k ~P1 ~P1 ~P1 ~P1 1c ) <-> A = <. B , C >. ) $=
      ( vx vy vt wcel csn cun copk cssetk cins3k cimak csik wex bitri snex cphi
      cv wceq wrex c0c wal cins2k cin c1c cpw1 ccompl csymdif cdif cimagek cnnc
      wo wb cvv cxpk cidk ccnvk ccomk wn wa opkex elimak df-rex elpw141c anbi1i
      cop 19.41v bitr4i exbii excom opkeq1 eleq1d ceqsexv otkelins2k otkelins3k
      elsymdif elssetk setconslem1 opksnelsik setconslem2 orbi12i bibi12i exnal
      vex elun notbii con2bii eqop elcompl 3bitr4ri ) GUBZAJZWOHUBUAZUCHBUDZWOW
      QUEKZLUCHCUDZUPZUQZGUFZCKZKZABMZMZNOZUGZNXHNUGZUHUIUJUJZPUKOXJUGXINQQOLUL
      XKUJUJZPUMXKPUNUOURUSUHUTUOUKURUSUHLUNVAZQVBZUGZUGZXJXJXMNVBWSKURUSLOULXK
      PUKQOUHXKPZQZQZOZLZULZXLPZJZVCABCVJUCXGYCUKJYDXCYDXBVCZGRZXCVCYDIUBZWOKZK
      ZKZKZKZUCZYGXGMZYBJZVDZIRZGRZYFYDYOIXLUDZYRIYBXLXGXEXFVEZVFYSYGXLJZYOVDZI
      RZYRYOIXLVGUUCYPGRZIRYRUUBUUDIUUBYMGRZYOVDUUDUUAUUEYOGYGVHVIYMYOGVKVLVMYP
      GIVNVLSSYQYEGYQYLXGMZYBJZYEYOUUGIYLYKTYMYNUUFYBYGYLXGVOVPVQUUGUUFXIJZUUFY
      AJZUQZVCYEUUFXIYAVTUUJXBUUHWPUUIXAUUHYJXFMZXHJZWPYJXEXFXHYITZXDTZABVEZVRU
      ULYHAMNJWPYHABNWOTZDEVSWOAGWHZDWASSUUIUUFXPJZUUFXTJZUPXAUUFXPXTWIUURWRUUS
      WTUURUUKXOJZWRYJXEXFXOUUMUUNUUOVRUUTYHBMXNJWRYHABXNUUPDEVRHWOBUUQEWBSSUUS
      YJXEMXSJZWTYJXEXFXSUUMUUNUUOVSUVAYIXDMXRJZWTYIXDXRYHTCTWCUVBYHCMXQJWTYHCX
      QUUPFWCHWOCUUQFWDSSSWESWFWJSSVMSXBGWGSWKGHABCWLXGYCYTWMWN $.
  $}

  ${
    $d x y z t $.
    $( Express the ` 1st ` function via the set construction functions.
       (Contributed by SF, 4-Feb-2015.) $)
    df1st2 $p |- 1st = U.1 U.1 ( ( ( ( _V X._k _V ) X._k _V ) i^i
     `'_k ~ ( ( Ins3_k SI_k SI_k _S_k (+)
          Ins2_k
            ( Ins3_k ( _S_k o._k SI_k `'_k Image_k ( ( Image_k ( ( Ins3_k ~ (
        ( Ins3_k _S_k i^i Ins2_k _S_k ) "_k ~P1 ~P1 1c ) \
      ( ( Ins2_k Ins2_k _S_k
          (+)
          ( Ins2_k Ins3_k _S_k u.
            Ins3_k SI_k SI_k _S_k ) )
            "_k ~P1 ~P1 ~P1 ~P1 1c ) )
  "_k ~P1 ~P1 1c ) i^i ( Nn X._k _V ) ) u.
  ( _I_k i^i ( ~ Nn X._k _V ) ) ) ) u.
              Ins2_k ( ( Ins2_k _S_k i^i
    Ins3_k SI_k ~ ( ( Ins2_k _S_k (+)
         Ins3_k ( ( `'_k Image_k ( ( Image_k ( ( Ins3_k ~ ( ( Ins3_k _S_k i^i
        Ins2_k _S_k ) "_k ~P1 ~P1 1c ) \
      ( ( Ins2_k Ins2_k _S_k
          (+)
          ( Ins2_k Ins3_k _S_k u.
            Ins3_k SI_k SI_k _S_k ) )
            "_k ~P1 ~P1 ~P1 ~P1 1c ) )
  "_k ~P1 ~P1 1c ) i^i ( Nn X._k _V ) ) u.
  ( _I_k i^i ( ~ Nn X._k _V ) ) ) o._k _S_k ) u. ( { { 0c } } X._k _V ) ) )
        "_k
         ~P1 ~P1 1c ) )
    "_k ~P1 ~P1 1c ) ) ) "_k
          ~P1 ~P1 ~P1 ~P1 1c ) ) "_k (
~ ( ( Ins2_k Ins3_k _S_k (+)
        ( Ins2_k Ins2_k ( _S_k o._k SI_k `'_k Image_k ( ( Image_k ( ( Ins3_k
        ~ ( ( Ins3_k _S_k i^i Ins2_k _S_k ) "_k ~P1 ~P1 1c ) \
      ( ( Ins2_k Ins2_k _S_k
          (+)
          ( Ins2_k Ins3_k _S_k u.
            Ins3_k SI_k SI_k _S_k ) )
            "_k ~P1 ~P1 ~P1 ~P1 1c ) )
  "_k ~P1 ~P1 1c ) i^i ( Nn X._k _V ) ) u.
  ( _I_k i^i ( ~ Nn X._k _V ) ) ) ) u.
          Ins3_k SI_k SI_k ( ( Ins2_k _S_k i^i
    Ins3_k SI_k ~ ( ( Ins2_k _S_k (+)
         Ins3_k ( ( `'_k Image_k ( ( Image_k ( ( Ins3_k ~ ( ( Ins3_k _S_k i^i
        Ins2_k _S_k ) "_k ~P1 ~P1 1c ) \
      ( ( Ins2_k Ins2_k _S_k
          (+)
          ( Ins2_k Ins3_k _S_k u.
            Ins3_k SI_k SI_k _S_k ) )
            "_k ~P1 ~P1 ~P1 ~P1 1c ) )
  "_k ~P1 ~P1 1c ) i^i ( Nn X._k _V ) ) u.
  ( _I_k i^i ( ~ Nn X._k _V ) ) ) o._k _S_k ) u. ( { { 0c } } X._k _V ) ) )
        "_k
         ~P1 ~P1 1c ) )
    "_k ~P1 ~P1 1c ) ) )
      "_k ~P1 ~P1 ~P1 ~P1 1c ) "_k ~P1 1c ) ) $=
      ( vx vy vz vt cssetk cins3k cins2k cin cpw1 cimak ccompl csik cun csymdif
      cv cvv cxpk csn wcel wex copk c1c cdif cimagek cnnc ccnvk ccomk c0c copab
      cidk cop wceq cuni1 c1st wa wrex opkex elimak df-rex anbi1i 19.41v bitr4i
      elpw11c exbii excom bitri snex opkeq1 ceqsexv vex setconslem7 setconslem4
      eleq1d opabbii df-1st 3eqtr4ri ) AOZBOZUAZEFZGZEVTEGZHUBIZIZJKFWBGWAELLFZ
      MNWDIIZJUCWDJUDUEPQHUJUEKPQHMUDUFZLUGZGGWBWBWGEUGUHRRPQMFNWDJKLFHWDJZLLFM
      NWFJKZWCJZSZABUIVQVRCOZUKULZCTZABUIPPQPQWEWHFWIGMGNWFJKUFHWKJUMUMUNWLWOAB
      WLDOZWMRZRZULZWPVSUAZWJSZUOZDTZCTZWOWLXADWCUPZXDDWJWCVSVQVRUQURXEWPWCSZXA
      UOZDTZXDXADWCUSXHXBCTZDTXDXGXIDXGWSCTZXAUOXIXFXJXACWPVCUTWSXACVAVBVDXBCDV
      EVBVFVFXCWNCXCWRVSUAZWJSZWNXAXLDWRWQVGWSWTXKWJWPWRVSVHVMVIVQVRWMAVJBVJCVJ
      VKVFVDVFVNABWKVLABCVOVP $.
  $}

  $( The ` 1st ` function is a set.  (Contributed by SF, 6-Jan-2015.) $)
  1stex $p |- 1st e. _V $=
    ( cvv cxpk cssetk csik cins3k cins2k cin cpw1 cimak ccompl cun csymdif cnnc
    vvex xpkex inex ssetkex ins3kex ins2kex imakex c1st cdif cimagek cidk ccnvk
    c1c ccomk c0c cuni1 df1st2 setconslem5 cnvkex addcexlem 1cex pw1ex imagekex
    csn nncex idkex complex unex sikex cokex snex symdifex uni1ex eqeltri ) UAA
    ABZABZCDDEZCCEZCFZGUFHZHZIJEVLFVKFZVJKLVNHZHZIUBZVNIZUCZMABZGZUDMJZABZGZKZU
    CZUEZDZUGZEVLVLWHCUGZUHUQZUQZABZKZEZLZVNIZJZDZEZGZVNIZFKFLVQIJZUEZGZVOWJFZF
    ZXCDZDZEZKZLZVQIZJZVMIZIZUIZUIAUJXRXQXFXPVIXEVHAAANNONOXDUKULPXOVMXNXMVQVOX
    LVKCQRSXHXKXGWJCWIQWHWGWFWBWEVTWAVSVRVNUMVMUFUNUOZUOZTUPMAURNOPUDWDUSWCAMUR
    UTNOPVAUPULZVBVCSSXJXIXCXBVNVLXACQSZWTWSWRWQVNVLWPYBWOWKWNWHCYAQVCWMAWLVDNO
    VARVEXTTUTVBRPXTTVBVBRVAVEVPVNXTUOUOTUTXSTTVFVFVG $.

  ${
    $d A x y z w $.
    $( Membership in the ` Swap ` function.  (Contributed by SF,
       6-Jan-2015.) $)
    elswap $p |- ( A e. Swap <->
            E. x E. y A = <. <. x , y >. , <. y , x >. >. ) $=
      ( vz vw cswap wcel cv cop wceq wex copab df-swap eleq2i bitri 2exbii opex
      wa vex eqeq2d elopab exrot4 19.42vv w3a df-3an ancom opeq1 opeq2 ceqsex2v
      bitr2i 3bitr3i ) CFGZCDHZEHZIZJZUMAHZBHZIZJZUNURUQIZJZRZBKAKZRZEKDKZCUSVA
      IZJZBKAKZULCVDDELZGVFFVJCDEABMNVDDECUAOUPVCRZBKAKZEKDKVKEKDKZBKAKVFVIVKDE
      ABUBVLVEDEUPVCABUCPVMVHABVMUTVBUPUDZEKDKVHVKVNDEVNVCUPRVKUTVBUPUEVCUPUFUJ
      PUPCUSUNIZJVHDEUSVAUQURASZBSZQURUQVQVPQUTUOVOCUMUSUNUGTVBVOVGCUNVAUSUHTUI
      OPUKO $.
  $}

  ${
    $d x y z w t u v $.
    $( Express the ` Swap ` function via set construction operators.
       (Contributed by SF, 6-Jan-2015.) $)
    dfswap2 $p |- Swap = ( ( ~ ( ( Ins2_k Ins2_k _S_k (+)
       ( ( ( Ins2_k
( Ins2_k Ins3_k ( _S_k o._k
              SI_k
               `'_k Image_k ( ( Image_k ( ( Ins3_k ~ ( ( Ins3_k _S_k i^i
        Ins2_k _S_k ) "_k ~P1 ~P1 1c ) \
      ( ( Ins2_k Ins2_k _S_k
          (+)
          ( Ins2_k Ins3_k _S_k u.
            Ins3_k SI_k SI_k _S_k ) )
            "_k ~P1 ~P1 ~P1 ~P1 1c ) )
  "_k ~P1 ~P1 1c ) i^i ( Nn X._k _V ) ) u. ( _I_k i^i ( ~ Nn X._k _V ) ) ) ) u.
  Ins3_k SI_k SI_k ( ( Ins2_k _S_k i^i
    Ins3_k SI_k ~ ( ( Ins2_k _S_k (+)
         Ins3_k ( ( `'_k Image_k ( ( Image_k ( ( Ins3_k ~ ( ( Ins3_k _S_k i^i
        Ins2_k _S_k ) "_k ~P1 ~P1 1c ) \
      ( ( Ins2_k Ins2_k _S_k
          (+)
          ( Ins2_k Ins3_k _S_k u.
            Ins3_k SI_k SI_k _S_k ) )
            "_k ~P1 ~P1 ~P1 ~P1 1c ) )
  "_k ~P1 ~P1 1c ) i^i ( Nn X._k _V ) ) u.
  ( _I_k i^i ( ~ Nn X._k _V ) ) ) o._k _S_k ) u. ( { { 0c } } X._k _V ) ) )
        "_k
         ~P1 ~P1 1c ) )
    "_k ~P1 ~P1 1c ) ) i^i
          Ins3_k SI_k SI_k SI_k SI_k SI_k
          Image_k ( ( Image_k ( ( Ins3_k ~ ( ( Ins3_k _S_k i^i Ins2_k _S_k
        ) "_k ~P1 ~P1 1c ) \
      ( ( Ins2_k Ins2_k _S_k
          (+)
          ( Ins2_k Ins3_k _S_k u.
            Ins3_k SI_k SI_k _S_k ) )
            "_k ~P1 ~P1 ~P1 ~P1 1c ) )
  "_k ~P1 ~P1 1c ) i^i ( Nn X._k _V ) ) u. ( _I_k i^i ( ~ Nn X._k _V ) ) ) )
        "_k
           ~P1 ~P1 ~P1 ~P1 ~P1 ~P1 1c ) u.
         ( ( Ins2_k
( Ins3_k SI_k SI_k
  ( _S_k o._k
    SI_k `'_k Image_k ( ( Image_k ( ( Ins3_k ~ ( ( Ins3_k _S_k i^i Ins2_k
        _S_k ) "_k ~P1 ~P1 1c ) \
      ( ( Ins2_k Ins2_k _S_k
          (+)
          ( Ins2_k Ins3_k _S_k u.
            Ins3_k SI_k SI_k _S_k ) )
            "_k ~P1 ~P1 ~P1 ~P1 1c ) )
  "_k ~P1 ~P1 1c ) i^i ( Nn X._k _V ) ) u. ( _I_k i^i ( ~ Nn X._k _V ) ) ) ) u.
  Ins2_k Ins3_k ( ( Ins2_k _S_k i^i
    Ins3_k SI_k ~ ( ( Ins2_k _S_k (+)
         Ins3_k ( ( `'_k Image_k ( ( Image_k ( ( Ins3_k ~ ( ( Ins3_k _S_k i^i
        Ins2_k _S_k ) "_k ~P1 ~P1 1c ) \
      ( ( Ins2_k Ins2_k _S_k
          (+)
          ( Ins2_k Ins3_k _S_k u.
            Ins3_k SI_k SI_k _S_k ) )
            "_k ~P1 ~P1 ~P1 ~P1 1c ) )
  "_k ~P1 ~P1 1c ) i^i ( Nn X._k _V ) ) u.
  ( _I_k i^i ( ~ Nn X._k _V ) ) ) o._k _S_k ) u. ( { { 0c } } X._k _V ) ) )
        "_k
         ~P1 ~P1 1c ) )
    "_k ~P1 ~P1 1c ) ) i^i
            Ins3_k SI_k SI_k SI_k SI_k SI_k
                 ~ ( ( Ins2_k _S_k (+)
                       Ins3_k
( ( `'_k Image_k ( ( Image_k ( ( Ins3_k ~ ( ( Ins3_k _S_k i^i Ins2_k _S_k )
        "_k ~P1 ~P1 1c ) \
      ( ( Ins2_k Ins2_k _S_k
          (+)
          ( Ins2_k Ins3_k _S_k u.
            Ins3_k SI_k SI_k _S_k ) )
            "_k ~P1 ~P1 ~P1 ~P1 1c ) )
  "_k ~P1 ~P1 1c ) i^i ( Nn X._k _V ) ) u. ( _I_k i^i ( ~ Nn X._k _V ) ) ) o._k
        _S_k ) u.
                              ( { { 0c } } X._k _V ) ) ) "_k
                   ~P1 ~P1 1c ) ) "_k
           ~P1 ~P1 ~P1 ~P1 ~P1 ~P1 1c ) ) )
                    "_k ~P1 ~P1 ~P1 ~P1 1c )
               "_k ~P1 1c ) "_k _V ) $=
      ( vz vt vw vv vu cins3k cimak csik cun csn wceq wex copk wcel wrex bitr4i
      wa 3bitri snex opksnelsik vx vy cssetk cins2k cin c1c cpw1 ccompl csymdif
      cswap cdif cimagek cnnc cvv cxpk cidk ccnvk ccomk c0c cv cop opkex elimak
      df-rex elpw11c anbi1i 19.41v exbii excom opkeq1 eleq1d ceqsexv wel wb wal
      wn elpw141c elsymdif otkelins2k vex elssetk wo cphi elpw161c 3bitr4i elin
      otkelins3k setconslem1 setconslem2 bitri orbi12i df-op eleq2i opkelimagek
      elun cab abid dfphi2 eqeq2i anbi12i dfop2lem1 bibi12i notbii exnal dfcleq
      con2bii elcompl 3bitr4ri bitr2i elswap elimakv eqriv ) UAUJUCUDZUDZUCUCFZ
      XMUEUFUGZUGZGUHFXNXOUDUCHHFIUIXQUGUGZGUKXQGULUMUNUOUEUPUMUHUNUOUEIZULZUQZ
      HURZFZUDZXMXMYAUCURUSJZJUNUOIFUIXQGUHZHZFUEXQGZHZHZFZIZUDZXTHZHZHZHZHZFZU
      EZXRUGUGZGZYBHZHZFZYHFZUDZIZUDZYGHZHZHZHZFZUEZUUAGZIZUIZXRGZUHZXPGZUNGZUA
      UTZUBUTZAUTZVAZUVEUVDVAZVAZKZALZUBLUVDUVCMZUVANZUBLUVCUJNUVCUVBNUVJUVLUBU
      VLBUTZUVEJZJZKZUVMUVKMZUUTNZQZBLZALZUVJUVLUVRBXPOUVMXPNZUVRQZBLZUWABUUTXP
      UVKUVDUVCVBZVCUVRBXPVDUWDUVSALZBLUWAUWCUWFBUWCUVPALZUVRQUWFUWBUWGUVRAUVMV
      EVFUVPUVRAVGPVHUVSABVIPRUVTUVIAUVTUVOUVKMZUUTNZUVIUVRUWIBUVOUVNSZUVPUVQUW
      HUUTUVMUVOUVKVJVKVLCUAVMZCUTZUVHNZVNZCVOZUWHUUSNZVPUVIUWIUWPUWOUWPUVMUWLJ
      ZJZJZJZJZKZUVMUWHMZUURNZQZBLZCLZUWNVPZCLUWOVPUWPUXDBXROUVMXRNZUXDQZBLZUXG
      BUURXRUWHUVOUVKVBZVCUXDBXRVDUXKUXECLZBLUXGUXJUXMBUXJUXBCLZUXDQUXMUXIUXNUX
      DCUVMVQVFUXBUXDCVGPVHUXECBVIPRUXFUXHCUXFUXAUWHMZUURNZUXOXNNZUXOUUQNZVNZVP
      UXHUXDUXPBUXAUWTSZUXBUXCUXOUURUVMUXAUWHVJVKVLUXOXNUUQVRUXSUWNUXQUWKUXRUWM
      UXQUWSUVKMXMNUWQUVCMUCNUWKUWSUVOUVKXMUWRSZUWJUWEVSUWQUVDUVCUCUWLSZUBVTZUA
      VTZVSUWLUVCCVTZUYDWARUXOUUBNZUXOUUPNZWBUWLDUTZWCZKZDUVFOZUWLUYIYEIKZDUVGO
      ZWBZUXRUWMUYFUYKUYGUYMUYFUYHUVFNZUYJQZDLZUYKUYFUVMUXOMZYTNZBUUAOZUVMUYHJZ
      JZJZJZJZJZJZKZUYSQZBLZDLZUYQBYTUUAUXOUXAUWHVBZVCUVMUUANZUYSQZBLVUIDLZBLUY
      TVUKVUNVUOBVUNVUHDLZUYSQVUOVUMVUPUYSDUVMWDZVFVUHUYSDVGPVHUYSBUUAVDVUIDBVI
      WEVUJUYPDVUJVUGUXOMZYTNZVURYMNZVURYSNZQUYPUYSVUSBVUGVUFSZVUHUYRVURYTUVMVU
      GUXOVJZVKVLVURYMYSWFVUTUYOVVAUYJVUEUWHMZYLNZUYHEUTWCZKZEUVDOZUYHVVFYEIKZE
      UVEOZWBZVUTUYOVVEVVDYDNZVVDYKNZWBVVKVVDYDYKWOVVLVVHVVMVVJVVLVUCUVKMZYCNVU
      AUVDMZYBNVVHVUCUVOUVKYCVUBSZUWJUWEVSVUAUVDUVCYBUYHSZUYCUYDWGEUYHUVDDVTZUY
      CWHRVVMVUCUVOMZYJNVUBUVNMZYINZVVJVUCUVOUVKYJVVPUWJUWEWGVUBUVNYIVUASZUVESZ
      TVWAVUAUVEMZYHNVVJVUAUVEYHVVQAVTZTEUYHUVEVVRVWEWIWJRWKWJVUEUXAUWHYLVUDSZU
      XTUXLVSUYOUYHVVHDWPZVVJDWPZIZNUYHVWGNZUYHVWHNZWBVVKUVFVWIUYHDEUVDUVEWLWMU
      YHVWGVWHWOVWJVVHVWKVVJVVHDWQVVJDWQWKRWEVVAVUEUXAMZYRNVUDUWTMZYQNZUYJVUEUX
      AUWHYRVWFUXTUXLWGVUDUWTYQVUCSZUWSSZTVWNVUCUWSMZYPNVUBUWRMZYONZUYJVUCUWSYP
      VVPUYATVUBUWRYOVWBUWQSZTVWSVUAUWQMZYNNUYHUWLMZXTNZUYJVUAUWQYNVVQUYBTUYHUW
      LXTVVRUYETVXCUWLXSUYHGZKUYJUYHUWLXSVVRUYEWNUYIVXDUWLUYHWRWSPRRRWTRVHRUYJD
      UVFVDPVUHUYRUUONZQZBLZDLZUYHUVGNZUYLQZDLUYGUYMVXGVXJDVXGVURUUONZVURUUINZV
      URUUNNZQVXJVXEVXKBVUGVVBVUHUYRVURUUOVVCVKVLVURUUIUUNWFVXLVXIVXMUYLVXLVVGE
      UVEOZVVIEUVDOZWBZVXIVXLVVDUUHNVVDUUENZVVDUUGNZWBVXPVUEUXAUWHUUHVWFUXTUXLV
      SVVDUUEUUGWOVXQVXNVXRVXOVXQVVSUUDNVVTUUCNZVXNVUCUVOUVKUUDVVPUWJUWEWGVUBUV
      NUUCVWBVWCTVXSVWDYBNVXNVUAUVEYBVVQVWETEUYHUVEVVRVWEWHWJRVXRVVNUUFNVVOYHNV
      XOVUCUVOUVKUUFVVPUWJUWEVSVUAUVDUVCYHVVQUYCUYDWGEUYHUVDVVRUYCWIRWKRVXIUYHV
      XNDWPZVXODWPZIZNUYHVXTNZUYHVYANZWBVXPUVGVYBUYHDEUVEUVDWLWMUYHVXTVYAWOVYCV
      XNVYDVXOVXNDWQVXODWQWKRPVXMVWLUUMNVWMUULNZUYLVUEUXAUWHUUMVWFUXTUXLWGVUDUW
      TUULVWOVWPTVYEVWQUUKNVWRUUJNZUYLVUCUWSUUKVVPUYATVUBUWRUUJVWBVWTTVYFVXAYGN
      VXBYFNUYLVUAUWQYGVVQUYBTUYHUWLYFVVRUYETDCXARRRWTRVHUYGVXEBUUAOZVXFDLZBLZV
      XHBUUOUUAUXOVULVCVYGVUMVXEQZBLVYIVXEBUUAVDVYJVYHBVYJVUPVXEQVYHVUMVUPVXEVU
      QVFVUHVXEDVGPVHWJVXFBDVIRUYLDUVGVDWEWKUXOUUBUUPWOUWMUWLUYKCWPZUYMCWPZIZNU
      WLVYKNZUWLVYLNZWBUYNUVHVYMUWLCDUVFUVGWLWMUWLVYKVYLWOVYNUYKVYOUYMUYKCWQUYM
      CWQWKRWEXBXCRVHUWNCXDRXFCUVCUVHXEUWHUUSUXLXGXHWJVHXIVHUBAUVCXJUBUVAUVCUYD
      XKWEXL $.
  $}

  $( The ` Swap ` function is a set.  (Contributed by SF, 6-Jan-2015.) $)
  swapex $p |- Swap e. _V $=
    ( cssetk cins2k cins3k cin cpw1 cimak ccompl csik cun csymdif ins2kex pw1ex
    cnnc cvv imakex vvex inex unex sikex ins3kex cswap c1c cdif cxpk cidk ccnvk
    cimagek ccomk c0c dfswap2 ssetkex addcexlem 1cex imagekex nncex xpkex idkex
    csn complex cnvkex cokex snex symdifex eqeltri ) UAABZBZAACZVEDUBEZEZFGCVFV
    GBAHHCIJVIEZEZFUCZVIFZUGZMNUDZDZUEMGZNUDZDZIZUGZUFZHZUHZCZBZVEVEWBAUHZUIURZ
    URZNUDZIZCZJZVIFZGZHZCZDZVIFZHZHZCZIZBZWAHZHZHZHZHZCZDZVKEZEZFZWDHZHZCZWSCZ
    BZIZBZWPHZHZHZHZCZDZXMFZIZJZVKFZGZVHFZNFNUJYMNYLVHYKYJVKVFYIVEAUKKZKXNYHXKX
    MXDXJXCWFXBWEWDAWCUKWBWAVTVPVSVNVOVMVLVIULVHUBUMLZLZOUNMNUOPUPQUEVRUQVQNMUO
    USPUPQRUNZUTZSVAZTKXAWTWSWRVIVEWQYNWPWOWNWMVIVEWLYNWKWGWJWBAYRUKVAWINWHVBPU
    PRTVCYPOUSSZTQYPOZSSTRKXIXHXGXFXEWAYQSSSSSTQXLVKVJVIYPLLZLLZOYGXMYAYFXTXQXS
    XPXOWDYSSSTXRWSUUATKRKYEYDYCYBWPYTSSSSTQUUCORVCUUBOUSYOOPOVD $.

  ${
    $d x y $.
    $( Express the ` _S ` relationship via the set construction functors.
       (Contributed by SF, 7-Jan-2015.) $)
    dfsset2 $p |- _S = U.1 U.1 ( ( ( ( _V X._k _V ) X._k _V ) i^i
     `'_k ~ ( ( Ins3_k SI_k SI_k _S_k (+)
          Ins2_k
            ( Ins3_k ( _S_k o._k SI_k `'_k Image_k ( ( Image_k ( ( Ins3_k ~ (
        ( Ins3_k _S_k i^i Ins2_k _S_k ) "_k ~P1 ~P1 1c ) \
      ( ( Ins2_k Ins2_k _S_k
          (+)
          ( Ins2_k Ins3_k _S_k u.
            Ins3_k SI_k SI_k _S_k ) )
            "_k ~P1 ~P1 ~P1 ~P1 1c ) )
  "_k ~P1 ~P1 1c ) i^i ( Nn X._k _V ) ) u.
  ( _I_k i^i ( ~ Nn X._k _V ) ) ) ) u.
              Ins2_k ( ( Ins2_k _S_k i^i
    Ins3_k SI_k ~ ( ( Ins2_k _S_k (+)
         Ins3_k ( ( `'_k Image_k ( ( Image_k ( ( Ins3_k ~ ( ( Ins3_k _S_k i^i
        Ins2_k _S_k ) "_k ~P1 ~P1 1c ) \
      ( ( Ins2_k Ins2_k _S_k
          (+)
          ( Ins2_k Ins3_k _S_k u.
            Ins3_k SI_k SI_k _S_k ) )
            "_k ~P1 ~P1 ~P1 ~P1 1c ) )
  "_k ~P1 ~P1 1c ) i^i ( Nn X._k _V ) ) u.
  ( _I_k i^i ( ~ Nn X._k _V ) ) ) o._k _S_k ) u. ( { { 0c } } X._k _V ) ) )
        "_k
         ~P1 ~P1 1c ) )
    "_k ~P1 ~P1 1c ) ) ) "_k
          ~P1 ~P1 ~P1 ~P1 1c ) ) "_k _S_k ) $=
      ( vx vy cv cssetk wcel copab cvv cxpk csik cins3k cins2k cin cimak ccompl
      cpw1 cun csymdif cimagek cnnc ccnvk copk wss c1c cdif ccomk c0c csn cuni1
      cidk csset wb vex opkelssetkg mp2an opabbii setconslem4 df-sset 3eqtr4ri
      ) ACZBCZUADEZABFUSUTUBZABFGGHGHDIIJZDDJZDKZLUCOOZMNJVEKVDKVCPQVFOOZMUDVFM
      RSGHLUISNGHLPRTZIUEJVEVEVHDUEUFUGUGGHPJQVFMNIJLVFMKPKQVGMNTLDMUHUHUJVAVBA
      BUSGEUTGEVAVBUKAULBULUSUTGGUMUNUOABDUPABUQUR $.
  $}

  $( The subset relationship is a set.  (Contributed by SF, 6-Jan-2015.) $)
  ssetex $p |- _S e. _V $=
    ( cvv cxpk cssetk csik cins3k cins2k cin cpw1 cimak ccompl cun csymdif cnnc
    cimagek ccnvk ccomk csn cuni1 vvex xpkex csset c1c cdif dfsset2 setconslem5
    cidk c0c cnvkex inex ssetkex imakex uni1ex eqeltri ) UAAABZABZCDDEZCCEZCFZG
    UBHHZIJEURFUQFUPKLUSHHZIUCUSINMABGUFMJABGKNOZDPEURURVACPUGQQABKELUSIJDEGUSI
    FKFLUTIJZOZGZCIZRZRAUDVFVEVDCUOVCUNAAASSTSTVBUEUHUIUJUKULULUM $.

  ${
    $d A x y z t w $.  $d B x y z t w $.
    $( Express the image functor in terms of the set construction functions.
       (Contributed by SF, 7-Jan-2015.) $)
    dfima2 $p |- ( A " B ) =
      ( ( ( ( _V X._k ( _V X._k _V ) ) i^i
     ~ ( ( Ins3_k SI_k SI_k _S_k (+)
          Ins2_k
            ( Ins3_k ( _S_k o._k SI_k `'_k Image_k ( ( Image_k ( ( Ins3_k ~ (
        ( Ins3_k _S_k i^i Ins2_k _S_k ) "_k ~P1 ~P1 1c ) \
      ( ( Ins2_k Ins2_k _S_k
          (+)
          ( Ins2_k Ins3_k _S_k u.
            Ins3_k SI_k SI_k _S_k ) )
            "_k ~P1 ~P1 ~P1 ~P1 1c ) )
  "_k ~P1 ~P1 1c ) i^i ( Nn X._k _V ) ) u.
  ( _I_k i^i ( ~ Nn X._k _V ) ) ) ) u.
              Ins2_k ( ( Ins2_k _S_k i^i
    Ins3_k SI_k ~ ( ( Ins2_k _S_k (+)
         Ins3_k ( ( `'_k Image_k ( ( Image_k ( ( Ins3_k ~ ( ( Ins3_k _S_k i^i
        Ins2_k _S_k ) "_k ~P1 ~P1 1c ) \
      ( ( Ins2_k Ins2_k _S_k
          (+)
          ( Ins2_k Ins3_k _S_k u.
            Ins3_k SI_k SI_k _S_k ) )
            "_k ~P1 ~P1 ~P1 ~P1 1c ) )
  "_k ~P1 ~P1 1c ) i^i ( Nn X._k _V ) ) u.
  ( _I_k i^i ( ~ Nn X._k _V ) ) ) o._k _S_k ) u. ( { { 0c } } X._k _V ) ) )
        "_k
         ~P1 ~P1 1c ) )
    "_k ~P1 ~P1 1c ) ) ) "_k
          ~P1 ~P1 ~P1 ~P1 1c ) ) "_k ~P1 ~P1 A ) "_k B ) $=
      ( vx vy vw vt cv cvv cxpk cssetk csik cins3k cins2k cin cpw1 cimak ccompl
      cun csymdif wcel cima wbr wrex cab c1c cdif cimagek cnnc cidk ccnvk ccomk
      vz c0c csn df-ima copk vex elimak cop setconslem6 opeq1 eleq1d opkelopkab
      weq opeq2 df-br bitr4i rexbii bitri abbi2i eqtr4i ) ABUACGZDGZAUBZCBUCZDU
      DHHHIIJKKLZJJLZJMZNUEOOZPQLVRMVQMVPRSVSOOZPUFVSPUGUHHINUIUHQHINRUGUJZKUKL
      VRVRWAJUKUMUNUNHIRLSVSPQKLNVSPMRMSVTPQNAOOPZBPZDCABUOVODWCVMWCTVLVMUPWBTZ
      CBUCVOCWBBVMDUQZURWDVNCBWDVLVMUSZATZVNEGZFGZUSZATVLWIUSZATWGULEFWBVLVMEFU
      LAUTECVDWJWKAWHVLWIVAVBFDVDWKWFAWIVMVLVEVBCUQWEVCVLVMAVFVGVHVIVJVK $.
  $}

  $( The image of a set under a set is a set.  (Contributed by SF,
     7-Jan-2015.) $)
  imaexg $p |- ( ( A e. V /\ B e. W ) -> ( A " B ) e. _V ) $=
    ( wcel cvv cxpk cssetk csik cins3k cins2k cin cpw1 cimak ccompl cun csymdif
    cimagek cnnc vvex wa cima c1c cdif cidk ccnvk ccomk c0c dfima2 pw1exg xpkex
    csn setconslem5 inex imakexg mpan 3syl sylan syl5eqel ) ACEZBDEZUAABUBFFFGZ
    GZHIIJZHHJZHKZLUCMMZNOJVFKVEKVDPQVGMMZNUDVGNRSFGLUESOFGLPRUFZIUGJVFVFVIHUGU
    HULULFGPJQVGNOIJLVGNKPKQVHNOZLZAMZMZNZBNZFABUIUTVNFEZVAVOFEUTVLFEVMFEZVPACU
    JVLFUJVKFEVQVPVCVJFVBTFFTTUKUKUMUNVKVMFFUOUPUQVNBFDUOURUS $.

  ${
    imaex.1 $e |- A e. _V $.
    imaex.2 $e |- B e. _V $.
    $( The image of a set under a set is a set.  (Contributed by SF,
       7-Jan-2015.) $)
    imaex $p |- ( A " B ) e. _V $=
      ( cvv wcel cima imaexg mp2an ) AEFBEFABGEFCDABEEHI $.
  $}

  ${
    $d A a b c x y z $.  $d B a b c x y z $.
    $( Express Quine composition via Kuratowski composition.  (Contributed by
       SF, 7-Jan-2015.) $)
    dfco1 $p |- ( A o. B ) =
U.1 U.1 ( ( ( ( _V X._k _V ) X._k _V ) i^i
     `'_k ~ ( ( Ins3_k SI_k SI_k _S_k (+)
          Ins2_k
            ( Ins3_k ( _S_k o._k SI_k `'_k Image_k ( ( Image_k ( ( Ins3_k ~ (
        ( Ins3_k _S_k i^i Ins2_k _S_k ) "_k ~P1 ~P1 1c ) \
      ( ( Ins2_k Ins2_k _S_k
          (+)
          ( Ins2_k Ins3_k _S_k u.
            Ins3_k SI_k SI_k _S_k ) )
            "_k ~P1 ~P1 ~P1 ~P1 1c ) )
  "_k ~P1 ~P1 1c ) i^i ( Nn X._k _V ) ) u.
  ( _I_k i^i ( ~ Nn X._k _V ) ) ) ) u.
              Ins2_k ( ( Ins2_k _S_k i^i
    Ins3_k SI_k ~ ( ( Ins2_k _S_k (+)
         Ins3_k ( ( `'_k Image_k ( ( Image_k ( ( Ins3_k ~ ( ( Ins3_k _S_k i^i
        Ins2_k _S_k ) "_k ~P1 ~P1 1c ) \
      ( ( Ins2_k Ins2_k _S_k
          (+)
          ( Ins2_k Ins3_k _S_k u.
            Ins3_k SI_k SI_k _S_k ) )
            "_k ~P1 ~P1 ~P1 ~P1 1c ) )
  "_k ~P1 ~P1 1c ) i^i ( Nn X._k _V ) ) u.
  ( _I_k i^i ( ~ Nn X._k _V ) ) ) o._k _S_k ) u. ( { { 0c } } X._k _V ) ) )
        "_k
         ~P1 ~P1 1c ) )
    "_k ~P1 ~P1 1c ) ) ) "_k
          ~P1 ~P1 ~P1 ~P1 1c ) ) "_k
( ( ( ( _V X._k ( _V X._k _V ) ) i^i
     ~ ( ( Ins3_k SI_k SI_k _S_k (+)
          Ins2_k
            ( Ins3_k ( _S_k o._k SI_k `'_k Image_k ( ( Image_k ( ( Ins3_k ~ (
        ( Ins3_k _S_k i^i Ins2_k _S_k ) "_k ~P1 ~P1 1c ) \
      ( ( Ins2_k Ins2_k _S_k
          (+)
          ( Ins2_k Ins3_k _S_k u.
            Ins3_k SI_k SI_k _S_k ) )
            "_k ~P1 ~P1 ~P1 ~P1 1c ) )
  "_k ~P1 ~P1 1c ) i^i ( Nn X._k _V ) ) u.
  ( _I_k i^i ( ~ Nn X._k _V ) ) ) ) u.
              Ins2_k ( ( Ins2_k _S_k i^i
    Ins3_k SI_k ~ ( ( Ins2_k _S_k (+)
         Ins3_k ( ( `'_k Image_k ( ( Image_k ( ( Ins3_k ~ ( ( Ins3_k _S_k i^i
        Ins2_k _S_k ) "_k ~P1 ~P1 1c ) \
      ( ( Ins2_k Ins2_k _S_k
          (+)
          ( Ins2_k Ins3_k _S_k u.
            Ins3_k SI_k SI_k _S_k ) )
            "_k ~P1 ~P1 ~P1 ~P1 1c ) )
  "_k ~P1 ~P1 1c ) i^i ( Nn X._k _V ) ) u.
  ( _I_k i^i ( ~ Nn X._k _V ) ) ) o._k _S_k ) u. ( { { 0c } } X._k _V ) ) )
        "_k
         ~P1 ~P1 1c ) )
    "_k ~P1 ~P1 1c ) ) ) "_k
          ~P1 ~P1 ~P1 ~P1 1c ) ) "_k ~P1 ~P1 A )
o._k
( ( ( _V X._k ( _V X._k _V ) ) i^i
     ~ ( ( Ins3_k SI_k SI_k _S_k (+)
          Ins2_k
            ( Ins3_k ( _S_k o._k SI_k `'_k Image_k ( ( Image_k ( ( Ins3_k ~ (
        ( Ins3_k _S_k i^i Ins2_k _S_k ) "_k ~P1 ~P1 1c ) \
      ( ( Ins2_k Ins2_k _S_k
          (+)
          ( Ins2_k Ins3_k _S_k u.
            Ins3_k SI_k SI_k _S_k ) )
            "_k ~P1 ~P1 ~P1 ~P1 1c ) )
  "_k ~P1 ~P1 1c ) i^i ( Nn X._k _V ) ) u.
  ( _I_k i^i ( ~ Nn X._k _V ) ) ) ) u.
              Ins2_k ( ( Ins2_k _S_k i^i
    Ins3_k SI_k ~ ( ( Ins2_k _S_k (+)
         Ins3_k ( ( `'_k Image_k ( ( Image_k ( ( Ins3_k ~ ( ( Ins3_k _S_k i^i
        Ins2_k _S_k ) "_k ~P1 ~P1 1c ) \
      ( ( Ins2_k Ins2_k _S_k
          (+)
          ( Ins2_k Ins3_k _S_k u.
            Ins3_k SI_k SI_k _S_k ) )
            "_k ~P1 ~P1 ~P1 ~P1 1c ) )
  "_k ~P1 ~P1 1c ) i^i ( Nn X._k _V ) ) u.
  ( _I_k i^i ( ~ Nn X._k _V ) ) ) o._k _S_k ) u. ( { { 0c } } X._k _V ) ) )
        "_k
         ~P1 ~P1 1c ) )
    "_k ~P1 ~P1 1c ) ) ) "_k
          ~P1 ~P1 ~P1 ~P1 1c ) ) "_k ~P1 ~P1 B ) ) ) $=
      ( vx vy vz va vb vc cv cvv cxpk cssetk csik cins3k cins2k cpw1 cimak wcel
      cin cop copk c1c ccompl cun csymdif cdif cimagek cnnc ccnvk ccomk c0c csn
      cidk copab wbr wa wex cuni1 ccom vex opkelcok setconslem6 weq opeq1 opeq2
      eleq1d opkelopkab df-br bitr4i anbi12i exbii opabbii setconslem4 3eqtr4ri
      bitri df-co ) CIZDIZUAJJJKZKLMMNZLLNZLOZSUBPPZQUCNWBOWAOVTUDUEWCPPZQUFWCQ
      UGUHJKSUMUHUCJKSUDUGUIZMUJNWBWBWELUJUKULULJKUDNUEWCQUCMNSWCQOUDOUEWDQUCZS
      ZAPPQZWGBPPQZUJZRZCDUNVQEIZBUOZWLVRAUOZUPZEUQZCDUNVSJKWFUISWJQURURABUSWKW
      PCDWKVQWLUAWIRZWLVRUAWHRZUPZEUQWPEVQVRWHWICUTZDUTZVAWSWOEWQWMWRWNWQVQWLTZ
      BRZWMFIZGIZTZBRVQXETZBRXCHFGWIVQWLFGHBVBFCVCXFXGBXDVQXEVDVFGEVCXGXBBXEWLV
      QVEVFWTEUTZVGVQWLBVHVIWRWLVRTZARZWNXFARWLXETZARXJHFGWHWLVRFGHAVBFEVCXFXKA
      XDWLXEVDVFGDVCXKXIAXEVRWLVEVFXHXAVGWLVRAVHVIVJVKVOVLCDWJVMCDEABVPVN $.
  $}

  $( The composition of two sets is a set.  (Contributed by SF, 7-Jan-2015.) $)
  coexg $p |- ( ( A e. V /\ B e. W ) -> ( A o. B ) e. _V ) $=
    ( wcel cvv cxpk cssetk csik cins3k cins2k cin cpw1 cimak ccompl cun csymdif
    ccomk vvex pw1exg ccom c1c cdif cimagek cnnc cidk ccnvk c0c csn cuni1 dfco1
    wa xpkex setconslem5 cnvkex inex imakexg sylancr cokexg syl2an uni1exg 3syl
    syl syl5eqel ) ACEZBDEZULZABUAFFGZFGZHIIJZHHJZHKZLUBMMZNOJVLKVKKVJPQVMMMZNU
    CVMNUDUEFGLUFUEOFGLPUDUGZIRJVLVLVOHRUHUIUIFGPJQVMNOIJLVMNKPKQVNNOZUGZLZFVHG
    ZVPLZAMZMZNZVTBMZMZNZRZNZUJZUJZFABUKVGWHFEZWIFEWJFEVGVRFEWGFEZWKVIVQVHFFFSS
    UMZSUMVPUNUOUPVEWCFEZWFFEZWLVFVEVTFEZWBFEZWNVSVPFVHSWMUMUNUPZVEWAFEWQACTWAF
    TVCVTWBFFUQURVFWPWEFEZWOWRVFWDFEWSBDTWDFTVCVTWEFFUQURWCWFFFUSUTVRWGFFUQURWH
    FVAWIFVAVBVD $.

  ${
    coex.1 $e |- A e. _V $.
    coex.2 $e |- B e. _V $.
    $( The composition of two sets is a set.  (Contributed by SF,
       7-Jan-2015.) $)
    coex $p |- ( A o. B ) e. _V $=
      ( cvv wcel ccom coexg mp2an ) AEFBEFABGEFCDABEEHI $.
  $}

  ${
    $d A x y z w a b c $.
    $( Express singleton image in terms of the Kuratowski singleton image.
       (Contributed by SF, 7-Jan-2015.) $)
    dfsi2 $p |- SI A =
U.1 U.1 ( ( ( ( _V X._k _V ) X._k _V ) i^i
     `'_k ~ ( ( Ins3_k SI_k SI_k _S_k (+)
          Ins2_k
            ( Ins3_k ( _S_k o._k SI_k `'_k Image_k ( ( Image_k ( ( Ins3_k ~ (
        ( Ins3_k _S_k i^i Ins2_k _S_k ) "_k ~P1 ~P1 1c ) \
      ( ( Ins2_k Ins2_k _S_k
          (+)
          ( Ins2_k Ins3_k _S_k u.
            Ins3_k SI_k SI_k _S_k ) )
            "_k ~P1 ~P1 ~P1 ~P1 1c ) )
  "_k ~P1 ~P1 1c ) i^i ( Nn X._k _V ) ) u.
  ( _I_k i^i ( ~ Nn X._k _V ) ) ) ) u.
              Ins2_k ( ( Ins2_k _S_k i^i
    Ins3_k SI_k ~ ( ( Ins2_k _S_k (+)
         Ins3_k ( ( `'_k Image_k ( ( Image_k ( ( Ins3_k ~ ( ( Ins3_k _S_k i^i
        Ins2_k _S_k ) "_k ~P1 ~P1 1c ) \
      ( ( Ins2_k Ins2_k _S_k
          (+)
          ( Ins2_k Ins3_k _S_k u.
            Ins3_k SI_k SI_k _S_k ) )
            "_k ~P1 ~P1 ~P1 ~P1 1c ) )
  "_k ~P1 ~P1 1c ) i^i ( Nn X._k _V ) ) u.
  ( _I_k i^i ( ~ Nn X._k _V ) ) ) o._k _S_k ) u. ( { { 0c } } X._k _V ) ) )
        "_k
         ~P1 ~P1 1c ) )
    "_k ~P1 ~P1 1c ) ) ) "_k
          ~P1 ~P1 ~P1 ~P1 1c ) ) "_k
SI_k ( ( ( _V X._k ( _V X._k _V ) ) i^i
     ~ ( ( Ins3_k SI_k SI_k _S_k (+)
          Ins2_k
            ( Ins3_k ( _S_k o._k SI_k `'_k Image_k ( ( Image_k ( ( Ins3_k ~ (
        ( Ins3_k _S_k i^i Ins2_k _S_k ) "_k ~P1 ~P1 1c ) \
      ( ( Ins2_k Ins2_k _S_k
          (+)
          ( Ins2_k Ins3_k _S_k u.
            Ins3_k SI_k SI_k _S_k ) )
            "_k ~P1 ~P1 ~P1 ~P1 1c ) )
  "_k ~P1 ~P1 1c ) i^i ( Nn X._k _V ) ) u.
  ( _I_k i^i ( ~ Nn X._k _V ) ) ) ) u.
              Ins2_k ( ( Ins2_k _S_k i^i
    Ins3_k SI_k ~ ( ( Ins2_k _S_k (+)
         Ins3_k ( ( `'_k Image_k ( ( Image_k ( ( Ins3_k ~ ( ( Ins3_k _S_k i^i
        Ins2_k _S_k ) "_k ~P1 ~P1 1c ) \
      ( ( Ins2_k Ins2_k _S_k
          (+)
          ( Ins2_k Ins3_k _S_k u.
            Ins3_k SI_k SI_k _S_k ) )
            "_k ~P1 ~P1 ~P1 ~P1 1c ) )
  "_k ~P1 ~P1 1c ) i^i ( Nn X._k _V ) ) u.
  ( _I_k i^i ( ~ Nn X._k _V ) ) ) o._k _S_k ) u. ( { { 0c } } X._k _V ) ) )
        "_k
         ~P1 ~P1 1c ) )
    "_k ~P1 ~P1 1c ) ) ) "_k
          ~P1 ~P1 ~P1 ~P1 1c ) ) "_k ~P1 ~P1 A ) ) $=
      ( vz vw vx vy va vb cv cvv cxpk cssetk csik cins3k cins2k cin cpw1 ccompl
      cimak cun wcel vc copk c1c csymdif cdif cimagek cnnc cidk ccnvk ccomk c0c
      csn copab wceq wbr w3a wex cuni1 csi wb vex opkelsikg cop setconslem6 weq
      mp2an opeq1 eleq1d opeq2 opkelopkab df-br bitr4i 2exbii bitri setconslem4
      3anbi3i opabbii df-si 3eqtr4ri ) BHZCHZUBIIIJZJKLLMZKKMZKNZOUCPPZRQMWENWD
      NWCSUDWFPPZRUEWFRUFUGIJOUHUGQIJOSUFUIZLUJMWEWEWHKUJUKULULIJSMUDWFRQLMOWFR
      NSNUDWGRQZOAPPRZLZTZBCUMVTDHZULUNZWAEHZULUNZWMWOAUOZUPZEUQDUQZBCUMWBIJWIU
      IOWKRURURAUSWLWSBCWLWNWPWMWOUBWJTZUPZEUQDUQZWSVTITWAITWLXBUTBVACVADEVTWAW
      JIIVBVFXAWRDEWTWQWNWPWTWMWOVCZATZWQFHZGHZVCZATWMXFVCZATXDUAFGWJWMWOFGUAAV
      DFDVEXGXHAXEWMXFVGVHGEVEXHXCAXFWOWMVIVHDVAEVAVJWMWOAVKVLVPVMVNVQBCWKVOBCD
      EAVRVS $.
  $}

  $( The singleton image of a set is a set.  (Contributed by SF,
     7-Jan-2015.) $)
  siexg $p |- ( A e. V -> SI A e. _V ) $=
    ( wcel cvv cxpk cssetk csik cins3k cins2k cin cpw1 cimak ccompl cun csymdif
    cimagek cnnc vvex xpkex 3syl csi c1c cdif cidk ccnvk ccomk c0c cuni1 pw1exg
    csn dfsi2 setconslem5 inex imakexg mpan sikexg cnvkex uni1exg syl5eqel ) AB
    CZAUADDEZDEZFGGHZFFHZFIZJUBKKZLMHVEIVDIVCNOVFKKZLUCVFLPQDEJUDQMDEJNPUEZGUFH
    VEVEVHFUFUGUJUJDENHOVFLMGHJVFLINIOVGLMZUEZJZDVAEZVIJZAKZKZLZGZLZUHZUHZDAUKU
    TVRDCZVSDCVTDCUTVPDCZVQDCZWAUTVNDCVODCZWBABUIVNDUIVMDCWDWBVLVIDVARDDRRSZSUL
    UMVMVODDUNUOTVPDUPVKDCWCWAVBVJVADWERSVIULUQUMVKVQDDUNUOTVRDURVSDURTUS $.

  ${
    siex.1 $e |- A e. _V $.
    $( The singleton image of a set is a set.  (Contributed by SF,
       7-Jan-2015.) $)
    siex $p |- SI A e. _V $=
      ( cvv wcel csi siexg ax-mp ) ACDAECDBACFG $.
  $}

  ${
    $d x y A $.  $d x y B $.  $d x y C $.
    $( Membership in an image.  Theorem 34 of [Suppes] p. 65.  (Contributed by
       SF, 19-Apr-2004.) $)
    elima $p |- ( A e. ( B " C ) <-> E. x e. C x B A ) $=
      ( vy cima wcel cvv wbr wrex elex brex simprd rexlimivw wceq breq2 rexbidv
      cv df-ima elab2g pm5.21nii ) BCDFZGBHGZARZBCIZADJZBUBKUEUCADUEUDHGUCUDBCL
      MNUDERZCIZADJUFEBUBHUGBOUHUEADUGBUDCPQEACDSTUA $.

    $( Membership in an image.  Theorem 34 of [Suppes] p. 65.  (Contributed by
       SF, 11-Aug-2004.) $)
    elima2 $p |- ( A e. ( B " C ) <-> E. x ( x e. C /\ x B A ) ) $=
      ( cima wcel cv wbr wrex wa wex elima df-rex bitri ) BCDEFAGZBCHZADIODFPJA
      KABCDLPADMN $.

    $( Membership in an image.  Theorem 34 of [Suppes] p. 65.  (Contributed by
       SF, 14-Aug-1994.) $)
    elima3 $p |- ( A e. ( B " C ) <-> E. x ( x e. C /\ <. x , A >. e. B ) ) $=
      ( cima wcel cv cop wrex wa wex wbr elima df-br rexbii bitri df-rex ) BCDE
      FZAGZBHCFZADIZSDFTJAKRSBCLZADIUAABCDMUBTADSBCNOPTADQP $.
  $}

  ${
    $d A x y $.  $d B x y $.
    $( Binary relationship form of the subset relationship.  (Contributed by
       SF, 11-Feb-2015.) $)
    brssetg $p |- ( ( A e. V /\ B e. W ) -> ( A _S B <-> A C_ B ) ) $=
      ( vx vy cv wss csset sseq1 sseq2 df-sset brabg ) EGZFGZHAOHABHEFABCDINAOJ
      OBAKEFLM $.
  $}

  ${
    brsset.1 $e |- A e. _V $.
    brsset.2 $e |- B e. _V $.
    $( Binary relationship form of the subset relationship.  (Contributed by
       SF, 11-Feb-2015.) $)
    brsset $p |- ( A _S B <-> A C_ B ) $=
      ( cvv wcel csset wbr wss wb brssetg mp2an ) AEFBEFABGHABIJCDABEEKL $.
  $}

  ${
    brssetsn.1 $e |- A e. _V $.
    brssetsn.2 $e |- B e. _V $.
    $( Set membership in terms of the subset relationship.  (Contributed by SF,
       11-Feb-2015.) $)
    brssetsn $p |- ( { A } _S B <-> A e. B ) $=
      ( csn csset wbr wss wcel snex brsset snss bitr4i ) AEZBFGNBHABINBAJDKABCL
      M $.

    $( Set membership in terms of the subset relationship.  (Contributed by SF,
       11-Feb-2015.) $)
    opelssetsn $p |- ( <. { A } , B >. e. _S <-> A e. B ) $=
      ( csn cop csset wcel wbr df-br brssetsn bitr3i ) AEZBFGHMBGIABHMBGJABCDKL
      $.
  $}

  ${
    $d A w $.  $d A x $.  $d A y $.  $d A z $.  $d B w $.  $d B x $.  $d B y $.
    $d B z $.  $d R w $.  $d R x $.  $d R y $.  $d R z $.  $d w x $.  $d w y $.
    $d w z $.  $d x y $.  $d x z $.  $d y z $.

    $( Binary relationship over a singleton image.  (Contributed by SF,
       11-Feb-2015.) $)
    brsi $p |- ( A SI R B <->
          E. x E. y ( A = { x } /\ B = { y } /\ x R y ) ) $=
      ( vz vw wbr cvv wcel wa cv csn wceq w3a wex snex eleq1 eqeq1 2exbidv brex
      csi pm3.2i bi2anan9 mpbiri 3adant3 exlimivv 3anbi1d df-si brabg pm5.21nii
      3anbi2d ) CDEUBZHCIJZDIJZKZCALZMZNZDBLZMZNZUQUTEHZOZBPAPZCDUMUAVDUPABUSVB
      UPVCUSVBKUPURIJZVAIJZKVFVGUQQUTQUCUSUNVFVBUOVGCURIRDVAIRUDUEUFUGFLZURNZGL
      ZVANZVCOZBPAPUSVKVCOZBPAPVEFGCDIIUMVHCNZVLVMABVNVIUSVKVCVHCURSUHTVJDNZVMV
      DABVOVKVBUSVCVJDVASULTFGABEUIUJUK $.
  $}


$(
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
                Epsilon and identity relations
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
$)

  $( Declare new constant symbols. $)
  $c _E $. $( Letter E (for epsilon relation) $)
  $c _I $.  $( Letter I (for identity relation) $)

  $( Extend class notation to include the epsilon relation. $)
  cep $a class _E $.

  $( Extend the definition of a class to include identity relation. $)
  cid $a class _I $.

  ${
    $d x y $.
    $( Define the epsilon relation.  Similar to Definition 6.22 of
       [TakeutiZaring] p. 30.  (Contributed by SF, 5-Jan-2015.) $)
    df-eprel $a |- _E = { <. x , y >. | x e. y } $.
  $}

  ${
    $d x y A $.  $d x y B $.
    epelc.1 $e |- B e. _V $.
    $( The epsilon relation and the membership relation are the same.
       (Contributed by NM, 13-Aug-1995.) $)
    epelc $p |- ( A _E B <-> A e. B ) $=
      ( vx vy cep wbr cvv wcel brex simpld wb wel cv eleq1 eleq2 df-eprel brabg
      elex mpan2 pm5.21nii ) ABFGZAHIZABIZUBUCBHIZABFJKABSUCUEUBUDLCDEMAENZIUDD
      EABHHFDNAUFOUFBAPDEQRTUA $.
  $}

  $( The epsilon relation and the membership relation are the same.
     (Contributed by NM, 13-Aug-1995.) $)
  epel $p |- ( x _E y <-> x e. y ) $=
    ( cv vex epelc ) ACBCBDE $.

  ${
    $d x y $.
    $( Define the identity relation.  Definition 9.15 of [Quine] p. 64.
       (Contributed by SF, 5-Jan-2015.) $)
    df-id $a |- _I = { <. x , y >. | x = y } $.
  $}

  ${
    $d w z x $.  $d w z y $.
    $( A stronger version of ~ df-id that doesn't require ` x ` and ` y ` to be
       distinct.  Ordinarily, we wouldn't use this as a definition, since
       non-distinct dummy variables would make soundness verification more
       difficult (as the proof here shows).  The proof can be instructive in
       showing how distinct variable requirements may be eliminated, a task
       that is not necessarily obvious.  (Contributed by NM, 5-Feb-2008.)
       (Revised by Mario Carneiro, 18-Nov-2016.) $)
    dfid3 $p |- _I = { <. x , y >. | x = y } $=
      ( vz vw cv wceq copab cop wa wex cab wb exbii opeq2 equequ2 anbi12d nfnae
      eqeq2d nfcvd nfeqd cid df-id wal ancom equcom bitri ceqsexv equid biantru
      anbi1i vex 3bitri nfe1 19.9 bitr4i sps drex1 drex2 syl5bb wn nfcvf2 nfopd
      nfand wi a1i cbvexd exbid pm2.61i abbii df-opab 3eqtr4i eqtri ) UAAEZCEZF
      ZACGZVMBEZFZABGZACUBDEZVMVNHZFZVOIZCJZAJZDKVTVMVQHZFZVRIZBJZAJZDKVPVSWEWJ
      DVRAUCZWEWJLWEVTVMVMHZFZVMVMFZIZAJZAJZWKWJWEWPWQWDWOAWDVNVMFZWBIZCJWMWOWC
      WSCWCVOWBIWSWBVOUDVOWRWBACUEUJUFMWBWMCVMAUKWRWAWLVTVNVMVMNRUGWNWMAUHUIULM
      WPAWOAUMUNUOWPWIABAWOWHABVRWOWHLAVRWMWGWNVRVRWLWFVTVMVQVMNRABAOPUPUQURUSW
      KUTZWDWIAABAQWTWCWHCBABBQWTWBVOBWTBVTWAWTBVTSWTBVMVNABVAZWTBVNSZVBTWTBVMV
      NXAXBTVCVNVQFZWCWHLVDWTXCWBWGVOVRXCWAWFVTVNVQVMNRCBAOPVEVFVGVHVIVOACDVJVR
      ABDVJVKVL $.
  $}

  $( Alternate definition of the identity relation.  (Contributed by NM,
     15-Mar-2007.) $)
  dfid2 $p |- _I = { <. x , x >. | x = x } $=
    ( dfid3 ) AAB $.


$(
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
        Functions and relations
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
$)

  $( Introduce new constant symbols. $)
  $c X. $. $( Times symbol (cross product symbol) (read: 'cross') $)
  $c `' $. $( Small elevated smiley (converse operation) $)
  $c dom $. $( Domain $)
  $c ran $. $( Range $)
  $c |` $. $( Right hook (restriction symbol) $)
  $c Fun $. $( Function predicate $)
  $c Fn $. $( Function connective $)
  $c : $. $( Colon $)
  $c --> $. $( Domain-codomain connective $)
  $c -1-1-> $. $( 'One-to-one' domain-codomain connective $)
  $c -onto-> $. $( 'Onto' domain-codomain connective $)
  $c -1-1-onto-> $. $( 'One-to-one' and 'onto' domain-codomain connective $)
  $c ` $. $( Left apostrophe (function value symbol) $)
  $c Isom $. $( Isomorphism $)
  $c 2nd $. $( Second function. $)

  $( Extend the definition of a class to include the cross product. $)
  cxp $a class ( A X. B ) $.

  $( Extend the definition of a class to include the converse of a class. $)
  ccnv $a class `' A $.

  $( Extend the definition of a class to include the domain of a class. $)
  cdm $a class dom A $.

  $( Extend the definition of a class to include the range of a class. $)
  crn $a class ran A $.

  $( Extend the definition of a class to include the restriction of a class.
     (Read:  The restriction of ` A ` to ` B ` .) $)
  cres $a class ( A |` B ) $.

  $( Extend the definition of a wff to include the function predicate.  (Read:
     ` A ` is a function.) $)
  wfun $a wff Fun A $.

  $( Extend the definition of a wff to include the function predicate with a
     domain.  (Read: ` A ` is a function on ` B ` .) $)
  wfn $a wff A Fn B $.

  $( Extend the definition of a wff to include the function predicate with
     domain and codomain.  (Read: ` F ` maps ` A ` into ` B ` .) $)
  wf $a wff F : A --> B $.

  $( Extend the definition of a wff to include one-to-one functions.  (Read:
     ` F ` maps ` A ` one-to-one into ` B ` .)  The notation ("1-1" above the
     arrow) is from Definition 6.15(5) of [TakeutiZaring] p. 27. $)
  wf1 $a wff F : A -1-1-> B $.

  $( Extend the definition of a wff to include onto functions.  (Read: ` F `
     maps ` A ` onto ` B ` .)  The notation ("onto" below the arrow) is from
     Definition 6.15(4) of [TakeutiZaring] p. 27. $)
  wfo $a wff F : A -onto-> B $.

  $( Extend the definition of a wff to include one-to-one onto functions.
     (Read: ` F ` maps ` A ` one-to-one onto ` B ` .)  The notation ("1-1"
     above the arrow and "onto" below the arrow) is from Definition 6.15(6) of
     [TakeutiZaring] p. 27. $)
  wf1o $a wff F : A -1-1-onto-> B $.

  $( Extend the definition of a class to include the value of a function.
     (Read:  The value of ` F ` at ` A ` , or " ` F ` of ` A ` .") $)
  cfv $a class ( F ` A ) $.

  $( Extend the definition of a wff to include the isomorphism property.
     (Read: ` H ` is an ` R ` , ` S ` isomorphism of ` A ` onto ` B ` .) $)
  wiso $a wff H Isom R , S ( A , B ) $.

  $( Extend the definition of a class to include the second function. $)
  c2nd $a class 2nd $.

  ${
    $d x y A $.  $d x y B $.  $d x y F $.
    $( Define the cross product of two classes.  Definition 9.11 of [Quine]
       p. 64.  (Contributed by SF, 5-Jan-2015.) $)
    df-xp $a |- ( A X. B ) = { <. x , y >. | ( x e. A /\ y e. B ) } $.

    $( Define the converse of a class.  Definition 9.12 of [Quine] p. 64.  We
       use Quine's breve accent (smile) notation.  Like Quine, we use it as a
       prefix, which eliminates the need for parentheses.  Many authors use the
       postfix superscript "to the minus one."  "Converse" is Quine's
       terminology; some authors call it "inverse," especially when the
       argument is a function.  (Contributed by SF, 5-Jan-2015.) $)
    df-cnv $a |- `' A = { <. x , y >. | y A x } $.

    $( Define the range of a class.  The notation " ` ran ` " is used by
       Enderton; other authors sometimes use script R or script W. (Contributed
       by SF, 5-Jan-2015.) $)
    df-rn $a |- ran A = ( A " _V ) $.

    $( Define the domain of a class.  The notation " ` dom ` " is used by
       Enderton; other authors sometimes use script D. (Contributed by SF,
       5-Jan-2015.) $)
    df-dm $a |- dom A = ran `' A $.

    $( Define the restriction of a class.  Definition 6.6(1) of [TakeutiZaring]
       p. 24.  (Contributed by SF, 5-Jan-2015.) $)
    df-res $a |- ( A |` B ) = ( A i^i ( B X. _V ) ) $.

    $( Define a function.  Definition 10.1 of [Quine] p. 65.  For alternate
       definitions, see ~ dffun2 , ~ dffun3 , ~ dffun4 , ~ dffun5 , ~ dffun6 ,
       ~ dffun7 , ~ dffun8 , and ~ dffun9 .  (Contributed by SF,
       5-Jan-2015.) (Revised by Scott Fenton, 14-Apr-2021.) $)
    df-fun $a |- ( Fun A <-> ( A o. `' A ) C_ _I ) $.

    $( Define a function with domain.  Definition 6.15(1) of [TakeutiZaring]
       p. 27.  For alternate definitions, see ~ dffn2 , ~ dffn3 , ~ dffn4 , and
       ~ dffn5 .  (Contributed by SF, 5-Jan-2015.) $)
    df-fn $a |- ( A Fn B <-> ( Fun A /\ dom A = B ) ) $.

    $( Define a function (mapping) with domain and codomain.  Definition
       6.15(3) of [TakeutiZaring] p. 27.  For alternate definitions, see
       ~ dff2 , ~ dff3 , and ~ dff4 .  (Contributed by SF, 5-Jan-2015.) $)
    df-f $a |- ( F : A --> B <-> ( F Fn A /\ ran F C_ B ) ) $.

    $( Define a one-to-one function.  For equivalent definitions see ~ dff12
       and ~ dff13 .  Compare Definition 6.15(5) of [TakeutiZaring] p. 27.  We
       use their notation ("1-1" above the arrow).  (Contributed by SF,
       5-Jan-2015.) $)
    df-f1 $a |- ( F : A -1-1-> B <-> ( F : A --> B /\ Fun `' F ) ) $.

    $( Define an onto function.  Definition 6.15(4) of [TakeutiZaring] p. 27.
       We use their notation ("onto" under the arrow).  For alternate
       definitions, see ~ dffo2 , ~ dffo3 , ~ dffo4 , and ~ dffo5 .
       (Contributed by SF, 5-Jan-2015.) $)
    df-fo $a |- ( F : A -onto-> B <-> ( F Fn A /\ ran F = B ) ) $.

    $( Define a one-to-one onto function.  For equivalent definitions see
       ~ dff1o2 , ~ dff1o3 , ~ dff1o4 , and ~ dff1o5 .  Compare Definition
       6.15(6) of [TakeutiZaring] p. 27.  We use their notation ("1-1" above
       the arrow and "onto" below the arrow).  (Contributed by SF,
       5-Jan-2015.) $)
    df-f1o $a |- ( F : A -1-1-onto-> B <->
                ( F : A -1-1-> B /\ F : A -onto-> B ) ) $.

    $( Define the value of a function.  (Contributed by SF, 5-Jan-2015.) $)
    df-fv $a |- ( F ` A ) = ( iota x A F x ) $.
  $}

  ${
    $d x y A $.  $d x y B $.  $d x y R $.  $d x y S $.  $d x y H $.
    $( Define the isomorphism predicate.  We read this as " ` H ` is an ` R ` ,
       ` S ` isomorphism of ` A ` onto ` B ` ."  Normally, ` R ` and ` S ` are
       ordering relations on ` A ` and ` B ` respectively.  Definition 6.28 of
       [TakeutiZaring] p. 32, whose notation is the same as ours except that
       ` R ` and ` S ` are subscripts.  (Contributed by SF, 5-Jan-2015.) $)
    df-iso $a |- ( H Isom R , S ( A , B ) <-> ( H : A -1-1-onto-> B /\
                 A. x e. A A. y e. A ( x R y <-> ( H ` x ) S ( H ` y ) ) ) ) $.

  $}

  ${
    $d x y z $.
    $( Define the ` 2nd ` function.  This function extracts the second member
       of an ordered pair.  (Contributed by SF, 5-Jan-2015.) $)
    df-2nd $a |- 2nd = { <. x , y >. | E. z x = <. z , y >. } $.
  $}

  ${
    $d x y z A $.  $d x y z B $.  $d x y z C $.
    $( Equality theorem for cross product.  (Contributed by NM, 4-Jul-1994.) $)
    xpeq1 $p |- ( A = B -> ( A X. C ) = ( B X. C ) ) $=
      ( vx vy wceq cv wcel wa copab cxp eleq2 anbi1d opabbidv df-xp 3eqtr4g ) A
      BFZDGZAHZEGCHZIZDEJRBHZTIZDEJACKBCKQUAUCDEQSUBTABRLMNDEACODEBCOP $.

    $( Equality theorem for cross product.  (Contributed by NM, 5-Jul-1994.) $)
    xpeq2 $p |- ( A = B -> ( C X. A ) = ( C X. B ) ) $=
      ( vx vy wceq cv wcel wa copab cxp eleq2 anbi2d opabbidv df-xp 3eqtr4g ) A
      BFZDGCHZEGZAHZIZDEJRSBHZIZDEJCAKCBKQUAUCDEQTUBRABSLMNDECAODECBOP $.

    $( Membership in a cross product.  Uses fewer axioms than ~ elxp .
       (Contributed by NM, 4-Jul-1994.) $)
    elxpi $p |- ( A e. ( B X. C ) -> E. x E. y ( A = <. x , y >. /\
               ( x e. B /\ y e. C ) ) ) $=
      ( vz cv cop wceq wcel wa wex cab cxp eqeq1 anbi1d 2exbidv elabg ibi copab
      df-xp df-opab eqtri eleq2s ) CAGZBGZHZIZUEDJUFEJKZKZBLALZCFGZUGIZUIKZBLAL
      ZFMZDENZCUPJUKUOUKFCUPULCIZUNUJABURUMUHUIULCUGOPQRSUQUIABTUPABDEUAUIABFUB
      UCUD $.

    $( Membership in a cross product.  (Contributed by NM, 4-Jul-1994.) $)
    elxp $p |- ( A e. ( B X. C ) <-> E. x E. y ( A = <. x , y >. /\
               ( x e. B /\ y e. C ) ) ) $=
      ( cxp wcel cv wa copab cop wceq wex df-xp eleq2i elopab bitri ) CDEFZGCAH
      ZDGBHZEGIZABJZGCSTKLUAIBMAMRUBCABDENOUAABCPQ $.

    $( Membership in a cross product.  (Contributed by NM, 23-Feb-2004.) $)
    elxp2 $p |- ( A e. ( B X. C ) <-> E. x e. B E. y e. C A = <. x , y >. ) $=
      ( cv wcel cop wceq wrex wa wex cxp df-rex r19.42v an13 exbii 3bitr3i elxp
      3bitr4ri ) AFZDGZCUABFZHIZBEJZKZALUDUBUCEGZKKZBLZALUEADJCDEMGUFUIAUBUDKZB
      EJUGUJKZBLUFUIUJBENUBUDBEOUKUHBUGUBUDPQRQUEADNABCDEST $.
  $}

  $( Equality theorem for cross product.  (Contributed by FL, 31-Aug-2009.) $)
  xpeq12 $p |- ( ( A = B /\ C = D ) -> ( A X. C ) = ( B X. D ) ) $=
    ( wceq cxp xpeq1 xpeq2 sylan9eq ) ABECDEACFBCFBDFABCGCDBHI $.

  ${
    xpeq1i.1 $e |- A = B $.
    $( Equality inference for cross product.  (Contributed by NM,
       21-Dec-2008.) $)
    xpeq1i $p |- ( A X. C ) = ( B X. C ) $=
      ( wceq cxp xpeq1 ax-mp ) ABEACFBCFEDABCGH $.

    $( Equality inference for cross product.  (Contributed by NM,
       21-Dec-2008.) $)
    xpeq2i $p |- ( C X. A ) = ( C X. B ) $=
      ( wceq cxp xpeq2 ax-mp ) ABECAFCBFEDABCGH $.
  $}

  ${
    xpeq12i.1 $e |- A = B $.
    xpeq12i.2 $e |- C = D $.
    $( Equality inference for cross product.  (Contributed by FL,
       31-Aug-2009.) $)
    xpeq12i $p |- ( A X. C ) = ( B X. D ) $=
      ( wceq cxp xpeq12 mp2an ) ABGCDGACHBDHGEFABCDIJ $.
  $}

  ${
    xpeq1d.1 $e |- ( ph -> A = B ) $.
    $( Equality deduction for cross product.  (Contributed by Jeff Madsen,
       17-Jun-2010.) $)
    xpeq1d $p |- ( ph -> ( A X. C ) = ( B X. C ) ) $=
      ( wceq cxp xpeq1 syl ) ABCFBDGCDGFEBCDHI $.

    $( Equality deduction for cross product.  (Contributed by Jeff Madsen,
       17-Jun-2010.) $)
    xpeq2d $p |- ( ph -> ( C X. A ) = ( C X. B ) ) $=
      ( wceq cxp xpeq2 syl ) ABCFDBGDCGFEBCDHI $.

    xpeq12d.2 $e |- ( ph -> C = D ) $.
    $( Equality deduction for cross product.  (Contributed by NM,
       8-Dec-2013.) $)
    xpeq12d $p |- ( ph -> ( A X. C ) = ( B X. D ) ) $=
      ( wceq cxp xpeq12 syl2anc ) ABCHDEHBDICEIHFGBCDEJK $.
  $}

  ${
    $d y z A $.  $d y z B $.  $d x y z $.
    nfxp.1 $e |- F/_ x A $.
    nfxp.2 $e |- F/_ x B $.
    $( Bound-variable hypothesis builder for cross product.  (Contributed by
       NM, 15-Sep-2003.)  (Revised by Mario Carneiro, 15-Oct-2016.) $)
    nfxp $p |- F/_ x ( A X. B ) $=
      ( vy vz cxp cv wcel wa copab df-xp nfcri nfan nfopab nfcxfr ) ABCHFIBJZGI
      CJZKZFGLFGBCMTFGARSAAFBDNAGCENOPQ $.
  $}

  ${
    $d x y A $.  $d x y B $.  $d x y C $.  $d x y D $.
    $( Ordered pair membership in a cross product.  (The proof was shortened by
       Andrew Salmon, 12-Aug-2011.)  (Contributed by NM, 15-Nov-1994.)
       (Revised by set.mm contributors, 12-Aug-2011.) $)
    opelxp $p |- ( <. A , B >. e. ( C X. D ) <-> ( A e. C /\ B e. D ) ) $=
      ( vx vy cop cv wceq wcel wa wex cxp eqcom bitri anbi1i an4 2exbii df-clel
      opth elxp anbi12i eeanv bitr4i 3bitr4i ) ABGZEHZFHZGZIZUGCJZUHDJZKZKZFLEL
      UGAIZUKKZUHBIZULKZKZFLELZUFCDMJACJZBDJZKZUNUSEFUNUOUQKZUMKUSUJVDUMUJUIUFI
      VDUFUINUGUHABTOPUOUQUKULQOREFUFCDUAVCUPELZURFLZKUTVAVEVBVFEACSFBDSUBUPURE
      FUCUDUE $.

    $( Binary relation on a cross product.  (Contributed by NM,
       22-Apr-2004.) $)
    brxp $p |- ( A ( C X. D ) B <-> ( A e. C /\ B e. D ) ) $=
      ( cxp wbr cop wcel wa df-br opelxp bitri ) ABCDEZFABGMHACHBDHIABMJABCDKL
      $.
  $}

  ${
    $d A w y z $.  $d B w y z $.  $d C w y z $.  $d D w y z $.  $d w x y z $.
    $( Distribute proper substitution through the cross product of two
       classes.  (Contributed by Alan Sare, 10-Nov-2012.) $)
    csbxpg $p |- ( A e. D -> [_ A / x ]_ ( B X. C ) =
                ( [_ A / x ]_ B X. [_ A / x ]_ C ) ) $=
      ( vz vw vy wcel cv wa wex cab csb cxp wsbc sbcexg sbcang sbcel2g bitrd
      wceq csbabg anbi12d exbidv abbidv eqtrd copab df-xp df-opab eqtri csbeq2i
      cop sbcg 3eqtr4g ) BEIZABFJGJZHJZULUAZUPCIZUQDIZKZKZHLZGLZFMZNZURUPABCNZI
      ZUQABDNZIZKZKZHLZGLZFMZABCDOZNVGVIOZUOVFVDABPZFMVOVDAFBEUBUOVRVNFUOVRVCAB
      PZGLVNVCGABEQUOVSVMGUOVSVBABPZHLVMVBHABEQUOVTVLHUOVTURABPZVAABPZKVLURVAAB
      ERUOWAURWBVKURABEUMUOWBUSABPZUTABPZKVKUSUTABERUOWCVHWDVJABUPCESABUQDESUCT
      UCTUDTUDTUEUFABVPVEVPVAGHUGVEGHCDUHVAGHFUIUJUKVQVKGHUGVOGHVGVIUHVKGHFUIUJ
      UN $.
  $}

  ${
    $d x y z A $.  $d x y z B $.  $d y z ph $.  $d x ps $.
    rabxp.1 $e |- ( x = <. y , z >. -> ( ph <-> ps ) ) $.
    $( Membership in a class builder restricted to a cross product.
       (Contributed by NM, 20-Feb-2014.) $)
    rabxp $p |- { x e. ( A X. B ) | ph }
             = { <. y , z >. | ( y e. A /\ z e. B /\ ps ) } $=
      ( cv cxp wcel wa cab cop wceq w3a wex crab copab elxp anbi1i anass anbi2d
      19.41vv df-3an syl6bbr pm5.32i bitri 2exbii 3bitr2i abbii df-opab 3eqtr4i
      df-rab ) CIZFGJZKZALZCMUODIZEIZNOZUSFKZUTGKZBPZLZEQDQZCMACUPRVDDESURVFCUR
      VAVBVCLZLZEQDQZALVHALZEQDQVFUQVIADEUOFGTUAVHADEUDVJVEDEVJVAVGALZLVEVAVGAU
      BVAVKVDVAVKVGBLVDVAABVGHUCVBVCBUEUFUGUHUIUJUKACUPUNVDDECULUM $.
  $}

  ${
    $d x y A $.  $d x y B $.
    $( Representation of a constant function using ordered pairs.  (Contributed
       by NM, 12-Oct-1999.) $)
    fconstopab $p |- ( A X. { B } ) = { <. x , y >. | ( x e. A /\ y = B ) } $=
      ( csn cxp cv wcel wa copab wceq df-xp df-sn abeq2i anbi2i opabbii eqtri )
      CDEZFAGCHZBGZRHZIZABJSTDKZIZABJABCRLUBUDABUAUCSUCBRBDMNOPQ $.
  $}

  ${
    $d x y A $.  $d y B $.  $d x y z C $.  $d x y z R $.
    vtoclr.2 $e |- ( ( x R y /\ y R z ) -> x R z ) $.
    $( Variable to class conversion of transitive relation.  (Contributed by
       NM, 9-Jun-1998.) $)
    vtoclr $p |- ( ( A R B /\ B R C ) -> A R C ) $=
      ( cvv wcel wa wbr brex wi cv wceq breq1 imbi12d imbi2d breq2 simprd mpcom
      anim12i anbi1d anbi12d imbi1d anbi2d vtoclg vtocl2g imp ) DIJEIJZKZFIJZKD
      EGLZEFGLZKZDFGLZUNULUOUMDEGMUOUKUMEFGMUAUCULUMUPUQNZUMAOZBOZGLZUTFGLZKZUS
      FGLZNZNUMDUTGLZVBKZUQNZNUMURNABDEIIUSDPZVEVHUMVIVCVGVDUQVIVAVFVBUSDUTGQUD
      USDFGQRSUTEPZVHURUMVJVGUPUQVJVFUNVBUOUTEDGTUTEFGQUEUFSVAUTCOZGLZKZUSVKGLZ
      NVECFIVKFPZVMVCVNVDVOVLVBVAVKFUTGTUGVKFUSGTRHUHUIUJUB $.
  $}


  ${
    $d w y z A $.  $d w y z B $.  $d w x y z C $.
    $( Distributive law for cross product over indexed union.  (Contributed by
       set.mm contributors, 26-Apr-2014.)  (Revised by Mario Carneiro,
       27-Apr-2014.) $)
    xpiundi $p |- ( C X. U_ x e. A B ) = U_ x e. A ( C X. B ) $=
      ( vz vw vy ciun cxp cv wrex wcel wa wex eliun exbii df-rex rexbii 3bitr4i
      elxp2 cop wceq rexcom anbi1i rexcom4 r19.41v 3bitri eqriv ) EDABCHZIZABDC
      IZHZEJZFJGJZUAUBZGUIKZFDKZUMUKLZABKZUMUJLUMULLUOGCKZABKZFDKUTFDKZABKUQUSU
      TFADBUCUPVAFDUNUILZUOMZGNUNCLZABKZUOMZGNZUPVAVDVGGVCVFUOAUNBCOUDPUOGUIQVA
      VEUOMZGNZABKVIABKZGNVHUTVJABUOGCQRVIAGBUEVKVGGVEUOABUFPUGSRURVBABFGUMDCTR
      SFGUMDUITAUMBUKOSUH $.

    $( Distributive law for cross product over indexed union.  (Contributed by
       set.mm contributors, 26-Apr-2014.)  (Revised by Mario Carneiro,
       27-Apr-2014.) $)
    xpiundir $p |- ( U_ x e. A B X. C ) = U_ x e. A ( B X. C ) $=
      ( vz vy vw ciun cxp cv cop wrex wcel wa df-rex rexbii eliun elxp2 3bitr4i
      wex wceq rexcom4 anbi1i r19.41v bitr4i exbii 3bitr4ri eqriv ) EABCHZDIZAB
      CDIZHZEJZFJZGJKUAGDLZFUILZUMUKMZABLZUMUJMUMULMUNUIMZUONZFTZUOFCLZABLZUPUR
      UNCMZUONZFTZABLVEABLZFTVCVAVEAFBUBVBVFABUOFCOPUTVGFUTVDABLZUONVGUSVHUOAUN
      BCQUCVDUOABUDUEUFUGUOFUIOUQVBABFGUMCDRPSFGUMUIDRAUMBUKQSUH $.
  $}

  ${
    $d x A $.  $d x B $.
    $( Membership in a union of cross products when the second factor is
       constant.  (Contributed by Mario Carneiro, 29-Dec-2014.) $)
    iunxpconst $p |- U_ x e. A ( { x } X. B ) = ( A X. B ) $=
      ( cv csn ciun cxp xpiundir iunid xpeq1i eqtr3i ) ABADEZFZCGABLCGFBCGABLCH
      MBCABIJK $.
  $}

  ${
    $d y z A $.  $d y z B $.  $d y z C $.  $d x y z $.
    $( Membership in a union of Cartesian products.  (Contributed by Mario
       Carneiro, 29-Dec-2014.)  (Revised by Mario Carneiro, 1-Jan-2017.) $)
    opeliunxp $p |- ( <. x , C >. e. U_ x e. A ( { x } X. B ) <->
                     ( x e. A /\ C e. B ) ) $=
      ( vz vy cv csn cxp wcel cvv wa elex syl wex wceq weq eleq2d anbi12d bitri
      cop ciun opexb simprbi adantl wsb csb wb vex opexg mpan wrex df-rex nfs1v
      nfv nfcv nfcsb1v nfxp nfcri nfan sbequ12 sneq csbeq1a xpeq12d cbvex eleq1
      anbi2d exbidv syl5bb df-iun elab2g opelxp anbi2i an12 equcom anbi1i exbii
      elsn 3bitri sbequ12r equcoms eqcomd ceqsexv syl6bb pm5.21nii ) AGZDUAZABW
      FHZCIZUBZJZDKJZWFBJZDCJZLZWKWGKJZWLWGWJMWPWFKJZWLWFDUCUDNWNWLWMDCMUEWLWKW
      MAEUFZWGEGZHZAWSCUGZIZJZLZEOZWOWLWPWKXEUHWQWLWPAUIZWFDKKUJUKFGZWIJZABULZX
      EFWGWJKXIWRXGXBJZLZEOZXGWGPZXEXIWMXHLZAOXLXHABUMXNXKAEXNEUOWRXJAWMAEUNAFX
      BAWTXAAWTUPAWSCUQURUSUTAEQZWMWRXHXJWMAEVAXOWIXBXGXOWHWTCXAWFWSVBAWSCVCZVD
      RSVETXMXKXDEXMXJXCWRXGWGXBVFVGVHVIAFBWIVJVKNXEEAQZWRDXAJZLZLZEOWOXDXTEXDW
      RWFWTJZXRLZLYAXSLXTXCYBWRWFDWTXAVLVMWRYAXRVNYAXQXSYAXOXQAWSVRAEVOTVPVSVQX
      SWOEWFXFXQWRWMXRWNWMEAVTXQXACDXQCXACXAPAEXPWAWBRSWCTWDWE $.
  $}
  ${
    $d y A $.  $d y B $.  $d x y C $.  $d x y D $.  $d x E $.
    $( Membership in a union of Cartesian products.  Analogue of ~ elxp for
       nonconstant ` B ( x ) ` .  (Contributed by Mario Carneiro,
       29-Dec-2014.) $)
    eliunxp $p |- ( C e. U_ x e. A ( { x } X. B ) <->
      E. x E. y ( C = <. x , y >. /\ ( x e. A /\ y e. B ) ) ) $=
      ( cv csn cxp ciun wcel cop wceq wex wa elex pm4.71ri opeqexb anbi1i exbii
      cvv bitri nfiu1 nfel2 19.41 19.41v eleq1 opeliunxp syl6bb pm5.32i 3bitr2i
      bitr3i ) EACAFZGDHZIZJZEULBFZKZLZBMZAMZUONZUSUONZAMURULCJUPDJNZNZBMZAMUOE
      TJZUONVAUOVFEUNOPVFUTUOABEQRUAUSUOAAEUNACUMUBUCUDVBVEAVBURUONZBMVEURUOBUE
      VGVDBURUOVCURUOUQUNJVCEUQUNUFACDUPUGUHUISUKSUJ $.

    $d x A $.
    opeliunxp2.1 $e |- ( x = C -> B = E ) $.
    $( Membership in a union of Cartesian products.  (Contributed by Mario
       Carneiro, 14-Feb-2015.) $)
    opeliunxp2 $p |- ( <. C , D >. e. U_ x e. A ( { x } X. B ) <->
      ( C e. A /\ D e. E ) ) $=
      ( cop cv csn cxp ciun wcel cvv wa elex opexb sylib simpld wb adantr nfiu1
      nfcv nfel2 nfbi wceq opeq1 eleq1d eleq1 anbi12d bibi12d opeliunxp vtoclgf
      nfv eleq2d pm5.21nii ) DEHZABAIZJCKZLZMZDNMZDBMZEFMZOZVAVBENMZVAUQNMVBVFO
      UQUTPDEQRSVCVBVDDBPUAUREHZUTMZURBMZECMZOZTVAVETADNADUCVAVEAAUQUTABUSUBUDV
      EAUNUEURDUFZVHVAVKVEVLVGUQUTURDEUGUHVLVIVCVJVDURDBUIVLCFEGUOUJUKABCEULUMU
      P $.
  $}


  ${
    $d x y z A $.  $d x z B $.  $d y z ph $.  $d x ps $.
    raliunxp.1 $e |- ( x = <. y , z >. -> ( ph <-> ps ) ) $.
    $( Write a double restricted quantification as one universal quantifier.
       In this version of ~ ralxp , ` B ( y ) ` is not assumed to be constant.
       (Contributed by Mario Carneiro, 29-Dec-2014.) $)
    raliunxp $p |- ( A. x e. U_ y e. A ( { y } X. B ) ph <->
      A. y e. A A. z e. B ps ) $=
      ( cv csn cxp wcel wi wal wa wral wex albii vex bitri ciun cop wceq imbi1i
      eliunxp 19.23vv bitr4i alrot3 impexp imbi2d ceqsalv 2albii df-ral 3bitr4i
      opex r2al ) CIZDFDIZJGKUAZLZAMZCNZURFLEIZGLOZBMZENDNZACUSPBEGPDFPVBUQURVC
      UBZUCZVDOZAMZENDNZCNZVFVAVKCVAVIEQDQZAMVKUTVMADEFGUQUEUDVIADEUFUGRVLVJCNZ
      ENDNVFVJCDEUHVNVEDEVNVHVDAMZMZCNVEVJVPCVHVDAUIRVOVECVGURVCDSESUOVHABVDHUJ
      UKTULTTACUSUMBDEFGUPUN $.

    $( Write a double restricted quantification as one universal quantifier.
       In this version of ~ rexxp , ` B ( y ) ` is not assumed to be constant.
       (Contributed by Mario Carneiro, 14-Feb-2015.) $)
    rexiunxp $p |- ( E. x e. U_ y e. A ( { y } X. B ) ph <->
      E. y e. A E. z e. B ps ) $=
      ( wn cv csn cxp ciun wral wrex cop wceq notbid raliunxp dfrex2 3bitr4i
      ralnex ralbii bitri notbii ) AIZCDFDJZKGLMZNZIBEGOZIZDFNZIACUHOUJDFOUIULU
      IBIZEGNZDFNULUFUMCDEFGCJUGEJPQABHRSUNUKDFBEGUBUCUDUEACUHTUJDFTUA $.

    $d y B $.
    $( Universal quantification restricted to a Cartesian product is equivalent
       to a double restricted quantification.  The hypothesis specifies an
       implicit substitution.  (Contributed by NM, 7-Feb-2004.)  (Revised by
       Mario Carneiro, 29-Dec-2014.) $)
    ralxp $p |- ( A. x e. ( A X. B ) ph <-> A. y e. A A. z e. B ps ) $=
      ( cxp wral cv csn ciun iunxpconst raleqi raliunxp bitr3i ) ACFGIZJACDFDKL
      GIMZJBEGJDFJACSRDFGNOABCDEFGHPQ $.

    $( Existential quantification restricted to a Cartesian product is
       equivalent to a double restricted quantification.  (Contributed by NM,
       11-Nov-1995.)  (Revised by Mario Carneiro, 14-Feb-2015.) $)
    rexxp $p |- ( E. x e. ( A X. B ) ph <-> E. y e. A E. z e. B ps ) $=
      ( cxp wrex cv csn ciun iunxpconst rexeqi rexiunxp bitr3i ) ACFGIZJACDFDKL
      GIMZJBEGJDFJACSRDFGNOABCDEFGHPQ $.
  $}

  ${
    $d u v w x y A $.  $d u v w x y z B $.  $d u v w ph $.  $d u v w ps $.
    ralxpf.1 $e |- F/ y ph $.
    ralxpf.2 $e |- F/ z ph $.
    ralxpf.3 $e |- F/ x ps $.
    ralxpf.4 $e |- ( x = <. y , z >. -> ( ph <-> ps ) ) $.
    $( Version of ~ ralxp with bound-variable hypotheses.  (Contributed by NM,
       18-Aug-2006.)  (Revised by set.mm contributors, 20-Dec-2008.) $)
    ralxpf $p |- ( A. x e. ( A X. B ) ph <-> A. y e. A A. z e. B ps ) $=
      ( vw vu vv wral wsb nfv cv wceq nfsb cxp cbvralsv nfcv nfs1 nfral sbequ12
      ralbii weq ralbidv cbvral cop wa wex wb eqvinop nfbi sbhypf opth sylan9bb
      vex sylbi exlimi ralxp 3bitr4ri bitri ) ACFGUAZOACLPZLVFOZBEGOZDFOZACLVFU
      BBDMPZEGOZMFOVKENPZNGOZMFOVJVHVLVNMFVKENGUBUGVIVLDMFVIMQVKDEGDGUCBDMBMQUD
      ZUEDMUHZBVKEGBDMUFZUIUJVGVMLMNFGLRZMRZNRZUKZSVRDRZERZUKZSZWDWASZULZEUMZDU
      MVGVMUNZDEVRVSVTMUTNUTUOWHWIDVGVMDACLDHTVKENDVOTUPWGWIEVGVMEACLEITVKENVKN
      QUDUPWEVGBWFVMABCLWDJKUQWFVPENUHZULBVMUNWBWCVSVTURVPBVKWJVMVQVKENUFUSVAUS
      VBVBVAVCVDVE $.

    $( Version of ~ rexxp with bound-variable hypotheses.  (Contributed by NM,
       19-Dec-2008.) $)
    rexxpf $p |- ( E. x e. ( A X. B ) ph <-> E. y e. A E. z e. B ps ) $=
      ( wn cxp wral wrex nfn cv cop wb dfrex2 notbi ralxpf notbii rexbii rexnal
      wceq sylib bitri 3bitr4i ) ALZCFGMZNZLBLZEGNZDFNZLZACUKOBEGOZDFOZULUOUJUM
      CDEFGADHPAEIPBCJPCQDQEQRUFABSUJUMSKABUAUGUBUCACUKTURUNLZDFOUPUQUSDFBEGTUD
      UNDFUEUHUI $.
  $}

  ${
    $d w x y A $.  $d w x y z B $.  $d w C $.  $d w D $.
    iunxpf.1 $e |- F/_ y C $.
    iunxpf.2 $e |- F/_ z C $.
    iunxpf.3 $e |- F/_ x D $.
    iunxpf.4 $e |- ( x = <. y , z >. -> C = D ) $.
    $( Indexed union on a cross product is equals a double indexed union.  The
       hypothesis specifies an implicit substitution.  (Contributed by NM,
       19-Dec-2008.) $)
    iunxpf $p |- U_ x e. ( A X. B ) C = U_ y e. A U_ z e. B D $=
      ( vw cxp ciun cv wcel wrex nfel2 cop eliun wceq eleq2d rexxpf bitri eqriv
      rexbii 3bitr4i ) LADEMZFNZBDCEGNZNZLOZFPZAUHQULGPZCEQZBDQZULUIPULUKPZUMUN
      ABCDEBULFHRCULFIRAULGJRAOBOCOSUAFGULKUBUCAULUHFTUQULUJPZBDQUPBULDUJTURUOB
      DCULEGTUFUDUGUE $.
  $}

  ${
    brelg.1 $e |- R C_ ( C X. D ) $.
    $( Two things in a binary relation belong to the relation's domain.
       (Contributed by NM, 17-May-1996.) $)
    brel $p |- ( A R B -> ( A e. C /\ B e. D ) ) $=
      ( wbr cxp wcel wa ssbri brxp sylib ) ABEGABCDHZGACIBDIJENABFKABCDLM $.
  $}

  ${
    $d x y A $.  $d x y B $.  $d x y C $.
    $( Membership in a cross product.  (Contributed by NM, 5-Mar-1995.) $)
    elxp3 $p |- ( A e. ( B X. C ) <->
            E. x E. y ( <. x , y >. = A /\ <. x , y >. e. ( B X. C ) ) ) $=
      ( cxp wcel cv cop wceq wa wex elxp eqcom opelxp anbi12i 2exbii bitr4i ) C
      DEFZGCAHZBHZIZJZTDGUAEGKZKZBLALUBCJZUBSGZKZBLALABCDEMUHUEABUFUCUGUDUBCNTU
      ADEOPQR $.
  $}

  ${
    $d x y A $.  $d x y B $.  $d x y C $.
    $( Distributive law for cross product over union.  Theorem 103 of [Suppes]
       p. 52.  (Contributed by NM, 12-Aug-2004.) $)
    xpundi $p |- ( A X. ( B u. C ) ) = ( ( A X. B ) u. ( A X. C ) ) $=
      ( vx vy cv wcel cun wa copab cxp wo elun anbi2i andi bitri opabbii unopab
      eqtr4i df-xp uneq12i 3eqtr4i ) DFAGZEFZBCHZGZIZDEJZUCUDBGZIZDEJZUCUDCGZIZ
      DEJZHZAUEKABKZACKZHUHUJUMLZDEJUOUGURDEUGUCUIULLZIURUFUSUCUDBCMNUCUIULOPQU
      JUMDERSDEAUETUPUKUQUNDEABTDEACTUAUB $.

    $( Distributive law for cross product over union.  Similar to Theorem 103
       of [Suppes] p. 52.  (Contributed by NM, 30-Sep-2002.) $)
    xpundir $p |- ( ( A u. B ) X. C ) = ( ( A X. C ) u. ( B X. C ) ) $=
      ( vx vy cv cun wcel wa copab cxp wo elun anbi1i andir bitri unopab eqtr4i
      opabbii df-xp uneq12i 3eqtr4i ) DFZABGZHZEFCHZIZDEJZUCAHZUFIZDEJZUCBHZUFI
      ZDEJZGZUDCKACKZBCKZGUHUJUMLZDEJUOUGURDEUGUIULLZUFIURUEUSUFUCABMNUIULUFOPS
      UJUMDEQRDEUDCTUPUKUQUNDEACTDEBCTUAUB $.
  $}

  $( The cross product of two unions.  (Contributed by NM, 12-Aug-2004.) $)
  xpun $p |- ( ( A u. B ) X. ( C u. D ) ) =
            ( ( ( A X. C ) u. ( A X. D ) ) u. ( ( B X. C ) u. ( B X. D ) ) ) $=
    ( cun cxp xpundi xpundir uneq12i un4 3eqtri ) ABEZCDEFLCFZLDFZEACFZBCFZEZAD
    FZBDFZEZEOREPSEELCDGMQNTABCHABDHIOPRSJK $.

  $( Intersection of binary relation with cross product.  (Contributed by NM,
     3-Mar-2007.) $)
  brinxp2 $p |- ( A ( R i^i ( C X. D ) ) B <->
                ( A e. C /\ B e. D /\ A R B ) ) $=
    ( wbr cxp wa wcel cin w3a ancom brxp anbi1i bitri brin df-3an 3bitr4i ) ABE
    FZABCDGZFZHZACIZBDIZHZSHZABETJFUCUDSKUBUASHUFSUALUAUESABCDMNOABETPUCUDSQR
    $.

  $( Intersection of binary relation with cross product.  (Contributed by NM,
     9-Mar-1997.) $)
  brinxp $p |- ( ( A e. C /\ B e. D ) ->
               ( A R B <-> A ( R i^i ( C X. D ) ) B ) ) $=
    ( cxp cin wbr wcel wa w3a brinxp2 df-3an bitri baibr ) ABECDFGHZACIZBDIZJZA
    BEHZPQRTKSTJABCDELQRTMNO $.

  ${
    $d x y A $.  $d x y B $.
    $( An abstraction relation is a subset of a related cross product.
       (Contributed by NM, 16-Jul-1995.) $)
    opabssxp $p |- { <. x , y >. | ( ( x e. A /\ y e. B ) /\ ph ) }
                   C_ ( A X. B ) $=
      ( cv wcel wa copab cxp simpl ssopab2i df-xp sseqtr4i ) BFDGCFEGHZAHZBCIOB
      CIDEJPOBCOAKLBCDEMN $.
  $}

  ${
    $d x y A $.  $d x y B $.  $d x y C $.  $d x y ps $.
    optocl.1 $e |- D = ( B X. C ) $.
    optocl.2 $e |- ( <. x , y >. = A -> ( ph <-> ps ) ) $.
    optocl.3 $e |- ( ( x e. B /\ y e. C ) -> ph ) $.
    $( Implicit substitution of class for ordered pair.  (Contributed by NM,
       5-Mar-1995.) $)
    optocl $p |- ( A e. D -> ps ) $=
      ( cxp wcel cv cop wceq wa wex elxp3 sylbi opelxp syl5ib exlimivv eleq2s
      imp ) BEFGLZHEUFMCNZDNZOZEPZUIUFMZQZDRCRBCDEFGSULBCDUJUKBUKAUJBUKUGFMUHGM
      QAUGUHFGUAKTJUBUEUCTIUD $.
  $}

  ${
    $d x y z w A $.  $d z w B $.  $d x y z w C $.  $d x y z w D $.
    $d x y ps $.  $d z w ch $.  $d z w R $.
    2optocl.1 $e |- R = ( C X. D ) $.
    2optocl.2 $e |- ( <. x , y >. = A -> ( ph <-> ps ) ) $.
    2optocl.3 $e |- ( <. z , w >. = B -> ( ps <-> ch ) ) $.
    2optocl.4 $e |- ( ( ( x e. C /\ y e. D ) /\ ( z e. C /\ w e. D ) ) ->
                   ph ) $.
    $( Implicit substitution of classes for ordered pairs.  (Contributed by NM,
       12-Mar-1995.) $)
    2optocl $p |- ( ( A e. R /\ B e. R ) -> ch ) $=
      ( wcel wi cv cop wceq imbi2d wa ex optocl com12 impcom ) ILQHLQZCUHBRUHCR
      FGIJKLMFSZGSZTIUABCUHOUBUHUIJQUJKQUCZBUKARUKBRDEHJKLMDSZESZTHUAABUKNUBULJ
      QUMKQUCUKAPUDUEUFUEUG $.
  $}

  ${
    $d x y z w v u A $.  $d z w v u B $.  $d v u C $.  $d x y z w v u D $.
    $d x y z w v u F $.  $d z w v u R $.  $d x y ps $.  $d z w ch $.
    $d v u th $.
    3optocl.1 $e |- R = ( D X. F ) $.
    3optocl.2 $e |- ( <. x , y >. = A -> ( ph <-> ps ) ) $.
    3optocl.3 $e |- ( <. z , w >. = B -> ( ps <-> ch ) ) $.
    3optocl.4 $e |- ( <. v , u >. = C -> ( ch <-> th ) ) $.
    3optocl.5 $e |- ( ( ( x e. D /\ y e. F ) /\ ( z e. D /\ w e. F )
                    /\ ( v e. D /\ u e. F ) ) -> ph ) $.
    $( Implicit substitution of classes for ordered pairs.  (Contributed by NM,
       12-Mar-1995.) $)
    3optocl $p |- ( ( A e. R /\ B e. R /\ C e. R ) -> th ) $=
      ( wcel wa wi cv cop wceq imbi2d 3expia 2optocl com12 optocl impcom 3impa
      ) KOUBZLOUBZMOUBZDUQUOUPUCZDURCUDURDUDIJMNPOQIUEZJUEZUFMUGCDURTUHURUSNUBU
      TPUBUCZCVAAUDVABUDVACUDEFGHKLNPOQEUEZFUEZUFKUGABVARUHGUEZHUEZUFLUGBCVASUH
      VBNUBVCPUBUCVDNUBVEPUBUCVAAUAUIUJUKULUMUN $.
  $}

  ${
    $d x y z w v u A $.  $d x y z w v u B $.  $d x y z w v u C $.
    $d x y z w v u D $.  $d x y z w v u S $.  $d x y ph $.  $d z w v u ps $.
    opbrop.1 $e |- ( ( ( z = A /\ w = B ) /\ ( v = C /\ u = D ) ) ->
                     ( ph <-> ps ) ) $.
    opbrop.2 $e |- R = { <. x , y >. | ( ( x e. ( S X. S ) /\
                      y e. ( S X. S ) ) /\
                      E. z E. w E. v E. u ( ( x = <. z , w >. /\
                      y = <. v , u >. ) /\ ph ) ) } $.
    $( Ordered pair membership in a relation.  Special case.  (Contributed by
       NM, 5-Aug-1995.) $)
    opbrop $p |- ( ( ( A e. S /\ B e. S ) /\ ( C e. S /\ D e. S ) ) ->
                   ( <. A , B >. R <. C , D >. <-> ps ) ) $=
      ( wcel wa cv wex cop cxp wbr copsex4g anbi2d cvv opexg eleq1 anbi1d eqeq1
      wb 4exbidv anbi12d brabg syl2an opelxp anbi12i biimpri biantrurd 3bitr4d
      wceq ) INQJNQRZKNQLNQRZRZIJUAZNNUBZQZKLUAZVFQZRZVEESFSUAZVAZVHGSHSUAZVAZR
      ZARZHTGTFTETZRZVJBRVEVHMUCZBVDVQBVJABEFGHIJKLNNOUDUEVBVEUFQVHUFQVSVRUKVCI
      JNNUGKLNNUGCSZVFQZDSZVFQZRZVTVKVAZWBVMVAZRZARZHTGTFTETZRVGWCRZVLWFRZARZHT
      GTFTETZRVRCDVEVHUFUFMVTVEVAZWDWJWIWMWNWAVGWCVTVEVFUHUIWNWHWLEFGHWNWGWKAWN
      WEVLWFVTVEVKUJUIUIULUMWBVHVAZWJVJWMVQWOWCVIVGWBVHVFUHUEWOWLVPEFGHWOWKVOAW
      OWFVNVLWBVHVMUJUEUIULUMPUNUOVDVJBVJVDVGVBVIVCIJNNUPKLNNUPUQURUSUT $.
  $}

  ${
    $d x y z A $.
    $( The cross product with the empty set is empty.  Part of Theorem 3.13(ii)
       of [Monk1] p. 37.  (Contributed by NM, 4-Jul-1994.) $)
    xp0r $p |- ( (/) X. A ) = (/) $=
      ( vz vx vy c0 cxp cv wcel cop wceq wa wex elxp noel simprl mto nex 2false
      bitri eqriv ) BEAFZEBGZUAHUBCGZDGZIJZUCEHZUDAHZKKZDLZCLZUBEHZCDUBEAMUJUKU
      ICUHDUHUFUCNUEUFUGOPQQUBNRST $.
  $}

  $( The cross product of the universe with itself is the universe.
     (Contributed by Scott Fenton, 14-Apr-2021.) $)
   xpvv $p |- ( _V X. _V ) = _V $=
     ( vx cvv cxp wceq cv wcel eqv cproj1 cproj2 cop vex proj1ex proj2ex opelxp
     opeq mpbir2an eqeltri mpgbir ) BBCZBDAEZSFAASGTTHZTIZJZSTOUCSFUABFUBBFTAKZ
     LTUDMUAUBBBNPQR $.

  ${
    $d x y z w A $.  $d x y z w B $.
    $( A subclass relationship depends only on a relation's ordered pairs.
       Theorem 3.2(i) of [Monk1] p. 33.  (The proof was shortened by Andrew
       Salmon, 27-Aug-2011.)  (Contributed by NM, 2-Aug-1994.)  (Revised by
       set.mm contributors, 27-Aug-2011.) $)
    ssrel $p |- ( A C_ B <->
                A. x A. y ( <. x , y >. e. A -> <. x , y >. e. B ) ) $=
      ( vz wss cv cop wcel wi wal ssel alrimivv cproj1 cproj2 wceq imbi12d spcv
      eleq1d eleq1i vex proj1ex opeq1 albidv proj2ex opeq2 3imtr4g ssrdv impbii
      syl opeq ) CDFZAGZBGZHZCIZUODIZJZBKZAKZULURABCDUOLMUTECDUTEGZNZVAOZHZCIZV
      DDIZVACIVADIUTVBUNHZCIZVGDIZJZBKZVEVFJZUSVKAVBVAEUAZUBUMVBPZURVJBVNUPVHUQ
      VIVNUOVGCUMVBUNUCZSVNUOVGDVOSQUDRVJVLBVCVAVMUEUNVCPZVHVEVIVFVPVGVDCUNVCVB
      UFZSVPVGVDDVQSQRUJVAVDCVAUKZTVAVDDVRTUGUHUI $.

    $( Extensionality principle for relations.  Theorem 3.2(ii) of [Monk1]
       p. 33.  (Contributed by NM, 2-Aug-1994.) (Revised by Scott Fenton,
       14-Apr-2021.) $)
    eqrel $p |- ( A = B <->
                A. x A. y ( <. x , y >. e. A <-> <. x , y >. e. B ) ) $=
      ( wss wa cv cop wcel wi wal wceq wb ssrel anbi12i eqss 2albiim 3bitr4i )
      CDEZDCEZFAGBGHZCIZUADIZJBKAKZUCUBJBKAKZFCDLUBUCMBKAKSUDTUEABCDNABDCNOCDPU
      BUCABQR $.

    $( Subclass principle for operators.  (Contributed by Scott Fenton,
       19-Apr-2021.) $)
    ssopr $p |- ( A C_ B <->
                A. x A. y A. z ( <. <. x , y >. , z >. e. A ->
		<. <. x , y >. , z >. e. B ) ) $=
      ( vw wss cv cop wcel wi wal ssrel wex cvv vex albii alrot3 eleq1d 3bitri
      alcom bitri wceq opeqex ax-mp 19.23vv bitr4i opeq1 imbi12d ceqsalv 2albii
      a1bi opex ) DEGZFHZCHZIZDJZUQEJZKZFLZCLZAHZBHZIZUPIZDJZVFEJZKZBLALZCLVICL
      BLALUNUTCLFLVBFCDEMUTFCUAUBVAVJCVAUOVEUCZUTKZBLALZFLVLFLZBLALVJUTVMFUTVKB
      NANZUTKVMVOUTUOOJVOFPABUOOUDUEULVKUTABUFUGQVLFABRVNVIABUTVIFVEVCVDAPBPUMV
      KURVGUSVHVKUQVFDUOVEUPUHZSVKUQVFEVPSUIUJUKTQVICABRT $.

    $( Extensionality principle for operators.  (Contributed by Scott Fenton,
       19-Apr-2021.) $)
    eqopr $p |- ( A = B <->
                A. x A. y A. z ( <. <. x , y >. , z >. e. A <->
		<. <. x , y >. , z >. e. B ) ) $=
      ( wss wa cv cop wcel wi wal wceq ssopr anbi12i eqss 2albiim albii 19.26
      wb bitri 3bitr4i ) DEFZEDFZGAHBHICHIZDJZUEEJZKCLBLZALZUGUFKCLBLZALZGZDEMU
      FUGTCLBLZALZUCUIUDUKABCDENABCEDNODEPUNUHUJGZALULUMUOAUFUGBCQRUHUJASUAUB
      $.
  $}


  ${
    $d x y A $. $d x y B $. 
    relssi.1 $e |- ( <. x , y >. e. A -> <. x , y >. e. B ) $.
    $( Inference from subclass principle for relations.  (Contributed by NM,
       31-Mar-1998.) (Revised by Scott Fenton, 15-Apr-2021.) $)
    relssi $p |- A C_ B $=
      ( wss cv cop wcel wi wal ssrel ax-gen mpgbir ) CDFAGBGHZCIODIJZBKAABCDLPB
      EMN $.
  $}

  ${
    $d x y A $. $d x y B $. $d x y ph $.
    relssdv.1 $e |- ( ph -> ( <. x , y >. e. A -> <. x , y >. e. B ) ) $.
    
    $( Deduction from subclass principle for relations.  (Contributed by set.mm
       contributors, 11-Sep-2004.) (Revised by Scott Fenton, 16-Apr-2021.) $)
    relssdv $p |- ( ph -> A C_ B ) $=
      ( cv cop wcel wi wal wss alrimivv ssrel sylibr ) ABGCGHZDIPEIJZCKBKDELAQB
      CFMBCDENO $.
  $}

  ${
    $d x y A $.  $d x y B $.
    eqrelriv.1 $e |- ( <. x , y >. e. A <-> <. x , y >. e. B ) $.
    $( Inference from extensionality principle for relations.  (Contributed by
       FL, 15-Oct-2012.) (Revised by Scott Fenton, 16-Apr-2021.) $)
    eqrelriv $p |- A = B $=
      ( wceq cv cop wcel wb wal eqrel ax-gen mpgbir ) CDFAGBGHZCIODIJZBKAABCDLP
      BEMN $.
  $}

  ${
    $d x y A $.  $d x y B $.
    eqbrriv.1 $e |- ( x A y <-> x B y ) $.
    $( Inference from extensionality principle for relations.  (Contributed by
       NM, 12-Dec-2006.) (Revised by Scott Fenton, 16-Apr-2021.) $)
    eqbrriv $p |- A = B $=
      ( cv wbr cop wcel df-br 3bitr3i eqrelriv ) ABCDAFZBFZCGMNDGMNHZCIODIEMNCJ
      MNDJKL $.
  $}

  ${
    $d x y A $.  $d x y B $.  $d ph x $.  $d ph y $.
    eqrelrdv.1 $e |- ( ph -> ( <. x , y >. e. A <-> <. x , y >. e. B ) ) $.
    $( Deduce equality of relations from equivalence of membership.
       (Contributed by Rodolfo Medina, 10-Oct-2010.) (Revised by Scott Fenton,
       16-Apr-2021.) $)
    eqrelrdv $p |- ( ph -> A = B ) $=
      ( cv cop wcel wb wal wceq alrimivv eqrel sylibr ) ABGCGHZDIPEIJZCKBKDELAQ
      BCFMBCDENO $.
  $}

  ${
    $d x y z A $. $d x y z B $.
    eqoprriv.1 $e |- ( <. <. x , y >. , z >. e. A <->
    <. <. x , y >. , z >. e. B ) $.

    $( Equality inference for operators.  (Contributed by Scott Fenton,
       19-Apr-2021.) $)
    eqoprriv $p |- A = B $=
      ( wceq cv cop wcel wb wal eqopr gen2 mpgbir ) DEGAHBHICHIZDJPEJKZCLBLAABC
      DEMQBCFNO $.
  $}


  ${
    $d x y z A $. $d x y z B $. $d x y z ph $.
    eqoprrdv.1 $e |- ( ph -> ( <. <. x , y >. , z >. e. A <->
    <. <. x , y >. , z >. e. B ) ) $.

    $( Equality deduction for operators.  (Contributed by Scott Fenton,
       19-Apr-2021.) $)
    eqoprrdv $p |- ( ph -> A = B ) $=
      ( cv cop wcel wb wal wceq alrimiv alrimivv eqopr sylibr ) ABHCHIDHIZEJRFJ
      KZDLZCLBLEFMATBCASDGNOBCDEFPQ $.
  $}

  ${
    $d x y A $.  $d x y B $.  $d x y C $.  $d x y D $.
    $( Subset theorem for cross product.  Generalization of Theorem 101 of
       [Suppes] p. 52.  (The proof was shortened by Andrew Salmon,
       27-Aug-2011.)  (Contributed by NM, 26-Aug-1995.)  (Revised by set.mm
       contributors, 27-Aug-2011.) $)
    xpss12 $p |- ( ( A C_ B /\ C C_ D ) -> ( A X. C ) C_ ( B X. D ) ) $=
      ( vx vy wss wa cv wcel copab cxp ssel im2anan9 ssopab2dv df-xp 3sstr4g )
      ABGZCDGZHZEIZAJZFIZCJZHZEFKUABJZUCDJZHZEFKACLBDLTUEUHEFRUBUFSUDUGABUAMCDU
      CMNOEFACPEFBDPQ $.
  $}

  $( Subset relation for cross product.  (Contributed by Jeff Hankins,
     30-Aug-2009.) $)
  xpss1 $p |- ( A C_ B -> ( A X. C ) C_ ( B X. C ) ) $=
    ( wss cxp ssid xpss12 mpan2 ) ABDCCDACEBCEDCFABCCGH $.

  $( Subset relation for cross product.  (Contributed by Jeff Hankins,
     30-Aug-2009.) $)
  xpss2 $p |- ( A C_ B -> ( C X. A ) C_ ( C X. B ) ) $=
    ( wss cxp ssid xpss12 mpan ) CCDABDCAECBEDCFCCABGH $.

  ${
    $d A x y z $.  $d B x y z $.
    br1st.1 $e |- B e. _V $.
    $( Binary relationship equivalence for the ` 1st ` function.  (Contributed
       by set.mm contributors, 8-Jan-2015.) $)
    br1st $p |- ( A 1st B <-> E. x A = <. B , x >. ) $=
      ( vy vz c1st wbr cvv wcel cop wceq wex brex simpld vex opex eleq1 exbidv
      cv mpbiri exlimiv wb eqeq1 opeq1 eqeq2d df-1st brabg mpan2 pm5.21nii ) BC
      GHZBIJZBCATZKZLZAMZUKULCIJZBCGNOUOULAUOULUNIJCUMDAPQBUNIRUAUBULUQUKUPUCDE
      TZFTZUMKZLZAMBUTLZAMUPEFBCIIGURBLVAVBAURBUTUDSUSCLZVBUOAVCUTUNBUSCUMUEUFS
      EFAUGUHUIUJ $.

    $( Binary relationship equivalence for the ` 2nd ` function.  (Contributed
       by set.mm contributors, 8-Jan-2015.) $)
    br2nd $p |- ( A 2nd B <-> E. x A = <. x , B >. ) $=
      ( vy vz c2nd wbr cvv wcel cop wceq wex brex simpld vex opex eleq1 exbidv
      cv mpbiri exlimiv wb eqeq1 opeq2 eqeq2d df-2nd brabg mpan2 pm5.21nii ) BC
      GHZBIJZBATZCKZLZAMZUKULCIJZBCGNOUOULAUOULUNIJUMCAPDQBUNIRUAUBULUQUKUPUCDE
      TZUMFTZKZLZAMBUTLZAMUPEFBCIIGURBLVAVBAURBUTUDSUSCLZVBUOAVCUTUNBUSCUMUEUFS
      EFAUGUHUIUJ $.

    ${
      $d A w $.  $d B w $.  $d C x y z w $.
      brswap.2 $e |- C e. _V $.
      $( Binary relationship equivalence for the ` Swap ` function.
         (Contributed by set.mm contributors, 8-Jan-2015.) $)
      brswap2 $p |- ( A Swap <. B , C >. <-> A = <. C , B >. ) $=
        ( vx vz vw vy cop cswap cvv wcel wceq opex cv wa wex eqeq1 2exbidv brex
        wbr simpld eleq1 mpbiri anbi1d w3a anbi2d eqcom opth bitri anbi1i ancom
        df-3an 3bitr4ri syl6bbr excom syl6bb opeq2 opeq1 ceqsex2v df-swap brabg
        wb eqeq2d mpan2 pm5.21nii ) ABCJZKUBZALMZACBJZNZVIVJVHLMZAVHKUAUCVLVJVK
        LMCBEDOAVKLUDUEVJVMVIVLVDBCDEOFPZGPZHPZJZNZIPZVPVOJZNZQZHRGRAVQNZWAQZHR
        GRZVLFIAVHLLKVNANZWBWDGHWFVRWCWAVNAVQSUFTVSVHNZWEVPBNZVOCNZWCUGZGRHRZVL
        WGWEWJHRGRWKWGWDWJGHWGWDWCVHVTNZQZWJWGWAWLWCVSVHVTSUHWLWCQWHWIQZWCQWMWJ
        WLWNWCWLVTVHNWNVHVTUIVPVOBCUJUKULWCWLUMWHWIWCUNUOUPTWJGHUQURWCAVOBJZNVL
        HGBCDEWHVQWOAVPBVOUSVEWIWOVKAVOCBUTVEVAURFIGHVBVCVFVG $.
    $}
  $}

  ${
    $d w x y z A $.  $d x y B $.  $d x y C $.  $d x y D $.  $d ph z w $.
    $d ps z w $.

    $( A relation expressed as an ordered pair abstraction.  (Contributed by
       set.mm contributors, 11-Dec-2006.) $)
    opabid2 $p |- { <. x , y >. | <. x , y >. e. A } = A $=
      ( vz vw cv cop wcel copab vex weq opeq1 eleq1d opeq2 opelopab eqrelriv )
      DEAFZBFZGZCHZABICTDFZRGZCHUAEFZGZCHABUAUCDJEJADKSUBCQUARLMBEKUBUDCRUCUANM
      OP $.

    $( Intersection of two ordered pair class abstractions.  (Contributed by
       NM, 30-Sep-2002.) $)
    inopab $p |- ( { <. x , y >. | ph } i^i { <. x , y >. | ps } ) =
               { <. x , y >. | ( ph /\ ps ) } $=
      ( vz vw copab cin wa cv cop wcel sbcan sbcbii opelopabsb anbi12i 3bitr4ri
      wsbc elin 3bitr4i eqrelriv ) EFACDGZBCDGZHZABIZCDGZEJZFJZKZUBLZUIUCLZIZUE
      DUHRZCUGRZUIUDLUIUFLADUHRZBDUHRZIZCUGRUOCUGRZUPCUGRZIUNULUOUPCUGMUMUQCUGA
      BDUHMNUJURUKUSACDUGUHOBCDUGUHOPQUIUBUCSUECDUGUHOTUA $.

    $( The intersection of two cross products.  Exercise 9 of [TakeutiZaring]
       p. 25.  (The proof was shortened by Andrew Salmon, 27-Aug-2011.)
       (Contributed by NM, 3-Aug-1994.)  (Revised by set.mm contributors,
       27-Aug-2011.) $)
    inxp $p |- ( ( A X. B ) i^i ( C X. D ) ) =
                   ( ( A i^i C ) X. ( B i^i D ) ) $=
      ( vx vy cv wcel wa copab cin cxp inopab elin anbi12i bitr4i opabbii eqtri
      an4 df-xp ineq12i 3eqtr4i ) EGZAHZFGZBHZIZEFJZUCCHZUEDHZIZEFJZKZUCACKZHZU
      EBDKZHZIZEFJZABLZCDLZKUNUPLUMUGUKIZEFJUSUGUKEFMVBUREFVBUDUIIZUFUJIZIURUDU
      FUIUJSUOVCUQVDUCACNUEBDNOPQRUTUHVAULEFABTEFCDTUAEFUNUPTUB $.

    $( Distributive law for cross product over intersection.  Theorem 102 of
       [Suppes] p. 52.  (Contributed by NM, 26-Sep-2004.) $)
    xpindi $p |- ( A X. ( B i^i C ) ) = ( ( A X. B ) i^i ( A X. C ) ) $=
      ( cxp cin inxp inidm xpeq1i eqtr2i ) ABDACDEAAEZBCEZDAKDABACFJAKAGHI $.

    $( Distributive law for cross product over intersection.  Similar to
       Theorem 102 of [Suppes] p. 52.  (Contributed by NM, 26-Sep-2004.) $)
    xpindir $p |- ( ( A i^i B ) X. C ) = ( ( A X. C ) i^i ( B X. C ) ) $=
      ( cxp cin inxp inidm xpeq2i eqtr2i ) ACDBCDEABEZCCEZDJCDACBCFKCJCGHI $.
  $}


  ${
     $d x y A $.
     opabbi2i.1 $e |- ( <. x , y >. e. A <-> ph ) $.
     $( Equality of a class variable and an ordered pair abstractions
     	(inference rule). Compare ~ abbi2i .  (Contributed by Scott Fenton,
	18-Apr-2021.) $)
     opabbi2i $p |- A = { <. x , y >. | ph } $=
       ( cv cop wcel copab opabid2 opabbii eqtr3i ) BFCFGDHZBCIDABCIBCDJMABCEKL
       $.
  $}

  ${
    $d x y A $.  $d x y ph $.
    opabbi2dv.1 $e |- ( ph -> ( <. x , y >. e. A <-> ps ) ) $.
    $( Deduce equality of a relation and an ordered-pair class builder.
       Compare ~ abbi2dv .  (Contributed by NM, 24-Feb-2014.) $)
    opabbi2dv $p |- ( ph -> A = { <. x , y >. | ps } ) $=
      ( cv cop wcel copab opabid2 opabbidv syl5eqr ) AECGDGHEIZCDJBCDJCDEKANBCD
      FLM $.
  $}

  ${
    $d x y A $.  $d x y B $.
    $( For sets, the identity relation is the same as equality.  (Contributed
       by NM, 30-Apr-2004.)  (Revised by set.mm contributors, 27-Aug-2011.) $)
    ideqg $p |- ( B e. V -> ( A _I B <-> A = B ) ) $=
      ( vx vy wcel cid wbr wceq cvv wa brex adantl simpr adantr eqeltrd jca weq
      elex cv eqeq1 eqeq2 df-id brabg pm5.21nd ) BCFZABGHZABIZAJFZBJFZKZUGUKUFA
      BGLMUFUHKZUIUJULABJUFUHNUFUJUHBCSOZPUMQDERAETZIUHDEABJJGDTAUNUAUNBAUBDEUC
      UDUE $.

    $( For sets, the identity relation is the same as equality.  (Contributed
       by SF, 8-Jan-2015.) $)
    ideqg2 $p |- ( A e. V -> ( A _I B <-> A = B ) ) $=
      ( vx vy wcel cid wbr wceq cvv wa brex adantl elex simpl eleq1 biimpac jca
      sylan cv weq eqeq1 eqeq2 df-id brabg pm5.21nd ) ACFZABGHZABIZAJFZBJFZKZUH
      ULUGABGLMUGUJUIULACNUJUIKUJUKUJUIOUIUJUKABJPQRSDEUAAETZIUIDEABJJGDTAUMUBU
      MBAUCDEUDUEUF $.
  $}

  ${
    ideq.1 $e |- B e. _V $.
    $( For sets, the identity relation is the same as equality.  (Contributed
       by NM, 13-Aug-1995.)  (Revised by set.mm contributors, 1-Jun-2008.) $)
    ideq $p |- ( A _I B <-> A = B ) $=
      ( cvv wcel cid wbr wceq wb ideqg ax-mp ) BDEABFGABHICABDJK $.
  $}

  $( A set is identical to itself.  (The proof was shortened by Andrew Salmon,
     27-Aug-2011.)  (Contributed by NM, 28-May-2008.)  (Revised by set.mm
     contributors, 27-Aug-2011.) $)
  ididg $p |- ( A e. V -> A _I A ) $=
    ( wcel cid wbr wceq eqid ideqg mpbiri ) ABCAADEAAFAGAABHI $.

  ${
    $d A x y z $.  $d B x y z $.  $d C x y z $.
    $( Subclass theorem for composition.  (Contributed by FL, 30-Dec-2010.) $)
    coss1 $p |- ( A C_ B -> ( A o. C ) C_ ( B o. C ) ) $=
      ( vx vy vz wss cv wbr wa wex copab id ssbrd anim2d eximdv ssopab2dv df-co
      ccom 3sstr4g ) ABGZDHEHZCIZUBFHZAIZJZEKZDFLUCUBUDBIZJZEKZDFLACSBCSUAUGUJD
      FUAUFUIEUAUEUHUCUAABUBUDUAMNOPQDFEACRDFEBCRT $.

    $( Subclass theorem for composition.  (Contributed by set.mm contributors,
       5-Apr-2013.) $)
    coss2 $p |- ( A C_ B -> ( C o. A ) C_ ( C o. B ) ) $=
      ( vx vy vz wss cv wbr wa wex copab id ssbrd anim1d eximdv ssopab2dv df-co
      ccom 3sstr4g ) ABGZDHZEHZAIZUCFHCIZJZEKZDFLUBUCBIZUEJZEKZDFLCASCBSUAUGUJD
      FUAUFUIEUAUDUHUEUAABUBUCUAMNOPQDFECARDFECBRT $.
  $}

  $( Equality theorem for composition of two classes.  (Contributed by set.mm
     contributors, 3-Jan-1997.) $)
  coeq1 $p |- ( A = B -> ( A o. C ) = ( B o. C ) ) $=
    ( wss wa ccom wceq coss1 anim12i eqss 3imtr4i ) ABDZBADZEACFZBCFZDZONDZEABG
    NOGLPMQABCHBACHIABJNOJK $.

  $( Equality theorem for composition of two classes.  (Contributed by set.mm
     contributors, 3-Jan-1997.) $)
  coeq2 $p |- ( A = B -> ( C o. A ) = ( C o. B ) ) $=
    ( wss wa ccom wceq coss2 anim12i eqss 3imtr4i ) ABDZBADZECAFZCBFZDZONDZEABG
    NOGLPMQABCHBACHIABJNOJK $.

  ${
    coeq1i.1 $e |- A = B $.
    $( Equality inference for composition of two classes.  (Contributed by
       set.mm contributors, 16-Nov-2000.) $)
    coeq1i $p |- ( A o. C ) = ( B o. C ) $=
      ( wceq ccom coeq1 ax-mp ) ABEACFBCFEDABCGH $.

    $( Equality inference for composition of two classes.  (Contributed by
       set.mm contributors, 16-Nov-2000.) $)
    coeq2i $p |- ( C o. A ) = ( C o. B ) $=
      ( wceq ccom coeq2 ax-mp ) ABECAFCBFEDABCGH $.
  $}

  ${
    coeq1d.1 $e |- ( ph -> A = B ) $.
    $( Equality deduction for composition of two classes.  (Contributed by
       set.mm contributors, 16-Nov-2000.) $)
    coeq1d $p |- ( ph -> ( A o. C ) = ( B o. C ) ) $=
      ( wceq ccom coeq1 syl ) ABCFBDGCDGFEBCDHI $.

    $( Equality deduction for composition of two classes.  (Contributed by
       set.mm contributors, 16-Nov-2000.) $)
    coeq2d $p |- ( ph -> ( C o. A ) = ( C o. B ) ) $=
      ( wceq ccom coeq2 syl ) ABCFDBGDCGFEBCDHI $.
  $}

  ${
    coeq12i.1 $e |- A = B $.
    coeq12i.2 $e |- C = D $.
    $( Equality inference for composition of two classes.  (Contributed by FL,
       7-Jun-2012.) $)
    coeq12i $p |- ( A o. C ) = ( B o. D ) $=
      ( ccom coeq1i coeq2i eqtri ) ACGBCGBDGABCEHCDBFIJ $.
  $}

  ${
    coeq12d.1 $e |- ( ph -> A = B ) $.
    coeq12d.2 $e |- ( ph -> C = D ) $.
    $( Equality deduction for composition of two classes.  (Contributed by FL,
       7-Jun-2012.) $)
    coeq12d $p |- ( ph -> ( A o. C ) = ( B o. D ) ) $=
      ( ccom coeq1d coeq2d eqtrd ) ABDHCDHCEHABCDFIADECGJK $.
  $}

  ${
    $d w x y z $.  $d y z w A $.  $d y z w B $.
    nfco.1 $e |- F/_ x A $.
    nfco.2 $e |- F/_ x B $.
    $( Bound-variable hypothesis builder for function value.  (Contributed by
       NM, 1-Sep-1999.) $)
    nfco $p |- F/_ x ( A o. B ) $=
      ( vy vw vz ccom cv wbr wa wex copab df-co nfcv nfbr nfan nfex nfopab
      nfcxfr ) ABCIFJZGJZCKZUCHJZBKZLZGMZFHNFHGBCOUHFHAUGAGUDUFAAUBUCCAUBPEAUCP
      ZQAUCUEBUIDAUEPQRSTUA $.
  $}

  ${
    $d x y z A $.  $d x y z B $.  $d x y z C $.  $d x y z D $.
    $( Binary relation on a composition.  (Contributed by set.mm contributors,
       21-Sep-2004.) $)
    brco $p |- ( A ( C o. D ) B <-> E. x ( A D x /\ x C B ) ) $=
      ( vy vz ccom wbr cvv wcel wa wex brex simpld simprd anim12i wceq exbidv
      cv exlimiv breq1 anbi1d breq2 anbi2d df-co brabg pm5.21nii ) BCDEHZIBJKZC
      JKZLZBATZEIZUMCDIZLZAMZBCUINUPULAUNUJUOUKUNUJUMJKZBUMENOUOURUKUMCDNPQUAFT
      ZUMEIZUMGTZDIZLZAMUNVBLZAMUQFGBCJJUIUSBRZVCVDAVEUTUNVBUSBUMEUBUCSVACRZVDU
      PAVFVBUOUNVACUMDUDUESFGADEUFUGUH $.

    $( Ordered pair membership in a composition.  (The proof was shortened by
       Andrew Salmon, 27-Aug-2011.)  (Contributed by set.mm contributors,
       27-Dec-1996.)  (Revised by set.mm contributors, 27-Aug-2011.) $)
    opelco $p |- ( <. A , B >. e. ( C o. D ) <-> E. x ( A D x /\ x C B ) ) $=
      ( cop ccom wcel wbr cv wa wex df-br brco bitr3i ) BCFDEGZHBCPIBAJZEIQCDIK
      ALBCPMABCDENO $.
  $}

  ${
    $d x y A $.  $d x y B $.
    $( Subset theorem for converse.  (Contributed by set.mm contributors,
       22-Mar-1998.) $)
    cnvss $p |- ( A C_ B -> `' A C_ `' B ) $=
      ( vy vx wss wbr copab ccnv cop wcel ssel 3imtr4g ssopab2dv df-cnv 3sstr4g
      cv df-br ) ABEZCPZDPZAFZDCGSTBFZDCGAHBHRUAUBDCRSTIZAJUCBJUAUBABUCKSTAQSTB
      QLMDCANDCBNO $.
  $}

  $( Equality theorem for converse.  (Contributed by set.mm contributors,
     13-Aug-1995.) $)
  cnveq $p |- ( A = B -> `' A = `' B ) $=
    ( wss wa ccnv wceq cnvss anim12i eqss 3imtr4i ) ABCZBACZDAEZBEZCZNMCZDABFMN
    FKOLPABGBAGHABIMNIJ $.

  ${
    cnveqi.1 $e |- A = B $.
    $( Equality inference for converse.  (Contributed by set.mm contributors,
       23-Dec-2008.) $)
    cnveqi $p |- `' A = `' B $=
      ( wceq ccnv cnveq ax-mp ) ABDAEBEDCABFG $.
  $}

  ${
    cnveqd.1 $e |- ( ph -> A = B ) $.
    $( Equality deduction for converse.  (Contributed by set.mm contributors,
       6-Dec-2013.) $)
    cnveqd $p |- ( ph -> `' A = `' B ) $=
      ( wceq ccnv cnveq syl ) ABCEBFCFEDBCGH $.
  $}

  ${
    $d x y A $.  $d x y R $.
    $( Membership in a converse.  Equation 5 of [Suppes] p. 62.  (Contributed
       by set.mm contributors, 24-Mar-1998.) $)
    elcnv $p |- ( A e. `' R <-> E. x E. y ( A = <. x , y >. /\ y R x ) ) $=
      ( ccnv wcel cv wbr copab cop wceq wa wex df-cnv eleq2i elopab bitri ) CDE
      ZFCBGZAGZDHZABIZFCTSJKUALBMAMRUBCABDNOUAABCPQ $.

    $( Membership in a converse.  Equation 5 of [Suppes] p. 62.  (Contributed
       by set.mm contributors, 11-Aug-2004.) $)
    elcnv2 $p |- ( A e. `' R <->
                 E. x E. y ( A = <. x , y >. /\ <. y , x >. e. R ) ) $=
      ( ccnv wcel cv cop wceq wbr wa wex elcnv df-br anbi2i 2exbii bitri ) CDEF
      CAGZBGZHIZSRDJZKZBLALTSRHDFZKZBLALABCDMUBUDABUAUCTSRDNOPQ $.
  $}

  ${
    $d y z A $.  $d x y z $.
    nfcnv.1 $e |- F/_ x A $.
    $( Bound-variable hypothesis builder for converse.  (Contributed by NM,
       31-Jan-2004.)  (Revised by Mario Carneiro, 15-Oct-2016.) $)
    nfcnv $p |- F/_ x `' A $=
      ( vz vy ccnv cv wbr copab df-cnv nfcv nfbr nfopab nfcxfr ) ABFDGZEGZBHZED
      IEDBJQEDAAOPBAOKCAPKLMN $.
  $}

  ${
    $d A x y $.  $d B x y $.  $d R x y $.
    $( The converse of a binary relation swaps arguments.  Theorem 11 of
       [Suppes] p. 61.  (Contributed by set.mm contributors, 13-Aug-1995.) $)
    brcnv $p |- ( A `' R B <-> B R A ) $=
      ( vy vx ccnv wbr cvv wcel wa ancomd cv breq2 breq1 df-cnv brabg pm5.21nii
      brex ) ABCFZGAHIZBHIZJBACGZABSRUBUATBACRKDLZELZCGUCACGUBEDABHHSUDAUCCMUCB
      ACNEDCOPQ $.

    $( Ordered-pair membership in converse.  (Contributed by set.mm
       contributors, 13-Aug-1995.) $)
    opelcnv $p |- ( <. A , B >. e. `' R <-> <. B , A >. e. R ) $=
      ( ccnv wbr cop wcel brcnv df-br 3bitr3i ) ABCDZEBACEABFKGBAFCGABCHABKIBAC
      IJ $.

  $}

  ${
    $d x y z A $.  $d x y z B $.
    $( Distributive law of converse over class composition.  Theorem 26 of
       [Suppes] p. 64.  (The proof was shortened by Andrew Salmon,
       27-Aug-2011.)  (Contributed by set.mm contributors, 19-Mar-1998.)
       (Revised by set.mm contributors, 27-Aug-2011.) $)
    cnvco $p |- `' ( A o. B ) = ( `' B o. `' A ) $=
      ( vx vy vz cv ccom wbr copab ccnv wa wex brcnv anbi12i ancom bitr3i exbii
      brco bitri opabbii df-cnv df-co 3eqtr4i ) CFZDFZABGZHZDCIUEEFZAJZHZUHUDBJ
      ZHZKZELZDCIUFJUKUIGUGUNDCUGUDUHBHZUHUEAHZKZELUNEUDUEABRUQUMEUQULUJKUMULUO
      UJUPUHUDBMUEUHAMNULUJOPQSTDCUFUADCEUKUIUBUC $.
  $}

  ${
    $d x y z w A $.
    $( The converse of a class union is the (indexed) union of the converses of
       its members.  (Contributed by set.mm contributors, 11-Aug-2004.) $)
    cnvuni $p |- `' U. A = U_ x e. A `' x $=
      ( vy vz vw cuni ccnv cv ciun wcel wrex cop wa elcnv2 eluni2 anbi2i bitr4i
      wceq wex rexcom4 r19.42v 2exbii rexbii exbii 3bitrri 3bitri eliun eqriv )
      CBFZGZABAHZGZIZCHZUJJZUNULJZABKZUNUMJUOUNDHZEHZLRZUSURLZUIJZMZESDSUTVAUKJ
      ZMZABKZESZDSZUQDEUNUINVCVFDEVCUTVDABKZMVFVBVIUTAVABOPUTVDABUAQUBUQVEESZDS
      ZABKVJABKZDSVHUPVKABDEUNUKNUCVJADBTVLVGDVEAEBTUDUEUFAUNBULUGQUH $.
  $}

  ${
    $d x A $.  $d x B $.
    $( Membership in a range.  (Contributed by set.mm contributors,
       2-Apr-2004.) $)
    elrn $p |- ( A e. ran B <-> E. x x B A ) $=
      ( crn wcel cvv cima cv wbr wrex wex df-rn eleq2i elima rexv 3bitri ) BCDZ
      EBCFGZEAHBCIZAFJSAKQRBCLMABCFNSAOP $.

    $( Membership in a range.  (Contributed by set.mm contributors,
       10-Jul-1994.) $)
    elrn2 $p |- ( A e. ran B <-> E. x <. x , A >. e. B ) $=
      ( crn wcel cv wbr wex cop elrn df-br exbii bitri ) BCDEAFZBCGZAHNBICEZAHA
      BCJOPANBCKLM $.

  $}

  ${
    $d y A $.  $d y B $.
    $( Membership in a domain.  Theorem 4 of [Suppes] p. 59.  (Contributed by
       set.mm contributors, 2-Apr-2004.) $)
    eldm $p |- ( A e. dom B <-> E. y A B y ) $=
      ( cdm wcel cv ccnv wbr wex crn df-dm eleq2i elrn bitri brcnv exbii ) BCDZ
      EZAFZBCGZHZAIZBSCHZAIRBTJZEUBQUDBCKLABTMNUAUCASBCOPN $.

    $( Membership in a domain.  Theorem 4 of [Suppes] p. 59.  (Contributed by
       set.mm contributors, 1-Aug-1994.) $)
    eldm2 $p |- ( A e. dom B <-> E. y <. A , y >. e. B ) $=
      ( cdm wcel cv wbr wex cop eldm df-br exbii bitri ) BCDEBAFZCGZAHBNICEZAHA
      BCJOPABNCKLM $.
  $}

  ${
    $d x y A $.
    $( Alternate definition of domain.  (Contributed by set.mm contributors,
       5-Feb-2015.) $)
    dfdm2 $p |- dom A = { x | E. y x A y } $=
      ( cv wbr wex cdm eldm abbi2i ) ADZBDCEBFACGBJCHI $.

    $( Alternate definition of domain.  Definition 6.5(1) of [TakeutiZaring]
       p. 24.  (Contributed by set.mm contributors, 28-Dec-1996.) $)
    dfdm3 $p |- dom A = { x | E. y <. x , y >. e. A } $=
      ( cv cop wcel wex cdm eldm2 abbi2i ) ADZBDECFBGACHBKCIJ $.

    $( Alternate definition of range.  Definition 4 of [Suppes] p. 60.
       (Contributed by set.mm contributors, 27-Dec-1996.) $)
    dfrn2 $p |- ran A = { y | E. x x A y } $=
      ( cv wbr wex crn elrn abbi2i ) ADBDZCEAFBCGAJCHI $.

    $( Alternate definition of range.  Definition 6.5(2) of [TakeutiZaring]
       p. 24.  (Contributed by set.mm contributors, 28-Dec-1996.) $)
    dfrn3 $p |- ran A = { y | E. x <. x , y >. e. A } $=
      ( crn cv wbr wex cab cop wcel dfrn2 df-br exbii abbii eqtri ) CDAEZBEZCFZ
      AGZBHPQICJZAGZBHABCKSUABRTAPQCLMNO $.

    $( Alternate definition of range.  (Contributed by set.mm contributors,
       5-Feb-2015.) $)
    dfrn4 $p |- ran A = dom `' A $=
      ( vx vy crn ccnv cdm cv wbr wex wcel brcnv exbii eldm elrn 3bitr4ri eqriv
      ) BADZAEZFZBGZCGZRHZCIUATAHZCITSJTQJUBUCCTUAAKLCTRMCTANOP $.
  $}

  ${
    $d x y w v $.  $d w v A $.
    dfdmf.1 $e |- F/_ x A $.
    dfdmf.2 $e |- F/_ y A $.
    $( Definition of domain, using bound-variable hypotheses instead of
       distinct variable conditions.  (Contributed by NM, 8-Mar-1995.)
       (Revised by Mario Carneiro, 15-Oct-2016.) $)
    dfdmf $p |- dom A = { x | E. y x A y } $=
      ( vw vv cdm cv wbr wex cab dfdm2 nfcv nfbr nfv breq2 cbvex abbii nfex weq
      breq1 exbidv cbvab 3eqtri ) CHFIZGIZCJZGKZFLUFBIZCJZBKZFLAIZUJCJZBKZALFGC
      MUIULFUHUKGBBUFUGCBUFNEBUGNOUKGPUGUJUFCQRSULUOFAUKABAUFUJCAUFNDAUJNOTUOFP
      FAUAUKUNBUFUMUJCUBUCUDUE $.
  $}

  ${
    $d x y A $.  $d x y B $.
    $( Subset theorem for domain.  (Contributed by set.mm contributors,
       11-Aug-1994.) $)
    dmss $p |- ( A C_ B -> dom A C_ dom B ) $=
      ( vx vy wss cdm cv cop wcel wex ssel eximdv eldm2 3imtr4g ssrdv ) ABEZCAF
      ZBFZPCGZDGHZAIZDJTBIZDJSQISRIPUAUBDABTKLDSAMDSBMNO $.
  $}

  $( Equality theorem for domain.  (Contributed by set.mm contributors,
     11-Aug-1994.) $)
  dmeq $p |- ( A = B -> dom A = dom B ) $=
    ( wss wa cdm wceq dmss anim12i eqss 3imtr4i ) ABCZBACZDAEZBEZCZNMCZDABFMNFK
    OLPABGBAGHABIMNIJ $.

  ${
    dmeqi.1 $e |- A = B $.
    $( Equality inference for domain.  (Contributed by set.mm contributors,
       4-Mar-2004.) $)
    dmeqi $p |- dom A = dom B $=
      ( wceq cdm dmeq ax-mp ) ABDAEBEDCABFG $.
  $}

  ${
    dmeqd.1 $e |- ( ph -> A = B ) $.
    $( Equality deduction for domain.  (Contributed by set.mm contributors,
       4-Mar-2004.) $)
    dmeqd $p |- ( ph -> dom A = dom B ) $=
      ( wceq cdm dmeq syl ) ABCEBFCFEDBCGH $.
  $}

  ${
    $d y A $.  $d y B $.  $d y C $.
    $( Membership of first of an ordered pair in a domain.  (Contributed by
       set.mm contributors, 30-Jul-1995.) $)
    opeldm $p |- ( <. A , B >. e. C -> A e. dom C ) $=
      ( vy cop wcel wex cdm cvv elex opexb simprbi syl wceq opeq2 eleq1d spcegv
      cv mpcom eldm2 sylibr ) ABEZCFZADRZEZCFZDGZACHFBIFZUCUGUCUBIFZUHUBCJUIAIF
      UHABKLMUFUCDBIUDBNUEUBCUDBAOPQSDACTUA $.
  $}

  $( Membership of first of a binary relation in a domain.  (Contributed by
     set.mm contributors, 8-Jan-2015.) $)
  breldm $p |- ( A R B -> A e. dom R ) $=
    ( wbr cop wcel cdm df-br opeldm sylbi ) ABCDABECFACGFABCHABCIJ $.

  ${
    $d A x y $.  $d B x y $.
    $( The domain of a union is the union of domains.  Exercise 56(a) of
       [Enderton] p. 65.  (The proof was shortened by Andrew Salmon,
       27-Aug-2011.)  (Contributed by set.mm contributors, 12-Aug-1994.)
       (Revised by set.mm contributors, 27-Aug-2011.) $)
    dmun $p |- dom ( A u. B ) = ( dom A u. dom B ) $=
      ( vx vy cun cdm cv cop wcel wex cab dfdm3 wo eldm orbi12i elun df-br brun
      wbr bitr3i exbii 19.43 bitri 3bitr4i abbi2i eqtr4i ) ABEZFCGZDGZHUGIZDJZC
      KAFZBFZEZCDUGLUKCUNUHULIZUHUMIZMUHUIASZDJZUHUIBSZDJZMZUHUNIUKUOURUPUTDUHA
      NDUHBNOUHULUMPUKUQUSMZDJVAUJVBDUJUHUIUGSVBUHUIUGQUHUIABRTUAUQUSDUBUCUDUEU
      F $.

    $( The domain of an intersection belong to the intersection of domains.
       Theorem 6 of [Suppes] p. 60.  (Contributed by set.mm contributors,
       15-Sep-2004.) $)
    dmin $p |- dom ( A i^i B ) C_ ( dom A i^i dom B ) $=
      ( vx vy cin cdm cv cop wcel wa wex 19.40 eldm2 elin exbii anbi12i 3imtr4i
      bitri ssriv ) CABEZFZAFZBFZEZCGZDGHZAIZUFBIZJZDKZUGDKZUHDKZJZUEUAIZUEUDIZ
      UGUHDLUNUFTIZDKUJDUETMUPUIDUFABNORUOUEUBIZUEUCIZJUMUEUBUCNUQUKURULDUEAMDU
      EBMPRQS $.

  $}

  ${
    $d x y z A $.
    $( The domain of a union.  Part of Exercise 8 of [Enderton] p. 41.
       (Contributed by set.mm contributors, 3-Feb-2004.) $)
    dmuni $p |- dom U. A = U_ x e. A dom x $=
      ( vy vz cuni cdm cv ciun cop wcel wex wrex eluni exbii excom 19.41v ancom
      wa eldm2 bitri anbi1i bicomi 3bitri df-rex bitr4i eliun 3bitr4i eqriv ) C
      BEZFZABAGZFZHZCGZDGIZUIJZDKZUNULJZABLZUNUJJUNUMJUQUKBJZURRZAKZUSUQUOUKJZU
      TRZAKZDKVDDKZAKVBUPVEDAUOBMNVDDAOVFVAAVFVCDKZUTRZVAVCUTDPVAVHVAURUTRVHUTU
      RQURVGUTDUNUKSUATUBTNUCURABUDUEDUNUISAUNBULUFUGUH $.
  $}

  ${
    $d x y $.
    $( The domain of a class of ordered pairs.  (Contributed by NM,
       16-May-1995.)  (Revised by Mario Carneiro, 4-Dec-2016.) $)
    dmopab $p |- dom { <. x , y >. | ph } = { x | E. y ph } $=
      ( copab cdm wbr wex cab nfopab1 nfopab2 dfdmf cop wcel df-br opabid bitri
      cv exbii abbii eqtri ) ABCDZEBQZCQZUAFZCGZBHACGZBHBCUAABCIABCJKUEUFBUDACU
      DUBUCLUAMAUBUCUANABCOPRST $.
  $}

  ${
    $d x y A $.
    $( Upper bound for the domain of a restricted class of ordered pairs.
       (Contributed by set.mm contributors, 31-Jan-2004.) $)
    dmopabss $p |- dom { <. x , y >. | ( x e. A /\ ph ) } C_ A $=
      ( cv wcel wa copab cdm wex cab dmopab 19.42v abbii ssab2 eqsstri ) BEDFZA
      GZBCHIRCJZBKZDRBCLTQACJZGZBKDSUBBQACMNUABDOPP $.
  $}

  ${
    $d x y A $.
    $( The domain of a restricted class of ordered pairs.  (Contributed by
       set.mm contributors, 31-Jan-2004.) $)
    dmopab3 $p |- ( A. x e. A E. y ph <->
               dom { <. x , y >. | ( x e. A /\ ph ) } = A ) $=
      ( wex wral cv wcel wi wal wa wb copab cdm wceq df-ral pm4.71 albii dmopab
      cab 19.42v abbii eqtri eqeq1i eqcom abeq2 3bitr2ri 3bitri ) ACEZBDFBGDHZU
      IIZBJUJUJUIKZLZBJZUJAKZBCMNZDOZUIBDPUKUMBUJUIQRUQULBTZDODUROUNUPURDUPUOCE
      ZBTURUOBCSUSULBUJACUAUBUCUDDURUEULBDUFUGUH $.
  $}

  ${
    $d x y $.
    $( The domain of the empty set is empty.  Part of Theorem 3.8(v) of [Monk1]
       p. 36.  (The proof was shortened by Andrew Salmon, 27-Aug-2011.)
       (Contributed by set.mm contributors, 4-Jul-1994.)  (Revised by set.mm
       contributors, 27-Aug-2011.) $)
    dm0 $p |- dom (/) = (/) $=
      ( vx vy c0 cdm wceq cv wcel wn eq0 cop wex noel nex eldm2 mtbir mpgbir )
      CDZCEAFZQGZHAAQISRBFJZCGZBKUABTLMBRCNOP $.

    $( The domain of the identity relation is the universe.  (The proof was
       shortened by Andrew Salmon, 27-Aug-2011.)  (Contributed by set.mm
       contributors, 30-Apr-1998.)  (Revised by set.mm contributors,
       27-Aug-2011.) $)
    dmi $p |- dom _I = _V $=
      ( vx vy cid cdm cvv wceq cv wcel eqv wbr wex weq a9e vex ideq bitri exbii
      equcom mpbir eldm mpgbir ) CDZEFAGZUBHZAAUBIUDUCBGZCJZBKZUGBALZBKBAMUFUHB
      UFABLUHUCUEBNOABRPQSBUCCTSUA $.

    $( The domain of the universe is the universe.  (Contributed by set.mm
       contributors, 8-Aug-2003.) $)
    dmv $p |- dom _V = _V $=
      ( cvv cdm ssv cid dmi wss dmss ax-mp eqsstr3i eqssi ) ABZAKCADBZKEDAFLKFD
      CDAGHIJ $.
  $}

  ${
    $d x y A $.
    $( An empty domain implies an empty range.  (Contributed by set.mm
       contributors, 21-May-1998.) $)
    dm0rn0 $p |- ( dom A = (/) <-> ran A = (/) ) $=
      ( vx vy cv wbr wex cab c0 wceq wcel wb wal alnex noel albii abeq1 3bitr4i
      wn nbn eqeq1i cdm crn excom xchbinx bitr4i 3bitr3i dfdm2 dfrn2 ) BDZCDZAE
      ZCFZBGZHIZUKBFZCGZHIZAUAZHIAUBZHIULUIHJZKZBLZUOUJHJZKZCLZUNUQULRZBLZUORZC
      LZVBVEVGUOCFZRVIVGULBFVJULBMUKBCUCUDUOCMUEVFVABUTULUINSOVHVDCVCUOUJNSOUFU
      LBHPUOCHPQURUMHBCAUGTUSUPHBCAUHTQ $.

    $( A class is empty iff its domain is empty.  (Contributed by set.mm
       contributors, 15-Sep-2004.) (Revised by Scott Fenton, 17-Apr-2021.) $)
    dmeq0 $p |- ( A = (/) <-> dom A = (/) ) $=
      ( vx vy cv cdm wcel wn wal cop c0 wb wceq wex eldm2 notbii alnex noel nbn
      albii 3bitr2i eq0 eqrel 3bitr4ri ) BDZAEZFZGZBHUDCDIZAFZUHJFZKZCHZBHUEJLA
      JLUGULBUGUICMZGUIGZCHULUFUMCUDANOUICPUNUKCUJUIUHQRSTSBUEUABCAJUBUC $.
  $}

  ${
    $d x y A $.  $d x y B $.
    $( The domain of a cross product.  Part of Theorem 3.13(x) of [Monk1]
       p. 37.  (The proof was shortened by Andrew Salmon, 27-Aug-2011.)
       (Contributed by set.mm contributors, 28-Jul-1995.)  (Revised by set.mm
       contributors, 27-Aug-2011.) $)
    dmxp $p |- ( B =/= (/) -> dom ( A X. B ) = A ) $=
      ( vy vx c0 wne cxp cdm cv wcel wa copab df-xp dmeqi wex wral n0 ralrimivw
      wceq biimpi dmopab3 sylib syl5eq ) BEFZABGZHCIAJDIBJZKCDLZHZAUEUGCDABMNUD
      UFDOZCAPUHASUDUICAUDUIDBQTRUFCDAUAUBUC $.
  $}

  $( The domain of a square cross product.  (Contributed by set.mm
     contributors, 28-Jul-1995.) $)
  dmxpid $p |- dom ( A X. A ) = A $=
    ( cxp cdm wceq c0 dm0 xpeq1 xp0r syl6eq dmeqd id 3eqtr4a dmxp pm2.61ine ) A
    ABZCZADAEAEDZECEPAFQOEQOEABEAEAGAHIJQKLAAMN $.

  $( The domain of the intersection of two square cross products.  Unlike
     ~ dmin , equality holds.  (Contributed by set.mm contributors,
     29-Jan-2008.) $)
  dmxpin $p |- dom ( ( A X. A ) i^i ( B X. B ) ) = ( A i^i B ) $=
    ( cxp cin cdm inxp dmeqi dmxpid eqtri ) AACBBCDZEABDZKCZEKJLAABBFGKHI $.

  $( The cross product of a class with itself is one-to-one.  (The proof was
     shortened by Andrew Salmon, 27-Aug-2011.)  (Contributed by set.mm
     contributors, 5-Nov-2006.)  (Revised by set.mm contributors,
     27-Aug-2011.) $)
  xpid11 $p |- ( ( A X. A ) = ( B X. B ) <-> A = B ) $=
    ( cxp wceq cdm dmeq dmxpid 3eqtr3g xpeq12 anidms impbii ) AACZBBCZDZABDZNLE
    MEABLMFAGBGHONABABIJK $.

  $( The first member of an ordered pair in a class belongs to the domain
     of the class.  (Contributed by set.mm contributors, 28-Jul-2004.)
     (Revised by Scott Fenton, 18-Apr-2021.) $)
  proj1eldm $p |- ( B e. A -> Proj1 B e. dom A ) $=
    ( wcel cproj1 cproj2 cop cdm opeq eleq1i opeldm sylbi ) BACBDZBEZFZACLAGC
    BNABHILMAJK $.

  $( Equality theorem for restrictions.  (Contributed by set.mm contributors,
     7-Aug-1994.) $)
  reseq1 $p |- ( A = B -> ( A |` C ) = ( B |` C ) ) $=
    ( wceq cvv cxp cin cres ineq1 df-res 3eqtr4g ) ABDACEFZGBLGACHBCHABLIACJBCJ
    K $.

  $( Equality theorem for restrictions.  (Contributed by set.mm contributors,
     8-Aug-1994.) $)
  reseq2 $p |- ( A = B -> ( C |` A ) = ( C |` B ) ) $=
    ( wceq cvv cxp cin cres xpeq1 ineq2d df-res 3eqtr4g ) ABDZCAEFZGCBEFZGCAHCB
    HMNOCABEIJCAKCBKL $.

  ${
    reseqi.1 $e |- A = B $.
    $( Equality inference for restrictions.  (Contributed by set.mm
       contributors, 21-Oct-2014.) $)
    reseq1i $p |- ( A |` C ) = ( B |` C ) $=
      ( wceq cres reseq1 ax-mp ) ABEACFBCFEDABCGH $.

    $( Equality inference for restrictions.  (Contributed by Paul Chapman,
       22-Jun-2011.) $)
    reseq2i $p |- ( C |` A ) = ( C |` B ) $=
      ( wceq cres reseq2 ax-mp ) ABECAFCBFEDABCGH $.

    reseqi.2 $e |- C = D $.
    $( Equality inference for restrictions.  (Contributed by set.mm
       contributors, 21-Oct-2014.) $)
    reseq12i $p |- ( A |` C ) = ( B |` D ) $=
      ( cres reseq1i reseq2i eqtri ) ACGBCGBDGABCEHCDBFIJ $.
  $}

  ${
    reseqd.1 $e |- ( ph -> A = B ) $.
    $( Equality deduction for restrictions.  (Contributed by set.mm
       contributors, 21-Oct-2014.) $)
    reseq1d $p |- ( ph -> ( A |` C ) = ( B |` C ) ) $=
      ( wceq cres reseq1 syl ) ABCFBDGCDGFEBCDHI $.

    $( Equality deduction for restrictions.  (Contributed by Paul Chapman,
       22-Jun-2011.) $)
    reseq2d $p |- ( ph -> ( C |` A ) = ( C |` B ) ) $=
      ( wceq cres reseq2 syl ) ABCFDBGDCGFEBCDHI $.

    reseqd.2 $e |- ( ph -> C = D ) $.
    $( Equality deduction for restrictions.  (Contributed by set.mm
       contributors, 21-Oct-2014.) $)
    reseq12d $p |- ( ph -> ( A |` C ) = ( B |` D ) ) $=
      ( cres reseq1d reseq2d eqtrd ) ABDHCDHCEHABCDFIADECGJK $.
  $}

  ${
    nfres.1 $e |- F/_ x A $.
    nfres.2 $e |- F/_ x B $.
    $( Bound-variable hypothesis builder for restriction.  (Contributed by NM,
       15-Sep-2003.)  (Revised by David Abernethy, 19-Jun-2012.) $)
    nfres $p |- F/_ x ( A |` B ) $=
      ( cres cvv cxp cin df-res nfcv nfxp nfin nfcxfr ) ABCFBCGHZIBCJABODACGEAG
      KLMN $.
  $}

  ${
    $d A x y $.  $d B x y $.  $d C x y $.
    $( Equality theorem for image.  (Contributed by set.mm contributors,
       14-Aug-1994.) $)
    imaeq1 $p |- ( A = B -> ( A " C ) = ( B " C ) ) $=
      ( vy vx wceq cv wbr wrex cab cima breq rexbidv abbidv df-ima 3eqtr4g ) AB
      FZDGZEGZAHZDCIZEJRSBHZDCIZEJACKBCKQUAUCEQTUBDCRSABLMNEDACOEDBCOP $.

    $( Equality theorem for image.  (Contributed by set.mm contributors,
       14-Aug-1994.) $)
    imaeq2 $p |- ( A = B -> ( C " A ) = ( C " B ) ) $=
      ( vy vx wceq cv wbr wrex cab cima rexeq abbidv df-ima 3eqtr4g ) ABFZDGEGC
      HZDAIZEJQDBIZEJCAKCBKPRSEQDABLMEDCANEDCBNO $.
  $}

  ${
    imaeq1i.1 $e |- A = B $.
    $( Equality theorem for image.  (Contributed by set.mm contributors,
       21-Dec-2008.) $)
    imaeq1i $p |- ( A " C ) = ( B " C ) $=
      ( wceq cima imaeq1 ax-mp ) ABEACFBCFEDABCGH $.

    $( Equality theorem for image.  (Contributed by set.mm contributors,
       21-Dec-2008.) $)
    imaeq2i $p |- ( C " A ) = ( C " B ) $=
      ( wceq cima imaeq2 ax-mp ) ABECAFCBFEDABCGH $.
  $}

  ${
    imaeq1d.1 $e |- ( ph -> A = B ) $.
    $( Equality theorem for image.  (Contributed by FL, 15-Dec-2006.) $)
    imaeq1d $p |- ( ph -> ( A " C ) = ( B " C ) ) $=
      ( wceq cima imaeq1 syl ) ABCFBDGCDGFEBCDHI $.

    $( Equality theorem for image.  (Contributed by FL, 15-Dec-2006.) $)
    imaeq2d $p |- ( ph -> ( C " A ) = ( C " B ) ) $=
      ( wceq cima imaeq2 syl ) ABCFDBGDCGFEBCDHI $.

    imaeq12d.2 $e |- ( ph -> C = D ) $.
    $( Equality theorem for image.  (Contributed by SF, 8-Jan-2018.) $)
    imaeq12d $p |- ( ph -> ( A " C ) = ( B " D ) ) $=
      ( cima imaeq1d imaeq2d eqtrd ) ABDHCDHCEHABCDFIADECGJK $.
  $}

  ${
    $d A t x $.  $d B t x $.  $d C t x $.
    $( Membership in an image under a unit power class.  (Contributed by set.mm
       contributors, 19-Feb-2015.) $)
    elimapw1 $p |- ( A e. ( B " ~P1 C ) <-> E. x e. C <. { x } , A >. e. B ) $=
      ( vt cpw1 cima wcel cv wbr wrex csn cop elima wceq wa bitr4i bitri rexbii
      wex df-rex elpw1 anbi1i r19.41v exbii rexcom4 snex breq1 ceqsexv df-br )
      BCDFZGHEIZBCJZEUKKZAIZLZBMCHZADKZEBCUKNUNUPBCJZADKZURUNULUPOZUMPZETZADKZU
      TUNULUKHZUMPZETZVDUMEUKUAVGVBADKZETVDVFVHEVFVAADKZUMPVHVEVIUMAULDUBUCVAUM
      ADUDQUEVBAEDUFQRVCUSADUMUSEUPUOUGULUPBCUHUISRUSUQADUPBCUJSRR $.

    $( Membership in an image under two unit power classes.  (Contributed by
       set.mm contributors, 18-Mar-2015.) $)
    elimapw12 $p |- ( A e. ( B " ~P1 ~P1 C ) <->
             E. x e. C <. { { x } } , A >. e. B ) $=
      ( vt cpw1 cima wcel cv csn cop wrex elimapw1 wex df-rex wceq elpw1 anbi1i
      wa bitri r19.41v bitr4i exbii rexcom4 opeq1d eleq1d ceqsexv rexbii bitr3i
      snex sneq ) BCDFZFGHEIZJZBKZCHZEULLZAIZJZJZBKZCHZADLZEBCULMUQUMULHZUPSZEN
      ZVCUPEULOVFUMUSPZUPSZADLZENZVCVEVIEVEVGADLZUPSVIVDVKUPAUMDQRVGUPADUAUBUCV
      JVHENZADLVCVHAEDUDVLVBADUPVBEUSURUJVGUOVACVGUNUTBUMUSUKUEUFUGUHUITTT $.

    $( Membership in an image under three unit power classes.  (Contributed by
       set.mm contributors, 18-Mar-2015.) $)
    elimapw13 $p |- ( A e. ( B " ~P1 ~P1 ~P1 C ) <->
             E. x e. C <. { { { x } } } , A >. e. B ) $=
      ( vt cpw1 cima wcel cv csn cop wrex elimapw12 wa df-rex wceq elpw1 bitr4i
      wex bitri anbi1i r19.41v exbii rexcom4 sneqd opeq1d eleq1d ceqsexv rexbii
      snex sneq ) BCDFZFFGHEIZJZJZBKZCHZEULLZAIZJZJZJZBKZCHZADLZEBCULMURUMULHZU
      QNZESZVEUQEULOVHUMUTPZUQNZESZADLZVEVHVJADLZESVLVGVMEVGVIADLZUQNVMVFVNUQAU
      MDQUAVIUQADUBRUCVJAEDUDRVKVDADUQVDEUTUSUJVIUPVCCVIUOVBBVIUNVAUMUTUKUEUFUG
      UHUITTT $.

  $}

  ${
    $d A x t $.  $d B x t $.
    $( Membership in an image under cardinal one.  (Contributed by set.mm
       contributors, 6-Feb-2015.) $)
    elima1c $p |- ( A e. ( B " 1c ) <-> E. x <. { x } , A >. e. B ) $=
      ( c1c cima wcel cvv cpw1 cv csn cop wrex wex imaeq2i eleq2i elimapw1 rexv
      df1c2 3bitri ) BCDEZFBCGHZEZFAIJBKCFZAGLUCAMTUBBDUACRNOABCGPUCAQS $.

    $( Membership in an image under the unit power class of cardinal one.
       (Contributed by set.mm contributors, 25-Feb-2015.) $)
    elimapw11c $p |- ( A e. ( B " ~P1 1c ) <-> E. x <. { { x } } , A >. e. B )
        $=
      ( vt c1c cpw1 cima wcel cv csn cop wrex wex elimapw1 wa wceq df-rex exbii
      el1c bitri anbi1i 19.41v bitr4i excom snex opeq1d eleq1d ceqsexv 3bitri
      sneq ) BCEFGHDIZJZBKZCHZDELZAIZJZJZBKZCHZAMZDBCENUOUKEHZUNOZDMZUKUQPZUNOZ
      DMZAMZVAUNDEQVDVFAMZDMVHVCVIDVCVEAMZUNOVIVBVJUNAUKSUAVEUNAUBUCRVFDAUDTVGU
      TAUNUTDUQUPUEVEUMUSCVEULURBUKUQUJUFUGUHRUIT $.
  $}

  $( Binary relation on a restriction.  (Contributed by set.mm contributors,
     12-Dec-2006.) $)
  brres $p |- ( A ( C |` D ) B <-> ( A C B /\ A e. D ) ) $=
    ( cres wbr cvv cxp cin wa wcel df-res breqi brin brex simprd adantr pm4.71i
    anass brxp anbi2i 3bitr4ri 3bitri ) ABCDEZFABCDGHZIZFABCFZABUEFZJZUGADKZJZA
    BUDUFCDLMABCUENUKBGKZJUGUJULJZJUKUIUGUJULSUKULUGULUJUGAGKULABCOPQRUHUMUGABD
    GTUAUBUC $.

  $( Ordered pair membership in a restriction.  Exercise 13 of [TakeutiZaring]
     p. 25.  (Contributed by set.mm contributors, 13-Nov-1995.) $)
  opelres $p |- ( <. A , B >. e. ( C |` D ) <->
                  ( <. A , B >. e. C /\ A e. D ) ) $=
    ( cres wbr wcel wa cop brres df-br anbi1i 3bitr3i ) ABCDEZFABCFZADGZHABIZNG
    QCGZPHABCDJABNKORPABCKLM $.

  ${
    $d x y A $.  $d x y B $.
    $( Alternate definition of image.  (Contributed by set.mm contributors,
       19-Apr-2004.)  (Revised by set.mm contributors, 27-Aug-2011.) $)
    dfima3 $p |- ( A " B ) = ran ( A |` B ) $=
      ( vx vy cima cres crn cv cop wcel wex wa opelres ancom bitri exbii elima3
      elrn2 3bitr4ri eqriv ) CABEZABFZGZDHZCHZIZUBJZDKUDBJZUFAJZLZDKUEUCJUEUAJU
      GUJDUGUIUHLUJUDUEABMUIUHNOPDUEUBRDUEABQST $.

    $( Alternate definition of image.  Compare definition (d) of [Enderton]
       p. 44.  (The proof was shortened by Andrew Salmon, 27-Aug-2011.)
       (Contributed by set.mm contributors, 14-Aug-1994.)  (Revised by set.mm
       contributors, 27-Aug-2011.) $)
    dfima4 $p |- ( A " B ) = { y | E. x ( x e. B /\ <. x , y >. e. A ) } $=
      ( cima cv wbr wrex cab wcel cop wa df-ima df-br rexbii df-rex bitri abbii
      wex eqtri ) CDEAFZBFZCGZADHZBIUADJUAUBKCJZLASZBIBACDMUDUFBUDUEADHUFUCUEAD
      UAUBCNOUEADPQRT $.
  $}

  ${
    $d y z A $.  $d y z B $.  $d x y z $.
    nfima.1 $e |- F/_ x A $.
    nfima.2 $e |- F/_ x B $.
    $( Bound-variable hypothesis builder for image.  (Contributed by NM,
       30-Dec-1996.)  (Proof shortened by Andrew Salmon, 27-Aug-2011.) $)
    nfima $p |- F/_ x ( A " B ) $=
      ( vz vy cima cv wbr wrex cab df-ima nfcv nfbr nfrex nfab nfcxfr ) ABCHFIZ
      GIZBJZFCKZGLGFBCMUBAGUAAFCEASTBASNDATNOPQR $.
  $}

  ${
    $d x z $.  $d B z $.  $d A z $.
    nfimad.2 $e |- ( ph -> F/_ x A ) $.
    nfimad.3 $e |- ( ph -> F/_ x B ) $.
    $( Deduction version of bound-variable hypothesis builder ~ nfima .
       (Contributed by FL, 15-Dec-2006.)  (Revised by Mario Carneiro,
       15-Oct-2016.) $)
    nfimad $p |- ( ph -> F/_ x ( A " B ) ) $=
      ( vz cv wcel wal cab cima wnfc nfaba1 nfima wb wa nfnfc1 nfan abidnf
      imaeq1d imaeq2d sylan9eq nfceqdf syl2anc mpbii ) ABGHZCIZBJGKZUGDIZBJGKZL
      ZMZBCDLZMZBUIUKUHBGNUJBGNOABCMZBDMZUMUOPEFUPUQQBULUNUPUQBBCRBDRSUPUQULCUK
      LUNUPUICUKBGCTUAUQUKDCBGDTUBUCUDUEUF $.
  $}

  ${
    $d A y $.  $d B y $.  $d C y $.  $d x y $.  $d F y $.
    $( Move class substitution in and out of the image of a function.
       (Contributed by FL, 15-Dec-2006.)  (Proof shortened by Mario Carneiro,
       4-Dec-2016.) $)
    csbima12g $p |- ( A e. C -> [_ A / x ]_ ( F " B ) =
                 ( [_ A / x ]_ F " [_ A / x ]_ B ) ) $=
      ( vy cv cima csb csbeq1 imaeq12d eqeq12d vex nfcsb1v nfima csbeq1a csbief
      wceq vtoclg ) AFGZECHZIZATEIZATCIZHZRABUAIZABEIZABCIZHZRFBDTBRZUBUFUEUIAT
      BUAJUJUCUGUDUHATBEJATBCJKLATUAUEFMAUCUDATENATCNOAGTREUCCUDATEPATCPKQS $.
  $}

  $( Equality theorem for range.  (Contributed by set.mm contributors,
     29-Dec-1996.) $)
  rneq $p |- ( A = B -> ran A = ran B ) $=
    ( wceq cvv cima crn imaeq1 df-rn 3eqtr4g ) ABCADEBDEAFBFABDGAHBHI $.

  ${
    rneqi.1 $e |- A = B $.
    $( Equality inference for range.  (Contributed by set.mm contributors,
       4-Mar-2004.) $)
    rneqi $p |- ran A = ran B $=
      ( wceq crn rneq ax-mp ) ABDAEBEDCABFG $.
  $}

  ${
    rneqd.1 $e |- ( ph -> A = B ) $.
    $( Equality deduction for range.  (Contributed by set.mm contributors,
       4-Mar-2004.) $)
    rneqd $p |- ( ph -> ran A = ran B ) $=
      ( wceq crn rneq syl ) ABCEBFCFEDBCGH $.
  $}

  $( Subset theorem for range.  (Contributed by set.mm contributors,
     22-Mar-1998.) $)
  rnss $p |- ( A C_ B -> ran A C_ ran B ) $=
    ( wss ccnv cdm crn cnvss dmss syl dfrn4 3sstr4g ) ABCZADZEZBDZEZAFBFLMOCNPC
    ABGMOHIAJBJK $.

  $( The second argument of a binary relation belongs to its range.
     (Contributed by set.mm contributors, 29-Jun-2008.) $)
  brelrn $p |- ( A C B -> B e. ran C ) $=
    ( ccnv wbr cdm wcel crn breldm brcnv bicomi dfrn4 eleq2i 3imtr4i ) BACDZEZB
    OFZGABCEZBCHZGBAOIPRBACJKSQBCLMN $.

  $( Membership of second member of an ordered pair in a range.  (Contributed
     by set.mm contributors, 8-Jan-2015.) $)
  opelrn $p |- ( <. A , B >. e. C -> B e. ran C ) $=
    ( cop wcel wbr crn df-br brelrn sylbir ) ABDCEABCFBCGEABCHABCIJ $.

  ${
    $d x y w v $.  $d w v A $.
    dfrnf.1 $e |- F/_ x A $.
    dfrnf.2 $e |- F/_ y A $.
    $( Definition of range, using bound-variable hypotheses instead of distinct
       variable conditions.  (Contributed by NM, 14-Aug-1995.)  (Revised by
       Mario Carneiro, 15-Oct-2016.) $)
    dfrnf $p |- ran A = { y | E. x x A y } $=
      ( vv vw crn cv wbr wex cab dfrn2 nfcv nfbr nfv breq1 cbvex abbii nfex
      wceq breq2 exbidv cbvab 3eqtri ) CHFIZGIZCJZFKZGLAIZUGCJZAKZGLUJBIZCJZAKZ
      BLFGCMUIULGUHUKFAAUFUGCAUFNDAUGNOUKFPUFUJUGCQRSULUOGBUKBABUJUGCBUJNEBUGNO
      TUOGPUGUMUAUKUNAUGUMUJCUBUCUDUE $.
  $}

  ${
    nfrn.1 $e |- F/_ x A $.
    $( Bound-variable hypothesis builder for range.  (Contributed by NM,
       1-Sep-1999.)  (Revised by Mario Carneiro, 15-Oct-2016.) $)
    nfrn $p |- F/_ x ran A $=
      ( crn cvv cima df-rn nfcv nfima nfcxfr ) ABDBEFBGABECAEHIJ $.

    $( Bound-variable hypothesis builder for domain.  (Contributed by NM,
       30-Jan-2004.)  (Revised by Mario Carneiro, 15-Oct-2016.) $)
    nfdm $p |- F/_ x dom A $=
      ( cdm ccnv crn df-dm nfcnv nfrn nfcxfr ) ABDBEZFBGAKABCHIJ $.
  $}

  $( Domain of an intersection.  (Contributed by FL, 15-Oct-2012.) $)
  dmiin $p |- dom |^|_ x e. A B C_ |^|_ x e. A dom B $=
    ( ciin cdm wss nfii1 nfdm ssiinf cv wcel iinss2 dmss syl mprgbir ) ABCDZEZA
    BCEZDFQRFZABABRQAPABCGHIAJBKPCFSABCLPCMNO $.

  ${
    $d A w y $.  $d B w y $.  $d V w y $.  $d x w y $.
    $( Distribute proper substitution through the range of a class.
       (Contributed by Alan Sare, 10-Nov-2012.) $)
    csbrng $p |- ( A e. V -> [_ A / x ]_ ran B = ran [_ A / x ]_ B ) $=
      ( vw vy wcel cv cop wex cab csb crn wsbc csbabg sbcexg exbidv bitrd dfrn3
      sbcel2g abbidv eqtrd csbeq2i 3eqtr4g ) BDGZABEHFHIZCGZEJZFKZLZUFABCLZGZEJ
      ZFKZABCMZLUKMUEUJUHABNZFKUNUHAFBDOUEUPUMFUEUPUGABNZEJUMUGEABDPUEUQULEABUF
      CDTQRUAUBABUOUIEFCSUCEFUKSUD $.
  $}

  ${
    $d x y $.
    $( The range of a class of ordered pairs.  (Contributed by NM,
       14-Aug-1995.)  (Revised by Mario Carneiro, 4-Dec-2016.) $)
    rnopab $p |- ran { <. x , y >. | ph } = { y | E. x ph } $=
      ( copab crn wbr wex cab nfopab1 nfopab2 dfrnf cop wcel df-br opabid bitri
      cv exbii abbii eqtri ) ABCDZEBQZCQZUAFZBGZCHABGZCHBCUAABCIABCJKUEUFCUDABU
      DUBUCLUAMAUBUCUANABCOPRST $.
  $}

  ${
    $d x y $.
    $( The range of a function expressed as a class abstraction.  (Contributed
       by set.mm contributors, 23-Mar-2006.) $)
    rnopab2 $p |- ran { <. x , y >. | ( x e. A /\ y = B ) } =
                 { y | E. x e. A y = B } $=
      ( cv wcel wceq wa copab crn wex cab wrex rnopab df-rex abbii eqtr4i ) AEC
      FBEDGZHZABIJSAKZBLRACMZBLSABNUATBRACOPQ $.
  $}

  $( The range of the empty set is empty.  Part of Theorem 3.8(v) of [Monk1]
     p. 36.  (Contributed by set.mm contributors, 4-Jul-1994.) $)
  rn0 $p |- ran (/) = (/) $=
    ( c0 cdm wceq crn dm0 dm0rn0 mpbi ) ABACADACEAFG $.

  $( A relation is empty iff its range is empty.  (Contributed by set.mm
     contributors, 15-Sep-2004.) (Revised by Scott Fenton, 17-Apr-2021.) $)
  rneq0 $p |- ( A = (/) <-> ran A = (/) ) $=
    ( c0 wceq cdm crn dmeq0 dm0rn0 bitri ) ABCADBCAEBCAFAGH $.

  ${
    $d x y z A $.  $d x y z B $.
    $( Domain of a composition.  Theorem 21 of [Suppes] p. 63.  (The proof was
       shortened by Andrew Salmon, 27-Aug-2011.)  (Contributed by set.mm
       contributors, 19-Mar-1998.)  (Revised by set.mm contributors,
       27-Aug-2011.) $)
    dmcoss $p |- dom ( A o. B ) C_ dom B $=
      ( vx vy vz ccom cdm cv wbr wex wcel wa brco exbii excom bitri simpl eximi
      exlimiv eldm sylbi 3imtr4i ssriv ) CABFZGZBGZCHZDHZUDIZDJZUGEHZBIZEJZUGUE
      KUGUFKUJULUKUHAIZLZDJZEJZUMUJUOEJZDJUQUIURDEUGUHABMNUODEOPUPULEUOULDULUNQ
      SRUADUGUDTEUGBTUBUC $.
  $}

  $( Range of a composition.  (Contributed by set.mm contributors,
     19-Mar-1998.) $)
  rncoss $p |- ran ( A o. B ) C_ ran A $=
    ( ccnv ccom cdm crn dmcoss dfrn4 cnvco dmeqi eqtri 3sstr4i ) BCZACZDZEZNEAB
    DZFZAFMNGRQCZEPQHSOABIJKAHL $.

  ${
    $d x y z A $.  $d x y z B $.
    $( Domain of a composition.  (The proof was shortened by Andrew Salmon,
       27-Aug-2011.)  (Contributed by set.mm contributors, 28-May-1998.)
       (Revised by set.mm contributors, 27-Aug-2011.) $)
    dmcosseq $p |- ( ran B C_ dom A -> dom ( A o. B ) = dom B ) $=
      ( vx vy vz crn cdm wss ccom dmcoss a1i cv wbr wcel wa brelrn ssel syl6ibr
      wex eldm syl6ib ancld 19.42v eximdv exbii excom bitri 3imtr4g ssrdv eqssd
      syl5 brco ) BFZAGZHZABIZGZBGZUQURHUOABJKUOCURUQUOCLZDLZBMZDSZUSELZUPMZESZ
      USURNUSUQNUOVBVAUTVCAMZOZESZDSZVEUOVAVHDUOVAVAVFESZOVHUOVAVJUOVAUTUNNZVJV
      AUTUMNUOVKUSUTBPUMUNUTQUKEUTATUAUBVAVFEUCRUDVEVGDSZESVIVDVLEDUSVCABULUEVG
      EDUFUGRDUSBTEUSUPTUHUIUJ $.

    $( Domain of a composition.  (Contributed by set.mm contributors,
       19-Mar-1998.) $)
    dmcoeq $p |- ( dom A = ran B -> dom ( A o. B ) = dom B ) $=
      ( cdm crn wceq wss ccom eqimss2 dmcosseq syl ) ACZBDZELKFABGCBCELKHABIJ
      $.
  $}

  $( Range of a composition.  (Contributed by set.mm contributors,
     19-Mar-1998.) $)
  rncoeq $p |- ( dom A = ran B -> ran ( A o. B ) = ran A ) $=
    ( ccnv cdm crn wceq ccom dmcoeq df-dm dfrn4 eqeq12i eqcom bitri cnvco dmeqi
    eqtri 3imtr4i ) BCZDZACZEZFZRTGZDZTDZFADZBEZFZABGZEZAEZFRTHUHUASFUBUFUAUGSA
    IBJKUASLMUJUDUKUEUJUICZDUDUIJULUCABNOPAJKQ $.

  $( Distribute proper substitution through the restriction of a class.
     ~ csbresg is derived from the virtual deduction proof csbresgVD in
     set.mm.  (Contributed by Alan Sare, 10-Nov-2012.) $)
  csbresg $p |- ( A e. V -> [_ A / x ]_ ( B |` C ) =
                 ( [_ A / x ]_ B |` [_ A / x ]_ C ) ) $=
    ( wcel cvv cxp cin cres csbing csbxpg csbconstg xpeq2d eqtrd ineq2d csbeq2i
    csb df-res 3eqtr4g ) BEFZABCDGHZIZRZABCRZABDRZGHZIZABCDJZRUEUFJUAUDUEABUBRZ
    IUHABECUBKUAUJUGUEUAUJUFABGRZHUGABDGELUAUKGUFABGEMNOPOABUIUCCDSQUEUFST $.

  $( A restriction to the empty set is empty.  (Contributed by set.mm
     contributors, 12-Nov-1994.) $)
  res0 $p |- ( A |` (/) ) = (/) $=
    ( c0 cres cvv cxp cin df-res xp0r ineq2i in0 3eqtri ) ABCABDEZFABFBABGLBADH
    IAJK $.

  $( Ordered pair membership in a restriction when the first member belongs to
     the restricting class.  (The proof was shortened by Andrew Salmon,
     27-Aug-2011.)  (Contributed by set.mm contributors, 30-Apr-2004.)
     (Revised by set.mm contributors, 27-Aug-2011.) $)
  opres $p |- ( A e. D ->
                  ( <. A , B >. e. ( C |` D ) <-> <. A , B >. e. C ) ) $=
    ( wcel cop wa cres iba opelres syl6rbbr ) ADEZABFZCEZNLGMCDHELNIABCDJK $.

  $( A restricted identity relation is equivalent to equality in its domain.
     (Contributed by set.mm contributors, 30-Apr-2004.) $)
  resieq $p |- ( B e. A -> ( B ( _I |` A ) C <-> B = C ) ) $=
    ( cid cres wbr wcel wa wceq brres iba ideqg2 bitr3d syl5bb ) BCDAEFBCDFZBAG
    ZHZPBCIZBCDAJPOQRPOKBCALMN $.

  $( The restriction of a restriction.  (Contributed by set.mm contributors,
     27-Mar-2008.) $)
  resres $p |- ( ( A |` B ) |` C ) = ( A |` ( B i^i C ) ) $=
    ( cres cvv cxp cin df-res ineq1i xpindir ineq2i inass 3eqtr4ri 3eqtri ) ABD
    ZCDOCEFZGABEFZGZPGZABCGZDZOCHORPABHIATEFZGAQPGZGUASUBUCABCEJKATHAQPLMN $.

  $( Distributive law for restriction over union.  Theorem 31 of [Suppes]
     p. 65.  (Contributed by set.mm contributors, 30-Sep-2002.) $)
  resundi $p |- ( A |` ( B u. C ) ) = ( ( A |` B ) u. ( A |` C ) ) $=
    ( cun cvv cxp cin cres xpundir ineq2i indi eqtri df-res uneq12i 3eqtr4i ) A
    BCDZEFZGZABEFZGZACEFZGZDZAPHABHZACHZDRASUADZGUCQUFABCEIJASUAKLAPMUDTUEUBABM
    ACMNO $.

  $( Distributive law for restriction over union.  (Contributed by set.mm
     contributors, 23-Sep-2004.) $)
  resundir $p |- ( ( A u. B ) |` C ) = ( ( A |` C ) u. ( B |` C ) ) $=
    ( cun cvv cxp cin cres indir df-res uneq12i 3eqtr4i ) ABDZCEFZGANGZBNGZDMCH
    ACHZBCHZDABNIMCJQORPACJBCJKL $.

  $( Class restriction distributes over intersection.  (Contributed by FL,
     6-Oct-2008.) $)
  resindi $p |- ( A |` ( B i^i C ) ) = ( ( A |` B ) i^i ( A |` C ) ) $=
    ( cin cvv cxp cres xpindir ineq2i inindi eqtri df-res ineq12i 3eqtr4i ) ABC
    DZEFZDZABEFZDZACEFZDZDZAOGABGZACGZDQARTDZDUBPUEABCEHIARTJKAOLUCSUDUAABLACLM
    N $.

  $( Class restriction distributes over intersection.  (Contributed by set.mm
     contributors, 18-Dec-2008.) $)
  resindir $p |- ( ( A i^i B ) |` C ) = ( ( A |` C ) i^i ( B |` C ) ) $=
    ( cin cvv cxp cres inindir df-res ineq12i 3eqtr4i ) ABDZCEFZDAMDZBMDZDLCGAC
    GZBCGZDABMHLCIPNQOACIBCIJK $.

  $( Move intersection into class restriction.  (Contributed by set.mm
     contributors, 18-Dec-2008.) $)
  inres $p |- ( A i^i ( B |` C ) ) = ( ( A i^i B ) |` C ) $=
    ( cin cvv cxp cres inass df-res ineq2i 3eqtr4ri ) ABDZCEFZDABMDZDLCGABCGZDA
    BMHLCIONABCIJK $.

  ${
    $d x y A $.  $d x y B $.
    $( The domain of a restriction.  Exercise 14 of [TakeutiZaring] p. 25.
       (Contributed by set.mm contributors, 1-Aug-1994.) $)
    dmres $p |- dom ( A |` B ) = ( B i^i dom A ) $=
      ( vx vy cdm cin cres cv wbr wcel wex 19.41v eldm brres exbii bitri anbi1i
      wa 3bitr4ri ineqri incom eqtr3i ) AEZBFABGZEZBUCFCUCBUECHZDHZAIZUFBJZRZDK
      ZUHDKZUIRUFUEJZUFUCJZUIRUHUIDLUMUFUGUDIZDKUKDUFUDMUOUJDUFUGABNOPUNULUIDUF
      AMQSTUCBUAUB $.
  $}

  $( A domain restricted to a subclass equals the subclass.  (Contributed by
     set.mm contributors, 2-Mar-1997.)  (Revised by set.mm contributors,
     28-Aug-2004.) $)
  ssdmres $p |- ( A C_ dom B <-> dom ( B |` A ) = A ) $=
    ( cdm wss cin wceq cres df-ss dmres eqeq1i bitr4i ) ABCZDALEZAFBAGCZAFALHNM
    ABAIJK $.

  $( A class includes its restriction.  Exercise 15 of [TakeutiZaring] p. 25.
     (Contributed by set.mm contributors, 2-Aug-1994.) $)
  resss $p |- ( A |` B ) C_ A $=
    ( cres cvv cxp cin df-res inss1 eqsstri ) ABCABDEZFAABGAJHI $.

  $( Commutative law for restriction.  (Contributed by set.mm contributors,
     27-Mar-1998.) $)
  rescom $p |- ( ( A |` B ) |` C ) = ( ( A |` C ) |` B ) $=
    ( cin cres incom reseq2i resres 3eqtr4i ) ABCDZEACBDZEABECEACEBEJKABCFGABCH
    ACBHI $.

  $( Subclass theorem for restriction.  (Contributed by set.mm contributors,
     16-Aug-1994.) $)
  ssres $p |- ( A C_ B -> ( A |` C ) C_ ( B |` C ) ) $=
    ( wss cvv cxp cin cres ssrin df-res 3sstr4g ) ABDACEFZGBLGACHBCHABLIACJBCJK
    $.

  $( Subclass theorem for restriction.  (The proof was shortened by Andrew
     Salmon, 27-Aug-2011.)  (Contributed by set.mm contributors, 22-Mar-1998.)
     (Revised by set.mm contributors, 27-Aug-2011.) $)
  ssres2 $p |- ( A C_ B -> ( C |` A ) C_ ( C |` B ) ) $=
    ( wss cvv cxp cin cres xpss1 sslin syl df-res 3sstr4g ) ABDZCAEFZGZCBEFZGZC
    AHCBHNOQDPRDABEIOQCJKCALCBLM $.

  $( Absorption law for restriction.  Exercise 17 of [TakeutiZaring] p. 25.
     (Contributed by set.mm contributors, 9-Aug-1994.) $)
  resabs1 $p |- ( B C_ C -> ( ( A |` C ) |` B ) = ( A |` B ) ) $=
    ( wss cres cin resres wceq df-ss incom eqeq1i bitri biimpi reseq2d syl5eq )
    BCDZACEBEACBFZEABEACBGPQBAPQBHZPBCFZBHRBCISQBBCJKLMNO $.

  $( Absorption law for restriction.  (Contributed by set.mm contributors,
     27-Mar-1998.) $)
  resabs2 $p |- ( B C_ C -> ( ( A |` B ) |` C ) = ( A |` B ) ) $=
    ( wss cres rescom resabs1 syl5eq ) BCDABEZCEACEBEIABCFABCGH $.

  $( Idempotent law for restriction.  (Contributed by set.mm contributors,
     27-Mar-1998.) $)
  residm $p |- ( ( A |` B ) |` B ) = ( A |` B ) $=
    ( wss cres wceq ssid resabs2 ax-mp ) BBCABDZBDIEBFABBGH $.

  ${
    $d x y A $.  $d x y B $.  $d x y C $.
    $( Membership in a restriction.  (Contributed by Scott Fenton,
       17-Mar-2011.) $)
    elres $p |- ( A e. ( B |` C )
          <-> E. x e. C E. y ( A = <. x , y >. /\ <. x , y >. e. B ) ) $=
      ( cv cop wceq cres wcel wex wrex eleq1 opelres ancom bitri syl6bb pm5.32i
      wa bitr4i an12 2exbii opeqex pm4.71ri 19.41vv df-rex exdistr 3bitr4i ) CA
      FZBFZGZHZCDEIZJZSZBKAKZUIEJZULUKDJZSZSZBKAKZUNUSBKZAELZUOUTABUOULUQURSZSU
      TULUNVDULUNUKUMJZVDCUKUMMVEURUQSVDUIUJDENURUQOPQRULUQURUAPUBUNULBKAKZUNSU
      PUNVFABCUMUCUDULUNABUETVCUQVBSAKVAVBAEUFUQUSABUGTUH $.

    ${
      elsnres.1 $e |- C e. _V $.
      $( Memebership in restriction to a singleton.  (Contributed by Scott
         Fenton, 17-Mar-2011.) $)
      elsnres $p |- ( A e. ( B |` { C } )
            <-> E. y ( A = <. C , y >. /\ <. C , y >. e. B ) ) $=
        ( vx csn cres wcel cv cop wceq wa wex elres rexcom4 opeq1 eqeq2d eleq1d
        wrex anbi12d rexsn exbii 3bitri ) BCDGZHIBFJZAJZKZLZUHCIZMZANFUETUKFUET
        ZANBDUGKZLZUMCIZMZANFABCUEOUKFAUEPULUPAUKUPFDEUFDLZUIUNUJUOUQUHUMBUFDUG
        QZRUQUHUMCURSUAUBUCUD $.
    $}

    $( Simplification law for restriction.  (Contributed by set.mm
       contributors, 16-Aug-1994.)  (Revised by set.mm contributors,
       15-Mar-2004.) (Revised by Scott Fenton, 18-Apr-2021.) $)
    ssreseq $p |- ( dom A C_ B -> ( A |` B ) = A ) $=
      ( vx vy cdm wss cres resss a1i cv cop wcel opeldm ssel syl5 ancld opelres
      wa syl6ibr relssdv eqssd ) AEZBFZABGZAUDAFUCABHIUCCDAUDUCCJZDJZKZALZUHUEB
      LZRUGUDLUCUHUIUHUEUBLUCUIUEUFAMUBBUENOPUEUFABQSTUA $.
  $}

  $( A class restricted to its domain equals itself.  (Contributed by set.mm
     contributors, 12-Dec-2006.) (Revised by Scott Fenton, 18-Apr-2021.) $)
  resdm $p |- ( A |` dom A ) = A $=
    ( cdm wss cres wceq ssid ssreseq ax-mp ) ABZICAIDAEIFAIGH $.

  ${
    $d x y A $.
    $( Restriction of a class abstraction of ordered pairs.  (Contributed by
       set.mm contributors, 5-Nov-2002.) $)
    resopab $p |- ( { <. x , y >. | ph } |` A ) =
                  { <. x , y >. | ( x e. A /\ ph ) } $=
      ( copab cres cvv cxp cin cv wa df-res df-xp biantru opabbii eqtr4i ineq2i
      wcel vex incom eqtri inopab 3eqtri ) ABCEZDFUDDGHZIZBJDRZBCEZUDIZUGAKBCEU
      DDLUFUDUHIUIUEUHUDUEUGCJGRZKZBCEUHBCDGMUGUKBCUJUGCSNOPQUDUHTUAUGABCUBUC
      $.

    $( A subclass of the identity function is the identity function restricted
       to its domain.  (The proof was shortened by Andrew Salmon,
       27-Aug-2011.)  (Contributed by set.mm contributors, 13-Dec-2003.)
       (Revised by set.mm contributors, 27-Aug-2011.) $)
    iss $p |- ( A C_ _I <-> A = ( _I |` dom A ) ) $=
      ( vx vy cid wss cdm cres wceq cv cop wcel wa ssel opeldm a1i jcad weq wbr
      wi syl5bi df-br vex ideq bitr3i anbi1i wex eldm2 syl6ib opeq2 eleq1d syli
      biimprd exlimdv biimpd imp3a impbid opelres syl6bbr eqrelrdv resss mpbiri
      syl9 sseq1 impbii ) ADEZADAFZGZHZVEBCAVGVEBIZCIZJZAKZVKDKZVIVFKZLZVKVGKVE
      VLVOVEVLVMVNADVKMZVLVNSVEVIVJANOPVOBCQZVNLVEVLVMVQVNVMVIVJDRVQVIVJDUAVIVJ
      CUBUCUDZUEVEVQVNVLVEVNVIVIJZAKZVQVLVNVLCUFVEVTCVIAUGVEVLVTCVLVEVQVTVEVLVM
      VQVPVRUHVQVTVLVQVSVKAVIVJVIUIUJZULUKUMTVQVTVLWAUNVBUOTUPVIVJDVFUQURUSVHVE
      VGDEDVFUTAVGDVCVAVD $.
  $}

  ${
    $d x y A $.  $d x y B $.
    $( Restriction of a class abstraction of ordered pairs.  (Contributed by
       set.mm contributors, 24-Aug-2007.) $)
    resopab2 $p |- ( A C_ B -> ( { <. x , y >. | ( x e. B /\ ph ) } |` A ) =
                  { <. x , y >. | ( x e. A /\ ph ) } ) $=
      ( wss cv wcel wa copab cres resopab wi wb ssel pm4.71 sylib anass syl6rbb
      anbi1d opabbidv syl5eq ) DEFZBGZEHZAIZBCJDKUDDHZUFIZBCJUGAIZBCJUFBCDLUCUH
      UIBCUCUIUGUEIZAIUHUCUGUJAUCUGUEMUGUJNDEUDOUGUEPQTUGUEARSUAUB $.
  $}

  ${
    $d w x y z A $.  $d w x y z R $.
    $( Alternate definition of the restriction operation.  (Contributed by
       Mario Carneiro, 5-Nov-2013.) $)
    dfres2 $p |- ( R |` A ) = { <. x , y >. | ( x e. A /\ x R y ) } $=
      ( vz vw cres cv wbr wa copab cop vex weq eleq1 breq1 anbi12d breq2 anbi2d
      wcel opelopab brres ancom bitri df-br 3bitr2ri eqrelriv ) EFDCGZAHZCTZUIB
      HZDIZJZABKZEHZFHZLZUNTUOCTZUOUPDIZJZUOUPUHIZUQUHTUMURUOUKDIZJUTABUOUPEMFM
      AENUJURULVBUIUOCOUIUOUKDPQBFNVBUSURUKUPUODRSUAVAUSURJUTUOUPDCUBUSURUCUDUO
      UPUHUEUFUG $.
  $}

  ${
    $d A x y $.
    $( The restricted identity expressed with the class builder.  (Contributed
       by FL, 25-Apr-2012.) $)
    opabresid $p |- { <. x , y >. | ( x e. A /\ y = x ) } = ( _I |` A ) $=
      ( weq copab cres cv wcel cid resopab equcom opabbii eqtr4i reseq1i eqtr3i
      wa dfid3 ) BADZABEZCFAGCHRPABEICFRABCJSICSABDZABEIRTABBAKLABQMNO $.
  $}

  $( The domain of a restricted identity function.  (Contributed by set.mm
     contributors, 27-Aug-2004.) $)
  dmresi $p |- dom ( _I |` A ) = A $=
    ( cid cdm wss cres wceq cvv ssv dmi sseqtr4i ssdmres mpbi ) ABCZDBAECAFAGMA
    HIJABKL $.

  $( Any class restricted to the universe is itself.  (Contributed by set.mm
     contributors, 16-Mar-2004.) (Revised by Scott Fenton, 18-Apr-2021.) $)
  resid $p |- ( A |` _V ) = A $=
    ( cdm cvv wss cres wceq ssv ssreseq ax-mp ) ABZCDACEAFJGACHI $.

  $( A restriction to an image.  (Contributed by set.mm contributors,
     29-Sep-2004.) $)
  resima $p |- ( ( A |` B ) " B ) = ( A " B ) $=
    ( cres crn cima residm rneqi dfima3 3eqtr4i ) ABCZBCZDJDJBEABEKJABFGJBHABHI
    $.

  $( Image under a restricted class.  (Contributed by FL, 31-Aug-2009.) $)
  resima2 $p |- ( B C_ C -> ( ( A |` C ) " B ) = ( A " B ) ) $=
    ( wss cin cres crn cima wceq sseqin2 biimpi rneqd dfima3 resres rneqi eqtri
    reseq2d 3eqtr4g ) BCDZACBEZFZGZABFZGACFZBHZABHSUAUCSTBASTBIBCJKQLUEUDBFZGUB
    UDBMUFUAACBNOPABMR $.

  ${
    $d x y A $.  $d x y B $.
    $( The image of the domain of a class is the range of the class.
       (Contributed by set.mm contributors, 14-Aug-1994.) $)
    imadmrn $p |- ( A " dom A ) = ran A $=
      ( vx vy cv wbr cdm wrex cab wex cima wcel wa df-rex breldm pm4.71ri exbii
      crn bitr4i abbii df-ima dfrn2 3eqtr4i ) BDZCDZAEZBAFZGZCHUEBIZCHAUFJAQUGU
      HCUGUCUFKZUELZBIUHUEBUFMUEUJBUEUIUCUDANOPRSCBAUFTBCAUAUB $.

    $( The image of a class is a subset of its range.  Theorem 3.16(xi) of
       [Monk1] p. 39.  (Contributed by set.mm contributors, 31-Mar-1995.) $)
    imassrn $p |- ( A " B ) C_ ran A $=
      ( vx vy cv wcel cop wa wex cab cima crn simpr eximi ss2abi dfima4 3sstr4i
      dfrn3 ) CEZBFZSDEGAFZHZCIZDJUACIZDJABKALUCUDDUBUACTUAMNOCDABPCDARQ $.
  $}

  ${
    $d x y A $.
    $( Image under the identity relation.  Theorem 3.16(viii) of [Monk1]
       p. 38.  (Contributed by set.mm contributors, 30-Apr-1998.) $)
    imai $p |- ( _I " A ) = A $=
      ( vx vy cid cima cv wcel cop wa wex cab dfima4 wceq wbr df-br ideq bitr3i
      vex anbi2i bitri ancom exbii eleq1 ceqsexv abbii abid2 3eqtri ) DAEBFZAGZ
      UHCFZHDGZIZBJZCKUJAGZCKABCDALUMUNCUMUHUJMZUIIZBJUNULUPBULUIUOIUPUKUOUIUKU
      HUJDNUOUHUJDOUHUJCRZPQSUIUOUATUBUIUNBUJUQUHUJAUCUDTUECAUFUG $.
  $}

  $( The range of the restricted identity function.  (Contributed by set.mm
     contributors, 27-Aug-2004.) $)
  rnresi $p |- ran ( _I |` A ) = A $=
    ( cid cima cres crn dfima3 imai eqtr3i ) BACBADEABAFAGH $.

  $( The image of a restriction of the identity function.  (Contributed by FL,
     31-Dec-2006.) $)
  resiima $p |- ( B C_ A -> ( ( _I |` A ) " B ) = B ) $=
    ( wss cid cres cima crn dfima3 resabs1 rneqd rnresi syl6eq syl5eq ) BACZDAE
    ZBFOBEZGZBOBHNQDBEZGBNPRDBAIJBKLM $.

  $( Image of the empty set.  Theorem 3.16(ii) of [Monk1] p. 38.  (Contributed
     by set.mm contributors, 20-May-1998.) $)
  ima0 $p |- ( A " (/) ) = (/) $=
    ( c0 cima cres crn dfima3 res0 rneqi rn0 3eqtri ) ABCABDZEBEBABFKBAGHIJ $.

  $( Image under the empty relation.  (Contributed by FL, 11-Jan-2007.) $)
  0ima $p |- ( (/) " A ) = (/) $=
    ( c0 cima crn imassrn rn0 sseqtri 0ss eqssi ) BACZBJBDBBAEFGJHI $.

  $( A class whose image under another is empty is disjoint with the other's
     domain.  (Contributed by FL, 24-Jan-2007.) $)
  imadisj $p |- ( ( A " B ) = (/) <-> ( dom A i^i B ) = (/) ) $=
    ( cima wceq cres crn cdm cin dfima3 eqeq1i dm0rn0 dmres incom eqtri 3bitr2i
    c0 ) ABCZPDABEZFZPDRGZPDAGZBHZPDQSPABIJRKTUBPTBUAHUBABLBUAMNJO $.

  $( A preimage under any class is included in the domain of the class.
     (Contributed by FL, 29-Jan-2007.) $)
  cnvimass $p |- ( `' A " B ) C_ dom A $=
    ( ccnv cima crn cdm imassrn df-dm sseqtr4i ) ACZBDJEAFJBGAHI $.

  $( The preimage of the range of a class is the domain of the class.
     (Contributed by Jeff Hankins, 15-Jul-2009.) $)
  cnvimarndm $p |- ( `' A " ran A ) = dom A $=
    ( ccnv cdm cima crn imadmrn dfrn4 imaeq2i df-dm 3eqtr4i ) ABZKCZDKEKAEZDACK
    FMLKAGHAIJ $.

  ${
    $d A x y $.  $d R x y $.
    $( The image of a singleton.  (Contributed by set.mm contributors,
       9-Jan-2015.) $)
    imasn $p |- ( R " { A } ) = { y | A R y } $=
      ( vx cvv wcel csn cima cv wbr wceq wrex df-ima breq1 rexsng abbidv syl5eq
      cab wn c0 ima0 snprc biimpi imaeq2d wex brex exlimiv con3i wne abn0 df-ne
      simpld bitr3i con2bii sylibr 3eqtr4a pm2.61i ) BEFZCBGZHZBAIZCJZARZKURUTD
      IZVACJZDUSLZARVCADCUSMURVFVBAVEVBDBEVDBVACNOPQURSZCTHTUTVCCUAVGUSTCVGUSTK
      BUBUCUDVGVBAUEZSVCTKZVHURVBURAVBURVAEFBVACUFULUGUHVHVIVHVCTUIVISVBAUJVCTU
      KUMUNUOUPUQ $.
  $}

  ${
    $d x A $.  $d x B $.  $d x C $.
    $( Membership in an image of a singleton.  (The proof was shortened by
       Andrew Salmon, 27-Aug-2011.)  (Contributed by set.mm contributors,
       15-Mar-2004.)  (Revised by set.mm contributors, 27-Aug-2011.) $)
    elimasn $p |- ( C e. ( A " { B } ) <-> <. B , C >. e. A ) $=
      ( vx csn cima wcel cvv cop elex wbr df-br brex simprd sylbir cv cab breq2
      elabg imasn eleq2i bicomi 3bitr4g pm5.21nii ) CABEFZGZCHGZBCIAGZCUEJUHBCA
      KZUGBCALZUIBHGUGBCAMNOUGCBDPZAKZDQZGUIUFUHULUIDCHUKCBARSUEUMCDBATUAUIUHUJ
      UBUCUD $.
  $}

  $( Membership in an initial segment.  The idiom ` ( ``' A " { B } ) ` ,
     meaning ` { x | x A B } ` , is used to specify an initial segment in (for
     example) Definition 6.21 of [TakeutiZaring] p. 30.  (The proof was
     shortened by Andrew Salmon, 27-Aug-2011.)  (Contributed by set.mm
     contributors, 28-Apr-2004.)  (Revised by set.mm contributors,
     27-Aug-2011.) $)
  eliniseg $p |- ( C e. ( `' A " { B } ) <-> C A B ) $=
    ( ccnv csn cima wcel cop wbr elimasn df-br brcnv 3bitr2i ) CADZBEFGBCHNGBCN
    ICBAINBCJBCNKBCALM $.

  ${
    $d A x $.
    epini.1 $e |- A e. _V $.
    $( Any set is equal to its preimage under the converse epsilon relation.
       (Contributed by Mario Carneiro, 9-Mar-2013.) $)
    epini $p |- ( `' _E " { A } ) = A $=
      ( vx cep ccnv csn cima wbr cab imasn brcnv epelc bitri abbii abid2 3eqtri
      cv wcel ) DEZAFGACQZSHZCITARZCIACASJUAUBCUATADHUBATDKTABLMNCAOP $.
  $}

  ${
    $d x A $.  $d x B $.
    $( An idiom that signifies an initial segment of an ordering, used, for
       example, in Definition 6.21 of [TakeutiZaring] p. 30.  (Contributed by
       set.mm contributors, 28-Apr-2004.) $)
    iniseg $p |- ( `' A " { B } ) = { x | x A B } $=
      ( ccnv csn cima cv wbr cab imasn brcnv abbii eqtri ) BDZCEFCAGZNHZAIOCBHZ
      AIACNJPQACOBKLM $.
  $}

  $( Subset theorem for image.  (Contributed by set.mm contributors,
     16-Mar-2004.) $)
  imass1 $p |- ( A C_ B -> ( A " C ) C_ ( B " C ) ) $=
    ( wss cres crn cima ssres rnss syl dfima3 3sstr4g ) ABDZACEZFZBCEZFZACGBCGM
    NPDOQDABCHNPIJACKBCKL $.

  $( Subset theorem for image.  Exercise 22(a) of [Enderton] p. 53.
     (Contributed by set.mm contributors, 22-Mar-1998.) $)
  imass2 $p |- ( A C_ B -> ( C " A ) C_ ( C " B ) ) $=
    ( wss cres crn cima ssres2 rnss syl dfima3 3sstr4g ) ABDZCAEZFZCBEZFZCAGCBG
    MNPDOQDABCHNPIJCAKCBKL $.

  $( The image of a singleton outside the domain is empty.  (Contributed by
     set.mm contributors, 22-May-1998.) $)
  ndmima $p |- ( -. A e. dom B -> ( B " { A } ) = (/) ) $=
    ( cdm wcel wn csn cima cres crn c0 dfima3 wceq cin dmres incom eqtri disjsn
    biimpri syl5eq dm0rn0 sylib ) ABCZDEZBAFZGBUDHZIZJBUDKUCUECZJLUFJLUCUGUBUDM
    ZJUGUDUBMUHBUDNUDUBOPUHJLUCUBAQRSUETUAS $.

  ${
    $d x y z R $.
    $( Two ways of saying a relation is transitive.  Definition of transitivity
       in [Schechter] p. 51.  (The proof was shortened by Andrew Salmon,
       27-Aug-2011.)  (Contributed by set.mm contributors, 27-Dec-1996.)
       (Revised by set.mm contributors, 27-Aug-2011.) $)
    cotr $p |- ( ( R o. R ) C_ R <->
             A. x A. y A. z ( ( x R y /\ y R z ) -> x R z ) ) $=
      ( ccom wss cv cop wcel wi wal wbr wa ssrel alcom 19.23v df-br bitri albii
      wex brco bitr3i imbi12i bitr4i ) DDEZDFAGZCGZHZUEIZUHDIZJZCKZAKUFBGZDLUMU
      GDLMZUFUGDLZJZCKBKZAKACUEDNUQULAUQUPBKZCKULUPBCOURUKCURUNBTZUOJUKUNUOBPUS
      UIUOUJUSUFUGUELUIBUFUGDDUAUFUGUEQUBUFUGDQUCRSRSUD $.
  $}

  ${
    $d x y R $.
    $( Two ways of saying a relation is symmetric.  Similar to definition of
       symmetry in [Schechter] p. 51.  (The proof was shortened by Andrew
       Salmon, 27-Aug-2011.)  (Contributed by set.mm contributors,
       28-Dec-1996.)  (Revised by set.mm contributors, 27-Aug-2011.) $)
    cnvsym $p |- ( `' R C_ R <-> A. x A. y ( x R y -> y R x ) ) $=
      ( cv cop ccnv wcel wi wal wss wbr alcom ssrel brcnv bitr3i imbi12i 2albii
      df-br 3bitr4i ) BDZADZEZCFZGZUBCGZHZAIBIUFBIAIUCCJUATCKZTUACKZHZBIAIUFBAL
      BAUCCMUIUFABUGUDUHUEUGTUAUCKUDTUACNTUAUCROTUACRPQS $.

    $( Two ways of saying a relation is antisymmetric.  Definition of
       antisymmetry in [Schechter] p. 51.  (The proof was shortened by Andrew
       Salmon, 27-Aug-2011.)  (Contributed by set.mm contributors,
       9-Sep-2004.)  (Revised by set.mm contributors, 27-Aug-2011.) $)
    intasym $p |- ( ( R i^i `' R ) C_ _I <->
                  A. x A. y ( ( x R y /\ y R x ) -> x = y ) ) $=
      ( ccnv cin cid wss cv cop wcel wi wal wbr wa weq ssrel df-br bitri bitr3i
      brin brcnv anbi2i vex ideq imbi12i 2albii ) CCDZEZFGAHZBHZIZUHJZUKFJZKZBL
      ALUIUJCMZUJUICMZNZABOZKZBLALABUHFPUNUSABULUQUMURULUIUJUHMZUQUIUJUHQUTUOUI
      UJUGMZNUQUIUJCUGTVAUPUOUIUJCUAUBRSUMUIUJFMURUIUJFQUIUJBUCUDSUEUFR $.

    $( Two ways of saying a relation is irreflexive.  Definition of
       irreflexivity in [Schechter] p. 51.  (Contributed by NM, 9-Sep-2004.)
       (Revised by Andrew Salmon, 27-Aug-2011.) $)
    intirr $p |- ( ( R i^i _I ) = (/) <-> A. x -. x R x ) $=
      ( vy cid cin c0 wceq cv cop wcel ccompl wi wal weq wbr wn wss df-br albii
      vex incom eqeq1i disj5 ssrel 3bitri ideq bitr3i notbii opex bitr4i 2albii
      elcompl imbi12i equcom imbi1i breq2 notbid ceqsalv bitri 3bitr2i ) BDEZFG
      ZAHZCHZIZDJZVEBKZJZLZCMAMZACNZVCVDBOZPZLZCMZAMVCVCBOZPZAMVBDBEZFGDVGQVJVA
      VRFBDUAUBDBUCACDVGUDUEVNVIACVKVFVMVHVKVCVDDOVFVCVDCTZUFVCVDDRUGVMVEBJZPVH
      VLVTVCVDBRUHVEBVCVDATZVSUIULUJUMUKVOVQAVOCANZVMLZCMVQVNWCCVKWBVMACUNUOSVM
      VQCVCWAWBVLVPVDVCVCBUPUQURUSSUT $.
  $}

  ${
    $d x y z w $.  $d z w ph $.
    $( The converse of a class abstraction of ordered pairs.  (The proof was
       shortened by Andrew Salmon, 27-Aug-2011.)  (Contributed by set.mm
       contributors, 11-Dec-2003.)  (Revised by set.mm contributors,
       27-Aug-2011.) $)
    cnvopab $p |- `' { <. x , y >. | ph } = { <. y , x >. | ph } $=
      ( vz vw copab ccnv cop wcel wsbc opelopabsb sbccom bitri opelcnv eqrelriv
      cv 3bitr4i ) DEABCFZGZACBFZEPZDPZHRIZABUAJCUBJZUBUAHZSIUETIUCACUBJBUAJUDA
      BCUAUBKABCUAUBLMUBUARNACBUBUAKQO $.
  $}

  ${
    $d x y $.
    $( The converse of the empty set.  (Contributed by set.mm contributors,
       6-Apr-1998.) $)
    cnv0 $p |- `' (/) = (/) $=
      ( vx vy c0 ccnv cv cop wcel noel opelcnv mtbir 2false eqrelriv ) ABCDZCAE
      ZBEZFZMGZPCGQONFZCGRHNOCIJPHKL $.

    $( The converse of the identity relation.  Theorem 3.7(ii) of [Monk1]
       p. 36.  (The proof was shortened by Andrew Salmon, 27-Aug-2011.)
       (Contributed by set.mm contributors, 26-Apr-1998.)  (Revised by set.mm
       contributors, 27-Aug-2011.) $)
    cnvi $p |- `' _I = _I $=
      ( vy vx cv cid wbr copab wceq ccnv ideq equcom bitri opabbii df-cnv df-id
      vex 3eqtr4i ) ACZBCZDEZBAFRQGZBAFDHDSTBASQRGTQRBOIABJKLBADMBANP $.
  $}

  ${
    $d x y A $.  $d x y B $.
    $( The converse of a union is the union of converses.  Theorem 16 of
       [Suppes] p. 62.  (The proof was shortened by Andrew Salmon,
       27-Aug-2011.)  (Contributed by set.mm contributors, 25-Mar-1998.)
       (Revised by set.mm contributors, 27-Aug-2011.) $)
    cnvun $p |- `' ( A u. B ) = ( `' A u. `' B ) $=
      ( vy vx cv wbr copab cun ccnv unopab brun opabbii eqtr4i uneq12i 3eqtr4ri
      wo df-cnv ) CEZDEZAFZDCGZRSBFZDCGZHZRSABHZFZDCGZAIZBIZHUEIUDTUBPZDCGUGTUB
      DCJUFUJDCRSABKLMUHUAUIUCDCAQDCBQNDCUEQO $.

    $( Distributive law for converse over set difference.  (Contributed by
       set.mm contributors, 26-Jun-2014.) $)
    cnvdif $p |- `' ( A \ B ) = ( `' A \ `' B ) $=
      ( vx vy cdif ccnv cv cop wcel wn wa opelcnv notbii anbi12i bitr4i 3bitr4i
      eldif eqrelriv ) CDABEZFZAFZBFZEZDGZCGZHZSIZUEUDHZUAIZUHUBIZJZKZUHTIUHUCI
      UGUFAIZUFBIZJZKULUFABQUIUMUKUOUEUDALUJUNUEUDBLMNOUEUDSLUHUAUBQPR $.

    $( Distributive law for converse over intersection.  Theorem 15 of [Suppes]
       p. 62.  (Contributed by set.mm contributors, 25-Mar-1998.)  (Revised by
       set.mm contributors, 26-Jun-2014.) $)
    cnvin $p |- `' ( A i^i B ) = ( `' A i^i `' B ) $=
      ( cdif ccnv cin cnvdif difeq2i eqtri dfin4 cnveqi 3eqtr4i ) AABCZCZDZADZO
      BDZCZCZABEZDOPENOLDZCRALFTQOABFGHSMABIJOPIK $.
  $}

  $( Distributive law for range over union.  Theorem 8 of [Suppes] p. 60.
     (Contributed by set.mm contributors, 24-Mar-1998.) $)
  rnun $p |- ran ( A u. B ) = ( ran A u. ran B ) $=
    ( cun ccnv cdm crn cnvun dmeqi dmun eqtri dfrn4 uneq12i 3eqtr4i ) ABCZDZEZA
    DZEZBDZEZCZNFAFZBFZCPQSCZEUAOUDABGHQSIJNKUBRUCTAKBKLM $.

  $( The range of an intersection belongs the intersection of ranges.  Theorem
     9 of [Suppes] p. 60.  (Contributed by set.mm contributors,
     15-Sep-2004.) $)
  rnin $p |- ran ( A i^i B ) C_ ( ran A i^i ran B ) $=
    ( cin ccnv cdm crn cnvin dmeqi dmin eqsstri dfrn4 ineq12i 3sstr4i ) ABCZDZE
    ZADZEZBDZEZCZNFAFZBFZCPQSCZEUAOUDABGHQSIJNKUBRUCTAKBKLM $.

  ${
    $d x y z A $.
    $( The range of a union.  Part of Exercise 8 of [Enderton] p. 41.
       (Contributed by set.mm contributors, 17-Mar-2004.) $)
    rnuni $p |- ran U. A = U_ x e. A ran x $=
      ( vz vy cuni crn cv ciun cop wcel wex wrex eluni exbii excom elrn2 anbi1i
      wa ancom 19.41v 3bitr4ri 3bitri df-rex bitr4i eliun 3bitr4i eqriv ) CBEZF
      ZABAGZFZHZDGCGZIZUHJZDKZUMUKJZABLZUMUIJUMULJUPUJBJZUQRZAKZURUPUNUJJZUSRZA
      KZDKVCDKZAKVAUOVDDAUNBMNVCDAOVEUTAUQUSRVBDKZUSRUTVEUQVFUSDUMUJPQUSUQSVBUS
      DTUANUBUQABUCUDDUMUHPAUMBUKUEUFUG $.
  $}

  $( Distributive law for image over union.  Theorem 35 of [Suppes] p. 65.
     (Contributed by set.mm contributors, 30-Sep-2002.) $)
  imaundi $p |- ( A " ( B u. C ) ) = ( ( A " B ) u. ( A " C ) ) $=
    ( cun cres crn cima resundi rneqi rnun eqtri dfima3 uneq12i 3eqtr4i ) ABCDZ
    EZFZABEZFZACEZFZDZAOGABGZACGZDQRTDZFUBPUEABCHIRTJKAOLUCSUDUAABLACLMN $.

  $( The image of a union.  (Contributed by Jeff Hoffman, 17-Feb-2008.) $)
  imaundir $p |- ( ( A u. B ) " C ) = ( ( A " C ) u. ( B " C ) ) $=
    ( cun cima cres crn dfima3 resundir rneqi rnun 3eqtri uneq12i eqtr4i ) ABDZ
    CEZACFZGZBCFZGZDZACEZBCEZDPOCFZGQSDZGUAOCHUDUEABCIJQSKLUBRUCTACHBCHMN $.

  ${
    $d x y A $.  $d x y B $.  $d x y R $.
    $( An upper bound for intersection with a domain.  Theorem 40 of [Suppes]
       p. 66, who calls it "somewhat surprising."  (Contributed by set.mm
       contributors, 11-Aug-2004.) $)
    dminss $p |- ( dom R i^i A ) C_ ( `' R " ( R " A ) ) $=
      ( vx vy cdm cin ccnv cima cv wbr wcel wa wex wrex rspe elima sylibr brcnv
      ancoms biimpri adantr jca eximi eldm anbi1i 19.41v 3bitr4i elima2 3imtr4i
      elin ssriv ) CBEZAFZBGZBAHZHZCIZDIZBJZUQAKZLZDMZURUOKZURUQUNJZLZDMUQUMKZU
      QUPKVAVEDVAVCVDUTUSVCUTUSLUSCANVCUSCAOCURBAPQSUSVDUTVDUSURUQBRTUAUBUCUQUL
      KZUTLUSDMZUTLVFVBVGVHUTDUQBUDUEUQULAUJUSUTDUFUGDUQUNUOUHUIUK $.

    $( An upper bound for intersection with an image.  Theorem 41 of [Suppes]
       p. 66.  (Contributed by set.mm contributors, 11-Aug-2004.) $)
    imainss $p |- ( ( R " A ) i^i B ) C_ ( R " ( A i^i ( `' R " B ) ) ) $=
      ( vy vx cima cin ccnv cv wcel wbr wa wex simpll brcnv 19.8a sylan2br elin
      elima2 anbi1i ancoms adantll jca simplr anbi2i bitri eximi 19.41v 3bitr4i
      sylanbrc 3imtr4i ssriv ) DCAFZBGZCACHZBFZGZFZEIZAJZUSDIZCKZLZVABJZLZEMZUS
      UQJZVBLZEMVAUNJZVAURJVEVHEVEUTVDVAUSUOKZLZDMZLZVBVHVEUTVLUTVBVDNVBVDVLUTV
      DVBVLVBVDVJVLVAUSCOVKDPQUAUBUCUTVBVDUDVGVMVBVGUTUSUPJZLVMUSAUPRVNVLUTDUSU
      OBSUEUFTUJUGVAUMJZVDLVCEMZVDLVIVFVOVPVDEVACASTVAUMBRVCVDEUHUIEVACUQSUKUL
      $.
  $}

  ${
    $d x y A $.  $d x y B $.
    $( The converse of a cross product.  Exercise 11 of [Suppes] p. 67.  (The
       proof was shortened by Andrew Salmon, 27-Aug-2011.)  (Contributed by
       set.mm contributors, 14-Aug-1999.)  (Revised by set.mm contributors,
       27-Aug-2011.) $)
    cnvxp $p |- `' ( A X. B ) = ( B X. A ) $=
      ( vy vx cv wcel copab ccnv cxp cnvopab ancom opabbii eqtri cnveqi 3eqtr4i
      wa df-xp ) CEAFZDEBFZPZCDGZHZSRPZDCGZABIZHBAIUBTDCGUDTCDJTUCDCRSKLMUEUACD
      ABQNDCBAQO $.
  $}

  $( The cross product with the empty set is empty.  Part of Theorem 3.13(ii)
     of [Monk1] p. 37.  (Contributed by set.mm contributors, 12-Apr-2004.) $)
  xp0 $p |- ( A X. (/) ) = (/) $=
    ( c0 cxp ccnv xp0r cnveqi cnvxp cnv0 3eqtr3i ) BACZDBDABCBJBAEFBAGHI $.

  ${
    $d x y A $.  $d x y B $.
    $( The cross product of nonempty classes is nonempty.  (Variation of a
       theorem contributed by Raph Levien, 30-Jun-2006.)  (Contributed by
       set.mm contributors, 30-Jun-2006.)  (Revised by set.mm contributors,
       19-Apr-2007.) $)
    xpnz $p |- ( ( A =/= (/) /\ B =/= (/) ) <-> ( A X. B ) =/= (/) ) $=
      ( vx vy c0 wne wa cxp cv wcel wex n0 anbi12i eeanv bitr4i cop opelxp wceq
      syl6eq necon3i ne0i sylbir exlimivv sylbi xpeq1 xp0r xpeq2 xp0 jca impbii
      ) AEFZBEFZGZABHZEFZUMCIZAJZDIZBJZGZDKCKZUOUMUQCKZUSDKZGVAUKVBULVCCALDBLMU
      QUSCDNOUTUOCDUTUPURPZUNJUOUPURABQUNVDUAUBUCUDUOUKULAEUNEAERUNEBHEAEBUEBUF
      STBEUNEBERUNAEHEBEAUGAUHSTUIUJ $.
  $}

  $( At least one member of an empty cross product is empty.  (Contributed by
     set.mm contributors, 27-Aug-2006.) $)
  xpeq0 $p |- ( ( A X. B ) = (/) <-> ( A = (/) \/ B = (/) ) ) $=
    ( cxp c0 wceq wne wa wn wo xpnz necon2bbii ianor nne orbi12i 3bitri ) ABCZD
    EADFZBDFZGZHQHZRHZIADEZBDEZISPDABJKQRLTUBUAUCADMBDMNO $.

  $( Cross products with disjoint sets are disjoint.  (Contributed by set.mm
     contributors, 13-Sep-2004.) $)
  xpdisj1 $p |- ( ( A i^i B ) = (/) -> ( ( A X. C ) i^i ( B X. D ) ) = (/) ) $=
    ( cin c0 wceq cxp inxp xpeq1 xp0r syl6eq syl5eq ) ABEZFGZACHBDHENCDEZHZFACB
    DIOQFPHFNFPJPKLM $.

  $( Cross products with disjoint sets are disjoint.  (Contributed by set.mm
     contributors, 13-Sep-2004.) $)
  xpdisj2 $p |- ( ( A i^i B ) = (/) -> ( ( C X. A ) i^i ( D X. B ) ) = (/) ) $=
    ( cin c0 wceq cxp inxp xpeq2 xp0 syl6eq syl5eq ) ABEZFGZCAHDBHECDEZNHZFCADB
    IOQPFHFNFPJPKLM $.

  $( Cross products with two different singletons are disjoint.  (Contributed
     by set.mm contributors, 28-Jul-2004.)  (Revised by set.mm contributors,
     3-Jun-2007.) $)
  xpsndisj $p |- ( B =/= D -> ( ( A X. { B } ) i^i ( C X. { D } ) ) = (/) ) $=
    ( wne csn cin c0 wceq cxp disjsn2 xpdisj2 syl ) BDEBFZDFZGHIANJCOJGHIBDKNOA
    CLM $.

  $( A double restriction to disjoint classes is the empty set.  (The proof was
     shortened by Andrew Salmon, 27-Aug-2011.)  (Contributed by set.mm
     contributors, 7-Oct-2004.)  (Revised by set.mm contributors,
     27-Aug-2011.) $)
  resdisj $p |- ( ( A i^i B ) = (/) -> ( ( C |` A ) |` B ) = (/) ) $=
    ( cin c0 wceq cres resres reseq2 res0 syl6eq syl5eq ) ABDZEFZCAGBGCMGZECABH
    NOCEGEMECICJKL $.

  $( The range of a cross product.  Part of Theorem 3.13(x) of [Monk1] p. 37.
     (Contributed by set.mm contributors, 12-Apr-2004.)  (Revised by set.mm
     contributors, 9-Apr-2007.) $)
  rnxp $p |- ( A =/= (/) -> ran ( A X. B ) = B ) $=
    ( c0 wne cxp crn cdm ccnv dfrn4 cnvxp dmeqi eqtri dmxp syl5eq ) ACDABEZFZBA
    EZGZBPOHZGROISQABJKLBAMN $.

  $( The domain of a cross product is a subclass of the first factor.
     (Contributed by set.mm contributors, 19-Mar-2007.) $)
  dmxpss $p |- dom ( A X. B ) C_ A $=
    ( cxp cdm wss c0 wceq 0ss xpeq2 xp0 syl6eq dmeqd dm0 sseq1d mpbiri wne dmxp
    eqimss syl pm2.61ine ) ABCZDZAEZBFBFGZUCFAEAHUDUBFAUDUBFDFUDUAFUDUAAFCFBFAI
    AJKLMKNOBFPUBAGUCABQUBARST $.

  $( The range of a cross product is a subclass of the second factor.  (The
     proof was shortened by Andrew Salmon, 27-Aug-2011.)  (Contributed by
     set.mm contributors, 16-Jan-2006.)  (Revised by set.mm contributors,
     27-Aug-2011.) $)
  rnxpss $p |- ran ( A X. B ) C_ B $=
    ( cxp crn cdm ccnv dfrn4 cnvxp dmeqi eqtri dmxpss eqsstri ) ABCZDZBACZEZBNM
    FZEPMGQOABHIJBAKL $.

  $( The range of a square cross product.  (Contributed by FL, 17-May-2010.) $)
  rnxpid $p |- ran ( A X. A ) = A $=
    ( cxp crn wceq c0 rn0 xpeq2 xp0 syl6eq rneqd id 3eqtr4a rnxp pm2.61ine ) AA
    BZCZADAEAEDZECEPAFQOEQOAEBEAEAGAHIJQKLAAMN $.

  $( A cross-product subclass relationship is equivalent to the relationship
     for it components.  (Contributed by set.mm contributors, 17-Dec-2008.) $)
  ssxpb $p |- ( ( A X. B ) =/= (/) -> ( ( A X. B ) C_ ( C X. D ) <->
              ( A C_ C /\ B C_ D ) ) ) $=
    ( cxp c0 wne wss wa cdm wceq xpnz dmxp adantl sylbir adantr eqsstr3d syl6ss
    dmss crn dmxpss rnxp rnss rnxpss jca ex xpss12 impbid1 ) ABEZFGZUICDEZHZACH
    ZBDHZIZUJULUOUJULIZUMUNUPAUKJZCUPAUIJZUQUJURAKZULUJAFGZBFGZIZUSABLZVAUSUTAB
    MNOPULURUQHUJUIUKSNQCDUARUPBUKTZDUPBUITZVDUJVEBKZULUJVBVFVCUTVFVAABUBPOPULV
    EVDHUJUIUKUCNQCDUDRUEUFACBDUGUH $.

  $( The cross product of non-empty classes is one-to-one.  (Contributed by
     set.mm contributors, 31-May-2008.) $)
  xp11 $p |- ( ( A =/= (/) /\ B =/= (/) )
      -> ( ( A X. B ) = ( C X. D ) <-> ( A = C /\ B = D ) ) ) $=
    ( c0 wne wa cxp wceq wi xpnz anidm neeq1 anbi2d syl5bbr wss ssxpb syl5ibcom
    eqimss eqss eqimss2 anim12d anbi12i bitr4i syl6ib sylbid com12 sylbi xpeq12
    an4 impbid1 ) AEFBEFGZABHZCDHZIZACIZBDIZGZULUMEFZUOURJABKUOUSURUOUSUSUNEFZG
    ZURUSUSUSGUOVAUSLUOUSUTUSUMUNEMNOUOVAACPZBDPZGZCAPZDBPZGZGZURUOUSVDUTVGUOUM
    UNPUSVDUMUNSABCDQRUOUNUMPUTVGUNUMUACDABQRUBVHVBVEGZVCVFGZGURVBVCVEVFUJUPVIU
    QVJACTBDTUCUDUEUFUGUHACBDUIUK $.

  $( Cancellation law for cross-product.  (Contributed by set.mm contributors,
     30-Aug-2011.) $)
  xpcan $p |- ( C =/= (/) -> ( ( C X. A ) = ( C X. B ) <-> A = B ) ) $=
    ( c0 wne cxp wceq wb wa xp11 biantrur syl6bbr wn wi nne xpeq2 syl6eq eqeq1d
    eqid xp0 eqcom syl6bb adantl df-ne wo xpeq0 orel1 syl5bi sylbi adantr simpr
    sylbid jctild eqtr3 syl6 sylan2b impbid1 pm2.61dan ) CDEZADEZCAFZCBFZGZABGZ
    HUSUTIVCCCGZVDIVDCACBJVEVDCSKLUSUTMZIVCVDVFUSADGZVCVDNADOUSVGIZVCVGBDGZIVDV
    HVCVIVGVHVCVBDGZVIVGVCVJHUSVGVCDVBGVJVGVADVBVGVACDFDADCPCTQRDVBUAUBUCUSVJVI
    NZVGUSCDGZMZVKCDUDVJVLVIUEVMVICBUFVLVIUGUHUIUJULUSVGUKUMABDUNUOUPABCPUQUR
    $.

  $( Cancellation law for cross-product.  (Contributed by set.mm contributors,
     30-Aug-2011.) $)
  xpcan2 $p |- ( C =/= (/) -> ( ( A X. C ) = ( B X. C ) <-> A = B ) ) $=
    ( c0 wne cxp wceq wb wa xp11 eqid biantru syl6bbr wn nne xp0r syl6eq eqeq1d
    xpeq1 eqcom syl6bb adantr wi df-ne wo xpeq0 orel2 syl5bi sylbi adantl simpl
    sylbid jctild eqtr3 syl6 impbid1 sylanb pm2.61ian ) ADEZCDEZACFZBCFZGZABGZH
    ZUSUTIVCVDCCGZIVDACBCJVFVDCKLMUSNADGZUTVEADOVGUTIZVCVDVHVCVGBDGZIVDVHVCVIVG
    VHVCVBDGZVIVGVCVJHUTVGVCDVBGVJVGVADVBVGVADCFDADCSCPQRDVBTUAUBUTVJVIUCZVGUTC
    DGZNZVKCDUDVJVIVLUEVMVIBCUFVLVIUGUHUIUJULVGUTUKUMABDUNUOABCSUPUQUR $.

  ${
    $d x y A $.  $d x y B $.  $d x y C $.
    $( Subset of the range of a restriction.  (Contributed by set.mm
       contributors, 16-Jan-2006.) $)
    ssrnres $p |- ( B C_ ran ( C |` A ) <-> ran ( C i^i ( A X. B ) ) = B ) $=
      ( vy vx cxp cin crn wceq wss wa cres rnss ax-mp cvv wcel wex elrn2 3bitri
      cv eqss inss2 rnxpss sstri biantrur ssv xpss2 sslin df-res sseqtr4i mpan2
      sstr cop ssel syl6ib ancrd elin opelxp anbi2i opelres anbi1i anass bitr2i
      exbii 19.41v syl6ibr ssrdv impbii 3bitr2ri ) CABFZGZHZBIVLBJZBVLJZKVNBCAL
      ZHZJZVLBUAVMVNVLVJHZBVKVJJVLVRJCVJUBVKVJMNABUCUDUEVNVQVNVLVPJZVQVKVOJVSVK
      CAOFZGZVOVJVTJZVKWAJBOJWBBUFBOAUGNVJVTCUHNCAUIUJVKVOMNBVLVPULUKVQDBVLVQDT
      ZBPZETZWCUMZVOPZEQZWDKZWCVLPZVQWDWHVQWDWCVPPWHBVPWCUNEWCVORUOUPWJWFVKPZEQ
      WGWDKZEQWIEWCVKRWKWLEWKWFCPZWFVJPZKWMWEAPZWDKZKZWLWFCVJUQWNWPWMWEWCABURUS
      WLWMWOKZWDKWQWGWRWDWEWCCAUTVAWMWOWDVBVCSVDWGWDEVESVFVGVHVI $.
  $}

  ${
    $d x y A $.  $d y B $.  $d x y C $.
    $( Range of the intersection with a cross product.  (The proof was
       shortened by Andrew Salmon, 27-Aug-2011.)  (Contributed by set.mm
       contributors, 17-Jan-2006.)  (Revised by set.mm contributors,
       27-Aug-2011.) $)
    rninxp $p |- ( ran ( C i^i ( A X. B ) ) = B <->
                 A. y e. B E. x e. A x C y ) $=
      ( cres crn wss wcel wral cxp cin wceq wbr wrex dfss3 ssrnres cima dfima3
      cv eleq2i elima bitr3i ralbii 3bitr3i ) DECFGZHBTZUFIZBDJECDKLGDMATUGENAC
      OZBDJBDUFPCDEQUHUIBDUHUGECRZIUIUJUFUGECSUAAUGECUBUCUDUE $.
  $}

  ${
    $d x A $.  $d x y B $.  $d x y C $.
    $( Domain of the intersection with a cross product.  (Contributed by set.mm
       contributors, 17-Jan-2006.) $)
    dminxp $p |- ( dom ( C i^i ( A X. B ) ) = A <->
                 A. x e. A E. y e. B x C y ) $=
      ( cxp cin cdm wceq ccnv crn wbr wrex wral df-dm cnvin cnvxp ineq2i eqtri
      cv rneqi eqeq1i rninxp brcnv rexbii ralbii 3bitri ) ECDFZGZHZCIEJZDCFZGZK
      ZCIBTZATZUKLZBDMZACNUPUOELZBDMZACNUJUNCUJUIJZKUNUIOVAUMVAUKUHJZGUMEUHPVBU
      LUKCDQRSUASUBBADCUKUCURUTACUQUSBDUOUPEUDUEUFUG $.
  $}

  ${
    $d x y R $.
    $( The double converse of a class is the original class.  (Contributed by
       Scott Fenton, 17-Apr-2021.) $)
    cnvcnv $p |- `' `' R = R $=
      ( vx vy ccnv cv wbr brcnv bitri eqbrriv ) BCADZDZABEZCEZKFMLJFLMAFLMJGMLA
      GHI $.
  $}

  $( Equality theorem for converse.  (Contributed by FL, 19-Sep-2011.)
     (Revised by Scott Fenton, 17-Apr-2021.) $)
  cnveqb $p |- ( A = B <-> `' A = `' B ) $=
    ( wceq ccnv cnveq cnvcnv 3eqtr3g impbii ) ABCADZBDZCZABEKIDJDABIJEAFBFGH $.

  ${
    $d x y A $.
    $( The domain of a singleton is nonzero iff the singleton argument is a
       set.  (Contributed by NM, 14-Dec-2008.)  (Proof shortened by
       Andrew Salmon, 27-Aug-2011.)  (Revised by Scott Fenton, 19-Apr-2021.) $)
    dmsnn0 $p |- ( A e. _V <-> dom { A } =/= (/) ) $=
      ( vx vy cv csn cdm wcel wex cop wceq wne cvv eldm2 opex elsnc eqcom bitri
      c0 vex exbii n0 opeqexb 3bitr4ri ) BDZAEZFZGZBHAUDCDZIZJZCHZBHUFRKALGUGUK
      BUGUIUEGZCHUKCUDUEMULUJCULUIAJUJUIAUDUHBSCSNOUIAPQTQTBUFUABCAUBUC $.
  $}

  $( The range of a singleton is nonzero iff the singleton argument is a
     set.  (Contributed by set.mm contributors, 14-Dec-2008.)
     (Revised by Scott Fenton, 19-Apr-2021.) $)
  rnsnn0 $p |- ( A e. _V <-> ran { A } =/= (/) ) $=
    ( cvv wcel csn cdm c0 wne crn dmsnn0 dm0rn0 necon3bii bitri ) ABCADZEZFGMHZ
    FGAINFOFMJKL $.

  ${
    $d x y z A $.  $d x y z B $.  $d x z V $.
    $( The domain of a singleton of an ordered pair is the singleton of the
       first member.  (Contributed by Mario Carneiro, 26-Apr-2015.) $)
    dmsnopg $p |- ( B e. V -> dom { <. A , B >. } = { A } ) $=
      ( vy vx vz cv cop csn cdm wceq opeq2 sneqd dmeqd eqeq1d wex wcel wa bitri
      vex wbr weq df-br opex elsnc opth ancom 3bitri exbii ceqsexv eldm 3bitr4i
      biidd elsn eqriv vtoclg ) ADGZHZIZJZAIZKABHZIZJZVAKDBCUQBKZUTVDVAVEUSVCVE
      URVBUQBALMNOEUTVAEGZFGZUSUAZFPZVFAKZVFUTQVFVAQVIFDUBZVJRZFPVJVHVLFVHVFVGH
      ZUSQVMURKZVLVFVGUSUCVMURVFVGETFTUDUEVNVJVKRVLVFVGAUQUFVJVKUGSUHUIVJVJFUQD
      TVKVJUMUJSFVFUSUKEAUNULUOUP $.

    $( The domain of a singleton of an ordered pair is a subset of the
       singleton of the first member (with no sethood assumptions on ` B ` ).
       (Contributed by Mario Carneiro, 30-Apr-2015.) $)
    dmsnopss $p |- dom { <. A , B >. } C_ { A } $=
      ( cvv wcel cop csn cdm wss wceq dmsnopg eqimss syl wn opexb simprbi con3i
      c0 snprc sylib dmeqd dm0 syl6eq 0ss syl6eqss pm2.61i ) BCDZABEZFZGZAFZHZU
      FUIUJIUKABCJUIUJKLUFMZUIQUJULUIQGQULUHQULUGCDZMUHQIUMUFUMACDUFABNOPUGRSTU
      AUBUJUCUDUE $.

    $( The domain of an unordered pair of ordered pairs.  (Contributed by Mario
       Carneiro, 26-Apr-2015.) $)
    dmpropg $p |- ( ( B e. V /\ D e. W ) ->
        dom { <. A , B >. , <. C , D >. } = { A , C } ) $=
      ( wcel wa cop csn cdm cun cpr wceq dmsnopg uneq12 syl2an df-pr dmeqi dmun
      eqtri 3eqtr4g ) BEGZDFGZHABIZJZKZCDIZJZKZLZAJZCJZLZUEUHMZKZACMUCUGULNUJUM
      NUKUNNUDABEOCDFOUGULUJUMPQUPUFUILZKUKUOUQUEUHRSUFUITUAACRUB $.
  $}

  ${
    dmsnop.1 $e |- B e. _V $.
    $( The domain of a singleton of an ordered pair is the singleton of the
       first member.  (Contributed by NM, 30-Jan-2004.)  (Proof shortened by
       Andrew Salmon, 27-Aug-2011.)  (Revised by Mario Carneiro,
       26-Apr-2015.) $)
    dmsnop $p |- dom { <. A , B >. } = { A } $=
      ( cvv wcel cop csn cdm wceq dmsnopg ax-mp ) BDEABFGHAGICABDJK $.

    dmprop.1 $e |- D e. _V $.
    $( The domain of an unordered pair of ordered pairs.  (Contributed by NM,
       13-Sep-2011.) $)
    dmprop $p |- dom { <. A , B >. , <. C , D >. } = { A , C } $=
      ( cvv wcel cop cpr cdm wceq dmpropg mp2an ) BGHDGHABICDIJKACJLEFABCDGGMN
      $.

    dmtpop.1 $e |- F e. _V $.
    $( The domain of an unordered triple of ordered pairs.  (Contributed by NM,
       14-Sep-2011.) $)
    dmtpop $p |- dom { <. A , B >. , <. C , D >. , <. E , F >. }
                        = { A , C , E } $=
      ( cop ctp cdm cpr csn cun df-tp dmeqi dmun dmprop dmsnop uneq12i 3eqtri
      eqtr4i ) ABJZCDJZEFJZKZLZACMZENZOZACEKUHUDUEMZUFNZOZLULLZUMLZOUKUGUNUDUEU
      FPQULUMRUOUIUPUJABCDGHSEFITUAUBACEPUC $.
  $}

  ${
    op1sta.1 $e |- A e. _V $.
    op1sta.2 $e |- B e. _V $.
    $( Extract the first member of an ordered pair.  (Contributed by Raph
       Levien, 4-Dec-2003.) $)
    op1sta $p |- U. dom { <. A , B >. } = A $=
      ( cop csn cdm cuni dmsnop unieqi unisn eqtri ) ABEFGZHAFZHAMNABDIJACKL $.
  $}

  ${
    $d x y A $.  $d x y B $.
    cnvsn.1 $e |- A e. _V $.
    cnvsn.2 $e |- B e. _V $.
    $( Converse of a singleton of an ordered pair.  (Contributed by NM,
       11-May-1998.) $)
    cnvsn $p |- `' { <. A , B >. } = { <. B , A >. } $=
      ( vx vy cop csn ccnv cv wcel wceq vex opex elsnc ancom opth 3bitr4i bitri
      wa opelcnv eqrelriv ) EFABGZHZIZBAGZHZFJZEJZGZUDKZUIUHGZUFLZULUEKULUGKUKU
      JUCLZUMUJUCUHUIFMZEMZNOUHALZUIBLZTURUQTUNUMUQURPUHUIABQUIUHBAQRSUIUHUDUAU
      LUFUIUHUPUONORUB $.

    $( Swap the members of an ordered pair.  (Contributed by set.mm
       contributors, 14-Dec-2008.) $)
    opswap $p |- U. `' { <. A , B >. } = <. B , A >. $=
      ( cop csn ccnv cuni cnvsn unieqi opex unisn eqtri ) ABEFGZHBAEZFZHONPABCD
      IJOBADCKLM $.
  $}

  ${
    $d A x y $.  $d B x y $.
    rnsnop.1 $e |- A e. _V $.
    $( The range of a singleton of an ordered pair is the singleton of the
       second member.  (Contributed by set.mm contributors, 24-Jul-2004.) $)
    rnsnop $p |- ran { <. A , B >. } = { B } $=
      ( vy vx cop csn crn cv wbr wex wceq wcel df-br vex opex elsnc opth bitri
      wa exbii biidd ceqsexv elrn 3bitr4i eqriv ) DABFZGZHZBGZEIZDIZUHJZEKZULBL
      ZULUIMULUJMUNUKALZUOTZEKUOUMUQEUMUKULFZUHMZUQUKULUHNUSURUGLUQURUGUKULEODO
      ZPQUKULABRSSUAUOUOEACUPUOUBUCSEULUHUDULBUTQUEUF $.
  $}

  ${
    op2nda.1 $e |- A e. _V $.
    op2nda.2 $e |- B e. _V $.
    $( Extract the second member of an ordered pair.  (Contributed by set.mm
       contributors, 9-Jan-2015.) $)
    op2nda $p |- U. ran { <. A , B >. } = B $=
      ( cop csn crn cuni rnsnop unieqi unisn eqtri ) ABEFGZHBFZHBMNABCIJBDKL $.
  $}

  ${
    $d s t A $.  $d s t B $.  $d s t F $.
    $( An image under the converse of a restriction.  (Contributed by Jeff
       Hankins, 12-Jul-2009.) $)
    cnvresima $p |- ( `' ( F |` A ) " B ) = ( ( `' F " B ) i^i A ) $=
      ( vt vs cres ccnv cima cin cv wcel cop wa wex elima3 anass opelres anbi1i
      opelcnv bitr2i 3bitr4ri anbi2i exbii 19.41v bitri elin 3bitri eqriv ) DCA
      FZGZBHZCGZBHZAIZDJZUKKEJZBKZUPUOLZUJKZMZENZUQURULKZMZENZUOAKZMZUOUNKZEUOU
      JBOVAVCVEMZENVFUTVHEVHUQVBVEMZMUTUQVBVEPVIUSUQUOUPLZUIKVJCKZVEMUSVIUOUPCA
      QUPUOUISVBVKVEUPUOCSRUAUBTUCVCVEEUDUEVGUOUMKZVEMVFUOUMAUFVLVDVEEUOULBORTU
      GUH $.
  $}

  $( Restriction to the domain of a restriction.  (Contributed by set.mm
     contributors, 8-Apr-2007.) $)
  resdmres $p |- ( A |` dom ( A |` B ) ) = ( A |` B ) $=
    ( cvv cxp cdm cin cres df-res resdm eqtr3i ineq2i incom 3eqtri dmres xpeq1i
    in12 xpindir eqtri 3eqtr4i ) ABCDZAEZCDZFZFZATFZAABGZEZGZUFUDTAUBFZFTAFUEAT
    UBPUIATAUAGUIAAUAHAIJKTALMUHAUGCDZFUDAUGHUJUCAUJBUAFZCDUCUGUKCABNOBUACQRKRA
    BHS $.

  $( The image of the domain of a restriction.  (Contributed by set.mm
     contributors, 8-Apr-2007.) $)
  imadmres $p |- ( A " dom ( A |` B ) ) = ( A " B ) $=
    ( cres cdm crn cima resdmres rneqi dfima3 3eqtr4i ) AABCZDZCZEKEALFABFMKABG
    HALIABIJ $.

  ${
    $d w x y z A $.  $d w x y z B $.  $d w x y z C $.
    $( Alternate definition of a class composition, using only one bound
       variable.  (Contributed by set.mm contributors, 19-Dec-2008.) $)
    dfco2 $p |- ( A o. B )
                = U_ x e. _V ( ( `' B " { x } ) X. ( A " { x } ) ) $=
      ( vy vz ccom cvv ccnv cv csn cima cxp ciun cop wcel wbr wex opelco bitri
      wa wrex eliun opelxp eliniseg elimasn df-br bitr4i anbi12i exbii eqrelriv
      rexv 3bitrri ) DEBCFZAGCHAIZJZKZBUOKZLZMZDIZEIZNZUMOUTUNCPZUNVABPZTZAQZVB
      USOZAUTVABCRVGVBUROZAGUAVHAQVFAVBGURUBVHAUKVHVEAVHUTUPOZVAUQOZTVEUTVAUPUQ
      UCVIVCVJVDCUNUTUDVJUNVANBOVDBUNVAUEUNVABUFUGUHSUIULSUJ $.

    $( Generalization of ~ dfco2 , where ` C ` can have any value between
       ` dom A i^i ran B ` and ` _V ` .  (The proof was shortened by Andrew
       Salmon, 27-Aug-2011.)  (Contributed by set.mm contributors,
       21-Dec-2008.)  (Revised by set.mm contributors, 27-Aug-2011.) $)
    dfco2a $p |- ( ( dom A i^i ran B ) C_ C -> ( A o. B )
         = U_ x e. C ( ( `' B " { x } ) X. ( A " { x } ) ) ) $=
      ( vy vz vw cdm cvv cv cima ciun wcel wex wa cop sylbi wrex eliun bitri
      crn cin wss ccom ccnv csn cxp wceq elimasn opeldm eliniseg brelrn anim12i
      dfco2 wbr ancoms adantl exlimivv elxp elin ssel syl5 pm4.71rd exbidv rexv
      3imtr4i df-rex 3bitr4g eqrdv syl5eq ) BHZCUAZUBZDUCZBCUDAICUEAJZUFZKZBVPK
      ZUGZLZADVSLZABCUNVNEVTWAVNEJZVSMZANZVODMZWCOZANZWBVTMZWBWAMZVNWCWFAVNWCWE
      WCVOVMMZVNWEWBFJZGJZPUHZWKVQMZWLVRMZOZOZGNFNVOVKMZVOVLMZOZWCWJWQWTFGWPWTW
      MWOWNWTWOWRWNWSWOVOWLPBMWRBVOWLUIVOWLBUJQWNWKVOCUOWSCVOWKUKWKVOCULQUMUPUQ
      URFGWBVQVRUSVOVKVLUTVFVMDVOVAVBVCVDWHWCAIRWDAWBIVSSWCAVETWIWCADRWGAWBDVSS
      WCADVGTVHVIVJ $.

    $( Class composition distributes over union.  (The proof was shortened by
       Andrew Salmon, 27-Aug-2011.)  (Contributed by set.mm contributors,
       21-Dec-2008.)  (Revised by set.mm contributors, 27-Aug-2011.) $)
    coundi $p |- ( A o. ( B u. C ) ) = ( ( A o. B ) u. ( A o. C ) ) $=
      ( vx vz vy cv wbr wa wex copab cun ccom wo unopab brun anbi1i andir bitri
      df-co exbii 19.43 bitr2i opabbii eqtri uneq12i 3eqtr4ri ) DGZEGZBHZUIFGAH
      ZIZEJZDFKZUHUICHZUKIZEJZDFKZLZUHUIBCLZHZUKIZEJZDFKZABMZACMZLAUTMUSUMUQNZD
      FKVDUMUQDFOVGVCDFVCULUPNZEJVGVBVHEVBUJUONZUKIVHVAVIUKUHUIBCPQUJUOUKRSUAUL
      UPEUBUCUDUEVEUNVFURDFEABTDFEACTUFDFEAUTTUG $.

    $( Class composition distributes over union.  (The proof was shortened by
       Andrew Salmon, 27-Aug-2011.)  (Contributed by set.mm contributors,
       21-Dec-2008.)  (Revised by set.mm contributors, 27-Aug-2011.) $)
    coundir $p |- ( ( A u. B ) o. C ) = ( ( A o. C ) u. ( B o. C ) ) $=
      ( vx vy vz cv wbr wa wex copab cun ccom wo unopab brun anbi2i bitri df-co
      andi exbii 19.43 bitr2i opabbii eqtri uneq12i 3eqtr4ri ) DGEGZCHZUHFGZAHZ
      IZEJZDFKZUIUHUJBHZIZEJZDFKZLZUIUHUJABLZHZIZEJZDFKZACMZBCMZLUTCMUSUMUQNZDF
      KVDUMUQDFOVGVCDFVCULUPNZEJVGVBVHEVBUIUKUONZIVHVAVIUIUHUJABPQUIUKUOTRUAULU
      PEUBUCUDUEVEUNVFURDFEACSDFEBCSUFDFEUTCSUG $.

    $( Restricted first member of a class composition.  (The proof was
       shortened by Andrew Salmon, 27-Aug-2011.)  (Contributed by set.mm
       contributors, 12-Oct-2004.)  (Revised by set.mm contributors,
       27-Aug-2011.) $)
    cores $p |- ( ran B C_ C -> ( ( A |` C ) o. B ) = ( A o. B ) ) $=
      ( vz vy vx crn wss cv wbr cres wa wex copab ccom wcel brelrn ssel df-co
      wb iba brres syl6rbbr syl56 pm5.32d exbidv opabbidv 3eqtr4g ) BGZCHZDIZEI
      ZBJZULFIZACKZJZLZEMZDFNUMULUNAJZLZEMZDFNUOBOABOUJURVADFUJUQUTEUJUMUPUSUMU
      LUIPUJULCPZUPUSTUKULBQUICULRVBUSUSVBLUPVBUSUAULUNACUBUCUDUEUFUGDFEUOBSDFE
      ABSUH $.

    $( Associative law for the restriction of a composition.  (Contributed by
       set.mm contributors, 12-Dec-2006.) $)
    resco $p |- ( ( A o. B ) |` C ) = ( A o. ( B |` C ) ) $=
      ( vx vy vz ccom cres cv wbr wcel wex brco anbi1i 19.41v an32 brres bitr4i
      wa exbii 3bitr2i 3bitr4i eqbrriv ) DEABGZCHZABCHZGZDIZEIZUDJZUHCKZSZUHFIZ
      UFJZUMUIAJZSZFLZUHUIUEJUHUIUGJULUHUMBJZUOSZFLZUKSUSUKSZFLUQUJUTUKFUHUIABM
      NUSUKFOVAUPFVAURUKSZUOSUPURUOUKPUNVBUOUHUMBCQNRTUAUHUIUDCQFUHUIAUFMUBUC
      $.

    $( Image of the composition of two classes.  (Contributed by Jason
       Orendorff, 12-Dec-2006.) $)
    imaco $p |- ( ( A o. B ) " C ) = ( A " ( B " C ) ) $=
      ( vx vy vz ccom cima cv wbr wrex wcel wex df-rex elima r19.41v exbii brco
      wa rexbii rexcom4 3bitri anbi1i 3bitr4i 3bitr4ri eqriv ) DABGZCHZABCHZHZE
      IZDIZAJZEUIKUKUILZUMSZEMZULUJLULUHLZUMEUINEULAUIOFIZUKBJZUMSZFCKZEMZUSFCK
      ZUMSZEMUQUPVAVDEUSUMFCPQUQURULUGJZFCKUTEMZFCKVBFULUGCOVEVFFCEURULABRTUTFE
      CUAUBUOVDEUNVCUMFUKBCOUCQUDUEUF $.

    $( The range of the composition of two classes.  (Contributed by set.mm
       contributors, 12-Dec-2006.) $)
    rnco $p |- ran ( A o. B ) = ran ( A |` ran B ) $=
      ( vy vx vz ccom crn cres cv wbr wex wcel wa brco exbii excom ancom 19.41v
      elrn 3bitr4i anbi2i brres bitr4i 3bitri eqriv ) CABFZGZABGZHZGZDIZCIZUFJZ
      DKZEIZULUIJZEKZULUGLULUJLUNUKUOBJZUOULAJZMZEKZDKUTDKZEKUQUMVADEUKULABNOUT
      DEPVBUPEVBUSUOUHLZMZUPURDKZUSMUSVEMVBVDVEUSQURUSDRVCVEUSDUOBSUATUOULAUHUB
      UCOUDDULUFSEULUISTUE $.
  $}

  $( The range of the composition of two classes.  (Contributed by set.mm
     contributors, 27-Mar-2008.) $)
  rnco2 $p |- ran ( A o. B ) = ( A " ran B ) $=
    ( ccom crn cres cima rnco dfima3 eqtr4i ) ABCDABDZEDAJFABGAJHI $.

  $( The domain of a composition.  Exercise 27 of [Enderton] p. 53.
     (Contributed by set.mm contributors, 4-Feb-2004.) $)
  dmco $p |- dom ( A o. B ) = ( `' B " dom A ) $=
    ( ccom cdm ccnv crn cima df-dm cnvco rneqi rnco2 imaeq2i eqtr4i 3eqtri ) AB
    CZDOEZFBEZAEZCZFZQADZGZOHPSABIJTQRFZGUBQRKUAUCQAHLMN $.

  ${
    $d w x y z A $.  $d w y z B $.  $d w y z C $.
    $( Composition with an indexed union.  (Contributed by set.mm contributors,
       21-Dec-2008.) $)
    coiun $p |- ( A o. U_ x e. C B ) = U_ x e. C ( A o. B ) $=
      ( vy vz vw ciun ccom cv wbr wex wrex cop wcel eliun df-br rexbii 3bitr4i
      wa anbi1i r19.41v bitr4i exbii rexcom4 opelco bitri eqrelriv ) EFBADCHZIZ
      ADBCIZHZEJZGJZUIKZUNFJZBKZTZGLZUMUNCKZUQTZGLZADMZUMUPNZUJOVDULOZUSVAADMZG
      LVCURVFGURUTADMZUQTVFUOVGUQUMUNNZUIOVHCOZADMUOVGAVHDCPUMUNUIQUTVIADUMUNCQ
      RSUAUTUQADUBUCUDVAAGDUEUCGUMUPBUIUFVEVDUKOZADMVCAVDDUKPVJVBADGUMUPBCUFRUG
      SUH $.
  $}

  $( Absorption of a reverse (preimage) restriction of the second member of a
     class composition.  (Contributed by set.mm contributors, 11-Dec-2006.) $)
  cores2 $p |- ( dom A C_ C -> ( A o. `' ( `' B |` C ) ) = ( A o. B ) ) $=
    ( cdm wss ccnv cres ccom cnvcnv coeq1i wceq df-dm sseq1i cores sylbi syl5eq
    crn cnvco 3eqtr4g cnveqd 3eqtr3g ) ADZCEZABFZCGZFZHZFZFABHZFZFUGUIUCUHUJUCU
    FFZAFZHZUDULHZUHUJUCUMUEULHZUNUKUEULUEIJUCULQZCEUOUNKUBUPCALMUDULCNOPAUFRAB
    RSTUGIUIIUA $.

  ${
    $d x y z A $.
    $( Composition with the empty set.  Theorem 20 of [Suppes] p. 63.
       (Contributed by set.mm contributors, 24-Apr-2004.) $)
    co02 $p |- ( A o. (/) ) = (/) $=
      ( vx vy vz c0 ccom cv cop wcel wbr wa wex noel df-br mtbir intnanr opelco
      nex 2false eqrelriv ) BCAEFZEBGZCGZHZUAIZUDEIUEUBDGZEJZUFUCAJZKZDLUIDUGUH
      UGUBUFHZEIUJMUBUFENOPRDUBUCAEQOUDMST $.

    $( Composition with the empty set.  (Contributed by set.mm contributors,
       24-Apr-2004.) $)
    co01 $p |- ( (/) o. A ) = (/) $=
      ( vx vy c0 ccom wceq cv wcel wn eq0 cproj1 wbr cproj2 wex cop df-br mtbir
      wa noel intnan nex opeq eleq1i opelco bitri mpgbir ) DAEZDFBGZUGHZIBBUGJU
      IUHKZCGZALZUKUHMZDLZRZCNZUOCUNULUNUKUMOZDHUQSUKUMDPQTUAUIUJUMOZUGHUPUHURU
      GUHUBUCCUJUMDAUDUEQUF $.

    $( Composition with the identity relation.  Part of Theorem 3.7(i) of
       [Monk1] p. 36.  (Contributed by set.mm contributors, 22-Apr-2004.)
       (Revised by Scott Fenton, 14-Apr-2021.) $)
    coi1 $p |- ( A o. _I ) = A $=
      ( vx vy vz cid ccom cv wbr wa wex weq brco ideq equcom bitri anbi1i exbii
      vex breq1 ceqsexv 3bitri eqbrriv ) BCAEFZABGZCGZUCHUDDGZEHZUFUEAHZIZDJDBK
      ZUHIZDJUDUEAHZDUDUEAELUIUKDUGUJUHUGBDKUJUDUFDRMBDNOPQUHULDUDBRUFUDUEASTUA
      UB $.

    $( Composition with the identity relation.  Part of Theorem 3.7(i) of
       [Monk1] p. 36.  (Contributed by set.mm contributors, 22-Apr-2004.)
       (Revised by Scott Fenton, 17-Apr-2021.) $)
    coi2 $p |- ( _I o. A ) = A $=
      ( cid ccom wceq ccnv cnvco cnvi coeq2i coi1 3eqtri cnveqb mpbir ) BACZADM
      EZAEZDNOBEZCOBCOBAFPBOGHOIJMAKL $.
  $}

  $( Composition with a restricted identity relation.  (Contributed by FL,
     19-Jun-2011.) (Revised by Scott Fenton, 17-Apr-2021.) $)
  coires1 $p |- ( A o. ( _I |` B ) ) = ( A |` B ) $=
    ( cid ccom cres resco coi1 reseq1i eqtr3i ) ACDZBEACBEDABEACBFJABAGHI $.

  ${
    $d x y z w A $.  $d x y z w B $.  $d x y z w C $.
    $( Associative law for class composition.  Theorem 27 of [Suppes] p. 64.
       Also Exercise 21 of [Enderton] p. 53.  Interestingly, this law holds for
       any classes whatsoever, not just functions or even relations.
       (Contributed by set.mm contributors, 27-Jan-1997.) $)
    coass $p |- ( ( A o. B ) o. C ) = ( A o. ( B o. C ) ) $=
      ( vx vy vz vw ccom cv wbr wex excom anass 2exbii bitr2i brco bitr4i exbii
      wa 3bitr4i anbi2i 19.42v anbi1i 19.41v eqbrriv ) DEABHZCHZABCHZHZDIZFIZCJ
      ZUKEIZUFJZSZFKZUJGIZUHJZUQUMAJZSZGKZUJUMUGJUJUMUIJULUKUQBJZUSSZSZGKZFKZUL
      VBSZUSSZFKZGKZUPVAVJVHGKFKVFVHGFLVHVDFGULVBUSMNOUOVEFUOULVCGKZSVEUNVKULGU
      KUMABPUAULVCGUBQRUTVIGUTVGFKZUSSVIURVLUSFUJUQBCPUCVGUSFUDQRTFUJUMUFCPGUJU
      MAUHPTUE $.
  $}

  $( A class is transitive iff its converse is transitive.  (Contributed by
     FL, 19-Sep-2011.) (Revised by Scott Fenton, 18-Apr-2021.) $)
  cnvtr $p |- ( ( R o. R ) C_ R <-> ( `' R o. `' R ) C_ `' R ) $=
    ( ccom wss ccnv cnvco cnvss syl5eqssr cnveqi cnvcnv eqtr3i 3sstr3g impbii )
    AABZACZADZOBZOCZNPMDZOAAEZMAFGQPDZODMAPOFRDTMRPSHMIJAIKL $.

  ${
    $d x y A $.
     $( A class is included in the cross product of its domain and range.
       Exercise 4.12(t) of [Mendelson] p. 235.  (Contributed by set.mm
       contributors, 3-Aug-1994.) (Revised by Scott Fenton, 15-Apr-2021.) $)
    ssdmrn $p |- A C_ ( dom A X. ran A ) $=
      ( vx vy cdm crn cxp wss cv cop wi wal ssrel opeldm opelrn opelxp sylanbrc
      wcel ax-gen mpgbir ) AADZAEZFZGBHZCHZIZAQZUEUBQZJZCKBBCAUBLUHCUFUCTQUDUAQ
      UGUCUDAMUCUDANUCUDTUAOPRS $.
      
  $}

  ${
    $d A x y z $.
    $( Definition of converse in terms of image and ` Swap ` .  (Contributed by
       set.mm contributors, 8-Jan-2015.) $)
    dfcnv2 $p |- `' A = ( Swap " A ) $=
      ( vx vy vz ccnv cswap cima cv cop wbr wcel wa wex wceq vex brswap2 anbi1i
      exbii opex bitri eleq1 ceqsexv wrex elima df-rex exancom opelcnv 3bitr4ri
      eqrelriv ) BCAEZFAGZDHZBHZCHZIZFJZULAKZLZDMZUNUMIZAKZUOUKKZUOUJKUSULUTNZU
      QLZDMVAURVDDUPVCUQULUMUNBOZCOZPQRUQVADUTUNUMVFVESULUTAUAUBTVBUPDAUCZUSDUO
      FAUDVGUQUPLDMUSUPDAUEUQUPDUFTTUMUNAUGUHUI $.
  $}

  $( The converse of a set is a set.  Corollary 6.8(1) of [TakeutiZaring]
     p. 26.  (Contributed by set.mm contributors, 17-Mar-1998.) $)
  cnvexg $p |- ( A e. V -> `' A e. _V ) $=
    ( wcel ccnv cswap cima cvv dfcnv2 swapex imaexg mpan syl5eqel ) ABCZADEAFZG
    AHEGCMNGCIEAGBJKL $.

  ${
    cnvex.1 $e |- A e. _V $.
    $( The converse of a set is a set.  Corollary 6.8(1) of [TakeutiZaring]
       p. 26.  (Contributed by set.mm contributors, 19-Dec-2003.) $)
    cnvex $p |- `' A e. _V $=
      ( cvv wcel ccnv cnvexg ax-mp ) ACDAECDBACFG $.
  $}

  $( A class is a set iff its converse is a set.   (Contributed by FL,
     3-Mar-2007.) (Revised by Scott Fenton, 18-Apr-2021.) $)
  cnvexb $p |- ( R e. _V <-> `' R e. _V ) $=
    ( cvv wcel ccnv cnvexg cnvcnv syl5eqelr impbii ) ABCADZBCZABEJAIDBAFIBEGH
    $.

  $( The range of a set is a set.  Corollary 6.8(3) of [TakeutiZaring] p. 26.
     Similar to Lemma 3D of [Enderton] p. 41.  (Contributed by set.mm
     contributors, 8-Jan-2015.) $)
  rnexg $p |- ( A e. V -> ran A e. _V ) $=
    ( wcel crn cvv cima df-rn vvex imaexg mpan2 syl5eqel ) ABCZADAEFZEAGLEECMEC
    HAEBEIJK $.

  $( The domain of a set is a set.  Corollary 6.8(2) of [TakeutiZaring] p. 26.
     (Contributed by set.mm contributors, 8-Jan-2015.) $)
  dmexg $p |- ( A e. V -> dom A e. _V ) $=
    ( wcel cdm ccnv crn cvv df-dm cnvexg rnexg syl syl5eqel ) ABCZADAEZFZGAHMNG
    COGCABINGJKL $.

  ${
    dmex.1 $e |- A e. _V $.
    $( The domain of a set is a set.  Corollary 6.8(2) of [TakeutiZaring]
       p. 26.  (Contributed by set.mm contributors, 7-Jul-2008.) $)
    dmex $p |- dom A e. _V $=
      ( cvv wcel cdm dmexg ax-mp ) ACDAECDBACFG $.

    $( The range of a set is a set.  Corollary 6.8(3) of [TakeutiZaring]
       p. 26.  Similar to Lemma 3D of [Enderton] p. 41.  (Contributed by set.mm
       contributors, 7-Jul-2008.) $)
    rnex $p |- ran A e. _V $=
      ( cvv wcel crn rnexg ax-mp ) ACDAECDBACFG $.
  $}

  ${
    $d x y A $.  $d x y B $.  $d x y C $.
    $( Membership in a cross product.  This version requires no quantifiers or
       dummy variables.  (Contributed by set.mm contributors, 17-Feb-2004.) $)
    elxp4 $p |- ( A e. ( B X. C ) <-> ( A = <. U. dom { A } , U. ran { A } >.
                 /\ ( U. dom { A } e. B /\ U. ran { A } e. C ) ) ) $=
      ( vx vy wcel cv cop wceq wa wex csn cdm cuni crn sneq unieqd vex pm4.71ri
      syl6req elxp rneqd op2nda adantr exbii snex rnex uniex opeq2 eqeq2d eleq1
      anbi2d anbi12d ceqsexv bitri dmeqd op1sta anbi1i anass 3bitri dmex anbi1d
      cxp opeq1 ) ABCVCFADGZEGZHZIZVEBFZVFCFZJZJZEKZDKVEALZMZNZIZAVEVNOZNZHZIZV
      IVSCFZJZJZJZDKAVPVSHZIZVPBFZWBJZJZDEABCUAVMWEDVMWDVQWAJZWCJWEVMVFVSIZVLJZ
      EKWDVLWMEVLWLVHWLVKVHVSVGLZOZNVFVHVRWOVHVNWNAVGPUBQVEVFDRZERUCTUDSUEVLWDE
      VSVRVNAUFZUGUHZWLVHWAVKWCWLVGVTAVFVSVEUIUJWLVJWBVIVFVSCUKULUMUNUOWAWKWCWA
      VQWAVPVTLZMZNVEWAVOWTWAVNWSAVTPUPQVEVSWPWRUQTSURVQWAWCUSUTUEWDWJDVPVOVNWQ
      VAUHVQWAWGWCWIVQVTWFAVEVPVSVDUJVQVIWHWBVEVPBUKVBUMUNUT $.
  $}

  $( If a cross product is a set, one of its components must be a set.
     (Contributed by set.mm contributors, 27-Aug-2006.) $)
  xpexr $p |- ( ( A X. B ) e. C -> ( A e. _V \/ B e. _V ) ) $=
    ( cxp wcel cvv wn wi wceq 0ex eleq1 mpbiri pm2.24d a1d wne crn rnexg eleq1d
    c0 rnxp syl5ib a1dd pm2.61ine orrd ) ABDZCEZAFEZBFEZUFUGGZUHHZHASASIZUJUFUK
    UGUHUKUGSFEJASFKLMNASOZUFUHUIUFUEPZFEULUHUECQULUMBFABTRUAUBUCUD $.

  $( If a nonempty cross product is a set, so are both of its components.
     (Contributed by set.mm contributors, 27-Aug-2006.)  (Revised by set.mm
     contributors, 5-May-2007.) $)
  xpexr2 $p |- ( ( ( A X. B ) e. C /\ ( A X. B ) =/= (/) ) ->
               ( A e. _V /\ B e. _V ) ) $=
    ( cxp c0 wne wcel wa cvv xpnz cdm wceq dmxp adantl adantr eqeltrrd crn rnxp
    dmexg rnexg anim12dan ancom2s sylan2br ) ABDZEFUDCGZAEFZBEFZHAIGZBIGZHZABJU
    EUGUFUJUEUGUHUFUIUEUGHUDKZAIUGUKALUEABMNUEUKIGUGUDCSOPUEUFHUDQZBIUFULBLUEAB
    RNUEULIGUFUDCTOPUAUBUC $.

  ${
    $d x y z w $.
    $( Alternate definition of the ` 2nd ` function.  (Contributed by SF,
       8-Jan-2015.) $)
    df2nd2 $p |- 2nd = ( 1st o. Swap ) $=
      ( vx vz vy vw cv cop wceq wex copab cswap wbr c1st wa c2nd ccom vex br1st
      anbi1i ancom exbii 19.41v 3bitr4i excom opex breq2 ceqsexv bitri 3bitr2ri
      brswap2 opabbii df-2nd df-co 3eqtr4i ) AEZBEZCEZFGZBHZACIUNDEZJKZUSUPLKZM
      ZDHZACINLJOURVCACVCUSUPUOFZGZUTMZBHZDHVFDHZBHURVBVGDVAUTMVEBHZUTMVBVGVAVI
      UTBUSUPCPZQRUTVASVEUTBUAUBTVFBDUCVHUQBVHUNVDJKZUQUTVKDVDUPUOVJBPZUDUSVDUN
      JUEUFUNUPUOVJVLUIUGTUHUJACBUKACDLJULUM $.
  $}

  $( The ` 2nd ` function is a set.  (Contributed by SF, 8-Jan-2015.) $)
  2ndex $p |- 2nd e. _V $=
    ( c2nd c1st cswap ccom cvv df2nd2 1stex swapex coex eqeltri ) ABCDEFBCGHIJ
    $.

  ${
    $d A x y z w v $.  $d B x y z w v $.
    $( Define cross product via the set construction functions.  (Contributed
       by SF, 8-Jan-2015.) $)
    dfxp2 $p |- ( A X. B ) = ( ( `' 1st " A ) i^i ( `' 2nd " B ) ) $=
      ( vx vy vz vw vv c1st ccnv c2nd cv cop wceq wrex wbr wcel wex weq 3bitr4i
      wa cxp cima cin eeanv vex opeq2 eqeq2d opeq1 bi2anan9 spc2ev anidms simpl
      eqtr2 opth adantl sylbi syl eqtrd exlimivv impbii brcnv br1st bitri br2nd
      anbi12i 2rexbii elxp2 elima elin reeanv eqriv ) CABUAZHIZAUBZJIZBUBZUCZCK
      ZDKZEKZLZMZEBNDANVSVRVMOZVTVRVOOZTZEBNDANZVRVLPVRVQPZWBWEDEABVRVSFKZLZMZV
      RGKZVTLZMZTZGQFQZWJFQZWMGQZTWBWEWJWMFGUDWBWOWBWOWNWBWBTFGVTVSEUEZDUEZFERZ
      WJWBGDRZWMWBWTWIWAVRWHVTVSUFZUGXAWLWAVRWKVSVTUHUGUIUJUKWNWBFGWNVRWIWAWJWM
      ULWNWIWLMZWIWAMZVRWIWLUMXCDGRZWTTXDVSWHWKVTUNWTXDXEXBUOUPUQURUSUTWCWPWDWQ
      WCVRVSHOWPVSVRHVAFVRVSWSVBVCWDVRVTJOWQVTVRJVAGVRVTWRVDVCVESVFDEVRABVGVRVN
      PZVRVPPZTWCDANZWDEBNZTWGWFXFXHXGXIDVRVMAVHEVRVOBVHVEVRVNVPVIWCWDDEABVJSSV
      K $.
  $}

  $( The cross product of two sets is a set.  Proposition 6.2 of
     [TakeutiZaring] p. 23.  (Contributed by set.mm contributors,
     14-Aug-1994.) $)
  xpexg $p |- ( ( A e. V /\ B e. W ) -> ( A X. B ) e. _V ) $=
    ( wcel cxp c1st ccnv cima c2nd cin cvv dfxp2 1stex cnvex imaexg 2ndex inexg
    wa mpan syl2an syl5eqel ) ACEZBDEZSABFGHZAIZJHZBIZKZLABMUCUFLEZUHLEZUILEUDU
    ELEUCUJGNOUEALCPTUGLEUDUKJQOUGBLDPTUFUHLLRUAUB $.

  ${
    xpex.1 $e |- A e. _V $.
    xpex.2 $e |- B e. _V $.
    $( The cross product of two sets is a set.  Proposition 6.2 of
       [TakeutiZaring] p. 23.  (Contributed by set.mm contributors,
       14-Aug-1994.) $)
    xpex $p |- ( A X. B ) e. _V $=
      ( cvv wcel cxp xpexg mp2an ) AEFBEFABGEFCDABEEHI $.
  $}

  $( The restriction of a set to a set is a set.  (Contributed by set.mm
     contributors, 8-Jan-2015.) $)
  resexg $p |- ( ( A e. V /\ B e. W ) -> ( A |` B ) e. _V ) $=
    ( wcel wa cres cvv cxp cin df-res vvex xpexg mpan2 inexg sylan2 syl5eqel )
    ACEZBDEZFABGABHIZJZHABKSRTHEZUAHESHHEUBLBHDHMNATCHOPQ $.

  ${
    resex.1 $e |- A e. _V $.
    resex.2 $e |- B e. _V $.
    $( The restriction of a set to a set is a set.  (Contributed by set.mm
       contributors, 8-Jan-2015.) $)
    resex $p |- ( A |` B ) e. _V $=
      ( cvv wcel cres resexg mp2an ) AEFBEFABGEFCDABEEHI $.
  $}

  ${
    $d A a b x $.  $d B a b $.
    $( The converse of an intersection is the intersection of the converse.
       (Contributed by FL, 15-Oct-2012.) (Revised by Scott Fenton,
       18-Apr-2021.) $)
    cnviin $p |- `' |^|_ x e. A B = |^|_ x e. A `' B $=
      ( va vb ciin ccnv cv cop wcel wral cvv wb opex eliin ax-mp opelcnv ralbii
      vex bitri 3bitr4i eqrelriv ) DEABCFZGZABCGZFZEHZDHZIZUCJZUICJZABKZUHUGIZU
      DJUMUFJZUILJUJULMUGUHESZDSZNAUIBCLOPUHUGUCQUNUMUEJZABKZULUMLJUNURMUHUGUPU
      ONAUMBUELOPUQUKABUHUGCQRTUAUB $.
  $}

  ${
    $d x y z A $.
    $( Alternate definition of a function.  (Contributed by set.mm
       contributors, 29-Dec-1996.)  (Revised by set.mm contributors,
       23-Apr-2004.) (Revised by Scott Fenton, 16-Apr-2021.) $)
    dffun2 $p |- ( Fun A <-> 
                 A. x A. y A. z ( ( x A y /\ x A z ) -> y = z ) ) $=
      ( wfun ccnv ccom cid wss cv cop wcel wi wal wbr wa weq df-fun wex bitr4i
      ssrel opelco brcnv anbi1i exbii bitri df-br vex ideq bitr3i 19.23v 2albii
      imbi12i alrot3 3bitri ) DEDDFZGZHIBJZCJZKZUQLZUTHLZMZCNBNZAJZURDOZVEUSDOZ
      PZBCQZMZCNBNANZDRBCUQHUAVDVJANZCNBNVKVCVLBCVCVHASZVIMVLVAVMVBVIVAURVEUPOZ
      VGPZASVMAURUSDUPUBVOVHAVNVFVGURVEDUCUDUEUFVBURUSHOVIURUSHUGURUSCUHUIUJUMV
      HVIAUKTULVJABCUNTUO $.

    $( Alternate definition of function.  (Contributed by NM, 29-Dec-1996.)
       (Revised by Scott Fenton, 16-Apr-2021.) $)
    dffun3 $p |- ( Fun A <-> A. x E. z A. y ( x A y -> y = z ) ) $=
      ( wfun cv wbr wa weq wi wal wex dffun2 wmo breq2 mo4 nfv mo2 bitr3i albii
      bitri ) DEAFZBFZDGZUBCFZDGZHBCIZJCKBKZAKUDUGJBKCLZAKABCDMUHUIAUHUDBNUIUDU
      FBCUCUEUBDOPUDBCUDCQRSTUA $.

    $( Alternate definition of a function.  Definition 6.4(4) of
       [TakeutiZaring] p. 24.  (Contributed by set.mm contributors,
       29-Dec-1996.) (Revised by Scott Fenton, 16-Apr-2021.) $)
    dffun4 $p |- ( Fun A <-> 
                 A. x A. y A. z ( ( <. x , y >. e. A /\ <. x , z >. e. A )
                 -> y = z ) ) $=
      ( wfun cv wbr wa weq wi wal wcel dffun2 df-br anbi12i imbi1i albii 2albii
      cop bitri ) DEAFZBFZDGZUACFZDGZHZBCIZJZCKZBKAKUAUBSDLZUAUDSDLZHZUGJZCKZBK
      AKABCDMUIUNABUHUMCUFULUGUCUJUEUKUAUBDNUAUDDNOPQRT $.

    $( Alternate definition of function.  (Contributed by set.mm contributors,
       29-Dec-1996.) (Revised by Scott Fenton, 16-Apr-2021.) $)
    dffun5 $p |- ( Fun A <-> A. x E. z A. y ( <. x , y >. e. A -> y = z ) ) $=
      ( wfun cv wbr weq wal wex cop wcel dffun3 df-br imbi1i albii exbii bitri
      wi ) DEAFZBFZDGZBCHZSZBIZCJZAITUAKDLZUCSZBIZCJZAIABCDMUFUJAUEUICUDUHBUBUG
      UCTUADNOPQPR $.
  $}

  ${
    $d x y w v u $.  $d A w v u $.
    dffun6f.1 $e |- F/_ x A $.
    dffun6f.2 $e |- F/_ y A $.
    $( Definition of function, using bound-variable hypotheses instead of
       distinct variable conditions.  (Contributed by NM, 9-Mar-1995.)
       (Revised by Mario Carneiro, 15-Oct-2016.) (Revised by Scott Fenton,
       16-Apr-2021.) $)
    dffun6f $p |- ( Fun A <-> A. x E* y x A y ) $=
      ( vw vv vu wfun cv wbr weq wi wal wex wmo nfcv nfbr nfv albii breq2 cbvmo
      dffun3 mo2 nfmo breq1 mobidv cbval 3bitr3ri bitr4i ) CIFJZGJZCKZGHLMGNHOZ
      FNZAJZBJZCKZBPZANZFGHCUCUMGPZFNUKUQCKZBPZFNUOUTVAVCFUMVBGBBUKULCBUKQEBULQ
      RVBGSULUQUKCUAUBTVAUNFUMGHUMHSUDTVCUSFAVBABAUKUQCAUKQDAUQQRUEUSFSFALVBURB
      UKUPUQCUFUGUHUIUJ $.
  $}

  ${
    $d x y A $.  $d x y F $.
    $( Alternate definition of a function using "at most one" notation.
       (Contributed by NM, 9-Mar-1995.) (Revised by Scott Fenton,
       16-Apr-2021.) $)
    dffun6 $p |- ( Fun F <-> A. x E* y x F y ) $=
      ( nfcv dffun6f ) ABCACDBCDE $.

    $( A function has at most one value for each argument.  (Contributed by NM,
       24-May-1998.) $)
    funmo $p |- ( Fun F -> E* y A F y ) $=
      ( vx cv wbr cvv wcel wa wi wal wfun wmo brreldmex ancri ax-gen wceq breq1
      mobidv spcgv com12 dffun6 moanimv 3imtr4i moim mpsyl ) BAEZCFZBGHZUHIZJZA
      KCLZUJAMZUHAMZUKAUHUIBUGCNOPDEZUGCFZAMZDKZUIUNJULUMUIURUNUQUNDBGUOBQUPUHA
      UOBUGCRSTUADACUBUIUHAUCUDUHUJAUEUF $.
  $}

  $( Subclass theorem for function predicate.  (The proof was shortened by
     Mario Carneiro, 24-Jun-2014.)  (Contributed by set.mm contributors,
     16-Aug-1994.)  (Revised by set.mm contributors, 24-Jun-2014.) $)
  funss $p |- ( A C_ B -> ( Fun B -> Fun A ) ) $=
    ( wss ccnv ccom cid wfun coss1 cnvss coss2 syl sstrd sstr2 df-fun 3imtr4g
    wi ) ABCZBBDZEZFCZAADZEZFCZBGAGQUBSCTUCPQUBBUAEZSABUAHQUARCUDSCABIUARBJKLUB
    SFMKBNANO $.

  $( Equality theorem for function predicate.  (Contributed by set.mm
     contributors, 16-Aug-1994.) $)
  funeq $p |- ( A = B -> ( Fun A <-> Fun B ) ) $=
    ( wss wa wfun wi wceq wb funss anim12i ancoms eqss dfbi2 3imtr4i ) ABCZBACZ
    DAEZBEZFZRQFZDZABGQRHPOUAPSOTBAIABIJKABLQRMN $.

  ${
    funeqi.1 $e |- A = B $.
    $( Equality inference for the function predicate.  (Contributed by Jonathan
       Ben-Naim, 3-Jun-2011.) $)
    funeqi $p |- ( Fun A <-> Fun B ) $=
      ( wceq wfun wb funeq ax-mp ) ABDAEBEFCABGH $.
  $}

  ${
    funeqd.1 $e |- ( ph -> A = B ) $.
    $( Equality deduction for the function predicate.  (Contributed by set.mm
       contributors, 23-Feb-2013.) $)
    funeqd $p |- ( ph -> ( Fun A <-> Fun B ) ) $=
      ( wceq wfun wb funeq syl ) ABCEBFCFGDBCHI $.
  $}

  ${
    nffun.1 $e |- F/_ x F $.
    $( Bound-variable hypothesis builder for a function.  (Contributed by NM,
       30-Jan-2004.) $)
    nffun $p |- F/ x Fun F $=
      ( wfun ccnv ccom cid wss df-fun nfcnv nfco nfcv nfss nfxfr ) BDBBEZFZGHAB
      IAPGABOCABCJKAGLMN $.
  $}

  ${
    $d y A $.  $d y F $.
    $( There is exactly one value of a function.  (Contributed by NM,
       22-Apr-2004.)  (Proof shortened by Andrew Salmon, 17-Sep-2011.) $)
    funeu $p |- ( ( Fun F /\ A F B ) -> E! y A F y ) $=
      ( wfun wbr wa cv wex wmo weu cdm wcel breldm eldm sylib adantl adantr jca
      funmo eu5 sylibr ) DEZBCDFZGZBAHDFZAIZUFAJZGUFAKUEUGUHUDUGUCUDBDLMUGBCDNA
      BDOPQUCUHUDABDTRSUFAUAUB $.

    $( There is exactly one value of a function.  (Contributed by NM,
       3-Aug-1994.) $)
    funeu2 $p |- ( ( Fun F /\ <. A , B >. e. F ) -> E! y <. A , y >. e. F ) $=
      ( cop wcel wfun wbr cv weu df-br wa funeu eubii sylib sylan2br ) BCEDFDGZ
      BCDHZBAIZEDFZAJZBCDKQRLBSDHZAJUAABCDMUBTABSDKNOP $.
  $}

  ${
    $d x y A $.
    $( Alternate definition of a function.  One possibility for the definition
       of a function in [Enderton] p. 42.  (Enderton's definition is ambiguous
       because "there is only one" could mean either "there is at most one" or
       "there is exactly one."  However, ~ dffun8 shows that it doesn't matter
       which meaning we pick.)  (Contributed by set.mm contributors,
       4-Nov-2002.) (Revised by Scott Fenton, 16-Apr-2021.) $)
    dffun7 $p |- ( Fun A <-> A. x e. dom A E* y x A y ) $=
      ( cv wbr wmo wal cdm wcel wi wfun wral wex moabs eldm imbi1i bitr4i albii
      dffun6 df-ral 3bitr4i ) ADZBDCEZBFZAGUBCHZIZUDJZAGCKUDAUELUDUGAUDUCBMZUDJ
      UGUCBNUFUHUDBUBCOPQRABCSUDAUETUA $.

    $( Alternate definition of a function.  One possibility for the definition
       of a function in [Enderton] p. 42.  Compare ~ dffun7 .  (The proof was
       shortened by Andrew Salmon, 17-Sep-2011.)  (Contributed by set.mm
       contributors, 4-Nov-2002.)  (Revised by set.mm contributors,
       18-Sep-2011.) (Revised by Scott Fenton, 16-Apr-2021.) $)
    dffun8 $p |- ( Fun A <-> A. x e. dom A E! y x A y ) $=
      ( wfun cv wbr wmo cdm wral weu dffun7 wcel wex eldm exmoeu2 sylbi ralbiia
      wb bitri ) CDAEZBECFZBGZACHZIUABJZAUCIABCKUBUDAUCTUCLUABMUBUDRBTCNUABOPQS
      $.

    $( Alternate definition of a function.  (Contributed by set.mm
       contributors, 28-Mar-2007.) (Revised by Scott Fenton, 16-Apr-2021.) $)
    dffun9 $p |- ( Fun A <-> A. x e. dom A E* y ( y e. ran A /\ x A y ) ) $=
      ( wfun cv wbr wmo cdm wral crn wcel wa dffun7 brelrn pm4.71ri mobii bitri
      ralbii ) CDAEZBEZCFZBGZACHZITCJKZUALZBGZAUCIABCMUBUFAUCUAUEBUAUDSTCNOPRQ
      $.
  $}

  $( An equivalence for the function predicate.  (Contributed by set.mm
     contributors, 13-Aug-2004.) $)
  funfn $p |- ( Fun A <-> A Fn dom A ) $=
    ( wfun cdm wceq wa wfn eqid biantru df-fn bitr4i ) ABZKACZLDZEALFMKLGHALIJ
    $.

  $( The identity relation is a function.  Part of Theorem 10.4 of [Quine]
     p. 65.  (Contributed by set.mm contributors, 30-Apr-1998.) $)
  funi $p |- Fun _I $=
    ( cid wfun ccnv ccom wss cnvi coeq2i coi1 eqtri eqimssi df-fun mpbir ) ABAA
    CZDZAENANAADAMAAFGAHIJAKL $.

  ${
    $d x y z $.
    $( The universe is not a function.  (Contributed by Raph Levien,
       27-Jan-2004.) $)
    nfunv $p |- -. Fun _V $=
      ( vx vy vz cvv wfun cv cop wcel wa weq wal wex wne vex pm3.2i exbii exnal
      wn opex bitri ccompl complex necompl necomi wceq opeq2 eleq1d df-ne neeq2
      anbi2d syl5bbr anbi12d spcev 19.8a 19.23bi mp2b exanali mpbi dffun4 mtbir
      wi ) DEAFZBFZGDHZVBCFZGZDHZIZBCJZVACKZBKZAKZVHVIRZIZCLZBLZALZVLRZVDVBVCUA
      ZGZDHZIZVCVSMZIZVOVQWBWCVDWAVBVCANZBNZSVBVSWEVCWFUBZSOVSVCVCUCUDOVNWDCVSW
      GVEVSUEZVHWBVMWCWHVGWAVDWHVFVTDVEVSVBUFUGUJVMVCVEMWHWCVCVEUHVEVSVCUIUKULU
      MVOVQBVPAUNUOUPVQVKRZALVRVPWIAVPVJRZBLWIVOWJBVHVICUQPVJBQTPVKAQTURABCDUSU
      T $.
  $}

  ${
    $d x y $.
    $( A class of ordered pairs is a function when there is at most one second
       member for each pair.  (Contributed by NM, 16-May-1995.) $)
    funopab $p |- ( Fun { <. x , y >. | ph } <-> A. x E* y ph ) $=
      ( copab wfun cv wbr wmo wal nfopab1 nfopab2 dffun6f cop wcel df-br opabid
      bitri mobii albii ) ABCDZEBFZCFZTGZCHZBIACHZBIBCTABCJABCKLUDUEBUCACUCUAUB
      MTNAUAUBTOABCPQRSQ $.
  $}

  ${
    $d x y $.  $d y A $.
    $( A class of ordered pairs of values is a function.  (Contributed by
       set.mm contributors, 14-Nov-1995.) $)
    funopabeq $p |- Fun { <. x , y >. | y = A } $=
      ( cv wceq copab wfun wmo funopab moeq mpgbir ) BDCEZABFGLBHALABIBCJK $.

    $( A class of ordered pairs of values in the form used by ~ fvopab4 is a
       function.  (Contributed by set.mm contributors, 17-Feb-2013.) $)
    funopab4 $p |- Fun { <. x , y >. | ( ph /\ y = A ) } $=
      ( cv wceq wa copab wss wfun simpr ssopab2i funopabeq funss mp2 ) ACEDFZGZ
      BCHZPBCHZISJRJQPBCAPKLBCDMRSNO $.
  $}

  ${
    $d x y z F $.  $d x y z G $.
    $( The composition of two functions is a function.  Exercise 29 of
       [TakeutiZaring] p. 25.  (Contributed by NM, 26-Jan-1997.)  (Proof
       shortened by Andrew Salmon, 17-Sep-2011.) $)
    funco $p |- ( ( Fun F /\ Fun G ) -> Fun ( F o. G ) ) $=
      ( vx vz vy wfun wa cv wbr wex copab wmo wal funmo alrimiv moexexv syl2anr
      ccom funopab sylibr df-co funeqi ) AFZBFZGZCHZDHZBIZUGEHAIZGDJZCEKZFZABRZ
      FUEUJELZCMULUEUNCUDUHDLUIELZDMUNUCDUFBNUCUODEUGANOUHUIDEPQOUJCESTUMUKCEDA
      BUAUBT $.
  $}

  $( A restriction of a function is a function.  Compare Exercise 18 of
     [TakeutiZaring] p. 25.  (Contributed by set.mm contributors,
     16-Aug-1994.) $)
  funres $p |- ( Fun F -> Fun ( F |` A ) ) $=
    ( cres wss wfun wi resss funss ax-mp ) BACZBDBEJEFBAGJBHI $.

  ${
    $d x y F $.  $d x y G $.
    $( The restriction of a function to the domain of a subclass equals the
       subclass.  (Contributed by NM, 15-Aug-1994.) $)
    funssres $p |- ( ( Fun F /\ G C_ F ) -> ( F |` dom G ) = G ) $=
      ( vx vy wfun wss wa cdm cres cop wcel ssel adantl opeldm a1i jcad wex imp
      cv wi weu funeu2 eldm2 ancrd eximdv syl5bi eupick exp43 com23 com34 imp3a
      syl2an pm2.43d impbid opelres syl6rbbr eqrelrdv ) AEZBAFZGZCDABHZIZBUTCSZ
      DSZJZBKZVEAKZVCVAKZGZVEVBKUTVFVIUTVFVGVHUSVFVGTURBAVELZMVFVHTUTVCVDBNOPUT
      VGVHVFUTVGVHVFTUTVGVHVGVFURUSVGVHVGVFTZTZTURVGUSVLURVGUSVHVKURVGGVGDUAVGV
      FGZDQZVKUSVHGDVCVDAUBUSVHVNVHVFDQUSVNDVCBUCUSVFVMDUSVFVGVJUDUEUFRVGVFDUGU
      LUHUIRUJUMUKUNVCVDAVAUOUPUQ $.
  $}

  $( Equality of restrictions of a function and a subclass.  (Contributed by
     set.mm contributors, 16-Aug-1994.)  (Revised by set.mm contributors,
     2-Jun-2007.) $)
  fun2ssres $p |- ( ( Fun F /\ G C_ F /\ A C_ dom G ) ->
                  ( F |` A ) = ( G |` A ) ) $=
    ( wfun wss cdm cres wceq wa resabs1 eqcomd funssres reseq1d sylan9eqr 3impa
    ) BDZCBEZACFZEZBAGZCAGZHSPQIZTBRGZAGZUASUDTBARJKUBUCCABCLMNO $.

  ${
    $d x y z F $.  $d x y z G $.
    $( The union of functions with disjoint domains is a function.  Theorem 4.6
       of [Monk1] p. 43.  (Contributed by set.mm contributors, 12-Aug-1994.) $)
    funun $p |- ( ( ( Fun F /\ Fun G ) /\ ( dom F i^i dom G ) = (/) ) ->
                Fun ( F u. G ) ) $=
      ( vx vy vz wfun wa cdm cin c0 wceq cv cop wcel wi wal wo wn opeldm dffun4
      cun weq elun anbi12i anddi bitri disj1 imnan bicomi 3imtr4i anim12i orel2
      sp nsyl incom eqeq1i orel1 orim12d syl5bi biimpi 19.21bi 19.21bbi sylan9r
      syl jaao alrimiv alrimivv sylibr ) AFZBFZGZAHZBHZIZJKZGZCLZDLZMZABUAZNZVQ
      ELZMZVTNZGZDEUBZOZEPZDPCPVTFVPWHCDVPWGEVOWEVSANZWCANZGZVSBNZWCBNZGZQZVKWF
      WEWKWIWMGZQZWLWJGZWNQZQZVOWOWEWIWLQZWJWMQZGWTWAXAWDXBVSABUCWCABUCUDWIWLWJ
      WMUEUFVOWQWKWSWNVOWPRWQWKOVOVQVLNZVQVMNZGZWPXCXDROZCPXFVOXERZXFCUMCVLVMUG
      XFXGXCXDUHUIUJWIXCWMXDVQVRASVQWBBSUKUNWPWKULVDVOWRRWSWNOVOXDXCGZWRXDXCROZ
      CPZXIVOXHRZXICUMVOVMVLIZJKXJVNXLJVLVMUOUPCVMVLUGUFXIXKXDXCUHUIUJWLXDWJXCV
      QVRBSVQWBASUKUNWRWNUQVDURUSVIWKWFVJWNVIWKWFOZDEVIXMEPDPZCVIXNCPCDEATUTVAV
      BVJWNWFOZDEVJXOEPDPZCVJXPCPCDEBTUTVAVBVEVCVFVGCDEVTTVH $.
  $}

 ${
    $d A x y $.  $d B x y $.
    $( A singleton of an ordered pair is a function.  Theorem 10.5 of [Quine]
       p. 65.  (Contributed by NM, 12-Aug-1994.) (Revised by Scott Fenton,
       16-Apr-2021.) $)
    funsn $p |- Fun { <. A , B >. } $=
      ( vx vy cop csn wfun cv wbr wmo dffun6 wceq wi moeq a1i wa wcel df-br vex
      bitri opex elsnc opth mobii moanimv mpbir mpgbir ) ABEZFZGCHZDHZUIIZDJZCC
      DUIKUMUJALZUKBLZDJZMZUPUNDBNOUMUNUOPZDJUQULURDULUJUKEZUIQZURUJUKUIRUTUSUH
      LURUSUHUJUKCSDSUAUBUJUKABUCTTUDUNUODUETUFUG $.
  $}

  $( A singleton of an ordered pair is a function.  Theorem 10.5 of [Quine]
     p. 65.  (Contributed by set.mm contributors, 28-Jun-2011.)  (Revised by
     set.mm contributors, 1-Oct-2013.) $)
  funsngOLD $p |- ( ( A e. V /\ B e. W ) -> Fun { <. A , B >. } ) $=
    ( cop csn wfun wcel wa funsn a1i ) ABEFGACHBDHIABJK $.


  $( A set of two pairs is a function if their first members are different.
     (Contributed by FL, 26-Jun-2011.) (Revised by Scott Fenton,
       16-Apr-2021.) $)
  funprg $p |- ( ( A =/= B /\ C e. V /\ D e. W )
     -> Fun { <. A , C >. , <. B , D >. } ) $=
    ( wne wcel w3a cop csn cun wfun cpr cdm cin c0 wceq dmsnopg funsn eqtrd syl
    3ad2ant2 3ad2ant3 ineq12d disjsn2 3ad2ant1 funun mpanl12 funeqi sylibr
    df-pr ) ABGZCEHZDFHZIZACJZKZBDJZKZLZMZUQUSNZMUPUROZUTOZPZQRZVBUPVFAKZBKZPZQ
    UPVDVHVEVIUNUMVDVHRUOACESUCUOUMVEVIRUNBDFSUDUEUMUNVJQRUOABUFUGUAURMUTMVGVBA
    CTBDTURUTUHUIUBVCVAUQUSULUJUK $.


  $( A set of two pairs is a function if their first members are different.
     (Contributed by FL, 26-Jun-2011.) $)
  funprgOLD $p |- ( ( A =/= B /\ ( A e. V /\ B e. W ) /\ ( C e. T /\ D e. U ) )
     -> Fun { <. A , C >. , <. B , D >. } ) $=
    ( wcel wa cop csn wfun cdm cin c0 wceq funsngOLD syl2anc dmsnopg simp2l simp3l
    wne w3a cun cpr simp2r simp3r ineq12d disjsn2 3ad2ant1 eqtrd funun syl21anc
    syl df-pr funeqi sylibr ) ABUCZAGIZBHIZJZCEIZDFIZJZUDZACKZLZBDKZLZUEZMZVGVI
    UFZMVFVHMZVJMZVHNZVJNZOZPQVLVFUTVCVNUSUTVAVEUAUSVBVCVDUBZACGERSVFVAVDVOUSUT
    VAVEUGUSVBVCVDUHZBDHFRSVFVRALZBLZOZPVFVPWAVQWBVFVCVPWAQVSACETUOVFVDVQWBQVTB
    DFTUOUIUSVBWCPQVEABUJUKULVHVJUMUNVMVKVGVIUPUQUR $.

  ${
    funpr.1 $e |- C e. _V $.
    funpr.2 $e |- D e. _V $.
    $( A function with a domain of two elements.  (Contributed by Jeff Madsen,
       20-Jun-2010.) $)
    funpr $p |- ( A =/= B -> Fun { <. A , C >. , <. B , D >. } ) $=
      ( wne cvv wcel cop cpr wfun funprg mp3an23 ) ABGCHIDHIACJBDJKLEFABCDHHMN
      $.
  $}

  ${
    fnsn.1 $e |- A e. _V $.
    fnsn.2 $e |- B e. _V $.
    $( Functionality and domain of the singleton of an ordered pair.
       (Contributed by Jonathan Ben-Naim, 3-Jun-2011.) $)
    fnsn $p |- { <. A , B >. } Fn { A } $=
      ( cop csn wfn wfun cdm wceq funsn dmsnop df-fn mpbir2an ) ABEFZAFZGOHOIPJ
      ABKABDLOPMN $.
  $}

  $( Domain of a function with a domain of two different values.  (Contributed
     by FL, 26-Jun-2011.) $)
  fnprg $p |- ( ( A =/= B /\ ( A e. V /\ B e. W ) /\ ( C e. T /\ D e. U ) )
       -> { <. A , C >. , <. B , D >. } Fn { A , B } ) $=
    ( wne wcel wa w3a cop cpr wfun cdm wceq wfn funprgOLD dmpropg 3ad2ant3
    df-fn sylanbrc ) ABIZAGJBHJKZCEJDFJKZLACMBDMNZOUGPABNZQZUGUHRABCDEFGHSUFUDU
    IUEACBDEFTUAUGUHUBUC $.

  $( The empty set is a function.  Theorem 10.3 of [Quine] p. 65.  (Contributed
     by set.mm contributors, 7-Apr-1998.) $)
  fun0 $p |- Fun (/) $=
    ( c0 wfun ccnv ccom cid wss co01 0ss eqsstri df-fun mpbir ) ABAACZDZEFMAELG
    EHIAJK $.

  ${
    $d f g x y z w v A $.  $d x y B $.  $d x y R $.
    $( A simpler equivalence for single-rooted (see ~ funcnv ).  (Contributed
       by set.mm contributors, 9-Aug-2004.) $)
    funcnv2 $p |- ( Fun `' A <-> A. y E* x x A y ) $=
      ( ccnv wfun cv wbr wmo wal dffun6 brcnv mobii albii bitri ) CDZEBFZAFZOGZ
      AHZBIQPCGZAHZBIBAOJSUABRTAPQCKLMN $.

    $( The converse of a class is a function iff the class is single-rooted,
       which means that for any ` y ` in the range of ` A ` there is at most
       one ` x ` such that ` x A y ` .  Definition of single-rooted in
       [Enderton] p. 43.  See ~ funcnv2 for a simpler version.  (Contributed by
       set.mm contributors, 13-Aug-2004.) $)
    funcnv $p |- ( Fun `' A <-> A. y e. ran A E* x x A y ) $=
      ( cv wbr wmo wal crn wcel wi ccnv wfun wral brelrn pm4.71ri mobii moanimv
      wa bitri albii funcnv2 df-ral 3bitr4i ) ADZBDZCEZAFZBGUECHZIZUGJZBGCKLUGB
      UHMUGUJBUGUIUFRZAFUJUFUKAUFUIUDUECNOPUIUFAQSTABCUAUGBUHUBUC $.

    $( A condition showing a class is single-rooted.  (See ~ funcnv ).
       (Contributed by set.mm contributors, 26-May-2006.) $)
    funcnv3 $p |- ( Fun `' A <-> A. y e. ran A E! x e. dom A x A y ) $=
      ( cv wbr wmo crn wral wex wa ccnv wfun wreu wcel biimpi biantrurd ralbiia
      cdm elrn weu funcnv df-reu breldm pm4.71ri eubii 3bitr2i ralbii 3bitr4i
      eu5 ) ADZBDZCEZAFZBCGZHULAIZUMJZBUNHCKLULACRZMZBUNHUMUPBUNUKUNNZUOUMUSUOA
      UKCSOPQABCUAURUPBUNURUJUQNZULJZATULATUPULAUQUBULVAAULUTUJUKCUCUDUEULAUIUF
      UGUH $.

    $( Single-rootedness (see ~ funcnv ) of a class cut down by a cross
       product.  (Contributed by NM, 5-Mar-2007.) $)
    fncnv $p |- ( `' ( R i^i ( A X. B ) ) Fn B <->
                  A. y e. B E! x e. A x R y ) $=
      ( cxp cin ccnv wceq wa cv wbr wral anbi2i wmo wcel wi ancom bitri 3bitr4i
      wfn wfun cdm wreu df-fn dfrn4 eqeq1i wrex wrmo rninxp anbi1i funcnv raleq
      biimt moanimv brin brxp anass mobii df-rmo imbi2i syl6rbbr ralbiia syl6bb
      crn syl5bb pm5.32i r19.26 reu5 ralbii 3bitr2i ) ECDFZGZHZDUAVNUBZVNUCZDIZ
      JVOVMVEZDIZJZAKZBKZELZACUDZBDMZVNDUEVSVQVOVRVPDVMUFUGNVSVOJZWCACUHZWCACUI
      ZJZBDMZVTWEVSWHBDMZJWGBDMZWKJWFWJVSWLWKABCDEUJUKVSVOWKVOWAWBVMLZAOZBVRMZV
      SWKABVMULVSWOWNBDMWKWNBVRDUMWNWHBDWBDPZWHWPWHQZWNWPWHUNWPWACPZWCJZJZAOWPW
      SAOZQWNWQWPWSAUOWMWTAWMWCWAWBVLLZJZWTWAWBEVLUPXCWPWRJZWCJZWTXCWCXDJXEXBXD
      WCXBWRWPJXDWAWBCDUQWRWPRSNWCXDRSWPWRWCURSSUSWHXAWPWCACUTVATVBVCVDVFVGWGWH
      BDVHTVOVSRWDWIBDWCACVIVJTVK $.

    $( Two ways of stating that ` A ` is one-to-one.
       Each side is equivalent to Definition 6.4(3) of
       [TakeutiZaring] p. 24, who use the notation "Un_2 (A)" for one-to-one.
       (Contributed by NM, 17-Jan-2006.) (Revised by Scott Fenton,
       18-Apr-2021.) $)
    fun11 $p |- ( ( Fun A /\ Fun `' A ) <->
         A. x A. y A. z A. w ( ( x A y /\ z A w ) -> ( x = z <-> y = w ) ) ) $=
      ( cv wbr wa weq wi wal wfun bi2.04 anbi12i 2albii 19.26-2 alcom nfv albii
      anbi1d wb ccnv dfbi2 imbi2i pm4.76 breq1 imbi1d equsal bitri breq2 3bitri
      3bitr2i bitr2i dffun2 brcnv imbi1i alrot3 3bitr4i alrot4 ) CFZBFZEGZUTDFZ
      EGZHZBDIZJZBKZDKZCKZAFZVCEGZVDHZACIZJZAKZDKCKZHZVKVAEGZVDHZVNVFUAZJZBKAKZ
      DKCKZELZEUBZLZHWBDKCKBKAKWDVHVPHZDKCKVRWCWHCDWCVNVTVFJZJZVFVTVNJZJZHZBKAK
      WJBKAKZWLBKZAKZHWHWBWMABWBVTVNVFJZVFVNJZHZJVTWQJZVTWRJZHWMWAWSVTVNVFUCUDV
      TWQWRUEWTWJXAWLVTVNVFMVTVFVNMNULOWJWLABPWNVHWPVPWNWJAKZBKVHWJABQXBVGBWIVG
      ACVGARVNVTVEVFVNVSVBVDVKUTVAEUFTUGUHSUIWOVOAWKVOBDVOBRVFVTVMVNVFVSVLVDVAV
      CVKEUJTUGUHSNUKOVHVPCDPUMWEVJWGVQWEVGDKBKZCKVJCBDEUNXCVICVGBDQSUIVCVKWFGZ
      VCUTWFGZHZVNJZCKZAKDKVOCKZAKDKWGVQXHXIDAXGVOCXFVMVNXDVLXEVDVCVKEUOVCUTEUO
      NUPSODACWFUNVOCDAUQURNWBABCDUSUR $.

    $( The union of a chain (with respect to inclusion) of functions is a
       function.  (Contributed by set.mm contributors, 10-Aug-2004.) $)
    fununi $p |- ( A. f e. A ( Fun f /\ A. g e. A ( f C_ g \/ g C_ f ) ) ->
                 Fun U. A ) $=
      ( vx vy vz vw vv cv wfun wss wo wral wa wcel weq wi wal sps wex cuni ssel
      cop r19.28av ralimi anim1d dffun4 sp sylbi syl9r adantl anim2d adantr imp
      jaod funeq sseq1 sseq2 orbi12d anbi12d anbi2d cbvral2v ralcom orcom bitri
      syl5bb anbi12i anidm anandir 2ralbii bitr2i 3bitr3i eluni eeanv an4 ancom
      r19.26-2 2exbii 3bitr2i imbi1i 19.23v albii impexp 2albii bitr4i 3bitr3ri
      r2al 3imtr4i alrimiv alrimivv syl sylibr ) BIZJZWMCIZKZWOWMKZLZCAMNZBAMZD
      IZEIUCZAUAZOZXAFIUCZXCOZNZEFPZQZFRZERDRZXCJWTWNWRNZCAMZBAMZXKWSXMBAWNWRCA
      UDUEXNXJDEXNXIFGIZJZHIZJZNZXOXQKZXQXOKZLZNZHAMZGAMZXBXOOZXEXQOZNZXHQZHAMZ
      GAMZXNXIYDYJGAYCYIHAXSYBYIXSXTYIYAXRXTYIQXPXTYHXBXQOZYGNZXRXHXTYFYLYGXOXQ
      XBUBUFXRYMXHQZFRZERZDRYNDEFXQUGYPYNDYOYNEYNFUHSSUIUJUKXPYAYIQXRYAYHYFXEXO
      OZNZXPXHYAYGYQYFXQXOXEUBULXPYRXHQZFRZERZDRYSDEFXOUGUUAYSDYTYSEYSFUHSSUIUJ
      UMUOUNUEUEXNXNNXPYBNZHAMGAMZXRYBNZHAMGAMZNZXNYEXNUUCXNUUEXLUUBXPXOWOKZWOX
      OKZLZNBCGHAABGPZWNXPWRUUIWMXOUPUUJWPUUGWQUUHWMXOWOUQWMXOWOURUSUTCHPZUUIYB
      XPUUKUUGXTUUHYAWOXQXOURWOXQXOUQUSVAVBXNXLBAMCAMUUEXLBCAAVCXLUUDWNXOWMKZWM
      XOKZLZNCBGHAACGPZWRUUNWNWRWQWPLUUOUUNWPWQVDUUOWQUULWPUUMWOXOWMUQWOXOWMURU
      SVFVABHPZWNXRUUNYBWMXQUPUUPUULXTUUMYAWMXQXOURWMXQXOUQUSUTVBVEVGXNVHYEUUBU
      UDNZHAMGAMUUFYCUUQGHAAXPXRYBVIVJUUBUUDGHAAVQVKVLXIXOAOZXQAOZNZYHNZHTZGTZX
      HQZYKXGUVCXHXGYFUURNZGTZYGUUSNZHTZNUVEUVGNZHTGTUVCXDUVFXFUVHGXBAVMHXEAVMV
      GUVEUVGGHVNUVIUVAGHUVIYHUUTNUVAYFUURYGUUSVOYHUUTVPVEVRVSVTUVAXHQZHRZGRZUV
      BXHQZGRYKUVDUVKUVMGUVAXHHWAWBUVLUUTYIQZHRGRYKUVJUVNGHUUTYHXHWCWDYIGHAAWGW
      EUVBXHGWAWFVEWHWIWJWKDEFXCUGWL $.

    $( The union of a chain (with respect to inclusion) of single-rooted sets
       is single-rooted.  (See ~ funcnv for "single-rooted" definition.)
       (Contributed by set.mm contributors, 11-Aug-2004.) $)
    funcnvuni $p |- ( A. f e. A ( Fun `' f /\ A. g e. A ( f C_ g \/ g C_ f ) )
                    -> Fun `' U. A ) $=
      ( vy vx vz vw vv cv ccnv wfun wss wo wral wa wceq wrex wi wal wcel eqeq2d
      cuni cnveq cbvrexv funeqd sseq1 sseq2 orbi12d ralbidv anbi12d rspcv funeq
      biimprcd cnvss orim12i wb sseq12 ancoms syl5ibrcom exp3a syl6com rexlimdv
      cab com23 alrimdv anim12ii syl5bi alrimiv df-ral eqeq1 rexbidv elab ralab
      vex anbi2i imbi12i albii bitr2i sylib fununi syl ciun cnvuni cnvex dfiun2
      eqtri funeqi sylibr ) BIZJZKZWICIZLZWLWILZMZCANZOZBANZDIZEIZJZPZEAQZDVCZU
      BZKZAUBJZKWRFIZKZXHGIZLZXJXHLZMZGXDNZOZFXDNZXFWRXHXAPZEAQZXIXJXAPZEAQZXMR
      ZGSZOZRZFSZXPWRYDFXRXHHIZJZPZHAQWRYCXQYHEHAWTYFPXAYGXHWTYFUCUAUDWRYHYCHAY
      FATWRYGKZYFWLLZWLYFLZMZCANZOZYHYCRWQYNBYFAWIYFPZWKYIWPYMYOWJYGWIYFUCUEYOW
      OYLCAYOWMYJWNYKWIYFWLUFWIYFWLUGUHUIUJUKYIYHXIYMYBYHXIYIXHYGULUMYMYHYAGYMX
      TYHXMYMXSYHXMRZEAWTATYMYFWTLZWTYFLZMZXSYPRYLYSCWTAWLWTPYJYQYKYRWLWTYFUGWL
      WTYFUFUHUKYSXSYHXMYSXMXSYHOZYGXALZXAYGLZMYQUUAYRUUBYFWTUNWTYFUNUOYTXKUUAX
      LUUBYHXSXKUUAUPXHYGXJXAUQURXJXAXHYGUQUHUSUTVAVBVDVEVFVAVBVGVHXPXHXDTZXORZ
      FSYEXOFXDVIUUDYDFUUCXRXOYCXCXRDXHFVNWSXHPXBXQEAWSXHXAVJVKVLXNYBXIXCXTXMGD
      WSXJPXBXSEAWSXJXAVJVKVMVOVPVQVRVSXDFGVTWAXGXEXGEAXAWBXEEAWCEDAXAWTEVNWDWE
      WFWGWH $.

    $( The union of a chain (with respect to inclusion) of one-to-one functions
       is a one-to-one function.  (Contributed by set.mm contributors,
       11-Aug-2004.) $)
    fun11uni $p |- ( A. f e. A ( ( Fun f /\ Fun `' f ) /\
                   A. g e. A ( f C_ g \/ g C_ f ) ) ->
                   ( Fun U. A /\ Fun `' U. A ) ) $=
      ( cv wfun ccnv wa wo wral cuni simpl anim1i ralimi fununi simpr funcnvuni
      wss syl jca ) BDZEZTFEZGZTCDZQUDTQHCAIZGZBAIZAJZEZUHFEZUGUAUEGZBAIUIUFUKB
      AUCUAUEUAUBKLMABCNRUGUBUEGZBAIUJUFULBAUCUBUEUAUBOLMABCPRS $.
  $}

  $( The intersection with a function is a function.  Exercise 14(a) of
     [Enderton] p. 53.  (The proof was shortened by Andrew Salmon,
     17-Sep-2011.)  (Contributed by set.mm contributors, 19-Mar-2004.)
     (Revised by set.mm contributors, 18-Sep-2011.) $)
  funin $p |- ( Fun F -> Fun ( F i^i G ) ) $=
    ( cin wss wfun wi inss1 funss ax-mp ) ABCZADAEJEFABGJAHI $.

  $( The restriction of a one-to-one function is one-to-one.  (Contributed by
     set.mm contributors, 25-Mar-1998.) $)
  funres11 $p |- ( Fun `' F -> Fun `' ( F |` A ) ) $=
    ( cres wss ccnv wfun wi resss cnvss funss mp2b ) BACZBDLEZBEZDNFMFGBAHLBIMN
    JK $.

  $( The converse of a restricted function.  (Contributed by set.mm
     contributors, 27-Mar-1998.) $)
  funcnvres $p |- ( Fun `' F -> `' ( F |` A ) = ( `' F |` ( F " A ) ) ) $=
    ( ccnv wfun cima cres cdm dfima3 dfrn4 eqtri reseq2i wceq resss cnvss ax-mp
    crn wss funssres mpan2 syl5req ) BCZDZUABAEZFUABAFZCZGZFZUEUCUFUAUCUDPUFBAH
    UDIJKUBUEUAQZUGUELUDBQUHBAMUDBNOUAUERST $.

  $( Converse of a restricted identity function.  (Contributed by FL,
     4-Mar-2007.) $)
  cnvresid $p |- `' ( _I |` A ) = ( _I |` A ) $=
    ( cid ccnv wfun cres wceq cnvi eqcomi funi funeq mpbii ax-mp cima funcnvres
    imai reseq12i syl6eq ) BCZDZBAEZCZTFBRFZSRBGHUBBDSIBRJKLSUARBAMZETABNRBUCAG
    AOPQL $.

  $( The converse of a restriction of the converse of a function equals the
     function restricted to the image of its converse.  (Contributed by set.mm
     contributors, 4-May-2005.) $)
  funcnvres2 $p |- ( Fun F -> `' ( `' F |` A ) = ( F |` ( `' F " A ) ) ) $=
    ( wfun ccnv cres cima wceq cnvcnv funeqi funcnvres sylbir reseq1i syl6eq )
    BCZBDZAEDZODZOAFZEZBRENQCPSGQBBHZIAOJKQBRTLM $.

  $( The image of the preimage of a function.  (Contributed by set.mm
     contributors, 25-May-2004.) $)
  funimacnv $p |- ( Fun F -> ( F " ( `' F " A ) ) = ( A i^i ran F ) ) $=
    ( wfun ccnv cima cres crn cin funcnvres2 rneqd dfima3 syl6reqr dfrn4 ineq2i
    cdm dmres df-dm 3eqtr2ri syl6eq ) BCZBBDZAEZEZUAAFZDZGZABGZHZTUFBUBFZGUCTUE
    UIABIJBUBKLUHAUAOZHUDOUFUGUJABMNUAAPUDQRS $.

  $( A kind of contraposition law that infers a subclass of an image from a
     preimage subclass.  (Contributed by set.mm contributors, 25-May-2004.) $)
  funimass1 $p |- ( ( Fun F /\ A C_ ran F ) ->
                 ( ( `' F " A ) C_ B -> A C_ ( F " B ) ) ) $=
    ( ccnv cima wss wfun crn wa imass2 funimacnv wceq dfss biimpi eqcomd sseq1d
    cin sylan9eq syl5ib ) CDAEZBFCTEZCBEZFCGZACHZFZIZAUBFTBCJUFUAAUBUCUEUAAUDQZ
    AACKUEAUGUEAUGLAUDMNORPS $.

  $( A kind of contraposition law that infers an image subclass from a subclass
     of a preimage.  (Contributed by set.mm contributors, 25-May-2004.)
     (Revised by set.mm contributors, 4-May-2007.) $)
  funimass2 $p |- ( ( Fun F /\ A C_ ( `' F " B ) ) -> ( F " A ) C_ B ) $=
    ( ccnv cima wss wfun imass2 crn cin funimacnv sseq2d inss1 sstr2 mpi syl6bi
    imp sylan2 ) ACDBEZFCGZCAEZCSEZFZUABFZASCHTUCUDTUCUABCIZJZFZUDTUBUFUABCKLUG
    UFBFUDBUEMUAUFBNOPQR $.

  ${
    $d x y A $.  $d x y B $.  $d x y F $.
    $( The image of a difference is the difference of images.  (Contributed by
       NM, 24-May-1998.) $)
    imadif $p |- ( Fun `' F ->
                 ( F " ( A \ B ) ) = ( ( F " A ) \ ( F " B ) ) ) $=
      ( vy vx cdif cima cv wcel wn wa wbr wex exbii wi wmo sylib bitri elima2
      wo ccnv wfun anandir 19.40 sylbi nfe1 nfan funmo brcnv mobii mopick sylan
      wal nfv con2d imnan alrimi ex exancom 3imtr3g anim2d syl5 19.29r sylan2br
      alnex ianor anbi2i pm3.24 intnan anass mtbir biorfi 3bitr4i impbid1 eldif
      andi an32 anbi1i notbii anbi12i 3bitr4g eqrdv ) CUAZUBZDCABFZGZCAGZCBGZFZ
      WDEHZAIZWJBIZJZKZWJDHZCLZKZEMZWKWPKZEMZWLWPKZEMZJZKZWOWFIZWOWIIZWDWRXDWRW
      TWMWPKZEMZKZWDXDWRWSXGKZEMXIWQXJEWKWMWPUCNWSXGEUDUEWDXHXCWTWDWPWMKZEMZXAJ
      ZEUMZXHXCWDXLXNWDXLKZXMEWDXLEWDEUNXKEUFUGXOWLWPJZOXMXOWPWLWDWPEPZXLWPWMOW
      DWOWJWCLZEPXQEWOWCUHXRWPEWOWJCUIUJQWPWMEUKULUOWLWPUPQUQURWPWMEUSXAEVEZUTV
      AVBXDWSXMKZEMZWRXCWTXNYAXSWSXMEVCVDXTWQEWSWMXPTZKWSWMKZWSXPKZTZXTWQWSWMXP
      VPXMYBWSWLWPVFVGWQYCYEWKWMWPVQYDYCYDWKWPXPKZKYFWKWPVHVIWKWPXPVJVKVLRVMNQV
      NXEWJWEIZWPKZEMWREWOCWESYHWQEYGWNWPWJABVOVRNRXFWOWGIZWOWHIZJZKXDWOWGWHVOY
      IWTYKXCEWOCASYJXBEWOCBSVSVTRWAWB $.
  $}

  $( The image of an intersection is the intersection of images.  (Contributed
     by Paul Chapman, 11-Apr-2009.) $)
  imain $p |- ( Fun `' F ->
                ( F " ( A i^i B ) ) = ( ( F " A ) i^i ( F " B ) ) ) $=
    ( ccnv wfun cdif cima cin imadif difeq2d eqtrd dfin4 imaeq2i 3eqtr4g ) CDEZ
    CAABFZFZGZCAGZSCBGZFZFZCABHZGSTHORSCPGZFUBAPCIOUDUASABCIJKUCQCABLMSTLN $.

  $( Equality theorem for function predicate with domain.  (Contributed by
     set.mm contributors, 1-Aug-1994.) $)
  fneq1 $p |- ( F = G -> ( F Fn A <-> G Fn A ) ) $=
    ( wceq wfun cdm wa wfn funeq dmeq eqeq1d anbi12d df-fn 3bitr4g ) BCDZBEZBFZ
    ADZGCEZCFZADZGBAHCAHOPSRUABCIOQTABCJKLBAMCAMN $.

  $( Equality theorem for function predicate with domain.  (Contributed by
     set.mm contributors, 1-Aug-1994.) $)
  fneq2 $p |- ( A = B -> ( F Fn A <-> F Fn B ) ) $=
    ( wceq wfun cdm wa wfn eqeq2 anbi2d df-fn 3bitr4g ) ABDZCEZCFZADZGNOBDZGCAH
    CBHMPQNABOIJCAKCBKL $.

  ${
    fneq1d.1 $e |- ( ph -> F = G ) $.
    $( Equality deduction for function predicate with domain.  (Contributed by
       Paul Chapman, 22-Jun-2011.) $)
    fneq1d $p |- ( ph -> ( F Fn A <-> G Fn A ) ) $=
      ( wceq wfn wb fneq1 syl ) ACDFCBGDBGHEBCDIJ $.
  $}

  ${
    fneq2d.1 $e |- ( ph -> A = B ) $.
    $( Equality deduction for function predicate with domain.  (Contributed by
       Paul Chapman, 22-Jun-2011.) $)
    fneq2d $p |- ( ph -> ( F Fn A <-> F Fn B ) ) $=
      ( wceq wfn wb fneq2 syl ) ABCFDBGDCGHEBCDIJ $.
  $}

  ${
    fneq12d.1 $e |- ( ph -> F = G ) $.
    fneq12d.2 $e |- ( ph -> A = B ) $.
    $( Equality deduction for function predicate with domain.  (Contributed by
       set.mm contributors, 26-Jun-2011.) $)
    fneq12d $p |- ( ph -> ( F Fn A <-> G Fn B ) ) $=
      ( wfn fneq1d fneq2d bitrd ) ADBHEBHECHABDEFIABCEGJK $.
  $}

  ${
    fneq1i.1 $e |- F = G $.
    $( Equality inference for function predicate with domain.  (Contributed by
       Paul Chapman, 22-Jun-2011.) $)
    fneq1i $p |- ( F Fn A <-> G Fn A ) $=
      ( wceq wfn wb fneq1 ax-mp ) BCEBAFCAFGDABCHI $.
  $}

  ${
    fneq2i.1 $e |- A = B $.
    $( Equality inference for function predicate with domain.  (Contributed by
       set.mm contributors, 4-Sep-2011.) $)
    fneq2i $p |- ( F Fn A <-> F Fn B ) $=
      ( wceq wfn wb fneq2 ax-mp ) ABECAFCBFGDABCHI $.
  $}

  ${
    nffn.1 $e |- F/_ x F $.
    nffn.2 $e |- F/_ x A $.
    $( Bound-variable hypothesis builder for a function with domain.
       (Contributed by NM, 30-Jan-2004.) $)
    nffn $p |- F/ x F Fn A $=
      ( wfn wfun cdm wceq wa df-fn nffun nfdm nfeq nfan nfxfr ) CBFCGZCHZBIZJAC
      BKQSAACDLARBACDMENOP $.
  $}

  $( A function with domain is a function.  (Contributed by set.mm
     contributors, 1-Aug-1994.) $)
  fnfun $p |- ( F Fn A -> Fun F ) $=
    ( wfn wfun cdm wceq df-fn simplbi ) BACBDBEAFBAGH $.

  $( The domain of a function.  (Contributed by set.mm contributors,
     2-Aug-1994.) $)
  fndm $p |- ( F Fn A -> dom F = A ) $=
    ( wfn wfun cdm wceq df-fn simprbi ) BACBDBEAFBAGH $.

  ${
    funfni.1 $e |- ( ( Fun F /\ B e. dom F ) -> ph ) $.
    $( Inference to convert a function and domain antecedent.  (Contributed by
       set.mm contributors, 22-Apr-2004.) $)
    funfni $p |- ( ( F Fn A /\ B e. A ) -> ph ) $=
      ( wfn wcel wa wfun cdm fnfun adantr fndm eleq2d biimpar syl2anc ) DBFZCBG
      ZHDIZCDJZGZAQSRBDKLQUARQTBCBDMNOEP $.
  $}

  $( A function has a unique domain.  (Contributed by set.mm contributors,
     11-Aug-1994.) $)
  fndmu $p |- ( ( F Fn A /\ F Fn B ) -> A = B ) $=
    ( wfn cdm fndm sylan9req ) CADCBDACEBACFBCFG $.

  $( The first argument of binary relation on a function belongs to the
     function's domain.  (Contributed by set.mm contributors, 7-May-2004.) $)
  fnbr $p |- ( ( F Fn A /\ B F C ) -> B e. A ) $=
    ( wfn cdm wceq wbr wcel fndm wa breldm adantl simpl eleqtrd sylan ) DAEDFZA
    GZBCDHZBAIADJRSKBQASBQIRBCDLMRSNOP $.

  $( The first argument of an ordered pair in a function belongs to the
     function's domain.  (Contributed by set.mm contributors, 8-Aug-1994.)
     (Revised by set.mm contributors, 25-Mar-2007.) $)
  fnop $p |- ( ( F Fn A /\ <. B , C >. e. F ) -> B e. A ) $=
    ( cop wcel wfn wbr df-br fnbr sylan2br ) BCEDFDAGBCDHBAFBCDIABCDJK $.

  ${
    $d x y F $.  $d x y B $.  $d x A $.
    $( There is exactly one value of a function.  (The proof was shortened by
       Andrew Salmon, 17-Sep-2011.)  (Contributed by set.mm contributors,
       22-Apr-2004.)  (Revised by set.mm contributors, 18-Sep-2011.) $)
    fneu $p |- ( ( F Fn A /\ B e. A ) -> E! y B F y ) $=
      ( vx cv wbr weu cdm wcel wfun wceq breq1 eubidv imbi2d wex eldm wmo funmo
      wi exmoeu2 syl5ib sylbi vtoclga impcom funfni ) CAFZDGZAHZBCDCDIZJDKZUIUK
      EFZUGDGZAHZTZUKUITECUJULCLZUNUIUKUPUMUHAULCUGDMNOULUJJUMAPZUOAULDQUKUMARU
      QUNAULDSUMAUAUBUCUDUEUF $.

    $( There is exactly one value of a function.  (Contributed by set.mm
       contributors, 7-Nov-1995.) $)
    fneu2 $p |- ( ( F Fn A /\ B e. A ) -> E! y <. B , y >. e. F ) $=
      ( wfn wcel wa cv wbr weu cop fneu df-br eubii sylib ) DBECBFGCAHZDIZAJCPK
      DFZAJABCDLQRACPDMNO $.
  $}

  $( The union of two functions with disjoint domains.  (Contributed by set.mm
     contributors, 22-Sep-2004.) $)
  fnun $p |- ( ( ( F Fn A /\ G Fn B ) /\ ( A i^i B ) = (/) ) ->
             ( F u. G ) Fn ( A u. B ) ) $=
    ( wfn wa cin c0 wceq cun wfun cdm wi df-fn ineq12 eqeq1d funun syl6bir dmun
    anbi2d uneq12 syl5eq jctird syl6ibr exp3a impcom an4s syl2anb imp ) CAEZDBE
    ZFABGZHIZCDJZABJZEZUJCKZCLZAIZFDKZDLZBIZFUMUPMZUKCANDBNUQUTUSVBVCUSVBFZUQUT
    FZVCVDVEUMUPVDVEUMFZUNKZUNLZUOIZFUPVDVFVGVIVDVFVEURVAGZHIZFVGVDVKUMVEVDVJUL
    HURAVABOPTCDQRVDVHURVAJUOCDSURAVABUAUBUCUNUONUDUEUFUGUHUI $.

  ${
    $d X x y $.  $d Y y $.
    fnunop.x $e |- ( ph -> X e. _V ) $.
    fnunop.y $e |- ( ph -> Y e. _V ) $.
    fnunop.f $e |- ( ph -> F Fn D ) $.
    fnunop.g $e |- G = ( F u. { <. X , Y >. } ) $.
    fnunop.e $e |- E = ( D u. { X } ) $.
    fnunop.d $e |- ( ph -> -. X e. D ) $.
    $( Extension of a function with a new ordered pair.  (Contributed by NM,
       28-Sep-2013.) $)
    fnunsn $p |- ( ph -> G Fn E ) $=
      ( vx vy cop csn wfn wceq cvv cun cin c0 wcel cv opeq1 sneqd fneq12d opeq2
      sneq fneq1d vex fnsn vtocl2g syl2anc disjsn sylibr syl21anc fneq1i fneq2i
      wn fnun bitri ) ADFGPZQZUAZBFQZUAZRZECRZADBRVEVGRZBVGUBUCSZVIJAFTUDGTUDVK
      HINUEZOUEZPZQZVMQZRFVNPZQZVGRVKNOFGTTVMFSZVQVGVPVSVTVOVRVMFVNUFUGVMFUJUHV
      NGSZVGVSVEWAVRVDVNGFUIUGUKVMVNNULOULUMUNUOAFBUDVAVLMBFUPUQBVGDVEVBURVJVFC
      RVICEVFKUSCVHVFLUTVCUQ $.
  $}

  $( Composition of two functions.  (Contributed by set.mm contributors,
     22-May-2006.) $)
  fnco $p |- ( ( F Fn A /\ G Fn B /\ ran G C_ A ) -> ( F o. G ) Fn B ) $=
    ( wfn crn wss w3a ccom wfun cdm wceq fnfun funco syl2an 3adant3 fndm sseq2d
    wa biimpar dmcosseq syl 3adant2 3ad2ant2 eqtrd df-fn sylanbrc ) CAEZDBEZDFZ
    AGZHZCDIZJZUMKZBLUMBEUHUIUNUKUHCJDJUNUIACMBDMCDNOPULUODKZBUHUKUOUPLZUIUHUKS
    UJCKZGZUQUHUSUKUHURAUJACQRTCDUAUBUCUIUHUPBLUKBDQUDUEUMBUFUG $.

  $( A function does not change when restricted to its domain.  (Contributed by
     set.mm contributors, 5-Sep-2004.) $)
  fnresdm $p |- ( F Fn A -> ( F |` A ) = F ) $=
    ( wfn cdm wceq wss cres fndm eqimss ssreseq 3syl ) BACBDZAELAFBAGBEABHLAIBA
    JK $.

  $( A function restricted to a class disjoint with its domain is empty.
     (Contributed by set.mm contributors, 23-Sep-2004.) $)
  fnresdisj $p |- ( F Fn A -> ( ( A i^i B ) = (/) <-> ( F |` B ) = (/) ) ) $=
    ( cres c0 wceq cdm wfn dmeq0 dmres incom eqtri ineq1d syl5eq eqeq1d syl5rbb
    cin fndm ) CBDZEFSGZEFCAHZABQZEFSIUATUBEUATCGZBQZUBTBUCQUDCBJBUCKLUAUCABACR
    MNOP $.

  $( Membership in two functions restricted by each other's domain.
     (Contributed by set.mm contributors, 8-Aug-1994.) $)
  2elresin $p |- ( ( F Fn A /\ G Fn B ) ->
                 ( ( <. x , y >. e. F /\ <. x , z >. e. G ) <->
                   ( <. x , y >. e. ( F |` ( A i^i B ) ) /\
                     <. x , z >. e. ( G |` ( A i^i B ) ) ) ) ) $=
    ( wfn wa cv cop wcel cin cres fnop anim12i opelres simplbi2com resss sseli
    wi an4 elin 3imtr4i anim12d syl ex pm2.43d impbid1 ) FDHZGEHZIZAJZBJZKZFLZU
    MCJZKZGLZIZUOFDEMZNZLZURGVANZLZIZULUTVFULUTUTVFUAZULUTIZUMVALZVGUJUPIZUKUSI
    ZIUMDLZUMELZIVHVIVJVLVKVMDUMUNFOEUMUQGOPUJUKUPUSUBUMDEUCUDVIUPVCUSVEVCUPVIU
    MUNFVAQRVEUSVIUMUQGVAQRUEUFUGUHVCUPVEUSVBFUOFVASTVDGURGVASTPUI $.

  $( Restriction of a function with a subclass of its domain.  (Contributed by
     set.mm contributors, 10-Oct-2007.) $)
  fnssresb $p |- ( F Fn A -> ( ( F |` B ) Fn B <-> B C_ A ) ) $=
    ( cres wfn wfun cdm wceq wa wss df-fn fnfun funres biantrurd ssdmres sseq2d
    syl fndm syl5bbr bitr3d syl5bb ) CBDZBEUBFZUBGBHZIZCAEZBAJZUBBKUFUDUEUGUFUC
    UDUFCFUCACLBCMQNUDBCGZJUFUGBCOUFUHABACRPSTUA $.

  $( Restriction of a function with a subclass of its domain.  (Contributed by
     set.mm contributors, 2-Aug-1994.)  (Revised by set.mm contributors,
     25-Sep-2004.) $)
  fnssres $p |- ( ( F Fn A /\ B C_ A ) -> ( F |` B ) Fn B ) $=
    ( wfn cres wss fnssresb biimpar ) CADCBEBDBAFABCGH $.

  $( Restriction of a function's domain with an intersection.  (Contributed by
     set.mm contributors, 9-Aug-1994.) $)
  fnresin1 $p |- ( F Fn A -> ( F |` ( A i^i B ) ) Fn ( A i^i B ) ) $=
    ( wfn cin wss cres inss1 fnssres mpan2 ) CADABEZAFCKGKDABHAKCIJ $.

  $( Restriction of a function's domain with an intersection.  (Contributed by
     set.mm contributors, 9-Aug-1994.) $)
  fnresin2 $p |- ( F Fn A -> ( F |` ( B i^i A ) ) Fn ( B i^i A ) ) $=
    ( wfn cin wss cres inss2 fnssres mpan2 ) CADBAEZAFCKGKDBAHAKCIJ $.

  ${
    $d x y A $.  $d x y F $.
    $( An equivalence for functionality of a restriction.  Compare ~ dffun8 .
       (Contributed by Mario Carneiro, 20-May-2015.) $)
    fnres $p |- ( ( F |` A ) Fn A <-> A. x e. A E! y x F y ) $=
      ( cres wfun cdm wceq wa wbr wex wmo wral ancom wal wcel bitri 3bitr4i wss
      cv wfn weu wi brres mobii moanimv albii dffun6 df-ral dmres inss1 eqsstri
      cin eqss mpbiran dfss3 elin2 baib eldm syl6bb ralbiia 3bitri r19.26 df-fn
      anbi12i eu5 ralbii ) DCEZFZVHGZCHZIZATZBTZDJZBKZVOBLZIZACMZVHCUAVOBUBZACM
      VQACMZVPACMZIWBWAIVLVSWAWBNVIWAVKWBVMVNVHJZBLZAOVMCPZVQUCZAOVIWAWDWFAWDWE
      VOIZBLWFWCWGBWCVOWEIWGVMVNDCUDVOWENQUEWEVOBUFQUGABVHUHVQACUIRVKCVJSZVMVJP
      ZACMWBVKVJCSWHVJCDGZUMCDCUJZCWJUKULVJCUNUOACVJUPWIVPACWEWIVMWJPZVPWIWEWLV
      MCWJVJWKUQURBVMDUSUTVAVBVEVPVQACVCRVHCVDVTVRACVOBVFVGR $.
  $}

  $( Functionality and domain of restricted identity.  (Contributed by set.mm
     contributors, 27-Aug-2004.) $)
  fnresi $p |- ( _I |` A ) Fn A $=
    ( cid cres wfn wfun cdm wceq funi funres ax-mp dmresi df-fn mpbir2an ) BACZ
    ADNEZNFAGBEOHABIJAKNALM $.

  $( The image of a function's domain is its range.  (The proof was shortened
     by Andrew Salmon, 17-Sep-2011.)  (Contributed by set.mm contributors,
     4-Nov-2004.)  (Revised by set.mm contributors, 18-Sep-2011.) $)
  fnima $p |- ( F Fn A -> ( F " A ) = ran F ) $=
    ( wfn cima cres crn dfima3 fnresdm rneqd syl5eq ) BACZBADBAEZFBFBAGKLBABHIJ
    $.

  $( A function with empty domain is empty.  (The proof was shortened by Andrew
     Salmon, 17-Sep-2011.)  (Contributed by set.mm contributors, 15-Apr-1998.)
     (Revised by set.mm contributors, 18-Sep-2011.) $)
  fn0 $p |- ( F Fn (/) <-> F = (/) ) $=
    ( wfn wceq cdm fndm dmeq0 sylibr wfun fun0 dm0 df-fn mpbir2an mpbiri impbii
    c0 fneq1 ) AOBZAOCZQADOCROAEAFGRQOOBZSOHODOCIJOOKLOAOPMN $.

  $( A class that is disjoint with the domain of a function has an empty image
     under the function.  (Contributed by FL, 24-Jan-2007.) $)
  fnimadisj $p |- ( ( F Fn A /\ ( A i^i C ) = (/) ) -> ( F " C ) = (/) ) $=
    ( wfn cin c0 wceq wa cdm cima fndm ineq1d eqeq1d biimpar imadisj sylibr ) C
    ADZABEZFGZHCIZBEZFGZCBJFGQUBSQUARFQTABACKLMNCBOP $.

  ${
    $d y z A $.  $d y z B $.  $d x y z $.
    iunfopab.1 $e |- B e. _V $.
    $( Two ways to express a function as a class of ordered pairs.  (The proof
       was shortened by Andrew Salmon, 17-Sep-2011.)  (Unnecessary distinct
       variable restrictions were removed by David Abernethy, 19-Sep-2011.)
       (Contributed by set.mm contributors, 19-Dec-2008.) $)
    iunfopab $p |- U_ x e. A { <. x , B >. }
                    = { <. x , y >. | ( x e. A /\ y = B ) } $=
      ( vz cv cop csn wcel wrex cab wceq wa wex ciun copab df-rex vex exbii
      elsnc anbi2i opeq2 eqeq2d anbi2d ceqsexv an13 3bitr2i bitri abbii df-opab
      df-iun 3eqtr4i ) FGZAGZDHZIZJZACKZFLUNUOBGZHZMZUOCJZUTDMZNZNZBOZAOZFLACUQ
      PVEABQUSVHFUSVCURNZAOVHURACRVIVGAVIVCUNUPMZNZVDVCVBNZNZBOVGURVJVCUNUPFSUA
      UBVLVKBDEVDVBVJVCVDVAUPUNUTDUOUCUDUEUFVMVFBVDVCVBUGTUHTUIUJAFCUQULVEABFUK
      UM $.
  $}

  ${
    $d x y A $.
    fnopabg.1 $e |- F = { <. x , y >. | ( x e. A /\ ph ) } $.
    $( Functionality and domain of an ordered-pair class abstraction.
       (Contributed by NM, 30-Jan-2004.)  (Proof shortened by Mario Carneiro,
       4-Dec-2016.) $)
    fnopabg $p |- ( A. x e. A E! y ph <-> F Fn A ) $=
      ( wmo wex wa wral cv wcel copab wfn weu wfun cdm wceq wal 3bitr4i moanimv
      wi albii funopab df-ral 3bitr4ri dmopab3 anbi12i r19.26 df-fn ancom bitri
      eu5 ralbii fneq1i ) ACGZACHZIZBDJZBKDLZAIZBCMZDNZACOZBDJEDNUPBDJZUQBDJZIV
      BPZVBQDRZIUSVCVEVGVFVHVACGZBSUTUPUBZBSVGVEVIVJBUTACUAUCVABCUDUPBDUEUFABCD
      UGUHUPUQBDUIVBDUJTVDURBDVDUQUPIURACUMUQUPUKULUNDEVBFUOT $.
  $}

  ${
    $d x y A $.  $d y B $.
    fnopab2g.1 $e |- F = { <. x , y >. | ( x e. A /\ y = B ) } $.
    $( Functionality and domain of an ordered-pair class abstraction.
       (Contributed by set.mm contributors, 23-Mar-2006.) $)
    fnopab2g $p |- ( A. x e. A B e. _V <-> F Fn A ) $=
      ( cvv wcel wral cv wceq weu wfn eueq ralbii fnopabg bitri ) DGHZACIBJDKZB
      LZACIECMRTACBDNOSABCEFPQ $.
  $}

  ${
    $d x y A $.
    fnopab.1 $e |- ( x e. A -> E! y ph ) $.
    fnopab.2 $e |- F = { <. x , y >. | ( x e. A /\ ph ) } $.
    $( Functionality and domain of an ordered-pair class abstraction.
       (Contributed by set.mm contributors, 5-Mar-1996.) $)
    fnopab $p |- F Fn A $=
      ( weu wral wfn rgen fnopabg mpbi ) ACHZBDIEDJNBDFKABCDEGLM $.
  $}

  ${
    $d x y A $.  $d y B $.
    fnopab2.1 $e |- B e. _V $.
    fnopab2.2 $e |- F = { <. x , y >. | ( x e. A /\ y = B ) } $.
    $( Functionality and domain of an ordered-pair class abstraction.
       (Contributed by set.mm contributors, 29-Jan-2004.) $)
    fnopab2 $p |- F Fn A $=
      ( cv wceq weu wcel eueq1 a1i fnopab ) BHDIZABCEOBJAHCKBDFLMGN $.

    $( Domain of an ordered-pair class abstraction that specifies a function.
       (Contributed by set.mm contributors, 6-Sep-2005.) $)
    dmopab2 $p |- dom F = A $=
      ( wfn cdm wceq fnopab2 fndm ax-mp ) ECHEICJABCDEFGKCELM $.
  $}

  $( Equality theorem for functions.  (Contributed by set.mm contributors,
     1-Aug-1994.) $)
  feq1 $p |- ( F = G -> ( F : A --> B <-> G : A --> B ) ) $=
    ( wceq wfn crn wss wa wf fneq1 rneq sseq1d anbi12d df-f 3bitr4g ) CDEZCAFZC
    GZBHZIDAFZDGZBHZIABCJABDJQRUATUCACDKQSUBBCDLMNABCOABDOP $.

  $( Equality theorem for functions.  (Contributed by set.mm contributors,
     1-Aug-1994.) $)
  feq2 $p |- ( A = B -> ( F : A --> C <-> F : B --> C ) ) $=
    ( wceq wfn crn wss wa wf fneq2 anbi1d df-f 3bitr4g ) ABEZDAFZDGCHZIDBFZQIAC
    DJBCDJOPRQABDKLACDMBCDMN $.

  $( Equality theorem for functions.  (Contributed by set.mm contributors,
     1-Aug-1994.) $)
  feq3 $p |- ( A = B -> ( F : C --> A <-> F : C --> B ) ) $=
    ( wceq wfn crn wss wa wf sseq2 anbi2d df-f 3bitr4g ) ABEZDCFZDGZAHZIPQBHZIC
    ADJCBDJORSPABQKLCADMCBDMN $.

  $( Equality theorem for functions.  (Contributed by FL, 14-Jul-2007.)  (The
     proof was shortened by Andrew Salmon, 17-Sep-2011.) $)
  feq23 $p |- ( ( A = C /\ B = D ) -> ( F : A --> B <-> F : C --> D ) ) $=
    ( wceq wf feq2 feq3 sylan9bb ) ACFABEGCBEGBDFCDEGACBEHBDCEIJ $.

  ${
    feq1d.1 $e |- ( ph -> F = G ) $.
    $( Equality deduction for functions.  (Contributed by set.mm contributors,
       19-Feb-2008.) $)
    feq1d $p |- ( ph -> ( F : A --> B <-> G : A --> B ) ) $=
      ( wceq wf wb feq1 syl ) ADEGBCDHBCEHIFBCDEJK $.
  $}

  ${
    feq2d.1 $e |- ( ph -> A = B ) $.
    $( Equality deduction for functions.  (Contributed by Paul Chapman,
       22-Jun-2011.) $)
    feq2d $p |- ( ph -> ( F : A --> C <-> F : B --> C ) ) $=
      ( wceq wf wb feq2 syl ) ABCGBDEHCDEHIFBCDEJK $.
  $}

  ${
    feq12d.1 $e |- ( ph -> F = G ) $.
    feq12d.2 $e |- ( ph -> A = B ) $.
    $( Equality deduction for functions.  (Contributed by Paul Chapman,
       22-Jun-2011.) $)
    feq12d $p |- ( ph -> ( F : A --> C <-> G : B --> C ) ) $=
      ( wf feq1d feq2d bitrd ) ABDEIBDFICDFIABDEFGJABCDFHKL $.
  $}

  ${
    feq1i.1 $e |- F = G $.
    $( Equality inference for functions.  (Contributed by Paul Chapman,
       22-Jun-2011.) $)
    feq1i $p |- ( F : A --> B <-> G : A --> B ) $=
      ( wceq wf wb feq1 ax-mp ) CDFABCGABDGHEABCDIJ $.
  $}

  ${
    feq2i.1 $e |- A = B $.
    $( Equality inference for functions.  (Contributed by set.mm contributors,
       5-Sep-2011.) $)
    feq2i $p |- ( F : A --> C <-> F : B --> C ) $=
      ( wceq wf wb feq2 ax-mp ) ABFACDGBCDGHEABCDIJ $.
  $}

  ${
    feq23i.1 $e |- A = C $.
    feq23i.2 $e |- B = D $.
    $( Equality inference for functions.  (Contributed by Paul Chapman,
       22-Jun-2011.) $)
    feq23i $p |- ( F : A --> B <-> F : C --> D ) $=
      ( wceq wf wb feq23 mp2an ) ACHBDHABEICDEIJFGABCDEKL $.
  $}

  ${
    feq23d.1 $e |- ( ph -> A = C ) $.
    feq23d.2 $e |- ( ph -> B = D ) $.
    $( Equality deduction for functions.  (Contributed by set.mm contributors,
       8-Jun-2013.) $)
    feq23d $p |- ( ph -> ( F : A --> B <-> F : C --> D ) ) $=
      ( wceq wf wb feq23 syl2anc ) ABDICEIBCFJDEFJKGHBCDEFLM $.
  $}

  ${
    nff.1 $e |- F/_ x F $.
    nff.2 $e |- F/_ x A $.
    nff.3 $e |- F/_ x B $.
    $( Bound-variable hypothesis builder for a mapping.  (Contributed by NM,
       29-Jan-2004.)  (Revised by Mario Carneiro, 15-Oct-2016.) $)
    nff $p |- F/ x F : A --> B $=
      ( wf wfn crn wss wa df-f nffn nfrn nfss nfan nfxfr ) BCDHDBIZDJZCKZLABCDM
      SUAAABDEFNATCADEOGPQR $.
  $}

  ${
    elimf.1 $e |- G : A --> B $.
    $( Eliminate a mapping hypothesis for the weak deduction theorem ~ dedth ,
       when a special case ` G : A --> B ` is provable, in order to convert
       ` F : A --> B ` from a hypothesis to an antecedent.  (Contributed by
       set.mm contributors, 24-Aug-2006.) $)
    elimf $p |- if ( F : A --> B , F , G ) : A --> B $=
      ( wf cif feq1 elimhyp ) ABCFZABJCDGZFABDFCDABCKHABDKHEI $.
  $}

  $( A mapping is a function.  (Contributed by set.mm contributors,
     2-Aug-1994.) $)
  ffn $p |- ( F : A --> B -> F Fn A ) $=
    ( wf wfn crn wss df-f simplbi ) ABCDCAECFBGABCHI $.

  $( Any function is a mapping into ` _V ` .  (The proof was shortened by
     Andrew Salmon, 17-Sep-2011.)  (Contributed by set.mm contributors,
     31-Oct-1995.)  (Revised by set.mm contributors, 18-Sep-2011.) $)
  dffn2 $p |- ( F Fn A <-> F : A --> _V ) $=
    ( wfn crn cvv wss wa wf ssv biantru df-f bitr4i ) BACZMBDZEFZGAEBHOMNIJAEBK
    L $.

  $( A mapping is a function.  (Contributed by set.mm contributors,
     3-Aug-1994.) $)
  ffun $p |- ( F : A --> B -> Fun F ) $=
    ( wf wfn wfun ffn fnfun syl ) ABCDCAECFABCGACHI $.

  $( The domain of a mapping.  (Contributed by set.mm contributors,
     2-Aug-1994.) $)
  fdm $p |- ( F : A --> B -> dom F = A ) $=
    ( wf wfn cdm wceq ffn fndm syl ) ABCDCAECFAGABCHACIJ $.

  ${
    fdmi.1 $e |- F : A --> B $.
    $( The domain of a mapping.  (Contributed by set.mm contributors,
       28-Jul-2008.) $)
    fdmi $p |- dom F = A $=
      ( wf cdm wceq fdm ax-mp ) ABCECFAGDABCHI $.
  $}

  $( The range of a mapping.  (Contributed by set.mm contributors,
     3-Aug-1994.) $)
  frn $p |- ( F : A --> B -> ran F C_ B ) $=
    ( wf wfn crn wss df-f simprbi ) ABCDCAECFBGABCHI $.

  $( A function maps to its range.  (Contributed by set.mm contributors,
     1-Sep-1999.) $)
  dffn3 $p |- ( F Fn A <-> F : A --> ran F ) $=
    ( wfn crn wss wa wf ssid biantru df-f bitr4i ) BACZLBDZMEZFAMBGNLMHIAMBJK
    $.

  $( Expanding the codomain of a mapping.  (The proof was shortened by Andrew
     Salmon, 17-Sep-2011.)  (Contributed by set.mm contributors, 10-May-1998.)
     (Revised by set.mm contributors, 18-Sep-2011.) $)
  fss $p |- ( ( F : A --> B /\ B C_ C ) -> F : A --> C ) $=
    ( wss wf wfn crn wa sstr2 com12 anim2d df-f 3imtr4g impcom ) BCEZABDFZACDFZ
    PDAGZDHZBEZISTCEZIQRPUAUBSUAPUBTBCJKLABDMACDMNO $.

  $( Composition of two mappings.  (The proof was shortened by Andrew Salmon,
     17-Sep-2011.)  (Contributed by set.mm contributors, 29-Aug-1999.)
     (Revised by set.mm contributors, 18-Sep-2011.) $)
  fco $p |- ( ( F : B --> C /\ G : A --> B ) -> ( F o. G ) : A --> C ) $=
    ( wfn crn wss wa ccom wf wi fnco 3expib adantr rncoss sstr mpan adantl df-f
    jctird imp anbi12i 3imtr4i ) DBFZDGZCHZIZEAFZEGBHZIZIDEJZAFZULGZCHZIZBCDKZA
    BEKZIACULKUHUKUPUHUKUMUOUEUKUMLUGUEUIUJUMBADEMNOUGUOUEUNUFHUGUODEPUNUFCQRSU
    AUBUQUHURUKBCDTABETUCACULTUD $.

  $( A mapping is a class of ordered pairs.  (The proof was shortened by Andrew
     Salmon, 17-Sep-2011.)  (Contributed by set.mm contributors, 3-Aug-1994.)
     (Revised by set.mm contributors, 18-Sep-2011.) $)
  fssxp $p |- ( F : A --> B -> F C_ ( A X. B ) ) $=
    ( wf cdm crn cxp ssdmrn wss wceq fdm eqimss syl frn xpss12 syl2anc syl5ss )
    ABCDZCCEZCFZGZABGZCHRSAIZTBIUAUBIRSAJUCABCKSALMABCNSATBOPQ $.

  $( Two ways of specifying a partial function from ` A ` to ` B ` .
     (Contributed by set.mm contributors, 13-Nov-2007.) $)
  funssxp $p |- ( ( Fun F /\ F C_ ( A X. B ) ) <->
             ( F : dom F --> B /\ dom F C_ A ) ) $=
    ( wfun cxp wss wa cdm wf wfn funfn biimpi rnss rnxpss syl6ss anim12i sylibr
    crn df-f jca dmss dmxpss adantl ffun adantr fssxp xpss1 sylan9ss impbii ) C
    DZCABEZFZGZCHZBCIZUNAFZGZUMUOUPUMCUNJZCRZBFZGUOUJURULUTUJURCKLULUSUKRBCUKMA
    BNOPUNBCSQULUPUJULUNUKHACUKUAABUBOUCTUQUJULUOUJUPUNBCUDUEUOUPCUNBEUKUNBCUFU
    NABUGUHTUI $.

  $( A mapping is a partial function.  (Contributed by set.mm contributors,
     25-Nov-2007.) $)
  ffdm $p |- ( F : A --> B -> ( F : dom F --> B /\ dom F C_ A ) ) $=
    ( wf cdm wss fdm feq2d ibir wceq eqimss syl jca ) ABCDZCEZBCDZOAFZNPNOABCAB
    CGZHINOAJQROAKLM $.

  $( The members of an ordered pair element of a mapping belong to the
     mapping's domain and codomain.  (Contributed by set.mm contributors,
     9-Jan-2015.) $)
  opelf $p |- ( ( F : A --> B /\ <. C , D >. e. F ) ->
                ( C e. A /\ D e. B ) ) $=
    ( wf cop wcel wa cxp fssxp sseld opelxp syl6ib imp ) ABEFZCDGZEHZCAHDBHIZPR
    QABJZHSPETQABEKLCDABMNO $.

  $( The union of two functions with disjoint domains.  (Contributed by set.mm
     contributors, 22-Sep-2004.) $)
  fun $p |- ( ( ( F : A --> C /\ G : B --> D ) /\ ( A i^i B ) = (/) ) ->
             ( F u. G ) : ( A u. B ) --> ( C u. D ) ) $=
    ( cin c0 wceq wf wa cun wfn crn wss fnun expcom wi rnun df-f unss12 anim12d
    syl5eqss a1i anbi12i an4 bitri 3imtr4g impcom ) ABGHIZACEJZBDFJZKZABLZCDLZE
    FLZJZUJEAMZFBMZKZENZCOZFNZDOZKZKZUPUNMZUPNZUOOZKUMUQUJUTVGVEVIUTUJVGABEFPQV
    EVIRUJVEVHVAVCLUOEFSVACVCDUAUCUDUBUMURVBKZUSVDKZKVFUKVJULVKACETBDFTUEURVBUS
    VDUFUGUNUOUPTUHUI $.

  $( Composition of two functions.  (Contributed by set.mm contributors,
     22-May-2006.) $)
  fnfco $p |- ( ( F Fn A /\ G : B --> A ) -> ( F o. G ) Fn B ) $=
    ( wf wfn crn wss wa ccom df-f fnco 3expb sylan2b ) BADECAFZDBFZDGAHZICDJBFZ
    BADKOPQRABCDLMN $.

  $( Restriction of a function with a subclass of its domain.  (Contributed by
     set.mm contributors, 23-Sep-2004.) $)
  fssres $p |- ( ( F : A --> B /\ C C_ A ) -> ( F |` C ) : C --> B ) $=
    ( wf wss cres wfn crn df-f fnssres resss rnss ax-mp sstr mpan anim12i an32s
    wa sylanb sylibr ) ABDEZCAFZSDCGZCHZUDIZBFZSZCBUDEUBDAHZDIZBFZSUCUHABDJUIUC
    UKUHUIUCSUEUKUGACDKUFUJFZUKUGUDDFULDCLUDDMNUFUJBOPQRTCBUDJUA $.

  $( Restriction of a restricted function with a subclass of its domain.
     (Contributed by set.mm contributors, 21-Jul-2005.) $)
  fssres2 $p |- ( ( ( F |` A ) : A --> B /\ C C_ A ) ->
                ( F |` C ) : C --> B ) $=
    ( cres wf wss wa fssres wb resabs1 feq1d adantl mpbid ) ABDAEZFZCAGZHCBOCEZ
    FZCBDCEZFZABCOIQSUAJPQCBRTDCAKLMN $.

  $( Composition of a mapping and restricted identity.  (The proof was
     shortened by Andrew Salmon, 17-Sep-2011.)  (Contributed by set.mm
     contributors, 13-Dec-2003.)  (Revised by set.mm contributors,
     18-Sep-2011.) $)
  fcoi1 $p |- ( F : A --> B -> ( F o. ( _I |` A ) ) = F ) $=
    ( cid cres ccom coi1 reseq1i resco eqtr3i wfn wceq ffn fnresdm syl syl5eqr
    wf ) ABCQZCDAEFZCAEZCCDFZAETSUACACGHCDAIJRCAKTCLABCMACNOP $.

  $( Composition of restricted identity and a mapping.  (The proof was
     shortened by Andrew Salmon, 17-Sep-2011.)  (Contributed by set.mm
     contributors, 13-Dec-2003.)  (Revised by set.mm contributors,
     18-Sep-2011.) $)
  fcoi2 $p |- ( F : A --> B -> ( ( _I |` B ) o. F ) = F ) $=
    ( wf cid cres ccom crn wss wceq frn cores syl coi2 syl6eq ) ABCDZEBFCGZECGZ
    CPCHBIQRJABCKECBLMCNO $.

  ${
    $d y F $.  $d y A $.  $d y B $.  $d y C $.
    $( There is exactly one value of a function in its codomain.  (Contributed
       by set.mm contributors, 10-Dec-2003.) $)
    feu $p |- ( ( F : A --> B /\ C e. A ) -> E! y e. B <. C , y >. e. F ) $=
      ( wf wcel wa cv cop weu wreu wfn ffn fneu2 sylan wb opelf simprd ex mpbid
      pm4.71rd eubidv adantr df-reu sylibr ) BCEFZDBGZHZAIZCGZDUJJEGZHZAKZULACL
      UIULAKZUNUGEBMUHUOBCENABDEOPUGUOUNQUHUGULUMAUGULUKUGULUKUGULHUHUKBCDUJERS
      TUBUCUDUAULACUEUF $.
  $}

  ${
    $d x y F $.  $d x y A $.  $d x y B $.
    $( The converse of a restriction of a function.  (Contributed by set.mm
       contributors, 26-Mar-1998.) $)
    fcnvres $p |- ( F : A --> B -> `' ( F |` A ) = ( `' F |` B ) ) $=
      ( vy vx wf cres ccnv cv cop wa wbr wb df-br wfn ffn opelcnv opelres bitri
      wcel fnbr sylan crn wss brelrn ssel2 syl2an 2thd sylan2br pm5.32da anbi1i
      frn 3bitr4g eqrelrdv ) ABCFZDECAGZHZCHZBGZUOEIZDIZJZCTZUTATZKZVCVABTZKZVA
      UTJZUQTZVHUSTZUOVCVDVFVCUOUTVACLZVDVFMUTVACNUOVKKVDVFUOCAOVKVDABCPAUTVACU
      AUBUOCUCZBUDVAVLTVFVKABCULUTVACUEVLBVAUFUGUHUIUJVIVBUPTVEVAUTUPQUTVACARSV
      JVHURTZVFKVGVAUTURBRVMVCVFVAUTCQUKSUMUN $.
  $}

  $( The preimage of a class disjoint with a mapping's codomain is empty.
     (Contributed by FL, 24-Jan-2007.) $)
  fimacnvdisj $p |- ( ( F : A --> B /\ ( B i^i C ) = (/) ) ->
    ( `' F " C ) = (/) ) $=
    ( wf cin c0 wceq wa ccnv cdm cima wss crn dfrn4 frn adantr syl5eqssr ssdisj
    sylancom imadisj sylibr ) ABDEZBCFGHZIZDJZKZCFGHZUFCLGHUCUDUGBMUHUEUGDNZBDO
    UCUIBMUDABDPQRUGBCSTUFCUAUB $.

  ${
    $d x A $.  $d x B $.  $d x F $.
    fint.1 $e |- B =/= (/) $.
    $( Function into an intersection.  (The proof was shortened by Andrew
       Salmon, 17-Sep-2011.)  (Contributed by set.mm contributors,
       14-Oct-1999.)  (Revised by set.mm contributors, 18-Sep-2011.) $)
    fint $p |- ( F : A --> |^| B <-> A. x e. B F : A --> x ) $=
      ( wfn crn cint wss wa cv wral wf ssint anbi2i c0 wne wb r19.28zv df-f
      ax-mp bitr4i ralbii 3bitr4i ) DBFZDGZCHZIZJZUEUFAKZIZJZACLZBUGDMBUJDMZACL
      UIUEUKACLZJZUMUHUOUEAUFCNOCPQUMUPREUEUKACSUAUBBUGDTUNULACBUJDTUCUD $.
  $}

  $( Mapping into an intersection.  (The proof was shortened by Andrew Salmon,
     17-Sep-2011.)  (Contributed by set.mm contributors, 14-Sep-1999.)
     (Revised by set.mm contributors, 18-Sep-2011.) $)
  fin $p |- ( F : A --> ( B i^i C ) <-> ( F : A --> B /\ F : A --> C ) ) $=
    ( wfn crn cin wss wa wf ssin anbi2i anandi bitr3i df-f anbi12i 3bitr4i ) DA
    EZDFZBCGZHZIZRSBHZIZRSCHZIZIZATDJABDJZACDJZIUBRUCUEIZIUGUJUARSBCKLRUCUEMNAT
    DOUHUDUIUFABDOACDOPQ $.

  $( If a mapping is a set, its domain is a set.  (The proof was shortened by
     Andrew Salmon, 17-Sep-2011.)  (Contributed by set.mm contributors,
     27-Aug-2006.)  (Revised by set.mm contributors, 18-Sep-2011.) $)
  dmfex $p |- ( ( F e. C /\ F : A --> B ) -> A e. _V ) $=
    ( wf wcel cvv cdm wceq wi fdm dmexg eleq1 syl5ib syl impcom ) ABDEZDCFZAGFZ
    QDHZAIZRSJABDKRTGFUASDCLTAGMNOP $.

  $( The empty function.  (Contributed by set.mm contributors, 14-Aug-1999.) $)
  f0 $p |- (/) : (/) --> A $=
    ( c0 wfn crn wss wfun cdm wceq fun0 dm0 df-fn mpbir2an rn0 0ss eqsstri df-f
    wf ) BABQBBCZBDZAERBFBGBHIJBBKLSBAMANOBABPL $.

  $( A class is a function with empty codomain iff it and its domain are
     empty.  (Contributed by set.mm contributors, 10-Dec-2003.) $)
  f00 $p |- ( F : A --> (/) <-> ( F = (/) /\ A = (/) ) ) $=
    ( c0 wf wceq wa wfn wfun cdm ffun crn wss frn ss0 syl dm0rn0 df-fn sylanbrc
    sylibr fn0 sylib fdm eqtr3d jca f0 feq1 feq2 sylan9bb mpbiri impbii ) ACBDZ
    BCEZACEZFZUKULUMUKBCGZULUKBHBIZCEZUOACBJUKBKZCEZUQUKURCLUSACBMURNOBPSZBCQRB
    TUAUKUPACACBUBUTUCUDUNUKCCCDZCUEULUKACCDUMVAACBCUFACCCUGUHUIUJ $.

  ${
    $d x y A $.  $d x y B $.
    fconst.1 $e |- B e. _V $.
    $( A cross product with a singleton is a constant function.  (The proof was
       shortened by Andrew Salmon, 17-Sep-2011.)  (Contributed by set.mm
       contributors, 14-Aug-1999.)  (Revised by set.mm contributors,
       18-Sep-2011.) $)
    fconst $p |- ( A X. { B } ) : A --> { B } $=
      ( vx vy csn cxp wf wfn crn wss fconstopab fnopab2 rnxpss df-f mpbir2an )
      ABFZAQGZHRAIRJQKDEABRCDEABLMAQNAQROP $.
  $}

  ${
    $d x A $.  $d x B $.
    $( A cross product with a singleton is a constant function.  (Contributed
       by set.mm contributors, 19-Oct-2004.) $)
    fconstg $p |- ( B e. V -> ( A X. { B } ) : A --> { B } ) $=
      ( vx cv csn cxp wf wceq sneq xpeq2d feq1 feq3 sylan9bb syl2anc vex fconst
      wb vtoclg ) ADEZFZAUAGZHZABFZAUDGZHZDBCTBIZUBUEIZUAUDIZUCUFRUGUAUDATBJZKU
      JUHUCAUAUEHUIUFAUAUBUELUAUDAUEMNOATDPQS $.
    $( A cross product with a singleton is a constant function.  (Contributed
       by set.mm contributors, 24-Jul-2014.) $)
    fnconstg $p |- ( B e. V -> ( A X. { B } ) Fn A ) $=
      ( wcel csn cxp wf wfn fconstg ffn syl ) BCDABEZALFZGMAHABCIALMJK $.
  $}

  $( Equality theorem for one-to-one functions.  (Contributed by set.mm
     contributors, 10-Feb-1997.) $)
  f1eq1 $p |- ( F = G -> ( F : A -1-1-> B <-> G : A -1-1-> B ) ) $=
    ( wceq wf ccnv wfun wa wf1 feq1 cnveq funeqd anbi12d df-f1 3bitr4g ) CDEZAB
    CFZCGZHZIABDFZDGZHZIABCJABDJQRUATUCABCDKQSUBCDLMNABCOABDOP $.

  $( Equality theorem for one-to-one functions.  (Contributed by set.mm
     contributors, 10-Feb-1997.) $)
  f1eq2 $p |- ( A = B -> ( F : A -1-1-> C <-> F : B -1-1-> C ) ) $=
    ( wceq wf ccnv wfun wa wf1 feq2 anbi1d df-f1 3bitr4g ) ABEZACDFZDGHZIBCDFZQ
    IACDJBCDJOPRQABCDKLACDMBCDMN $.

  $( Equality theorem for one-to-one functions.  (Contributed by set.mm
     contributors, 10-Feb-1997.) $)
  f1eq3 $p |- ( A = B -> ( F : C -1-1-> A <-> F : C -1-1-> B ) ) $=
    ( wceq wf ccnv wfun wa wf1 feq3 anbi1d df-f1 3bitr4g ) ABEZCADFZDGHZICBDFZQ
    ICADJCBDJOPRQABCDKLCADMCBDMN $.

  ${
    nff1.1 $e |- F/_ x F $.
    nff1.2 $e |- F/_ x A $.
    nff1.3 $e |- F/_ x B $.
    $( Bound-variable hypothesis builder for a one-to-one function.
       (Contributed by NM, 16-May-2004.) $)
    nff1 $p |- F/ x F : A -1-1-> B $=
      ( wf1 wf ccnv wfun wa df-f1 nff nfcnv nffun nfan nfxfr ) BCDHBCDIZDJZKZLA
      BCDMSUAAABCDEFGNATADEOPQR $.
  $}

  ${
    $d x y F $.
    $( Alternate definition of a one-to-one function.  (Contributed by set.mm
       contributors, 31-Dec-1996.)  (Revised by set.mm contributors,
       22-Sep-2004.) $)
    dff12 $p |- ( F : A -1-1-> B <-> ( F : A --> B /\ A. y E* x x F y ) ) $=
      ( wf1 wf ccnv wfun wa cv wbr wmo wal df-f1 funcnv2 anbi2i bitri ) CDEFCDE
      GZEHIZJSAKBKELAMBNZJCDEOTUASABEPQR $.
  $}

  $( A one-to-one mapping is a mapping.  (Contributed by set.mm contributors,
     31-Dec-1996.) $)
  f1f $p |- ( F : A -1-1-> B -> F : A --> B ) $=
    ( wf1 wf ccnv wfun df-f1 simplbi ) ABCDABCECFGABCHI $.

  $( A one-to-one mapping is a function on its domain.  (Contributed by set.mm
     contributors, 8-Mar-2014.) $)
  f1fn $p |- ( F : A -1-1-> B -> F Fn A ) $=
    ( wf1 wf wfn f1f ffn syl ) ABCDABCECAFABCGABCHI $.

  $( A one-to-one mapping is a function.  (Contributed by set.mm contributors,
     8-Mar-2014.) $)
  f1fun $p |- ( F : A -1-1-> B -> Fun F ) $=
    ( wf1 wfn wfun f1fn fnfun syl ) ABCDCAECFABCGACHI $.

  $( The domain of a one-to-one mapping.  (Contributed by set.mm contributors,
     8-Mar-2014.) $)
  f1dm $p |- ( F : A -1-1-> B -> dom F = A ) $=
    ( wf1 wfn cdm wceq f1fn fndm syl ) ABCDCAECFAGABCHACIJ $.

  $( A function that is one-to-one is also one-to-one on some superset of its
     range.  (Contributed by Mario Carneiro, 12-Jan-2013.) $)
  f1ss $p |- ( ( F : A -1-1-> B /\ B C_ C ) -> F : A -1-1-> C ) $=
    ( wf1 wss wa wf ccnv wfun f1f fss sylan df-f1 simprbi adantr sylanbrc ) ABD
    EZBCFZGACDHZDIJZACDERABDHZSTABDKABCDLMRUASRUBUAABDNOPACDNQ $.

  $( Two ways to express that a set ` A ` is one-to-one.  Each side is equivalent
     to Definition 6.4(3) of [TakeutiZaring] p. 24, who use the notation
     "Un_2 (A)" for one-to-one.  We do not introduce a separate notation since we
     rarely use it.  (Contributed by set.mm contributors, 13-Aug-2004.) (Revised
     by Scott Fenton, 18-Apr-2021.) $)
  f1funfun $p |- ( A : dom A -1-1-> _V <-> ( Fun `' A /\ Fun A ) ) $=
    ( cdm cvv wf1 wf ccnv wfun df-f1 ancom wfn crn wss ssv df-f mpbiran2 bitr4i
    wa funfn anbi2i 3bitri ) ABZCADUACAEZAFGZQUCUBQUCAGZQUACAHUBUCIUBUDUCUBAUAJ
    ZUDUBUEAKZCLUFMUACANOARPST $.

  $( Composition of one-to-one functions.  Exercise 30 of [TakeutiZaring]
     p. 25.  (Contributed by set.mm contributors, 28-May-1998.) $)
  f1co $p |- ( ( F : B -1-1-> C /\ G : A -1-1-> B ) ->
              ( F o. G ) : A -1-1-> C ) $=
    ( wf ccnv wfun wa ccom wf1 fco funco cnvco funeqi sylibr anim12i an4s df-f1
    ancoms anbi12i 3imtr4i ) BCDFZDGZHZIZABEFZEGZHZIZIACDEJZFZUKGZHZIZBCDKZABEK
    ZIACUKKUCUGUEUIUOUCUGIULUEUIIUNABCDELUIUEUNUIUEIUHUDJZHUNUHUDMUMURDENOPTQRU
    PUFUQUJBCDSABESUAACUKSUB $.

  $( Equality theorem for onto functions.  (Contributed by set.mm contributors,
     1-Aug-1994.) $)
  foeq1 $p |- ( F = G -> ( F : A -onto-> B <-> G : A -onto-> B ) ) $=
    ( wceq wfn crn wa wfo fneq1 rneq eqeq1d anbi12d df-fo 3bitr4g ) CDEZCAFZCGZ
    BEZHDAFZDGZBEZHABCIABDIPQTSUBACDJPRUABCDKLMABCNABDNO $.

  $( Equality theorem for onto functions.  (Contributed by set.mm contributors,
     1-Aug-1994.) $)
  foeq2 $p |- ( A = B -> ( F : A -onto-> C <-> F : B -onto-> C ) ) $=
    ( wceq wfn crn wa wfo fneq2 anbi1d df-fo 3bitr4g ) ABEZDAFZDGCEZHDBFZPHACDI
    BCDINOQPABDJKACDLBCDLM $.

  $( Equality theorem for onto functions.  (Contributed by set.mm contributors,
     1-Aug-1994.) $)
  foeq3 $p |- ( A = B -> ( F : C -onto-> A <-> F : C -onto-> B ) ) $=
    ( wceq wfn crn wa wfo eqeq2 anbi2d df-fo 3bitr4g ) ABEZDCFZDGZAEZHOPBEZHCAD
    ICBDINQROABPJKCADLCBDLM $.

  ${
    nffo.1 $e |- F/_ x F $.
    nffo.2 $e |- F/_ x A $.
    nffo.3 $e |- F/_ x B $.
    $( Bound-variable hypothesis builder for an onto function.  (Contributed by
       NM, 16-May-2004.) $)
    nffo $p |- F/ x F : A -onto-> B $=
      ( wfo wfn crn wceq wa df-fo nffn nfrn nfeq nfan nfxfr ) BCDHDBIZDJZCKZLAB
      CDMSUAAABDEFNATCADEOGPQR $.
  $}

  $( An onto mapping is a mapping.  (Contributed by set.mm contributors,
     3-Aug-1994.) $)
  fof $p |- ( F : A -onto-> B -> F : A --> B ) $=
    ( wfn crn wceq wa wss wfo wf eqimss anim2i df-fo df-f 3imtr4i ) CADZCEZBFZG
    PQBHZGABCIABCJRSPQBKLABCMABCNO $.

  $( An onto mapping is a function.  (Contributed by set.mm contributors,
     29-Mar-2008.) $)
  fofun $p |- ( F : A -onto-> B -> Fun F ) $=
    ( wfo wf wfun fof ffun syl ) ABCDABCECFABCGABCHI $.

  $( An onto mapping is a function on its domain.  (Contributed by set.mm
     contributors, 16-Dec-2008.) $)
  fofn $p |- ( F : A -onto-> B -> F Fn A ) $=
    ( wfo wf wfn fof ffn syl ) ABCDABCECAFABCGABCHI $.

  $( The codomain of an onto function is its range.  (Contributed by set.mm
     contributors, 3-Aug-1994.) $)
  forn $p |- ( F : A -onto-> B -> ran F = B ) $=
    ( wfo wfn crn wceq df-fo simprbi ) ABCDCAECFBGABCHI $.

  $( Alternate definition of an onto function.  (Contributed by set.mm
     contributors, 22-Mar-2006.) $)
  dffo2 $p |- ( F : A -onto-> B <-> ( F : A --> B /\ ran F = B ) ) $=
    ( wfo wf crn wceq wa fof forn jca wfn ffn df-fo biimpri sylan impbii ) ABCD
    ZABCEZCFBGZHRSTABCIABCJKSCALZTRABCMRUATHABCNOPQ $.

  $( The image of the domain of an onto function.  (Contributed by set.mm
     contributors, 29-Nov-2002.) $)
  foima $p |- ( F : A -onto-> B -> ( F " A ) = B ) $=
    ( wfo cima crn cdm imadmrn wf wceq fof fdm imaeq2 3syl syl5reqr forn eqtrd
    ) ABCDZCAEZCFZBRTCCGZEZSCHRABCIUAAJUBSJABCKABCLUAACMNOABCPQ $.

  $( A function maps onto its range.  (Contributed by set.mm contributors,
     10-May-1998.) $)
  dffn4 $p |- ( F Fn A <-> F : A -onto-> ran F ) $=
    ( wfn crn wceq wa wfo eqid biantru df-fo bitr4i ) BACZLBDZMEZFAMBGNLMHIAMBJ
    K $.

  $( A function maps its domain onto its range.  (Contributed by set.mm
     contributors, 23-Jul-2004.) $)
  funforn $p |- ( Fun A <-> A : dom A -onto-> ran A ) $=
    ( wfun cdm wfn crn wfo funfn dffn4 bitri ) ABAACZDJAEAFAGJAHI $.

  $( An onto function has unique domain and range.  (Contributed by set.mm
     contributors, 5-Nov-2006.) $)
  fodmrnu $p |- ( ( F : A -onto-> B /\ F : C -onto-> D ) ->
                ( A = C /\ B = D ) ) $=
    ( wfo wa wceq wfn fofn fndmu syl2an crn forn sylan9req jca ) ABEFZCDEFZGACH
    ZBDHQEAIECISRABEJCDEJACEKLQRBEMDABENCDENOP $.

  $( Restriction of a function.  (Contributed by set.mm contributors,
     4-Mar-1997.) $)
  fores $p |- ( ( Fun F /\ A C_ dom F ) ->
              ( F |` A ) : A -onto-> ( F " A ) ) $=
    ( wfun cdm wss cres cima wfo funres anim1i wfn wceq df-fn crn dfima3 eqcomi
    wa df-fo mpbiran2 ssdmres anbi2i 3bitr4i sylibr ) BCZABDEZQBAFZCZUEQZABAGZU
    FHZUDUGUEABIJUFAKZUGUFDALZQUJUHUFAMUJUKUFNZUILUIUMBAOPAUIUFRSUEULUGABTUAUBU
    C $.

  $( Composition of onto functions.  (Contributed by set.mm contributors,
     22-Mar-2006.) $)
  foco $p |- ( ( F : B -onto-> C /\ G : A -onto-> B ) ->
             ( F o. G ) : A -onto-> C ) $=
    ( wf crn wceq ccom wfo fco ad2ant2r cdm fdm eqtr3 sylan rncoeq eqeq1d dffo2
    wa biimpar an32s adantrl jca anbi12i 3imtr4i ) BCDFZDGZCHZTZABEFZEGZBHZTZTZ
    ACDEIZFZUPGZCHZTBCDJZABEJZTACUPJUOUQUSUGUKUQUIUMABCDEKLUJUMUSUKUGUMUIUSUGUM
    TDMZULHZUIUSUGVBBHUMVCBCDNVBULBOPVCUSUIVCURUHCDEQRUAPUBUCUDUTUJVAUNBCDSABES
    UEACUPSUF $.

  $( A nonzero constant function is onto.  (Contributed by set.mm contributors,
     12-Jan-2007.) $)
  foconst $p |- ( ( F : A --> { B } /\ F =/= (/) ) -> F : A -onto-> { B } ) $=
    ( csn wf c0 wne wa crn wceq wfo wn rneq0 necon3abii wss frn sssn sylib ord
    wo syl5bi imdistani dffo2 sylibr ) ABDZCEZCFGZHUFCIZUEJZHAUECKUFUGUIUGUHFJZ
    LUFUIUJCFCMNUFUJUIUFUHUEOUJUITAUECPUHBQRSUAUBAUECUCUD $.

  $( Equality theorem for one-to-one onto functions.  (Contributed by set.mm
     contributors, 10-Feb-1997.) $)
  f1oeq1 $p |- ( F = G -> ( F : A -1-1-onto-> B <-> G : A -1-1-onto-> B ) ) $=
    ( wceq wf1 wfo wa wf1o f1eq1 foeq1 anbi12d df-f1o 3bitr4g ) CDEZABCFZABCGZH
    ABDFZABDGZHABCIABDIOPRQSABCDJABCDKLABCMABDMN $.

  $( Equality theorem for one-to-one onto functions.  (Contributed by set.mm
     contributors, 10-Feb-1997.) $)
  f1oeq2 $p |- ( A = B -> ( F : A -1-1-onto-> C <-> F : B -1-1-onto-> C ) ) $=
    ( wceq wf1 wfo wa wf1o f1eq2 foeq2 anbi12d df-f1o 3bitr4g ) ABEZACDFZACDGZH
    BCDFZBCDGZHACDIBCDIOPRQSABCDJABCDKLACDMBCDMN $.

  $( Equality theorem for one-to-one onto functions.  (Contributed by set.mm
     contributors, 10-Feb-1997.) $)
  f1oeq3 $p |- ( A = B -> ( F : C -1-1-onto-> A <-> F : C -1-1-onto-> B ) ) $=
    ( wceq wf1 wfo wa wf1o f1eq3 foeq3 anbi12d df-f1o 3bitr4g ) ABEZCADFZCADGZH
    CBDFZCBDGZHCADICBDIOPRQSABCDJABCDKLCADMCBDMN $.

  $( Equality theorem for one-to-one onto functions.  (Contributed by FL,
     14-Jul-2012.) $)
  f1oeq23 $p |- ( ( A = B /\ C = D ) ->
   ( F : A -1-1-onto-> C <-> F : B -1-1-onto-> D ) ) $=
    ( wceq wf1o f1oeq2 f1oeq3 sylan9bb ) ABFACEGBCEGCDFBDEGABCEHCDBEIJ $.

  ${
    nff1o.1 $e |- F/_ x F $.
    nff1o.2 $e |- F/_ x A $.
    nff1o.3 $e |- F/_ x B $.
    $( Bound-variable hypothesis builder for a one-to-one onto function.
       (Contributed by NM, 16-May-2004.) $)
    nff1o $p |- F/ x F : A -1-1-onto-> B $=
      ( wf1o wf1 wfo wa df-f1o nff1 nffo nfan nfxfr ) BCDHBCDIZBCDJZKABCDLQRAAB
      CDEFGMABCDEFGNOP $.
  $}

  $( A one-to-one onto mapping is a one-to-one mapping.  (Contributed by set.mm
     contributors, 12-Dec-2003.) $)
  f1of1 $p |- ( F : A -1-1-onto-> B -> F : A -1-1-> B ) $=
    ( wf1o wf1 wfo df-f1o simplbi ) ABCDABCEABCFABCGH $.

  $( A one-to-one onto mapping is a mapping.  (Contributed by set.mm
     contributors, 12-Dec-2003.) $)
  f1of $p |- ( F : A -1-1-onto-> B -> F : A --> B ) $=
    ( wf1o wf1 wf f1of1 f1f syl ) ABCDABCEABCFABCGABCHI $.

  $( A one-to-one onto mapping is function on its domain.  (Contributed by
     set.mm contributors, 12-Dec-2003.) $)
  f1ofn $p |- ( F : A -1-1-onto-> B -> F Fn A ) $=
    ( wf1o wf wfn f1of ffn syl ) ABCDABCECAFABCGABCHI $.

  $( A one-to-one onto mapping is a function.  (Contributed by set.mm
     contributors, 12-Dec-2003.) $)
  f1ofun $p |- ( F : A -1-1-onto-> B -> Fun F ) $=
    ( wf1o wfn wfun f1ofn fnfun syl ) ABCDCAECFABCGACHI $.

  $( The domain of a one-to-one onto mapping.  (Contributed by set.mm
     contributors, 8-Mar-2014.) $)
  f1odm $p |- ( F : A -1-1-onto-> B -> dom F = A ) $=
    ( wf1o wfn cdm wceq f1ofn fndm syl ) ABCDCAECFAGABCHACIJ $.

  $( Alternate definition of one-to-one onto function.  (The proof was
     shortened by Andrew Salmon, 22-Oct-2011.)  (Contributed by set.mm
     contributors, 10-Feb-1997.)  (Revised by set.mm contributors,
     22-Oct-2011.) $)
  dff1o2 $p |- ( F : A -1-1-onto-> B
        <-> ( F Fn A /\ Fun `' F /\ ran F = B ) ) $=
    ( wf1o wf1 wfo wa wf ccnv wfun wfn crn w3a df-f1o df-f1 df-fo anbi12i ancom
    wceq 3anass an12 bitri anbi1i bitr4i wss eqimss df-f biimpri sylan2 3adant2
    anass pm4.71i 3bitr4i 3bitri ) ABCDABCEZABCFZGABCHZCIJZGZCAKZCLZBSZGZGZUTUR
    VBMZABCNUOUSUPVCABCOABCPQUQURVCGZGZVEUQGZVDVEVGVFUQGVHUQVFRVEVFUQVEUTURVBGG
    VFUTURVBTUTURVBUAUBUCUDUQURVCUKVEUQUTVBUQURVBUTVABUEZUQVABUFUQUTVIGABCUGUHU
    IUJULUMUN $.

  $( Alternate definition of one-to-one onto function.  (The proof was
     shortened by Andrew Salmon, 22-Oct-2011.)  (Contributed by set.mm
     contributors, 25-Mar-1998.)  (Revised by set.mm contributors,
     22-Oct-2011.) $)
  dff1o3 $p |- ( F : A -1-1-onto-> B <-> ( F : A -onto-> B /\ Fun `' F ) ) $=
    ( wfn ccnv wfun crn wceq w3a wf1o wfo df-3an an32 bitri dff1o2 df-fo anbi1i
    wa 3bitr4i ) CADZCEFZCGBHZIZTUBRZUARZABCJABCKZUARUCTUARUBRUETUAUBLTUAUBMNAB
    COUFUDUAABCPQS $.

  $( A one-to-one onto function is an onto function.  (Contributed by set.mm
     contributors, 28-Apr-2004.) $)
  f1ofo $p |- ( F : A -1-1-onto-> B -> F : A -onto-> B ) $=
    ( wf1o wfo ccnv wfun dff1o3 simplbi ) ABCDABCECFGABCHI $.

  $( Alternate definition of one-to-one onto function.  (The proof was
     shortened by Andrew Salmon, 22-Oct-2011.)  (Contributed by set.mm
     contributors, 25-Mar-1998.)  (Revised by set.mm contributors,
     22-Oct-2011.) $)
  dff1o4 $p |- ( F : A -1-1-onto-> B <-> ( F Fn A /\ `' F Fn B ) ) $=
    ( wf1o wfn ccnv wfun crn w3a wa dff1o2 3anass cdm dfrn4 eqeq1i anbi2i df-fn
    wceq bitr4i 3bitri ) ABCDCAEZCFZGZCHZBRZIUAUCUEJZJUAUBBEZJABCKUAUCUELUFUGUA
    UFUCUBMZBRZJUGUEUIUCUDUHBCNOPUBBQSPT $.

  $( Alternate definition of one-to-one onto function.  (The proof was
     shortened by Andrew Salmon, 22-Oct-2011.)  (Contributed by set.mm
     contributors, 10-Dec-2003.)  (Revised by set.mm contributors,
     22-Oct-2011.) $)
  dff1o5 $p |- ( F : A -1-1-onto-> B <-> ( F : A -1-1-> B /\ ran F = B ) ) $=
    ( wf1o wf1 wfo wa crn wceq df-f1o wf biantrurd dffo2 syl6rbbr pm5.32i bitri
    f1f ) ABCDABCEZABCFZGRCHBIZGABCJRSTRTABCKZTGSRUATABCQLABCMNOP $.

  $( A one-to-one function maps onto its range.  (Contributed by set.mm
     contributors, 13-Aug-2004.) $)
  f1orn $p |- ( F : A -1-1-onto-> ran F <-> ( F Fn A /\ Fun `' F ) ) $=
    ( wfn ccnv wfun crn wceq w3a wa wf1o df-3an dff1o2 eqid biantru 3bitr4i ) B
    ACZBDEZBFZRGZHPQIZSIARBJTPQSKARBLSTRMNO $.

  $( A one-to-one function maps one-to-one onto its range.  (Contributed by
     set.mm contributors, 4-Sep-2004.) $)
  f1f1orn $p |- ( F : A -1-1-> B -> F : A -1-1-onto-> ran F ) $=
    ( wf1 wfn ccnv wfun crn wf1o f1fn wf df-f1 simprbi f1orn sylanbrc ) ABCDZCA
    ECFGZACHCIABCJPABCKQABCLMACNO $.

  $( A class is a one-to-one onto function iff its converse is a one-to-one
     onto function with domain and range interchanged.  (Contributed by set.mm
     contributors, 8-Dec-2003.) (Modified by Scott Fenton, 17-Apr-2021.) $)
  f1ocnvb $p |- ( F : A -1-1-onto-> B <-> `' F : B -1-1-onto-> A ) $=
    ( ccnv wfn wa wf1o cnvcnv fneq1i anbi2i ancom bitri dff1o4 3bitr4ri ) CDZBE
    ZODZAEZFZCAEZPFZBAOGABCGSPTFUARTPAQCCHIJPTKLBAOMABCMN $.

  $( The converse of a one-to-one onto function is also one-to-one onto.  (The
     proof was shortened by Andrew Salmon, 22-Oct-2011.)  (Contributed by
     set.mm contributors, 11-Feb-1997.)  (Revised by set.mm contributors,
     22-Oct-2011.) $)
  f1ocnv $p |- ( F : A -1-1-onto-> B -> `' F : B -1-1-onto-> A ) $=
    ( wf1o ccnv f1ocnvb biimpi ) ABCDBACEDABCFG $.

  $( The restriction of a one-to-one function maps one-to-one onto the image.
     (Contributed by set.mm contributors, 25-Mar-1998.) $)
  f1ores $p |- ( ( F : A -1-1-> B /\ C C_ A ) -> ( F |` C ) : C -1-1-onto->
            ( F " C ) ) $=
    ( wf ccnv wfun wa wss cima cres wfo wf1 wf1o cdm ffun adantr sseq2d biimpar
    fdm fores syl2anc funres11 anim12i an32s df-f1 anbi1i dff1o3 3imtr4i ) ABDE
    ZDFGZHZCAIZHCDCJZDCKZLZUOFGZHZABDMZUMHCUNUONUJUMUKURUJUMHZUPUKUQUTDGZCDOZIZ
    UPUJVAUMABDPQUJVCUMUJVBACABDTRSCDUAUBCDUCUDUEUSULUMABDUFUGCUNUOUHUI $.

  $( The converse of a one-to-one-onto restricted function.  (Contributed by
     Paul Chapman, 21-Apr-2008.) $)
  f1orescnv $p |- ( ( Fun `' F /\ ( F |` R ) : R -1-1-onto-> P ) ->
                    ( `' F |` P ) : P -1-1-onto-> R ) $=
    ( ccnv wfun cres wf1o wa f1ocnv adantl wceq wb cima funcnvres dfima3 dff1o5
    crn wf1 simprbi syl5eq reseq2d sylan9eq f1oeq1 syl mpbid ) CDZEZBACBFZGZHZA
    BUHDZGZABUFAFZGZUIULUGBAUHIJUJUKUMKULUNLUGUIUKUFCBMZFUMBCNUIUOAUFUIUOUHQZAC
    BOUIBAUHRUPAKBAUHPSTUAUBABUKUMUCUDUE $.

  $( Preimage of an image.  (Contributed by set.mm contributors,
     30-Sep-2004.) $)
  f1imacnv $p |- ( ( F : A -1-1-> B /\ C C_ A )
                 -> ( `' F " ( F " C ) ) = C ) $=
    ( wf1 wss wa ccnv cima cres resima wfun wceq df-f1 simprbi adantr funcnvres
    wf 3syl wf1o imaeq1 f1ores f1ocnv crn cdm imadmrn fdm imaeq2 syl5reqr f1ofo
    f1of wfo forn syl eqtrd eqtr3d syl5eqr ) ABDEZCAFZGZDHZDCIZIVAVBJZVBIZCVAVB
    KUTDCJZHZVBIZVDCUTVALZVFVCMVGVDMURVHUSURABDRVHABDNOPCDQVFVCVBUASUTCVBVETVBC
    VFTZVGCMABCDUBCVBVEUCVIVGVFUDZCVIVJVFVFUEZIZVGVFUFVIVBCVFRVKVBMVLVGMVBCVFUK
    VBCVFUGVKVBVFUHSUIVIVBCVFULVJCMVBCVFUJVBCVFUMUNUOSUPUQ $.

  $( A reverse version of ~ f1imacnv .  (Contributed by Jeffrey Hankins,
     16-Jul-2009.) $)
  foimacnv $p |- ( ( F : A -onto-> B /\ C C_ B )
                 -> ( F " ( `' F " C ) ) = C ) $=
    ( wfo wss wa ccnv cima cres resima wfun wceq fofun adantr syl crn cdm dfrn4
    syl5eqr funcnvres2 imaeq1d wfn resss cnvss ax-mp cnvcnv sseqtri funss mpsyl
    dfima3 eqtr2i jctir df-fn sylibr df-dm forn sseq2d biimpar syl6sseq ssdmres
    sylib df-fo sylanbrc foima eqtr3d ) ABDEZCBFZGZDDHZCIZIDVKJZVKIZCDVKKVIVJCJ
    ZHZVKIZVMCVIVOVLVKVIDLZVOVLMVGVQVHABDNZOCDUAPUBVIVKCVOEZVPCMVIVOVKUCZVOQZCM
    VSVIVOLZVORZVKMZGVTVIWBWDVGWBVHVODFVGVQWBVOVJHZDVNVJFVOWEFVJCUDVNVJUEUFDUGU
    HVRVODUIUJOVKVNQWCVJCUKVNSULUMVOVKUNUOVIWAVNRZCVNUPVICVJRZFWFCMVICDQZWGVGCW
    HFVHVGWHBCABDUQURUSDSUTCVJVAVBTVKCVOVCVDVKCVOVEPVFT $.

  $( The union of two one-to-one onto functions with disjoint domains and
     ranges.  (Contributed by set.mm contributors, 26-Mar-1998.) $)
  f1oun $p |- ( ( ( F : A -1-1-onto-> B /\ G : C -1-1-onto-> D )
            /\ ( ( A i^i C ) = (/) /\ ( B i^i D ) = (/) ) )
           -> ( F u. G ) : ( A u. C ) -1-1-onto-> ( B u. D ) ) $=
    ( wf1o wa cin c0 wceq cun wfn ccnv wi dff1o4 fnun ex cnvun fneq1i im2anan9
    sylibr an4s syl2anb syl6ibr imp ) ABEGZCDFGZHZACIJKZBDIJKZHZACLZBDLZEFLZGZU
    IULUOUMMZUONZUNMZHZUPUGEAMZENZBMZHFCMZFNZDMZHULUTOZUHABEPCDFPVAVDVCVFVGVAVD
    HZUJUQVCVFHZUKUSVHUJUQACEFQRVIUKUSVIUKHVBVELZUNMUSBDVBVEQUNURVJEFSTUBRUAUCU
    DUMUNUOPUEUF $.

  ${
    $d A u v x z $.  $d A u v y $.  $d B u v y $.  $d B u v z $.
    $d C u v x z $.  $d D u v $.  $d S u v x $.  $d y z $.
    fun11iun.1 $e |- ( x = y -> B = C ) $.
    fun11iun.2 $e |- B e. _V $.
    $( The union of a chain (with respect to inclusion) of one-to-one functions
       is a one-to-one function.  (Contributed by Mario Carneiro,
       20-May-2013.)  (Revised by Mario Carneiro, 24-Jun-2015.) $)
    fun11iun $p |- ( A. x e. A ( B : D -1-1-> S /\
                       A. y e. A ( B C_ C \/ C C_ B ) ) ->
                     U_ x e. A B : U_ x e. A D -1-1-> S ) $=
      ( vz vu vv wss wa wfun wceq wrex wcel syl wex wf1 wo wral ciun wf wfn crn
      ccnv cdm cab cuni vex weq eqeq1 rexbidv elab r19.29 nfre1 nfab nfral nfan
      cv nfv wi f1eq1 biimparc f1fun df-f1 simprbi jca adantlr eqeq2d syl6bb wb
      cbvrexv sseq12 orbi12d biimprcd expdimp rexlimivw imp sylan an32s sylan2b
      ancoms ralrimiva adantll a1i rexlimi fun11uni simpld dfiun2 funeqi sylibr
      cop nfra1 eldm2 eleq2d syl5bbr adantr rexbida eliun exbii rexcom4 3bitr4i
      rsp f1dm 3bitr4g eqrdv df-fn sylanbrc elrn2 f1f frn sseld syl5bir rexlimd
      syl6 syl5bi ssrdv df-f simprd cnveqi ) FGDUAZDEMZEDMZUBZBCUCZNZACUCZACFUD
      ZGACDUDZUEZYLUHZOZYKGYLUAYJYLYKUFZYLUGZGMYMYJYLOZYLUIZYKPYPYJJVBZDPZACQZJ
      UJZUKZOZYRYJUUEUUDUHZOZYJKVBZOZUUHUHOZNZUUHLVBZMZUULUUHMZUBZLUUCUCZNZKUUC
      UCUUEUUGNYJUUQKUUCUUHUUCRYJUUHDPZACQZUUQUUBUUSJUUHKULJKUMUUAUURACYTUUHDUN
      UOUPYJUUSNYIUURNZACQUUQYIUURACUQUUTUUQACUUKUUPAUUKAVCUUOALUUCUUBAJUUAACUR
      USUUOAVCUTVAUUTUUQVDAVBCRZUUTUUKUUPYDUURUUKYHYDUURNFGUUHUAZUUKUURUVBYDFGU
      UHDVEVFUVBUUIUUJFGUUHVGUVBFGUUHUEUUJFGUUHVHVIVJSVKYHUURUUPYDYHUURNZUUOLUU
      CUULUUCRUVCUULEPZBCQZUUOUUBUVEJUULLULJLUMZUUBUULDPZACQUVEUVFUUAUVGACYTUUL
      DUNUOUVGUVDABCABUMDEUULHVLVOVMUPYHUVEUURUUOYHUVENYGUVDNZBCQZUURUUOYGUVDBC
      UQUVIUURUUOUVHUURUUOVDBCYGUVDUURUUOUVDUURNZUUOYGUVJUUMYEUUNYFUURUVDUUMYEV
      NUUHDUULEVPWEUULEUUHDVPVQVRVSVTWAWBWCWDWFWGVJWHWISWDWFUUCKLWJSZWKYLUUDAJC
      DIWLZWMWNYJKYSYKYJUUHUULWOZDRZLTZACQZUUHFRZACQUUHYSRZUUHYKRYJUVOUVQACYIAC
      WPZYJUVANYIUVOUVQVNZYJUVAYIYIACXFZWAYDUVTYHUVOUUHDUIZRYDUVQLUUHDWQYDUWBFU
      UHFGDXGWRWSWTSXAUVMYLRZLTUVNACQZLTUVRUVPUWCUWDLAUVMCDXBZXCLUUHYLWQUVNALCX
      DXEAUUHCFXBXHXIYLYKXJXKYJLYQGUULYQRZUVNKTZACQZYJUULGRZUWCKTUWDKTUWFUWHUWC
      UWDKUWEXCKUULYLXLUVNAKCXDXEYJUWGUWIACUVSUWIAVCYJUVAYIUWGUWIVDZUWAYDUWJYHU
      WGUULDUGZRYDUWIKUULDXLYDUWKGUULYDFGDUEUWKGMFGDXMFGDXNSXOXPWTXRXQXSXTYKGYL
      YAXKYJUUGYOYJUUEUUGUVKYBYNUUFYLUUDUVLYCWMWNYKGYLVHXK $.
  $}

  $( The restriction of a one-to-one onto function to a difference maps onto
     the difference of the images.  (Contributed by Paul Chapman,
     11-Apr-2009.) $)
  resdif $p |- ( ( Fun `' F /\ ( F |` A ) : A -onto-> C /\
                               ( F |` B ) : B -onto-> D ) ->
                 ( F |` ( A \ B ) ) : ( A \ B ) -1-1-onto-> ( C \ D ) ) $=
    ( ccnv wfun cres wfo cdif cima wf1o wss wceq syl wb ax-mp crn dfima3 wa w3a
    cdm fofun difss fof fdm syl5sseqr fores syl2anc resabs1 foeq1 rneqi 3eqtr4i
    wf foeq3 bitri sylib funres11 dff1o3 biimpri syl2anr 3adant3 syl5eq anim12i
    forn imadif difeq12 sylan9eq sylan2 3impb f1oeq3 mpbid ) EFGZACEAHZIZBDEBHZ
    IZUAZABJZEVSKZEVSHZLZVSCDJZWALZVMVOWBVQVOVSVTWAIZWAFGZWBVMVOVSVNVSKZVNVSHZI
    ZWEVOVNGVSVNUBZMWIACVNUCVOAVSWJABUDZVOACVNUNWJANACVNUEACVNUFOUGVSVNUHUIWIVS
    WGWAIZWEWHWANZWIWLPVSAMWMWKEVSAUJQZVSWGWHWAUKQWGVTNWLWEPWHRWARWGVTWHWAWNULV
    NVSSEVSSUMWGVTVSWAUOQUPUQVSEURWBWEWFTVSVTWAUSUTVAVBVRVTWCNZWBWDPVMVOVQWOVOV
    QTVMEAKZCNZEBKZDNZTZWOVOWQVQWSVOWPVNRCEASACVNVEVCVQWRVPRDEBSBDVPVEVCVDVMWTV
    TWPWRJWCABEVFWPCWRDVGVHVIVJVTWCVSWAVKOVL $.

  $( The restriction of a one-to-one onto function to an intersection maps onto
     the intersection of the images.  (Contributed by Paul Chapman,
     11-Apr-2009.) $)
  resin $p |- ( ( Fun `' F /\ ( F |` A ) : A -onto-> C /\
                               ( F |` B ) : B -onto-> D ) ->
      ( F |` ( A i^i B ) ) : ( A i^i B ) -1-1-onto-> ( C i^i D ) ) $=
    ( ccnv wfun cres wfo w3a cdif wf1o cin resdif f1ofo syl wceq wb dfin4 ax-mp
    syld3an3 f1oeq3 f1oeq2 reseq2i f1oeq1 3bitrri sylib ) EFGZACEAHIZBDEBHIZJZA
    ABKZKZCCDKZKZEUMHZLZABMZCDMZEURHZLZUHUIUJULUNEULHZIZUQUKULUNVBLVCABCDENULUN
    VBOPAULCUNENUAVAURUOUTLZUMUOUTLZUQUSUOQVAVDRCDSUSUOURUTUBTURUMQVDVERABSZURU
    MUOUTUCTUTUPQVEUQRURUMEVFUDUMUOUTUPUETUFUG $.

  $( Composition of one-to-one onto functions.  (Contributed by set.mm
     contributors, 19-Mar-1998.) $)
  f1oco $p |- ( ( F : B -1-1-onto-> C /\ G : A -1-1-onto-> B ) ->
              ( F o. G ) : A -1-1-onto-> C ) $=
    ( wf1 wfo wa ccom wf1o f1co foco anim12i an4s df-f1o anbi12i 3imtr4i ) BCDF
    ZBCDGZHZABEFZABEGZHZHACDEIZFZACUDGZHZBCDJZABEJZHACUDJRUASUBUGRUAHUESUBHUFAB
    CDEKABCDELMNUHTUIUCBCDOABEOPACUDOQ $.

  $( The composition of a one-to-one onto function and its converse equals the
     identity relation restricted to the function's range.  (Contributed by
     set.mm contributors, 13-Dec-2003.) $)
  f1ococnv2 $p |- ( F : A -1-1-onto-> B -> ( F o. `' F ) = ( _I |` B ) ) $=
    ( wf1o ccnv ccom cid cdm cres wfun wceq f1ofun wss df-fun bitri sylib df-dm
    iss crn dmcoeq ax-mp dfrn4 eqtr4i wfo f1ofo forn syl syl5eq reseq2d eqtrd )
    ABCDZCCEZFZGUMHZIZGBIUKCJZUMUOKZABCLUPUMGMUQCNUMROPUKUNBGUKUNCSZBUNULHZURCH
    ULSKUNUSKCQCULTUACUBUCUKABCUDURBKABCUEABCUFUGUHUIUJ $.

  $( The composition of a one-to-one onto function's converse and itself equals
     the identity relation restricted to the function's domain.  (Contributed
     by set.mm contributors, 13-Dec-2003.) $)
  f1ococnv1 $p |- ( F : A -1-1-onto-> B -> ( `' F o. F ) = ( _I |` A ) ) $=
    ( wf1o ccnv ccom cid cres cnvcnv coeq2i wceq f1ocnv f1ococnv2 syl syl5eqr )
    ABCDZCEZCFQQEZFZGAHZRCQCIJPBAQDSTKABCLBAQMNO $.

  $( The converse of an injective function is bijective.  (Contributed by FL,
     11-Nov-2011.) $)
  f1cnv $p |- ( F : A -1-1-> B -> `' F : ran F -1-1-onto-> A ) $=
    ( wf1 crn wf1o ccnv f1f1orn f1ocnv syl ) ABCDACEZCFKACGFABCHAKCIJ $.

  $( Composition of an injective function with its converse.  (Contributed by
     FL, 11-Nov-2011.) $)
  f1cocnv1 $p |- ( F : A -1-1-> B -> ( `' F o. F ) = ( _I |` A ) ) $=
    ( wf1 crn wf1o ccnv ccom cid cres wceq f1f1orn f1ococnv1 syl ) ABCDACEZCFCG
    CHIAJKABCLAOCMN $.

  $( Composition of an injective function with its converse.  (Contributed by
     FL, 11-Nov-2011.) $)
  f1cocnv2 $p |- ( F : A -1-1-> B -> ( F o. `' F ) = ( _I |` ran F ) ) $=
    ( wf1 crn wf1o ccnv ccom cid cres wceq f1f1orn f1ococnv2 syl ) ABCDACEZCFCC
    GHIOJKABCLAOCMN $.

  ${
    $d x F $.  $d x A $.  $d x B $.
    f11o.1 $e |- F e. _V $.
    $( Relationship between a mapping and an onto mapping.  Figure 38 of
       [Enderton] p. 145.  (Contributed by set.mm contributors,
       10-May-1998.) $)
    ffoss $p |- ( F : A --> B <-> E. x ( F : A -onto-> x /\ x C_ B ) ) $=
      ( wf cv wfo wss wa wex crn wfn df-f dffn4 anbi1i bitri rnex wceq foeq3
      sseq1 anbi12d spcev sylbi fof fss sylan exlimiv impbii ) BCDFZBAGZDHZUKCI
      ZJZAKZUJBDLZDHZUPCIZJZUOUJDBMZURJUSBCDNUTUQURBDOPQUNUSAUPDERUKUPSULUQUMUR
      UKUPBDTUKUPCUAUBUCUDUNUJAULBUKDFUMUJBUKDUEBUKCDUFUGUHUI $.

    $( Relationship between one-to-one and one-to-one onto function.
       (Contributed by set.mm contributors, 4-Apr-1998.) $)
    f11o $p |- ( F : A -1-1-> B <-> E. x ( F : A -1-1-onto-> x /\ x C_ B ) ) $=
      ( wf ccnv wfun wa cv wfo wss wex wf1 wf1o ffoss anbi1i df-f1 dff1o3 bitri
      an32 exbii 19.41v 3bitr4i ) BCDFZDGHZIBAJZDKZUGCLZIZAMZUFIZBCDNBUGDOZUIIZ
      AMZUEUKUFABCDEPQBCDRUOUJUFIZAMULUNUPAUNUHUFIZUIIUPUMUQUIBUGDSQUHUFUIUATUB
      UJUFAUCTUD $.
  $}

  $( The empty set maps one-to-one into any class.  (Contributed by set.mm
     contributors, 7-Apr-1998.) $)
  f10 $p |- (/) : (/) -1-1-> A $=
    ( c0 wf1 wf ccnv wfun f0 fun0 cnv0 funeqi mpbir df-f1 mpbir2an ) BABCBABDBE
    ZFZAGOBFHNBIJKBABLM $.

  $( One-to-one onto mapping of the empty set.  (Contributed by set.mm
     contributors, 15-Apr-1998.) $)
  f1o00 $p |- ( F : (/) -1-1-onto-> A <-> ( F = (/) /\ A = (/) ) ) $=
    ( c0 wf1o wfn ccnv wceq dff1o4 fn0 biimpi adantr cdm dm0 cnveq syl6eq sylbi
    wa cnv0 fneq1d jca biimpa fndm syl syl5reqr biimpri eqid mpbir fneq2 mpbiri
    sylan9bb impbii bitri ) CABDBCEZBFZAEZQZBCGZACGZQZCABHUPUSUPUQURUMUQUOUMUQB
    IZJKUPCCLZAMUPCAEZVAAGUMUOVBUMAUNCUMUQUNCGUTUQUNCFCBCNROZPSUAACUBUCUDTUSUMU
    OUQUMURUMUQUTUEKUSUOCCEZVDCCGCUFCIUGUQUOVBURVDUQAUNCVCSACCUHUJUITUKUL $.

  $( Onto mapping of the empty set.  (Contributed by set.mm contributors,
     22-Mar-2006.) $)
  fo00 $p |- ( F : (/) -onto-> A <-> ( F = (/) /\ A = (/) ) ) $=
    ( c0 wfo wf1o wceq wf1 wfn fofn fn0 f10 f1eq1 mpbiri sylbi syl ancri df-f1o
    wa sylibr f1ofo impbii f1o00 bitri ) CABDZCABEZBCFZACFRUDUEUDCABGZUDRUEUDUG
    UDBCHZUGCABIUHUFUGBJUFUGCACGAKCABCLMNOPCABQSCABTUAABUBUC $.

  $( One-to-one onto mapping of the empty set.  (Contributed by set.mm
     contributors, 10-Feb-2004.)  (Revised by set.mm contributors,
     16-Feb-2004.) $)
  f1o0 $p |- (/) : (/) -1-1-onto-> (/) $=
    ( wf1o wf1 wfo f10 wfn crn wceq wfun cdm fun0 dm0 df-fn mpbir2an rn0 df-f1o
    c0 df-fo ) PPPAPPPBPPPCZPDRPPEZPFPGSPHPIPGJKPPLMNPPPQMPPPOM $.

  $( A restriction of the identity relation is a one-to-one onto function.
     (The proof was shortened by Andrew Salmon, 22-Oct-2011.)  (Contributed by
     set.mm contributors, 30-Apr-1998.)  (Revised by set.mm contributors,
     22-Oct-2011.) $)
  f1oi $p |- ( _I |` A ) : A -1-1-onto-> A $=
    ( cid cres wf1o wfn ccnv fnresi cnvresid fneq1i mpbir dff1o4 mpbir2an ) AAB
    ACZDMAEZMFZAEZAGZPNQAOMAHIJAAMKL $.

  $( The identity relation is a one-to-one onto function on the universe.
     (Contributed by set.mm contributors, 16-May-2004.) $)
  f1ovi $p |- _I : _V -1-1-onto-> _V $=
    ( cvv cid wf1o wfn ccnv wfun cdm wceq funi df-fn mpbir2an cnvi fneq1i mpbir
    dmi dff1o4 ) AABCBADZBEZADZQBFBGAHIOBAJKZSQTARBLMNAABPK $.

  ${
    f1osn.1 $e |- A e. _V $.
    f1osn.2 $e |- B e. _V $.
    $( A singleton of an ordered pair is one-to-one onto function.  (The proof
       was shortened by Andrew Salmon, 22-Oct-2011.)  (Contributed by set.mm
       contributors, 18-May-1998.)  (Revised by set.mm contributors,
       22-Oct-2011.) $)
    f1osn $p |- { <. A , B >. } : { A } -1-1-onto-> { B } $=
      ( csn cop wf1o wfn ccnv fnsn cnvsn fneq1i mpbir dff1o4 mpbir2an ) AEZBEZA
      BFEZGRPHRIZQHZABCDJTBAFEZQHBADCJQSUAABCDKLMPQRNO $.
  $}

  ${
    $d A a b $.  $d B b $.
    $( A singleton of an ordered pair is one-to-one onto function.
       (Contributed by Mario Carneiro, 12-Jan-2013.) $)
    f1osng $p |- ( ( A e. V /\ B e. W ) ->
                   { <. A , B >. } : { A } -1-1-onto-> { B } ) $=
      ( va vb cv csn cop wf1o wceq sneq f1oeq2 syl opeq1 f1oeq1 3syl bitrd vex
      wb f1oeq3 opeq2 f1osn vtocl2g ) EGZHZFGZHZUEUGIZHZJZAHZUHAUGIZHZJZULBHZAB
      IZHZJZEFABCDUEAKZUKULUHUJJZUOUTUFULKUKVATUEALUFULUHUJMNUTUIUMKUJUNKVAUOTU
      EAUGOUIUMLULUHUJUNPQRUGBKZUOULUPUNJZUSVBUHUPKUOVCTUGBLUHUPULUNUANVBUMUQKU
      NURKVCUSTUGBAUBUMUQLULUPUNURPQRUEUGESFSUCUD $.
  $}

  ${
    $d x y A $.  $d x y F $.
    $( Alternate definition of function value.  Definition 10.11 of [Quine]
       p. 68.  (The proof was shortened by Andrew Salmon, 17-Sep-2011.)
       (Contributed by set.mm contributors, 30-Apr-2004.)  (Revised by set.mm
       contributors, 18-Sep-2011.) $)
    fv2 $p |- ( F ` A ) = U. { x | A. y ( A F y <-> y = x ) } $=
      ( cfv cv wbr cio weq wb wal cab cuni df-fv dfiota2 eqtri ) CDECBFDGZBHQBA
      IJBKALMBCDNQBAOP $.
  $}

  ${
    $d x A $.  $d x F $.
    $( A function's value at a proper class is the empty set.  (Contributed by
       set.mm contributors, 20-May-1998.) $)
    fvprc $p |- ( -. A e. _V -> ( F ` A ) = (/) ) $=
      ( vx cvv wcel wn cfv cv wbr cio c0 df-fv weu wceq wex euex simpld exlimiv
      brex syl con3i iotanul syl5eq ) ADEZFZABGACHZBIZCJZKCABLUEUGCMZFUHKNUIUDU
      IUGCOUDUGCPUGUDCUGUDUFDEAUFBSQRTUAUGCUBTUC $.
  $}

  ${
    $d x A $.  $d x y B $.  $d x y F $.
    $( Membership in a function value.  (Contributed by set.mm contributors,
       30-Apr-2004.) $)
    elfv $p |- ( A e. ( F ` B ) <->
               E. x ( A e. x /\ A. y ( B F y <-> y = x ) ) ) $=
      ( cfv wcel cv wbr weq wb wal cab cuni wa wex fv2 eleq2i eluniab bitri ) C
      DEFZGCDBHEIBAJKBLZAMNZGCAHGUBOAPUAUCCABDEQRUBACST $.
  $}

  ${
    $d x A $.  $d x B $.  $d x F $.  $d x G $.
    $( Equality theorem for function value.  (Contributed by set.mm
       contributors, 29-Dec-1996.) $)
    fveq1 $p |- ( F = G -> ( F ` A ) = ( G ` A ) ) $=
      ( vx wceq cv wbr cio cfv breq iotabidv df-fv 3eqtr4g ) BCEZADFZBGZDHAOCGZ
      DHABIACINPQDAOBCJKDABLDACLM $.

    $( Equality theorem for function value.  (Contributed by set.mm
       contributors, 29-Dec-1996.) $)
    fveq2 $p |- ( A = B -> ( F ` A ) = ( F ` B ) ) $=
      ( vx wceq cv wbr cio cfv breq1 iotabidv df-fv 3eqtr4g ) ABEZADFZCGZDHBOCG
      ZDHACIBCINPQDABOCJKDACLDBCLM $.
  $}

  ${
    fveq1i.1 $e |- F = G $.
    $( Equality inference for function value.  (Contributed by set.mm
       contributors, 2-Sep-2003.) $)
    fveq1i $p |- ( F ` A ) = ( G ` A ) $=
      ( wceq cfv fveq1 ax-mp ) BCEABFACFEDABCGH $.
  $}

  ${
    fveq1d.1 $e |- ( ph -> F = G ) $.
    $( Equality deduction for function value.  (Contributed by set.mm
       contributors, 2-Sep-2003.) $)
    fveq1d $p |- ( ph -> ( F ` A ) = ( G ` A ) ) $=
      ( wceq cfv fveq1 syl ) ACDFBCGBDGFEBCDHI $.
  $}

  ${
    fveq2i.1 $e |- A = B $.
    $( Equality inference for function value.  (Contributed by set.mm
       contributors, 28-Jul-1999.) $)
    fveq2i $p |- ( F ` A ) = ( F ` B ) $=
      ( wceq cfv fveq2 ax-mp ) ABEACFBCFEDABCGH $.
  $}

  ${
    fveq2d.1 $e |- ( ph -> A = B ) $.
    $( Equality deduction for function value.  (Contributed by set.mm
       contributors, 29-May-1999.) $)
    fveq2d $p |- ( ph -> ( F ` A ) = ( F ` B ) ) $=
      ( wceq cfv fveq2 syl ) ABCFBDGCDGFEBCDHI $.
  $}

  ${
    fveq12d.1 $e |- ( ph -> F = G ) $.
    fveq12d.2 $e |- ( ph -> A = B ) $.
    $( Equality deduction for function value.  (Contributed by FL,
       22-Dec-2008.) $)
    fveq12d $p |- ( ph -> ( F ` A ) = ( G ` B ) ) $=
      ( cfv fveq1d fveq2d eqtrd ) ABDHBEHCEHABDEFIABCEGJK $.
  $}

  ${
    $d y F $.  $d y A $.  $d x y $.
    nffv.1 $e |- F/_ x F $.
    nffv.2 $e |- F/_ x A $.
    $( Bound-variable hypothesis builder for function value.  (Contributed by
       NM, 14-Nov-1995.)  (Revised by Mario Carneiro, 15-Oct-2016.) $)
    nffv $p |- F/_ x ( F ` A ) $=
      ( vy cfv cv wbr cio df-fv nfcv nfbr nfiota nfcxfr ) ABCGBFHZCIZFJFBCKQAFA
      BPCEDAPLMNO $.
  $}

  ${
    $d z A $.  $d z F $.  $d x z $.
    nffvd.2 $e |- ( ph -> F/_ x F ) $.
    nffvd.3 $e |- ( ph -> F/_ x A ) $.
    $( Deduction version of bound-variable hypothesis builder ~ nffv .
       (Contributed by NM, 10-Nov-2005.)  (Revised by Mario Carneiro,
       15-Oct-2016.) $)
    nffvd $p |- ( ph -> F/_ x ( F ` A ) ) $=
      ( vz cv wcel wal cab cfv wnfc nfaba1 nffv wb wa nfnfc1 wceq abidnf adantr
      nfan adantl fveq12d nfceqdf syl2anc mpbii ) ABGHZCIZBJGKZUHDIZBJGKZLZMZBC
      DLZMZBUJULUKBGNUIBGNOABDMZBCMZUNUPPEFUQURQZBUMUOUQURBBDRBCRUBUSUJCULDUQUL
      DSURBGDTUAURUJCSUQBGCTUCUDUEUFUG $.
  $}

  ${
    $d y A $.  $d y B $.  $d y C $.  $d y F $.  $d x y $.
    $( Move class substitution in and out of a function value.  (Contributed by
       NM, 11-Nov-2005.) $)
    csbfv12g $p |- ( A e. C ->
                 [_ A / x ]_ ( F ` B ) = ( [_ A / x ]_ F ` [_ A / x ]_ B ) ) $=
      ( vy wcel wbr cio csb cfv csbiotag sbcbrg csbconstg breq2d bitrd iotabidv
      cv wsbc df-fv eqtrd csbeq2i 3eqtr4g ) BDGZABCFRZEHZFIZJZABCJZUEABEJZHZFIZ
      ABCEKZJUIUJKUDUHUFABSZFIULUFAFBDLUDUNUKFUDUNUIABUEJZUJHUKABCUEDEMUDUOUEUI
      UJABUEDNOPQUAABUMUGFCETUBFUIUJTUC $.
  $}

  ${
    $d F x $.
    $( Move class substitution in and out of a function value.  (Contributed by
       NM, 10-Nov-2005.) $)
    csbfv2g $p |- ( A e. C -> [_ A / x ]_ ( F ` B ) =
                  ( F ` [_ A / x ]_ B ) ) $=
      ( wcel cfv csb csbfv12g csbconstg fveq1d eqtrd ) BDFZABCEGHABCHZABEHZGNEG
      ABCDEIMNOEABEDJKL $.

    $( Substitution for a function value.  (Contributed by NM, 1-Jan-2006.) $)
    csbfvg $p |- ( A e. C -> [_ A / x ]_ ( F ` x ) = ( F ` A ) ) $=
      ( wcel cv cfv csb csbfv2g csbvarg fveq2d eqtrd ) BCEZABAFZDGHABNHZDGBDGAB
      NCDIMOBDABCJKL $.
  $}

  ${
    $d x A $.  $d x F $.
    $( The value of a class exists.  Corollary 6.13 of [TakeutiZaring] p. 27.
       (Contributed by set.mm contributors, 30-Dec-1996.) $)
    fvex $p |- ( F ` A ) e. _V $=
      ( vx cfv cv wbr cio cvv df-fv iotaex eqeltri ) ABDACEBFZCGHCABILCJK $.
  $}

  $( Move a conditional outside of a function.  (Contributed by Jeff Madsen,
     2-Sep-2009.) $)
  fvif $p |- ( F ` if ( ph , A , B ) ) = if ( ph , ( F ` A ) , ( F ` B ) ) $=
    ( cif cfv fveq2 ifsb ) ABCABCEZDFBDFCDFIBDGICDGH $.

  ${
    $d x y z F $.  $d x y z A $.
    $( Alternate definition of the value of a function.  Definition 6.11 of
       [TakeutiZaring] p. 26.  (Contributed by NM, 30-Apr-2004.)  (Revised by
       Mario Carneiro, 31-Aug-2015.) $)
    fv3 $p |- ( F ` A ) = { x | ( E. y ( x e. y /\ A F y ) /\
              E! y A F y ) } $=
      ( vz cv wcel wbr wa wex weu cfv wceq wb wal elfv wi bi2 breq2 sylib alimi
      vex ceqsalv anim2i eximi elequ2 anbi12d cbvexv 19.40 simprd df-eu jca nfv
      sylibr nfeu1 nfa1 nfan nfex nfim bi1 ax-14 syl6 com23 imp3a anc2ri eximdv
      sps com12 syl5bi exlimi imp impbii bitri abbi2i ) AFZBFZGZCVPDHZIZBJZVRBK
      ZIZACDLZVOWCGVOEFZGZVRVPWDMZNZBOZIZEJZWBEBVOCDPWJWBWJVTWAWJWECWDDHZIZEJVT
      WIWLEWHWKWEWHWFVRQZBOWKWGWMBVRWFRUAVRWKBWDEUBVPWDCDSUCTUDUEWLVSEBWDVPMWEV
      QWKVREBAUFWDVPCDSUGUHTWJWHEJZWAWJWEEJWNWEWHEUIUJVRBEUKZUNULVTWAWJVSWAWJQB
      WAWJBVRBUOWIBEWEWHBWEBUMWGBUPUQURUSWAWNVSWJWOVSWHWIEWHVSWIWHVSWEWGVSWEQBW
      GVQVRWEWGVRVQWEWGVRWFVQWEQVRWFUTBEAVAVBVCVDVGVEVHVFVIVJVKVLVMVN $.
  $}

  ${
    $d x F $.  $d x A $.  $d x B $.
    $( The value of a restricted function.  (Contributed by set.mm
       contributors, 2-Aug-1994.)  (Revised by set.mm contributors,
       16-Feb-2004.) $)
    fvres $p |- ( A e. B -> ( ( F |` B ) ` A ) = ( F ` A ) ) $=
      ( vx wcel cv cres wbr cio cfv iba brres syl6rbbr iotabidv df-fv 3eqtr4g
      wa ) ABEZADFZCBGZHZDIASCHZDIATJACJRUAUBDRUBUBRQUARUBKASCBLMNDATODACOP $.
  $}

  $( The value of a member of the domain of a subclass of a function.
     (Contributed by set.mm contributors, 15-Aug-1994.)  (Revised by set.mm
     contributors, 29-May-2007.) $)
  funssfv $p |- ( ( Fun F /\ G C_ F /\ A e. dom G ) ->
                ( F ` A ) = ( G ` A ) ) $=
    ( wfun wss cdm wcel cfv wceq wa cres fvres eqcomd funssres fveq1d sylan9eqr
    3impa ) BDZCBEZACFZGZABHZACHZIUARSJZUBABTKZHZUCUAUFUBATBLMUDAUECBCNOPQ $.

  ${
    $d A x y $.  $d B x $.  $d F x y $.
    $( Function value.  Theorem 6.12(1) of [TakeutiZaring] p. 27.  (Contributed
       by NM, 30-Apr-2004.) $)
    tz6.12-1 $p |- ( ( A F B /\ E! y A F y ) -> ( F ` A ) = B ) $=
      ( vx cv wbr weu cfv wceq nfv breq2 cbveu wa cio cvv wcel brrelrnex adantr
      df-fv wi iota2 biimpd ex com23 imp3a mpcom syl5eq sylan2b ) BAFZDGZAHBCDG
      ZBEFZDGZEHZBDIZCJUKUNAEUKEKUNAKUJUMBDLMULUONZUPUNEOZCEBDTCPQZUQURCJZULUSU
      OBCDRSUSULUOUTUSUOULUTUSUOULUTUAUSUONULUTUNULECPUMCBDLUBUCUDUEUFUGUHUI $.

    $( Function value.  Theorem 6.12(1) of [TakeutiZaring] p. 27.  (Contributed
       by NM, 10-Jul-1994.) $)
    tz6.12 $p |- ( ( <. A , B >. e. F /\ E! y <. A , y >. e. F ) ->
                 ( F ` A ) = B ) $=
      ( cop wcel cv weu wa wbr cfv wceq df-br eubii anbi12i tz6.12-1 sylbir ) B
      CEDFZBAGZEDFZAHZIBCDJZBSDJZAHZIBDKCLUBRUDUABCDMUCTABSDMNOABCDPQ $.
  $}

  ${
    $d x y z A $.  $d x y z F $.
    $( Function value when ` F ` is not a function.  Theorem 6.12(2) of
       [TakeutiZaring] p. 27.  (Contributed by set.mm contributors,
       30-Apr-2004.) $)
    tz6.12-2 $p |- ( -. E! y A F y -> ( F ` A ) = (/) ) $=
      ( vx vz cv wbr weu wn cfv wel wa wex cab c0 fv3 wcel vex weq anbi1d con3i
      elequ1 exbidv elab simprbi eq0rdv syl5eq ) BAFCGZAHZIZBCJDAKZUHLZAMZUILZD
      NZODABCPUJEUOEFZUOQZUIUQEAKZUHLZAMZUIUNUTUILDUPERDESZUMUTUIVAULUSAVAUKURU
      HDEAUBTUCTUDUEUAUFUG $.
  $}

  ${
    $d y F $.  $d y A $.
    $( Corollary of Theorem 6.12(1) of [TakeutiZaring] p. 27.  (Contributed by
       NM, 30-Apr-2004.) $)
    tz6.12c $p |- ( E! y A F y -> ( ( F ` A ) = B <-> A F B ) ) $=
      ( cv wbr weu cfv wceq wex euex wi nfeu1 nfv tz6.12-1 expcom breq2 biimprd
      nfim syli com12 exlimi mpcom syl5ibcom impbid ) BAEZDFZAGZBDHZCIZBCDFZUHB
      UIDFZUJUKUGAJUHULUGAKUGUHULLAUHULAUGAMULANSUHUGULUGUHUIUFIZULUGUHUMABUFDO
      PUMULUGUIUFBDQRTUAUBUCUICBDQUDUKUHUJABCDOPUE $.
  $}

  ${
    $d y F $.  $d y A $.  $d y B $.
    $( Corollary of Theorem 6.12(2) of [TakeutiZaring] p. 27.  (Contributed by
       set.mm contributors, 30-Apr-2004.)  (Revised by set.mm contributors,
       6-Apr-2007.) $)
    tz6.12i $p |- ( B =/= (/) -> ( ( F ` A ) = B -> A F B ) ) $=
      ( vy cfv wceq c0 wne wbr wi cv tz6.12-2 necon1ai eqid tz6.12c mpbii neeq1
      weu syl breq2 imbi12d com12 ) ACEZBFZBGHZABCIZUDUCGHZAUCCIZJUEUFJUGADKCID
      RZUHUIUCGDACLMUIUCUCFUHUCNDAUCCOPSUDUGUEUHUFUCBGQUCBACTUAPUB $.
  $}

  ${
    $d x A $.  $d x F $.
    $( The value of a class outside its domain is the empty set.  (Contributed
       by set.mm contributors, 24-Aug-1995.) $)
    ndmfv $p |- ( -. A e. dom F -> ( F ` A ) = (/) ) $=
      ( vx cdm wcel cv wbr wex cfv c0 wceq eldm wn weu euex tz6.12-2 syl sylnbi
      con3i ) ABDEACFBGZCHZABIJKZCABLUAMTCNZMUBUCUATCOSCABPQR $.
  $}

  ${
    ndmfvrcl.1 $e |- dom F = S $.
    ndmfvrcl.2 $e |- -. (/) e. S $.
    $( Reverse closure law for function with the empty set not in its domain.
       (Contributed by set.mm contributors, 26-Apr-1996.) $)
    ndmfvrcl $p |- ( ( F ` A ) e. S -> A e. S ) $=
      ( cfv wcel cdm wn c0 ndmfv eleq1d mtbiri con4i syl6eleq ) ACFZBGZACHZBARG
      ZQSIZQJBGETPJBACKLMNDO $.
  $}

  $( If a function value has a member, the argument belongs to the domain.
     (Contributed by set.mm contributors, 12-Feb-2007.) $)
  elfvdm $p |- ( A e. ( F ` B ) -> B e. dom F ) $=
    ( cfv wcel c0 wne cdm ne0i ndmfv necon1ai syl ) ABCDZEMFGBCHEZMAINMFBCJKL
    $.

  $( The value of a non-member of a restriction is the empty set.  (Contributed
     by set.mm contributors, 13-Nov-1995.) $)
  nfvres $p |- ( -. A e. B -> ( ( F |` B ) ` A ) = (/) ) $=
    ( wcel wn cres cdm cfv c0 wceq cin wa dmres eleq2i elin bitri simplbi con3i
    ndmfv syl ) ABDZEACBFZGZDZEAUBHIJUDUAUDUAACGZDZUDABUEKZDUAUFLUCUGACBMNABUEO
    PQRAUBST $.

  ${
    $d x y A $.  $d x y F $.
    $( If the restriction of a class to a singleton is not a function, its
       value is the empty set.  (Contributed by NM, 8-Aug-2010.)  (Proof
       shortened by Andrew Salmon, 22-Oct-2011.) $)
    nfunsn $p |- ( -. Fun ( F |` { A } ) -> ( F ` A ) = (/) ) $=
      ( vx vy cfv c0 wceq csn cres wfun wn cv wbr wmo wal weu eumo wcel sylbi
      wa brres wb elsn breq1 biimpac moimi tz6.12-2 nsyl4 alrimiv dffun6 sylibr
      syl con1i ) ABEFGZBAHZIZJZUNKZCLZDLZUPMZDNZCOUQURVBCAUTBMZDPZVBUNVDVCDNVB
      VCDQVAVCDVAUSUTBMZUSUORZTVCUSUTBUOUAVFVEVCVFUSAGVEVCUBCAUCUSAUTBUDSUESUFU
      LDABUGUHUICDUPUJUKUM $.
  $}

  $( Function value of the empty set.  (Contributed by Stefan O'Rear,
     26-Nov-2014.) $)
  fv01 $p |- ( (/) ` A ) = (/) $=
    ( c0 cdm wcel wn cfv wceq noel dm0 eleq2i mtbir ndmfv ax-mp ) ABCZDZEABFBGO
    ABDAHNBAIJKABLM $.

  $( Equal values imply equal values in a restriction.  (Contributed by set.mm
     contributors, 13-Nov-1995.) $)
  fveqres $p |- ( ( F ` A ) = ( G ` A ) ->
                ( ( F |` B ) ` A ) = ( ( G |` B ) ` A ) ) $=
    ( wcel cfv wceq cres wi fvres eqeq12d biimprd wn nfvres eqtr4d a1d pm2.61i
    c0 ) ABEZACFZADFZGZACBHFZADBHFZGZISUEUBSUCTUDUAABCJABDJKLSMZUEUBUFUCRUDABCN
    ABDNOPQ $.

  ${
    $d y A $.  $d y F $.  $d y B $.
    $( The second argument of a binary relation on a function is the function's
       value.  (Contributed by NM, 30-Apr-2004.)  (Revised by Mario Carneiro,
       28-Apr-2015.) $)
    funbrfv $p |- ( Fun F -> ( A F B -> ( F ` A ) = B ) ) $=
      ( vy wfun wbr cfv wceq wa cv weu funeu tz6.12-1 sylan2 anabss7 ex ) CEZAB
      CFZACGBHZQRSQRIRADJCFDKSDABCLDABCMNOP $.
  $}

  $( The second element in an ordered pair member of a function is the
     function's value.  (Contributed by set.mm contributors, 19-Jul-1996.) $)
  funopfv $p |- ( Fun F -> ( <. A , B >. e. F -> ( F ` A ) = B ) ) $=
    ( cop wcel wbr wfun cfv wceq df-br funbrfv syl5bir ) ABDCEABCFCGACHBIABCJAB
    CKL $.

  ${
    $d x F $.  $d x A $.  $d x B $.  $d x C $.
    $( Equivalence of function value and binary relation.  (Contributed by NM,
       19-Apr-2004.)  (Revised by Mario Carneiro, 28-Apr-2015.) $)
    fnbrfvb $p |- ( ( F Fn A /\ B e. A ) ->
                   ( ( F ` B ) = C <-> B F C ) ) $=
      ( vx wfn wcel wa cv wbr weu cfv wceq wb fneu tz6.12c syl ) DAFBAGHBEIDJEK
      BDLCMBCDJNEABDOEBCDPQ $.

  $}

  $( Equivalence of function value and ordered pair membership.  (Contributed
     by set.mm contributors, 9-Jan-2015.) $)
  fnopfvb $p |- ( ( F Fn A /\ B e. A ) ->
                   ( ( F ` B ) = C <-> <. B , C >. e. F ) ) $=
    ( wfn wcel wa cfv wceq wbr cop fnbrfvb df-br syl6bb ) DAEBAFGBDHCIBCDJBCKDF
    ABCDLBCDMN $.

  $( Equivalence of function value and binary relation.  (Contributed by set.mm
     contributors, 9-Jan-2015.) $)
  funbrfvb $p |- ( ( Fun F /\ A e. dom F ) ->
                   ( ( F ` A ) = B <-> A F B ) ) $=
    ( wfun cdm wfn wcel cfv wceq wbr wb funfn fnbrfvb sylanb ) CDCCEZFAOGACHBIA
    BCJKCLOABCMN $.

  $( Equivalence of function value and ordered pair membership.  Theorem
     4.3(ii) of [Monk1] p. 42.  (Contributed by set.mm contributors,
     9-Jan-2015.) $)
  funopfvb $p |- ( ( Fun F /\ A e. dom F ) ->
                   ( ( F ` A ) = B <-> <. A , B >. e. F ) ) $=
    ( wfun cdm wcel wa cfv wceq wbr cop funbrfvb df-br syl6bb ) CDACEFGACHBIABC
    JABKCFABCLABCMN $.

  ${
    $d x y z w A $.  $d x y B $.  $d x y z w F $.

    $( Function value in terms of a binary relation.  (Contributed by Mario
       Carneiro, 19-Mar-2014.) $)
    funbrfv2b $p |- ( Fun F ->
                       ( A F B <-> ( A e. dom F /\ ( F ` A ) = B ) ) ) $=
      ( wfun wbr cdm wcel cfv wceq breldm a1i pm4.71rd funbrfvb pm5.32da bitr4d
      wa wi ) CDZABCEZACFGZSPTACHBIZPRSTSTQRABCJKLRTUASABCMNO $.

    $( Representation of a function in terms of its values.  (Contributed by
       set.mm contributors, 29-Jan-2004.) $)
    dffn5 $p |- ( F Fn A <->
                   F = { <. x , y >. | ( x e. A /\ y = ( F ` x ) ) } ) $=
      ( vz vw wfn cv wcel cfv wceq wa copab cop fnop ex pm4.71rd eqcom vex weq
      fnopfvb syl5bb pm5.32da bitr4d eleq1 fveq2 eqeq2d anbi12d anbi2d opelopab
      eqeq1 syl6bbr eqrelrdv fvex eqid fnopab2 fneq1 mpbiri impbii ) DCGZDAHZCI
      ZBHZVADJZKZLZABMZKZUTEFDVGUTEHZFHZNZDIZVICIZVJVIDJZKZLZVKVGIUTVLVMVLLVPUT
      VLVMUTVLVMCVIVJDOPQUTVMVOVLVOVNVJKUTVMLVLVJVNRCVIVJDUAUBUCUDVFVMVCVNKZLVP
      ABVIVJESFSAETZVBVMVEVQVAVICUEVRVDVNVCVAVIDUFUGUHBFTVQVOVMVCVJVNUKUIUJULUM
      VHUTVGCGABCVDVGVADUNVGUOUPCDVGUQURUS $.

    $( The range of a function expressed as a collection of the function's
       values.  (Contributed by set.mm contributors, 20-Oct-2005.) $)
    fnrnfv $p |- ( F Fn A -> ran F = { y | E. x e. A y = ( F ` x ) } ) $=
      ( wfn crn cv cop wcel wex cab wceq wrex dfrn3 wa fnop ex pm4.71rd fnopfvb
      cfv pm5.32da bitr4d exbidv eqcom rexbii df-rex syl6bbr abbidv syl5eq
      bitri ) DCEZDFAGZBGZHDIZAJZBKUMULDTZLZACMZBKABDNUKUOURBUKUOULCIZUPUMLZOZA
      JZURUKUNVAAUKUNUSUNOVAUKUNUSUKUNUSCULUMDPQRUKUSUTUNCULUMDSUAUBUCURUTACMVB
      UQUTACUMUPUDUEUTACUFUJUGUHUI $.

    $( A member of a function's range is a value of the function.  (Contributed
       by set.mm contributors, 31-Oct-1995.) $)
    fvelrnb $p |- ( F Fn A -> ( B e. ran F <-> E. x e. A ( F ` x ) = B ) ) $=
      ( vy wfn crn wcel cv cfv wceq wrex cab fnrnfv eleq2d cvv fvex eleq1 mpbii
      syl6bb rexlimivw eqeq1 eqcom rexbidv elab3 ) DBFZCDGZHCEIZAIZDJZKZABLZEMZ
      HUJCKZABLZUFUGUMCAEBDNOULUOECUNCPHZABUNUJPHUPUIDQUJCPRSUAUHCKZUKUNABUQUKC
      UJKUNUHCUJUBCUJUCTUDUET $.

    $( Alternate definition of the image of a function.  (Contributed by Raph
       Levien, 20-Nov-2006.) $)
    dfimafn $p |- ( ( Fun F /\ A C_ dom F ) ->
                  ( F " A ) = { y | E. x e. A ( F ` x ) = y } ) $=
      ( wfun cdm wss wa cv cfv wceq wrex cab cima wcel wb ssel2 funbrfvb sylan2
      wbr anassrs rexbidva abbidv df-ima syl6reqr ) DEZCDFZGZHZAIZDJBIZKZACLZBM
      UJUKDTZACLZBMDCNUIUMUOBUIULUNACUFUHUJCOZULUNPZUHUPHUFUJUGOUQCUGUJQUJUKDRS
      UAUBUCBADCUDUE $.

    $( Alternate definition of the image of a function as an indexed union of
       singletons of function values.  (Contributed by Raph Levien,
       20-Nov-2006.) $)
    dfimafn2 $p |- ( ( Fun F /\ A C_ dom F ) ->
                   ( F " A ) = U_ x e. A { ( F ` x ) } ) $=
      ( vy wfun cdm wss wa cima cv cfv wceq cab ciun wrex dfimafn iunab syl6eqr
      csn wcel df-sn eqcom abbii eqtri a1i iuneq2i ) CEBCFGHZCBIZABAJZCKZDJZLZD
      MZNZABUJSZNUGUHULABODMUNADBCPULADBQRABUOUMUOUMLUIBTUOUKUJLZDMUMDUJUAUPULD
      UKUJUBUCUDUEUFR $.

    $( Membership relation for the values of a function whose image is a
       subclass.  (Contributed by Raph Levien, 20-Nov-2006.) $)
    funimass4 $p |- ( ( Fun F /\ A C_ dom F ) ->
                    ( ( F " A ) C_ B <-> A. x e. A ( F ` x ) e. B ) ) $=
      ( vy cima wss cv wcel wi wal wfun cdm wa cfv wral dfss2 wceq wrex syl5bb
      wbr wb ssel2 eqcom funbrfvb sylan2 anassrs rexbidva elima syl6rbbr imbi1d
      r19.23v syl6bbr albidv ralcom4 fvex eleq1 ceqsalv ralbii bitr3i syl6bb )
      DBFZCGEHZVBIZVCCIZJZEKZDLZBDMZGZNZAHZDOZCIZABPZEVBCQVKVGVCVMRZVEJZABPZEKZ
      VOVKVFVREVKVFVPABSZVEJVRVKVDVTVEVKVTVLVCDUAZABSVDVKVPWAABVHVJVLBIZVPWAUBZ
      VJWBNVHVLVIIZWCBVIVLUCVPVMVCRVHWDNWAVCVMUDVLVCDUETUFUGUHAVCDBUIUJUKVPVEAB
      ULUMUNVSVQEKZABPVOVQAEBUOWEVNABVEVNEVMVLDUPVCVMCUQURUSUTVAT $.

    $( Function value in an image.  Part of Theorem 4.4(iii) of [Monk1] p. 42.
       (The proof was shortened by Andrew Salmon, 22-Oct-2011.)  (Contributed
       by set.mm contributors, 29-Apr-2004.)  (Revised by set.mm contributors,
       22-Oct-2011.) $)
    fvelima $p |- ( ( Fun F /\ A e. ( F " B ) ) ->
                  E. x e. B ( F ` x ) = A ) $=
      ( wfun cima wcel cv cfv wceq wrex wbr elima funbrfv reximdv syl5bi imp )
      DEZBDCFGZAHZDIBJZACKZSTBDLZACKRUBABDCMRUCUAACTBDNOPQ $.
  $}

  ${
    $d y A $.  $d x y B $.  $d x y C $.  $d x y F $.
    $( Function value in an image.  (The proof was shortened by Andrew Salmon,
       22-Oct-2011.)  (An unnecessary distinct variable restriction was removed
       by David Abernethy, 17-Dec-2011.)  (Contributed by set.mm contributors,
       20-Jan-2007.)  (Revised by set.mm contributors, 25-Dec-2011.) $)
    fvelimab $p |- ( ( F Fn A /\ B C_ A ) -> ( C e. ( F " B ) <->
                  E. x e. B ( F ` x ) = C ) ) $=
      ( vy wfn wss wa cima wcel cv cfv wceq wrex cvv anim2i eleq1 wb wi rexbidv
      elex fvex mpbii rexlimivw eqeq2 bibi12d imbi2d wfun cdm fnfun adantr fndm
      cab sseq2d biimpar dfimafn syl2anc abeq2d vtoclg impcom pm5.21nd ) EBGZCB
      HZIZDECJZKZALZEMZDNZACOZVEDPKZIVGVLVEDVFUBQVKVLVEVJVLACVJVIPKVLVHEUCVIDPR
      UDUEQVLVEVGVKSZVEFLZVFKZVIVNNZACOZSZTVEVMTFDPVNDNZVRVMVEVSVOVGVQVKVNDVFRV
      SVPVJACVNDVIUFUAUGUHVEVQFVFVEEUIZCEUJZHZVFVQFUNNVCVTVDBEUKULVCWBVDVCWABCB
      EUMUOUPAFCEUQURUSUTVAVB $.
  $}

  $( Membership in the preimage of a singleton, under a function.  (Contributed
     by Mario Carneiro, 12-May-2014.) $)
  fniniseg $p |- ( F Fn A ->
                 ( C e. ( `' F " { B } ) <-> ( C e. A /\ ( F ` C ) = B ) ) ) $=
    ( ccnv csn cima wcel wbr wfn cfv wceq wa eliniseg breldm fndm eleq2d syl5ib
    cdm pm4.71rd fnbrfvb pm5.32da bitr4d syl5bb ) CDEBFGHCBDIZDAJZCAHZCDKBLZMZD
    BCNUFUEUGUEMUIUFUEUGUECDSZHUFUGCBDOUFUJACADPQRTUFUGUHUEACBDUAUBUCUD $.

  ${
    $d x y A $.  $d y B $.  $d x y F $.
    $( The indexed intersection of a function's values is the intersection of
       its range.  (Contributed by set.mm contributors, 20-Oct-2005.) $)
    fniinfv $p |- ( F Fn A -> |^|_ x e. A ( F ` x ) = |^| ran F ) $=
      ( vy wfn crn cint cv cfv wceq wrex cab ciin fnrnfv inteqd dfiin2 syl6reqr
      fvex ) CBEZCFZGDHAHZCIZJABKDLZGABUBMSTUCADBCNOADBUBUACRPQ $.

    $( Singleton of function value.  (Contributed by set.mm contributors,
       22-May-1998.) $)
    fnsnfv $p |- ( ( F Fn A /\ B e. A ) -> { ( F ` B ) } = ( F " { B } ) ) $=
      ( vy wfn wcel wa cv cfv wceq cab wbr csn cima eqcom fnbrfvb syl5bb abbidv
      df-sn imasn 3eqtr4g ) CAEBAFGZDHZBCIZJZDKBUCCLZDKUDMCBMNUBUEUFDUEUDUCJUBU
      FUCUDOABUCCPQRDUDSDBCTUA $.
  $}

  $( The image of a pair under a funtion.  (Contributed by Jeff Madsen,
     6-Jan-2011.) $)
  fnimapr $p |- ( ( F Fn A /\ B e. A /\ C e. A ) ->
                          ( F " { B , C } ) = { ( F ` B ) , ( F ` C ) } ) $=
    ( wfn wcel w3a csn cima cun cfv fnsnfv 3adant3 3adant2 uneq12d eqcomd df-pr
    cpr wceq imaeq2i imaundi eqtri 3eqtr4g ) DAEZBAFZCAFZGZDBHZIZDCHZIZJZBDKZHZ
    CDKZHZJZDBCRZIZUMUORUGUQULUGUNUIUPUKUDUEUNUISUFABDLMUDUFUPUKSUEACDLNOPUSDUH
    UJJZIULURUTDBCQTDUHUJUAUBUMUOQUC $.

  $( A simplified expression for the value of a function when we know it's a
     function.  (Contributed by NM, 22-May-1998.) $)
  funfv $p |- ( Fun F -> ( F ` A ) = U. ( F " { A } ) ) $=
    ( wfun cdm wcel cfv csn cima cuni wceq fvex unisn wfn df-fn mpbiran2 fnsnfv
    wa eqid unieqd c0 sylanbr syl5eqr ex wn ndmfv ndmima syl6eq eqtr4d pm2.61d1
    uni0 ) BCZABDZEZABFZBAGHZIZJZUKUMUQUKUMQZUNUNGZIUPUNABKLURUSUOUKBULMZUMUSUO
    JUTUKULULJULRBULNOULABPUASUBUCUMUDZUNTUPABUEVAUPTITVAUOTABUFSUJUGUHUI $.

  ${
    $d y A $.  $d y F $.
    $( The value of a function.  Definition of function value in [Enderton]
       p. 43.  (Contributed by set.mm contributors, 22-May-1998.)  (Revised by
       set.mm contributors, 11-May-2005.) $)
    funfv2 $p |- ( Fun F -> ( F ` A ) = U. { y | A F y } ) $=
      ( wfun cfv csn cima cuni cv wbr cab funfv imasn unieqi syl6eq ) CDBCECBFG
      ZHBAICJAKZHBCLPQABCMNO $.
  $}

  ${
    $d w A $.  $d w F $.  $d w y $.
    funfv2f.1 $e |- F/_ y A $.
    funfv2f.2 $e |- F/_ y F $.
    $( The value of a function.  Version of ~ funfv2 using a bound-variable
       hypotheses instead of distinct variable conditions.  (Contributed by NM,
       19-Feb-2006.) $)
    funfv2f $p |- ( Fun F -> ( F ` A ) = U. { y | A F y } ) $=
      ( vw wfun cfv wbr cab cuni funfv2 nfcv nfbr nfv breq2 cbvab unieqi syl6eq
      cv ) CGBCHBFTZCIZFJZKBATZCIZAJZKFBCLUCUFUBUEFAABUACDEAUAMNUEFOUAUDBCPQRS
      $.
  $}

  $( Value of the union of two functions when the domains are separate.
     (Contributed by FL, 7-Nov-2011.) $)
  fvun $p |- ( ( ( Fun F /\ Fun G ) /\ ( dom F i^i dom G ) = (/) ) ->
                ( ( F u. G ) ` A ) = ( ( F ` A ) u. ( G ` A ) ) ) $=
    ( wfun wa cdm cin c0 wceq cun cfv csn cima cuni funun funfv imaundir eqcomd
    syl a1i unieqd uniun anim12i adantr uneq12 syl5eq 3eqtrd ) BDZCDZEZBFCFGHIZ
    EZABCJZKZUMALZMZNZBUOMZCUOMZJZNZABKZACKZJZULUMDUNUQIBCOAUMPSULUPUTUPUTIULBC
    UOQTUAULVAURNZUSNZJZVDURUSUBULVEVBIZVFVCIZEZVGVDIUJVJUKUHVHUIVIUHVBVEABPRUI
    VCVFACPRUCUDVEVBVFVCUESUFUG $.

  ${
    $d A x $.  $d B x $.  $d X x $.
    $( The value of a union when the argument is in the first domain.
       (Contributed by Scott Fenton, 29-Jun-2013.) $)
    fvun1 $p |- ( ( F Fn A /\ G Fn B /\ ( ( A i^i B ) = (/) /\ X e. A ) ) ->
    ( ( F u. G ) ` X ) = ( F ` X ) ) $=
      ( vx wfn cin c0 wceq wcel wa cun cfv wfun cdm fnfun 3ad2ant2 fndm wn fvun
      w3a 3ad2ant1 ineq12 syl2an eqeq1d biimprd adantrd 3impia syl21anc cv wral
      wi disj eleq1 notbid rspccv sylbi imp 3ad2ant3 eleq2d mtbird ndmfv uneq2d
      syl eqtrd un0 syl6eq ) CAGZDBGZABHZIJZEAKZLZUBZECDMNZECNZIMZVQVOVPVQEDNZM
      ZVRVOCOZDOZCPZDPZHZIJZVPVTJVIVJWAVNACQUCVJVIWBVNBDQRVIVJVNWFVIVJLZVLWFVMW
      GWFVLWGWEVKIVIWCAJWDBJZWEVKJVJACSBDSZWCAWDBUDUEUFUGUHUIECDUAUJVOVSIVQVOEW
      DKZTVSIJVOWJEBKZVNVIWKTZVJVLVMWLVLFUKZBKZTZFAULVMWLUMFABUNWOWLFEAWMEJWNWK
      WMEBUOUPUQURUSUTVOWDBEVJVIWHVNWIRVAVBEDVCVEVDVFVQVGVH $.
  $}

  $( The value of a union when the argument is in the second domain.
     (Contributed by Scott Fenton, 29-Jun-2013.) $)
  fvun2 $p |- ( ( F Fn A /\ G Fn B /\ ( ( A i^i B ) = (/) /\ X e. B ) ) ->
    ( ( F u. G ) ` X ) = ( G ` X ) ) $=
    ( wfn cin c0 wceq wcel w3a cun cfv uncom fveq1i incom eqeq1i anbi1i fvun1
    wa syl3an3b 3com12 syl5eq ) CAFZDBFZABGZHIZEBJZTZKECDLZMEDCLZMZEDMZEUJUKCDN
    OUEUDUIULUMIZUIUEUDBAGZHIZUHTUNUGUPUHUFUOHABPQRBADCESUAUBUC $.

  ${
    $d y z A $.  $d y z F $.  $d y z G $.
    $( Domains of a function composition.  (Contributed by set.mm contributors,
       27-Jan-1997.) $)
    dmfco $p |- ( ( Fun G /\ A e. dom G ) ->
               ( A e. dom ( F o. G ) <-> ( G ` A ) e. dom F ) ) $=
      ( vy vz wfun cdm wcel wa cv wbr wex cfv ccom wceq fvex breq1 ceqsexv eldm
      exbidv eqcom funbrfvb syl5bb anbi1d syl5rbbr brco exbii bitri 3bitr4g ) C
      FACGHIZADJZCKZUKEJZBKZIZDLZELZACMZUMBKZELABCNZGHZURBGHUJUPUSEUSUKUROZUNIZ
      DLUJUPUNUSDURACPUKURUMBQRUJVCUODUJVBULUNVBURUKOUJULUKURUAAUKCUBUCUDTUETVA
      AUMUTKZELUQEAUTSVDUPEDAUMBCUFUGUHEURBSUI $.

    $d C y z $.
    $( Value of a function composition.  Similar to second part of Theorem 3H
       of [Enderton] p. 47.  (The proof was shortened by Andrew Salmon,
       22-Oct-2011.)  (Contributed by set.mm contributors, 9-Oct-2004.)
       (Revised by set.mm contributors, 22-Oct-2011.) $)
    fvco2 $p |- ( ( G Fn A /\ C e. A ) ->
             ( ( F o. G ) ` C ) = ( F ` ( G ` C ) ) ) $=
      ( vy vz csn cima cv wceq cab cfv wbr cio df-iota df-fv imasn eqeq1i abbii
      cuni wfn wcel wa ccom fnsnfv imaeq2d syl6reqr eqeq1d abbidv unieqd unieqi
      imaco 3eqtr4i 3eqtr4g ) DAUABAUBUCZCDUDZBGZHZEIGZJZEKZTZCBDLZGZHZUSJZEKZT
      ZBUPLZVCCLZUOVAVGUOUTVFEUOURVEUSUOVECDUQHZHURUOVDVKCABDUEUFCDUQULUGUHUIUJ
      BFIZUPMZFNVMFKZUSJZEKZTVIVBVMFEOFBUPPVAVPUTVOEURVNUSFBUPQRSUKUMVCVLCMZFNV
      QFKZUSJZEKZTVJVHVQFEOFVCCPVGVTVFVSEVEVRUSFVCCQRSUKUMUN $.

  $}

  $( Value of a function composition.  Similar to Exercise 5 of [TakeutiZaring]
     p. 28.  (Contributed by set.mm contributors, 22-Apr-2006.) $)
  fvco $p |- ( ( Fun G /\ A e. dom G ) ->
               ( ( F o. G ) ` A ) = ( F ` ( G ` A ) ) ) $=
    ( wfun cdm wfn wcel ccom cfv wceq funfn fvco2 sylanb ) CDCCEZFANGABCHIACIBI
    JCKNABCLM $.

  $( Value of a function composition.  (Contributed by set.mm contributors,
     3-Jan-2004.)  (Revised by set.mm contributors, 21-Aug-2006.) $)
  fvco3 $p |- ( ( G : A --> B /\ C e. A ) ->
             ( ( F o. G ) ` C ) = ( F ` ( G ` C ) ) ) $=
    ( wf wfn wcel ccom cfv wceq ffn fvco2 sylan ) ABEFEAGCAHCDEIJCEJDJKABELACDE
    MN $.

  ${
    $d x y A $.  $d y B $.  $d x y C $.  $d x y D $.
    $( Closed theorem form of ~ fvopab4 .  (Contributed by set.mm contributors,
       21-Feb-2013.) $)
    fvopab4t $p |- ( ( A. x A. y ( x = A -> B = C )
      /\ A. x F = { <. x , y >. | ( x e. D /\ y = B ) }
      /\ ( A e. D /\ C e. V ) ) -> ( F ` A ) = C ) $=
      ( wcel wa cv wceq wi wal copab cvv cfv elex wfun wb anim2i funopab4 simp2
      w3a cop 19.21bi funeqd mpbiri simp3l eqidd eleq1 eqeq2 bi2anan9 ex 2alimi
      a2i 3ad2ant1 eqeq1 anbi2d gen2 simp3 opelopabt syl3anc mpbir2and eleqtrrd
      a1i funopfv sylc syl3an3 ) CFIZEHIZJAKZCLZDELZMZBNANZGVLFIZBKZDLZJZABOZLZ
      ANZVJEPIZJZCGQELZVKWDVJEHRUAVPWCWEUDZGSZCEUEZGIWFWGWHWASVQABDUBWGGWAWGWBA
      VPWCWEUCUFZUGUHWGWIWAGWGWIWAIZVJEELZVPWCVJWDUIWGEUJWGVMVTVJVRELZJZTZMZBNA
      NZWMWNVJWLJZTMZBNANZWEWKWRTVPWCWQWEVOWPABVMVNWOVMVNWOVMVQVJVNVSWMVLCFUKDE
      VRULUMUNUPUOUQWTWGWSABWMWMWLVJVREEURUSUTVFVPWCWEVAVTWNWRABCEFPVBVCVDWJVEC
      EGVGVHVI $.
  $}

  ${
    $d x y A $.  $d x y B $.  $d x y C $.  $d x y ch $.
    fvopab3g.1 $e |- B e. _V $.
    fvopab3g.2 $e |- ( x = A -> ( ph <-> ps ) ) $.
    fvopab3g.3 $e |- ( y = B -> ( ps <-> ch ) ) $.
    fvopab3g.4 $e |- ( x e. C -> E! y ph ) $.
    fvopab3g.5 $e |- F = { <. x , y >. | ( x e. C /\ ph ) } $.
    $( Value of a function given by ordered-pair class abstraction.
       (Contributed by set.mm contributors, 6-Mar-1996.) $)
    fvopab3g $p |- ( A e. C -> ( ( F ` A ) = B <-> ch ) ) $=
      ( wcel cv wa wceq cvv wb cop copab cfv eleq1 anbi12d anbi2d opelopabg wfn
      mpan2 fnopab fnopfvb mpan eleq2i syl6bb ibar 3bitr4d ) FHOZFGUAZDPZHOZAQZ
      DEUBZOZUQCQZFIUCGRZCUQGSOVCVDTJVAUQBQVDDEFGHSUSFRUTUQABUSFHUDKUEEPGRBCUQL
      UFUGUIUQVEURIOZVCIHUHUQVEVFTADEHIMNUJHFGIUKULIVBURNUMUNUQCUOUP $.
  $}

  ${
    $d x y A $.  $d x y B $.  $d x y C $.  $d x y ch $.
    fvopab3ig.1 $e |- ( x = A -> ( ph <-> ps ) ) $.
    fvopab3ig.2 $e |- ( y = B -> ( ps <-> ch ) ) $.
    fvopab3ig.3 $e |- ( x e. C -> E* y ph ) $.
    fvopab3ig.4 $e |- F = { <. x , y >. | ( x e. C /\ ph ) } $.
    $( Value of a function given by ordered-pair class abstraction.
       (Contributed by set.mm contributors, 23-Oct-1999.) $)
    fvopab3ig $p |- ( ( A e. C /\ B e. D ) -> ( ch -> ( F ` A ) = B ) ) $=
      ( wcel wa cv cfv wceq wmo copab cop funopab wi moanimv mpbir mpgbir simpl
      wfun eleq1 anbi12d anbi2d opelopabg biimprd funopfv fveq1i eqeq1i syl6ibr
      mpand ee02 ) FHOZGIOZPZCFDQZHOZAPZDEUAZRZGSZFJRZGSVGUIZVCCFGUBVGOZVIVKVFE
      TZDVFDEUCVMVEAETUDMVEAEUEUFUGVCVACVLVAVBUHVCVLVACPZVFVABPVNDEFGHIVDFSVEVA
      ABVDFHUJKUKEQGSBCVALULUMUNUSFGVGUOUTVJVHGFJVGNUPUQUR $.
  $}

  ${
    $d x y A $.  $d y B $.  $d x y C $.  $d x y D $.
    fvopab4g.1 $e |- ( x = A -> B = C ) $.
    fvopab4g.2 $e |- F = { <. x , y >. | ( x e. D /\ y = B ) } $.
    $( Value of a function given by ordered-pair class abstraction.
       (Contributed by set.mm contributors, 23-Oct-1999.) $)
    fvopab4g $p |- ( ( A e. D /\ C e. R ) -> ( F ` A ) = C ) $=
      ( wcel wa wceq cfv eqid cv eqeq2d eqeq1 wmo moeq a1i fvopab3ig mpi ) CFKE
      GKLEEMZCHNEMEOBPZDMZUEEMUDABCEFGHAPZCMDEUEIQUEEERUFBSUGFKBDTUAJUBUC $.

    ${
      fvopab4.3 $e |- C e. _V $.
      $( Value of a function given by ordered-pair class abstraction.
         (Contributed by set.mm contributors, 23-Oct-1999.) $)
      fvopab4 $p |- ( A e. D -> ( F ` A ) = C ) $=
        ( wcel cvv cfv wceq fvopab4g mpan2 ) CFKELKCGMENJABCDEFLGHIOP $.
    $}
  $}

  ${
    $d x y A $.
    fvopab4ndm.1 $e |- F = { <. x , y >. | ( x e. A /\ ph ) } $.
    $( Value of a function given by an ordered-pair class abstraction, outside
       of its domain.  (Contributed by set.mm contributors, 28-Mar-2008.) $)
    fvopab4ndm $p |- ( -. B e. A -> ( F ` B ) = (/) ) $=
      ( wcel wn cdm cfv c0 wceq cv wa copab dmeqi dmopabss eqsstri sseli con3i
      ndmfv syl ) EDHZIEFJZHZIEFKLMUFUDUEDEUEBNDHAOBCPZJDFUGGQABCDRSTUAEFUBUC
      $.
  $}

  ${
    $d x y A $.  $d y B $.  $d x y C $.
    fvopabg.1 $e |- ( x = A -> B = C ) $.
    $( The value of a function given by ordered-pair class abstraction.
       (Contributed by set.mm contributors, 2-Sep-2003.) $)
    fvopabg $p |- ( ( A e. V /\ C e. W ) ->
                    ( { <. x , y >. | y = B } ` A ) = C ) $=
      ( wcel cvv cv wceq copab cfv elex wa vex biantrur opabbii fvopab4g sylan
      ) CFICJIEGICBKDLZABMZNELCFOABCDEJGUCHUBAKJIZUBPABUDUBAQRSTUA $.
  $}

  ${
    $d x y A $.  $d y B $.  $d x y F $.  $d x y G $.  $d x ph $.
    $( Equality of functions is determined by their values.  Special case of
       Exercise 4 of [TakeutiZaring] p. 28 (with domain equality omitted).
       (The proof was shortened by Andrew Salmon, 22-Oct-2011.)  (Contributed
       by set.mm contributors, 3-Aug-1994.)  (Revised by set.mm contributors,
       22-Oct-2011.) $)
    eqfnfv $p |- ( ( F Fn A /\ G Fn A ) -> ( F = G <->
                 A. x e. A ( F ` x ) = ( G ` x ) ) ) $=
      ( vy wfn wa wceq cv cfv wcel wi wal wb adantl fnopfvb syl5ib cdm opeldm
      wn wral fveq1 ralrimivw cop pm2.27 eqeq1 adantlr adantll syld expcom fndm
      bibi12d eleq2d adantr con3d impcom 2falsed ex a1dd pm2.61i alrimdv alimdv
      df-ral eqrel 3imtr4g impbid2 ) CBFZDBFZGZCDHZAIZCJZVKDJZHZABUAZVJVNABVKCD
      UBUCVIVKBKZVNLZAMVKEIZUDZCKZVSDKZNZEMZAMVOVJVIVQWCAVIVQWBEVPVIVQWBLZLVIVP
      WDVIVPGZVQVNWBVPVQVNLVIVPVNUEOVNVLVRHZVMVRHZNWEWBVLVMVRUFWEWFVTWGWAVGVPWF
      VTNVHBVKVRCPUGVHVPWGWANVGBVKVRDPUHULQUIUJVPTZVIWBVQWHVIWBWHVIGVTWAVIWHVTT
      VIVTVPVGVTVPLVHVTVKCRZKVGVPVKVRCSVGWIBVKBCUKUMQUNUOUPVIWHWATVIWAVPVHWAVPL
      VGWAVKDRZKVHVPVKVRDSVHWJBVKBDUKUMQOUOUPUQURUSUTVAVBVNABVCAECDVDVEVF $.

    $( Equality of functions is determined by their values.  Exercise 4 of
       [TakeutiZaring] p. 28.  (Contributed by set.mm contributors,
       3-Aug-1994.)  (Revised by set.mm contributors, 5-Feb-2004.) $)
    eqfnfv2 $p |- ( ( F Fn A /\ G Fn B ) -> ( F = G <->
                 ( A = B /\ A. x e. A ( F ` x ) = ( G ` x ) ) ) ) $=
      ( wfn wa wceq cv cfv wral dmeq fndm eqeqan12d syl5ib pm4.71rd wb biimparc
      cdm fneq2 eqfnfv sylan2 anassrs pm5.32da bitrd ) DBFZECFZGZDEHZBCHZUIGUJA
      IZDJUKEJHABKZGUHUIUJUIDSZESZHUHUJDELUFUGUMBUNCBDMCEMNOPUHUJUIULUFUGUJUIUL
      QZUGUJGUFEBFZUOUJUPUGBCETRABDEUAUBUCUDUE $.

    $d x B $.
    $( Derive equality of functions from equality of their values.
       (Contributed by Jeff Madsen, 2-Sep-2009.) $)
    eqfnfv3 $p |- ( ( F Fn A /\ G Fn B ) -> ( F = G <-> ( B C_ A /\ A. x e. A
                                  ( x e. B /\ ( F ` x ) = ( G ` x ) ) ) ) ) $=
      ( wfn wa wceq cv cfv wral wss wcel eqfnfv2 ancom bitri anbi1i anass dfss3
      eqss r19.26 bitr4i anbi2i 3bitri syl6bb ) DBFECFGDEHBCHZAIZDJUGEJHZABKZGZ
      CBLZUGCMZUHGABKZGZABCDENUJUKBCLZGZUIGUKUOUIGZGUNUFUPUIUFUOUKGUPBCTUOUKOPQ
      UKUOUIRUQUMUKUQULABKZUIGUMUOURUIABCSQULUHABUAUBUCUDUE $.
    eqfnfvd.1 $e |- ( ph -> F Fn A ) $.
    eqfnfvd.2 $e |- ( ph -> G Fn A ) $.
    eqfnfvd.3 $e |- ( ( ph /\ x e. A ) -> ( F ` x ) = ( G ` x ) ) $.
    $( Deduction for equality of functions.  (Contributed by Mario Carneiro,
       24-Jul-2014.) $)
    eqfnfvd $p |- ( ph -> F = G ) $=
      ( wceq cv cfv wral ralrimiva wfn wb eqfnfv syl2anc mpbird ) ADEIZBJZDKTEK
      IZBCLZAUABCHMADCNECNSUBOFGBCDEPQR $.
  $}

  ${
    $d x z A $.  $d z F $.  $d z G $.
    eqfnfv2f.1 $e |- F/_ x F $.
    eqfnfv2f.2 $e |- F/_ x G $.
    $( Equality of functions is determined by their values.  Special case of
       Exercise 4 of [TakeutiZaring] p. 28 (with domain equality omitted).
       This version of ~ eqfnfv uses bound-variable hypotheses instead of
       distinct variable conditions.  (Contributed by NM, 29-Jan-2004.) $)
    eqfnfv2f $p |- ( ( F Fn A /\ G Fn A ) -> ( F = G <->
                 A. x e. A ( F ` x ) = ( G ` x ) ) ) $=
      ( vz wfn wa wceq cv cfv wral eqfnfv nfcv nffv nfeq nfv fveq2 eqeq12d
      cbvral syl6bb ) CBHDBHICDJGKZCLZUCDLZJZGBMAKZCLZUGDLZJZABMGBCDNUFUJGABAUD
      UEAUCCEAUCOZPAUCDFUKPQUJGRUCUGJUDUHUEUIUCUGCSUCUGDSTUAUB $.
  $}

  ${
    $d F x $.  $d G x $.
    $( Equality of functions is determined by their values.  (Contributed by
       Scott Fenton, 19-Jun-2011.) $)
    eqfunfv $p |- ( ( Fun F /\ Fun G ) -> ( F = G <->
                    ( dom F = dom G /\
                      A. x e. dom F ( F ` x ) = ( G ` x ) ) ) ) $=
      ( wfun cdm wfn wceq cv cfv wral wa wb funfn eqfnfv2 syl2anb ) BDBBEZFCCEZ
      FBCGPQGAHZBIRCIGAPJKLCDBMCMAPQBCNO $.
  $}

  ${
    $d x B $.  $d x F $.  $d x G $.
    $( Equality of restricted functions is determined by their values.
       (Contributed by set.mm contributors, 3-Aug-1994.)  (Revised by set.mm
       contributors, 6-Feb-2004.) $)
    fvreseq $p |- ( ( ( F Fn A /\ G Fn A ) /\ B C_ A ) ->
         ( ( F |` B ) = ( G |` B ) <-> A. x e. B ( F ` x ) = ( G ` x ) ) ) $=
      ( wfn wa wss cres wceq cv cfv wral wb fnssres anim12i anandirs wcel fvres
      eqfnfv eqeq12d ralbiia syl6bb syl ) DBFZEBFZGCBHZGDCIZCFZECIZCFZGZUHUJJZA
      KZDLZUNELZJZACMZNUEUFUGULUEUGGUIUFUGGUKBCDOBCEOPQULUMUNUHLZUNUJLZJZACMURA
      CUHUJTVAUQACUNCRUSUOUTUPUNCDSUNCESUAUBUCUD $.
  $}

  ${
    $d x y A $.  $d x y F $.
    $( The range of a choice function (a function that chooses an element from
       each member of its domain) is included in the union of its domain.
       (Contributed by set.mm contributors, 31-Aug-1999.) $)
    chfnrn $p |- ( ( F Fn A /\ A. x e. A ( F ` x ) e. x ) -> ran F C_ U. A ) $=
      ( vy wfn cv cfv wcel wral crn cuni wel wrex wceq fvelrnb biimpd nfra1 rsp
      wa wi eleq1 biimpcd syl6 reximdai sylan9 eluni2 syl6ibr ssrdv ) CBEZAFZCG
      ZUJHZABIZSZDCJZBKZUNDFZUOHZDALZABMZUQUPHUIURUKUQNZABMZUMUTUIURVBABUQCOPUM
      VAUSABULABQUMUJBHULVAUSTULABRVAULUSUKUQUJUAUBUCUDUEAUQBUFUGUH $.
  $}

  $( Ordered pair with function value.  Part of Theorem 4.3(i) of [Monk1]
     p. 41.  (Contributed by set.mm contributors, 14-Oct-1996.) $)
  funfvop $p |- ( ( Fun F /\ A e. dom F ) -> <. A , ( F ` A ) >. e. F ) $=
    ( wfun cdm wcel wa cfv wceq cop eqid funopfvb mpbii ) BCABDEFABGZMHAMIBEMJA
    MBKL $.

  $( Two ways to say that ` A ` is in the domain of ` F ` .  (Contributed by
     Mario Carneiro, 1-May-2014.) $)
  funfvbrb $p |- ( Fun F -> ( A e. dom F <-> A F ( F ` A ) ) ) $=
    ( wfun cdm wcel cfv wbr wa cop funfvop df-br sylibr breldm adantl impbida )
    BCZABDEZAABFZBGZPQHARIBESABJARBKLSQPARBMNO $.

  $( A member of a preimage is a function value argument.  (Contributed by
     set.mm contributors, 4-May-2007.) $)
  fvimacnvi $p |- ( ( Fun F /\ A e. ( `' F " B ) ) -> ( F ` A ) e. B ) $=
    ( wfun ccnv cima wcel cfv csn wss snssi funimass2 sylan2 fvex snss cdm wceq
    wa cnvimass sseli wfn funfn fnsnfv sylanb sseq1d syl5bb mpbird ) CDZACEBFZG
    ZRZACHZBGZCAIZFZBJZUJUHUNUIJUPAUIKUNBCLMUMULIZBJUKUPULBACNOUKUQUOBUJUHACPZG
    ZUQUOQZUIURACBSTUHCURUAUSUTCUBURACUCUDMUEUFUG $.

  $( The argument of a function value belongs to the preimage of any class
     containing the function value.  (Contributed by Raph Levien,
     20-Nov-2006.)  He remarks:  "This proof is unsatisfying, because it seems
     to me that ~ funimass2 could probably be strengthened to a
     biconditional." $)
  fvimacnv $p |- ( ( Fun F /\ A e. dom F ) ->
                 ( ( F ` A ) e. B <-> A e. ( `' F " B ) ) ) $=
    ( wfun cdm wcel wa cfv ccnv cima csn cop funfvop opelcnv sylibr elimasn wss
    fvex snss imass2 sylbi sseld syl5com wi fvimacnvi ex adantr impbid ) CDZACE
    FZGZACHZBFZACIZBJZFZUKAUNULKZJZFZUMUPUKULALUNFZUSUKAULLCFUTACMULACNOUNULAPO
    UMURUOAUMUQBQURUOQULBACRSUQBUNTUAUBUCUIUPUMUDUJUIUPUMABCUEUFUGUH $.

  ${
    $d F x $.  $d A x $.  $d B x $.
    $( A kind of contraposition law that infers an image subclass from a
       subclass of a preimage.  (Contributed by Raph Levien, 20-Nov-2006.)  He
       remarks:  "Likely this could be proved directly, and ~ fvimacnv would be
       the special case of ` A ` being a singleton, but it works this way round
       too." $)
    funimass3 $p |- ( ( Fun F /\ A C_ dom F ) ->
                    ( ( F " A ) C_ B <-> A C_ ( `' F " B ) ) ) $=
      ( vx wfun cdm wss wa cima cv ccnv wcel wral funimass4 wb ssel fvimacnv ex
      cfv syl9r imp31 ralbidva bitrd dfss3 syl6bbr ) CEZACFZGZHZCAIBGZDJZCKBIZL
      ZDAMZAULGUIUJUKCSBLZDAMUNDABCNUIUOUMDAUFUHUKALZUOUMOZUHUPUKUGLZUFUQAUGUKP
      UFURUQUKBCQRTUAUBUCDAULUDUE $.

    $( A subclass of a preimage in terms of function values.  (Contributed by
       set.mm contributors, 15-May-2007.) $)
    funimass5 $p |- ( ( Fun F /\ A C_ dom F ) ->
                    ( A C_ ( `' F " B ) <-> A. x e. A ( F ` x ) e. B ) ) $=
      ( wfun cdm wss wa cima ccnv cv cfv wcel wral funimass3 funimass4 bitr3d )
      DEBDFGHDBICGBDJCIGAKDLCMABNBCDOABCDPQ $.

    $( Two ways of specifying that a function is constant on a subdomain.
       (Contributed by set.mm contributors, 8-Mar-2007.) $)
    funconstss $p |- ( ( Fun F /\ A C_ dom F ) ->
                     ( A. x e. A ( F ` x ) = B <-> A C_ ( `' F " { B } ) ) ) $=
      ( wfun cdm wss wa cfv wceq wral cima csn ccnv wcel funimass4 elsnc ralbii
      cv fvex syl6rbb funimass3 bitrd ) DEBDFGHZASZDIZCJZABKZDBLCMZGZBDNUILGUDU
      JUFUIOZABKUHABUIDPUKUGABUFCUEDTQRUABUIDUBUC $.
  $}

  $( Membership in the preimage of a set under a function.  (Contributed by
     Jeff Madsen, 2-Sep-2009.) $)
  elpreima $p |- ( F Fn A -> ( B e. ( `' F " C )
                              <-> ( B e. A /\ ( F ` B ) e. C ) ) ) $=
    ( wfn ccnv cima wcel cfv wa cdm cnvimass sseli fndm eleq2d syl5ib fvimacnvi
    wfun fnfun sylan ex jcad wb fvimacnv funfni biimpd expimpd impbid ) DAEZBDF
    CGZHZBAHZBDICHZJUIUKULUMUKBDKZHUIULUJUNBDCLMUIUNABADNOPUIUKUMUIDRUKUMADSBCD
    QTUAUBUIULUMUKUIULJUMUKUMUKUCABDBCDUDUEUFUGUH $.

  ${
    $d x F $.  $d x A $.  $d x B $.
    $( Preimage of a union.  (Contributed by Jeff Madsen, 2-Sep-2009.) $)
    unpreima $p |- ( Fun F -> ( `' F " ( A u. B ) )
                                  = ( ( `' F " A ) u. ( `' F " B ) ) ) $=
      ( vx wfun cdm wfn ccnv cun cima wceq funfn cv wcel wa wo wb elun elpreima
      cfv anbi2i andi bitri a1i orbi12d syl5bb 3bitr4d eqrdv sylbi ) CECCFZGZCH
      ZABIZJZULAJZULBJZIZKCLUKDUNUQUKDMZUJNZURCTZUMNZOZUSUTANZOZUSUTBNZOZPZURUN
      NURUQNZVBVGQUKVBUSVCVEPZOVGVAVIUSUTABRUAUSVCVEUBUCUDUJURUMCSVHURUONZURUPN
      ZPUKVGURUOUPRUKVJVDVKVFUJURACSUJURBCSUEUFUGUHUI $.

    $( Preimage of an intersection.  (Contributed by Jeff Madsen,
       2-Sep-2009.) $)
    inpreima $p |- ( Fun F -> ( `' F " ( A i^i B ) )
                                  = ( ( `' F " A ) i^i ( `' F " B ) ) ) $=
      ( vx wfun cdm wfn ccnv cin cima wceq funfn cv wcel wa cfv anbi2i elpreima
      wb elin a1i anandi syl6bb anbi12d 3bitr4d syl6bbr eqrdv sylbi ) CECCFZGZC
      HZABIZJZUKAJZUKBJZIZKCLUJDUMUPUJDMZUMNZUQUNNZUQUONZOZUQUPNUJUQUINZUQCPZUL
      NZOZVBVCANZOZVBVCBNZOZOZURVAUJVEVBVFVHOZOZVJVEVLSUJVDVKVBVCABTQUAVBVFVHUB
      UCUIUQULCRUJUSVGUTVIUIUQACRUIUQBCRUDUEUQUNUOTUFUGUH $.

    $( The preimage of a restricted function.  (Contributed by Jeff Madsen,
       2-Sep-2009.) $)
    respreima $p |- ( Fun F -> ( `' ( F |` B ) " A )
                                    = ( ( `' F " A ) i^i B ) ) $=
      ( vx wfun cres ccnv cima cin cdm wfn cv wcel wb cfv wa bitri syl elpreima
      elin funfn ancom anbi1i fvres eleq1d adantl pm5.32i a1i an32 syl6bb fnfun
      wceq funres dmres jctir df-fn sylibr anbi1d syl5bb 3bitr4d sylbi eqrdv )
      CEZDCBFZGAHZCGAHZBIZVCCCJZKZDLZVEMZVJVGMZNCUAVIVJBVHIZMZVJVDOZAMZPZVJVHMZ
      VJCOZAMZPZVJBMZPZVKVLVIVQVRWBPZVTPZWCVQWENVIVQWDVPPWEVNWDVPVNWBVRPWDVJBVH
      TWBVRUBQUCWDVPVTWBVPVTNVRWBVOVSAVJBCUDUEUFUGQUHVRWBVTUIUJVIVDVMKZVKVQNVIV
      DEZVDJVMULZPWFVIWGWHVIVCWGVHCUKBCUMRCBUNUOVDVMUPUQVMVJAVDSRVLVJVFMZWBPVIW
      CVJVFBTVIWIWAWBVHVJACSURUSUTVAVB $.
  $}

  $( The preimage of the codomain of a mapping is the mapping's domain.
     (Contributed by FL, 25-Jan-2007.) $)
  fimacnv $p |- ( F : A --> B -> ( `' F " B ) = A ) $=
    ( ccnv cima crn imassrn cdm df-dm fdm wss ssid a1i eqsstrd syl5eqssr syl5ss
    wf frn wfun wb ffun syl5sseqr funimass3 syl2anc mpbid eqssd ) ABCQZCDZBEZAU
    GUIUHFZAUHBGUGUJCHZACIUGUKAAABCJZAAKUGALZMNOPUGCAEZBKZAUIKZUGUNCFBCAGABCRPU
    GCSAUKKUOUPTABCUAUGAAUKUMULUBABCUCUDUEUF $.

  $( Ordered pair with function value.  Part of Theorem 4.3(i) of [Monk1]
     p. 41.  (Contributed by set.mm contributors, 30-Sep-2004.) $)
  fnopfv $p |- ( ( F Fn A /\ B e. A ) -> <. B , ( F ` B ) >. e. F ) $=
    ( cfv cop wcel funfvop funfni ) BBCDECFABCBCGH $.

  ${
    $d x F $.  $d x A $.
    $( A function's value belongs to its range.  (Contributed by set.mm
       contributors, 14-Oct-1996.) $)
    fvelrn $p |- ( ( Fun F /\ A e. dom F ) -> ( F ` A ) e. ran F ) $=
      ( vx wfun cdm wcel wa cv cfv cop wex crn simpr funfvop wceq eleq1d spcegv
      opeq1 sylc elrn2 sylibr ) BDZABEZFZGZCHZABIZJZBFZCKZUGBLFUEUDAUGJZBFZUJUB
      UDMABNUIULCAUCUFAOUHUKBUFAUGRPQSCUGBTUA $.
  $}

  $( A function's value belongs to its range.  (Contributed by set.mm
     contributors, 15-Oct-1996.) $)
  fnfvelrn $p |- ( ( F Fn A /\ B e. A ) -> ( F ` B ) e. ran F ) $=
    ( cfv crn wcel fvelrn funfni ) BCDCEFABCBCGH $.

  $( A function's value belongs to its codomain.  (Contributed by set.mm
     contributors, 12-Aug-1999.) $)
  ffvelrn $p |- ( ( F : A --> B /\ C e. A ) -> ( F ` C ) e. B ) $=
    ( wf wcel wa cfv crn wfn ffn fnfvelrn sylan wi frn sseld adantr mpd ) ABDEZ
    CAFZGCDHZDIZFZUABFZSDAJTUCABDKACDLMSUCUDNTSUBBUAABDOPQR $.

  ${
    ffvrni.1 $e |- F : A --> B $.
    $( A function's value belongs to its codomain.  (Contributed by set.mm
       contributors, 6-Apr-2005.) $)
    ffvelrni $p |- ( C e. A -> ( F ` C ) e. B ) $=
      ( wf wcel cfv ffvelrn mpan ) ABDFCAGCDHBGEABCDIJ $.
  $}

  ${
    $d w x y z A $.  $d w x y z F $.
    $( A function expressed as the range of another function.  (Contributed by
       Mario Carneiro, 22-Jun-2013.) $)
    fnasrn $p |- ( F Fn A -> F = ran { <. x , y >. |
        ( x e. A /\ y = <. x , ( F ` x ) >. ) } ) $=
      ( vz vw wfn cv cfv cop wceq wrex cab wcel wa copab crn wi wb vex weq fndm
      cdm opeldm eleq2 syl5ib syl eleq1 biimpcd adantrd rexlimiv fveq2 ceqsrexv
      a1i eqeq1d adantl fnopfvb bitr2d ex pm5.21ndd opex eqeq1 eqcom opth bitri
      syl6bb rexbidv elab syl6bbr eqrelrdv rnopab2 syl6eqr ) DCGZDBHZAHZVODIZJZ
      KZACLZBMZVOCNZVROABPQVMEFDVTVMEHZFHZJZDNZAEUAZVPWCKZOZACLZWDVTNVMWBCNZWEW
      IVMDUCZCKZWEWJRCDUBWEWBWKNWLWJWBWCDUDWKCWBUEUFUGWIWJRVMWHWJACWAWFWJWGWFWA
      WJVOWBCUHUIUJUKUNVMWJWEWISVMWJOWIWBDIZWCKZWEWJWIWNSVMWGWNAWBCWFVPWMWCVOWB
      DULUOUMUPCWBWCDUQURUSUTVSWIBWDWBWCETFTVAVNWDKZVRWHACWOVRWDVQKZWHVNWDVQVBW
      PVQWDKWHWDVQVCVOVPWBWCVDVEVFVGVHVIVJABCVQVKVL $.
  $}

  ${
    f0cl.1 $e |- F : A --> B $.
    f0cl.2 $e |- (/) e. B $.
    $( Unconditional closure of a function when the range includes the empty
       set.  (Contributed by Mario Carneiro, 12-Sep-2013.) $)
    f0cli $p |- ( F ` C ) e. B $=
      ( wcel cfv ffvelrni cdm fdmi eleq2i wn c0 ndmfv syl6eqel sylnbir pm2.61i
      ) CAGZCDHZBGZABCDEISCDJZGZUAUBACABDEKLUCMTNBCDOFPQR $.
  $}

  $( Alternate definition of a mapping.  (Contributed by set.mm contributors,
     14-Nov-2007.) $)
  dff2 $p |- ( F : A --> B <-> ( F Fn A /\ F C_ ( A X. B ) ) ) $=
    ( wf wfn cxp wss wa ffn fssxp jca crn rnss rnxpss syl6ss anim2i df-f sylibr
    impbii ) ABCDZCAEZCABFZGZHZTUAUCABCIABCJKUDUACLZBGZHTUCUFUAUCUEUBLBCUBMABNO
    PABCQRS $.

  ${
    $d x y A $.  $d x y B $.  $d x y F $.
    $( Alternate definition of a mapping.  (Contributed by set.mm contributors,
       20-Mar-2007.) $)
    dff3 $p |- ( F : A --> B <->
              ( F C_ ( A X. B ) /\ A. x e. A E! y x F y ) ) $=
      ( wss cv wral wa wcel cdm adantr sylanbrc crn wal wi syl6ss sylibr syl6
      wn wf cxp wbr weu fssxp wex wmo eleq2d biimpar eldm sylib wfun ffun funmo
      fdm syl eu5 ralrimiva jca wfn wceq df-ral dmss dmxpss sseld syl5bir con3d
      pm2.21 df-mo a1dd pm2.27 eumo pm2.61d2 alimdv syl5bi dffun6 ralimi adantl
      imp euex dfss3 eqssd df-fn rnss rnxpss df-f impbii ) CDEUAZECDUBZFZAGZBGE
      UCZBUDZACHZIZWHWJWNCDEUEWHWMACWHWKCJZIZWLBUFZWLBUGZWMWQWKEKZJZWRWHXAWPWHW
      TCWKCDEUOUHUIBWKEUJZUKWQEULZWSWHXCWPCDEUMLBWKEUNUPWLBUQMURUSWOECUTZENZDFZ
      WHWOXCWTCVAXDWOWSAOZXCWJWNXGWNWPWMPZAOWJXGWMACVBWJXHWSAWJWPXHWSPWJWPTZWSX
      HWJXIWRTZWSWJWRWPWRXAWJWPXBWJWTCWKWJWTWIKCEWIVCCDVDQZVEVFVGXJWRWMPWSWRWMV
      HWLBVIRSVJWPXHWMWSWPWMVKWLBVLSVMVNVOVSABEVPRWOWTCWJWTCFWNXKLWNCWTFZWJWNXA
      ACHXLWMXAACWMWRXAWLBVTXBRVQACWTWARVRWBECWCMWJXFWNWJXEWINDEWIWDCDWEQLCDEWF
      MWG $.

    $( Alternate definition of a mapping.  (Contributed by set.mm contributors,
       20-Mar-2007.) $)
    dff4 $p |- ( F : A --> B <->
              ( F C_ ( A X. B ) /\ A. x e. A E! y e. B x F y ) ) $=
      ( wf cxp wss cv wbr weu wral wa wreu dff3 wcel crn brelrn rnss rnxpss
      syl6ss sseld syl5 pm4.71rd eubidv df-reu syl6bbr ralbidv pm5.32i bitri )
      CDEFECDGZHZAIZBIZEJZBKZACLZMULUOBDNZACLZMABCDEOULUQUSULUPURACULUPUNDPZUOM
      ZBKURULUOVABULUOUTUOUNEQZPULUTUMUNERULVBDUNULVBUKQDEUKSCDTUAUBUCUDUEUOBDU
      FUGUHUIUJ $.

    $( An onto mapping expressed in terms of function values.  (Contributed by
       set.mm contributors, 29-Oct-2006.) $)
    dffo3 $p |- ( F : A -onto-> B <-> ( F : A --> B /\
                  A. y e. B E. x e. A y = ( F ` x ) ) ) $=
      ( wfo wf crn wceq wa cv cfv wrex wral dffo2 cab wb wcel wal wi wfn fnrnfv
      ffn eqeq1d simpr ffvelrn adantr eqeltrd exp31 rexlimdv biantrurd syl6rbbr
      syl dfbi2 albidv abeq1 df-ral 3bitr4g bitrd pm5.32i bitri ) CDEFCDEGZEHZD
      IZJVBBKZAKZELZIZACMZBDNZJCDEOVBVDVJVBVDVIBPZDIZVJVBECUAZVDVLQCDEUCVMVCVKD
      ABCEUBUDUMVBVIVEDRZQZBSVNVITZBSVLVJVBVOVPBVBVPVIVNTZVPJVOVBVQVPVBVHVNACVB
      VFCRZVHVNVBVRJZVHJVEVGDVSVHUEVSVGDRVHCDVFEUFUGUHUIUJUKVIVNUNULUOVIBDUPVIB
      DUQURUSUTVA $.

    $( Alternate definition of an onto mapping.  (Contributed by set.mm
       contributors, 20-Mar-2007.) $)
    dffo4 $p |- ( F : A -onto-> B <->
                ( F : A --> B /\ A. y e. B E. x e. A x F y ) ) $=
      ( wfo wf cv wbr wrex wral wa fof wcel wex crn eleq2d wi wceq sylibr ancrd
      elrn syl5bbr biimpar cdm breldm fdm syl5ib eximdv adantr df-rex ralrimiva
      forn syl mpd jca cfv wfn ffn eqcom fnbrfvb biimprd sylan reximdva ralimdv
      syl5bb imdistani dffo3 impbii ) CDEFZCDEGZAHZBHZEIZACJZBDKZLZVJVKVPCDEMZV
      JVOBDVJVMDNZLZVLCNZVNLZAOZVOVTVNAOZWCVJWDVSWDVMEPZNVJVSAVMEUBVJWEDVMCDEUM
      QUCUDVJWDWCRVSVJVNWBAVJVNWAVNVLEUEZNVJWAVLVMEUFVJWFCVLVJVKWFCSVRCDEUGUNQU
      HUAUIUJUOVNACUKTULUPVQVKVMVLEUQZSZACJZBDKZLVJVKVPWJVKVOWIBDVKVNWHACVKECUR
      ZWAVNWHRCDEUSWKWALZWHVNWHWGVMSWLVNVMWGUTCVLVMEVAVFVBVCVDVEVGABCDEVHTVI $.

    $( Alternate definition of an onto mapping.  (Contributed by set.mm
       contributors, 20-Mar-2007.) $)
    dffo5 $p |- ( F : A -onto-> B <->
                ( F : A --> B /\ A. y e. B E. x x F y ) ) $=
      ( wfo wf cv wbr wrex wral wa wex dffo4 rexex ralimi anim2i wcel wfn wi ex
      ffn fnbr syl ancrd eximdv df-rex syl6ibr ralimdv imdistani impbii bitri )
      CDEFCDEGZAHZBHZEIZACJZBDKZLZUMUPAMZBDKZLZABCDENUSVBURVAUMUQUTBDUPACOPQUMV
      AURUMUTUQBDUMUTUNCRZUPLZAMUQUMUPVDAUMUPVCUMECSZUPVCTCDEUBVEUPVCCUNUOEUCUA
      UDUEUFUPACUGUHUIUJUKUL $.
  $}

  ${
    $d F x y $.  $d A x y $.  $d B x y $.  $d C x y $.
    $( Property of a surjective function.  (Contributed by Jeff Madsen,
       4-Jan-2011.) $)
    foelrn $p |- ( ( F : A -onto-> B /\ C e. B )
                                  -> E. x e. A C = ( F ` x ) ) $=
      ( vy wfo cv wceq wrex wral wcel dffo3 simprbi eqeq1 rexbidv rspccva sylan
      cfv wf ) BCEGZFHZAHESZIZABJZFCKZDCLDUCIZABJZUABCETUFAFBCEMNUEUHFDCUBDIUDU
      GABUBDUCOPQR $.
  $}

  ${
    $d F x y z $.  $d G x y z $.  $d A y z $.  $d B x y z $.  $d C x y z $.
    $( If a composition of two functions is surjective, then the function on
       the left is surjective.  (Contributed by Jeff Madsen, 16-Jun-2011.) $)
    foco2 $p |- ( ( F : B --> C /\ G : A --> B /\
                        ( F o. G ) : A -onto-> C ) -> F : B -onto-> C ) $=
      ( vy vx vz wf ccom wfo w3a cv cfv wceq wrex wral wa wcel adantll sylanbrc
      simp1 foelrn ffvelrn fvco3 fveq2 eqeq2d rspcev syl2anc rexbidv syl5ibrcom
      eqeq1 rexlimdva syl5 impl ralrimiva 3impa dffo3 ) BCDIZABEIZACDEJZKZLUSFM
      ZGMZDNZOZGBPZFCQZBCDKUSUTVBUBUSUTVBVHUSUTRZVBRVGFCVIVBVCCSZVGVBVJRVCHMZVA
      NZOZHAPVIVGHACVCVAUCVIVMVGHAVIVKASZRZVGVMVLVEOZGBPZVOVKENZBSZVLVRDNZOZVQU
      TVNVSUSABVKEUDTUTVNWAUSABVKDEUETVPWAGVRBVDVROVEVTVLVDVRDUFUGUHUIVMVFVPGBV
      CVLVEULUJUKUMUNUOUPUQGFBCDURUA $.
  $}

  ${
    $d x y A $.  $d x y B $.  $d x y F $.
    $( A function maps to a class to which all values belong.  (Contributed by
       NM, 3-Dec-2003.) $)
    ffnfv $p |- ( F : A --> B <-> ( F Fn A /\ A. x e. A ( F ` x ) e. B ) ) $=
      ( vy wf wfn cv cfv wcel wral ffn ffvelrn ralrimiva jca crn wss simpl wceq
      wa wrex fvelrnb biimpd nfra1 nfv wi rsp eleq1 biimpcd syl6 rexlimd sylan9
      ssrdv df-f sylanbrc impbii ) BCDFZDBGZAHZDIZCJZABKZTZUQURVBBCDLUQVAABBCUS
      DMNOVCURDPZCQUQURVBRVCEVDCUREHZVDJZUTVESZABUAZVBVECJZURVFVHABVEDUBUCVBVGV
      IABVAABUDVIAUEVBUSBJVAVGVIUFVAABUGVGVAVIUTVECUHUIUJUKULUMBCDUNUOUP $.
  $}

  ${
    $d z A $.  $d z B $.  $d z F $.  $d x z $.
    ffnfvf.1 $e |- F/_ x A $.
    ffnfvf.2 $e |- F/_ x B $.
    ffnfvf.3 $e |- F/_ x F $.
    $( A function maps to a class to which all values belong.  This version of
       ~ ffnfv uses bound-variable hypotheses instead of distinct variable
       conditions.  (Contributed by NM, 28-Sep-2006.) $)
    ffnfvf $p |- ( F : A --> B <-> ( F Fn A /\ A. x e. A ( F ` x ) e. B ) ) $=
      ( vz wf wfn cv cfv wcel wral wa ffnfv nfcv nffv nfel nfv wceq fveq2 bitri
      eleq1d cbvralf anbi2i ) BCDIDBJZHKZDLZCMZHBNZOUGAKZDLZCMZABNZOHBCDPUKUOUG
      UJUNHABHBQEAUICAUHDGAUHQRFSUNHTUHULUAUIUMCUHULDUBUDUEUFUC $.
  $}

  ${
    $d x y A $.  $d x B $.  $d x y F $.
    $( An upper bound for range determined by function values.  (Contributed by
       set.mm contributors, 8-Oct-2004.) $)
    fnfvrnss $p |- ( ( F Fn A /\ A. x e. A ( F ` x ) e. B ) -> ran F C_ B ) $=
      ( wfn cv cfv wcel wral wa wf crn wss ffnfv frn sylbir ) DBEAFDGCHABIJBCDK
      DLCMABCDNBCDOP $.

    $( Representation of a mapping in terms of its values.  (Contributed by
       set.mm contributors, 21-Feb-2004.) $)
    fopabfv $p |- ( F : A --> B <->
         ( F = { <. x , y >. | ( x e. A /\ y = ( F ` x ) ) }
         /\ A. x e. A ( F ` x ) e. B ) ) $=
      ( wf wfn cv cfv wcel wral wa wceq copab ffnfv dffn5 anbi1i bitri ) CDEFEC
      GZAHZEIZDJACKZLETCJBHUAMLABNMZUBLACDEOSUCUBABCEPQR $.
  $}

  ${
    $d x A $.  $d x B $.  $d x F $.
    $( A necessary and sufficient condition for a restricted function.
       (Contributed by Mario Carneiro, 14-Nov-2013.) $)
    ffvresb $p |- ( Fun F -> ( ( F |` A ) : A --> B <->
        A. x e. A ( x e. dom F /\ ( F ` x ) e. B ) ) ) $=
      ( wfun cres wf cv cdm wcel cfv wa wral fdm wss cin dmres inss2 adantl wfn
      eqsstri a1i eqsstr3d sselda wceq fvres ffvelrn eqeltrrd jca ralrimiva crn
      simpl ralimi sylibr fnssres sylanb sylan2 eleq1d syl5ibr ralimia fnfvrnss
      dfss3 funfn simpr syl2anc df-f sylanbrc ex impbid2 ) DEZBCDBFZGZAHZDIZJZV
      MDKZCJZLZABMZVLVRABVLVMBJZLZVOVQVLBVNVMVLBVKIZVNBCVKNWBVNOVLWBBVNPVNDBQBV
      NRUAUBUCUDWAVMVKKZVPCVTWCVPUEVLVMBDUFZSBCVMVKUGUHUIUJVJVSVLVJVSLZVKBTZVKU
      KCOZVLVSVJBVNOZWFVSVOABMWHVRVOABVOVQULUMABVNVBUNVJDVNTWHWFDVCVNBDUOUPUQZW
      EWFWCCJZABMZWGWIVSWKVJVRWJABVRWJVTVQVOVQVDVTWCVPCWDURUSUTSABCVKVAVEBCVKVF
      VGVHVI $.
  $}

  ${
    $d x y A $.  $d x y B $.  $d x y F $.
    fsn.1 $e |- A e. _V $.
    fsn.2 $e |- B e. _V $.
    $( A function maps a singleton to a singleton iff it is the singleton of an
       ordered pair.  (Contributed by NM, 10-Dec-2003.) $)
    fsn $p |- ( F : { A } --> { B } <-> F = { <. A , B >. } ) $=
      ( vx vy csn cop wceq cv wcel wa elsn weu eleq1d bitr4i bitr2i vex wf1o wf
      opelf anbi12i sylib ex wreu snid feu mpan2 anbi1i opeq2 ancom eubii eueq1
      pm5.32i biantru euanv df-reu 3bitr4i sylibr opeq12 syl5ibrcom impbid opex
      elsnc opth syl6bb eqrelrdv f1osn f1oeq1 mpbiri f1of syl impbii ) AHZBHZCU
      AZCABIZHZJZVQFGCVSVQFKZGKZIZCLZWAAJZWBBJZMZWCVSLZVQWDWGVQWDWGVQWDMWAVOLZW
      BVPLZMWGVOVPWAWBCUBWIWEWJWFFANGBNZUCUDUEVQWDWGVRCLZVQAWBIZCLZGVPUFZWLVQAV
      OLWOADUGGVOVPACUHUIWLWFMZGOZWJWNMZGOWLWOWPWRGWRWFWNMZWPWJWFWNWKUJWSWFWLMW
      PWFWNWLWFWMVRCWBBAUKPUOWLWFULQRUMWLWLWFGOZMWQWTWLGBEUNUPWLWFGUQQWNGVPURUS
      UTWGWCVRCWAAWBBVAPVBVCWHWCVRJWGWCVRWAWBFSGSVDVEWAWBABVFRVGVHVTVOVPCTZVQVT
      XAVOVPVSTABDEVIVOVPCVSVJVKVOVPCVLVMVN $.
  $}

  ${
    $d A a b $.  $d B b $.  $d F a b $.
    $( A function maps a singleton to a singleton iff it is the singleton of an
       ordered pair.  (Contributed by set.mm contributors, 26-Oct-2012.) $)
    fsng $p |- ( ( A e. C /\ B e. D ) ->
                 ( F : { A } --> { B } <-> F = { <. A , B >. } ) ) $=
      ( va vb cv csn wf cop wceq wb sneq feq2d opeq1 sneqd eqeq2d bibi12d vex
      feq3 syl opeq2 fsn vtocl2g ) FHZIZGHZIZEJZEUFUHKZIZLZMAIZUIEJZEAUHKZIZLZM
      UNBIZEJZEABKZIZLZMFGABCDUFALZUJUOUMURVDUGUNUIEUFANOVDULUQEVDUKUPUFAUHPQRS
      UHBLZUOUTURVCVEUIUSLUOUTMUHBNUIUSUNEUAUBVEUQVBEVEUPVAUHBAUCQRSUFUHEFTGTUD
      UE $.
  $}

  ${
    fsn2.1 $e |- A e. _V $.
    $( A function that maps a singleton to a class is the singleton of an
       ordered pair.  (Contributed by set.mm contributors, 19-May-2004.) $)
    fsn2 $p |- ( F : { A } --> B <->
               ( ( F ` A ) e. B /\ F = { <. A , ( F ` A ) >. } ) ) $=
      ( csn wf cfv wcel cop wceq snid ffvelrn mpan2 wfn ffn crn dffn3 cima syl
      wa biimpi wb cdm imadmrn fndm imaeq2d syl5eqr fnsnfv eqtr4d mpbid jca wss
      feq3 snssi fss ancoms sylan impbii fvex fsn anbi2i bitri ) AEZBCFZACGZBHZ
      VCVEEZCFZTZVFCAVEIEJZTVDVIVDVFVHVDAVCHZVFADKZVCBACLMVDCVCNZVHVCBCOVMVCCPZ
      CFZVHVMVOVCCQUAVMVNVGJVOVHUBVMVNCVCRZVGVMVNCCUCZRVPCUDVMVQVCCVCCUEUFUGVMV
      KVGVPJVLVCACUHMUIVNVGVCCUMSUJSUKVFVGBULZVHVDVEBUNVHVRVDVCVGBCUOUPUQURVHVJ
      VFAVECDACUSUTVAVB $.
  $}

  ${
    xpsn.1 $e |- A e. _V $.
    xpsn.2 $e |- B e. _V $.
    $( The cross product of two singletons.  (Contributed by set.mm
       contributors, 4-Nov-2006.) $)
    xpsn $p |- ( { A } X. { B } ) = { <. A , B >. } $=
      ( csn cxp wf cop wceq fconst fsn mpbi ) AEZBEZMNFZGOABHEIMBDJABOCDKL $.
  $}

  $( If ` A ` is not in ` C ` , then the restriction of a singleton of
     ` <. A , B >. ` to ` C ` is null.  (Contributed by Scott Fenton,
     15-Apr-2011.) $)
  ressnop0 $p |- ( -. A e. C -> ( { <. A , B >. } |` C ) = (/) ) $=
    ( wcel wn cop cvv cxp csn cres c0 wceq opelxp simplbi con3i cin incom eqtri
    df-res disjsn biimpri syl5eq syl ) ACDZEABFZCGHZDZEZUEIZCJZKLUGUDUGUDBGDABC
    GMNOUHUJUFUIPZKUJUIUFPUKUICSUIUFQRUKKLUHUFUETUAUBUC $.

  ${
    fpr.1 $e |- A e. _V $.
    fpr.2 $e |- B e. _V $.
    fpr.3 $e |- C e. _V $.
    fpr.4 $e |- D e. _V $.
    $( A function with a domain of two elements.  (Contributed by Jeff Madsen,
       20-Jun-2010.)  (The proof was shortened by Andrew Salmon,
       22-Oct-2011.) $)
    fpr $p |- ( A =/= B
                -> { <. A , C >. , <. B , D >. } : { A , B } --> { C , D } ) $=
      ( wne cop cpr wfn crn wa jctir sylibr csn cun rnsnop df-pr wss wfun funpr
      wf cdm wceq dmprop df-fn uneq12i rneqi rnun eqtri 3eqtr4i eqimssi df-f )
      ABIZACJZBDJZKZABKZLZUSMZCDKZUAZNUTVCUSUDUPVAVDUPUSUBZUSUEUTUFZNVAUPVEVFAB
      CDGHUCACBDGHUGOUSUTUHPVBVCUQQZMZURQZMZRZCQZDQZRVBVCVHVLVJVMACESBDFSUIVBVG
      VIRZMVKUSVNUQURTUJVGVIUKULCDTUMUNOUTVCUSUOP $.
  $}

  ${
    $d x A $.  $d x B $.  $d x C $.  $d x F $.
    $( A function restricted to a singleton.  (Contributed by set.mm
       contributors, 9-Oct-2004.) $)
    fnressn $p |- ( ( F Fn A /\ B e. A ) ->
                  ( F |` { B } ) = { <. B , ( F ` B ) >. } ) $=
      ( vx wcel wfn csn cres cfv cop wceq cv wi sneq reseq2d fveq2 opeq12 mpdan
      wa cvv sneqd eqeq12d imbi2d wss vex snss fnssres sylan2b wf fsn2 biantrur
      dffn2 fvres ax-mp opeq2i sneqi eqeq2i bitr3i 3bitri expcom vtoclga impcom
      fvex snid sylib ) BAECAFZCBGZHZBBCIZJZGZKZVFCDLZGZHZVMVMCIZJZGZKZMVFVLMDB
      AVMBKZVSVLVFVTVOVHVRVKVTVNVGCVMBNOVTVQVJVTVPVIKVQVJKVMBCPVMBVPVIQRUAUBUCV
      FVMAEZVSVFWASVOVNFZVSWAVFVNAUDWBVMADUEZUFAVNCUGUHWBVNTVOUIVMVOIZTEZVOVMWD
      JZGZKZSZVSVNVOULVMTVOWCUJWIWHVSWEWHVMVOVCUKWGVRVOWFVQWDVPVMVMVNEWDVPKVMWC
      VDVMVNCUMUNUOUPUQURUSVEUTVAVB $.

    $( The value of a function restricted to a singleton.  (Contributed by
       set.mm contributors, 9-Oct-2004.) $)
    fressnfv $p |- ( ( F Fn A /\ B e. A ) ->
                 ( ( F |` { B } ) : { B } --> C <-> ( F ` B ) e. C ) ) $=
      ( vx wcel wfn csn cres wf cfv wb cv wi wceq sneq reseq2 syl wa cop eleq1d
      feq1d feq2 bitrd fveq2 bibi12d imbi2d fnressn vex snid fvres ax-mp opeq2i
      sneqi eqeq2i fsn2 eleq1i iba syl5rbbr syl5bb sylbir expcom vtoclga impcom
      ) BAFDAGZBHZCDVFIZJZBDKZCFZLZVEEMZHZCDVMIZJZVLDKZCFZLZNVEVKNEBAVLBOZVRVKV
      EVSVOVHVQVJVSVMVFOZVOVHLVLBPVTVOVMCVGJVHVTVMCVNVGVMVFDQUBVMVFCVGUCUDRVSVP
      VICVLBDUEUAUFUGVEVLAFZVRVEWASVNVLVPTZHZOZVRAVLDUHWDVNVLVLVNKZTZHZOZVRWGWC
      VNWFWBWEVPVLVLVMFWEVPOVLEUIZUJVLVMDUKULZUMUNUOVOWECFZWHSZWHVQVLCVNWIUPVQW
      KWHWLWEVPCWJUQWHWKURUSUTVARVBVCVD $.
  $}

  $( The value of a constant function.  (Contributed by set.mm contributors,
     30-May-1999.) $)
  fvconst $p |- ( ( F : A --> { B } /\ C e. A ) -> ( F ` C ) = B ) $=
    ( csn wf wcel wa cfv wceq ffvelrn elsni syl ) ABEZDFCAGHCDIZNGOBJANCDKOBLM
    $.

  ${
    $d x y A $.  $d x y B $.
    fopabsn.1 $e |- A e. _V $.
    fopabsn.2 $e |- B e. _V $.
    $( The singleton of an ordered pair expressed as an ordered pair class
       abstraction.  (The proof was shortened by Andrew Salmon, 22-Oct-2011.)
       (Contributed by set.mm contributors, 6-Jun-2006.)  (Revised by set.mm
       contributors, 22-Oct-2011.) $)
    fopabsn $p |- { <. A , B >. } =
                  { <. x , y >. | ( x e. { A } /\ y = B ) } $=
      ( csn cxp cop cv wcel wceq wa copab xpsn fconstopab eqtr3i ) CGZDGHCDIGAJ
      RKBJDLMABNCDEFOABRDPQ $.
  $}

  ${
    $d x A $.
    $( The value of the identity function.  (Contributed by set.mm
       contributors, 1-May-2004.) $)
    fvi $p |- ( A e. V -> ( _I ` A ) = A ) $=
      ( vx cv cid cfv wceq fveq2 id eqeq12d cvv wfn wcel wfun cdm funi mpbir2an
      dmi df-fn vex wa cop weq equid wbr ideq df-br bitr3i fnopfvb mpbiri mp2an
      mpbi vtoclg ) CDZEFZUNGZAEFZAGCABUNAGZUOUQUNAUNAEHURIJEKLZUNKMZUPUSENEOKG
      PREKSQCTZUSUTUAUPUNUNUBEMZCCUCZVBCUDVCUNUNEUEVBUNUNVAUFUNUNEUGUHULKUNUNEU
      IUJUKUM $.
  $}

  $( The value of a restricted identity function.  (Contributed by set.mm
     contributors, 19-May-2004.) $)
  fvresi $p |- ( B e. A -> ( ( _I |` A ) ` B ) = B ) $=
    ( wcel cid cres cfv fvres fvi eqtrd ) BACBDAEFBDFBBADGBAHI $.

  $( Remove an ordered pair not participating in a function value.
     (Contributed by set.mm contributors, 1-Oct-2013.)  (Revised by Mario
     Carneiro, 28-May-2014.) $)
  fvunsn $p |- ( B =/= D
       -> ( ( A u. { <. B , C >. } ) ` D ) = ( A ` D ) ) $=
    ( wne cop csn cun cres cfv c0 wcel wceq syl cvv fvres fvprc eqtr4d pm2.61i
    wn resundir elsni necon3ai ressnop0 uneq2d un0 syl6eq syl5eq fveq1d 3eqtr3g
    snidg ) BDEZDABCFGZHZDGZIZJZDAUOIZJZDUNJZDAJZULDUPURULUPURUMUOIZHZURAUMUOUA
    ULVCURKHURULVBKURULBUOLZTVBKMVDBDBDUBUCBCUOUDNUEURUFUGUHUIDOLZUQUTMZVEDUOLZ
    VFDOUKZDUOUNPNVETZUQKUTDUPQDUNQRSVEUSVAMZVEVGVJVHDUOAPNVIUSKVADURQDAQRSUJ
    $.

  ${
    fvsn.1 $e |- A e. _V $.
    fvsn.2 $e |- B e. _V $.
    $( The value of a singleton of an ordered pair is the second member.
       (Contributed by set.mm contributors, 12-Aug-1994.) $)
    fvsn $p |- ( { <. A , B >. } ` A ) = B $=
      ( cop csn wfun wcel cfv wceq funsn opex snid funopfv mp2 ) ABEZFZGPQHAQIB
      JABKPABCDLMABQNO $.
  $}

  ${
    $d A a b $.  $d B b $.
    $( The value of a singleton of an ordered pair is the second member.
       (Contributed by set.mm contributors, 26-Oct-2012.) $)
    fvsng $p |- ( ( A e. V /\ B e. W ) -> ( { <. A , B >. } ` A ) = B ) $=
      ( va vb cv cop csn cfv opeq1 sneqd id fveq12d eqeq1d opeq2 fveq1d eqeq12d
      wceq vex fvsn vtocl2g ) EGZUCFGZHZIZJZUDSAAUDHZIZJZUDSAABHZIZJZBSEFABCDUC
      ASZUGUJUDUNUCAUFUIUNUEUHUCAUDKLUNMNOUDBSZUJUMUDBUOAUIULUOUHUKUDBAPLQUOMRU
      CUDETFTUAUB $.
  $}

  ${
    fvsnun.1 $e |- A e. _V $.
    fvsnun.2 $e |- B e. _V $.
    fvsnun.3 $e |- G = ( { <. A , B >. } u. ( F |` ( C \ { A } ) ) ) $.
    $( The value of a function with one of its ordered pairs replaced, at the
       replaced ordered pair.  See also ~ fvsnun2 .  (Contributed by set.mm
       contributors, 23-Sep-2007.) $)
    fvsnun1 $p |- ( G ` A ) = B $=
      ( csn cres cfv wcel wceq fvres ax-mp cun c0 cin eqtri 3eqtri snid reseq1i
      cop cdif resundir incom disjdif resdisj uneq2i un0 fveq1i fvsn eqtr3i ) A
      EAIZJZKZAEKZBAUNLZUPUQMAFUAZAUNENOUPAABUCIZUNJZKZAUTKZBAUOVAUOUTDCUNUDZJZ
      PZUNJVAVEUNJZPZVAEVFUNHUBUTVEUNUEVHVAQPVAVGQVAVDUNRZQMVGQMVIUNVDRQVDUNUFU
      NCUGSVDUNDUHOUIVAUJSTUKURVBVCMUSAUNUTNOABFGULTUM $.

    $( The value of a function with one of its ordered pairs replaced, at
       arguments other than the replaced one.  See also ~ fvsnun1 .
       (Contributed by set.mm contributors, 23-Sep-2007.) $)
    fvsnun2 $p |- ( D e. ( C \ { A } ) -> ( G ` D ) = ( F ` D ) ) $=
      ( csn cdif wcel cres cfv fvres cop cun c0 wceq 3eqtri reseq1i cin disjdif
      resundir wfn wb fnsn fnresdisj ax-mp mpbi residm uneq12i uncom un0 fveq1i
      syl5eq eqtr3d ) DCAJZKZLZDFUSMZNZDFNDENZDUSFOUTVBDEUSMZNVCDVAVDVAABPJZVDQ
      ZUSMVEUSMZVDUSMZQZVDFVFUSIUAVEVDUSUDVIRVDQVDRQVDVGRVHVDURUSUBRSZVGRSZURCU
      CVEURUEVJVKUFABGHUGURUSVEUHUIUJEUSUKULRVDUMVDUNTTUODUSEOUPUQ $.
  $}

  ${
    fvpr1.1 $e |- A e. _V $.
    fvpr1.2 $e |- C e. _V $.
    $( The value of a function with a domain of two elements.  (Contributed by
       Jeff Madsen, 20-Jun-2010.) $)
    fvpr1 $p |- ( A =/= B -> ( { <. A , C >. , <. B , D >. } ` A ) = C ) $=
      ( wne cop cpr cfv csn df-pr fveq1i wceq necom fvunsn sylbi syl5eq fvsn
      cun syl6eq ) ABGZAACHZBDHZIZJZAUCKZJZCUBUFAUGUDKTZJZUHAUEUIUCUDLMUBBAGUJU
      HNABOUGBDAPQRACEFSUA $.
  $}

  ${
    fvpr2.1 $e |- B e. _V $.
    fvpr2.2 $e |- D e. _V $.
    $( The value of a function with a domain of two elements.  (Contributed by
       Jeff Madsen, 20-Jun-2010.) $)
    fvpr2 $p |- ( A =/= B -> ( { <. A , C >. , <. B , D >. } ` B ) = D ) $=
      ( wne cop cpr cfv wceq fvpr1 necom prcom fveq1i eqeq1i 3imtr4i ) BAGBBDHZ
      ACHZIZJZDKABGBSRIZJZDKBADCEFLABMUCUADBUBTSRNOPQ $.
  $}

  $( The value of a constant function.  (Contributed by set.mm contributors,
     20-Aug-2005.) $)
  fvconst2g $p |- ( ( B e. D /\ C e. A ) -> ( ( A X. { B } ) ` C ) = B ) $=
    ( wcel csn cxp wf cfv wceq fconstg fvconst sylan ) BDEABFZANGZHCAECOIBJABDK
    ABCOLM $.

  ${
    $d x A $.  $d x B $.  $d x C $.  $d x F $.
    $( A constant function expressed as a cross product.  (Contributed by
       set.mm contributors, 27-Nov-2007.) $)
    fconst2g $p |- ( B e. C -> ( F : A --> { B } <-> F = ( A X. { B } ) ) ) $=
      ( vx wcel csn wf cxp wceq wa cv cfv wral fvconst adantlr fvconst2g eqtr4d
      adantll wfn ralrimiva wb ffn fnconstg eqfnfv syl2an mpbird expcom fconstg
      feq1 syl5ibrcom impbid ) BCFZABGZDHZDAUNIZJZUOUMUQUOUMKZUQELZDMZUSUPMZJZE
      ANZURVBEAURUSAFZKUTBVAUOVDUTBJUMABUSDOPUMVDVABJUOABUSCQSRUAUODATUPATUQVCU
      BUMAUNDUCABCUDEADUPUEUFUGUHUMUOUQAUNUPHABCUIAUNDUPUJUKUL $.
  $}

  ${
    fvconst2.1 $e |- B e. _V $.
    $( The value of a constant function.  (Contributed by set.mm contributors,
       16-Apr-2005.) $)
    fvconst2 $p |- ( C e. A -> ( ( A X. { B } ) ` C ) = B ) $=
      ( cvv wcel csn cxp cfv wceq fvconst2g mpan ) BEFCAFCABGHIBJDABCEKL $.

    $( A constant function expressed as a cross product.  (Contributed by
       set.mm contributors, 20-Aug-1999.) $)
    fconst2 $p |- ( F : A --> { B } <-> F = ( A X. { B } ) ) $=
      ( cvv wcel csn wf cxp wceq wb fconst2g ax-mp ) BEFABGZCHCANIJKDABECLM $.
  $}

  $( Two ways to express that a function is constant.  (Contributed by set.mm
     contributors, 27-Nov-2007.) $)
  fconst5 $p |- ( ( F Fn A /\ A =/= (/) ) -> ( F = ( A X. { B } ) <->
                 ran F = { B } ) ) $=
    ( wfn c0 wne wa csn cxp wceq crn wi rneq rnxp eqeq2d syl5ib adantl cvv wcel
    wf wfo df-fo fof sylbir fconst2g exp3a adantrd wn wb rneq0 a1i snprc biimpi
    xpeq2d xp0 syl6eq 3bitr4d biimprd a1d pm2.61i impbid ) CADZAEFZGZCABHZIZJZC
    KZVEJZVCVGVILVBVGVHVFKZJVCVICVFMVCVJVEVHAVENOPQBRSZVDVIVGLZLVKVBVLVCVKVBVIV
    GVBVIGZAVECTZVKVGVMAVECUAVNAVECUBAVECUCUDABRCUEPUFUGVKUHZVLVDVOVGVIVOCEJZVH
    EJZVGVIVPVQUIVOCUJUKVOVFECVOVFAEIEVOVEEAVOVEEJBULUMZUNAUOUPOVOVEEVHVROUQURU
    SUTVA $.

  ${
    $d x y z A $.  $d x y z B $.  $d x y z F $.
    $( A constant function expressed in terms of its functionality, domain, and
       value.  See also ~ fconst2 .  (Contributed by NM, 27-Aug-2004.) $)
    fconstfv $p |- ( F : A --> { B } <->
                   ( F Fn A /\ A. x e. A ( F ` x ) = B ) ) $=
      ( vy vz csn wf wfn cv cfv wceq wral wa syl6bb wcel wrex eqeq1d sylan9bbr
      c0 ffn fvconst ralrimiva jca wi fneq2 fn0 feq1 mpbiri syl6bi feq2 sylibrd
      adantrd wne crn fvelrnb fveq2 rspccva rexbidva r19.9rzv bicomd elsn eqcom
      f0 bitr2i eqrdv an32s exp31 imdistand wfo df-fo fof sylbir syl6 pm2.61ine
      impbii ) BCGZDHZDBIZAJZDKZCLZABMZNZVRVSWCBVQDUAVRWBABBCVTDUBUCUDWDVRUEBTB
      TLZVSVRWCWEVSTVQDHZVRWEVSDTLZWFWEVSDTIWGBTDUFDUGOWGWFTVQTHVQVDTVQDTUHUIUJ
      BTVQDUKULUMBTUNZWDVSDUOZVQLZNZVRWHVSWCWJWHVSWCWJWHWCVSWJWHWCNZVSNZEWIVQWM
      EJZWIPZCWNLZWNVQPZVSWOFJZDKZWNLZFBQZWLWPFBWNDUPWCXAWPFBQZWHWPWCWTWPFBWCWR
      BPNWSCWNWBWSCLAWRBVTWRLWAWSCVTWRDUQRURRUSWHWPXBWPFBUTVASSWQWNCLWPECVBWNCV
      CVEOVFVGVHVIWKBVQDVJVRBVQDVKBVQDVLVMVNVOVP $.

    $( Two ways to express a constant function.  (Contributed by set.mm
       contributors, 15-Mar-2007.) $)
    fconst3 $p |- ( F : A --> { B } <->
                  ( F Fn A /\ A C_ ( `' F " { B } ) ) ) $=
      ( vx csn wf wfn cv cfv wceq wral wa ccnv cima wss fconstfv wfun cdm fnfun
      wb fndm eqimss2 syl funconstss syl2anc pm5.32i bitri ) ABEZCFCAGZDHCIBJDA
      KZLUIACMUHNOZLDABCPUIUJUKUICQACRZOZUJUKTACSUIULAJUMACUAAULUBUCDABCUDUEUFU
      G $.
  $}

  $( Two ways to express a constant function.  (Contributed by set.mm
     contributors, 8-Mar-2007.) $)
  fconst4 $p |- ( F : A --> { B } <->
                ( F Fn A /\ ( `' F " { B } ) = A ) ) $=
    ( csn wf wfn ccnv cima wss wa wceq fconst3 cnvimass fndm syl5sseq biantrurd
    cdm eqss syl6bbr pm5.32i bitri ) ABDZCECAFZACGUBHZIZJUCUDAKZJABCLUCUEUFUCUE
    UDAIZUEJUFUCUGUEUCCQUDACUBMACNOPUDARSTUA $.

  $( A function's value in a preimage belongs to the image.  (Contributed by
     set.mm contributors, 23-Sep-2003.) $)
  funfvima $p |- ( ( Fun F /\ B e. dom F ) -> ( B e. A ->
                 ( F ` B ) e. ( F " A ) ) ) $=
    ( wfun cdm wcel wa cfv cima wi cres cin dmres eleq2i elin crn funres fvelrn
    bitri sylan fvres eleq1d syl6rbbr syl5ibrcom ex syl5bir exp3a com12 pm2.43b
    dfima3 imp3a ) CDZBCEZFZGBAFZBCHZCAIZFZUOULUNUOURJZULUOUNUSJULUOUNUSUOUNGZB
    CAKZEZFZULUSVCBAUMLZFUTVBVDBCAMNBAUMOSULVCUSULVCGURUOBVAHZVAPZFZULVADVCVGAC
    QBVARTUOVGUPVFFURUOVEUPVFBACUAUBUQVFUPCAUJNUCUDUEUFUGUHUKUI $.

  $( A function's value in an included preimage belongs to the image.
     (Contributed by set.mm contributors, 3-Feb-1997.) $)
  funfvima2 $p |- ( ( Fun F /\ A C_ dom F ) -> ( B e. A ->
                  ( F ` B ) e. ( F " A ) ) ) $=
    ( wfun cdm wss wcel cfv cima wi ssel funfvima ex com23 a2d syl5 imp ) CDZAC
    EZFZBAGZBCHCAIGZJZTUABSGZJRUCASBKRUAUDUBRUDUAUBRUDUCABCLMNOPQ $.

  $( A class including a function contains the function's value in the image of
     the singleton of the argument.  (Contributed by set.mm contributors,
     23-Mar-2004.) $)
  funfvima3 $p |- ( ( Fun F /\ F C_ G ) -> ( A e. dom F ->
                  ( F ` A ) e. ( G " { A } ) ) ) $=
    ( wss wfun cdm wcel cfv csn cima wi cop funfvop ssel2 sylan2 elimasn sylibr
    wa exp32 impcom ) BCDZBEZABFGZABHZCAIJGZKUAUBUCUEUAUBUCRZRAUDLZCGZUEUFUAUGB
    GUHABMBCUGNOCAUDPQST $.

  ${
    $d x y F $.
    $( Upper bound for the class of values of a class.  (Contributed by NM,
       9-Nov-1995.) $)
    fvclss $p |- { y | E. x y = ( F ` x ) } C_ ( ran F u. { (/) } ) $=
      ( cv cfv wceq wex crn c0 csn cun wcel wo wn wne wbr eqcom tz6.12i syl6ibr
      syl5bi eximdv com12 elrn necon1bd vex elsnc orrd elun sylibr abssi ) BDZA
      DZCEZFZAGZBCHZIJZKZUOUKUPLZUKUQLZMUKURLUOUSUTUOUSNUKIFUTUOUSUKIUOUKIOZULU
      KCPZAGZUSVAUOVCVAUNVBAUNUMUKFVAVBUKUMQULUKCRTUAUBAUKCUCSUDUKIBUEUFSUGUKUP
      UQUHUIUJ $.
  $}

  ${
    $d A y z $.  $d B y z $.  $d C w $.  $d D y $.  $d w x y $.  $d w z y $.
    abrexco.1 $e |- B e. _V $.
    abrexco.2 $e |- ( y = B -> C = D ) $.
    $( Composition of two image maps ` C ( y ) ` and ` B ( w ) ` .
       (Contributed by set.mm contributors, 27-May-2013.) $)
    abrexco $p |- { x | E. y e. { z | E. w e. A z = B } x = C } =
        { x | E. w e. A x = D } $=
      ( cv wceq wrex cab wa wex wcel df-rex vex eqeq1 rexbidv elab anbi1i exbii
      r19.41v bitr4i bitri rexcom4 eqeq2d ceqsexv rexbii 3bitr2i abbii ) AKZGLZ
      BCKZFLZDEMZCNZMZUNHLZDEMZAUTBKZFLZUOOZDEMZBPZVEBPZDEMVBUTVCUSQZUOOZBPVGUO
      BUSRVJVFBVJVDDEMZUOOVFVIVKUOURVKCVCBSUPVCLUQVDDEUPVCFTUAUBUCVDUODEUEUFUDU
      GVEDBEUHVHVADEUOVABFIVDGHUNJUIUJUKULUM $.
  $}

  ${
    $d x y z A $.  $d y z B $.  $d y z C $.
    $( The image of an indexed union is the indexed union of the images.
       (Contributed by Mario Carneiro, 18-Jun-2014.) $)
    imaiun $p |- ( A " U_ x e. B C ) = U_ x e. B ( A " C ) $=
      ( vy vz ciun cima cv wcel cop wex wrex rexcom4 elima3 rexbii eliun anbi1i
      wa r19.41v bitr4i exbii 3bitr4ri 3bitr4i eqriv ) EBACDGZHZACBDHZGZFIZUFJZ
      UJEIZKBJZSZFLZULUHJZACMZULUGJULUIJUJDJZUMSZFLZACMUSACMZFLUQUOUSAFCNUPUTAC
      FULBDOPUNVAFUNURACMZUMSVAUKVBUMAUJCDQRURUMACTUAUBUCFULBUFOAULCUHQUDUE $.
  $}

  ${
    $d x A $.  $d x B $.
    $( The image of a union is the indexed union of the images.  Theorem 3K(a)
       of [Enderton] p. 50.  (The proof was shortened by Mario Carneiro,
       18-Jun-2014.)  (Contributed by set.mm contributors, 9-Aug-2004.)
       (Revised by set.mm contributors, 18-Jun-2014.) $)
    imauni $p |- ( A " U. B ) = U_ x e. B ( A " x ) $=
      ( cuni cima cv ciun uniiun imaeq2i imaiun eqtri ) BCDZEBACAFZGZEACBMEGLNB
      ACHIABCMJK $.
  $}

  ${
    $d w x y z A $.  $d w x y z F $.
    $( The indexed union of a function's values is the union of its range.
       Compare Definition 5.4 of [Monk1] p. 50.  (Contributed by set.mm
       contributors, 27-Sep-2004.) $)
    fniunfv $p |- ( F Fn A -> U_ x e. A ( F ` x ) = U. ran F ) $=
      ( vy wfn crn cuni cv cfv wceq wrex cab ciun fnrnfv unieqd dfiun2 syl6reqr
      fvex ) CBEZCFZGDHAHZCIZJABKDLZGABUBMSTUCADBCNOADBUBUACRPQ $.

    $( The indexed union of a function's values is the union of its image under
       the index class.

       Note:  This theorem depends on the fact that our function value is the
       empty set outside of its domain.  If the antecedent is changed to
       ` F Fn A ` , the theorem can be proved without this dependency.
       (Contributed by set.mm contributors, 26-Mar-2006.) $)
    funiunfv $p |- ( Fun F -> U_ x e. A ( F ` x ) = U. ( F " A ) ) $=
      ( vy vz vw wfun cv cfv ciun wcel wceq wa cuni fvex wrex wex c0 wn syl5eq
      copab crn cima fveq2 fvopab4 iuneq2i wfn fnopab2 fniunfv ax-mp eqtr3i cab
      rnopab2 unieqi wel wbr eqcom idd wi funbrfv adantr wb cdm n0i ndmfv eqeq1
      eqid syl5ib con1d mpan9 funbrfvb sylan2 pm5.21ndd syl5bb rexbidv pm5.32da
      expr exbidv eluniab eluni elima anbi2i exbii bitri 3bitr4g eqrdv ) CGZABA
      HZCIZJZDHZBKEHZWKCIZLZMDEUAZUBZNZCBUCZNZABWHWOIZJZWJWQABWTWIDEWHWMWIBWOWK
      WHCUDWOVGZWHCOUEUFWOBUGXAWQLDEBWMWOWKCOXBUHABWOUIUJUKWGWQWNDBPZEULZNZWSWP
      XDDEBWMUMUNWGFXEWSWGFEUOZXCMZEQXFWKWLCUPZDBPZMZEQZFHZXEKXLWSKZWGXGXJEWGXF
      XCXIWGXFMZWNXHDBWNWMWLLZXNXHWLWMUQXNXOXOXHXNXOURWGXHXOUSXFWKWLCUTVAWGXFXO
      XOXHVBZXFXOMWGWKCVCKZXPXFWLRLZSXOXQWLXLVDXOXQXRXQSWMRLXOXRWKCVEWMWLRVFVHV
      IVJWKWLCVKVLVQVMVNVOVPVRXCEXLVSXMXFWLWRKZMZEQXKEXLWRVTXTXJEXSXIXFDWLCBWAW
      BWCWDWEWFTT $.
  $}

  ${
    $d x z A $.  $d z F $.
    funiunfvf.1 $e |- F/_ x F $.
    $( The indexed union of a function's values is the union of its image under
       the index class.  This version of ~ funiunfv uses a bound-variable
       hypothesis in place of a distinct variable condition.  (Contributed by
       NM, 26-Mar-2006.)  (Revised by David Abernethy, 15-Apr-2013.) $)
    funiunfvf $p |- ( Fun F -> U_ x e. A ( F ` x ) = U. ( F " A ) ) $=
      ( vz wfun cv cfv ciun cima cuni nfcv nffv fveq2 cbviun funiunfv syl5eqr )
      CFABAGZCHZIEBEGZCHZICBJKEABUASATCDATLMESLTRCNOEBCPQ $.
  $}

  ${
    $d x A $.  $d x B $.  $d x F $.
    $( Membership in the union of an image of a function.  (Contributed by
       set.mm contributors, 28-Sep-2006.) $)
    eluniima $p |- ( Fun F ->
                   ( B e. U. ( F " A ) <-> E. x e. A B e. ( F ` x ) ) ) $=
      ( cv cfv wcel wrex ciun wfun cima cuni eliun funiunfv eleq2d syl5rbbr ) C
      AEDFZGABHCABQIZGDJZCDBKLZGACBQMSRTCABDNOP $.

    $( Membership in the union of the range of a function.  (Contributed by
       set.mm contributors, 24-Sep-2006.) $)
    elunirn $p |- ( Fun F ->
                     ( A e. U. ran F <-> E. x e. dom F A e. ( F ` x ) ) ) $=
      ( crn cuni wcel cdm cima wfun cv cfv wrex imadmrn unieqi eluniima syl5bbr
      eleq2i ) BCDZEZFBCCGZHZEZFCIBAJCKFATLUBSBUARCMNQATBCOP $.
  $}

  ${
    $d x y z A $.  $d z B $.  $d x y z F $.
    $( A one-to-one function in terms of function values.  Compare Theorem
       4.8(iv) of [Monk1] p. 43.  (Contributed by set.mm contributors,
       29-Oct-1996.) $)
    dff13 $p |- ( F : A -1-1-> B <-> ( F : A --> B /\
             A. x e. A A. y e. A ( ( F ` x ) = ( F ` y ) -> x = y ) ) ) $=
      ( vz cv wbr wal wa cfv wceq wi wral wb wcel breldm eleq2d syl5ib eqcom wf
      wf1 wmo weq wfn ffn fndm anim12d pm4.71rd fnbrfvb syl5bb bi2anan9 anandis
      cdm pm5.32da bitr4d imbi1d impexp syl6bb albidv 19.21v 19.23v fvex eqvinc
      dff12 wex imbi1i bitr4i imbi2i bitri 2albidv breq1 mo4 albii alcom 3bitri
      r2al 3bitr4g syl pm5.32i ) CDEUBCDEUAZAGZFGZEHZAUCZFIZJWAWBEKZBGZEKZLZABU
      DZMZBCNACNZJAFCDEVEWAWFWMWAECUEZWFWMOCDEUFWNWDWHWCEHZJZWKMZFIZBIZAIZWBCPZ
      WHCPZJZWLMZBIAIWFWMWNWRXDABWNWRXCWCWGLZWCWILZJZWKMZMZFIZXDWNWQXIFWNWQXCXG
      JZWKMXIWNWPXKWKWNWPXCWPJXKWNWPXCWNWDXAWOXBWDWBEUNZPWNXAWBWCEQWNXLCWBCEUGZ
      RSWOWHXLPWNXBWHWCEQWNXLCWHXMRSUHUIWNXCXGWPWNXAXBXGWPOWNXAJZXEWDWNXBJZXFWO
      XEWGWCLXNWDWCWGTCWBWCEUJUKXFWIWCLXOWOWCWITCWHWCEUJUKULUMUOUPUQXCXGWKURUSU
      TXJXCXHFIZMXDXCXHFVAXPWLXCXPXGFVFZWKMWLXGWKFVBWJXQWKFWGWIWBEVCVDVGVHVIVJU
      SVKWFWQBIZAIZFIXRFIZAIWTWEXSFWDWOABWBWHWCEVLVMVNXRFAVOXTWSAWQFBVOVNVPWLAB
      CCVQVRVSVTVJ $.
  $}

  ${
    $d x y w v A $.  $d w v B $.  $d w v F $.
    dff13f.1 $e |- F/_ x F $.
    dff13f.2 $e |- F/_ y F $.
    $( A one-to-one function in terms of function values.  Compare Theorem
       4.8(iv) of [Monk1] p. 43.  (Contributed by NM, 31-Jul-2003.) $)
    dff13f $p |- ( F : A -1-1-> B <-> ( F : A --> B /\
             A. x e. A A. y e. A ( ( F ` x ) = ( F ` y ) -> x = y ) ) ) $=
      ( vw vv cv cfv wceq wi wral wa nfcv nffv nfeq nfv nfim wf1 wf dff13 fveq2
      eqeq2d eqeq2 imbi12d cbvral ralbii nfral eqeq1d eqeq1 ralbidv anbi2i
      bitri ) CDEUACDEUBZHJZEKZIJZEKZLZUQUSLZMZICNZHCNZOUPAJZEKZBJZEKZLZVFVHLZM
      ZBCNZACNZOHICDEUCVEVNUPVEURVILZUQVHLZMZBCNZHCNVNVDVRHCVCVQIBCVAVBBBURUTBU
      QEGBUQPQBUSEGBUSPQRVBBSTVQISUSVHLZVAVOVBVPVSUTVIURUSVHEUDUEUSVHUQUFUGUHUI
      VRVMHACVQABCACPVOVPAAURVIAUQEFAUQPQAVHEFAVHPQRVPASTUJVMHSUQVFLZVQVLBCVTVO
      VJVPVKVTURVGVIUQVFEUDUKUQVFVHULUGUMUHUOUNUO $.
  $}

  ${
    $d x y A $.  $d x y B $.  $d x y C $.  $d x y D $.  $d x y F $.
    $( Equality of function values for a one-to-one function.  (Contributed by
       set.mm contributors, 11-Feb-1997.) $)
    f1fveq $p |- ( ( F : A -1-1-> B /\ ( C e. A /\ D e. A ) ) ->
                 ( ( F ` C ) = ( F ` D ) <-> C = D ) ) $=
      ( vx vy wf1 wcel wa cfv wceq wi cv fveq2 eqeq1d eqeq1 imbi12d imbi2d wral
      eqeq2d eqeq2 wf dff13 simprbi rsp2 syl com12 vtocl2ga impcom impbid1 ) AB
      EHZCAIDAIJZJCEKZDEKZLZCDLZUMULUPUQMZULFNZEKZGNZEKZLZUSVALZMZMULUNVBLZCVAL
      ZMZMULURMFGCDAAUSCLZVEVHULVIVCVFVDVGVIUTUNVBUSCEOPUSCVAQRSVADLZVHURULVJVF
      UPVGUQVJVBUOUNVADEOUAVADCUBRSULUSAIVAAIJZVEULVEGATFATZVKVEMULABEUCVLFGABE
      UDUEVEFGAAUFUGUHUIUJCDEOUK $.
  $}

  ${
    $d F z $.  $d A z $.  $d Y z $.  $d X z $.  $d B z $.
    $( Membership in the image of a 1-1 map.  (Contributed by Jeff Madsen,
       2-Sep-2009.) $)
    f1elima $p |- ( ( F : A -1-1-> B /\ X e. A /\ Y C_ A )
                                -> ( ( F ` X ) e. ( F " Y ) <-> X e. Y ) ) $=
      ( vz wf1 wcel wss w3a cfv cima cv wceq wrex wb wfn wi wa anassrs fvelimab
      f1fn sylan 3adant2 ssel impac f1fveq ancom2s biimpd biimpcd sylan9 anasss
      eleq1 sylan2 rexlimdva 3impa eqid fveq2 eqeq1d rspcev mpan2 impbid1 bitrd
      ) ABCGZDAHZEAIZJZDCKZCELHZFMZCKZVHNZFEOZDEHZVDVFVIVMPZVEVDCAQVFVOABCUBFAE
      VHCUAUCUDVGVMVNVDVEVFVMVNRVDVESZVFSVLVNFEVPVFVJEHZVLVNRZVFVQSVPVJAHZVQSVR
      VFVQVSEAVJUEUFVPVSVQVRVPVSSVLVJDNZVQVNVDVEVSVLVTRVDVEVSSSVLVTVDVSVEVLVTPA
      BVJDCUGUHUITVTVQVNVJDEUMUJUKULUNTUOUPVNVHVHNZVMVHUQVLWAFDEVTVKVHVHVJDCURU
      SUTVAVBVC $.
  $}

  ${
    $d x y A $.  $d x y F $.
    $( A one-to-one onto function in terms of function values.  (Contributed by
       set.mm contributors, 29-Mar-2008.) $)
    dff1o6 $p |- ( F : A -1-1-onto-> B <-> ( F Fn A /\ ran F = B /\
             A. x e. A A. y e. A ( ( F ` x ) = ( F ` y ) -> x = y ) ) ) $=
      ( wf1o wf1 wfo wa wf cv cfv wceq wi wral wfn crn w3a df-f1o dff13 anbi12i
      df-fo df-3an wss eqimss anim2i df-f sylibr pm4.71ri anbi1i 3bitrri 3bitri
      an32 ) CDEFCDEGZCDEHZICDEJZAKZELBKZELMUQURMNBCOACOZIZECPZEQZDMZIZIZVAVCUS
      RZCDESUNUTUOVDABCDETCDEUBUAVFVDUSIUPVDIZUSIVEVAVCUSUCVDVGUSVDUPVDVAVBDUDZ
      IUPVCVHVAVBDUEUFCDEUGUHUIUJUPVDUSUMUKUL $.
  $}

  $( The converse value of the value of a one-to-one onto function.
     (Contributed by set.mm contributors, 20-May-2004.) $)
  f1ocnvfv1 $p |- ( ( F : A -1-1-onto-> B /\ C e. A ) ->
                 ( `' F ` ( F ` C ) ) = C ) $=
    ( wf1o wcel wa ccnv ccom cfv cid cres wceq f1ococnv1 fveq1d adantr wf fvco3
    f1of sylan fvresi adantl 3eqtr3d ) ABDEZCAFZGCDHZDIZJZCKALZJZCDJUFJZCUDUHUJ
    MUEUDCUGUIABDNOPUDABDQUEUHUKMABDSABCUFDRTUEUJCMUDACUAUBUC $.

  $( The value of the converse value of a one-to-one onto function.
     (Contributed by set.mm contributors, 20-May-2004.) $)
  f1ocnvfv2 $p |- ( ( F : A -1-1-onto-> B /\ C e. B ) ->
                 ( F ` ( `' F ` C ) ) = C ) $=
    ( wf1o wcel wa ccnv cfv cnvcnv fveq1i wceq f1ocnv f1ocnvfv1 sylan syl5eqr )
    ABDEZCBFZGCDHZIZDITSHZIZCTUADDJKQBASERUBCLABDMBACSNOP $.

  $( Relationship between the value of a one-to-one onto function and the value
     of its converse.  (Contributed by Raph Levien, 10-Apr-2004.) $)
  f1ocnvfv $p |- ( ( F : A -1-1-onto-> B /\ C e. A ) ->
                  ( ( F ` C ) = D -> ( `' F ` D ) = C ) ) $=
    ( cfv wceq ccnv wf1o wcel wa fveq2 eqcoms f1ocnvfv1 eqeq2d syl5ib ) CEFZDGD
    EHZFZQRFZGZABEICAJKZSCGUADQDQRLMUBTCSABCENOP $.

  $( Relationship between the value of a one-to-one onto function and the value
     of its converse.  (Contributed by set.mm contributors, 20-May-2004.)
     (Revised by set.mm contributors, 9-Aug-2006.) $)
  f1ocnvfvb $p |- ( ( F : A -1-1-onto-> B /\ C e. A /\ D e. B ) ->
                  ( ( F ` C ) = D <-> ( `' F ` D ) = C ) ) $=
    ( wf1o wcel w3a cfv wceq ccnv wi f1ocnvfv 3adant3 wa fveq2 eqcoms f1ocnvfv2
    eqeq2d syl5ib 3adant2 impbid ) ABEFZCAGZDBGZHCEIZDJZDEKIZCJZUCUDUGUILUEABCD
    EMNUCUEUIUGLUDUIUFUHEIZJZUCUEOZUGUKCUHCUHEPQULUJDUFABDERSTUAUB $.

  ${
    $d x A $.  $d x B $.  $d x C $.  $d x F $.
    $( There is one domain element for each value of a one-to-one onto
       function.  (Contributed by set.mm contributors, 26-May-2006.) $)
    f1ofveu $p |- ( ( F : A -1-1-onto-> B /\ C e. B ) ->
                  E! x e. A ( F ` x ) = C ) $=
      ( wf1o wcel wa cv cfv wceq wreu cop ccnv wf f1ocnv f1of syl feu sylan wfn
      wb f1ofn fnopfvb opelcnv syl6bbr reubidva adantr mpbird ) BCEFZDCGZHAIZEJ
      DKZABLZDULMENZGZABLZUJCBUOOZUKUQUJCBUOFURBCEPCBUOQRACBDUOSTUJUNUQUBZUKUJE
      BUAZUSBCEUCUTUMUPABUTULBGHUMULDMEGUPBULDEUDDULEUEUFUGRUHUI $.
  $}

  $( The value of the converse of a one-to-one onto function belongs to its
     domain.  (Contributed by set.mm contributors, 26-May-2006.) $)
  f1ocnvdm $p |- ( ( F : A -1-1-onto-> B /\ C e. B ) ->
                    ( `' F ` C ) e. A ) $=
    ( wf1o ccnv wf wcel cfv f1ocnv f1of syl ffvelrn sylan ) ABDEZBADFZGZCBHCPIA
    HOBAPEQABDJBAPKLBACPMN $.

  ${
    $d x y A $.  $d x y B $.  $d x y C $.  $d x y H $.  $d x y G $.
    $d x y R $.  $d x y S $.  $d x y T $.
    $( Equality theorem for isomorphisms.  (Contributed by set.mm contributors,
       17-May-2004.) $)
    isoeq1 $p |- ( H = G ->
          ( H Isom R , S ( A , B ) <-> G Isom R , S ( A , B ) ) ) $=
      ( vx vy wceq wf1o cv wbr cfv wb wral wa wiso f1oeq1 fveq1 df-iso 2ralbidv
      breq12d bibi2d anbi12d 3bitr4g ) FEIZABFJZGKZHKZCLZUHFMZUIFMZDLZNZHAOGAOZ
      PABEJZUJUHEMZUIEMZDLZNZHAOGAOZPABCDFQABCDEQUFUGUPUOVAABFERUFUNUTGHAAUFUMU
      SUJUFUKUQULURDUHFESUIFESUBUCUAUDGHABCDFTGHABCDETUE $.

    $( Equality theorem for isomorphisms.  (Contributed by set.mm contributors,
       17-May-2004.) $)
    isoeq2 $p |- ( R = T ->
          ( H Isom R , S ( A , B ) <-> H Isom T , S ( A , B ) ) ) $=
      ( vx vy wceq wf1o cv wbr cfv wb wral wa wiso breq bibi1d df-iso 2ralbidv
      anbi2d 3bitr4g ) CEIZABFJZGKZHKZCLZUFFMUGFMDLZNZHAOGAOZPUEUFUGELZUINZHAOG
      AOZPABCDFQABEDFQUDUKUNUEUDUJUMGHAAUDUHULUIUFUGCERSUAUBGHABCDFTGHABEDFTUC
      $.

    $( Equality theorem for isomorphisms.  (Contributed by set.mm contributors,
       17-May-2004.) $)
    isoeq3 $p |- ( S = T ->
          ( H Isom R , S ( A , B ) <-> H Isom R , T ( A , B ) ) ) $=
      ( vx vy wceq wf1o cv wbr cfv wb wral wa wiso breq bibi2d df-iso 2ralbidv
      anbi2d 3bitr4g ) DEIZABFJZGKZHKZCLZUFFMZUGFMZDLZNZHAOGAOZPUEUHUIUJELZNZHA
      OGAOZPABCDFQABCEFQUDUMUPUEUDULUOGHAAUDUKUNUHUIUJDERSUAUBGHABCDFTGHABCEFTU
      C $.

    $( Equality theorem for isomorphisms.  (Contributed by set.mm contributors,
       17-May-2004.) $)
    isoeq4 $p |- ( A = C ->
          ( H Isom R , S ( A , B ) <-> H Isom R , S ( C , B ) ) ) $=
      ( vx vy wceq wf1o cv wbr cfv wb wral wa wiso f1oeq2 raleq df-iso anbi12d
      raleqbi1dv 3bitr4g ) ACIZABFJZGKZHKZDLUFFMUGFMELNZHAOZGAOZPCBFJZUHHCOZGCO
      ZPABDEFQCBDEFQUDUEUKUJUMACBFRUIULGACUHHACSUBUAGHABDEFTGHCBDEFTUC $.

    $( Equality theorem for isomorphisms.  (Contributed by set.mm contributors,
       17-May-2004.) $)
    isoeq5 $p |- ( B = C ->
          ( H Isom R , S ( A , B ) <-> H Isom R , S ( A , C ) ) ) $=
      ( vx vy wceq wf1o cv wbr cfv wb wral wa wiso f1oeq3 anbi1d df-iso 3bitr4g
      ) BCIZABFJZGKZHKZDLUDFMUEFMELNHAOGAOZPACFJZUFPABDEFQACDEFQUBUCUGUFBCAFRSG
      HABDEFTGHACDEFTUA $.
  $}

  ${
    $d y z H $.  $d y z R $.  $d y z S $.  $d y z A $.  $d y z B $.
    $d x y z $.
    nfiso.1 $e |- F/_ x H $.
    nfiso.2 $e |- F/_ x R $.
    nfiso.3 $e |- F/_ x S $.
    nfiso.4 $e |- F/_ x A $.
    nfiso.5 $e |- F/_ x B $.
    $( Bound-variable hypothesis builder for an isomorphism.  (Contributed by
       NM, 17-May-2004.)  (Proof shortened by Andrew Salmon, 22-Oct-2011.) $)
    nfiso $p |- F/ x H Isom R , S ( A , B ) $=
      ( vy vz cv wbr cfv wral nfcv nfbr nffv wiso wf1o wb wa df-iso nff1o nfral
      nfbi nfan nfxfr ) BCDEFUABCFUBZLNZMNZDOZULFPZUMFPZEOZUCZMBQZLBQZUDALMBCDE
      FUEUKUTAABCFGJKUFUSALBJURAMBJUNUQAAULUMDAULRZHAUMRZSAUOUPEAULFGVATIAUMFGV
      BTSUHUGUGUIUJ $.
  $}

  ${
    $d x y A $.  $d x y B $.  $d x y R $.  $d x y S $.  $d x y H $.
    $( An isomorphism is a one-to-one onto function.  (Contributed by set.mm
       contributors, 27-Apr-2004.) $)
    isof1o $p |- ( H Isom R , S ( A , B ) -> H : A -1-1-onto-> B ) $=
      ( vx vy wiso wf1o cv wbr cfv wb wral df-iso simplbi ) ABCDEHABEIFJZGJZCKQ
      ELRELDKMGANFANFGABCDEOP $.
  $}

  ${
    $d x y A $.  $d x y B $.  $d x y R $.  $d x y S $.  $d x y H $.
    $d x y C $.  $d x y D $.
    $( An isomorphism connects binary relations via its function values.
       (Contributed by set.mm contributors, 27-Apr-2004.) $)
    isorel $p |- ( ( H Isom R , S ( A , B ) /\ ( C e. A /\ D e. A ) ) ->
                 ( C R D <-> ( H ` C ) S ( H ` D ) ) ) $=
      ( vx vy wiso cv wbr cfv wb wral wcel wa wceq fveq2 bibi12d df-iso simprbi
      wf1o breq1 breq1d breq2 breq2d rspc2v mpan9 ) ABEFGJZHKZIKZELZUKGMZULGMZF
      LZNZIAOHAOZCAPDAPQCDELZCGMZDGMZFLZNZUJABGUCURHIABEFGUAUBUQVCCULELZUTUOFLZ
      NHICDAAUKCRZUMVDUPVEUKCULEUDVFUNUTUOFUKCGSUETULDRZVDUSVEVBULDCEUFVGUOVAUT
      FULDGSUGTUHUI $.
  $}

  ${
    $d x y A $.  $d x y R $.
    $( Identity law for isomorphism.  Proposition 6.30(1) of [TakeutiZaring]
       p. 33.  (Contributed by set.mm contributors, 27-Apr-2004.) $)
    isoid $p |- ( _I |` A ) Isom R , R ( A , A ) $=
      ( vx vy cid cres wiso wf1o wbr cfv wral f1oi wcel fvresi breqan12d bicomd
      cv wb wa rgen2a df-iso mpbir2an ) AABBEAFZGAAUCHCQZDQZBIZUDUCJZUEUCJZBIZR
      ZDAKCAKALUJCDAUDAMZUEAMZSUIUFUKULUGUDUHUEBAUDNAUENOPTCDAABBUCUAUB $.
  $}

  ${
    $d x y z w A $.  $d x y z w B $.  $d x y z w R $.  $d x y z w S $.
    $d x y z w H $.
    $( Converse law for isomorphism.  Proposition 6.30(2) of [TakeutiZaring]
       p. 33.  (Contributed by set.mm contributors, 27-Apr-2004.) $)
    isocnv $p |- ( H Isom R , S ( A , B ) -> `' H Isom S , R ( B , A ) ) $=
      ( vx vy vz vw wf1o cv wbr cfv wb wral wa wiso wcel wceq f1ocnvfv2 adantrr
      ccnv f1ocnv adantr adantrl breq12d adantlr wf syl ffvelrn anim12dan breq1
      f1of fveq2 breq1d bibi12d bicom syl6bb breq2d breq2 rspc2va sylan sylanl1
      an32s bitr3d ralrimivva jca df-iso 3imtr4i ) ABEJZFKZGKZCLZVKEMZVLEMZDLZN
      ZGAOFAOZPZBAEUBZJZHKZIKZDLZWBVTMZWCVTMZCLZNZIBOHBOZPABCDEQBADCVTQVSWAWIVJ
      WAVRABEUCZUDVSWHHIBBVSWBBRZWCBRZPZPWEEMZWFEMZDLZWDWGVJWMWPWDNVRVJWMPWNWBW
      OWCDVJWKWNWBSWLABWBETUAVJWLWOWCSWKABWCETUEUFUGVJBAVTUHZVRWMWPWGNZVJWAWQWJ
      BAVTUMUIWQWMVRWRWQWMPWEARZWFARZPVRWRWQWKWSWLWTBAWBVTUJBAWCVTUJUKVQWRWNVOD
      LZWEVLCLZNZFGWEWFAAVKWESZVQXBXANXCXDVMXBVPXAVKWEVLCULXDVNWNVODVKWEEUNUOUP
      XBXAUQURVLWFSZXAWPXBWGXEVOWOWNDVLWFEUNUSVLWFWECUTUPVAVBVDVCVEVFVGFGABCDEV
      HHIBADCVTVHVI $.
    $( Converse law for isomorphism.  (Contributed by Mario Carneiro,
       30-Jan-2014.) $)
    isocnv2 $p |- ( H Isom R , S ( A , B ) <->
                    H Isom `' R , `' S ( A , B ) ) $=
      ( vx vy wf1o cv ccnv wbr cfv wb wral wa wiso brcnv bibi12i 2ralbii df-iso
      ralcom bitri anbi2i 3bitr4ri ) ABEHZFIZGIZCJZKZUFELZUGELZDJZKZMZGANFANZOU
      EUGUFCKZUKUJDKZMZFANGANZOABUHULEPABCDEPUOUSUEUOURGANFANUSUNURFGAAUIUPUMUQ
      UFUGCQUJUKDQRSURFGAAUAUBUCFGABUHULETGFABCDETUD $.
  $}

  ${
    $d A x y $.  $d B x y $.  $d H x y $.  $d R x y $.  $d S x y $.
    $( An isomorphism from one well-order to another can be restricted on
       either well-order.  (Contributed by Mario Carneiro, 15-Jan-2013.) $)
    isores2 $p |- ( H Isom R , S ( A , B ) <->
                      H Isom R , ( S i^i ( B X. B ) ) ( A , B ) ) $=
      ( vx vy wf1o cv wbr cfv wb wral wa cxp wiso wcel ffvelrn ralbidva df-iso
      cin wf f1of adantrr adantrl brinxp syl2anc anassrs bibi2d pm5.32i 3bitr4i
      sylan ) ABEHZFIZGIZCJZUNEKZUOEKZDJZLZGAMZFAMZNUMUPUQURDBBOUAZJZLZGAMZFAMZ
      NABCDEPABCVCEPUMVBVGUMVAVFFAUMUNAQZNZUTVEGAVIUOAQZNUSVDUPUMVHVJUSVDLZUMAB
      EUBZVHVJNZVKABEUCVLVMNUQBQZURBQZVKVLVHVNVJABUNERUDVLVJVOVHABUOERUEUQURBBD
      UFUGULUHUISSUJFGABCDETFGABCVCETUK $.
  $}

  $( An isomorphism from one well-order to another can be restricted on either
     well-order.  (Contributed by Mario Carneiro, 15-Jan-2013.) $)
  isores1 $p |- ( H Isom R , S ( A , B ) <->
                    H Isom ( R i^i ( A X. A ) ) , S ( A , B ) ) $=
    ( wiso cxp cin ccnv isocnv isores2 sylib wceq wb cnvcnv isoeq1 ax-mp sylibr
    syl impbii ) ABCDEFZABCAAGHZDEFZUAABUBDEIZIZFZUCUABADUBUDFZUFUABADCUDFZUGAB
    CDEJBADCUDKZLBADUBUDJSUEEMZUFUCNEOZABUBDEUEPQLUCABCDUEFZUAUCUHULUCUGUHABUBD
    EJUIRBADCUDJSUJULUANUKABCDEUEPQLT $.

  ${
    $d x y z w v u A $.  $d x y z w v u B $.  $d x y z w v u C $.
    $d x y z w v u R $.  $d x y z w v u S $.  $d x y z w v u T $.
    $d x y z w v u G $.  $d x y z w v u H $.
    $( Composition (transitive) law for isomorphism.  Proposition 6.30(3) of
       [TakeutiZaring] p. 33.  (Contributed by set.mm contributors,
       27-Apr-2004.) $)
    isotr $p |- ( ( H Isom R , S ( A , B ) /\ G Isom S , T ( B , C ) ) ->
               ( G o. H ) Isom R , T ( A , C ) ) $=
      ( vz vw vu vv vx vy cv wbr cfv wb wral wa wf1o ccom f1oco ad2ant2r ancoms
      wiso wcel wi wf f1of ffvelrn anim12d syl adantr wceq breq1 breq1d bibi12d
      ex fveq2 breq2 breq2d rspc2v adantl sylan9 imp weq impcom adantll adantlr
      com12 fvco3 breqan12d anandis sylan 3bitr4d ralrimivva jca df-iso anbi12i
      ad2antrr 3imtr4i ) ABHUAZIOZJOZDPZWDHQZWEHQZEPZRZJASIASZTZBCGUAZKOZLOZEPZ
      WNGQZWOGQZFPZRZLBSKBSZTZTZACGHUBZUAZMOZNOZDPZXFXDQZXGXDQZFPZRZNASMASZTABD
      EHUFZBCEFGUFZTACDFXDUFXCXEXMXBWLXEWMWCXEXAWKABCGHUCUDUEXCXLMNAAXCXFAUGZXG
      AUGZTZTXFHQZXGHQZEPZXSGQZXTGQZFPZXHXKXCXRYAYDRZWLXRXSBUGZXTBUGZTZXBYEWCXR
      YHUHZWKWCABHUIZYIABHUJZYJXPYFXQYGYJXPYFABXFHUKUSYJXQYGABXGHUKUSULUMUNXAYH
      YEUHWMYHXAYEWTYEXSWOEPZYBWRFPZRKLXSXTBBWNXSUOZWPYLWSYMWNXSWOEUPYNWQYBWRFW
      NXSGUTUQURWOXTUOZYLYAYMYDWOXTXSEVAYOWRYCYBFWOXTGUTVBURVCVKVDVEVFWLXRXHYAR
      ZXBWKXRYPWCXRWKYPWJYPXFWEDPZXSWHEPZRIJXFXGAAIMVGZWFYQWIYRWDXFWEDUPYSWGXSW
      HEWDXFHUTUQURJNVGZYQXHYRYAWEXGXFDVAYTWHXTXSEWEXGHUTVBURVCVHVIVJXCYJXRXKYD
      RZWCYJWKXBYKWAYJXPXQUUAYJXPTYJXQTXIYBXJYCFABXFGHVLABXGGHVLVMVNVOVPVQVRXNW
      LXOXBIJABDEHVSKLBCEFGVSVTMNACDFXDVSWB $.
  $}

  ${
    $d x y A $.  $d x y B $.  $d x y R $.  $d x y S $.  $d x y H $.
    $d x y C $.  $d x y D $.
    $( Isomorphisms preserve minimal elements.  Note that ` ( ``' R " { D } ) `
       is Takeuti and Zaring's idiom for the initial segment
       ` { x | x R D } ` .  Proposition 6.31(1) of [TakeutiZaring] p. 33.
       (Contributed by set.mm contributors, 19-Apr-2004.) $)
    isomin $p |- ( ( H Isom R , S ( A , B ) /\ ( C C_ A /\ D e. A ) ) ->
               ( ( C i^i ( `' R " { D } ) ) = (/) <->
               ( ( H " C ) i^i ( `' S " { ( H ` D ) } ) ) = (/) ) ) $=
      ( vy vx wcel wa ccnv csn cima cin wceq wbr wrex wex 3bitr4i wss c0 cfv cv
      wiso wn wb ssel2 anim1i an32s isorel fvex breq1 ceqsexv eqcom wf1o isof1o
      wfn f1ofn simpl fnbrfvb syl2an syl5bb anbi1d exbidv syl5bbr bitrd anassrs
      syl sylan2 rexbidva elin eliniseg anbi2i bitri exbii df-rex elima anbi12i
      neq0 r19.41v rexcom4 3bitr4g con4bid ) ABEFGUEZCAUAZDAJZKZKZCELDMNZOZUBPZ
      GCNZFLDGUCZMNZOZUBPZWIHUDZDEQZHCRZWRIUDZGQZXAWNFQZKZISZHCRZWLUFZWQUFZWIWS
      XEHCWEWHWRCJZWSXEUGZWHXIKWEWRAJZWGKZXJWFXIWGXLWFXIKXKWGCAWRUHUIUJWEXLKZWS
      WRGUCZWNFQZXEABWRDEFGUKXOXAXNPZXCKZISXMXEXCXOIXNWRGULXAXNWNFUMUNXMXQXDIXM
      XPXBXCXPXNXAPZXMXBXAXNUOWEGAURZXKXRXBUGXLWEABGUPXSABEFGUQABGUSVIXKWGUTAWR
      XAGVAVBVCVDVEVFVGVJVHVKWRWKJZHSXIWSKZHSXGWTXTYAHXTXIWRWJJZKYAWRCWJVLYBWSX
      IEDWRVMVNVOVPHWKVTWSHCVQTXAWPJZISXDHCRZISXHXFYCYDIXAWMJZXAWOJZKXBHCRZXCKY
      CYDYEYGYFXCHXAGCVRFWNXAVMVSXAWMWOVLXBXCHCWATVPIWPVTXDHICWBTWCWD $.
  $}

  ${
    $d x y A $.  $d x y B $.  $d x y R $.  $d x y S $.  $d x y H $.
    $d x y D $.
    $( Isomorphisms preserve initial segments.  Proposition 6.31(2) of
       [TakeutiZaring] p. 33.  (Contributed by set.mm contributors,
       20-Apr-2004.) $)
    isoini $p |- ( ( H Isom R , S ( A , B ) /\ D e. A ) ->
               ( H " ( A i^i ( `' R " { D } ) ) ) =
               ( B i^i ( `' S " { ( H ` D ) } ) ) ) $=
      ( vx vy wcel wa ccnv cfv csn cima cin wbr wrex bitri wb syl wiso cab elin
      cv eliniseg anbi2i wceq crn wfo wf1o isof1o f1ofo forn eleq2d wfn fvelrnb
      f1ofn bitr3d anbi1d adantr anbi1i anass wi fnbrfvb adantrr bicomd anbi12d
      sylan isorel ancom breq1 pm5.32i 3bitr3g exp32 com23 imp pm5.32d rexbidv2
      syl5bb r19.41v syl6bb bitr4d abbi2dv df-ima syl6reqr ) ABDEFUAZCAIZJZBEKC
      FLZMNZOZGUDZHUDZFPZGADKCMNZOZQZHUBFWPNWHWQHWKWMWKIZWMBIZWMWIEPZJZWHWQWRWS
      WMWJIZJXAWMBWJUCXBWTWSEWIWMUEUFRWHXAWLFLZWMUGZGAQZWTJZWQWFXAXFSWGWFWSXEWT
      WFWMFUHZIZWSXEWFXGBWMWFABFUIZXGBUGWFABFUJZXIABDEFUKZABFULTABFUMTUNWFFAUOZ
      XHXESWFXJXLXKABFUQTZGAWMFUPTURUSUTWHWQXDWTJZGAQXFWHWNXNGWPAWLWPIZWNJZWLAI
      ZWLCDPZWNJZJZWHXQXNJXPXQXRJZWNJXTXOYAWNXOXQWLWOIZJYAWLAWOUCYBXRXQDCWLUEUF
      RVAXQXRWNVBRWHXQXSXNWFWGXQXSXNSZVCWFXQWGYCWFXQWGYCWFXQWGJJZWNXRJXDXCWIEPZ
      JXSXNYDWNXDXRYEYDXDWNWFXQXDWNSZWGWFXLXQYFXMAWLWMFVDVHVEVFABWLCDEFVIVGWNXR
      VJXDYEWTXCWMWIEVKVLVMVNVOVPVQVSVRXDWTGAVTWAWBVSWCHGFWPWDWE $.
  $}

  ${
    $d x y A $.  $d x y B $.  $d x y C $.  $d x y D $.  $d x y H $.
    $d x y R $.  $d x y S $.
    isoini2.1 $e |- C = ( A i^i ( `' R " { X } ) ) $.
    isoini2.2 $e |- D = ( B i^i ( `' S " { ( H ` X ) } ) ) $.
    $( Isomorphisms are isomorphisms on their initial segments.  (Contributed
       by Mario Carneiro, 29-Mar-2014.) $)
    isoini2 $p |- ( ( H Isom R , S ( A , B ) /\ X e. A ) ->
                    ( H |` C ) Isom R , S ( C , D ) ) $=
      ( vx vy wiso wcel wf1o wbr cfv wb wral cima wa cres cv wf1 wss isof1o syl
      f1of1 adantr ccnv csn inss1 eqsstri f1ores sylancl isoini imaeq2i 3eqtr4g
      cin wceq f1oeq3 mpbid df-iso simprbi ssralv ralimdv mpsyl fvres breqan12d
      bibi2d ralbidva ralbiia sylibr sylanbrc ) ABEFGMZHANZUAZCDGCUBZOZKUCZLUCZ
      EPZVTVRQZWAVRQZFPZRZLCSZKCSZCDEFVRMVQCGCTZVROZVSVQABGUDZCAUEZWJVOWKVPVOAB
      GOZWKABEFGUFABGUHUGUICAEUJHUKTZUSZAIAWNULUMZABCGUNUOVQWIDUTWJVSRVQGWOTBFU
      JHGQUKTUSWIDABHEFGUPCWOGIUQJURWIDCVRVAUGVBVQWBVTGQZWAGQZFPZRZLCSZKCSZWHWL
      VQXAKASZXBWPWLVQWTLASZKASZXCWPVOXEVPVOWMXEKLABEFGVCVDUIWLXDXAKAWTLCAVEVFV
      GXAKCAVEVGWGXAKCVTCNZWFWTLCXFWACNZUAWEWSWBXFXGWCWQWDWRFVTCGVHWACGVHVIVJVK
      VLVMKLCDEFVRVCVN $.
  $}

  ${
    $d x y z w v u A $.  $d x y v u B $.  $d x y z w v u H $.
    $d x y z w v u R $.  $d v u S $.
    $( Any one-to-one onto function determines an isomorphism with an induced
       relation ` S ` .  Proposition 6.33 of [TakeutiZaring] p. 34.
       (Contributed by set.mm contributors, 30-Apr-2004.) $)
    f1oiso $p |- ( ( H : A -1-1-onto-> B /\ S = { <. z , w >. |
     E. x e. A E. y e. A ( ( z = ( H ` x ) /\ w = ( H ` y ) ) /\ x R y ) } ) ->
                  H Isom R , S ( A , B ) ) $=
      ( vv vu cv cfv wceq wa wbr wrex wb wcel anbi1d wf1o copab wral wiso simpl
      wf1 f1of1 cop df-br eleq2 fvex eqeq1 2rexbidv anbi2d opelopab anass eqcom
      f1fveq syl6bb anassrs syl5bb rexbidv rexbidva breq1 ceqsrexv adantl bitrd
      r19.42v breq2 sylan9bb anandis sylan9bbr an32s ralrimivva df-iso sylanbrc
      syl5rbb sylan ) EFIUAZHCLZALZIMZNZDLZBLZIMZNZOZWAWEGPZOZBEQAEQZCDUBZNZOVS
      JLZKLZGPZWNIMZWOIMZHPZRZKEUCJEUCZEFGHIUDVSWMUEVSEFIUFZWMXAEFIUGXBWMOZWTJK
      EEWSWQWRUHZHSZXCWNESZWOESZOZOWPWQWRHUIXBXHWMXEWPRWMXEXDWLSZXBXHOZWPHWLXDU
      JXIWQWBNZWRWFNZOZWIOZBEQZAEQZXJWPWKXKWGOZWIOZBEQAEQXPCDWQWRWNIUKWOIUKVTWQ
      NZWJXRABEEXSWHXQWIXSWCXKWGVTWQWBULTTUMWDWRNZXRXNABEEXTXQXMWIXTWGXLXKWDWRW
      FULUNTUMUOXBXFXGXPWPRXBXFOZXPXLWNWEGPZOZBEQZXBXGOZWPYAXPWAWNNZXLWIOZBEQZO
      ZAEQZYDYAXOYIAEYAWAESZOZXOYFYGOZBEQYIYLXNYMBEXNXKYGOYLYMXKXLWIUPYLXKYFYGX
      BXFYKXKYFRXBXFYKOOXKWNWANYFEFWNWAIURWNWAUQUSUTTVAVBYFYGBEVHUSVCXFYJYDRXBY
      HYDAWNEYFYGYCBEYFWIYBXLWAWNWEGVDUNVBVEVFVGYEYDWEWONZYBOZBEQZWPYEYCYOBEYEW
      EESZOXLYNYBXBXGYQXLYNRXBXGYQOOXLWOWENYNEFWOWEIURWOWEUQUSUTTVCXGYPWPRXBYBW
      PBWOEWEWOWNGVIVEVFVGVJVKVAVLVMVQVNVRJKEFGHIVOVP $.
  $}

  ${
    $d A w x y z $.  $d B w x y z $.  $d H w x y z $.  $d R w x y z $.
    f1oiso2.1 $e |- S = { <. x , y >. |
      ( ( x e. B /\ y e. B ) /\ ( `' H ` x ) R ( `' H ` y ) ) } $.
    $( Any one-to-one onto function determines an isomorphism with an induced
       relation ` S ` .  (Contributed by Mario Carneiro, 9-Mar-2013.) $)
    f1oiso2 $p |- ( H : A -1-1-onto-> B -> H Isom R , S ( A , B ) ) $=
      ( vz vw cv cfv wceq wa wbr wrex wcel 3adant3 eqcomd syl2anc wf1o wiso w3a
      copab ccnv f1ocnvdm adantrr f1ocnvfv2 anim12dan simp3 fveq2 eqeq2d anbi2d
      adantrl breq2 anbi12d rspcev syl12anc anbi1d breq1 rexbidv 3expib simp3ll
      simp1 simp2l wf f1of ffvelrn sylan eqeltrd simp3lr simp2r simp3r f1ocnvfv
      wi mpd 3brtr4d jca31 3exp rexlimdvv impbid opabbidv syl5eq f1oiso mpdan )
      CDGUAZFAKZIKZGLZMZBKZJKZGLZMZNZWHWLEOZNZJCPZICPZABUDZMCDEFGUBWFFWGDQZWKDQ
      ZNZWGGUEZLZWKXDLZEOZNZABUDWTHWFXHWSABWFXHWSWFXCXGWSWFXCXGUCZXECQZWGXEGLZM
      ZWNNZXEWLEOZNZJCPZWSWFXCXJXGWFXAXJXBCDWGGUFUGRXIXFCQZXLWKXFGLZMZNZXGXPWFX
      CXQXGWFXBXQXACDWKGUFUNRWFXCXTXGWFXAXLXBXSWFXANXKWGCDWGGUHSWFXBNXRWKCDWKGU
      HSUIRWFXCXGUJXOXTXGNJXFCWLXFMZXMXTXNXGYAWNXSXLYAWMXRWKWLXFGUKULUMWLXFXEEU
      OUPUQURWRXPIXECWHXEMZWQXOJCYBWOXMWPXNYBWJXLWNYBWIXKWGWHXEGUKULUSWHXEWLEUT
      UPVAUQTVBWFWQXHIJCCWFWHCQZWLCQZNZWQXHWFYEWQUCZXAXBXGYFWGWIDWJWNWPWFYEVCZY
      FWFYCWIDQZWFYEWQVDZWFYCYDWQVEZWFCDGVFZYCYHCDGVGZCDWHGVHVITVJYFWKWMDWJWNWP
      WFYEVKZYFWFYDWMDQZYIWFYCYDWQVLZWFYKYDYNYLCDWLGVHVITVJYFWHWLXEXFEWFYEWOWPV
      MYFWIWGMZXEWHMZYFWGWIYGSYFWFYCYPYQVOYIYJCDWHWGGVNTVPYFWMWKMZXFWLMZYFWKWMY
      MSYFWFYDYRYSVOYIYOCDWLWKGVNTVPVQVRVSVTWAWBWCIJABCDEFGWDWE $.
  $}

  ${
    $d A x y $.  $d B x y $.  $d C x y $.
    opbr1st.1 $e |- A e. _V $.
    opbr1st.2 $e |- B e. _V $.
    $( Binary relationship of an ordered pair over ` 1st ` .  (Contributed by
       SF, 6-Feb-2015.) $)
    opbr1st $p |- ( <. A , B >. 1st C <-> A = C ) $=
      ( vx vy cop c1st wbr cvv wcel wceq brex simprd cv wex wa eqcom bitri opth
      eleq1 mpbii breq2 eqeq2 br1st biidd ceqsexv ancom exbii 3bitr4i pm5.21nii
      vex vtoclbg ) ABHZCIJZCKLZACMZUPUOKLUQUOCINOURAKLUQDACKUBUCUOFPZIJZAUSMZU
      PURFCKUSCUOIUDUSCAUEUTUOUSGPZHZMZGQZVAGUOUSFUMUFVBBMZUSAMZRZGQVGVEVAVGVGG
      BEVFVGUGUHVDVHGVDVCUOMZVHUOVCSVIVGVFRVHUSVBABUAVGVFUITTUJAUSSUKTUNUL $.

    $( Binary relationship of an ordered pair over ` 2nd ` .  (Contributed by
       SF, 6-Feb-2015.) $)
    opbr2nd $p |- ( <. A , B >. 2nd C <-> B = C ) $=
      ( vx vy cop c2nd wbr cvv wcel wceq brex simprd eleq1 cv wex eqcom bitri
      mpbii breq2 eqeq2 vex br2nd wa biidd ceqsexv opth exbii 3bitr4i pm5.21nii
      vtoclbg ) ABHZCIJZCKLZBCMZUOUNKLUPUNCINOUQBKLUPEBCKPUAUNFQZIJZBURMZUOUQFC
      KURCUNIUBURCBUCUSUNGQZURHZMZGRZUTGUNURFUDUEVAAMZURBMZUFZGRVFVDUTVFVFGADVE
      VFUGUHVCVGGVCVBUNMVGUNVBSVAURABUITUJBURSUKTUMUL $.
  $}

  ${
    $d x y $.
    $( Alternate definition of the identity relationship.  (Contributed by SF,
       11-Feb-2015.) $)
    dfid4 $p |- _I = ( _S i^i `' _S ) $=
      ( vx vy cid csset ccnv cin weq cv wss wbr eqss vex ideq brin brsset brcnv
      wa bitri anbi12i 3bitr4i eqbrriv ) ABCDDEZFZABGAHZBHZIZUEUDIZQZUDUECJUDUE
      UCJZUDUEKUDUEBLZMUIUDUEDJZUDUEUBJZQUHUDUEDUBNUKUFULUGUDUEALZUJOULUEUDDJUG
      UDUEDPUEUDUJUMORSRTUA $.
  $}

  $( The identity relationship is a set.  (Contributed by SF, 11-Feb-2015.) $)
  idex $p |- _I e. _V $=
    ( cid csset ccnv cin cvv dfid4 ssetex cnvex inex eqeltri ) ABBCZDEFBKGBGHIJ
    $.

  ${
    $d x y z w t $.
    $( ` 1st ` is a mapping from the universe onto the universe.
       (Contributed by SF, 12-Feb-2015.) (Revised by Scott Fenton,
       17-Apr-2021.) $)
    1stfo $p |- 1st : _V -onto-> _V $=
      ( vx vy vz vw vt cvv c1st wceq cv wbr wa weq wal cop wex vex br1st mpgbir
      wcel eqv wfo wfn crn wfun cdm wi dffun2 anbi12i eeanv bitr4i opth simplbi
      eqtr2 exlimivv sylbi gen2 cproj1 cproj2 opeq eqid proj1ex proj2ex opbr1st
      syl mpbir breldm ax-mp eqeltri df-fn mpbir2an brelrn df-fo ) FFGUAGFUBZGU
      CZFHZVMGUDZGUEZFHZVPAIZBIZGJZVSCIZGJZKZBCLZUFZCMBMAABCGUGWFBCWDVSVTDIZNZH
      ZVSWBEIZNZHZKZEODOZWEWDWIDOZWLEOZKWNWAWOWCWPDVSVTBPQEVSWBCPQUHWIWLDEUIUJW
      MWEDEWMWHWKHZWEVSWHWKUMWQWEDELVTWGWBWJUKULVDUNUOUPRVRVSVQSAAVQTVSVSUQZVSU
      RZNZVQVSUSWTWRGJZWTVQSXAWRWRHWRUTWRWSWRVSAPZVAVSXBVBVCVEWTWRGVFVGVHRGFVIV
      JVOVSVNSZAAVNTVSVSNZVSGJZXCXEAALVSUTVSVSVSXBXBVCVEXDVSGVKVGRFFGVLVJ $.

    $( ` 2nd ` is a mapping from the universe onto the universe.
       (Contributed by SF, 12-Feb-2015.) (Revised by Scott Fenton,
       17-Apr-2021.) $)
    2ndfo $p |- 2nd : _V -onto-> _V $=
      ( vx vy vz vw vt cvv c2nd wceq cv wbr wa weq wal cop wex vex br2nd mpgbir
      wcel eqv wfo wfn crn wfun cdm wi dffun2 anbi12i eeanv bitr4i opth simprbi
      eqtr2 exlimivv sylbi gen2 cproj1 cproj2 opeq eqid proj1ex proj2ex opbr2nd
      syl mpbir breldm ax-mp eqeltri df-fn mpbir2an equid brelrn df-fo ) FFGUAG
      FUBZGUCZFHZVNGUDZGUEZFHZVQAIZBIZGJZVTCIZGJZKZBCLZUFZCMBMAABCGUGWGBCWEVTDI
      ZWANZHZVTEIZWCNZHZKZEODOZWFWEWJDOZWMEOZKWOWBWPWDWQDVTWABPQEVTWCCPQUHWJWMD
      EUIUJWNWFDEWNWIWLHZWFVTWIWLUMWRDELWFWHWAWKWCUKULVDUNUOUPRVSVTVRSAAVRTVTVT
      UQZVTURZNZVRVTUSXAWTGJZXAVRSXBWTWTHWTUTWSWTWTVTAPZVAVTXCVBVCVEXAWTGVFVGVH
      RGFVIVJVPVTVOSZAAVOTVTVTNZVTGJZXDXFAALAVKVTVTVTXCXCVCVEXEVTGVLVGRFFGVMVJ
      $.

  $}

  ${
    $d A x y z $.
    $( Alternate definition of domain.  (Contributed by SF, 23-Feb-2015.) $)
    dfdm4 $p |- dom A = ( 1st " A ) $=
      ( vx vy vz cdm c1st cima cv cop wcel wex wbr wrex wceq rexcom4 vex rexbii
      br1st risset exbii 3bitr4ri eldm2 elima 3bitr4i eqriv ) BAEZFAGZBHZCHIZAJ
      ZCKZDHZUHFLZDAMZUHUFJUHUGJULUINZCKZDAMUODAMZCKUNUKUODCAOUMUPDACULUHBPRQUJ
      UQCDUIASTUACUHAUBDUHFAUCUDUE $.

    $( Alternate definition of range.  (Contributed by SF, 23-Feb-2015.) $)
    dfrn5 $p |- ran A = ( 2nd " A ) $=
      ( vy vx vz crn c2nd cima cv cop wcel wex wbr wrex wceq rexcom4 vex rexbii
      br2nd risset exbii 3bitr4ri elrn2 elima 3bitr4i eqriv ) BAEZFAGZCHBHZIZAJ
      ZCKZDHZUHFLZDAMZUHUFJUHUGJULUINZCKZDAMUODAMZCKUNUKUODCAOUMUPDACULUHBPRQUJ
      UQCDUIASTUACUHAUBDUHFAUCUDUE $.
  $}

  ${
    $d A a $.  $d a b $.  $d A b $.  $d a x $.  $d A x $.  $d a y $.  $d A y $.
    $d B a $.  $d B b $.  $d b x $.  $d B x $.  $d b y $.  $d B y $.  $d x y $.

    $( Binary relationship of ` Swap ` .  (Contributed by SF, 23-Feb-2015.) $)
    brswap $p |- ( A Swap B <-> E. x E. y ( A = <. x , y >. /\ B = <. y , x >.
        ) ) $=
      ( va vb cswap cvv wcel wa cv cop wceq wex opex eleq1 mpbiri eqeq1 2exbidv
      vex wbr brex anim12i exlimivv anbi1d anbi2d df-swap brabg pm5.21nii ) CDG
      UACHIZDHIZJZCAKZBKZLZMZDUNUMLZMZJZBNANZCDGUBUSULABUPUJURUKUPUJUOHIUMUNATZ
      BTZOCUOHPQURUKUQHIUNUMVBVAODUQHPQUCUDEKZUOMZFKZUQMZJZBNANUPVFJZBNANUTEFCD
      HHGVCCMZVGVHABVIVDUPVFVCCUORUESVEDMZVHUSABVJVFURUPVEDUQRUFSEFABUGUHUI $.
  $}

  ${
    $d a b x y $.
    $( The converse of ` Swap ` is ` Swap ` .  (Contributed by SF,
       23-Feb-2015.) $)
    cnvswap $p |- `' Swap = Swap $=
      ( va vb vy vx cswap ccnv cv cop wceq wa wex wbr ancom 2exbii brcnv brswap
      excom 3bitri 3bitr4i eqbrriv ) ABEFZEBGZCGZDGZHIZAGZUDUCHIZJZCKDKZUGUEJZC
      KDKUFUBUALZUFUBELUHUJDCUEUGMNUKUBUFELUHDKCKUIUFUBEOCDUBUFPUHCDQRDCUFUBPST
      $.
  $}

  ${
    $d x y z $.
    $( ` Swap ` is a bijection over the universe.  (Contributed by SF,
       23-Feb-2015.) (Revised by Scott Fenton, 17-Apr-2021.) $)
    swapf1o $p |- Swap : _V -1-1-onto-> _V $=
      ( vx vy vz cvv cswap wfn wceq cv wbr wa wal cproj2 cproj1 cop vex proj1ex
      opeq proj2ex brswap2 bitri wf1o ccnv cdm weq wi dffun2 breq2i eqtr2 ancom
      wfun opth eqeq12i 3bitr4i sylib syl2anb gen2 mpgbir wcel eqv mpbir breldm
      eqid ax-mp eqeltri df-fn mpbir2an cnvswap fneq1i dff1o4 ) DDEUAEDFZEUBZDF
      ZVJEUJZEUCZDGZVMAHZBHZEIZVPCHZEIZJBCUDZUEZCKBKAABCEUFWBBCVRVPVQLZVQMZNZGZ
      VPVSLZVSMZNZGZWAVTVRVPWDWCNZEIWFVQWKVPEVQQZUGVPWDWCVQBOZPVQWMRSTVTVPWHWGN
      ZEIWJVSWNVPEVSQZUGVPWHWGVSCOZPVSWPRSTWFWJJWEWIGZWAVPWEWIUHWCWGGZWDWHGZJWS
      WRJZWQWAWRWSUIWCWDWGWHUKWAWKWNGWTVQWKVSWNWLWOULWDWCWHWGUKTUMUNUOUPUQVOVPV
      NURAAVNUSVPVPMZVPLZNZVNVPQXCXBXANZEIZXCVNURXEXCXCGXCVBXCXBXAVPAOZRVPXFPSU
      TXCXDEVAVCVDUQEDVEVFZVLVJXGDVKEVGVHUTDDEVIVF $.

  $}

  $( Bijection law for restrictions of ` Swap ` .  (Contributed by SF,
     23-Feb-2015.) (Modified by Scott Fenton, 17-Apr-2021.) $)
  swapres $p |- ( Swap |` A ) : A -1-1-onto-> `' A $=
    ( ccnv cswap cres wf1o cima cvv wf1 wss swapf1o f1of1 ax-mp ssv f1ores wceq
    mp2an wb dfcnv2 f1oeq3 mpbir ) AABZCADZEZACAFZUBEZGGCHZAGIUEGGCEUFJGGCKLAMG
    GACNPUAUDOUCUEQARUAUDAUBSLT $.

  ${
    $d A x $.  $d A y $.  $d A z $.  $d B x $.  $d B y $.  $d C x $.  $d C y $.
    $d C z $.  $d D x $.  $d D y $.  $d x y $.  $d x z $.  $d y z $.
    xpnedisj.1 $e |- C e. _V $.
    xpnedisj.2 $e |- C =/= D $.
    $( Cross products with non-equal singletons are disjoint.  (Contributed by
       SF, 23-Feb-2015.) $)
    xpnedisj $p |- ( ( A X. { C } ) i^i ( B X. { D } ) ) = (/) $=
      ( vx vy vz csn cxp cin c0 wceq cv wcel wn disj cop wrex elxp2 opeq2 rexsn
      eqeq2d rexbii bitri wa df-ne mpbi elsni intnan eleq1 opelxp syl6bb mtbiri
      wne mto rexlimivw sylbi mprgbir ) ACJZKZBDJZKZLMNGOZVDPZQZGVBGVBVDRVEVBPZ
      VEHOZCSZNZHATZVGVHVEVIIOZSZNZIVATZHATVLHIVEAVAUAVPVKHAVOVKICEVMCNVNVJVEVM
      CVIUBUDUCUEUFVKVGHAVKVFVIBPZCVCPZUGZVRVQVRCDNZCDUPVTQFCDUHUICDUJUQUKVKVFV
      JVDPVSVEVJVDULVICBVCUMUNUOURUSUT $.
  $}

  ${
    opfv1st.1 $e |- A e. _V $.
    opfv1st.2 $e |- B e. _V $.
    $( The value of the ` 1st ` function on an ordered pair.  (Contributed by
       SF, 23-Feb-2015.) $)
    opfv1st $p |- ( 1st ` <. A , B >. ) = A $=
      ( cop c1st cfv wceq wbr eqid opbr1st mpbir cvv wfn wcel wb wfo 1stfo fofn
      ax-mp opex fnbrfvb mp2an ) ABEZFGAHZUDAFIZUFAAHAJABACDKLFMNZUDMOUEUFPMMFQ
      UGRMMFSTABCDUAMUDAFUBUCL $.

    $( The value of the ` 2nd ` function on an ordered pair.  (Contributed by
       SF, 23-Feb-2015.) $)
    opfv2nd $p |- ( 2nd ` <. A , B >. ) = B $=
      ( cop c2nd cfv wceq wbr eqid opbr2nd mpbir cvv wfn wcel wb wfo 2ndfo fofn
      ax-mp opex fnbrfvb mp2an ) ABEZFGBHZUDBFIZUFBBHBJABBCDKLFMNZUDMOUEUFPMMFQ
      UGRMMFSTABCDUAMUDBFUBUCL $.
  $}

  ${
    $d A x y $.  $d B x y $.  $d C x y $.
    $( Reconstruction of a member of a cross product in terms of its ordered
       pair components.  (Contributed by SF, 20-Oct-2013.) $)
    1st2nd2 $p |- ( A e. ( B X. C ) -> A = <. ( 1st ` A ) , ( 2nd ` A ) >. ) $=
      ( vx vy cxp wcel cv cop wceq wrex c1st cfv c2nd elxp2 vex opfv1st opfv2nd
      fveq2 rexlimivw opeq12i eqcomi id opeq12d 3eqtr4a sylbi ) ABCFGADHZEHZIZJ
      ZECKZDBKAALMZANMZIZJZDEABCOUKUODBUJUOECUJUIUILMZUINMZIZAUNURUIUPUGUQUHUGU
      HDPZEPZQUGUHUSUTRUAUBUJUCUJULUPUMUQAUILSAUINSUDUETTUF $.
  $}

  ${
    $d A x $.  $d A y $.  $d A z $.  $d B x $.  $d B y $.  $d B z $.  $d C x $.
    $d C y $.  $d C z $.  $d F x $.  $d F y $.  $d F z $.  $d x y $.  $d x z $.
    $d y z $.
    $( Implicational form of part of the definition of a function.
       (Contributed by SF, 24-Feb-2015.) $)
    fununiq $p |- ( ( Fun F /\ A F B /\ A F C ) -> B = C ) $=
      ( vx vy vz cvv wcel wa wbr w3a wceq brex 3adant1 wi cv wal wb breq12 wfun
      anim12i anandi sylibr dffun2 3adant3 3adant2 anbi12d eqeq12 spc3gv syl5bi
      weq imbi12d exp4a 3impd 3expb mpcom ) AHIZBHIZCHIZJJZDUAZABDKZACDKZLZBCMZ
      VCVDVAVBVCVDJZURUSJZURUTJZJVAVCVHVDVIABDNACDNUBURUSUTUCUDOURUSUTVEVFPURUS
      UTLZVBVCVDVFVJVBVCVDVFVBEQZFQZDKZVKGQZDKZJZFGULZPZGRFRERVJVGVFPZEFGDUEVRV
      SEFGABCHHHVKAMZVLBMZVNCMZLZVPVGVQVFWCVMVCVOVDVTWAVMVCSWBVKAVLBDTUFVTWBVOV
      DSWAVKAVNCDTUGUHWAWBVQVFSVTVLBVNCUIOUMUJUKUNUOUPUQ $.
  $}

  ${
    $d a b $.  $d a x $.  $d a y $.  $d b x $.  $d b y $.  $d R a $.  $d R b $.
    $d R x $.  $d R y $.  $d x y $.
    $( Calculate the converse of a singleton image.  (Contributed by SF,
       26-Feb-2015.) $)
    cnvsi $p |- `' SI R = SI `' R $=
      ( vx vy vb va csi ccnv csn wceq wbr w3a wex 3ancoma 3anbi3i bitr4i 2exbii
      cv brcnv brsi excom 3bitri 3bitr4i eqbrriv ) BCAFZGZAGZFZCQZDQZHIZBQZEQZH
      IZUIULAJZKZDLELZUMUJULUIUFJZKZDLELUKUHUEJZUKUHUGJUOUREDUOUMUJUNKURUJUMUNM
      UQUNUMUJULUIARNOPUSUHUKUDJUOELDLUPUKUHUDRDEUHUKASUODETUAEDUKUHUFSUBUC $.

    $( Calculate the domain of a singleton image.  Theorem X.4.29.I of [Rosser]
       p. 301.  (Contributed by SF, 26-Feb-2015.) $)
    dmsi $p |- dom SI R = ~P1 dom R $=
      ( vx va vy vb csi cdm cpw1 cv csn wceq wbr wcel wa bitri exbii excom eldm
      wex 3bitr4i wrex 3anass 2exbii 19.42vv isseti 19.41v mpbiran anbi2i ancom
      w3a snex df-rex brsi elpw1 eqriv ) BAFZGZAGZHZBIZCIZJKZDIZEIZJZKZVAVDALZU
      JZESZCSZDSZVBCURUAZUTUQMZUTUSMVIDSZCSVAURMZVBNZCSVKVLVNVPCVNVBVFVGNZESDSZ
      NZVPVNVBVQNZESDSVSVHVTDEVBVFVGUBUCVBVQDEUDOVSVBVONVPVRVOVBVQDSZESVGESVRVO
      WAVGEWAVFDSVGDVEVDUKUEVFVGDUFUGPVQDEQEVAARTUHVBVOUIOOPVIDCQVBCURULTVMUTVC
      UPLZDSVKDUTUPRWBVJDCEUTVCAUMPOCUTURUNTUO $.

    $d a c $.  $d a d $.  $d a z $.  $d b c $.  $d b d $.  $d b z $.  $d c d $.
    $d c x $.  $d c y $.  $d c z $.  $d d x $.  $d d y $.  $d d z $.  $d F a $.
    $d F b $.  $d F c $.  $d F d $.  $d F x $.  $d F y $.  $d F z $.  $d x z $.
    $d y z $.
    $( The singleton image of a function is a function.  (Contributed by SF,
       26-Feb-2015.) $)
    funsi $p |- ( Fun F -> Fun SI F ) $=
      ( vx vy vz va vb vc vd wfun cv wbr wa weq wi wal csn wceq w3a wex wb brsi
      anbi12i ee4anv bitr4i fununiq 3exp breq1 bicomd adantr eqeq2 sneqb syl6bb
      csi vex adantl imbi12d biimprcd exp3a 3impd syl6 eqeq1 3anbi1d imbi2d syl
      imp3a exlimdvv syl5bi alrimiv alrimivv dffun2 sylibr ) AIZBJZCJZAUMZKZVMD
      JZVOKZLZCDMZNZDOZCOBOVOIVLWBBCVLWADVSVMEJZPZQZVNFJZPZQZWCWFAKZRZVMGJZPZQZ
      VQHJZPZQZWKWNAKZRZLZHSGSZFSESZVLVTVSWJFSESZWRHSGSZLXAVPXBVRXCEFVMVNAUAGHV
      MVQAUAUBWJWREFGHUCUDVLWTVTEFVLWSVTGHVLWJWRVTVLWIEGMZWPWQRZWGVQQZNZNZWJWRV
      TNZNVLWIWCWNAKZFHMZNZXGVLWIXJXKWCWFWNAUEUFXLXDWPWQXFXLXDWPWQXFNZXDWPLZXMX
      LXNWQXJXFXKXDWQXJTWPXDXJWQWCWKWNAUGUHUIWPXFXKTXDWPXFWGWOQXKVQWOWGUJWFWNFU
      NUKULUOUPUQURUSUTXHWEWHWIXIXHWEWHWIXINZWEWHLZXOXHXPXIXGWIXPWRXEVTXFWEWRXE
      TWHWEWMXDWPWQWEWMWDWLQXDVMWDWLVAWCWKEUNUKULVBUIWHVTXFTWEVNWGVQVAUOUPVCUQU
      RUSVDVEVFVFVGVHVIBCDVOVJVK $.
  $}

  $( Calculate the range of a singleton image.  Theorem X.4.29.II of [Rosser]
     p. 302.  (Contributed by SF, 26-Feb-2015.) $)
  rnsi $p |- ran SI R = ~P1 ran R $=
    ( csi ccnv cdm cpw1 cnvsi dmeqi dmsi eqtri dfrn4 wceq pw1eq ax-mp 3eqtr4i
    crn ) ABZCZDZACZDZEZPOAOZEZRSBZDUAQUDAFGSHIPJUBTKUCUAKAJUBTLMN $.

  ${
    op1st.1 $e |- A e. _V $.
    op1st.2 $e |- B e. _V $.
    $( Extract the first member of an ordered pair.  (Contributed by Mario
       Carneiro, 31-Aug-2015.) $)
    op1std $p |- ( C = <. A , B >. -> ( 1st ` C ) = A ) $=
      ( cop wceq c1st cfv fveq2 opfv1st syl6eq ) CABFZGCHIMHIACMHJABDEKL $.

    $( Extract the second member of an ordered pair.  (Contributed by Mario
       Carneiro, 31-Aug-2015.) $)
    op2ndd $p |- ( C = <. A , B >. -> ( 2nd ` C ) = B ) $=
      ( cop wceq c2nd cfv fveq2 opfv2nd syl6eq ) CABFZGCHIMHIBCMHJABDEKL $.
  $}

  $( The domain of the epsilon relationship.  (Contributed by Scott Fenton,
     20-Apr-2021.) $)
  dmep $p |- dom _E = _V $=
    ( vx cep cdm cvv wceq cv wcel eqv csn wbr vex snid epelc mpbir breldm ax-mp
    snex mpgbir ) BCZDEAFZSGZAASHTTIZBJZUAUCTUBGTAKLTUBTQMNTUBBOPR $.

$(
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
        Operations
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
$)

  $( Extend class notation to include the value of an operation ` F ` for two
     arguments ` A ` and ` B ` .  Note that the syntax is simply three class
     symbols in a row surrounded by parentheses.  Since operation values are
     the only possible class expressions consisting of three class expressions
     in a row surrounded by parentheses, the syntax is unambiguous. $)
  co $a class ( A F B ) $.

  $( Define the value of an operation.  Definition of operation value in
     [Enderton] p. 79.  Note that the syntax is simply three class expressions
     in a row bracketed by parentheses.  There are no restrictions of any kind
     on what those class expressions may be, although only certain kinds of
     class expressions - a binary operation ` F ` and its arguments ` A ` and
     ` B ` - will be useful for proving meaningful theorems.  This definition
     is well-defined, although not very meaningful, when classes ` A ` and/or
     ` B ` are proper classes (i.e. are not sets).  On the other hand, we often
     find uses for this definition when ` F ` is a proper class. ` F ` is
     normally equal to a class of nested ordered pairs of the form defined by
     ~ df-oprab .  (Contributed by SF, 5-Jan-2015.) $)
  df-ov $a |- ( A F B ) = ( F ` <. A , B >. ) $.

  $( Extend class notation to include class abstraction (class builder) of
     nested ordered pairs. $)
  coprab $a class { <. <. x , y >. , z >. | ph } $.

  ${
    $d x w $.  $d y w $.  $d z w $.  $d w ph $.
    $( Define the class abstraction (class builder) of a collection of nested
       ordered pairs (for use in defining operations).  This is a special case
       of Definition 4.16 of [TakeutiZaring] p. 14.  Normally ` x ` , ` y ` ,
       and ` z ` are distinct, although the definition doesn't strictly require
       it.  See ~ df-ov for the value of an operation.  The brace notation is
       called "class abstraction" by Quine; it is also called a "class builder"
       in the literature.  The value of the most common operation class builder
       is given by ov2 in set.mm.  (Contributed by SF, 5-Jan-2015.) $)
    df-oprab $a |- { <. <. x , y >. , z >. | ph } =
                  { w | E. x E. y E. z ( w = <. <. x , y >. , z >. /\ ph ) } $.
  $}

  $( Equality theorem for operation value.  (Contributed by set.mm
     contributors, 28-Feb-1995.) $)
  oveq $p |- ( F = G -> ( A F B ) = ( A G B ) ) $=
    ( wceq cop cfv co fveq1 df-ov 3eqtr4g ) CDEABFZCGLDGABCHABDHLCDIABCJABDJK
    $.

  $( Equality theorem for operation value.  (Contributed by set.mm
     contributors, 28-Feb-1995.) $)
  oveq1 $p |- ( A = B -> ( A F C ) = ( B F C ) ) $=
    ( wceq cop cfv co opeq1 fveq2d df-ov 3eqtr4g ) ABEZACFZDGBCFZDGACDHBCDHMNOD
    ABCIJACDKBCDKL $.

  $( Equality theorem for operation value.  (Contributed by set.mm
     contributors, 28-Feb-1995.) $)
  oveq2 $p |- ( A = B -> ( C F A ) = ( C F B ) ) $=
    ( wceq cop cfv co opeq2 fveq2d df-ov 3eqtr4g ) ABEZCAFZDGCBFZDGCADHCBDHMNOD
    ABCIJCADKCBDKL $.

  $( Equality theorem for operation value.  (Contributed by set.mm
     contributors, 16-Jul-1995.) $)
  oveq12 $p |- ( ( A = B /\ C = D ) -> ( A F C ) = ( B F D ) ) $=
    ( wceq co oveq1 oveq2 sylan9eq ) ABFCDFACEGBCEGBDEGABCEHCDBEIJ $.

  ${
    oveq1i.1 $e |- A = B $.
    $( Equality inference for operation value.  (Contributed by set.mm
       contributors, 28-Feb-1995.) $)
    oveq1i $p |- ( A F C ) = ( B F C ) $=
      ( wceq co oveq1 ax-mp ) ABFACDGBCDGFEABCDHI $.

    $( Equality inference for operation value.  (Contributed by set.mm
       contributors, 28-Feb-1995.) $)
    oveq2i $p |- ( C F A ) = ( C F B ) $=
      ( wceq co oveq2 ax-mp ) ABFCADGCBDGFEABCDHI $.

    ${
      oveq12i.2 $e |- C = D $.
      $( Equality inference for operation value.  (The proof was shortened by
         Andrew Salmon, 22-Oct-2011.)  (Contributed by set.mm contributors,
         28-Feb-1995.)  (Revised by set.mm contributors, 22-Oct-2011.) $)
      oveq12i $p |- ( A F C ) = ( B F D ) $=
        ( wceq co oveq12 mp2an ) ABHCDHACEIBDEIHFGABCDEJK $.
    $}

    $( Equality inference for operation value.  (Contributed by set.mm
       contributors, 24-Nov-2007.) $)
    oveqi $p |- ( C A D ) = ( C B D ) $=
      ( wceq co oveq ax-mp ) ABFCDAGCDBGFECDABHI $.
  $}

  ${
    oveq1d.1 $e |- ( ph -> A = B ) $.
    $( Equality deduction for operation value.  (Contributed by set.mm
       contributors, 13-Mar-1995.) $)
    oveq1d $p |- ( ph -> ( A F C ) = ( B F C ) ) $=
      ( wceq co oveq1 syl ) ABCGBDEHCDEHGFBCDEIJ $.

    $( Equality deduction for operation value.  (Contributed by set.mm
       contributors, 13-Mar-1995.) $)
    oveq2d $p |- ( ph -> ( C F A ) = ( C F B ) ) $=
      ( wceq co oveq2 syl ) ABCGDBEHDCEHGFBCDEIJ $.

    $( Equality deduction for operation value.  (Contributed by set.mm
       contributors, 9-Sep-2006.) $)
    oveqd $p |- ( ph -> ( C A D ) = ( C B D ) ) $=
      ( wceq co oveq syl ) ABCGDEBHDECHGFDEBCIJ $.

    ${
      oveq12d.2 $e |- ( ph -> C = D ) $.
      $( Equality deduction for operation value.  (The proof was shortened by
         Andrew Salmon, 22-Oct-2011.)  (Contributed by set.mm contributors,
         13-Mar-1995.)  (Revised by set.mm contributors, 22-Oct-2011.) $)
      oveq12d $p |- ( ph -> ( A F C ) = ( B F D ) ) $=
        ( wceq co oveq12 syl2anc ) ABCIDEIBDFJCEFJIGHBCDEFKL $.
    $}

    ${
      opreqan12i.2 $e |- ( ps -> C = D ) $.
      $( Equality deduction for operation value.  (Contributed by set.mm
         contributors, 10-Aug-1995.) $)
      oveqan12d $p |- ( ( ph /\ ps ) -> ( A F C ) = ( B F D ) ) $=
        ( wceq co oveq12 syl2an ) ACDJEFJCEGKDFGKJBHICDEFGLM $.

      $( Equality deduction for operation value.  (Contributed by set.mm
         contributors, 10-Aug-1995.) $)
      oveqan12rd $p |- ( ( ps /\ ph ) -> ( A F C ) = ( B F D ) ) $=
        ( co wceq oveqan12d ancoms ) ABCEGJDFGJKABCDEFGHILM $.
    $}
  $}

  ${
    oveq123d.1 $e |- ( ph -> F = G ) $.
    oveq123d.2 $e |- ( ph -> A = B ) $.
    oveq123d.3 $e |- ( ph -> C = D ) $.
    $( Equality deduction for operation value.  (Contributed by FL,
       22-Dec-2008.) $)
    oveq123d $p |- ( ph -> ( A F C ) = ( B G D ) ) $=
      ( co oveqd oveq1d oveq2d 3eqtrd ) ABDFKBDGKCDGKCEGKAFGBDHLABCDGIMADECGJNO
      $.
  $}

  ${
    nfovd.2 $e |- ( ph -> F/_ x A ) $.
    nfovd.3 $e |- ( ph -> F/_ x F ) $.
    nfovd.4 $e |- ( ph -> F/_ x B ) $.
    $( Deduction version of bound-variable hypothesis builder ~ nfov .
       (Contributed by NM, 13-Dec-2005.)  (Proof shortened by Andrew Salmon,
       22-Oct-2011.) $)
    nfovd $p |- ( ph -> F/_ x ( A F B ) ) $=
      ( co cop cfv df-ov nfopd nffvd nfcxfrd ) ABCDEICDJZEKCDELABPEGABCDFHMNO
      $.
  $}

  ${
    nfov.1 $e |- F/_ x A $.
    nfov.2 $e |- F/_ x F $.
    nfov.3 $e |- F/_ x B $.
    $( Bound-variable hypothesis builder for operation value.  (Contributed by
       NM, 4-May-2004.) $)
    nfov $p |- F/_ x ( A F B ) $=
      ( co wnfc wtru a1i nfovd trud ) ABCDHIJABCDABIJEKADIJFKACIJGKLM $.
  $}

  ${
    $d w x $.  $d w y $.  $d w z $.  $d w ph $.
    $( The abstraction variables in an operation class abstraction are not
       free.  (Contributed by NM, 25-Apr-1995.)  (Revised by David Abernethy,
       19-Jun-2012.) $)
    nfoprab1 $p |- F/_ x { <. <. x , y >. , z >. | ph } $=
      ( vw coprab cv cop wceq wa wex cab df-oprab nfe1 nfab nfcxfr ) BABCDFEGBG
      CGHDGHIAJDKCKZBKZELABCDEMRBEQBNOP $.

    $( The abstraction variables in an operation class abstraction are not
       free.  (Contributed by NM, 25-Apr-1995.)  (Revised by David Abernethy,
       30-Jul-2012.) $)
    nfoprab2 $p |- F/_ y { <. <. x , y >. , z >. | ph } $=
      ( vw coprab cv cop wceq wa wex cab df-oprab nfe1 nfex nfab nfcxfr ) CABCD
      FEGBGCGHDGHIAJDKZCKZBKZELABCDEMTCESCBRCNOPQ $.

    $( The abstraction variables in an operation class abstraction are not
       free.  (Contributed by NM, 22-Aug-2013.) $)
    nfoprab3 $p |- F/_ z { <. <. x , y >. , z >. | ph } $=
      ( vw coprab cv cop wceq wa wex cab df-oprab nfe1 nfex nfab nfcxfr ) DABCD
      FEGBGCGHDGHIAJZDKZCKZBKZELABCDEMUADETDBSDCRDNOOPQ $.
  $}

  ${
    $d v w x $.  $d v w y $.  $d v w z $.  $d v ph $.
    nfoprab.1 $e |- F/ w ph $.
    $( Bound-variable hypothesis builder for an operation class abstraction.
       (Contributed by NM, 22-Aug-2013.) $)
    nfoprab $p |- F/_ w { <. <. x , y >. , z >. | ph } $=
      ( vv coprab cv cop wceq wa wex cab df-oprab nfv nfan nfex nfab nfcxfr ) E
      ABCDHGIBICIJDIJKZALZDMZCMZBMZGNABCDGOUEEGUDEBUCECUBEDUAAEUAEPFQRRRST $.
  $}

  ${
    $d a ph r s t w $.  $d a r s t w x $.  $d a r s t w y $.  $d a r s t w z $.
    $( The law of concretion.  Special case of Theorem 9.5 of [Quine] p. 61.
       (Contributed by Mario Carneiro, 20-Mar-2013.) $)
    oprabid $p |- ( <. <. x , y >. , z >. e.
        { <. <. x , y >. , z >. | ph } <-> ph ) $=
      ( vw va vt vr vs cv cop wceq wa wex vex wi weq opth wal wn coprab eqvinop
      biimpi eqeq1 simplbi syl6bi opeq1 eqeq2d anbi1i bitri anass 3bitri 3exbii
      opex nfcvf2 nfcvd nfeqd exdistrf eximi excom anim2i 3syl sylbi w3a df-3an
      3imtr4i bitr4i weu euequ1 eupick mpan syl6 3impd syl5bi com12 syl5 syl6bb
      eqcom anbi1d 3exbidv imbi1d mpbiri adantr exlimivv com3l mpdd mpcom 19.8a
      imbi12d ex impbid df-oprab elab2 ) EJZBJZCJZKZDJZKZLZAMZDNZCNZBNZAEWSABCD
      UAWQWRWOWPBOZCOZUNZDOZUNWTXDAWNFJZGJZKZLZXKWSLZMZGNFNZWTXDAPZWTXOFGWNWQWR
      XGXHUBUCXNWTXPPZFGXLXQXMXLWTXIWQLZXPXLWTXMXRWNXKWSUDXMXRGDQXIXJWQWRRUEUFX
      RXLWTXPXRXIHJZIJZKZLZYAWQLZMZINHNXLXQPZHIXIWOWPXEXFUBYDYEHIYBYEYCYBXLWNYA
      XJKZLZXQYBXKYFWNXIYAXJUGUHYGXQWSYFLZYHAMZDNCNBNZAPZPYJBHQZCIQZDGQZAMZDNZM
      CNZMZBNZYHAYJYLYMYOMZMZDNZCNBNZYSYIUUABCDYIYLYMMZYNMZAMUUDYOMUUAYHUUEAYHW
      QYALZYNMUUEWQWRYAXJRUUFUUDYNWOWPXSXTRUIUJZUIUUDYNAUKYLYMYOUKULUMUUCYLYTDN
      ZMZCNBNZYLUUHCNZMZBNYSUUBBNZCNUUIBNZCNUUCUUJUUMUUNCYLYTBDBDQBSTZDWOXSBDUO
      UUODXSUPUQURUSUUBBCUTUUIBCUTVFYLUUHBCBCQBSTZCWOXSBCUOUUPCXSUPUQURUULYRBUU
      KYQYLYMYOCDCDQCSTZDWPXTCDUOUUQDXTUPUQURVAUSVBVCYSYHAYHYLYMYNVDZYSAYHUUEUU
      RUUGYLYMYNVEVGYSYLYMYNAYSYLYQYMYNAPZPYLBVHYSYLYQPBHVIYLYQBVJVKYQYMYPUUSYM
      CVHYQYMYPPCIVIYMYPCVJVKYNDVHYPUUSDGVIYNADVJVKVLVLVMVNVOVPYGWTYHXPYKYGWTYF
      WSLYHWNYFWSUDYFWSVRVQZYGXDYJAYGXAYIBCDYGWTYHAUUTVSVTWAWIWBUFWCWDVCWEWFWCW
      DWGWTAXDXAXBXCXDXADWHXBCWHXCBWHVBWJWKABCDEWLWM $.
  $}

  $( The result of an operation is a set.  (Contributed by set.mm contributors,
     13-Mar-1995.) $)
  ovex $p |- ( A F B ) e. _V $=
    ( co cop cfv cvv df-ov fvex eqeltri ) ABCDABEZCFGABCHKCIJ $.

  ${
    $d y A $.  $d y B $.  $d y C $.  $d y D $.  $d y F $.  $d x y $.
    $( Move class substitution in and out of an operation.  (Contributed by NM,
       12-Nov-2005.)  (Proof shortened by Mario Carneiro, 5-Dec-2016.) $)
    csbovg $p |- ( A e. D -> [_ A / x ]_ ( B F C ) =
           ( [_ A / x ]_ B [_ A / x ]_ F [_ A / x ]_ C ) ) $=
      ( vy cv co csb wceq csbeq1 oveq123d eqeq12d nfcsb1v csbeq1a csbief vtoclg
      vex nfov ) AGHZCDFIZJZAUACJZAUADJZAUAFJZIZKABUBJZABCJZABDJZABFJZIZKGBEUAB
      KZUCUHUGULAUABUBLUMUDUIUEUJUFUKAUABFLAUABCLAUABDLMNAUAUBUGGSAUDUEUFAUACOA
      UAFOAUADOTAHUAKCUDDUEFUFAUAFPAUACPAUADPMQR $.
  $}

  ${
    $d x F $.
    $( Move class substitution in and out of an operation.  (Contributed by NM,
       12-Nov-2005.) $)
    csbov12g $p |- ( A e. D ->
                 [_ A / x ]_ ( B F C ) = ( [_ A / x ]_ B F [_ A / x ]_ C ) ) $=
      ( wcel co csb csbovg csbconstg oveqd eqtrd ) BEGZABCDFHIABCIZABDIZABFIZHO
      PFHABCDEFJNQFOPABFEKLM $.
  $}

  ${
    $d x C $.  $d x F $.
    $( Move class substitution in and out of an operation.  (Contributed by NM,
       12-Nov-2005.) $)
    csbov1g $p |- ( A e. D ->
                  [_ A / x ]_ ( B F C ) = ( [_ A / x ]_ B F C ) ) $=
      ( wcel co csb csbov12g csbconstg oveq2d eqtrd ) BEGZABCDFHIABCIZABDIZFHOD
      FHABCDEFJNPDOFABDEKLM $.
  $}

  ${
    $d x B $.  $d x F $.
    $( Move class substitution in and out of an operation.  (Contributed by NM,
       12-Nov-2005.) $)
    csbov2g $p |- ( A e. D ->
                  [_ A / x ]_ ( B F C ) = ( B F [_ A / x ]_ C ) ) $=
      ( wcel co csb csbov12g csbconstg oveq1d eqtrd ) BEGZABCDFHIABCIZABDIZFHCP
      FHABCDEFJNOCPFABCEKLM $.
  $}

  ${
    $d x A $.  $d x y B $.  $d x y C $.  $d y D $.  $d x y F $.  $d x y S $.
    $( A frequently used special case of ~ rspc2ev for operation values.
       (Contributed by set.mm contributors, 21-Mar-2007.) $)
    rspceov $p |- ( ( C e. A /\ D e. B /\ S = ( C F D ) ) ->
                 E. x e. A E. y e. B S = ( x F y ) ) $=
      ( cv co wceq oveq1 eqeq2d oveq2 rspc2ev ) GAIZBIZHJZKGEFHJZKGEQHJZKABEFCD
      PEKRTGPEQHLMQFKTSGQFEHNMO $.
  $}

  $( Equivalence of operation value and ordered triple membership, analogous to
     ~ fnopfvb .  (Contributed by set.mm contributors, 17-Dec-2008.) $)
  fnopovb $p |- ( ( F Fn ( A X. B ) /\ C e. A /\ D e. B ) ->
                 ( ( C F D ) = R <-> <. <. C , D >. , R >. e. F ) ) $=
    ( cxp wfn wcel co wceq cop wb wa opelxp cfv df-ov eqeq1i fnopfvb syl5bb
    sylan2br 3impb ) FABGZHZCAIZDBIZCDFJZEKZCDLZELFIZMZUEUFNUDUIUCIZUKCDABOUHUI
    FPZEKUDULNUJUGUMECDFQRUCUIEFSTUAUB $.

  ${
    $d x z w v $.  $d y z w v $.  $d w ph v $.
    $( Class abstraction for operations in terms of class abstraction of
       ordered pairs.  (Contributed by set.mm contributors, 12-Mar-1995.) $)
    dfoprab2 $p |- { <. <. x , y >. , z >. | ph } =
                   { <. w , z >. | E. x E. y ( w = <. x , y >. /\ ph ) } $=
      ( vv cv cop wceq wex cab coprab copab excom exrot4 an12 exbii vex bitri
      wa opex opeq1 eqeq2d anbi1d ceqsexv 3exbii 19.42vv 3bitr3i abbii df-oprab
      2exbii df-opab 3eqtr4i ) FGZBGZCGZHZDGZHZIZATZDJCJBJZFKUNEGZURHZIZVCUQIZA
      TZCJBJZTZDJEJZFKABCDLVHEDMVBVJFVEVGTZCJBJZEJDJZVLDJEJVBVJVLDENVMVKEJZDJCJ
      BJVBVKDEBCOVNVABCDVNVFVEATZTZEJVAVKVPEVEVFAPQVOVAEUQUOUPBRCRUAVFVEUTAVFVD
      USUNVCUQURUBUCUDUESUFSVLVIEDVEVGBCUGUKUHUIABCDFUJVHEDFULUM $.
  $}

  ${
    $d x w v $.  $d y v $.  $d z v $.  $d v ph $.
    $( The abstraction variables in an operation class abstraction are not
       free.  (Unnecessary distinct variable restrictions were removed by David
       Abernethy, 19-Jun-2012.)  (Contributed by set.mm contributors,
       25-Apr-1995.)  (Revised by set.mm contributors, 24-Jul-2012.) $)
    hboprab1 $p |- ( w e. { <. <. x , y >. , z >. | ph } ->
                   A. x w e. { <. <. x , y >. , z >. | ph } ) $=
      ( vv coprab cv cop wceq wa wex cab df-oprab hbe1 hbab hbxfreq ) BEABCDGFH
      BHCHIDHIJAKDLCLZBLZFMABCDFNSBFERBOPQ $.
  $}

  ${
    $d x v $.  $d y w v $.  $d z v $.  $d v ph $.
    $( The abstraction variables in an operation class abstraction are not
       free.  (Unnecessary distinct variable restrictions were removed by David
       Abernethy, 30-Jul-2012.)  (Contributed by set.mm contributors,
       25-Apr-1995.)  (Revised by set.mm contributors, 31-Jul-2012.) $)
    hboprab2 $p |- ( w e. { <. <. x , y >. , z >. | ph } ->
                   A. y w e. { <. <. x , y >. , z >. | ph } ) $=
      ( vv coprab cv cop wceq wa wex cab df-oprab hbe1 hbex hbab hbxfreq ) CEAB
      CDGFHBHCHIDHIJAKDLZCLZBLZFMABCDFNUACFETCBSCOPQR $.
  $}

  ${
    $d v x $.  $d v y $.  $d v z $.  $d w z $.  $d v ph $.
    $( The abstraction variables in an operation class abstraction are not
       free.  (Contributed by set.mm contributors, 22-Aug-2013.) $)
    hboprab3 $p |- ( w e. { <. <. x , y >. , z >. | ph } ->
                   A. z w e. { <. <. x , y >. , z >. | ph } ) $=
      ( vv coprab cv cop wceq wa wex cab df-oprab hbe1 hbex hbab hbxfreq ) DEAB
      CDGFHBHCHIDHIJAKZDLZCLZBLZFMABCDFNUBDFEUADBTDCSDOPPQR $.
  $}

  ${
    $d u w $.  $d v w x $.  $d v w y $.  $d v w z $.  $d v ph $.
    hboprab.1 $e |- ( ph -> A. w ph ) $.
    $( Bound-variable hypothesis builder for an operation class abstraction.
       (Contributed by set.mm contributors, 22-Aug-2013.) $)
    hboprab $p |- ( u e. { <. <. x , y >. , z >. | ph } ->
                   A. w u e. { <. <. x , y >. , z >. | ph } ) $=
      ( vv coprab cv cop wceq wa wex cab df-oprab ax-17 hban hbex hbab hbxfreq
      ) EFABCDIHJBJCJKDJKLZAMZDNZCNZBNZHOABCDHPUFEHFUEEBUDECUCEDUBAEUBEQGRSSSTU
      A $.
  $}

  ${
    $d x z w $.  $d y z w $.  $d w ph $.  $d w ps $.  $d w ch $.
    oprabbid.1 $e |- F/ x ph $.
    oprabbid.2 $e |- F/ y ph $.
    oprabbid.3 $e |- F/ z ph $.
    oprabbid.4 $e |- ( ph -> ( ps <-> ch ) ) $.
    $( Equivalent wff's yield equal operation class abstractions (deduction
       rule).  (Contributed by NM, 21-Feb-2004.)  (Revised by Mario Carneiro,
       24-Jun-2014.) $)
    oprabbid $p |- ( ph ->
           { <. <. x , y >. , z >. | ps } = { <. <. x , y >. , z >. | ch } ) $=
      ( vw cv cop wceq wa wex cab coprab exbid df-oprab anbi2d abbidv 3eqtr4g )
      AKLDLELMFLMNZBOZFPZEPZDPZKQUDCOZFPZEPZDPZKQBDEFRCDEFRAUHULKAUGUKDGAUFUJEH
      AUEUIFIABCUDJUASSSUBBDEFKTCDEFKTUC $.
  $}

  ${
    $d x z ph $.  $d y z ph $.
    oprabbidv.1 $e |- ( ph -> ( ps <-> ch ) ) $.
    $( Equivalent wff's yield equal operation class abstractions (deduction
       rule).  (Contributed by NM, 21-Feb-2004.) $)
    oprabbidv $p |- ( ph ->
           { <. <. x , y >. , z >. | ps } = { <. <. x , y >. , z >. | ch } ) $=
      ( nfv oprabbid ) ABCDEFADHAEHAFHGI $.
  $}

  ${
    $d x z w $.  $d y z w $.  $d w ph $.  $d w ps $.
    oprabbii.1 $e |- ( ph <-> ps ) $.
    $( Equivalent wff's yield equal operation class abstractions.  (Unnecessary
       distinct variable restrictions were removed by David Abernethy,
       19-Jun-2012.)  (Contributed by set.mm contributors, 28-May-1995.)
       (Revised by set.mm contributors, 24-Jul-2012.) $)
    oprabbii $p |- { <. <. x , y >. , z >. | ph }
                 = { <. <. x , y >. , z >. | ps } $=
      ( vw cv wceq coprab eqid wb a1i oprabbidv ax-mp ) GHZPIZACDEJBCDEJIPKQABC
      DEABLQFMNO $.
  $}

  ${
    $d x y z $.
    $( Two ways to state the domain of an operation.  (Contributed by FL,
       24-Jan-2010.) $)
    oprab4 $p |-
      { <. <. x , y >. , z >. | ( <. x , y >. e. ( A X. B ) /\ ph ) } =
        { <. <. x , y >. , z >. | ( ( x e. A /\ y e. B ) /\ ph ) } $=
      ( cv cop cxp wcel wa opelxp anbi1i oprabbii ) BGZCGZHEFIJZAKOEJPFJKZAKBCD
      QRAOPEFLMN $.
  $}

  ${
    $d x y z w v $.  $d v ph $.  $d v ps $.
    cbvoprab1.1 $e |- F/ w ph $.
    cbvoprab1.2 $e |- F/ x ps $.
    cbvoprab1.3 $e |- ( x = w -> ( ph <-> ps ) ) $.
    $( Rule used to change first bound variable in an operation abstraction,
       using implicit substitution.  (Contributed by NM, 20-Dec-2008.)
       (Revised by Mario Carneiro, 5-Dec-2016.) $)
    cbvoprab1 $p |- { <. <. x , y >. , z >. | ph }
                  = { <. <. w , y >. , z >. | ps } $=
      ( vv cv cop wceq wa wex copab coprab nfv nfan nfex eqeq2d anbi12d opabbii
      opeq1 exbidv cbvex dfoprab2 3eqtr4i ) JKZCKZDKZLZMZANZDOZCOZJEPUIFKZUKLZM
      ZBNZDOZFOZJEPACDEQBFDEQUPVBJEUOVACFUNFDUMAFUMFRGSTUTCDUSBCUSCRHSTUJUQMZUN
      UTDVCUMUSABVCULURUIUJUQUKUDUAIUBUEUFUCACDEJUGBFDEJUGUH $.
  $}

  ${
    $d v w x y z $.  $d ph v $.  $d ps v $.
    cbvoprab2.1 $e |- F/ w ph $.
    cbvoprab2.2 $e |- F/ y ps $.
    cbvoprab2.3 $e |- ( y = w -> ( ph <-> ps ) ) $.
    $( Change the second bound variable in an operation abstraction.
       (Contributed by Jeff Madsen, 11-Jun-2010.)  (Revised by Mario Carneiro,
       11-Dec-2016.) $)
    cbvoprab2 $p |- { <. <. x , y >. , z >. | ph } =
                    { <. <. x , w >. , z >. | ps } $=
      ( vv cv cop wceq wa wex cab coprab nfv nfan nfex opeq2 opeq1d cbvex exbii
      eqeq2d anbi12d exbidv abbii df-oprab 3eqtr4i ) JKZCKZDKZLZEKZLZMZANZEOZDO
      ZCOZJPUKULFKZLZUOLZMZBNZEOZFOZCOZJPACDEQBCFEQVAVIJUTVHCUSVGDFURFEUQAFUQFR
      GSTVFDEVEBDVEDRHSTUMVBMZURVFEVJUQVEABVJUPVDUKVJUNVCUOUMVBULUAUBUEIUFUGUCU
      DUHACDEJUIBCFEJUIUJ $.
  $}

  ${
    $d x y z w v u $.  $d u ph $.  $d u ps $.
    cbvoprab12.1 $e |- F/ w ph $.
    cbvoprab12.2 $e |- F/ v ph $.
    cbvoprab12.3 $e |- F/ x ps $.
    cbvoprab12.4 $e |- F/ y ps $.
    cbvoprab12.5 $e |- ( ( x = w /\ y = v ) -> ( ph <-> ps ) ) $.
    $( Rule used to change first two bound variables in an operation
       abstraction, using implicit substitution.  (Contributed by NM,
       21-Feb-2004.)  (Proof shortened by Andrew Salmon, 22-Oct-2011.) $)
    cbvoprab12 $p |- { <. <. x , y >. , z >. | ph }
                   = { <. <. w , v >. , z >. | ps } $=
      ( vu cv cop wceq wa wex nfv nfan coprab weq opeq12 eqeq2d anbi12d opabbii
      copab cbvex2 dfoprab2 3eqtr4i ) MNZCNZDNZOZPZAQZDRCRZMEUGUKFNZGNZOZPZBQZG
      RFRZMEUGACDEUABFGEUAUQVCMEUPVBCDFGUOAFUOFSHTUOAGUOGSITVABCVACSJTVABDVADSK
      TCFUBDGUBQZUOVAABVDUNUTUKULURUMUSUCUDLUEUHUFACDEMUIBFGEMUIUJ $.
  $}

  ${
    $d x y z w v $.  $d w v ph $.  $d x y ps $.
    cbvoprab12v.1 $e |- ( ( x = w /\ y = v ) -> ( ph <-> ps ) ) $.
    $( Rule used to change first two bound variables in an operation
       abstraction, using implicit substitution.  (Contributed by set.mm
       contributors, 8-Oct-2004.) $)
    cbvoprab12v $p |- { <. <. x , y >. , z >. | ph }
                    = { <. <. w , v >. , z >. | ps } $=
      ( nfv cbvoprab12 ) ABCDEFGAFIAGIBCIBDIHJ $.
  $}

  ${
    $d x z w v $.  $d y z w v $.  $d v ph $.  $d v ps $.
    cbvoprab3.1 $e |- F/ w ph $.
    cbvoprab3.2 $e |- F/ z ps $.
    cbvoprab3.3 $e |- ( z = w -> ( ph <-> ps ) ) $.
    $( Rule used to change the third bound variable in an operation
       abstraction, using implicit substitution.  (Contributed by NM,
       22-Aug-2013.) $)
    cbvoprab3 $p |- { <. <. x , y >. , z >. | ph } =
                     { <. <. x , y >. , w >. | ps } $=
      ( vv cv wceq wa wex copab coprab nfv nfan nfex dfoprab2 2exbidv cbvopab2
      cop anbi2d 3eqtr4i ) JKCKDKUCLZAMZDNZCNZJEOUFBMZDNZCNZJFOACDEPBCDFPUIULJE
      FUHFCUGFDUFAFUFFQGRSSUKECUJEDUFBEUFEQHRSSEKFKLZUGUJCDUMABUFIUDUAUBACDEJTB
      CDFJTUE $.
  $}

  ${
    $d x z w $.  $d y z w $.  $d w ph $.  $d z ps $.
    cbvoprab3v.1 $e |- ( z = w -> ( ph <-> ps ) ) $.
    $( Rule used to change the third bound variable in an operation
       abstraction, using implicit substitution.  (Unnecessary distinct
       variable restrictions were removed by David Abernethy, 19-Jun-2012.)
       (Contributed by set.mm contributors, 8-Oct-2004.)  (Revised by set.mm
       contributors, 24-Jul-2012.) $)
    cbvoprab3v $p |- { <. <. x , y >. , z >. | ph } =
                     { <. <. x , y >. , w >. | ps } $=
      ( nfv cbvoprab3 ) ABCDEFAFHBEHGI $.
  $}

  ${
    elimdelov.1 $e |- ( ph -> C e. ( A F B ) ) $.
    elimdelov.2 $e |- Z e. ( X F Y ) $.
    $( Eliminate a hypothesis which is a predicate expressing membership in the
       result of an operator (deduction version).  (Contributed by Paul
       Chapman, 25-Mar-2008.) $)
    elimdelov $p |- if ( ph , C , Z ) e.
                     ( if ( ph , A , X ) F if ( ph , B , Y ) ) $=
      ( cif co wcel iftrue eqeltrd oveq12d eleqtrrd wn iffalse syl6eqel pm2.61i
      ) AADHKZABFKZACGKZELZMAUBBCELZUEAUBDUFADHNIOAUCBUDCEABFNACGNPQARZUBFGELZU
      EUGUBHUHADHSJTUGUCFUDGEABFSACGSPQUA $.
  $}

  ${
    $d x z w $.  $d y z w $.  $d w ph $.
    $( The domain of an operation class abstraction.  (Unnecessary distinct
       variable restrictions were removed by David Abernethy, 19-Jun-2012.)
       (Contributed by set.mm contributors, 17-Mar-1995.)  (Revised by set.mm
       contributors, 24-Jul-2012.) $)
    dmoprab $p |- dom { <. <. x , y >. , z >. | ph } =
                  { <. x , y >. | E. z ph } $=
      ( vw coprab cdm cv cop wceq wa wex copab cab dfoprab2 dmeqi dmopab exrot3
      19.42v 2exbii bitri abbii df-opab eqtr4i 3eqtri ) ABCDFZGEHBHCHIJZAKZCLBL
      ZEDMZGUIDLZENZADLZBCMZUFUJABCDEOPUIEDQULUGUMKZCLBLZENUNUKUPEUKUHDLZCLBLUP
      UHDBCRUQUOBCUGADSTUAUBUMBCEUCUDUE $.
  $}

  ${
    $d x y z A $.  $d x y z B $.
    $( The domain of an operation class abstraction.  (Contributed by set.mm
       contributors, 24-Aug-1995.) $)
    dmoprabss $p |- dom { <. <. x , y >. , z >. |
           ( ( x e. A /\ y e. B ) /\ ph ) } C_ ( A X. B ) $=
      ( cv wcel wa coprab cdm wex copab dmoprab 19.42v opabbii opabssxp eqsstri
      cxp ) BGEHCGFHIZAIZBCDJKUADLZBCMZEFSZUABCDNUCTADLZIZBCMUDUBUFBCTADOPUEBCE
      FQRR $.
  $}

  ${
    $d x z w $.  $d y z w $.  $d w ph $.
    $( The range of an operation class abstraction.  (Unnecessary distinct
       variable restrictions were removed by David Abernethy, 19-Apr-2013.)
       (Contributed by set.mm contributors, 30-Aug-2004.)  (Revised by set.mm
       contributors, 19-Apr-2013.) $)
    rnoprab $p |- ran { <. <. x , y >. , z >. | ph } =
                  { z | E. x E. y ph } $=
      ( vw coprab crn cv cop wceq wa wex copab cab dfoprab2 rneqi rnopab exrot3
      vex bitri 19.41v opex isseti biantrur bicomi 2exbii abbii 3eqtri ) ABCDFZ
      GEHBHZCHZIZJZAKZCLBLZEDMZGUOELZDNACLBLZDNUIUPABCDEOPUOEDQUQURDUQUNELZCLBL
      URUNEBCRUSABCUSUMELZAKZAUMAEUAAVAUTAEULUJUKBSCSUBUCUDUETUFTUGUH $.
  $}

  ${
    $d A y $.  $d x y z $.
    $( The range of a restricted operation class abstraction.  (Contributed by
       Scott Fenton, 21-Mar-2012.) $)
    rnoprab2 $p |- ran { <. <. x , y >. , z >. |
                          ( ( x e. A /\ y e. B ) /\ ph ) } =
                    { z | E. x e. A E. y e. B ph } $=
      ( cv wcel wa coprab crn wex cab wrex rnoprab r2ex abbii eqtr4i ) BGEHCGFH
      IAIZBCDJKSCLBLZDMACFNBENZDMSBCDOUATDABCEFPQR $.
  $}
 
  ${
    $d x y z w A $.  $d x y z w B $.  $d x y z w C $.  $d w ph $.
    $d x y z w ps $.
    eloprabga.1 $e |- ( ( x = A /\ y = B /\ z = C ) -> ( ph <-> ps ) ) $.
    $( The law of concretion for operation class abstraction.  Compare
       ~ elopab .  (Contributed by set.mm contributors, 17-Dec-2013.)  (Revised
       by David Abernethy, 18-Jun-2012.)  Removed unnecessary distinct variable
       requirements.  (Revised by Mario Carneiro, 19-Dec-2013.) $)
    eloprabga $p |- ( ( A e. V /\ B e. W /\ C e. X ) ->
       ( <. <. A , B >. , C >. e. { <. <. x , y >. , z >. | ph } <-> ps ) ) $=
      ( vw wcel cvv cop wb wa wceq wex coprab w3a opexg sylan 3impa wi cv eqeq1
      elex eqcom opth anbi1i df-3an 3bitr4i bitri syl6bb anbi1d pm5.32i 3exbidv
      adantl cab df-oprab eleq2i bitr2i eleq1 syl5bb isset eeeanv bitr4i biimpi
      3anbi123i biantrurd 19.41vvv syl6rbbr adantr 3bitr3d expcom vtocleg mpcom
      abid syl3an ) FINFONZGJNGONZHKNHONZFGPZHPZACDEUAZNZBQZFIUIGJUIHKUIWFONZWB
      WCWDUBZWIWBWCWDWJWBWCRWEONWDWJFGOOUCWEHOOUCUDUEWKWIUFMWFOWKMUGZWFSZWIWKWM
      RWLCUGZDUGZPZEUGZPZSZARZETDTCTZWNFSZWOGSZWQHSZUBZBRZETDTCTZWHBWMXAXGQWKWM
      WTXFCDEWMWTXEARXFWMWSXEAWMWSWFWRSZXEWLWFWRUHXHWRWFSZXEWFWRUJWPWESZXDRXBXC
      RZXDRXIXEXJXKXDWNWOFGUKULWPWQWEHUKXBXCXDUMUNUOUPUQXEABLURUPUSUTWMXAWHQWKX
      AWLWGNZWMWHXLWLXAMVAZNXAWGXMWLACDEMVBVCXAMVTVDWLWFWGVEVFUTWKXGBQWMWKBXEET
      DTCTZBRXGWKXNBWKXNWKXBCTZXCDTZXDETZUBXNWBXOWCXPWDXQCFVGDGVGEHVGVKXBXCXDCD
      EVHVIVJVLXEBCDEVMVNVOVPVQVRVSWA $.
  $}

  ${
    $d x y z A $.  $d x y z B $.  $d x y z C $.  $d x y z th $.
    eloprabg.1 $e |- ( x = A -> ( ph <-> ps ) ) $.
    eloprabg.2 $e |- ( y = B -> ( ps <-> ch ) ) $.
    eloprabg.3 $e |- ( z = C -> ( ch <-> th ) ) $.
    $( The law of concretion for operation class abstraction.  Compare
       ~ elopab .  (Contributed by set.mm contributors, 14-Sep-1999.)  (Revised
       by David Abernethy, 19-Jun-2012.)  Removed unnecessary distinct variable
       requirements.  (Revised by set.mm contributors, 19-Dec-2013.) $)
    eloprabg $p |- ( ( A e. V /\ B e. W /\ C e. X ) ->
       ( <. <. A , B >. , C >. e. { <. <. x , y >. , z >. | ph } <-> th ) ) $=
      ( cv wceq syl3an9b eloprabga ) ADEFGHIJKLMEQHRABFQIRCGQJRDNOPST $.
  $}

  ${
    $d ph w $.  $d ps w $.  $d x z w $.  $d y z w $.
    ssoprab2i.1 $e |- ( ph -> ps ) $.
    $( Inference of operation class abstraction subclass from implication.
       (Unnecessary distinct variable restrictions were removed by David
       Abernethy, 19-Jun-2012.)  (Contributed by set.mm contributors,
       11-Nov-1995.)  (Revised by set.mm contributors, 24-Jul-2012.) $)
    ssoprab2i $p |- { <. <. x , y >. , z >. | ph } C_
                    { <. <. x , y >. , z >. | ps } $=
      ( vw cv cop wceq wex copab coprab anim2i 2eximi ssopab2i dfoprab2 3sstr4i
      wa ) GHCHDHIJZASZDKCKZGELTBSZDKCKZGELACDEMBCDEMUBUDGEUAUCCDABTFNOPACDEGQB
      CDEGQR $.
  $}

  ${
    $d w x y z A $.  $d w x y z B $.  $d w ph $.
    $( Restriction of an operation class abstraction.  (Contributed by set.mm
       contributors, 10-Feb-2007.) $)
    resoprab $p |- ( { <. <. x , y >. , z >. | ph } |` ( A X. B ) ) =
                  { <. <. x , y >. , z >. | ( ( x e. A /\ y e. B ) /\ ph ) } $=
      ( vw cv cop wceq wex copab cxp cres wcel coprab resopab 19.42vv dfoprab2
      wa eleq1 opelxp syl6bb anbi1d pm5.32i bitri 2exbii bitr3i opabbii reseq1i
      an12 eqtri 3eqtr4i ) GHZBHZCHZIZJZATZCKBKZGDLZEFMZNZURUOEOUPFOTZATZTZCKBK
      ZGDLZABCDPZVBNVEBCDPVCUNVBOZUTTZGDLVHUTGDVBQVKVGGDVKVJUSTZCKBKVGVJUSBCRVL
      VFBCVLURVJATZTVFVJURAUKURVMVEURVJVDAURVJUQVBOVDUNUQVBUAUOUPEFUBUCUDUEUFUG
      UHUIULVIVAVBABCDGSUJVEBCDGSUM $.
  $}

  ${
    $d A x y z $.  $d B x y z $.  $d C x y z $.  $d D x y z $.
    $( Restriction of an operator abstraction.  (Contributed by Jeff Madsen,
       2-Sep-2009.) $)
    resoprab2 $p |- ( ( C C_ A /\ D C_ B ) -> ( { <. <. x , y >. , z >. |
                  ( ( x e. A /\ y e. B ) /\ ph ) } |` ( C X. D ) ) =
              { <. <. x , y >. , z >. | ( ( x e. C /\ y e. D ) /\ ph ) } ) $=
      ( wss wa cv wcel coprab cxp wi wb ssel pm4.71 sylib bicomd resoprab anass
      cres an4 bi2anan9 syl5bb anbi1d syl5bbr oprabbidv syl5eq ) GEIZHFIZJZBKZE
      LZCKZFLZJZAJZBCDMGHNUCUNGLZUPHLZJZUSJZBCDMVBAJZBCDMUSBCDGHUAUMVCVDBCDVCVB
      URJZAJUMVDVBURAUBUMVEVBAVEUTUOJZVAUQJZJUMVBUTVAUOUQUDUKVFUTULVGVAUKUTVFUK
      UTUOOUTVFPGEUNQUTUORSTULVAVGULVAUQOVAVGPHFUPQVAUQRSTUEUFUGUHUIUJ $.
  $}

  ${
    $d x y z w $.  $d w ph $.
    $( "At most one" is a sufficient condition for an operation class
       abstraction to be a function.  (Contributed by set.mm contributors,
       28-Aug-2007.) $)
    funoprabg $p |- ( A. x A. y E* z ph ->
                    Fun { <. <. x , y >. , z >. | ph } ) $=
      ( vw wmo wal cv cop wceq wa wex coprab wfun mosubopt alrimiv copab funeqi
      dfoprab2 funopab bitr2i sylib ) ADFCGBGZEHZBHCHIJAKCLBLZDFZEGZABCDMZNZUCU
      FEADBCUDOPUIUEEDQZNUGUHUJABCDESRUEEDTUAUB $.
  $}

  ${
    $d x y z $.
    funoprab.1 $e |- E* z ph $.
    $( "At most one" is a sufficient condition for an operation class
       abstraction to be a function.  (Contributed by set.mm contributors,
       17-Mar-1995.) $)
    funoprab $p |- Fun { <. <. x , y >. , z >. | ph } $=
      ( wmo wal coprab wfun gen2 funoprabg ax-mp ) ADFZCGBGABCDHIMBCEJABCDKL $.
  $}

  ${
    $d x y z $.  $d z ph $.
    $( Functionality and domain of an operation class abstraction.
       (Contributed by set.mm contributors, 28-Aug-2007.) $)
    fnoprabg $p |- ( A. x A. y ( ph -> E! z ps ) ->
  { <. <. x , y >. , z >. | ( ph /\ ps ) } Fn { <. x , y >. | ph } ) $=
      ( weu wi wal wa coprab wfun cdm copab wceq wfn wmo eumo imim2i wex sps wb
      moanimv sylibr 2alimi funoprabg syl dmoprab nfa1 nfa2 simpl exlimiv ancld
      euex 19.42v syl6ibr impbid2 opabbid syl5eq df-fn sylanbrc ) ABEFZGZDHZCHZ
      ABIZCDEJZKZVFLZACDMZNVFVIOVDVEEPZDHCHVGVBVJCDVBABEPZGVJVAVKABEQRABEUBUCUD
      VECDEUEUFVDVHVEESZCDMVIVECDEUGVDVLACDVCCUHVBDCUIVCVLAUAZCVBVMDVBVLAVEAEAB
      UJUKVBAABESZIVLVBAVNVAVNABEUMRULABEUNUOUPTTUQURVFVIUSUT $.
  $}


  ${
    $d x y z $.  $d z ph $.
    fnoprab.1 $e |- ( ph -> E! z ps ) $.
    $( Functionality and domain of an operation class abstraction.
       (Contributed by set.mm contributors, 15-May-1995.) $)
    fnoprab $p |- { <. <. x , y >. , z >. | ( ph /\ ps ) } Fn
                    { <. x , y >. | ph } $=
      ( weu wi wal wa coprab copab wfn gen2 fnoprabg ax-mp ) ABEGHZDICIABJCDEKA
      CDLMQCDFNABCDEOP $.
  $}

  ${
    $d x y w A $.  $d x y w B $.  $d x y w C $.  $d x y w F $.
    $( An operation maps to a class to which all values belong.  (Contributed
       by set.mm contributors, 7-Feb-2004.) $)
    ffnov $p |- ( F : ( A X. B ) --> C <-> ( F Fn ( A X. B ) /\
         A. x e. A A. y e. B ( x F y ) e. C ) ) $=
      ( vw cxp wf wfn cv cfv wcel wral wa co ffnfv cop wceq fveq2 df-ov syl6eqr
      eleq1d ralxp anbi2i bitri ) CDHZEFIFUGJZGKZFLZEMZGUGNZOUHAKZBKZFPZEMZBDNA
      CNZOGUGEFQULUQUHUKUPGABCDUIUMUNRZSZUJUOEUSUJURFLUOUIURFTUMUNFUAUBUCUDUEUF
      $.
  $}

  ${
    $d x y A $.  $d y B $.  $d x y C $.  $d x y F $.  $d x y R $.  $d x y S $.
    fovcl.1 $e |- F : ( R X. S ) --> C $.
    $( Closure law for an operation.  (Contributed by set.mm contributors,
       19-Apr-2007.) $)
    fovcl $p |- ( ( A e. R /\ B e. S ) -> ( A F B ) e. C ) $=
      ( vx vy wcel wa cv co wral cxp wf wfn ffnov wceq eleq1d ax-mp oveq1 oveq2
      simprbi rspc2v mpi ) ADJBEJKHLZILZFMZCJZIENHDNZABFMZCJZDEOZCFPZUKGUOFUNQU
      KHIDECFRUDUAUJUMAUHFMZCJHIABDEUGASUIUPCUGAUHFUBTUHBSUPULCUHBAFUCTUEUF $.
  $}

  ${
    $d x y z A $.  $d x y z B $.  $d z C $.  $d z D $.  $d x y z F $.
    $d x y z G $.
    $( Equality of two operations is determined by their values.  (Contributed
       by set.mm contributors, 1-Sep-2005.) $)
    eqfnov $p |- ( ( F Fn ( A X. B ) /\ G Fn ( C X. D ) ) -> ( F = G <->
( ( A X. B ) = ( C X. D ) /\ A. x e. A A. y e. B ( x F y ) = ( x G y ) ) ) ) $=
      ( vz cxp wfn wa wceq cv cfv wral co eqfnfv2 fveq2 df-ov cop eqeq12d ralxp
      eqeq12i syl6bbr anbi2i syl6bb ) GCDJZKHEFJZKLGHMUHUIMZINZGOZUKHOZMZIUHPZL
      UJANZBNZGQZUPUQHQZMZBDPACPZLIUHUIGHRUOVAUJUNUTIABCDUKUPUQUAZMZUNVBGOZVBHO
      ZMUTVCULVDUMVEUKVBGSUKVBHSUBURVDUSVEUPUQGTUPUQHTUDUEUCUFUG $.
  $}

  ${
    $d A x y $.  $d B x y $.  $d F x y $.  $d G x y $.
    $( Two operators with the same domain are equal iff their values at each
       point in the domain are equal.  (Contributed by Jeff Madsen,
       7-Jun-2010.) $)
    eqfnov2 $p |- ( ( F Fn ( A X. B ) /\ G Fn ( A X. B ) ) ->
                  ( F = G <-> A. x e. A A. y e. B ( x F y ) = ( x G y ) ) ) $=
      ( cxp wfn wa wceq cv co wral eqfnov simpr eqidd ancri impbii syl6bb ) ECD
      GZHFTHIEFJTTJZAKZBKZELUBUCFLJBDMACMZIZUDABCDCDEFNUEUDUAUDOUDUAUDTPQRS $.
  $}

  ${
    $d x y z w A $.  $d x y z w B $.  $d x y z w F $.
    $( Representation of an operation class abstraction in terms of its
       values.  (Contributed by set.mm contributors, 7-Feb-2004.) $)
    fnov $p |- ( F Fn ( A X. B ) <-> F = { <. <. x , y >. , z >. |
                    ( ( x e. A /\ y e. B ) /\ z = ( x F y ) ) } ) $=
      ( vw cxp wfn cv wcel cfv wceq wa copab co coprab dffn5 wex bitri cop elxp
      anbi1i 19.41vv anass syl6eqr eqeq2d anbi2d pm5.32i 2exbii 3bitr2i opabbii
      fveq2 df-ov dfoprab2 eqtr4i eqeq2i ) FDEHZIFGJZURKZCJZUSFLZMZNZGCOZMFAJZD
      KBJZEKNZVAVFVGFPZMZNZABCQZMGCURFRVEVLFVEUSVFVGUAZMZVKNZBSASZGCOVLVDVPGCVD
      VNVHNZBSASZVCNVQVCNZBSASVPUTVRVCABUSDEUBUCVQVCABUDVSVOABVSVNVHVCNZNVOVNVH
      VCUEVNVTVKVNVCVJVHVNVBVIVAVNVBVMFLVIUSVMFUMVFVGFUNUFUGUHUITUJUKULVKABCGUO
      UPUQT $.
  $}

  ${
    $d x y z A $.  $d x y z B $.  $d x y z C $.  $d x y z F $.
    $( Representation of an operation class abstraction in terms of its
       values.  (Contributed by set.mm contributors, 7-Feb-2004.) $)
    fov $p |- ( F : ( A X. B ) --> C <-> ( F = { <. <. x , y >. , z >. |
                  ( ( x e. A /\ y e. B ) /\ z = ( x F y ) ) }
                /\ A. x e. A A. y e. B ( x F y ) e. C ) ) $=
      ( cxp wf wfn cv co wcel wral wa wceq coprab ffnov fnov anbi1i bitri ) DEH
      ZFGIGUBJZAKZBKZGLZFMBENADNZOGUDDMUEEMOCKUFPOABCQPZUGOABDEFGRUCUHUGABCDEGS
      TUA $.
  $}

  ${
    $d x y z $.
    ovidig.1 $e |- E* z ph $.
    ovidig.2 $e |- F = { <. <. x , y >. , z >. | ph } $.
    $( The value of an operation class abstraction.  Compare ~ ovidi .  The
       condition ` ( x e. R /\ y e. S ) ` is been removed.  (Contributed by
       Mario Carneiro, 29-Dec-2014.) $)
    ovidig $p |- ( ph -> ( x F y ) = z ) $=
      ( cv co cop cfv df-ov wcel wceq coprab eleq2i oprabid bitri wfun wi mpbir
      funoprab funeqi funopfv ax-mp sylbir syl5eq ) ABHZCHZEIUHUIJZEKZDHZUHUIEL
      AUJULJZEMZUKULNZUNUMABCDOZMAEUPUMGPABCDQRESZUNUOTUQUPSABCDFUBEUPGUCUAUJUL
      EUDUEUFUG $.
  $}

  ${
    $d x y z $.  $d z R $.  $d z S $.
    ovidi.2 $e |- ( ( x e. R /\ y e. S ) -> E* z ph ) $.
    ovidi.3 $e |- F =
                  { <. <. x , y >. , z >. | ( ( x e. R /\ y e. S ) /\ ph ) } $.
    $( The value of an operation class abstraction (weak version).
       (Contributed by Mario Carneiro, 29-Dec-2014.) $)
    ovidi $p |- ( ( x e. R /\ y e. S ) -> ( ph -> ( x F y ) = z ) ) $=
      ( cv wcel wa co wceq wmo wi moanimv mpbir ovidig ex ) BJZEKCJZFKLZAUAUBGM
      DJNUCALZBCDGUDDOUCADOPHUCADQRIST $.
  $}

  ${
    $d x y z A $.  $d x y z B $.  $d x y z C $.  $d x y z R $.  $d x y z S $.
    $d x y z th $.
    ov.1 $e |- C e. _V $.
    ov.2 $e |- ( x = A -> ( ph <-> ps ) ) $.
    ov.3 $e |- ( y = B -> ( ps <-> ch ) ) $.
    ov.4 $e |- ( z = C -> ( ch <-> th ) ) $.
    ov.5 $e |- ( ( x e. R /\ y e. S ) -> E! z ph ) $.
    ov.6 $e |- F =
                  { <. <. x , y >. , z >. | ( ( x e. R /\ y e. S ) /\ ph ) } $.
    $( The value of an operation class abstraction.  (Unnecessary distinct
       variable restrictions were removed by David Abernethy, 19-Jun-2012.)
       (Contributed by set.mm contributors, 16-May-1995.)  (Revised by set.mm
       contributors, 24-Jul-2012.) $)
    ov $p |- ( ( A e. R /\ B e. S ) -> ( ( A F B ) = C <-> th ) ) $=
      ( wcel wa co wceq cop cv coprab cfv df-ov fveq1i eqtri eqeq1i wfn fnoprab
      copab eleq1 anbi1d anbi2d opelopabg ibir fnopfvb sylancr anbi12d eloprabg
      wb cvv mp3an3 bitrd syl5bb bianabs ) HKTZILTZUAZHIMUBZJUCZDVNHIUDZEUEZKTZ
      FUEZLTZUAZAUAZEFGUFZUGZJUCZVLVLDUAZVMWCJVMVOMUGWCHIMUHVOMWBSUIUJUKVLWDVOJ
      UDWBTZWEVLWBVTEFUNZULVOWGTZWDWFVDVTAEFGRUMVLWHVTVJVSUAZVLEFHIKLVPHUCZVQVJ
      VSVPHKUOUPZVRIUCZVSVKVJVRILUOUQZURUSWGVOJWBUTVAVJVKJVETWFWEVDNWAWIBUAVLCU
      AWEEFGHIJKLVEWJVTWIABWKOVBWLWIVLBCWMPVBGUEJUCCDVLQUQVCVFVGVHVI $.
  $}

  ${
    $d x y z A $.  $d x y z B $.  $d x y z C $.  $d x y z ps $.
    ovigg.1 $e |- ( ( x = A /\ y = B /\ z = C ) -> ( ph <-> ps ) ) $.
    ovigg.4 $e |- E* z ph $.
    ovigg.5 $e |- F = { <. <. x , y >. , z >. | ph } $.
    $( The value of an operation class abstraction.  Compare ~ ovig .  The
       condition ` ( x e. R /\ y e. S ) ` is been removed.  (Contributed by FL,
       24-Mar-2007.) $)
    ovigg $p |- ( ( A e. V /\ B e. W /\ C e. X ) ->
                         ( ps -> ( A F B ) = C ) ) $=
      ( wcel w3a cop cfv wceq coprab co eloprabga wfun funoprab funopfv syl6bir
      wi ax-mp df-ov fveq1i eqtri eqeq1i syl6ibr ) FJPGKPHLPQZBFGRZACDEUAZSZHTZ
      FGIUBZHTUOBUPHRUQPZUSABCDEFGHJKLMUCUQUDVAUSUHACDENUEUPHUQUFUIUGUTURHUTUPI
      SURFGIUJUPIUQOUKULUMUN $.
  $}

  ${
    $d x y z A $.  $d x y z B $.  $d x y z C $.  $d x y z R $.  $d x y z S $.
    $d x y z ps $.
    ovig.1 $e |- ( ( x = A /\ y = B /\ z = C ) -> ( ph <-> ps ) ) $.
    ovig.2 $e |- ( ( x e. R /\ y e. S ) -> E* z ph ) $.
    ovig.3 $e |- F =
                  { <. <. x , y >. , z >. | ( ( x e. R /\ y e. S ) /\ ph ) } $.
    $( The value of an operation class abstraction (weak version).
       (Contributed by set.mm contributors, 14-Sep-1999.)  (Unnecessary
       distinct variable restrictions were removed by David Abernethy,
       19-Jun-2012.)  (Revised by Mario Carneiro, 19-Dec-2013.) $)
    ovig $p |- ( ( A e. R /\ B e. S /\ C e. D ) ->
                         ( ps -> ( A F B ) = C ) ) $=
      ( wcel w3a wa wceq cv co 3simpa wb eleq1 bi2anan9 3adant3 anbi12d moanimv
      wmo wi mpbir ovigg mpand ) FJPZGKPZHIPZQUNUORZBFGLUAHSUNUOUPUBCTZJPZDTZKP
      ZRZARZUQBRCDEFGHLJKIURFSZUTGSZETHSZQVBUQABVDVEVBUQUCVFVDUSUNVEVAUOURFJUDU
      TGKUDUEUFMUGVCEUIVBAEUIUJNVBAEUHUKOULUM $.
  $}

  ${
    $d x y z A $.  $d x y z B $.  $d x y z C $.  $d x y z D $.  $d z R $.
    $d x y z S $.
    ov2ag.1 $e |- ( ( x = A /\ y = B ) -> R = S ) $.
    ov2ag.3 $e |- F = { <. <. x , y >. , z >. | ( ( x e. C /\ y e. D )
                      /\ z = R ) } $.
    $( The value of an operation class abstraction.  Special case.
       (Contributed by Mario Carneiro, 19-Dec-2013.) $)
    ov2ag $p |- ( ( A e. C /\ B e. D /\ S e. H ) -> ( A F B ) = S ) $=
      ( wcel w3a wceq co eqid cv simp3 3adant3 eqeq12d wmo wa moeq a1i ovig mpi
      ) DFNEGNIKNOIIPZDEJQIPIRCSZHPZUIABCDEIKFGJASZDPZBSZEPZUJIPZOUJIHIUMUOUPTU
      MUOHIPUPLUAUBUKCUCULFNUNGNUDCHUEUFMUGUH $.
  $}

  ${
    $d f u v w x y z A $.  $d f u v w x y z B $.  $d x y z R $.
    $d f u v w y z C $.  $d f u v w y z D $.  $d f u v w x y z H $.
    $d f u v w z S $.
    ov3.1 $e |- S e. _V $.
    ov3.2 $e |- ( ( ( w = A /\ v = B ) /\ ( u = C /\ f = D ) ) ->
         R = S ) $.
    ov3.3 $e |- F = { <. <. x , y >. , z >. | ( ( x e. ( H X. H ) /\
                      y e. ( H X. H ) ) /\
                      E. w E. v E. u E. f ( ( x = <. w , v >. /\
                      y = <. u , f >. ) /\ z = R ) ) } $.
    $( The value of an operation class abstraction.  Special case.
       (Contributed by NM, 28-May-1995.)  (Revised by Mario Carneiro,
       29-Dec-2014.) $)
    ov3 $p |- ( ( ( A e. H /\ B e. H ) /\ ( C e. H /\ D e. H ) ) ->
        ( <. A , B >. F <. C , D >. ) = S ) $=
      ( wa wex wcel cv wceq cop isseti nfv nfcv cxp coprab nfoprab3 nfcxfr nfov
      co nfeq1 eqeq2d copsex4g wi opelxp nfoprab1 nfoprab2 eqeq1 anbi1d 4exbidv
      nfim oveq1 eqeq1d imbi12d anbi2d oveq2 mosubop anass 2exbii 19.42vv bitri
      wmo moeq mobii mpbir ovidi vtocl2gaf syl2anbr sylbird eqeq2 mpbidi exlimd
      a1i mpi ) GOUAHOUASZIOUAJOUASZSZCUBZLUCZCTGHUDZIJUDZNUMZLUCZCLPUEWJWLWPCW
      JCUFCWOLCWMWNNCWMUGCNAUBZOOUHZUABUBZWRUASZWQDUBZEUBZUDZUCZWSFUBZMUBZUDZUC
      ZSZWKKUCZSZMTFTZETDTZSZABCUIZRXNABCUJUKCWNUGULUNWLWOWKUCZWPWJWJWLWMXCUCZW
      NXGUCZSZXJSZMTFTETDTZXPXJWLDEFMGHIJOOXAGUCXBHUCSXEIUCXFJUCSSKLWKQUOUPWHWM
      WRUAWNWRUAYAXPUQZWIGHOOURIJOOURXMWQWSNUMZWKUCZUQXQXHSZXJSZMTFTETDTZWMWSNU
      MZWKUCZUQYBABWMWNWRWRAWMUGZBWMUGZBWNUGZYGYIAYGAUFAYHWKAWMWSNYJANXORXNABCU
      SUKAWSUGULUNVDYAXPBYABUFBWOWKBWMWNNYKBNXORXNABCUTUKYLULUNVDWQWMUCZXMYGYDY
      IYMXKYFDEFMYMXIYEXJYMXDXQXHWQWMXCVAVBVBVCYMYCYHWKWQWMWSNVEVFVGWSWNUCZYGYA
      YIXPYNYFXTDEFMYNYEXSXJYNXHXRXQWSWNXGVAVHVBVCYNYHWOWKWSWNWMNVIVFVGXMABCWRW
      RNXMCVOZWTYOXDXHXJSZMTFTZSZETDTZCVOYQCDEWQXJCFMWSCKVPVJVJXMYSCXLYRDEXLXDY
      PSZMTFTYRXKYTFMXDXHXJVKVLXDYPFMVMVNVLVQVRWFRVSVTWAWBWKLWOWCWDWEWG $.
  $}

  ${
    $d w x y z A $.  $d w x y z B $.  $d w x y z C $.  $d w z R $.
    $d w x y z S $.
    ov6g.1 $e |- ( <. x , y >. = <. A , B >. -> R = S ) $.
    ov6g.2 $e |- F = { <. <. x , y >. , z >. | ( <. x , y >. e. C
                      /\ z = R ) } $.
    $( The value of an operation class abstraction.  Special case.
       (Contributed by set.mm contributors, 13-Nov-2006.) $)
    ov6g $p |- ( ( ( A e. G /\ B e. H /\ <. A , B >. e. C ) /\ S e. J )
                     -> ( A F B ) = S ) $=
      ( vw wcel wa cv wceq wex cop w3a co cfv df-ov eqid biidd copsex2g 3adant3
      mpbiri adantr wi eqeq1 anbi1d eqeq2d eqcoms pm5.32i syl6bb 2exbidv anbi2d
      wb wmo moeq mosubop a1i coprab copab dfoprab2 eleq1 bitr3i 2exbii 19.42vv
      an12 bitri opabbii 3eqtri fvopab3ig 3ad2antl3 mpd syl5eq ) DJPZEKPZDEUAZF
      PZUBZHLPZQZDEIUCWCIUDZHDEIUEWGWCARZBRZUAZSZHHSZQZBTATZWHHSZWEWOWFWAWBWOWD
      WAWBQWOWMHUFWMWMABDEJKWIDSWJESQWMUGUHUJUIUKWDWAWFWOWPULWBORZWKSZCRZGSZQZB
      TATZWLWSHSZQZBTATWOOCWCHFLIWQWCSZXAXDABXEXAWLWTQXDXEWRWLWTWQWCWKUMUNWLWTX
      CWTXCVAWKWCWKWCSGHWSMUOUPUQURUSXCXDWNABXCXCWMWLWSHHUMUTUSXBCVBWQFPZWTCABW
      QCGVCVDVEIWKFPZWTQZABCVFWRXHQZBTATZOCVGXFXBQZOCVGNXHABCOVHXJXKOCXJXFXAQZB
      TATXKXIXLABXIWRXFWTQZQXLWRXMXHWRXFXGWTWQWKFVIUNUQWRXFWTVMVJVKXFXAABVLVNVO
      VPVQVRVSVT $.
  $}

  ${
    $d ps x $.  $d ch x y $.  $d th x y z $.  $d ta x y $.  $d R x y z $.
    $d S x y z $.  $d A x y z $.  $d B x y z $.  $d C x y z $.
    ovg.1 $e |- ( x = A -> ( ph <-> ps ) ) $.
    ovg.2 $e |- ( y = B -> ( ps <-> ch ) ) $.
    ovg.3 $e |- ( z = C -> ( ch <-> th ) ) $.
    ovg.4 $e |- ( ( ta /\ ( x e. R /\ y e. S ) ) -> E! z ph ) $.
    ovg.5 $e |- F = { <. <. x , y >. , z >. |
                                            ( ( x e. R /\ y e. S ) /\ ph ) } $.
    $( The value of an operation class abstraction.  (Contributed by Jeff
       Madsen, 10-Jun-2010.) $)
    ovg $p |- ( ( ta /\ ( A e. R /\ B e. S /\ C e. D ) )
                                            -> ( ( A F B ) = C <-> th ) ) $=
      ( wcel w3a wa co wceq cop cv coprab cfv df-ov fveq1i eqtri eqeq1i cxp wfn
      wb copab weu wi wal ex alrimivv fnoprabg syl fneq2i sylibr opelxp biimpri
      df-xp 3adant3 fnopfvb syl2an anbi1d anbi12d anbi2d eloprabg adantl syl5bb
      eleq1 bitrd biidd bianabs ) EIMUAZJNUAZKLUAZUBZUCZIJOUDZKUEZWCWDUCZDUCZDW
      IIJUFZFUGZMUAZGUGZNUAZUCZAUCZFGHUHZUIZKUEZWGWKWHWTKWHWLOUIWTIJOUJWLOWSTUK
      ULUMWGXAWLKUFWSUAZWKEWSMNUNZUOZWLXCUAZXAXBUPWFEWSWQFGUQZUOZXDEWQAHURZUSZG
      UTFUTXGEXIFGEWQXHSVAVBWQAFGHVCVDXCXFWSFGMNVIVEVFWCWDXEWEXEWJIJMNVGVHVJXCW
      LKWSVKVLWFXBWKUPEWRWCWPUCZBUCWJCUCWKFGHIJKMNLWMIUEZWQXJABXKWNWCWPWMIMVSVM
      PVNWOJUEZXJWJBCXLWPWDWCWOJNVSVOQVNHUGKUECDWJRVOVPVQVTVRWFWKDUPZEWCWDXMWEW
      JWKDWJWKWAWBVJVQVT $.
  $}

  $( The value of a restricted operation.  (Contributed by FL, 10-Nov-2006.) $)
  ovres $p |- ( ( A e. C /\ B e. D ) -> ( A ( F |` ( C X. D ) ) B )
    = ( A F B ) ) $=
    ( wcel wa cop cxp cres co wceq opelxp cfv fvres df-ov 3eqtr4g sylbir ) ACFB
    DFGABHZCDIZFZABETJZKZABEKZLABCDMUASUBNSENUCUDSTEOABUBPABEPQR $.

  $( The value of a member of the domain of a subclass of an operation.
     (Contributed by set.mm contributors, 23-Aug-2007.) $)
  oprssov $p |- ( ( ( Fun F /\ G Fn ( C X. D ) /\ G C_ F ) /\
        ( A e. C /\ B e. D ) ) -> ( A F B ) = ( A G B ) ) $=
    ( wfun cxp wfn wss w3a wcel wa cres co wceq ovres adantl cdm eqtr3d reseq2d
    fndm 3ad2ant2 funssres 3adant2 oveqd adantr ) EGZFCDHZIZFEJZKZACLBDLMZMABEU
    INZOZABEOZABFOZUMUOUPPULABCDEQRULUOUQPUMULUNFABULEFSZNZUNFUJUHUSUNPUKUJURUI
    EUIFUBUAUCUHUKUSFPUJEFUDUETUFUGT $.

  $( A operations's value belongs to its codomain.  (Contributed by set.mm
     contributors, 27-Aug-2006.) $)
  fovrn $p |- ( ( F : ( R X. S ) --> C /\ A e. R /\ B e. S ) ->
               ( A F B ) e. C ) $=
    ( cxp wf wcel co wa cop opelxp cfv df-ov ffvelrn syl5eqel sylan2br 3impb )
    DEGZCFHZADIZBEIZABFJZCIZUBUCKUAABLZTIZUEABDEMUAUGKUDUFFNCABFOTCUFFPQRS $.

  ${
    $d w x y z A $.  $d w x y z B $.  $d w z C $.  $d w x y z F $.
    $( The range of an operation expressed as a collection of the operation's
       values.  (Contributed by set.mm contributors, 29-Oct-2006.) $)
    fnrnov $p |- ( F Fn ( A X. B ) -> ran F = { z | E. x e. A E. y e. B
                     z = ( x F y ) } ) $=
      ( vw cxp wfn crn cv cfv wceq wrex cab co fnrnfv cop fveq2 df-ov syl6eqr
      eqeq2d rexxp abbii syl6eq ) FDEHZIFJCKZGKZFLZMZGUFNZCOUGAKZBKZFPZMZBENADN
      ZCOGCUFFQUKUPCUJUOGABDEUHULUMRZMZUIUNUGURUIUQFLUNUHUQFSULUMFTUAUBUCUDUE
      $.

    $( An onto mapping of an operation expressed in terms of operation values.
       (Contributed by set.mm contributors, 29-Oct-2006.) $)
    foov $p |- ( F : ( A X. B ) -onto-> C <-> ( F : ( A X. B ) --> C /\
                  A. z e. C E. x e. A E. y e. B z = ( x F y ) ) ) $=
      ( vw cxp wfo wf cv cfv wceq wrex wral wa co dffo3 cop fveq2 df-ov syl6eqr
      eqeq2d rexxp ralbii anbi2i bitri ) DEIZFGJUIFGKZCLZHLZGMZNZHUIOZCFPZQUJUK
      ALZBLZGRZNZBEOADOZCFPZQHCUIFGSUPVBUJUOVACFUNUTHABDEULUQURTZNZUMUSUKVDUMVC
      GMUSULVCGUAUQURGUBUCUDUEUFUGUH $.
  $}

  $( An operation's value belongs to its range.  (Contributed by set.mm
     contributors, 10-Feb-2007.) $)
  fnovrn $p |- ( ( F Fn ( A X. B ) /\ C e. A /\ D e. B ) ->
                   ( C F D ) e. ran F ) $=
    ( cxp wfn wcel co crn cop opelxp cfv df-ov fnfvelrn syl5eqel sylan2br 3impb
    wa ) EABFZGZCAHZDBHZCDEIZEJZHZUBUCSUACDKZTHZUFCDABLUAUHSUDUGEMUECDENTUGEOPQ
    R $.

  ${
    $d x y z A $.  $d x y z B $.  $d x y z C $.  $d x y z D $.  $d x y z F $.
    $( A member of an operation's range is a value of the operation.
       (Contributed by set.mm contributors, 7-Feb-2007.)  (Revised by Mario
       Carneiro, 30-Jan-2014.) $)
    ovelrn $p |- ( F Fn ( A X. B ) -> ( C e. ran F <->
                  E. x e. A E. y e. B C = ( x F y ) ) ) $=
      ( vz cxp wfn crn wcel cv co wceq wrex cab fnrnov eleq2d cvv rexlimivw
      ovex eleq1 mpbiri eqeq1 2rexbidv elab3 syl6bb ) FCDHIZEFJZKEGLZALZBLZFMZN
      ZBDOACOZGPZKEUMNZBDOZACOZUHUIUPEABGCDFQRUOUSGEURESKZACUQUTBDUQUTUMSKUKULF
      UAEUMSUBUCTTUJENUNUQABCDUJEUMUDUEUFUG $.

    $( Membership relation for the values of a function whose image is a
       subclass.  (Contributed by Mario Carneiro, 23-Dec-2013.) $)
    funimassov $p |- ( ( Fun F /\ ( A X. B ) C_ dom F ) ->
        ( ( F " ( A X. B ) ) C_ C <-> A. x e. A A. y e. B ( x F y ) e. C ) ) $=
      ( vz wfun cxp cdm wss wa cima cv cfv wcel wral co funimass4 cop syl6eqr
      wceq fveq2 df-ov eleq1d ralxp syl6bb ) FHCDIZFJKLFUHMEKGNZFOZEPZGUHQANZBN
      ZFRZEPZBDQACQGUHEFSUKUOGABCDUIULUMTZUBZUJUNEUQUJUPFOUNUIUPFUCULUMFUDUAUEU
      FUG $.

    $( Operation value in an image.  (Contributed by Mario Carneiro,
       23-Dec-2013.) $)
    ovelimab $p |- ( ( F Fn A /\ ( B X. C ) C_ A ) ->
        ( D e. ( F " ( B X. C ) ) <-> E. x e. B E. y e. C D = ( x F y ) ) ) $=
      ( vz wfn cxp wss wa cima wcel cv cfv wceq wrex co syl6bb fvelimab syl6eqr
      cop fveq2 df-ov eqeq1d eqcom rexxp ) GCIDEJZCKLFGUIMNHOZGPZFQZHUIRFAOZBOZ
      GSZQZBERADRHCUIFGUAULUPHABDEUJUMUNUCZQZULUOFQUPURUKUOFURUKUQGPUOUJUQGUDUM
      UNGUEUBUFUOFUGTUHT $.
  $}

  ${
    oprvalconst2.1 $e |- C e. _V $.
    $( The value of a constant operation.  (Contributed by set.mm contributors,
       5-Nov-2006.) $)
    ovconst2 $p |- ( ( R e. A /\ S e. B ) ->
                       ( R ( ( A X. B ) X. { C } ) S ) = C ) $=
      ( wcel wa cxp csn co cop cfv df-ov wceq opelxp fvconst2 sylbir syl5eq ) D
      AGEBGHZDEABIZCJIZKDELZUBMZCDEUBNTUCUAGUDCODEABPUACUCFQRS $.
  $}

  ${
    $d x y S $.  $d x y F $.
    oprssdm.1 $e |- -. (/) e. S $.
    oprssdm.2 $e |- ( ( x e. S /\ y e. S ) -> ( x F y ) e. S ) $.
    $( Domain of closure of an operation.  (Contributed by set.mm contributors,
       24-Aug-1995.) $)
    oprssdm $p |- ( S X. S ) C_ dom F $=
      ( cxp cdm cv cop wcel wa opelxp wn cfv c0 wceq ndmfv co df-ov eqeq1i nsyl
      eleq1 mtbiri sylbir syl con4i sylbi relssi ) ABCCGZDHZAIZBIZJZUJKULCKUMCK
      LZUNUKKZULUMCCMUPUOUPNUNDOZPQZUONUNDRURULUMDSZCKZUOURUSPQZUTNUSUQPULUMDTU
      AVAUTPCKEUSPCUCUDUEFUBUFUGUHUI $.
  $}

  $( The value of an operation outside its domain.  (Contributed by set.mm
     contributors, 28-Mar-2008.) $)
  ndmovg $p |- ( ( dom F = ( R X. S ) /\ -. ( A e. R /\ B e. S ) )
              -> ( A F B ) = (/) ) $=
    ( cdm cxp wceq wcel wa wn co cop cfv c0 df-ov eleq2 opelxp syl6bb biimpd
    con3d imp ndmfv syl syl5eq ) EFZCDGZHZACIBDIJZKZJZABELABMZENZOABEPUKULUFIZK
    ZUMOHUHUJUOUHUNUIUHUNUIUHUNULUGIUIUFUGULQABCDRSTUAUBULEUCUDUE $.

  ${
    $d x A $.  $d x B $.  $d x F $.  $d x S $.
    ndmovcl.1 $e |- dom F = ( S X. S ) $.
    ndmovcl.2 $e |- ( ( A e. S /\ x e. S ) -> ( A F x ) e. S ) $.
    ndmovcl.3 $e |- (/) e. S $.
    $( The closure of an operation outside its domain, when the domain includes
       the empty set.  This technical lemma can make the operation more
       convenient to work in some cases.  It is is dependent on our particular
       definitions of operation value, function value, and ordered pair.
       (Contributed by set.mm contributors, 24-Sep-2004.) $)
    ndmovcl $p |- ( A F B ) e. S $=
      ( wcel wa co cv wi wceq oveq2 eleq1d imbi2d expcom wn c0 impcom cop df-ov
      vtoclga cfv cdm eleq2i opelxp bitri notbii sylbir syl5eq syl6eqel pm2.61i
      cxp ndmfv ) BDIZCDIZJZBCEKZDIZURUQVAUQBALZEKZDIZMUQVAMACDVBCNZVDVAUQVEVCU
      TDVBCBEOPQUQVBDIVDGRUDUAUSSZUTTDVFUTBCUBZEUEZTBCEUCVFVGEUFZIZSVHTNVJUSVJV
      GDDUOZIUSVIVKVGFUGBCDDUHUIUJVGEUPUKULHUMUN $.
  $}

  ${
    ndmov.1 $e |- B e. _V $.
    ndmov.2 $e |- dom F = ( S X. S ) $.
    $( The value of an operation outside its domain.  (Contributed by set.mm
       contributors, 24-Aug-1995.) $)
    ndmov $p |- ( -. ( A e. S /\ B e. S ) -> ( A F B ) = (/) ) $=
      ( wcel wa cop cdm co c0 wceq cxp eleq2i opelxp bitri wn cfv df-ov sylnbir
      ndmfv syl5eq ) ACGBCGHZABIZDJZGZABDKZLMUGUECCNZGUDUFUIUEFOABCCPQUGRUHUEDS
      LABDTUEDUBUCUA $.

    ${
      ndmovrcl.3 $e |- -. (/) e. S $.
      $( Reverse closure law, when an operation's domain doesn't contain the
         empty set.  (Contributed by set.mm contributors, 3-Feb-1996.) $)
      ndmovrcl $p |- ( ( A F B ) e. S -> ( A e. S /\ B e. S ) ) $=
        ( wcel wa co wn c0 ndmov eleq1d mtbiri con4i ) ACHBCHIZABDJZCHZQKZSLCHG
        TRLCABCDEFMNOP $.
    $}

    ${
      ndmov.3 $e |- A e. _V $.
      $( Any operation is commutative outside its domain.  (Contributed by
         set.mm contributors, 24-Aug-1995.) $)
      ndmovcom $p |- ( -. ( A e. S /\ B e. S ) -> ( A F B ) = ( B F A ) ) $=
        ( wcel wa wn co c0 ndmov wceq ancom sylnbi eqtr4d ) ACHZBCHZIZJABDKLBAD
        KZABCDEFMTSRIUALNRSOBACDGFMPQ $.
    $}

    ${
      ndmov.4 $e |- C e. _V $.
      ndmov.5 $e |- -. (/) e. S $.
      $( Any operation is associative outside its domain, if the domain doesn't
         contain the empty set.  (Contributed by set.mm contributors,
         24-Aug-1995.) $)
      ndmovass $p |- ( -. ( A e. S /\ B e. S /\ C e. S ) ->
              ( ( A F B ) F C ) = ( A F ( B F C ) ) ) $=
        ( wcel wn co c0 wa wceq ndmovrcl sylibr con3i ndmov syl w3a anim1i ovex
        df-3an anim2i 3anass eqtr4d ) ADJZBDJZCDJZUAZKZABELZCELZMABCELZELZULUMD
        JZUJNZKUNMOURUKURUHUINZUJNUKUQUSUJABDEFGIPUBUHUIUJUDQRUMCDEHGSTULUHUODJ
        ZNZKUPMOVAUKVAUHUIUJNZNUKUTVBUHBCDEHGIPUEUHUIUJUFQRAUODEBCEUCGSTUG $.

      ${
        ndmov.6 $e |- dom G = ( S X. S ) $.
        $( Any operation is distributive outside its domain, if the domain
           doesn't contain the empty set.  (Contributed by set.mm contributors,
           24-Aug-1995.) $)
        ndmovdistr $p |- ( -. ( A e. S /\ B e. S /\ C e. S ) ->
            ( A G ( B F C ) ) = ( ( A G B ) F ( A G C ) ) ) $=
          ( wcel wn co c0 wa wceq ndmovrcl sylibr con3i w3a anim2i 3anass ndmov
          ovex syl anim12i anandi bitri eqtr4d ) ADLZBDLZCDLZUAZMZABCENZFNZOABF
          NZACFNZENZUOUKUPDLZPZMUQOQVBUNVBUKULUMPZPZUNVAVCUKBCDEIHJRUBUKULUMUCZ
          STAUPDFBCEUEKUDUFUOURDLZUSDLZPZMUTOQVHUNVHUKULPZUKUMPZPZUNVFVIVGVJABD
          FGKJRACDFIKJRUGUNVDVKVEUKULUMUHUISTURUSDEACFUEHUDUFUJ $.
      $}
    $}

    ${
      ndmovord.3 $e |- A e. _V $.
      ndmovord.4 $e |- R C_ ( S X. S ) $.
      ndmovord.5 $e |- -. (/) e. S $.
      ndmovord.6 $e |- ( ( A e. S /\ B e. S /\ C e. S ) ->
                     ( A R B <-> ( C F A ) R ( C F B ) ) ) $.
      $( Elimination of redundant antecedents in an ordering law.  (Contributed
         by set.mm contributors, 7-Mar-1996.) $)
      ndmovord $p |- ( C e. S -> ( A R B <-> ( C F A ) R ( C F B ) ) ) $=
        ( wcel wa wbr co wb brel ndmovrcl simprd wi 3expia anim12i syl pm5.21ni
        wn a1d pm2.61i ) AEMZBEMZNZCEMZABDOZCAFPZCBFPZDOZQZUAUIUJULUQLUBUKUFUQU
        LUMUKUPABEEDJRUPUNEMZUOEMZNUKUNUOEEDJRURUIUSUJURULUICAEFIHKSTUSULUJCBEF
        GHKSTUCUDUEUGUH $.
    $}
  $}

  ${
    ndmovordi.3 $e |- A e. _V $.
    ndmovordi.2 $e |- dom F = ( S X. S ) $.
    ndmovordi.4 $e |- R C_ ( S X. S ) $.
    ndmovordi.5 $e |- -. (/) e. S $.
    ndmovordi.6 $e |- ( C e. S -> ( A R B <-> ( C F A ) R ( C F B ) ) ) $.
    $( Elimination of redundant antecedent in an ordering law.  (Contributed by
       set.mm contributors, 25-Jun-1998.) $)
    ndmovordi $p |- ( ( C F A ) R ( C F B ) -> A R B ) $=
      ( wcel co wbr brel simpld ndmovrcl syl biimprd mpcom ) CELZCAFMZCBFMZDNZA
      BDNZUDUBELZUAUDUFUCELUBUCEEDIOPUFUAAELCAEFGHJQPRUAUEUDKST $.
  $}

  ${
    $d x y A $.  $d y B $.  $d x y C $.  $d x y D $.  $d x y E $.  $d x y ph $.
    $d x y F $.
    caovcld.1 $e |- ( ( ph /\ ( x e. C /\ y e. D ) ) -> ( x F y ) e. E ) $.
    $( Convert an operation closure law to class notation.  (Contributed by
       Mario Carneiro, 26-May-2014.) $)
    caovcld $p |- ( ( ph /\ ( A e. C /\ B e. D ) ) -> ( A F B ) e. E ) $=
      ( cv co wcel wral wa ralrimivva wceq oveq1 eleq1d oveq2 rspc2v mpan9 ) AB
      KZCKZILZHMZCGNBFNDFMEGMODEILZHMZAUFBCFGJPUFUHDUDILZHMBCDEFGUCDQUEUIHUCDUD
      IRSUDEQUIUGHUDEDITSUAUB $.
  $}

  ${
    $d x y A $.  $d y B $.  $d x y F $.  $d x y S $.
    caovcl.1 $e |- ( ( x e. S /\ y e. S ) -> ( x F y ) e. S ) $.
    $( Convert an operation closure law to class notation.  (Contributed by
       set.mm contributors, 4-Aug-1995.)  (Revised by set.mm contributors,
       26-May-2014.) $)
    caovcl $p |- ( ( A e. S /\ B e. S ) -> ( A F B ) e. S ) $=
      ( wtru wcel wa co tru cv adantl caovcld mpan ) HCEIDEIJCDFKEILHABCDEEEFAM
      ZEIBMZEIJQRFKEIHGNOP $.
  $}

  ${
    $( General laws for commutative, associative, distributive operations. $)
    $d x y z F $.  $d x y z S $.  $d x y z A $.  $d x y z B $.  $d x y z C $.
    $d x y z D $.  $d x y z G $.  $d x y z R $.  $d x y z ph $.
    ${
      caovcomg.1 $e |- ( ( ph /\ ( x e. S /\ y e. S ) ) ->
                          ( x F y ) = ( y F x ) ) $.
      $( Convert an operation commutative law to class notation.  (Contributed
         by set.mm contributors, 1-Jun-2013.)  (Revised by Mario Carneiro,
         2-Jun-2013.) $)
      caovcomg $p |- ( ( ph /\ ( A e. S /\ B e. S ) ) ->
                        ( A F B ) = ( B F A ) ) $=
        ( cv co wceq wral wcel wa ralrimivva oveq1 oveq2 eqeq12d rspc2v mpan9 )
        ABIZCIZGJZUBUAGJZKZCFLBFLDFMEFMNDEGJZEDGJZKZAUEBCFFHOUEUHDUBGJZUBDGJZKB
        CDEFFUADKUCUIUDUJUADUBGPUADUBGQRUBEKUIUFUJUGUBEDGQUBEDGPRST $.
    $}

    ${
      caovcom.1 $e |- A e. _V $.
      caovcom.2 $e |- B e. _V $.
      caovcom.3 $e |- ( x F y ) = ( y F x ) $.
      $( Convert an operation commutative law to class notation.  (Contributed
         by set.mm contributors, 26-Aug-1995.)  (Revised by Mario Carneiro,
         1-Jun-2013.) $)
      caovcom $p |- ( A F B ) = ( B F A ) $=
        ( cvv wcel wa co wceq pm3.2i cv a1i caovcomg mp2an ) CIJZSDIJZKCDELDCEL
        MFSTFGNSABCDIEAOZBOZELUBUAELMSUAIJUBIJKKHPQR $.
    $}

    ${
      caovassg.1 $e |- ( ( ph /\ ( x e. S /\ y e. S /\ z e. S ) ) ->
        ( ( x F y ) F z ) = ( x F ( y F z ) ) ) $.
      $( Convert an operation associative law to class notation.  (Contributed
         by set.mm contributors, 1-Jun-2013.)  (Revised by Mario Carneiro,
         2-Jun-2013.) $)
      caovassg $p |- ( ( ph /\ ( A e. S /\ B e. S /\ C e. S ) ) ->
          ( ( A F B ) F C ) = ( A F ( B F C ) ) ) $=
        ( cv co wceq wral wcel oveq1 oveq1d eqeq12d oveq2 oveq2d rspc3v mpan9
        w3a ralrimivvva ) ABKZCKZILZDKZILZUEUFUHILZILZMZDHNCHNBHNEHOFHOGHOUCEFI
        LZGILZEFGILZILZMZAULBCDHHHJUDULUQEUFILZUHILZEUJILZMUMUHILZEFUHILZILZMBC
        DEFGHHHUEEMZUIUSUKUTVDUGURUHIUEEUFIPQUEEUJIPRUFFMZUSVAUTVCVEURUMUHIUFFE
        ISQVEUJVBEIUFFUHIPTRUHGMZVAUNVCUPUHGUMISVFVBUOEIUHGFISTRUAUB $.
    $}

    ${
      caovass.1 $e |- A e. _V $.
      caovass.2 $e |- B e. _V $.
      caovass.3 $e |- C e. _V $.
      caovass.4 $e |- ( ( x F y ) F z ) = ( x F ( y F z ) ) $.
      $( Convert an operation associative law to class notation.  (Contributed
         by set.mm contributors, 26-Aug-1995.)  (Revised by Mario Carneiro,
         1-Jun-2013.) $)
      caovass $p |- ( ( A F B ) F C ) = ( A F ( B F C ) ) $=
        ( cvv wcel co wceq wtru w3a tru cv wa a1i caovassg mpan mp3an ) DLMZELM
        ZFLMZDEGNFGNDEFGNGNOZHIJPUEUFUGQUHRPABCDEFLGASZBSZGNCSZGNUIUJUKGNGNOPUI
        LMUJLMUKLMQTKUAUBUCUD $.
    $}

    ${
      caovcan.1 $e |- C e. _V $.
      caovcan.2 $e |- ( ( x e. S /\ y e. S ) ->
                   ( ( x F y ) = ( x F z ) -> y = z ) ) $.
      $( Convert an operation cancellation law to class notation.  (Contributed
         by set.mm contributors, 20-Aug-1995.) $)
      caovcan $p |- ( ( A e. S /\ B e. S ) ->
                   ( ( A F B ) = ( A F C ) -> B = C ) ) $=
        ( cv co wceq wi oveq1 eqeq12d imbi1d oveq2 imbi12d wcel eqeq1d eqeq1 wa
        eqeq2d eqeq2 imbi2d vtocl vtocl2ga ) AKZBKZHLZUIFHLZMZUJFMZNZDUJHLZDFHL
        ZMZUNNDEHLZUQMZEFMZNABDEGGUIDMZUMURUNVBUKUPULUQUIDUJHOUIDFHOPQUJEMZURUT
        UNVAVCUPUSUQUJEDHRUAUJEFUBSUIGTUJGTUCZUKUICKZHLZMZUJVEMZNZNVDUONCFIVEFM
        ZVIUOVDVJVGUMVHUNVJVFULUKVEFUIHRUDVEFUJUESUFJUGUH $.
    $}

    ${
      caovord.1 $e |- A e. _V $.
      caovord.2 $e |- B e. _V $.
      caovord.3 $e |- ( z e. S -> ( x R y <-> ( z F x ) R ( z F y ) ) ) $.
      $( Convert an operation ordering law to class notation.  (Contributed by
         set.mm contributors, 19-Feb-1996.) $)
      caovord $p |- ( C e. S -> ( A R B <-> ( C F A ) R ( C F B ) ) ) $=
        ( wbr cv co wb wceq oveq1 wi oveq2 breq12d bibi2d wcel wa breq1 bibi12d
        breq1d breq2 breq2d sylan9bb imbi2d vtocl2 vtoclga ) DEGMZCNZDIOZUOEIOZ
        GMZPZUNFDIOZFEIOZGMZPCFHUOFQZURVBUNVCUPUTUQVAGUOFDIRUOFEIRUAUBUOHUCZANZ
        BNZGMZUOVEIOZUOVFIOZGMZPZSVDUSSABDEJKVEDQZVFEQZUDVKUSVDVLVKDVFGMZUPVIGM
        ZPVMUSVLVGVNVJVOVEDVFGUEVLVHUPVIGVEDUOITUGUFVMVNUNVOURVFEDGUHVMVIUQUPGV
        FEUOITUIUFUJUKLULUM $.

      $( (We don't bother to eliminate this redundant hypothesis.) $)
      caovord2.3 $e |- C e. _V $.
      caovord2.com $e |- ( x F y ) = ( y F x ) $.
      $( Operation ordering law with commuted arguments.  (Contributed by
         set.mm contributors, 27-Feb-1996.) $)
      caovord2 $p |- ( C e. S -> ( A R B <-> ( A F C ) R ( B F C ) ) ) $=
        ( wcel wbr co caovord caovcom breq12i syl6bb ) FHODEGPFDIQZFEIQZGPDFIQZ
        EFIQZGPABCDEFGHIJKLRUBUDUCUEGABFDIMJNSABFEIMKNSTUA $.

      $( (We don't bother to eliminate redundant hypotheses.) $)
      caovord3.4 $e |- D e. _V $.
      $( Ordering law.  (Contributed by set.mm contributors, 29-Feb-1996.) $)
      caovord3 $p |- ( ( ( B e. S /\ C e. S ) /\
                    ( A F B ) = ( C F D ) ) -> ( A R C <-> D R B ) ) $=
        ( wcel wa co wbr wceq wb caovord2 adantr breq1 sylan9bb ad2antlr bitr4d
        caovord ) EIQZFIQZRZDEJSZFGJSZUAZRDFHTZUNFEJSZHTZGEHTZULUPUMUQHTZUOURUJ
        UPUTUBUKABCDFEHIJKNMLOUCUDUMUNUQHUEUFUKUSURUBUJUOABCGEFHIJPLMUIUGUH $.
    $}

    ${
      caovdig.1 $e |- ( ( ph /\ ( x e. S /\ y e. S /\ z e. S ) ) ->
        ( x G ( y F z ) ) = ( ( x G y ) F ( x G z ) ) ) $.
      $( Convert an operation distributive law to class notation.  (Contributed
         by set.mm contributors, 25-Aug-1995.)  (Revised by Mario Carneiro,
         26-Jul-2014.) $)
      caovdig $p |- ( ( ph /\ ( A e. S /\ B e. S /\ C e. S ) ) ->
        ( A G ( B F C ) ) = ( ( A G B ) F ( A G C ) ) ) $=
        ( cv co wceq wral wcel oveq1 eqeq12d oveq2d oveq2 oveq12d oveq1d rspc3v
        w3a ralrimivvva mpan9 ) ABLZCLZDLZIMZJMZUGUHJMZUGUIJMZIMZNZDHOCHOBHOEHP
        FHPGHPUDEFGIMZJMZEFJMZEGJMZIMZNZAUOBCDHHHKUEUOVAEUJJMZEUHJMZEUIJMZIMZNE
        FUIIMZJMZURVDIMZNBCDEFGHHHUGENZUKVBUNVEUGEUJJQVIULVCUMVDIUGEUHJQUGEUIJQ
        UARUHFNZVBVGVEVHVJUJVFEJUHFUIIQSVJVCURVDIUHFEJTUBRUIGNZVGUQVHUTVKVFUPEJ
        UIGFITSVKVDUSURIUIGEJTSRUCUF $.
    $}

    ${
      caovdirg.1 $e |- ( ( ph /\ ( x e. S /\ y e. S /\ z e. S ) ) ->
        ( ( x F y ) G z ) = ( ( x G z ) F ( y G z ) ) ) $.
      $( Convert an operation reverse distributive law to class notation.
         (Contributed by set.mm contributors, 19-Oct-2014.) $)
      caovdirg $p |- ( ( ph /\ ( A e. S /\ B e. S /\ C e. S ) ) ->
        ( ( A F B ) G C ) = ( ( A G C ) F ( B G C ) ) ) $=
        ( cv co wceq wral wcel oveq1 oveq1d eqeq12d oveq2 oveq2d oveq12d rspc3v
        w3a ralrimivvva mpan9 ) ABLZCLZIMZDLZJMZUGUJJMZUHUJJMZIMZNZDHOCHOBHOEHP
        FHPGHPUDEFIMZGJMZEGJMZFGJMZIMZNZAUOBCDHHHKUEUOVAEUHIMZUJJMZEUJJMZUMIMZN
        UPUJJMZVDFUJJMZIMZNBCDEFGHHHUGENZUKVCUNVEVIUIVBUJJUGEUHIQRVIULVDUMIUGEU
        JJQRSUHFNZVCVFVEVHVJVBUPUJJUHFEITRVJUMVGVDIUHFUJJQUASUJGNZVFUQVHUTUJGUP
        JTVKVDURVGUSIUJGEJTUJGFJTUBSUCUF $.
    $}

    ${
      caovdi.1 $e |- A e. _V $.
      caovdi.2 $e |- B e. _V $.
      caovdi.3 $e |- C e. _V $.
      caovdi.4 $e |- ( x G ( y F z ) ) = ( ( x G y ) F ( x G z ) ) $.
      $( Convert an operation distributive law to class notation.  (Contributed
         by set.mm contributors, 25-Aug-1995.)  (Revised by Mario Carneiro,
         28-Jun-2013.) $)
      caovdi $p |- ( A G ( B F C ) ) = ( ( A G B ) F ( A G C ) ) $=
        ( cvv wcel co wceq wtru w3a tru cv wa a1i caovdig mpan mp3an ) DMNZEMNZ
        FMNZDEFGOHODEHODFHOGOPZIJKQUFUGUHRUISQABCDEFMGHATZBTZCTZGOHOUJUKHOUJULH
        OGOPQUJMNUKMNULMNRUALUBUCUDUE $.
    $}

    ${
      caopr.1 $e |- A e. _V $.
      caopr.2 $e |- B e. _V $.
      caopr.3 $e |- C e. _V $.
      caopr.com $e |- ( x F y ) = ( y F x ) $.
      caopr.ass $e |- ( ( x F y ) F z ) = ( x F ( y F z ) ) $.
      $( Rearrange arguments in a commutative, associative operation.
         (Contributed by set.mm contributors, 26-Aug-1995.) $)
      caov32 $p |- ( ( A F B ) F C ) = ( ( A F C ) F B ) $=
        ( co caovcom oveq2i caovass 3eqtr4i ) DEFGMZGMDFEGMZGMDEGMFGMDFGMEGMRSD
        GABEFGIJKNOABCDEFGHIJLPABCDFEGHJILPQ $.

      $( Rearrange arguments in a commutative, associative operation.
         (Contributed by set.mm contributors, 26-Aug-1995.) $)
      caov12 $p |- ( A F ( B F C ) ) = ( B F ( A F C ) ) $=
        ( co caovcom oveq1i caovass 3eqtr3i ) DEGMZFGMEDGMZFGMDEFGMGMEDFGMGMRSF
        GABDEGHIKNOABCDEFGHIJLPABCEDFGIHJLPQ $.

      $( Rearrange arguments in a commutative, associative operation.
         (Contributed by set.mm contributors, 26-Aug-1995.) $)
      caov31 $p |- ( ( A F B ) F C ) = ( ( C F B ) F A ) $=
        ( co caovass caov12 eqtri caov32 eqtr3i 3eqtr4i ) DFGMEGMZFDEGMZGMZUAFG
        MFEGMZDGMZTDUCGMUBABCDFEGHJILNABCDFEGHJIKLOPABCDEFGHIJKLQFDGMEGMUDUBABC
        FDEGJHIKLQABCFDEGJHILNRS $.

      $( Rearrange arguments in a commutative, associative operation.
         (Contributed by set.mm contributors, 26-Aug-1995.) $)
      caov13 $p |- ( A F ( B F C ) ) = ( C F ( B F A ) ) $=
        ( co caov31 caovass 3eqtr3i ) DEGMFGMFEGMDGMDEFGMGMFEDGMGMABCDEFGHIJKLN
        ABCDEFGHIJLOABCFEDGJIHLOP $.

      ${
        caopr.4 $e |- D e. _V $.
        $( Rearrange arguments in a commutative, associative operation.
           (Contributed by set.mm contributors, 26-Aug-1995.) $)
        caov4 $p |- ( ( A F B ) F ( C F D ) ) = ( ( A F C ) F ( B F D ) ) $=
          ( co caov12 oveq2i ovex caovass 3eqtr4i ) DEFGHOZHOZHODFEGHOZHOZHODEH
          OUAHODFHOUCHOUBUDDHABCEFGHJKNLMPQABCDEUAHIJFGHRMSABCDFUCHIKEGHRMST $.

        $( Rearrange arguments in a commutative, associative operation.
           (Contributed by set.mm contributors, 26-Aug-1995.) $)
        caov411 $p |- ( ( A F B ) F ( C F D ) ) = ( ( C F B ) F ( A F D ) ) $=
          ( co caov31 oveq1i ovex caovass 3eqtr3i ) DEHOZFHOZGHOFEHOZDHOZGHOUAF
          GHOHOUCDGHOHOUBUDGHABCDEFHIJKLMPQABCUAFGHDEHRKNMSABCUCDGHFEHRINMST $.

        $( Rearrange arguments in a commutative, associative operation.
           (Contributed by set.mm contributors, 26-Aug-1995.) $)
        caov42 $p |- ( ( A F B ) F ( C F D ) ) =
                        ( ( A F C ) F ( D F B ) ) $=
          ( co caov4 caovcom oveq2i eqtri ) DEHOFGHOHODFHOZEGHOZHOTGEHOZHOABCDE
          FGHIJKLMNPUAUBTHABEGHJNLQRS $.
      $}
    $}

    ${
      caoprd.1 $e |- A e. _V $.
      caoprd.2 $e |- B e. _V $.
      caoprd.3 $e |- C e. _V $.
      caoprd.com $e |- ( x G y ) = ( y G x ) $.
      caoprd.distr $e |- ( x G ( y F z ) ) = ( ( x G y ) F ( x G z ) ) $.
      $( Reverse distributive law.  (Contributed by set.mm contributors,
         26-Aug-1995.) $)
      caovdir $p |- ( ( A F B ) G C ) = ( ( A G C ) F ( B G C ) ) $=
        ( co caovdi ovex caovcom oveq12i 3eqtr3i ) FDEGNZHNFDHNZFEHNZGNTFHNDFHN
        ZEFHNZGNABCFDEGHKIJMOABFTHKDEGPLQUAUCUBUDGABFDHKILQABFEHKJLQRS $.

      ${
        $d x y z H $.  $d x y z R $.
        caoprdl.4 $e |- D e. _V $.
        caoprdl.5 $e |- H e. _V $.
        caoprdl.ass $e |- ( ( x G y ) G z ) = ( x G ( y G z ) ) $.
        $( Lemma used by real number construction.  (Contributed by set.mm
           contributors, 26-Aug-1995.) $)
        caovdilem $p |- ( ( ( A G C ) F ( B G D ) ) G H ) =
                         ( ( A G ( C G H ) ) F ( B G ( D G H ) ) ) $=
          ( co ovex caovdir caovass oveq12i eqtri ) DFISZEGISZHSJISUEJISZUFJISZ
          HSDFJISISZEGJISISZHSABCUEUFJHIDFITEGITQNOUAUGUIUHUJHABCDFJIKMQRUBABCE
          GJILPQRUBUCUD $.

        ${
          caoprdl2.6 $e |- R e. _V $.
          caoprdl2.com $e |- ( x F y ) = ( y F x ) $.
          caoprdl2.ass $e |- ( ( x F y ) F z ) = ( x F ( y F z ) ) $.
          $( Lemma used in real number construction.  (Contributed by set.mm
             contributors, 26-Aug-1995.) $)
          caovlem2 $p |- ( ( ( ( A G C ) F ( B G D ) ) G H ) F
                            ( ( ( A G D ) F ( B G C ) ) G R ) ) =
   ( ( A G ( ( C G H ) F ( D G R ) ) ) F ( B G ( ( C G R ) F ( D G H ) ) ) ) $=
            ( co ovex caov42 caovdilem oveq12i caovdi 3eqtr4i ) DFKJUCZJUCZEGKJ
            UCZJUCZIUCZDGHJUCZJUCZEFHJUCZJUCZIUCZIUCUKUPIUCZURUMIUCZIUCDFJUCEGJ
            UCIUCKJUCZDGJUCEFJUCIUCHJUCZIUCDUJUOIUCJUCZEUQULIUCJUCZIUCABCUKUMUP
            URIDUJJUDEULJUDDUOJUDUAUBEUQJUDUEVBUNVCUSIABCDEFGIJKLMNOPQRSUFABCDE
            GFIJHLMQOPNTSUFUGVDUTVEVAIABCDUJUOIJLFKJUDGHJUDPUHABCEUQULIJMFHJUDG
            KJUDPUHUGUI $.
        $}
      $}
    $}

    ${
      $d x y z w v $.  $d w v S $.  $d w v A $.  $d w v B $.  $d w v F $.
      caovmo.1 $e |- A e. _V $.
      $( Identity element. $)
      caovmo.2 $e |- B e. S $.
      caovmo.dom $e |- dom F = ( S X. S ) $.
      caovmo.3 $e |- -. (/) e. S $.
      caovmo.com $e |- ( x F y ) = ( y F x ) $.
      caovmo.ass $e |- ( ( x F y ) F z ) = ( x F ( y F z ) ) $.
      caovmo.id $e |- ( x e. S -> ( x F B ) = x ) $.
      $( Uniqueness of inverse element in commutative, associative operation
         with identity.  Remark in proof of Proposition 9-2.4 of [Gleason]
         p. 119.  (Contributed by set.mm contributors, 4-Mar-1996.) $)
      caovmo $p |- E* w ( A F w ) = B $=
        ( vv wcel co wceq wa cv wmo wi wal eleq1 eqeq1d anbi12d mo4 vex caovass
        oveq2 caov12 eqtri oveq1 id eqeq12d vtoclga sylan9eqr ad2ant2rl caovcom
        syl5eq elexi sylan9eq eqtr3d ax-gen mpgbir mpbiri ndmovrcl simprd ancri
        ad2ant2lr syl moimi ax-mp ) DUAZGQZEVOHRZFSZTZDUBZVRDUBVTVSPUAZGQZEWAHR
        ZFSZTZTZVOWASZUCZPUDDVSWEDPWGVPWBVRWDVOWAGUEWGVQWCFVOWAEHUKUFUGUHWHPWFV
        QWAHRZVOWAVPWDWIVOSVRWBVPWDTWIVOWCHRZVOWIEVOWAHRHRWJABCEVOWAHIDUIZPUIZN
        UJABCEVOWAHIWKWLMNULUMWDVPWJVOFHRZVOWCFVOHUKAUAZFHRZWNSZWMVOSAVOGWNVOSZ
        WOWMWNVOWNVOFHUNWQUOUPOUQURVAUSVRWBWIWASVPWDVRWBWIFWAHRZWAVQFWAHUNWBWRW
        AFHRZWAABFWAHFGJVBWLMUTWPWSWASAWAGWNWASZWOWSWNWAWNWAFHUNWTUOUPOUQVAVCVK
        VDVEVFVRVSDVRVPVRVQGQZVPVRXAFGQJVQFGUEVGXAEGQVPEVOGHWKKLVHVIVLVJVMVN $.
    $}
  $}

  ${
     $d x y z w t u A $.
     $( Identity law for operator abstractions.  (Contributed by Scott Fenton,
        19-Apr-2021.) $)
     oprabid2 $p |- { <. <. x , y >. , z >. | <. <. x , y >. , z >. e. A }
     	      	 = A $=
       ( vw vt vu cv cop wcel coprab cvv wb vex weq opeq1 opeq1d opeq2 eloprabg
       eleq1d mp3an eqoprriv ) EFGAHZBHZIZCHZIZDJZABCKZDEHZLJFHZLJGHZLJUJUKIZUL
       IZUIJUNDJZMENFNGNUHUJUDIZUFIZDJUMUFIZDJUOABCUJUKULLLLAEOZUGUQDUSUEUPUFUC
       UJUDPQTBFOZUQURDUTUPUMUFUDUKUJRQTCGOURUNDUFULUMRTSUAUB $.
  $}

  ${
    $d x y z A $.
    oprabbi2i.1 $e |- ( <. <. x , y >. , z >. e. A <-> ph ) $.
    $( Biconditional for operators.  (Contributed by Scott Fenton,
       19-Apr-2021.) $)
    oprabbi2i $p |- A = { <. <. x , y >. , z >. | ph } $=
      ( cv cop wcel coprab oprabid2 oprabbii eqtr3i ) BGCGHDGHEIZBCDJEABCDJBCDE
      KNABCDFLM $.
  $}


  $( Eliminate antecedent for operator values: domain and range can be taken to
     be a set.  (Contributed by set.mm contributors, 25-Feb-2015.) $)
  elovex12 $p |- ( A e. ( B F C ) -> ( B e. _V /\ C e. _V ) ) $=
    ( co wcel c0 wne cvv wa ne0i cop wceq opexb cfv df-ov fvprc syl5eq sylnbir
    wn necon1ai syl ) ABCDEZFUCGHBIFCIFJZUCAKUDUCGUDBCLZIFZUCGMBCNUFTUCUEDOGBCD
    PUEDQRSUAUB $.

  $( Eliminate antecedent for operator values: domain can be taken to be a
     set.  (Contributed by set.mm contributors, 25-Feb-2015.) $)
  elovex1 $p |- ( A e. ( B F C ) -> B e. _V ) $=
    ( co wcel cvv elovex12 simpld ) ABCDEFBGFCGFABCDHI $.

  $( Eliminate antecedent for operator values: range can be taken to be a set.
     (Contributed by set.mm contributors, 25-Feb-2015.) $)
  elovex2 $p |- ( A e. ( B F C ) -> C e. _V ) $=
    ( co wcel cvv elovex12 simprd ) ABCDEFBGFCGFABCDHI $.


$(
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
        "Maps to" notation
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
$)

  $c |-> $.  $( Maps-to symbol $)

  $( Extend the definition of a class to include maps-to notation for defining
     a function via a rule. $)
  cmpt $a class ( x e. A |-> B ) $.

  ${
    $d x y $.  $d y A $.  $d y B $.
    $( Define maps-to notation for defining a function via a rule.  Read as
       "the function defined by the map from ` x ` (in ` A ` ) to
       ` B ( x ) ` ."  The class expression ` B ` is the value of the function
       at ` x ` and normally contains the variable ` x ` .  Similar to the
       definition of mapping in [ChoquetDD] p. 2.  (Contributed by SF,
       5-Jan-2015.) $)
    df-mpt $a |- ( x e. A |-> B ) =
                    { <. x , y >. | ( x e. A /\ y = B ) } $.
  $}

  $( Extend the definition of a class to include maps-to notation for defining
     an operation via a rule. $)
  cmpt2 $a class ( x e. A , y e. B |-> C ) $.

  ${
    $d x z $.  $d y z $.  $d z A $.  $d z B $.  $d z C $.
    $( Define maps-to notation for defining an operation via a rule.  Read as
       "the operation defined by the map from ` x , y ` (in ` A X. B ` ) to
       ` B ( x , y ) ` ."  An extension of ~ df-mpt for two arguments.
       (Contributed by SF, 5-Jan-2015.) $)
    df-mpt2 $a |- ( x e. A , y e. B |-> C ) =
             { <. <. x , y >. , z >. | ( ( x e. A /\ y e. B ) /\ z = C ) } $.
  $}

  ${
    $d x y ph $.  $d y A $.  $d y B $.  $d y C $.  $d y D $.
    $( An equality theorem for the maps to notation.  (Contributed by Mario
       Carneiro, 16-Dec-2013.) $)
    mpteq12f $p |- ( ( A. x A = C /\ A. x e. A B = D ) ->
                    ( x e. A |-> B ) = ( x e. C |-> D ) ) $=
      ( vy wceq wal wral wa cv wcel copab cmpt nfa1 nfra1 nfan nfv rsp df-mpt
      imp eqeq2d pm5.32da sp eleq2d anbi1d sylan9bbr opabbid 3eqtr4g ) BDGZAHZC
      EGZABIZJZAKZBLZFKZCGZJZAFMUODLZUQEGZJZAFMABCNADENUNUSVBAFUKUMAUJAOULABPQU
      NFRUMUSUPVAJUKVBUMUPURVAUMUPJCEUQUMUPULULABSUAUBUCUKUPUTVAUKBDUOUJAUDUEUF
      UGUHAFBCTAFDETUI $.

    mpteq12dv.1 $e |- ( ph -> A = C ) $.
    mpteq12dv.2 $e |- ( ph -> B = D ) $.
    $( An equality inference for the maps to notation.  (Contributed by set.mm
       contributors, 24-Aug-2011.)  (Revised by set.mm contributors,
       16-Dec-2013.) $)
    mpteq12dv $p |- ( ph -> ( x e. A |-> B ) = ( x e. C |-> D ) ) $=
      ( wceq wal wral cmpt alrimiv ralrimivw mpteq12f syl2anc ) ACEIZBJDFIZBCKB
      CDLBEFLIAQBGMARBCHNBCDEFOP $.
  $}

  ${
    $d x A $.  $d x C $.
    $( An equality theorem for the maps to notation.  (Contributed by set.mm
       contributors, 16-Dec-2013.) $)
    mpteq12 $p |- ( ( A = C /\ A. x e. A B = D ) ->
                    ( x e. A |-> B ) = ( x e. C |-> D ) ) $=
      ( wceq wal wral cmpt ax-17 mpteq12f sylan ) BDFZMAGCEFABHABCIADEIFMAJABCD
      EKL $.
  $}

  ${
    $d x A $.  $d x B $.
    $( An equality theorem for the maps to notation.  (Contributed by Mario
       Carneiro, 16-Dec-2013.) $)
    mpteq1 $p |- ( A = B -> ( x e. A |-> C ) = ( x e. B |-> C ) ) $=
      ( wceq wral cmpt cv wcel eqidd rgen mpteq12 mpan2 ) BCEDDEZABFABDGACDGENA
      BAHBIDJKABDCDLM $.
  $}

  ${
    mpteq2ia.1 $e |- ( x e. A -> B = C ) $.
    $( An equality inference for the maps to notation.  (Contributed by Mario
       Carneiro, 16-Dec-2013.) $)
    mpteq2ia $p |- ( x e. A |-> B ) = ( x e. A |-> C ) $=
      ( wceq wal wral cmpt eqid ax-gen rgen mpteq12f mp2an ) BBFZAGCDFZABHABCIA
      BDIFOABJKPABELABCBDMN $.
  $}

  ${
    mpteq2i.1 $e |- B = C $.
    $( An equality inference for the maps to notation.  (Contributed by Mario
       Carneiro, 16-Dec-2013.) $)
    mpteq2i $p |- ( x e. A |-> B ) = ( x e. A |-> C ) $=
      ( wceq cv wcel a1i mpteq2ia ) ABCDCDFAGBHEIJ $.
  $}

  ${
    $d x y z A $.  $d y z B $.  $d x y z D $.  $d y z E $.  $d z C $.
    $d z F $.
    $( An equality theorem for the maps to notation.  (Contributed by Mario
       Carneiro, 16-Dec-2013.)  (Revised by Mario Carneiro, 19-Mar-2015.) $)
    mpt2eq123 $p |- ( ( A = D /\ A. x e. A ( B = E /\ A. y e. B C = F ) ) ->
                 ( x e. A , y e. B |-> C ) = ( x e. D , y e. E |-> F ) ) $=
      ( vz wceq wral wa cv wcel coprab cmpt2 nfv nfra1 nfan wb nfcv nfral eqeq2
      rsp pm5.32d eleq2 anbi1d sylan9bbr anass 3bitr4g oprabbid df-mpt2 3eqtr4g
      syl6 ) CFJZDGJZEHJZBDKZLZACKZLZAMZCNZBMZDNZLIMZEJZLZABIOVBFNZVDGNZLVFHJZL
      ZABIOABCDEPABFGHPVAVHVLABIUOUTAUOAQUSACRSUOUTBUOBQUSBACBCUAUPURBUPBQUQBDR
      SUBSVAIQVAVCVEVGLZLZVIVJVKLZLZVHVLUTVNVCVOLUOVPUTVCVMVOUTVCUSVMVOTUSACUDU
      RVMVEVKLUPVOURVEVGVKURVEUQVGVKTUQBDUDEHVFUCUNUEUPVEVJVKDGVDUFUGUHUNUEUOVC
      VIVOCFVBUFUGUHVCVEVGUIVIVJVKUIUJUKABICDEULABIFGHULUM $.
  $}

  ${
    $d x y A $.  $d x y B $.  $d x y C $.  $d x y D $.
    $( An equality theorem for the maps to notation.  (Contributed by Mario
       Carneiro, 16-Dec-2013.) $)
    mpt2eq12 $p |- ( ( A = C /\ B = D ) ->
                 ( x e. A , y e. B |-> E ) = ( x e. C , y e. D |-> E ) ) $=
      ( wceq wral wa cmpt2 eqid rgenw jctr ralrimivw mpt2eq123 sylan2 ) DFHZCEH
      RGGHZBDIZJZACIABCDGKABEFGKHRUAACRTSBDGLMNOABCDGEFGPQ $.
  $}

  ${
    $d z A $.  $d z B $.  $d z C $.  $d z D $.  $d z E $.  $d z F $.
    $d x z ph $.  $d y z ph $.
    mpt2eq123dv.1 $e |- ( ph -> A = D ) $.
    mpt2eq123dv.2 $e |- ( ph -> B = E ) $.
    mpt2eq123dv.3 $e |- ( ph -> C = F ) $.
    $( An equality deduction for the maps to notation.  (Contributed by set.mm
       contributors, 12-Sep-2011.) $)
    mpt2eq123dv $p |- ( ph
            -> ( x e. A , y e. B |-> C ) = ( x e. D , y e. E |-> F ) ) $=
      ( vz cv wcel wa wceq coprab cmpt2 eleq2d anbi12d eqeq2d oprabbidv df-mpt2
      3eqtr4g ) ABNZDOZCNZEOZPZMNZFQZPZBCMRUFGOZUHHOZPZUKIQZPZBCMRBCDEFSBCGHISA
      UMURBCMAUJUPULUQAUGUNUIUOADGUFJTAEHUHKTUAAFIUKLUBUAUCBCMDEFUDBCMGHIUDUE
      $.
  $}

  ${
    mpt2eq123i.1 $e |- A = D $.
    mpt2eq123i.2 $e |- B = E $.
    mpt2eq123i.3 $e |- C = F $.
    $( An equality inference for the maps to notation.  (Contributed by set.mm
       contributors, 15-Jul-2013.) $)
    mpt2eq123i $p |- ( x e. A , y e. B |-> C ) = ( x e. D , y e. E |-> F ) $=
      ( cmpt2 wceq wtru a1i mpt2eq123dv trud ) ABCDELABFGHLMNABCDEFGHCFMNIODGMN
      JOEHMNKOPQ $.
  $}

  ${
    mpteq12i.1 $e |- A = C $.
    mpteq12i.2 $e |- B = D $.
    $( An equality inference for the maps to notation.  (Contributed by Scott
       Fenton, 27-Oct-2010.) $)
    mpteq12i $p |- ( x e. A |-> B ) = ( x e. C |-> D ) $=
      ( cmpt wceq wtru a1i mpteq12dv trud ) ABCHADEHIJABCDEBDIJFKCEIJGKLM $.
  $}

  ${
    mpteq2da.1 $e |- F/ x ph $.
    mpteq2da.2 $e |- ( ( ph /\ x e. A ) -> B = C ) $.
    $( Slightly more general equality inference for the maps to notation.
       (Contributed by FL, 14-Sep-2013.)  (Revised by Mario Carneiro,
       16-Dec-2013.) $)
    mpteq2da $p |- ( ph -> ( x e. A |-> B ) = ( x e. A |-> C ) ) $=
      ( wceq wal wral cmpt eqid ax-gen cv wcel ex ralrimi mpteq12f sylancr ) AC
      CHZBIDEHZBCJBCDKBCEKHTBCLMAUABCFABNCOUAGPQBCDCERS $.
  $}

  ${
    $d x ph $.
    mpteq2dva.1 $e |- ( ( ph /\ x e. A ) -> B = C ) $.
    $( Slightly more general equality inference for the maps to notation.
       (Contributed by Scott Fenton, 25-Apr-2012.) $)
    mpteq2dva $p |- ( ph -> ( x e. A |-> B ) = ( x e. A |-> C ) ) $=
      ( nfv mpteq2da ) ABCDEABGFH $.
  $}

  ${
    $d x ph $.
    mpteq2dv.1 $e |- ( ph -> B = C ) $.
    $( An equality inference for the maps to notation.  (Contributed by Mario
       Carneiro, 23-Aug-2014.) $)
    mpteq2dv $p |- ( ph -> ( x e. A |-> B ) = ( x e. A |-> C ) ) $=
      ( wceq cv wcel adantr mpteq2dva ) ABCDEADEGBHCIFJK $.
  $}

  ${
    $d x z ph $.  $d y z ph $.  $d z A $.  $d z B $.  $d z C $.  $d z D $.
    mpt2eq3dva.1 $e |- ( ( ph /\ x e. A /\ y e. B ) -> C = D ) $.
    $( Slightly more general equality inference for the maps to notation.
       (Contributed by set.mm contributors, 17-Oct-2013.)  (Revised by set.mm
       contributors, 16-Dec-2013.) $)
    mpt2eq3dva $p |- ( ph -> ( x e. A , y e. B |-> C )
              = ( x e. A , y e. B |-> D ) ) $=
      ( vz cv wcel wa wceq coprab cmpt2 3expb eqeq2d pm5.32da oprabbidv df-mpt2
      3eqtr4g ) ABJDKZCJEKZLZIJZFMZLZBCINUDUEGMZLZBCINBCDEFOBCDEGOAUGUIBCIAUDUF
      UHAUDLFGUEAUBUCFGMHPQRSBCIDEFTBCIDEGTUA $.
  $}

  ${
    mpt2eq3ia.1 $e |- ( ( x e. A /\ y e. B ) -> C = D ) $.
    $( An equality inference for the maps to notation.  (Contributed by Mario
       Carneiro, 16-Dec-2013.) $)
    mpt2eq3ia $p |- ( x e. A , y e. B |-> C ) = ( x e. A , y e. B |-> D ) $=
      ( cmpt2 wceq wtru cv wcel 3adant1 mpt2eq3dva trud ) ABCDEHABCDFHIJABCDEFA
      KCLBKDLEFIJGMNO $.
  $}

  ${
    $d z A $.  $d z B $.  $d x y z $.
    nfmpt.1 $e |- F/_ x A $.
    nfmpt.2 $e |- F/_ x B $.
    $( Bound-variable hypothesis builder for the maps-to notation.
       (Contributed by NM, 20-Feb-2013.) $)
    nfmpt $p |- F/_ x ( y e. A |-> B ) $=
      ( vz cmpt cv wcel wceq wa copab df-mpt nfcri nfeq2 nfan nfopab nfcxfr ) A
      BCDHBICJZGIZDKZLZBGMBGCDNUCBGATUBAABCEOAUADFPQRS $.
  $}

  ${
    $d A z $.  $d B z $.  $d x z $.
    $( Bound-variable hypothesis builder for the maps-to notation.
       (Contributed by FL, 17-Feb-2008.) $)
    nfmpt1 $p |- F/_ x ( x e. A |-> B ) $=
      ( vz cmpt cv wcel wceq wa copab df-mpt nfopab1 nfcxfr ) AABCEAFBGDFCHIZAD
      JADBCKNADLM $.
  $}

  ${
    $d z A $.  $d z B $.  $d z C $.  $d z x $.  $d z y $.
    $( Bound-variable hypothesis builder for an operation in maps-to notation.
       (Contributed by NM, 27-Aug-2013.) $)
    nfmpt21 $p |- F/_ x ( x e. A , y e. B |-> C ) $=
      ( vz cmpt2 cv wcel wa wceq coprab df-mpt2 nfoprab1 nfcxfr ) AABCDEGAHCIBH
      DIJFHEKJZABFLABFCDEMPABFNO $.

    $( Bound-variable hypothesis builder for an operation in maps-to notation.
       (Contributed by NM, 27-Aug-2013.) $)
    nfmpt22 $p |- F/_ y ( x e. A , y e. B |-> C ) $=
      ( vz cmpt2 cv wcel wa wceq coprab df-mpt2 nfoprab2 nfcxfr ) BABCDEGAHCIBH
      DIJFHEKJZABFLABFCDEMPABFNO $.
  $}

  ${
    $d w x z $.  $d w y z $.  $d w A $.  $d w B $.  $d w C $.
    nfmpt2.1 $e |- F/_ z A $.
    nfmpt2.2 $e |- F/_ z B $.
    nfmpt2.3 $e |- F/_ z C $.
    $( Bound-variable hypothesis builder for the maps-to notation.
       (Contributed by NM, 20-Feb-2013.) $)
    nfmpt2 $p |- F/_ z ( x e. A , y e. B |-> C ) $=
      ( vw cmpt2 cv wcel wa wceq coprab df-mpt2 nfcri nfan nfeq2 nfoprab nfcxfr
      ) CABDEFKALDMZBLEMZNZJLZFOZNZABJPABJDEFQUHABJCUEUGCUCUDCCADGRCBEHRSCUFFIT
      SUAUB $.
  $}

  ${
    $d w z x A $.  $d w z y A $.  $d w z B $.  $d w z C $.
    cbvmpt.1 $e |- F/_ y B $.
    cbvmpt.2 $e |- F/_ x C $.
    cbvmpt.3 $e |- ( x = y -> B = C ) $.
    $( Rule to change the bound variable in a maps-to function, using implicit
       substitution.  This version has bound-variable hypotheses in place of
       distinct variable conditions.  (Contributed by NM, 11-Sep-2011.) $)
    cbvmpt $p |- ( x e. A |-> B ) = ( y e. A |-> C ) $=
      ( vz vw cv wcel wceq wa copab cmpt wsb nfv nfan eleq1 nfs1v sbequ12 nfeq2
      anbi12d cbvopab1 nfsb sbequ eqeq2d sbie syl6bb eqtri df-mpt 3eqtr4i ) AKZ
      CLZIKZDMZNZAIOZBKZCLZUPEMZNZBIOZACDPBCEPUSJKZCLZUQAJQZNZJIOVDURVHAIJURJRV
      FVGAVFARUQAJUASUNVEMUOVFUQVGUNVECTUQAJUBUDUEVHVCJIBVFVGBVFBRUQAJBBUPDFUCU
      FSVCJRVEUTMZVFVAVGVBVEUTCTVIVGUQABQVBUQJBAUGUQVBABAUPEGUCUNUTMDEUPHUHUIUJ
      UDUEUKAICDULBICEULUM $.
  $}

  ${
    $d A x $.  $d A y $.  $d B y $.  $d C x $.
    cbvmptv.1 $e |- ( x = y -> B = C ) $.
    $( Rule to change the bound variable in a maps-to function, using implicit
       substitution.  (Contributed by Mario Carneiro, 19-Feb-2013.) $)
    cbvmptv $p |- ( x e. A |-> B ) = ( y e. A |-> C ) $=
      ( nfcv cbvmpt ) ABCDEBDGAEGFH $.
  $}

  ${
    $d u w x y z $.  $d u w x y z A $.  $d u w B $.  $d u C $.  $d u y D $.
    $d u E $.
    cbvmpt2x.1 $e |- F/_ z B $.
    cbvmpt2x.2 $e |- F/_ x D $.
    cbvmpt2x.3 $e |- F/_ z C $.
    cbvmpt2x.4 $e |- F/_ w C $.
    cbvmpt2x.5 $e |- F/_ x E $.
    cbvmpt2x.6 $e |- F/_ y E $.
    cbvmpt2x.7 $e |- ( x = z -> B = D ) $.
    cbvmpt2x.8 $e |- ( ( x = z /\ y = w ) -> C = E ) $.
    $( Rule to change the bound variable in a maps-to function, using implicit
       substitution.  This version of ~ cbvmpt2 allows ` B ` to be a function
       of ` x ` .  (Contributed by NM, 29-Dec-2014.) $)
    cbvmpt2x $p |- ( x e. A , y e. B |-> C ) = ( z e. A , w e. D |-> E ) $=
      ( vu cv nfan wcel wa wceq coprab cmpt2 nfv nfcri nfeq2 nfcv adantr eleq2d
      wb eleq1 sylan9bb anbi12d eqeq2d cbvoprab12 df-mpt2 3eqtr4i ) ASZEUAZBSZF
      UAZUBZRSZGUCZUBZABRUDCSZEUAZDSZHUAZUBZVEIUCZUBZCDRUDABEFGUECDEHIUEVGVNABR
      CDVDVFCVAVCCVACUFCBFJUGTCVEGLUHTVDVFDVAVCDVADUFDBFDFUIUGTDVEGMUHTVLVMAVIV
      KAVIAUFADHKUGTAVEINUHTVLVMBVLBUFBVEIOUHTUTVHUCZVBVJUCZUBZVDVLVFVMVQVAVIVC
      VKVOVAVIULVPUTVHEUMUJVOVCVBHUAVPVKVOFHVBPUKVBVJHUMUNUOVQGIVEQUPUOUQABREFG
      URCDREHIURUS $.
  $}

  ${
    $d w x y z A $.  $d w x y z B $.
    cbvmpt2.1 $e |- F/_ z C $.
    cbvmpt2.2 $e |- F/_ w C $.
    cbvmpt2.3 $e |- F/_ x D $.
    cbvmpt2.4 $e |- F/_ y D $.
    cbvmpt2.5 $e |- ( ( x = z /\ y = w ) -> C = D ) $.
    $( Rule to change the bound variable in a maps-to function, using implicit
       substitution.  (Contributed by NM, 17-Dec-2013.) $)
    cbvmpt2 $p |- ( x e. A , y e. B |-> C ) = ( z e. A , w e. B |-> D ) $=
      ( nfcv cv wceq eqidd cbvmpt2x ) ABCDEFGFHCFNAFNIJKLAOCOPFQMR $.
  $}

  ${
    $d w x y z A $.  $d w x y z B $.  $d w z C $.  $d x y D $.
    cbvmpt2v.1 $e |- ( x = z -> C = E ) $.
    cbvmpt2v.2 $e |- ( y = w -> E = D ) $.
    $( Rule to change the bound variable in a maps-to function, using implicit
       substitution.  With a longer proof analogous to ~ cbvmpt , some distinct
       variable requirements could be eliminated.  (Contributed by NM,
       11-Jun-2013.) $)
    cbvmpt2v $p |- ( x e. A , y e. B |-> C ) = ( z e. A , w e. B |-> D ) $=
      ( nfcv cv wceq sylan9eq cbvmpt2 ) ABCDEFGHCGLDGLAHLBHLAMCMNBMDMNGIHJKOP
      $.
  $}

  ${
    $d x y A $.  $d x y B $.
    $( Representation of a constant function using the mapping operation.
       (Note that ` x ` cannot appear free in ` B ` .)  (Contributed by set.mm
       contributors, 16-Nov-2013.) $)
    fconstmpt $p |- ( A X. { B } ) = ( x e. A |-> B ) $=
      ( vy csn cxp cv wcel wceq wa copab cmpt fconstopab df-mpt eqtr4i ) BCEFAG
      BHDGCIJADKABCLADBCMADBCNO $.
  $}

  ${
    $d x y C $.  $d y A $.  $d y B $.
    dmmpt2.1 $e |- F = ( x e. A |-> B ) $.
    $( The preimage of a function in maps-to notation.  (Contributed by Stefan
       O'Rear, 25-Jan-2015.) $)
    mptpreima $p |- ( `' F " C ) = { x e. A | B e. C } $=
      ( vy ccnv cima cv wcel wceq wa copab crab eqtri crn wex cab bitri cnvopab
      cmpt df-mpt cnveqi imaeq1i dfima3 resopab rneqi ancom anass exbii df-clel
      cres 19.42v bicomi anbi2i abbii rnopab df-rab 3eqtr4i ) EHZDIAJBKZGJZCLZM
      ZGANZDIZCDKZABOZVAVFDVAVEAGNZHVFEVJEABCUBVJFAGBCUCPUDVEAGUAPUEVGVFDUMZQZV
      IVFDUFVLVCDKZVEMZGANZQZVIVKVOVEGADUGUHVNGRZASVBVHMZASVPVIVQVRAVQVBVDVMMZM
      ZGRZVRVNVTGVNVEVMMVTVMVEUIVBVDVMUJTUKWAVBVSGRZMVRVBVSGUNWBVHVBVHWBGCDULUO
      UPTTUQVNGAURVHABUSUTPPP $.

    $( The domain of the mapping operation in general.  (Contributed by Mario
       Carneiro, 13-Sep-2013.) $)
    dmmpt $p |- dom F = { x e. A | B e. _V } $=
      ( vy cdm cv wcel wceq wa copab wex cab cvv crab cmpt df-mpt eqtri dmeqi
      dmopab 19.42v isset anbi2i bitr4i abbii df-rab eqtr4i 3eqtri ) DGAHBIZFHC
      JZKZAFLZGULFMZANZCOIZABPZDUMDABCQUMEAFBCRSTULAFUAUOUJUPKZANUQUNURAUNUJUKF
      MZKURUJUKFUBUPUSUJFCUCUDUEUFUPABUGUHUI $.
  $}

  ${
    $d A x $.
    $( The domain of the mapping operation is the stated domain, if the
       function value is always a set.  (Contributed by Mario Carneiro,
       9-Feb-2013.) $)
    dmmptg $p |- ( A. x e. A B e. V -> dom ( x e. A |-> B ) = A ) $=
      ( wcel wral cvv crab cmpt cdm wceq elex ralimi rabid2 eqid dmmpt syl6reqr
      sylibr ) CDEZABFZBCGEZABHZABCIZJTUAABFBUBKSUAABCDLMUAABNRABCUCUCOPQ $.
  $}

  ${
    $d A x y $.  $d B y $.
    dmmptss.1 $e |- F = ( x e. A |-> B ) $.
    $( The domain of a mapping is a subset of its base class.  (Contributed by
       Scott Fenton, 17-Jun-2013.) $)
    dmmptss $p |- dom F C_ A $=
      ( vy cdm cv wcel wceq wa copab cmpt df-mpt eqtri dmeqi dmopabss eqsstri )
      DGAHBIFHCJZKAFLZGBDTDABCMTEAFBCNOPSAFBQR $.
  $}

  ${
    $d A y $.  $d B y $.  $d x y $.
    rnmpt.1 $e |- F = ( x e. A |-> B ) $.
    $( The range of a function in maps-to notation.  (Contributed by Scott
       Fenton, 21-Mar-2011.) $)
    rnmpt $p |- ran F = { y | E. x e. A y = B } $=
      ( crn cv wcel wceq wa copab wrex cab cmpt df-mpt eqtri rneqi rnopab2 ) EG
      AHCIBHDJZKABLZGTACMBNEUAEACDOUAFABCDPQRABCDSQ $.
  $}

  ${
    $d A y $.  $d B y $.  $d x y $.
    $( A function in maps-to notation is a function.  (Contributed by Mario
       Carneiro, 13-Jan-2013.) $)
    funmpt $p |- Fun ( x e. A |-> B ) $=
      ( vy cmpt wfun cv wcel wceq wa copab funopab4 df-mpt funeqi mpbir ) ABCEZ
      FAGBHZDGCIJADKZFQADCLPRADBCMNO $.
  $}

  ${
    $d x y A $.  $d y B $.
    mptfng.1 $e |- F = ( x e. A |-> B ) $.
    $( The maps-to notation defines a function with domain.  (Contributed by
       Scott Fenton, 21-Mar-2011.) $)
    mptfng $p |- ( A. x e. A B e. _V <-> F Fn A ) $=
      ( vy cmpt cv wcel wceq wa copab df-mpt eqtri fnopab2g ) AFBCDDABCGAHBIFHC
      JKAFLEAFBCMNO $.

    $( The maps-to notation defines a function with domain.  (Contributed by
       set.mm contributors, 9-Apr-2013.) $)
    fnmpt $p |- ( A. x e. A B e. V -> F Fn A ) $=
      ( wcel wral cvv wfn elex ralimi mptfng sylib ) CEGZABHCIGZABHDBJOPABCEKLA
      BCDFMN $.
  $}

  ${
    $d x A $.
    fnmpti.1 $e |- B e. _V $.
    fnmpti.2 $e |- F = ( x e. A |-> B ) $.
    $( Functionality and domain of an ordered-pair class abstraction.
       (Contributed by NM, 29-Jan-2004.)  (Revised by Mario Carneiro,
       31-Aug-2015.) $)
    fnmpti $p |- F Fn A $=
      ( cvv wcel wral wfn rgenw mptfng mpbi ) CGHZABIDBJNABEKABCDFLM $.

    $( Domain of an ordered-pair class abstraction that specifies a function.
       (Contributed by NM, 6-Sep-2005.)  (Revised by Mario Carneiro,
       31-Aug-2015.) $)
    dmmpti $p |- dom F = A $=
      ( wfn cdm wceq fnmpti fndm ax-mp ) DBGDHBIABCDEFJBDKL $.
  $}

  ${
    $d x y A $.  $d x y B $.  $d y C $.  $d y F $.
    fmpt.1 $e |- F = ( x e. A |-> C ) $.
    $( Functionality of the mapping operation.  (Contributed by Mario Carneiro,
       26-Jul-2013.)  (Revised by Mario Carneiro, 31-Aug-2015.) $)
    fmpt $p |- ( A. x e. A C e. B <-> F : A --> B ) $=
      ( vy wcel wral wf wfn crn wss fnmpt cv wceq wrex cab rnmpt wa biimparc ex
      r19.29 rexlimivw syl abssdv syl5eqss df-f sylanbrc crab ccnv cima fimacnv
      eleq1 mptpreima syl5reqr rabid2 sylib impbii ) DCHZABIZBCEJZVAEBKELZCMVBA
      BDECFNVAVCGOZDPZABQZGRCAGBDEFSVAVFGCVAVFVDCHZVAVFTUTVETZABQVGUTVEABUCVHVG
      ABVEVGUTVDDCUNUAUDUEUBUFUGBCEUHUIVBBUTABUJZPVAVBVIEUKCULBABDCEFUOBCEUMUPU
      TABUQURUS $.

    fmpti.2 $e |- ( x e. A -> C e. B ) $.
    $( Functionality of the mapping operation.  (Contributed by NM,
       19-Mar-2005.)  (Revised by Mario Carneiro, 1-Sep-2015.) $)
    fmpti $p |- F : A --> B $=
      ( wcel wral wf rgen fmpt mpbi ) DCHZABIBCEJNABGKABCDEFLM $.
  $}

  ${
    $d x A $.  $d x C $.  $d x ph $.
    fmptd.1 $e |- ( ( ph /\ x e. A ) -> B e. C ) $.
    fmptd.2 $e |- F = ( x e. A |-> B ) $.
    $( Domain and co-domain of the mapping operation; deduction form.
       (Contributed by Mario Carneiro, 13-Jan-2013.) $)
    fmptd $p |- ( ph -> F : A --> C ) $=
      ( wcel wral wf ralrimiva fmpt sylib ) ADEIZBCJCEFKAOBCGLBCEDFHMN $.
  $}

  ${
    $d x y A $.  $d y C $.  $d y F $.  $d x y ph $.
    fmpt2d.1 $e |- ( ph -> ( x e. A -> B e. V ) ) $.
    fmpt2d.2 $e |- F = ( x e. A |-> B ) $.
    fmpt2d.3 $e |- ( ph -> ( y e. A -> ( F ` y ) e. C ) ) $.
    $( Domain and co-domain of the mapping operation; deduction form.
       (Contributed by set.mm contributors, 9-Apr-2013.) $)
    fmpt2d $p |- ( ph -> F : A --> C ) $=
      ( wfn crn wss wf wcel wral ralrimiv fnmpt syl cfv fnfvrnss df-f sylanbrc
      cv syl2anc ) AGDLZGMFNZDFGOAEHPZBDQUGAUIBDIRBDEGHJSTZAUGCUEGUAFPZCDQUHUJA
      UKCDKRCDFGUBUFDFGUCUD $.
  $}

  ${
    $d A x y $.  $d B x y $.  $d C y $.
    $( Restriction of the mapping operation.  (Contributed by Mario Carneiro,
       15-Jul-2013.) $)
    resmpt $p |- ( B C_ A -> ( ( x e. A |-> C ) |` B ) = ( x e. B |-> C ) ) $=
      ( vy wss cv wcel wceq wa copab cres cmpt resopab2 df-mpt reseq1i 3eqtr4g
      ) CBFAGZBHEGDIZJAEKZCLRCHSJAEKABDMZCLACDMSAECBNUATCAEBDOPAECDOQ $.
  $}

  ${
    $d A x y z $.  $d B x y z $.  $d C x y z $.  $d D x y z $.  $d E z $.
    $( Restriction of the mapping operation.  (Contributed by Mario Carneiro,
       17-Dec-2013.) $)
    resmpt2 $p |- ( ( C C_ A /\ D C_ B ) ->
                    ( ( x e. A , y e. B |-> E ) |` ( C X. D ) ) =
                      ( x e. C , y e. D |-> E ) ) $=
      ( vz wss wa cv wcel wceq coprab cxp cres cmpt2 resoprab2 df-mpt2 reseq1i
      3eqtr4g ) ECIFDIJAKZCLBKZDLJHKGMZJABHNZEFOZPUBELUCFLJUDJABHNABCDGQZUFPABE
      FGQUDABHCDEFRUGUEUFABHCDGSTABHEFGSUA $.
  $}

  ${
    $d x y A $.  $d y B $.  $d x C y $.  $d x D y $.
    fvmptg.1 $e |- ( x = A -> B = C ) $.
    fvmptg.2 $e |- F = ( x e. D |-> B ) $.
    $( Value of a function given in maps-to notation.  Analogous to
       ~ fvopab4g .  (Contributed by set.mm contributors, 2-Oct-2007.)
       (Revised by set.mm contributors, 4-Aug-2008.) $)
    fvmptg $p |- ( ( A e. D /\ C e. R ) -> ( F ` A ) = C ) $=
      ( vy cmpt cv wcel wceq wa copab df-mpt eqtri fvopab4g ) AJBCDEFGHGAECKALE
      MJLCNOAJPIAJECQRS $.

    $( Value of a function given in maps-to notation.  (Contributed by Mario
       Carneiro, 23-Apr-2014.) $)
    fvmpti $p |- ( A e. D -> ( F ` A ) = ( _I ` C ) ) $=
      ( wcel cvv cfv cid wceq wa fvmptg fvi adantl eqtr4d wn c0 cv eleq1d dmmpt
      cdm elrab2 baib notbid ndmfv syl6bir imp fvprc pm2.61dan ) BEIZDJIZBFKZDL
      KZMUMUNNUODUPABCDEJFGHOUNUPDMUMDJPQRUMUNSZNUOTUPUMUQUOTMZUMUQBFUDZIZSURUM
      UTUNUTUMUNCJIUNABEUSAUABMCDJGUBAECFHUCUEUFUGBFUHUIUJUQUPTMUMDLUKQRUL $.

    ${
      fvmpt.3 $e |- C e. _V $.
      $( Value of a function given in maps-to notation.  (Contributed by set.mm
         contributors, 17-Aug-2011.) $)
      fvmpt $p |- ( A e. D -> ( F ` A ) = C ) $=
        ( wcel cvv cfv wceq fvmptg mpan2 ) BEJDKJBFLDMIABCDEKFGHNO $.
    $}
  $}

  ${
    $d y A $.  $d y B $.  $d x y C $.
    fvmpts.1 $e |- F = ( x e. C |-> B ) $.
    $( Value of a function given in maps-to notation, using explicit class
       substitution.  (Contributed by Scott Fenton, 17-Jul-2013.)  (Revised by
       Mario Carneiro, 31-Aug-2015.) $)
    fvmpts $p |- ( ( A e. C /\ [_ A / x ]_ B e. V ) ->
        ( F ` A ) = [_ A / x ]_ B ) $=
      ( vy cv csb csbeq1 cmpt nfcv nfcsb1v csbeq1a cbvmpt eqtri fvmptg ) HBAHIZ
      CJZABCJDFEASBCKEADCLHDTLGAHDCTHCMASCNASCOPQR $.
  $}

  ${
    $d x A $.  $d x C $.  $d x D $.  $d x ph $.
    fvmptd.1 $e |- ( ph -> F = ( x e. D |-> B ) ) $.
    fvmptd.2 $e |- ( ( ph /\ x = A ) -> B = C ) $.
    fvmptd.3 $e |- ( ph -> A e. D ) $.
    fvmptd.4 $e |- ( ph -> C e. V ) $.
    $( Deduction version of ~ fvmpt .  (Contributed by Scott Fenton,
       18-Feb-2013.)  (Revised by Mario Carneiro, 31-Aug-2015.) $)
    fvmptd $p |- ( ph -> ( F ` A ) = C ) $=
      ( cfv cmpt csb fveq1d wcel wceq csbied eqeltrd eqid fvmpts syl2anc 3eqtrd
      ) ACGMCBFDNZMZBCDOZEACGUEIPACFQUGHQUFUGRKAUGEHABCDEFKJSZLTBCDFUEHUEUAUBUC
      UHUD $.
  $}

  ${
    $d x y A $.  $d y B $.
    fvmpt2.1 $e |- F = ( x e. A |-> B ) $.
    $( Value of a function given by the "maps to" notation.  (Contributed by
       Mario Carneiro, 23-Apr-2014.) $)
    fvmpt2i $p |- ( x e. A -> ( F ` x ) = ( _I ` B ) ) $=
      ( vy csb wceq csbeq1 csbid syl6eq cmpt nfcv nfcsb1v csbeq1a cbvmpt fvmpti
      cv eqtri ) FARZAFRZCGZCBDUATHUBATCGCAUATCIACJKDABCLFBUBLEAFBCUBFCMAUACNAU
      ACOPSQ $.

    $( Value of a function given by the "maps to" notation.  (Contributed by
       FL, 21-Jun-2010.) $)
    fvmpt2 $p |- ( ( x e. A /\ B e. C ) -> ( F ` x ) = B ) $=
      ( cv wcel cfv cid fvmpt2i fvi sylan9eq ) AGZBHCDHNEICJICABCEFKCDLM $.

    $d x y C $.  $d y D $.  $d y F $.
    $( If all the values of the mapping are subsets of a class ` C ` , then so
       is any evaluation of the mapping, even if ` D ` is not in the base set
       ` A ` .  (Contributed by Mario Carneiro, 13-Feb-2015.) $)
    fvmptss $p |- ( A. x e. A B C_ C -> ( F ` D ) C_ C ) $=
      ( vy wss wcel cfv cv wi wceq fveq2 sseq1d imbi2d nfcv wa c0 dmmptss sseli
      wral cdm nfra1 cmpt nfmpt1 nfcxfr nffv nfss nfim cvv dmmpt rabeq2i fvmpt2
      eqimss syl sylbi ndmfv 0ss a1i eqsstrd pm2.61i rsp impcom syl5ss vtoclgaf
      wn ex vtoclga sylan2 adantl pm2.61dan ) CDIZABUCZEFUDZJZEFKZDIZVQVOEBJZVS
      VPBEABCFGUAUBVTVOVSVOHLZFKZDIZMZVOVSMHEBWAENZWCVSVOWEWBVRDWAEFOPQVOALZFKZ
      DIZMWDAWABAWARZVOWCAVNABUEAWBDAWAFAFABCUFGABCUGUHWIUIADRUJUKWFWANZWHWCVOW
      JWGWBDWFWAFOPQWFBJZVOWHWKVOSWGCDWFVPJZWGCIZWLWKCULJZSZWMWNAVPBABCFGUMUNWO
      WGCNWMABCULFGUOWGCUPUQURWLVHZWGTCWFFUSTCIWPCUTVAVBVCVOWKVNVNABVDVEVFVIVGV
      JVEVKVOVQVHZSZVRTDWQVRTNVOEFUSVLTDIWRDUTVAVBVM $.

  $}

  ${
    $d x y A $.  $d x y F $.
    $( Representation of a function in terms of its values.  (Contributed by
       FL, 14-Sep-2013.)  (Revised by Mario Carneiro, 16-Dec-2013.) $)
    dffn5v $p |- ( F Fn A <-> F = ( x e. A |-> ( F ` x ) ) ) $=
      ( vy wfn cv wcel cfv wceq wa copab cmpt dffn5 df-mpt eqeq2i bitr4i ) CBEC
      AFZBGDFQCHZIJADKZICABRLZIADBCMTSCADBRNOP $.

  $}

  ${
    $d x y z A $.  $d x y z B $.  $d x y z F $.
    $( Representation of a function in terms of its values.  (Contributed by
       Mario Carneiro, 23-Dec-2013.) $)
    fnov2 $p |- ( F Fn ( A X. B ) <->
                    F = ( x e. A , y e. B |-> ( x F y ) ) ) $=
      ( vz cxp wfn cv wcel wa co wceq coprab cmpt2 fnov df-mpt2 eqeq2i bitr4i )
      ECDGHEAIZCJBIZDJKFITUAELZMKABFNZMEABCDUBOZMABFCDEPUDUCEABFCDUBQRS $.

  $}
  ${
    $d w x y z A $.  $d w y z B $.  $d w x y C $.  $d w z D $.
    mpt2mpt.1 $e |- ( z = <. x , y >. -> C = D ) $.
    $( Express a two-argument function as a one-argument function, or
       vice-versa.  In this version ` B ( x ) ` is not assumed to be constant
       w.r.t ` x ` .  (Contributed by Mario Carneiro, 29-Dec-2014.) $)
    mpt2mptx $p |- ( z e. U_ x e. A ( { x } X. B ) |-> C ) =
      ( x e. A , y e. B |-> D ) $=
      ( vw cv csn cxp ciun cmpt wcel wceq wa copab wex eqtr4i df-mpt coprab cop
      cmpt2 df-mpt2 eliunxp anbi1i 19.41vv eqeq2d anbi2d pm5.32i 2exbii 3bitr2i
      anass bitri opabbii dfoprab2 ) CADAJZKELMZFNCJZUSOZIJZFPZQZCIRZABDEGUDZCI
      USFUAVFURDOBJZEOQZVBGPZQZABIUBZVEABIDEGUEVEUTURVGUCPZVJQZBSASZCIRVKVDVNCI
      VDVLVHQZBSASZVCQVOVCQZBSASVNVAVPVCABDEUTUFUGVOVCABUHVQVMABVQVLVHVCQZQVMVL
      VHVCUNVLVRVJVLVCVIVHVLFGVBHUIUJUKUOULUMUPVJABICUQTTT $.

    $d x B $.
    $( Express a two-argument function as a one-argument function, or
       vice-versa.  (Contributed by Mario Carneiro, 17-Dec-2013.)  (Revised by
       Mario Carneiro, 29-Dec-2014.) $)
    mpt2mpt $p |- ( z e. ( A X. B ) |-> C ) = ( x e. A , y e. B |-> D ) $=
      ( cv csn cxp ciun cmpt cmpt2 wceq iunxpconst mpteq1 ax-mp mpt2mptx eqtr3i
      ) CADAIJEKLZFMZCDEKZFMZABDEGNUAUCOUBUDOADEPCUAUCFQRABCDEFGHST $.
  $}

  ${
    $d x y z $.  $d z A $.  $d z B $.  $d z C $.  $d z F $.
    ovmpt4g.3 $e |- F = ( x e. A , y e. B |-> C ) $.
    $( Value of a function given by the "maps to" notation.  (This is the
       operation analog of ~ fvmpt2 .)  (Contributed by NM, 21-Feb-2004.)
       (Revised by Mario Carneiro, 1-Sep-2015.) $)
    ovmpt4g $p |- ( ( x e. A /\ y e. B /\ C e. V ) -> ( x F y ) = C ) $=
      ( vz cv wcel co wceq wex wa elisset wmo moeq a1i cmpt2 coprab eqtri ovidi
      df-mpt2 eqeq2 mpbidi exlimdv syl5 3impia ) AJZCKZBJZDKZEGKZUJULFLZEMZUNIJ
      ZEMZINUKUMOZUPIEGPUSURUPIURUOUQMUPUSURABICDFURIQUSIERSFABCDETUSUROABIUAHA
      BICDEUDUBUCUQEUOUEUFUGUHUI $.
  $}

  ${
    $d x y C $.  $d x y D $.
    ov2gf.a $e |- F/_ x A $.
    ov2gf.c $e |- F/_ y A $.
    ov2gf.d $e |- F/_ y B $.
    ov2gf.1 $e |- F/_ x G $.
    ov2gf.2 $e |- F/_ y S $.
    ov2gf.3 $e |- ( x = A -> R = G ) $.
    ov2gf.4 $e |- ( y = B -> G = S ) $.
    ov2gf.5 $e |- F = ( x e. C , y e. D |-> R ) $.
    $( The value of an operation class abstraction.  A version of ~ ovmpt2g
       using bound-variable hypotheses.  (Contributed by NM, 17-Aug-2006.)
       (Revised by Mario Carneiro, 19-Dec-2013.) $)
    ov2gf $p |- ( ( A e. C /\ B e. D /\ S e. H ) -> ( A F B ) = S ) $=
      ( wcel co wceq cvv wa elex cv wi nfel1 nfmpt21 nfcxfr nfcv nfov nfeq nfim
      cmpt2 nfmpt22 eleq1d oveq1 eqeq12d imbi12d oveq2 ovmpt4g 3expia vtocl2gaf
      syl5 3impia ) CETZDFTZHKTZCDIUAZHUBZVIHUCTZVGVHUDVKHKUEGUCTZAUFZBUFZIUAZG
      UBZUGJUCTZCVOIUAZJUBZUGVLVKUGABCDEFLMNVRVTAAJUCOUHAVSJACVOILAIABEFGUOZSAB
      EFGUIUJAVOUKULOUMUNVLVKBBHUCPUHBVJHBCDIMBIWASABEFGUPUJNULPUMUNVNCUBZVMVRV
      QVTWBGJUCQUQWBVPVSGJVNCVOIURQUSUTVODUBZVRVLVTVKWCJHUCRUQWCVSVJJHVODCIVARU
      SUTVNETVOFTVMVQABEFGIUCSVBVCVDVEVF $.
  $}

  ${
    $d A x y z $.  $d B x y z $.  $d C x y z $.  $d L x y z $.  $d D z $.
    $d R z $.  $d S x y z $.
    ovmpt2x.1 $e |- ( ( x = A /\ y = B ) -> R = S ) $.
    ovmpt2x.2 $e |- ( x = A -> D = L ) $.
    ovmpt2x.3 $e |- F = ( x e. C , y e. D |-> R ) $.
    $( The value of an operation class abstraction.  Variant of ~ ovmpt2ga
       which does not require ` D ` and ` x ` to be distinct.  (Contributed by
       Jeff Madsen, 10-Jun-2010.)  (Revised by Mario Carneiro, 20-Dec-2013.) $)
    ovmpt2x $p |- ( ( A e. C /\ B e. L /\ S e. H ) -> ( A F B ) = S ) $=
      ( vz wcel w3a wa wceq cv co 3simpa eqeq2d biimp3ar biantrud eleq1d eleq2d
      wb simpl eleq1 sylan9bb anbi12d 3adant3 bitr3d moani cmpt2 coprab df-mpt2
      moeq eqtri ovigg mpd ) CEPZDKPZHJPZQVCVDRZCDIUAHSVCVDVEUBATZEPZBTZFPZRZOT
      ZGSZRZVFABOCDHIEKJVGCSZVIDSZVLHSZQZVKVNVFVRVMVKVOVPVMVQVOVPRZGHVLLUCUDUEV
      OVPVKVFUHVQVSVHVCVJVDVSVGCEVOVPUIUFVOVJVIKPVPVDVOFKVIMUGVIDKUJUKULUMUNVMV
      KOOGUSUOIABEFGUPVNABOUQNABOEFGURUTVAVB $.
  $}

  ${
    $d x y z A $.  $d x y z B $.  $d x y z C $.  $d x y z D $.  $d z R $.
    $d x y z S $.
    ovmpt2ga.1 $e |- ( ( x = A /\ y = B ) -> R = S ) $.
    ovmpt2ga.2 $e |- F = ( x e. C , y e. D |-> R ) $.
    $( Value of an operation given by a maps-to rule.  Equivalent to ~ ov2ag .
       (Contributed by Mario Carneiro, 19-Dec-2013.) $)
    ovmpt2ga $p |- ( ( A e. C /\ B e. D /\ S e. H ) -> ( A F B ) = S ) $=
      ( vz cmpt2 cv wcel wa wceq coprab df-mpt2 eqtri ov2ag ) ABMCDEFGHIJKIABEF
      GNAOEPBOFPQMOGRQABMSLABMEFGTUAUB $.

    ${
      ovmpt2a.4 $e |- S e. _V $.
      $( Value of an operation given by a maps-to rule.  Equivalent to
         ~ ov2ag .  (Contributed by set.mm contributors, 19-Dec-2013.) $)
      ovmpt2a $p |- ( ( A e. C /\ B e. D ) -> ( A F B ) = S ) $=
        ( wcel cvv co wceq ovmpt2ga mp3an3 ) CEMDFMHNMCDIOHPLABCDEFGHINJKQR $.
    $}
  $}

  ${
    $d x y A $.  $d B y $.  $d x C y $.  $d x D y $.  $d x G $.  $d y S $.
    $d x S $.  $d B x $.
    ovmpt2g.1 $e |- ( x = A -> R = G ) $.
    ovmpt2g.2 $e |- ( y = B -> G = S ) $.
    ovmpt2g.3 $e |- F = ( x e. C , y e. D |-> R ) $.
    $( Value of an operation given by a maps-to rule.  (Unnecessary distinct
       variable restrictions were removed by David Abernethy, 19-Jun-2012.)
       (Contributed by set.mm contributors, 2-Oct-2007.)  (Revised by set.mm
       contributors, 24-Jul-2012.) $)
    ovmpt2g $p |- ( ( A e. C /\ B e. D /\ S e. H ) -> ( A F B ) = S ) $=
      ( cv wceq sylan9eq ovmpt2ga ) ABCDEFGHIKAOCPBODPGJHLMQNR $.

    ${
      ovmpt2.4 $e |- S e. _V $.
      $( Value of an operation given by a maps-to rule.  Equivalent to ov2 in
         set.mm.  (Contributed by set.mm contributors, 12-Sep-2011.) $)
      ovmpt2 $p |- ( ( A e. C /\ B e. D ) -> ( A F B ) = S ) $=
        ( wcel cvv co wceq ovmpt2g mp3an3 ) CEODFOHPOCDIQHRNABCDEFGHIJPKLMST $.
    $}
  $}

  ${
    $d A y z $.  $d B z $.  $d C z $.  $d x y z $.
    rngop.1 $e |- F = ( x e. A , y e. B |-> C ) $.
    $( The range of an operation given by the "maps to" notation.  (Contributed
       by FL, 20-Jun-2011.) $)
    rnmpt2 $p |- ran F = { z | E. x e. A E. y e. B z = C } $=
      ( crn cv wcel wa wceq coprab wex cab wrex cmpt2 df-mpt2 eqtri r2ex bicomi
      rneqi rnoprab abbii 3eqtri ) GIAJDKBJEKLCJFMZLZABCNZIUHBOAOZCPUGBEQADQZCP
      GUIGABDEFRUIHABCDEFSTUCUHABCUDUJUKCUKUJUGABDEUAUBUEUF $.

  $}

  ${
    $d x y $.  $d y B $.
    $( Function with universal domain in maps-to notation.  (Contributed by
       set.mm contributors, 16-Aug-2013.) $)
    mptv $p |- ( x e. _V |-> B ) = { <. x , y >. | y = B } $=
      ( cvv cmpt cv wcel wceq wa copab df-mpt vex biantrur opabbii eqtr4i ) ADC
      EAFDGZBFCHZIZABJQABJABDCKQRABPQALMNO $.
  $}

  ${
    $d x z $.  $d y z $.  $d z C $.
    $( Operation with universal domain in maps-to notation.  (Contributed by
       set.mm contributors, 16-Aug-2013.) $)
    mpt2v $p |- ( x e. _V , y e. _V |-> C )
                     = { <. <. x , y >. , z >. | z = C } $=
      ( cvv cmpt2 cv wcel wa coprab df-mpt2 vex pm3.2i biantrur oprabbii eqtr4i
      wceq ) ABEEDFAGEHZBGEHZIZCGDQZIZABCJUAABCJABCEEDKUAUBABCTUARSALBLMNOP $.
  $}

  ${
    $d A x y $.
    $( The restricted identity expressed with the "maps to" notation.
       (Contributed by FL, 25-Apr-2012.) $)
    mptresid $p |- ( x e. A |-> x ) = ( _I |` A ) $=
      ( vy cv cmpt wcel weq wa copab cid cres df-mpt opabresid eqtri ) ABADZEOB
      FCAGHACIJBKACBOLACBMN $.
  $}

  ${
    $d x y A $.  $d y B $.  $d y C $.
    fvmptex.1 $e |- F = ( x e. A |-> B ) $.
    fvmptex.2 $e |- G = ( x e. A |-> ( _I ` B ) ) $.
    $( Express a function ` F ` whose value ` B ` may not always be a set in
       terms of another function ` G ` for which sethood is guaranteed.  (Note
       that ` ( _I `` B ) ` is just shorthand for
       ` if ( B e. _V , B , (/) ) ` , and it is always a set by ~ fvex .)  Note
       also that these functions are not the same; wherever ` B ( C ) ` is not
       a set, ` C ` is not in the domain of ` F ` (so it evaluates to the empty
       set), but ` C ` is in the domain of ` G ` , and ` G ( C ) ` is defined
       to be the empty set.  (Contributed by Mario Carneiro, 14-Jul-2013.)
       (Revised by Mario Carneiro, 23-Apr-2014.) $)
    fvmptex $p |- ( F ` C ) = ( G ` C ) $=
      ( vy wcel cfv wceq csb cid cv cmpt nfcv cbvmpt eqtri c0 nfcsb1v nffv fvex
      csbeq1 csbeq1a fvmpti fveq2d fvmpt eqtr4d wn cdm sseli con3i ndmfv dmmpti
      dmmptss syl eleq2i sylnbir pm2.61i ) DBJZDEKZDFKZLVAVBADCMZNKZVCIDAIOZCMZ
      VDBEAVFDCUDZEABCPIBVGPGAIBCVGICQAVFCUAZAVFCUEZRSUFIDVGNKZVEBFVFDLVGVDNVHU
      GFABCNKZPIBVKPHAIBVLVKIVLQAVGNANQVIUBAOVFLCVGNVJUGRSVDNUCUHUIVAUJZVBTVCVM
      DEUKZJZUJVBTLVOVAVNBDABCEGUPULUMDEUNUQVADFUKZJVCTLVPBDABVLFCNUCHUOURDFUNU
      SUIUT $.
  $}

  ${
    $d x D $.
    fvmptf.1 $e |- F/_ x A $.
    fvmptf.2 $e |- F/_ x C $.
    fvmptf.3 $e |- ( x = A -> B = C ) $.
    fvmptf.4 $e |- F = ( x e. D |-> B ) $.
    $( Value of a function given by an ordered-pair class abstraction.  This
       version of ~ fvmptg uses bound-variable hypotheses instead of distinct
       variable conditions.  (Contributed by NM, 8-Nov-2005.)  (Revised by
       Mario Carneiro, 15-Oct-2016.) $)
    fvmptf $p |- ( ( A e. D /\ C e. V ) -> ( F ` A ) = C ) $=
      ( wcel cfv wceq cvv elex cv wi nfel1 cmpt nfmpt1 nfcxfr nffv eleq1d fveq2
      nfeq nfim eqeq12d imbi12d fvmpt2 ex vtoclgaf syl5 imp ) BELZDGLZBFMZDNZUP
      DOLZUOURDGPCOLZAQZFMZCNZRUSURRABEHUSURAADOISAUQDABFAFAECTKAECUAUBHUCIUFUG
      VABNZUTUSVCURVDCDOJUDVDVBUQCDVABFUEJUHUIVAELUTVCAECOFKUJUKULUMUN $.

    $( The value of a function given by an ordered-pair class abstraction is
       the empty set when the class it would otherwise map to is a proper
       class.  This version of ~ fvmptn uses bound-variable hypotheses instead
       of distinct variable conditions.  (Contributed by NM, 21-Oct-2003.)
       (Revised by Mario Carneiro, 11-Sep-2015.) $)
    fvmptnf $p |- ( -. C e. _V -> ( F ` A ) = (/) ) $=
      ( cvv wcel wn cdm cfv c0 wceq dmmptss sseli cid cmpt eqid fvmptex fvex cv
      nfcv nffv fveq2d fvmptf mpan2 syl5eq fvprc sylan9eq expcom ndmfv pm2.61d1
      syl5 ) DKLMZBFNZLZBFOZPQZUTBELZURVBUSEBAECFJRSVCURVBVCURVADTOZPVCVABAECTO
      ZUAZOZVDAECBFVFJVFUBZUCVCVDKLVGVDQDTUDABVEVDEVFKGADTATUFHUGAUEBQCDTIUHVHU
      IUJUKDTULUMUNUQBFUOUP $.
  $}

  ${
    $d x A $.  $d x C $.  $d x D $.
    fvmptn.1 $e |- ( x = D -> B = C ) $.
    fvmptn.2 $e |- F = ( x e. A |-> B ) $.
    $( This somewhat non-intuitive theorem tells us the value of its function
       is the empty set when the class ` C ` it would otherwise map to is a
       proper class.  This is a technical lemma that can help eliminate
       redundant sethood antecedents otherwise required by ~ fvmptg .
       (Contributed by NM, 21-Oct-2003.)  (Revised by Mario Carneiro,
       9-Sep-2013.) $)
    fvmptn $p |- ( -. C e. _V -> ( F ` D ) = (/) ) $=
      ( nfcv fvmptnf ) AECDBFAEIADIGHJ $.

    $( A mapping always evaluates to a subset of the substituted expression in
       the mapping, even if this is a proper class, or we are out of the
       domain.  (Contributed by Mario Carneiro, 13-Feb-2015.) $)
    fvmptss2 $p |- ( F ` D ) C_ C $=
      ( cdm wcel cfv wss cvv wa cv wceq eleq1d dmmpt elrab2 c0 fvmptg syl sylbi
      eqimss wn ndmfv 0ss a1i eqsstrd pm2.61i ) EFIZJZEFKZDLZULEBJDMJZNZUNCMJUO
      AEBUKAOEPCDMGQABCFHRSUPUMDPUNAECDBMFGHUAUMDUDUBUCULUEZUMTDEFUFTDLUQDUGUHU
      IUJ $.
  $}

  ${
    $d x y A $.  $d x y B $.  $d y C $.  $d x D $.  $d x y ph $.
    f1od.1 $e |- F = ( x e. A |-> C ) $.
    ${
      f1od.2 $e |- ( ( ph /\ x e. A ) -> C e. W ) $.
      f1od.3 $e |- ( ( ph /\ y e. B ) -> D e. X ) $.
      f1od.4 $e |- ( ph -> ( ( x e. A /\ y = C ) <-> ( y e. B /\ x = D ) ) ) $.
      $( Describe an implicit one-to-one onto function.  (Contributed by Mario
         Carneiro, 12-May-2014.) $)
      f1od $p |- ( ph -> F : A -1-1-onto-> B ) $=
        ( wfn ccnv wcel wral ralrimiva copab wf1o fnmpt cmpt eqid wceq opabbidv
        cv wa df-mpt eqtri cnveqi cnvopab 3eqtr4g fneq1d mpbird dff1o4 sylanbrc
        syl ) AHDOZHPZEOZDEHUAAFIQZBDRUSAVBBDLSBDFHIKUBURAVACEGUCZEOZAGJQZCERVD
        AVECEMSCEGVCJVCUDUBURAEUTVCABUGZDQCUGZFUEUHZCBTZVGEQVFGUEUHZCBTUTVCAVHV
        JCBNUFUTVHBCTZPVIHVKHBDFUCVKKBCDFUIUJUKVHBCULUJCBEGUIUMUNUODEHUPUQ $.
    $}

    f1o2d.2 $e |- ( ( ph /\ x e. A ) -> C e. B ) $.
    f1o2d.3 $e |- ( ( ph /\ y e. B ) -> D e. A ) $.
    f1o2d.4 $e |- ( ( ph /\ ( x e. A /\ y e. B ) ) ->
                    ( x = D <-> y = C ) ) $.
    $( Describe an implicit one-to-one onto function.  (Contributed by Mario
       Carneiro, 12-May-2014.) $)
    f1o2d $p |- ( ph -> F : A -1-1-onto-> B ) $=
      ( cv wcel wceq wa wi eleq1a syl impr biimpar exp42 com34 imp32 jcai com23
      biimpa impbida f1od ) ABCDEFGHEDIJKABMZDNZCMZFOZPZULENZUJGOZPZAUNPUOUPAUK
      UMUOAUKPFENUMUOQJFEULRSTAUKUMUOUPQAUKUOUMUPAUKUOUMUPAUKUOPPZUPUMLUAUBUCUD
      UEAUQPUKUMAUOUPUKAUOPGDNUPUKQKGDUJRSTAUOUPUKUMQAUOUKUPUMAUKUOUPUMQAUKUOUP
      UMURUPUMLUGUBUFUCUDUEUHUI $.
  $}

  ${
    $d x y z w $.
    $( Alternate definition of ` Swap ` as an operator abstraction.
       (Contributed by SF, 23-Feb-2015.) $)
    dfswap3 $p |- Swap = { <. <. x , y >. , z >. | z = <. y , x >. } $=
      ( vw cswap cv cop wceq wa wex copab coprab df-swap dfoprab2 eqtr4i ) EDFA
      FZBFZGHCFQPGHZIBJAJDCKRABCLDCABMRABCDNO $.

    $( Alternate definition of ` Swap ` as an operator mapping.  (Contributed
       by SF, 23-Feb-2015.) $)
    dfswap4 $p |- Swap = ( x e. _V , y e. _V |-> <. y , x >. ) $=
      ( vz cswap cv cop wceq coprab cvv cmpt2 dfswap3 mpt2v eqtr4i ) DCEBEAEFZG
      ABCHABIINJABCKABCNLM $.
  $}

  ${
    $d v w x y z A $.  $d v w y z B $.  $d v w z C $.  $d v w x y z D $.
    fmpt2x.1 $e |- F = ( x e. A , y e. B |-> C ) $.
    $( Functionality, domain and codomain of a class given by the "maps to"
       notation, where ` B ( x ) ` is not constant but depends on ` x ` .
       (Contributed by NM, 29-Dec-2014.) $)
    fmpt2x $p |- ( A. x e. A A. y e. B C e. D <->
      F : U_ x e. A ( { x } X. B ) --> D ) $=
      ( vz vw vv cv csb wcel wral wceq eleq1d wa nfv nfcsb1v csn ciun c1st c2nd
      cxp wf cfv cop op1std csbeq1d op2ndd csbeq2dv eqtrd raliunxp cmpt2 coprab
      cmpt nfcri nfan nfeq2 nfcv nfcsb wb eleq1 adantr csbeq1a eleq2d sylan9bbr
      anbi12d sylan9eqr eqeq2d cbvoprab12 df-mpt2 3eqtr4i mpt2mptx bitr3i nfel1
      fmpt nfral cbvral raleqbidv syl5bb nfxp sneq xpeq12d cbviun feq2i 3bitr4i
      vex ) AILZBJLZEMZMZFNZJAWJDMZOZICOZICWJUAZWOUEZUBZFGUFZEFNZBDOZACOACALZUA
      ZDUEZUBZFGUFWQAKLZUCUGZBXHUDUGZEMZMZFNZKWTOXAXMWNKIJCWOXHWJWKUHPZXLWMFXNX
      LAWJXKMWMXNAXIWJXKWJWKXHIWIZJWIZUIUJXNAWJXKWLXNBXJWKEWJWKXHXOXPUKUJULUMZQ
      UNKWTFXLGABCDEUOZIJCWOWMUOZGKWTXLUQXDCNZBLZDNZRZXHEPZRZABKUPWJCNZWKWONZRZ
      XHWMPZRZIJKUPXRXSYEYJABKIJYEISYEJSYHYIAYFYGAYFASAJWOAWJDTZURUSAXHWMAWJWLT
      ZUTUSYHYIBYHBSBXHWMBAWJWLBWJVABWKETZVBUTUSXDWJPZYAWKPZRZYCYHYDYIYPXTYFYBY
      GYNXTYFVCYOXDWJCVDVEYOYBWKDNYNYGYAWKDVDYNDWOWKAWJDVFZVGVHVIYPEWMXHYOYNEWL
      WMBWKEVFZAWJWLVFZVJVKVIVLABKCDEVMIJKCWOWMVMVNHIJKCWOXLWMXQVOVNVRVPXCWPAIC
      XCISWNAJWOYKAWMFYLVQVSXCWLFNZJDOYNWPXBYTBJDXBJSBWLFYMVQYOEWLFYRQVTYNYTWNJ
      DWOYQYNWLWMFYSQWAWBVTXGWTFGAICXFWSIXFVAAWRWOAWRVAYKWCYNXEWRDWOXDWJWDYQWEW
      FWGWH $.
  $}

  ${
    $d A x y $.  $d B x y $.  $d D x y $.
    fmpt2.1 $e |- F = ( x e. A , y e. B |-> C ) $.
    $( Functionality, domain and range of a class given by the "maps to"
       notation.  (Contributed by FL, 17-May-2010.) $)
    fmpt2 $p |- ( A. x e. A A. y e. B C e. D <-> F : ( A X. B ) --> D ) $=
      ( wcel wral cv csn cxp ciun wf fmpt2x iunxpconst feq2i bitri ) EFIBDJACJA
      CAKLDMNZFGOCDMZFGOABCDEFGHPTUAFGACDQRS $.

    $( Functionality and domain of a class given by the "maps to" notation.
       (Contributed by FL, 17-May-2010.) $)
    fnmpt2 $p |- ( A. x e. A A. y e. B C e. V -> F Fn ( A X. B ) ) $=
      ( wcel wral cvv cxp wfn elex ralimi wf fmpt2 dffn2 bitr4i sylib ) EGIZBDJ
      ZACJEKIZBDJZACJZFCDLZMZUBUDACUAUCBDEGNOOUEUFKFPUGABCDEKFHQUFFRST $.

    fnmpt2i.2 $e |- C e. _V $.
    $( Functionality and domain of a class given by the "maps to" notation.
       (Contributed by FL, 17-May-2010.) $)
    fnmpt2i $p |- F Fn ( A X. B ) $=
      ( cvv wcel wral cxp wfn rgen2w fnmpt2 ax-mp ) EIJZBDKACKFCDLMQABCDHNABCDE
      FIGOP $.

    $( Domain of a class given by the "maps to" notation.  (Contributed by FL,
       17-May-2010.) $)
    dmmpt2 $p |- dom F = ( A X. B ) $=
      ( cxp wfn cdm wceq fnmpt2i fndm ax-mp ) FCDIZJFKPLABCDEFGHMPFNO $.
  $}
  
$(
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
        Set construction lemmas
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
$)

  $c (x) $. $( Tail cross product $)
  $c Fix $. $( Fixed points $)
  $c Image $. $( Image function $)
  $c Cup $. $( Cup function $)
  $c Disj $. $( Disjointedness relationship. $)
  $c AddC $. $( Cardinal sum function. $)
  $c Ins2 $. $( Second insertion operation $)
  $c Ins3 $. $( Third insertion operation $)
  $c Ins4 $. $( Fourth insertion operation $)
  $c SI_3 $. $( Triple singleton image. $)
  $c Funs $. $( Class of functions. $)
  $c Fns $. $( Function with domain relationship. $)
  $c PProd $. $( Parallel product. $)
  $c Cross $. $( Cross product function. $)
  $c Compose $. $( Composition function. $)
  $c Pw1Fn $. $( The unit power class function. $)
  $c FullFun $. $( The full function operation. $)
  $c Dom $. $( The domain function. $)
  $c Ran $. $( The range function. $)

  $( Extend the definition of a class to include the tail cross product. $)
  ctxp $a class ( A (x) B ) $.

  $( Define the tail cross product of two classes.  Definition from [Holmes]
     p. 40.  See ~ brtxp for membership.  (Contributed by SF, 9-Feb-2015.) $)
  df-txp $a |- ( A (x) B ) = ( ( `' 1st o. A ) i^i ( `' 2nd o. B ) ) $.

  $( Extend the definition of a class to include the parallel product
     operation. $)
  cpprod $a class PProd ( A , B ) $.

  $( Define the parallel product operation.  (Contributed by SF,
     9-Feb-2015.) $)
  df-pprod $a |- PProd ( A , B ) = ( ( A o. 1st ) (x) ( B o. 2nd ) ) $.

  $( Extend the definition of a class to include the fixed points of a
     relationship. $)
  cfix $a class Fix A $.

  $( Define the fixed points of a relationship.  (Contributed by SF,
     9-Feb-2015.) $)
  df-fix $a |- Fix A = ran ( A i^i _I ) $.

  $( Extend the definition of a class to include the cup function. $)
  ccup $a class Cup $.

  ${
    $d x y $.
    $( Define the cup function.  (Contributed by SF, 9-Feb-2015.) $)
    df-cup $a |- Cup = ( x e. _V , y e. _V |-> ( x u. y ) ) $.
  $}

  $( Extend the definition of a class to include the disjoint relationship. $)
  cdisj $a class Disj $.

  ${
    $d x y $.
    $( Define the relationship of all disjoint sets.  (Contributed by SF,
       9-Feb-2015.) $)
    df-disj $a |- Disj = { <. x , y >. | ( x i^i y ) = (/) } $.
  $}

  $( Extend the definition of a class to include the cardinal sum function. $)
  caddcfn $a class AddC $.

  ${
    $d x y $.
    $( Define the function representing cardinal sum.  (Contributed by SF,
       9-Feb-2015.) $)
    df-addcfn $a |- AddC = ( x e. _V , y e. _V |-> ( x +c y ) ) $.
  $}

  $( Extend the definition of a class to include the compostion function. $)
  ccompose $a class Compose $.

  ${
    $d x y $.
    $( Define the composition function.  (Contributed by Scott Fenton,
       19-Apr-2021.) $)
    df-compose $a |- Compose = ( x e. _V , y e. _V |-> ( x o. y ) ) $.
 $}

  $( Extend the definition of a class to include the second insertion
     operation. $)
  cins2 $a class Ins2 A $.

  $( Define the second insertion operation.  (Contributed by SF,
     9-Feb-2015.) $)
  df-ins2 $a |- Ins2 A = ( _V (x) A ) $.

  $( Extend the definition of a class to include the third insertion
     operation. $)
  cins3 $a class Ins3 A $.

  $( Define the third insertion operation.  (Contributed by SF, 9-Feb-2015.) $)
  df-ins3 $a |- Ins3 A = ( A (x) _V ) $.

  $( Extend the definition of a class to include the image function. $)
  cimage $a class Image A $.

  $( Define the image function of a class.  (Contributed by SF, 9-Feb-2015.)
     (Revised by Scott Fenton, 19-Apr-2021.) $)
  df-image $a |- Image A =
     ~ ( ( Ins2 _S (+) Ins3 ( _S o. `' SI A ) ) " 1c ) $.

  $( Extend the definition of a class to include the fourth insertion
     operation. $)
  cins4 $a class Ins4 A $.

  $( Define the fourth insertion operation.  (Contributed by SF,
     9-Feb-2015.) $)
  df-ins4 $a |- Ins4 A =
   ( `' ( 1st (x) ( ( 1st o. 2nd ) (x) ( ( 1st o. 2nd ) o. 2nd ) ) ) " A ) $.

  $( Extend the definition of a class to include the triple singleton image. $)
  csi3 $a class SI_3 A $.

  $( Define the triple singleton image.  (Contributed by SF, 9-Feb-2015.) $)
  df-si3 $a |- SI_3 A =
  ( ( SI 1st (x) ( SI ( 1st o. 2nd ) (x) SI ( 2nd o. 2nd ) ) ) " ~P1 A ) $.

  $( Extend the definition of a class to include the set of all functions. $)
  cfuns $a class Funs $.

  $( Define the class of all functions.  (Contributed by SF, 9-Feb-2015.) $)
  df-funs $a |- Funs = { f | Fun f } $.

  $( Extend the definition of a class to include the function with domain
     relationship. $)
  cfns $a class Fns $.

  ${
    $d f a $.
    $( Define the function with domain relationship.  (Contributed by SF,
       9-Feb-2015.) $)
    df-fns $a |- Fns = { <. f , a >. | f Fn a } $.
  $}

  $( Extend the definition of a class to include the cross product function. $)
  ccross $a class Cross $.

  ${
    $d x y $.
    $( Define the cross product function.  (Contributed by SF, 9-Feb-2015.) $)
    df-cross $a |- Cross = ( x e. _V , y e. _V |-> ( x X. y ) ) $.
  $}

  $( Extend the definition of a class to include the unit power class
     function. $)
  cpw1fn $a class Pw1Fn $.

  $( Define the function that takes a singleton to the unit power class of its
     member.  This function is defined in such a way as to ensure
     stratification.  (Contributed by SF, 9-Feb-2015.) $)
  df-pw1fn $a |- Pw1Fn = ( x e. 1c |-> ~P1 U. x ) $.

  $( Extend the definition of a class to include the full function
     operation. $)
  cfullfun $a class FullFun F $.

  $( Define the full function operator.  This is a function over ` _V ` that
     agrees with the function value of ` F ` at every point.  (Contributed by
     SF, 9-Feb-2015.) $)
  df-fullfun $a |- FullFun F =
   ( ( ( _I o. F ) \ ( ~ _I o. F ) ) u.
     ( ~ dom ( ( _I o. F ) \ ( ~ _I o. F ) ) X. { (/) } ) ) $.

  $( Extend the definition of a class to include the domain function. $)
  cdomfn $a class Dom $.

  $( Define the domain function.  This is a function wrapper for the domain
     operator.  (Contributed by Scott Fenton, 9-Aug-2019.) $)
  df-domfn $a |- Dom = ( x e. _V |-> dom x ) $.

  $( Extend the definition of a class to include the range function. $)
  cranfn $a class Ran $.

  $( Define the range function.  This is a function wrapper for the range
     operator.  (Contributed by Scott Fenton, 9-Aug-2019.) $)
  df-ranfn $a |- Ran = ( x e. _V |-> ran x ) $.

  ${
    $d A x y z w $.  $d B x y z w $.  $d R x y z w $.
    brsnsi.1 $e |- A e. _V $.
    brsnsi.2 $e |- B e. _V $.
    $( Binary relationship of singletons in a singleton image.  (Contributed by
       SF, 9-Feb-2015.) $)
    brsnsi $p |- ( { A } SI R { B } <-> A R B ) $=
      ( vx vy vz vw csn wbr cv wceq w3a wex snex eqeq1 eqcom vex bitri csi brab
      sneqb syl6bb 3anbi1d 2exbidv 3anbi2d df-si breq1 breq2 ceqsex2v ) AJZBJZC
      UAZKFLZAMZGLZBMZUOUQCKZNZGOFOZABCKZHLZUOJZMZILZUQJZMZUSNZGOFOUPVHUSNZGOFO
      VAHIULUMUNAPBPVCULMZVIVJFGVKVEUPVHUSVKVEULVDMZUPVCULVDQVLVDULMUPULVDRUOAF
      SUCTUDUEUFVFUMMZVJUTFGVMVHURUPUSVMVHUMVGMZURVFUMVGQVNVGUMMURUMVGRUQBGSUCT
      UDUGUFHIFGCUHUBUSAUQCKVBFGABDEUOAUQCUIUQBACUJUKT $.

    $( Ordered pair membership of singletons in a singleton image.
       (Contributed by SF, 9-Feb-2015.) $)
    opsnelsi $p |- ( <. { A } , { B } >. e. SI R <-> <. A , B >. e. R ) $=
      ( csn csi wbr cop wcel brsnsi df-br 3bitr3i ) AFZBFZCGZHABCHNOIPJABICJABC
      DEKNOPLABCLM $.

  $}

  ${
    $d A x $.  $d A y $.  $d B x $.  $d B y $.  $d R x $.  $d R y $.  $d x y $.
    brsnsi1.1 $e |- A e. _V $.
    $( Binary relationship of a singleton to an arbitrary set in a singleton
       image.  (Contributed by SF, 9-Mar-2015.) $)
    brsnsi1 $p |- ( { A } SI R B <-> E. x ( B = { x } /\ A R x ) ) $=
      ( vy csn csi wbr cv wceq w3a wex wa brsi excom eqcom vex bitri exbii
      sneqb 3anbi1i 3anass breq1 anbi2d ceqsexv ) BGZCDHIUGFJZGZKZCAJZGKZUHUKDI
      ZLZAMFMZULBUKDIZNZAMZFAUGCDOUOUNFMZAMURUNFAPUSUQAUSUHBKZULUMNZNZFMUQUNVBF
      UNUTULUMLVBUJUTULUMUJUIUGKUTUGUIQUHBFRUASUBUTULUMUCSTVAUQFBEUTUMUPULUHBUK
      DUDUEUFSTSS $.

    $( Binary relationship of an arbitrary set to a singleton in a singleton
       image.  (Contributed by SF, 9-Mar-2015.) $)
    brsnsi2 $p |- ( B SI R { A } <-> E. x ( B = { x } /\ x R A ) ) $=
      ( vy csn csi wbr cv wceq w3a wex wa brsi 3anass exbii 19.42v sneqb bitri
      eqcom anbi1i breq2 ceqsexv anbi2i ) CBGZDHICAJZGKZUFFJZGKZUGUIDIZLZFMZAMU
      HUGBDIZNZAMAFCUFDOUMUOAUMUHUJUKNZNZFMZUOULUQFUHUJUKPQURUHUPFMZNUOUHUPFRUS
      UNUHUSUIBKZUKNZFMUNUPVAFUJUTUKUJBUIKUTBUIESBUIUATUBQUKUNFBEUIBUGDUCUDTUET
      TQT $.

  $}

  ${
    $d A x $.  $d B x $.  $d C x $.  $d R x $.
    brco1st.1 $e |- A e. _V $.
    brco1st.2 $e |- B e. _V $.
    $( Binary relationship of composition with ` 1st ` .  (Contributed by SF,
       9-Feb-2015.) $)
    brco1st $p |- ( <. A , B >. ( R o. 1st ) C <-> A R C ) $=
      ( vx cop c1st ccom wbr cv wa wex wceq brco opbr1st eqcom bitri anbi1i
      exbii breq1 ceqsexv 3bitri ) ABHZCDIJKUEGLZIKZUFCDKZMZGNUFAOZUHMZGNACDKZG
      UECDIPUIUKGUGUJUHUGAUFOUJABUFEFQAUFRSTUAUHULGAEUFACDUBUCUD $.

    $( Binary relationship of composition with ` 2nd ` .  (Contributed by SF,
       9-Feb-2015.) $)
    brco2nd $p |- ( <. A , B >. ( R o. 2nd ) C <-> B R C ) $=
      ( vx cop c2nd ccom wbr cv wa wex wceq brco opbr2nd eqcom bitri anbi1i
      exbii breq1 ceqsexv 3bitri ) ABHZCDIJKUEGLZIKZUFCDKZMZGNUFBOZUHMZGNBCDKZG
      UECDIPUIUKGUGUJUHUGBUFOUJABUFEFQBUFRSTUAUHULGBFUFBCDUBUCUD $.
  $}

  $( Equality theorem for tail cross product.  (Contributed by Scott Fenton,
     31-Jul-2019.) $)
  txpeq1 $p |- ( A = B -> ( A (x) C ) = ( B (x) C ) ) $=
    ( wceq c1st ccnv ccom c2nd cin ctxp coeq2 ineq1d df-txp 3eqtr4g ) ABDZEFZAG
    ZHFCGZIPBGZRIACJBCJOQSRABPKLACMBCMN $.

  $( Equality theorem for tail cross product.  (Contributed by Scott Fenton,
     31-Jul-2019.) $)
  txpeq2 $p |- ( A = B -> ( C (x) A ) = ( C (x) B ) ) $=
    ( wceq c1st ccnv ccom c2nd cin ctxp coeq2 ineq2d df-txp 3eqtr4g ) ABDZEFCGZ
    HFZAGZIPQBGZICAJCBJORSPABQKLCAMCBMN $.

  ${
    $d A x $.  $d B x $.  $d B y $.  $d B z $.  $d C x $.  $d C z $.  $d R t $.
    $d R x $.  $d R y $.  $d R z $.  $d S t $.  $d S x $.  $d S y $.  $d S z $.
    $d t x $.  $d t y $.  $d t z $.  $d x y $.  $d x z $.  $d y z $.

    $( Trinary relationship over a tail cross product.  (Contributed by SF,
       13-Feb-2015.) $)
    trtxp $p |- ( A ( R (x) S ) <. B , C >. <-> ( A R B /\ A S C ) ) $=
      ( vy vz vt cop wbr cvv wcel wa brex wb cv breq2 wex weq 3bitri ctxp opexb
      vx anbi2i sylib anim12i anandi sylibr wi wceq breq1 anbi12d bibi12d opeq1
      imbi2d breq2d anbi1d opeq2 anbi2d c1st ccnv ccom c2nd cin breqi brin brco
      df-txp ancom brcnv vex opbr1st equcom bitri exbii ceqsexv opbr2nd anbi12i
      anbi1i vtocl2g vtoclg imp pm5.21nii ) ABCIZDEUAZJZAKLZBKLZCKLZMZMZABDJZAC
      EJZMZWFWGWDKLZMWKAWDWENWOWJWGBCUBUDUEWNWGWHMZWGWIMZMWKWLWPWMWQABDNACENUFW
      GWHWIUGUHWGWJWFWNOZWJUCPZWDWEJZWSBDJZWSCEJZMZOZUIWJWRUIUCAKWSAUJZXDWRWJXE
      WTWFXCWNWSAWDWEUKXEXAWLXBWMWSABDUKWSACEUKULUMUOWSFPZGPZIZWEJZWSXFDJZWSXGE
      JZMZOWSBXGIZWEJZXAXKMZOXDFGBCKKXFBUJZXIXNXLXOXPXHXMWSWEXFBXGUNUPXPXJXAXKX
      FBWSDQUQUMXGCUJZXNWTXOXCXQXMWDWSWEXGCBURUPXQXKXBXAXGCWSEQUSUMXIWSXHUTVAZD
      VBZVCVAZEVBZVDZJWSXHXSJZWSXHYAJZMXLWSXHWEYBDEVHVEWSXHXSYAVFYCXJYDXKYCWSHP
      ZDJZYEXHXRJZMZHRHFSZYFMZHRXJHWSXHXRDVGYHYJHYHYGYFMYJYFYGVIYGYIYFYGXHYEUTJ
      FHSYIYEXHUTVJXFXGYEFVKZGVKZVLFHVMTVSVNVOYFXJHXFYKYEXFWSDQVPTYDWSYEEJZYEXH
      XTJZMZHRHGSZYMMZHRXKHWSXHXTEVGYOYQHYOYNYMMYQYMYNVIYNYPYMYNXHYEVCJGHSYPYEX
      HVCVJXFXGYEYKYLVQGHVMTVSVNVOYMXKHXGYLYEXGWSEQVPTVRTVTWAWBWC $.
  $}

  $( Ordered triple membership in a tail cross product.  (Contributed by SF,
     13-Feb-2015.) $)
  oteltxp $p |- ( <. A , <. B , C >. >. e. ( R (x) S ) <->
       ( <. A , B >. e. R /\ <. A , C >. e. S ) ) $=
    ( cop ctxp wbr wa wcel trtxp df-br anbi12i 3bitr3i ) ABCFZDEGZHABDHZACEHZIA
    OFPJABFDJZACFEJZIABCDEKAOPLQSRTABDLACELMN $.

  ${
    $d A x $.  $d A y $.  $d B x $.  $d B y $.  $d R x $.  $d R y $.  $d S x $.
    $d S y $.  $d B w $.  $d B z $.  $d w x $.  $d w y $.  $d w z $.  $d x y $.
    $d x z $.  $d y z $.
    $( Binary relationship over a tail cross product.  (Contributed by SF,
       11-Feb-2015.) $)
    brtxp $p |- ( A ( R (x) S ) B <->
       E. x E. y ( B = <. x , y >. /\ A R x /\ A S y ) ) $=
      ( vz vw wbr cv c1st ccnv wa c2nd wex cop wceq ccom bitri weq ctxp w3a cin
      brin anbi12i df-txp breqi eeanv 3bitr4i an4 ancom brcnv br1st br2nd eqtr2
      brco vex opth simplbi eqcomd opeq1d wb eqeq1 adantl mpbird exlimivv opeq2
      eqeq2d opeq1 bi2anan9 spc2ev anidms impbii 3bitr2i anbi2i 3anass 2exbii
      syl ) CDEFUAZIZCAJZEIZWADKLZIZMZCBJZFIZWFDNLZIZMZMZBOAOZDWAWFPZQZWBWGUBZB
      OAOCDWCERZWHFRZUCZIZWEAOZWJBOZMZVTWLWSCDWPIZCDWQIZMXBCDWPWQUDXCWTXDXAACDW
      CEUPBCDWHFUPUESCDVSWREFUFUGWEWJABUHUIWKWOABWKWBWGMZWDWIMZMZWOWBWDWGWIUJXE
      WNMWNXEMXGWOXEWNUKXFWNXEXFDWAGJZPZQZGOZDHJZWFPZQZHOZMXJXNMZHOGOZWNWDXKWIX
      OWDDWAKIXKWADKULGDWAAUQZUMSWIDWFNIXOWFDNULHDWFBUQZUNSUEXJXNGHUHXQWNXPWNGH
      XPWNXMWMQZXPXIXMQZXTDXIXMUOYAXLWAWFYAWAXLYAAHTGBTZWAXHXLWFURUSUTVAVRXNWNX
      TVBXJDXMWMVCVDVEVFWNXQXPWNWNMGHWFWAXSXRYBXJWNHATZXNWNYBXIWMDXHWFWAVGVHYCX
      MWMDXLWAWFVIVHVJVKVLVMVNVOWNWBWGVPUISVQS $.
  $}

  $( The tail cross product of two sets is a set.  (Contributed by SF,
     9-Feb-2015.) $)
  txpexg $p |- ( ( A e. V /\ B e. W ) -> ( A (x) B ) e. _V ) $=
    ( wcel ctxp c1st ccnv ccom c2nd cin cvv df-txp 1stex cnvex coexg mpan 2ndex
    wa inexg syl2an syl5eqel ) ACEZBDEZSABFGHZAIZJHZBIZKZLABMUCUFLEZUHLEZUILEUD
    UELEUCUJGNOUEALCPQUGLEUDUKJROUGBLDPQUFUHLLTUAUB $.

  ${
    txpex.1 $e |- A e. _V $.
    txpex.2 $e |- B e. _V $.
    $( The tail cross product of two sets is a set.  (Contributed by SF,
       9-Feb-2015.) $)
    txpex $p |- ( A (x) B ) e. _V $=
      ( cvv wcel ctxp txpexg mp2an ) AEFBEFABGEFCDABEEHI $.
  $}

  ${
    $d A a $.  $d a b $.  $d A b $.  $d a x $.  $d A x $.  $d a y $.  $d A y $.
    $d B a $.  $d B b $.  $d b x $.  $d B x $.  $d b y $.  $d B y $.  $d C a $.
    $d C b $.  $d C x $.  $d C y $.  $d x y $.
    $( Restriction distributes over tail cross product.  (Contributed by SF,
       24-Feb-2015.) $)
    restxp $p |- ( ( A (x) B ) |` C ) = ( ( A |` C ) (x) ( B |` C ) ) $=
      ( vx vy va vb ctxp cres cv wbr w3a wex 3anass anbi1i bitri 3bitr4i 2exbii
      wa brres cop wceq wcel anandir anass brtxp 19.41vv biid 3anbi123i eqbrriv
      anbi2i ) DEABHZCIZACIZBCIZHZEJZFJZGJZUAUBZDJZURAKZVAUSBKZLZVACUCZSZGMFMZU
      TVBVESZVCVESZLZGMFMZVAUQUMKZVAUQUPKZVFVJFGUTVBVCSZVESZSZUTVHVISZSVFVJVOVQ
      UTVBVCVEUDUKVFUTVNSZVESVPVDVRVEUTVBVCNOUTVNVEUEPUTVHVINQRVAUQULKZVESVDGMF
      MZVESVLVGVSVTVEFGVAUQABUFOVAUQULCTVDVEFGUGQVMUTVAURUNKZVAUSUOKZLZGMFMVKFG
      VAUQUNUOUFWCVJFGUTUTWAVHWBVIUTUHVAURACTVAUSBCTUIRPQUJ $.
  $}

  ${
    $d A x y $.  $d R x y $.
    $( Membership in the fixed points of a relationship.  (Contributed by SF,
       11-Feb-2015.) $)
    elfix $p |- ( A e. Fix R <-> A R A ) $=
      ( vx vy cfix wcel cvv wbr elex brex simpld cv eleq1 wceq wb breq12 cid wa
      wex 3bitri anidms cin crn df-fix eleq2i elrn brin ancom ideq anbi1i exbii
      weq vex bitri breq1 ceqsexv vtoclbg pm5.21nii ) ABEZFZAGFZAABHZAUSIVBVAVA
      AABJKCLZUSFZVCVCBHZUTVBCAGVCAUSMVCANVEVBOVCAVCABPUAVDVCBQUBZUCZFZDCULZDLZ
      VCBHZRZDSZVEUSVGVCBUDUEVHVJVCVFHZDSVMDVCVFUFVNVLDVNVKVJVCQHZRVOVKRVLVJVCB
      QUGVKVOUHVOVIVKVJVCCUMZUIUJTUKUNVKVEDVCVPVJVCVCBUOUPTUQUR $.
  $}

  $( The fixed points of a set form a set.  (Contributed by SF,
     11-Feb-2015.) $)
  fixexg $p |- ( R e. V -> Fix R e. _V ) $=
    ( wcel cfix cid cin crn cvv df-fix idex inexg mpan2 rnexg syl syl5eqel ) AB
    CZADAEFZGZHAIPQHCZRHCPEHCSJAEBHKLQHMNO $.

  ${
    fixex.1 $e |- R e. _V $.
    $( The fixed points of a set form a set.  (Contributed by SF,
       11-Feb-2015.) $)
    fixex $p |- Fix R e. _V $=
      ( cvv wcel cfix fixexg ax-mp ) ACDAECDBACFG $.
  $}

  ${
    $d A x $.  $d B x $.  $d C x $.
    op1st2nd.1 $e |- A e. _V $.
    op1st2nd.2 $e |- B e. _V $.
    $( Express equality to an ordered pair via ` 1st ` and ` 2nd ` .
       (Contributed by SF, 12-Feb-2015.) $)
    op1st2nd $p |- ( ( C 1st A /\ C 2nd B ) <-> C = <. A , B >. ) $=
      ( vx c1st wbr c2nd wa cop wceq cv wex wi opbr2nd breq1 mpbiri eqid mpbir
      br1st vex biimpi opeq2d eqeq1 imbi12d exlimiv sylbi opbr1st pm3.2i impbii
      imp anbi12d ) CAGHZCBIHZJZCABKZLZUNUOURUNCAFMZKZLZFNUOUROZFCADUAVAVBFVAVB
      UTBIHZUTUQLZOVCUSBAVCUSBLAUSBDFUBPUCUDVAUOVCURVDCUTBIQCUTUQUEUFRUGUHULURU
      PUQAGHZUQBIHZJVEVFVEAALASABADEUITVFBBLBSABBDEPTUJURUNVEUOVFCUQAGQCUQBIQUM
      RUK $.
  $}

  ${
    $d A x $.  $d B x $.  $d C x $.  $d R x $.
    otelins2.1 $e |- B e. _V $.
    $( Ordered triple membership in ` Ins2 ` .  (Contributed by SF,
       13-Feb-2015.) $)
    otelins2 $p |- ( <. A , <. B , C >. >. e. Ins2 R <-> <. A , C >. e. R ) $=
      ( vx cop cins2 wcel cvv elex opexb simplbi syl wceq opeq1 eleq1d vex opex
      cv ctxp wa df-ins2 eleq2i oteltxp bitri mpbiran vtoclbg pm5.21nii ) ABCGZ
      GZDHZIZAJIZACGZDIZUMUKJIZUNUKULKUQUNUJJIAUJLMNUPUOJIZUNUODKURUNCJIACLMNFT
      ZUJGZULIZUSCGZDIZUMUPFAJUSAOZUTUKULUSAUJPQVDVBUODUSACPQVAUSBGJIZVCUSBFRES
      VAUTJDUAZIVEVCUBULVFUTDUCUDUSBCJDUEUFUGUHUI $.
  $}

  ${
    $d A x $.  $d B x $.  $d C x $.  $d R x $.
    otelins3.1 $e |- C e. _V $.
    $( Ordered triple membership in ` Ins3 ` .  (Contributed by SF,
       13-Feb-2015.) $)
    otelins3 $p |- ( <. A , <. B , C >. >. e. Ins3 R <-> <. A , B >. e. R ) $=
      ( vx cop cins3 wcel cvv elex opexb simplbi syl wceq opeq1 eleq1d vex opex
      cv ctxp wa df-ins3 eleq2i oteltxp bitri mpbiran2 vtoclbg pm5.21nii ) ABCG
      ZGZDHZIZAJIZABGZDIZUMUKJIZUNUKULKUQUNUJJIAUJLMNUPUOJIZUNUODKURUNBJIABLMNF
      TZUJGZULIZUSBGZDIZUMUPFAJUSAOZUTUKULUSAUJPQVDVBUODUSABPQVAVCUSCGJIZUSCFRE
      SVAUTDJUAZIVCVEUBULVFUTDUCUDUSBCDJUEUFUGUHUI $.
  $}

  ${
    $d A x y t $.  $d B x y t $.  $d R x y t $.
    brimage.1 $e |- A e. _V $.
    brimage.2 $e |- B e. _V $.
    $( Binary relationship over the image function.  (Contributed by SF,
       11-Feb-2015.) $)
    brimage $p |- ( A Image R B <-> B = ( R " A ) ) $=
      ( vx vt vy cv wcel cima cop csset wn wbr wex bitri wa exbii 3bitri wb wal
      cins2 csi ccnv ccom csymdif c1c wceq cimage csn elima1c elsymdif otelins2
      cins3 vex opelssetsn otelins3 brcnv anbi1i 19.41v bitr4i excom anass snex
      brsnsi2 breq1 anbi2d ancom brssetsn syl6bb ceqsexv opelco 3bitr4i bibi12i
      elima2 xchbinx exnal con2bii dfcleq df-image breqi df-br elcompl 3bitr4ri
      ccompl opex ) FIZBJZWHCAKZJZUAZFUBZABLZMUCZMCUDZUEZUFZUOZUGZUHKZJZNZBWJUI
      ABCUJZOZXBWMXBWHUKZWNLZWTJZFPWLNZFPWMNFWNWTULXHXIFXHXGWOJZXGWSJZUAWLXGWOW
      SUMXJWIXKWKXJXFBLMJWIXFABMDUNWHBFUPZEUQQXKXFALWRJZWKXFABWREURXFGIZWQOZXNA
      MOZRZGPZHIZAJZXSWHCOZRZHPZXMWKXRXNXSUKZUIZYARZXPRZHPZGPYGGPZHPYCXQYHGXQYF
      HPZXPRYHXOYJXPXOXNXFWPOYJXFXNWPUSHWHXNCXLVFQUTYFXPHVAVBSYGGHVCYIYBHYIYEYA
      XPRZRZGPYBYGYLGYEYAXPVDSYKYBGYDXSVEYEYKYAYDAMOZRZYBYEXPYMYAXNYDAMVGVHYNYM
      YARYBYAYMVIYMXTYAXSAHUPDVJUTQVKVLQSTGXFAMWQVMHWHCAVPVNQVOVQSWLFVRTVSFBWJV
      TXEABXAWFZOWNYOJXCABXDYOCWAWBABYOWCWNXAABDEWGWDTWE $.
  $}

  ${
    $d a b $.  $d a p $.  $d a x $.  $d A x $.  $d a y $.  $d a z $.  $d b p $.
    $d b x $.  $d B x $.  $d b y $.  $d B y $.  $d b z $.  $d B z $.  $d C x $.
    $d C z $.  $d D a $.  $d D b $.  $d D p $.  $d D x $.  $d D y $.  $d D z $.
    $d p x $.  $d p y $.  $d p z $.  $d R p $.  $d R x $.  $d R y $.  $d R z $.
    $d x y $.  $d x z $.  $d y z $.
    oqelins4.4 $e |- D e. _V $.
    $( Ordered quadruple membership in ` Ins4 ` .  (Contributed by SF,
       13-Feb-2015.) $)
    oqelins4 $p |- ( <. A , <. B , <. C , D >. >. >. e. Ins4 R
       <-> <. A , <. B , C >. >. e. R ) $=
      ( vx vp vb va cop wcel cvv wa bitri wceq opeq1 c1st wbr wex vy cins4 elex
      vz opexb anbi2i simplbi anim2i sylbi sylib wb cv wi eleq1d bibi12d imbi2d
      syl opeq2d opeq2 c2nd ccom ctxp ccnv cima df-ins4 eleq2i wrex brcnv brtxp
      w3a weq 3ancoma 3anass vex opex opbr1st equcom anbi1i 3bitri exbii 19.42v
      eqeq2d anbi1d exbidv ceqsexv ancom 3anrot brco2nd biid 3anbi123i ceqsex2v
      2exbii rexbii elima risset 3bitr4i vtocl2g vtoclg imp pm5.21nii ) ABCDKZK
      ZKZEUBZLZAMLZBMLZCMLZNZNZABCKZKZELZXEXCMLZXJXCXDUCXNXFXGXAMLZNZNZXJXNXFXB
      MLZNXQAXBUEXRXPXFBXAUEUFOXPXIXFXOXHXGXOXHDMLCDUEUGUHUHUIUQXMXLMLZXJXLEUCX
      SXFXKMLZNXJAXKUEXTXIXFBCUEUFOUJXFXIXEXMUKZXIGULZXBKZXDLZYBXKKZELZUKZUMXIY
      AUMGAMYBAPZYGYAXIYHYDXEYFXMYHYCXCXDYBAXBQUNYHYEXLEYBAXKQUNUOUPYBUAULZUDUL
      ZDKZKZKZXDLZYBYIYJKZKZELZUKYBBYKKZKZXDLZYBBYJKZKZELZUKYGUAUDBCMMYIBPZYNYT
      YQUUCUUDYMYSXDUUDYLYRYBYIBYKQURUNUUDYPUUBEUUDYOUUAYBYIBYJQURUNUOYJCPZYTYD
      UUCYFUUEYSYCXDUUEYRXBYBUUEYKXABYJCDQURURUNUUEUUBYEEUUEUUAXKYBYJCBUSURUNUO
      YNYMRRUTVAZUUFUTVAZVBZVBZVCZEVDZLZYQXDUUKYMEVEVFHULZYMUUJSZHEVGUUMYPPZHEV
      GUULYQUUNUUOHEUUNYMUUMUUISZUUMYBIULZKZPZYMUUQUUHSZNZITZUUOUUMYMUUIVHUUPUU
      MJULZUUQKZPZYMUVCRSZUUTVJZITZJTJGVKZUVEUUTNZITZNZJTUVBJIYMUUMRUUHVIUVHUVL
      JUVHUVIUVJNZITUVLUVGUVMIUVGUVFUVEUUTVJUVFUVJNUVMUVEUVFUUTVLUVFUVEUUTVMUVF
      UVIUVJUVFGJVKUVIYBYLUVCGVNZYIYKUAVNZYJDUDVNZFVOZVOZVPGJVQOVRVSVTUVIUVJIWA
      OVTUVKUVBJYBUVNUVIUVJUVAIUVIUVEUUSUUTUVIUVDUURUUMUVCYBUUQQWBWCWDWEVSUVBUU
      QYOPZUUSNZITUUOUVAUVTIUVAUUTUUSNUVTUUSUUTWFUUTUVSUUSUUTUUQUUMUVCKZPZYMUUM
      UUFSZYMUVCUUGSZVJZJTHTHUAVKZJUDVKZUWBVJZJTHTUVSHJYMUUQUUFUUGVIUWEUWHHJUWE
      UWCUWDUWBVJUWHUWBUWCUWDWGUWCUWFUWDUWGUWBUWBUWCYLUUMRSUAHVKUWFYBYLUUMRUVNU
      VRWHYIYKUUMUVOUVQVPUAHVQVSUWDYLUVCUUFSZUDJVKZUWGYBYLUVCUUFUVNUVRWHUWIYKUV
      CRSUWJYIYKUVCRUVOUVQWHYJDUVCUVPFVPOUDJVQVSUWBWIWJOWLUWBUUQYIUVCKZPUVSHJYI
      YJUVOUVPUWFUWAUWKUUQUUMYIUVCQWBUWGUWKYOUUQUVCYJYIUSWBWKVSVROVTUUSUUOIYOYI
      YJUVOUVPVOUVSUURYPUUMUUQYOYBUSWBWEOVSWMHYMUUJEWNHYPEWOWPOWQWRWSWT $.
  $}

  $( ` Ins2 ` preserves sethood.  (Contributed by SF, 9-Mar-2015.) $)
  ins2exg $p |- ( A e. V -> Ins2 A e. _V ) $=
    ( wcel cins2 cvv ctxp df-ins2 vvex txpexg mpan syl5eqel ) ABCZADEAFZEAGEECL
    MECHEAEBIJK $.

  $( ` Ins3 ` preserves sethood.  (Contributed by SF, 22-Feb-2015.) $)
  ins3exg $p |- ( A e. V -> Ins3 A e. _V ) $=
    ( wcel cins3 cvv ctxp df-ins3 vvex txpexg mpan2 syl5eqel ) ABCZADAEFZEAGLEE
    CMECHAEBEIJK $.

  ${
    insex.1 $e |- A e. _V $.
    $( ` Ins2 ` preserves sethood.  (Contributed by SF, 12-Feb-2015.) $)
    ins2ex $p |- Ins2 A e. _V $=
      ( cvv wcel cins2 ins2exg ax-mp ) ACDAECDBACFG $.

    $( ` Ins3 ` preserves sethood.  (Contributed by SF, 12-Feb-2015.) $)
    ins3ex $p |- Ins3 A e. _V $=
      ( cvv wcel cins3 ins3exg ax-mp ) ACDAECDBACFG $.

    $( ` Ins4 ` preserves sethood.  (Contributed by SF, 12-Feb-2015.) $)
    ins4ex $p |- Ins4 A e. _V $=
      ( cins4 c1st c2nd ccom ctxp ccnv cima cvv df-ins4 1stex 2ndex txpex cnvex
      coex imaex eqeltri ) ACDDEFZSEFZGZGZHZAIJAKUCAUBDUALSTDELMPZSEUDMPNNOBQR
      $.
  $}

  $( The image function of a set is a set.  (Contributed by SF,
     11-Feb-2015.) $)
  imageexg $p |- ( A e. V -> Image A e. _V ) $=
    ( wcel cimage csset cins2 csi ccnv ccom cins3 csymdif c1c cima cvv df-image
    ccompl siexg ssetex mpan 3syl cnvexg coexg ins3exg ins2ex 1cex imaexg mpan2
    symdifexg complexg syl5eqel ) ABCZADEFZEAGZHZIZJZKZLMZPZNAOUKUQNCZURNCZUSNC
    UKUONCZUPNCZUTUKUMNCUNNCZVBABQUMNUAENCVDVBREUNNNUBSTUONUCULNCVCUTERUDULUPNN
    UHSTUTLNCVAUEUQLNNUFUGURNUITUJ $.

  ${
    imageex.1 $e |- A e. _V $.
    $( The image function of a set is a set.  (Contributed by SF,
       11-Feb-2015.) $)
    imageex $p |- Image A e. _V $=
      ( cvv wcel cimage imageexg ax-mp ) ACDAECDBACFG $.
  $}

  ${
    $d p x $.  $d p y $.  $d p z $.  $d R p $.  $d R x $.  $d R y $.  $d R z $.
    $d S p $.  $d S x $.  $d S y $.  $d S z $.  $d x y $.  $d x z $.  $d y z $.
    $( The domain of a tail cross product is the intersection of the domains of
       its arguments.  (Contributed by SF, 18-Feb-2015.) $)
    dmtxp $p |- dom ( R (x) S ) = ( dom R i^i dom S ) $=
      ( vx vp vy vz ctxp cdm cin cv wbr wex wa wcel cop exbii bitri bicomi eldm
      vex wceq w3a brtxp exrot3 3anass 19.41v opex isseti biantrur elin anbi12i
      2exbii eeanv 3bitr4i eqriv ) CABGZHZAHZBHZIZCJZDJZUPKZDLZVAEJZAKZVAFJZBKZ
      MZFLELZVAUQNVAUTNZVDVBVEVGOZUAZVFVHUBZDLZFLELZVJVDVNFLELZDLVPVCVQDEFVAVBA
      BUCPVNDEFUDQVOVIEFVOVMDLZVIMZVIVOVMVIMZDLVSVNVTDVMVFVHUEPVMVIDUFQVIVSVRVI
      DVLVEVGETFTUGUHUIRQULQDVAUPSVKVAURNZVAUSNZMZVJVAURUSUJWCVFELZVHFLZMZVJWAW
      DWBWEEVAASFVABSUKVJWFVFVHEFUMRQQUNUO $.
  $}

  ${
    $d F t $.  $d F x $.  $d F y $.  $d F z $.  $d R t $.  $d R x $.  $d R y $.
    $d R z $.  $d S t $.  $d S x $.  $d S y $.  $d S z $.  $d t x $.  $d t y $.
    $d t z $.  $d x y $.  $d x z $.  $d y z $.
    txpcofun.1 $e |- Fun F $.
    $( Composition distributes over tail cross product in the case of a
       function.  (Contributed by SF, 18-Feb-2015.) $)
    txpcofun $p |- ( ( R (x) S ) o. F ) = ( ( R o. F ) (x) ( S o. F ) ) $=
      ( vx vt vy vz ccom cv cop wceq wex wcel wb ax-mp wbr wa breq1 opelco ctxp
      cvv vex opeqex cdm cfv dmcoss opeldm sseldi pm4.71ri anbi1i anass ceqsexv
      fvex anbi12i eqcom funbrfvb syl5bb anbi1d exbidv syl6bbr anbi12d syl5rbbr
      wfun mpan pm5.32i 3bitrri 19.41v wi funbrfv trtxp syl exbii 3bitr4i bitri
      eldm oteltxp opeq2 eleq1d bibi12d mpbiri exlimivv eqrelriv ) EFABUAZCIZAC
      IZBCIZUAZFJZGJZHJZKZLZHMGMZEJZWIKZWENZWPWHNZOZWIUBNWNFUCGHWIUBUDPWMWSGHWM
      WSWOWLKZWENZWTWHNZOWOCUEZNZWOCUFZWJAQZXEWKBQZRZRZWOWJKWFNZWOWKKWGNZRZXAXB
      XLXDXJRZXKRXDXLRXIXJXMXKXJXDXJWFUEXCWOACUGWOWJWFUHUIUJUKXDXJXKULXDXLXHXHW
      IXELZWIWJAQZRZFMZXNWIWKBQZRZFMZRXDXLXQXFXTXGXOXFFXEWOCUNZWIXEWJASUMXRXGFX
      EYAWIXEWKBSUMUOXDXQXJXTXKXDXQWOWICQZXORZFMXJXDXPYCFXDXNYBXOXNXEWILZXDYBWI
      XEUPCVDZXDYDYBODWOWICUQVEURZUSUTFWOWJACTVAXDXTYBXRRZFMXKXDXSYGFXDXNYBXRYF
      USUTFWOWKBCTVAVBVCVFVGXAYBWIWLWDQZRZFMZXIFWOWLWDCTYBXHRZFMYBFMZXHRYJXIYBX
      HFVHYIYKFYBYHXHYBYDYHXHOYEYBYDVIDWOWICVJPXHXEWLWDQYDYHXEWJWKABVKXEWIWLWDS
      VCVLVFVMXDYLXHFWOCVPUKVNVOWOWJWKWFWGVQVNWMWQXAWRXBWMWPWTWEWIWLWOVRZVSWMWP
      WTWHYMVSVTWAWBPWC $.
  $}

  ${
    $d a b $.  $d a c $.  $d a d $.  $d a x $.  $d a y $.  $d a z $.  $d b c $.
    $d b d $.  $d b x $.  $d b y $.  $d b z $.  $d c d $.  $d c x $.  $d c y $.
    $d c z $.  $d d x $.  $d d y $.  $d d z $.  $d F a $.  $d F b $.  $d F c $.
    $d F d $.  $d F x $.  $d F y $.  $d F z $.  $d G a $.  $d G b $.  $d G c $.
    $d G d $.  $d G x $.  $d G y $.  $d G z $.  $d x y $.  $d x z $.  $d y z $.
    $( If ` F ` and ` G ` are functions, then their tail cross product is a
       function over the intersection of their domains.  (Contributed by SF,
       24-Feb-2015.) $)
    fntxp $p |- ( ( F Fn A /\ G Fn B ) -> ( F (x) G ) Fn ( A i^i B ) ) $=
      ( vx vy vz va vb vc vd wfun cdm wceq wa wfn cv wbr weq wex cin wi wal cop
      w3a brtxp anbi12i ee4anv bitr4i an6 fununiq 3expib im2anan9 eqeq12 syl6bb
      ctxp opth imbi2d syl5ibrcom exp4a syl5bi exlimdvv alrimiv alrimivv dffun2
      3impd sylibr dmtxp ineq12 syl5eq anim12i an4s df-fn 3imtr4i ) CLZCMZANZOZ
      DLZDMZBNZOZOCDUPZLZWCMZABUAZNZOZCAPZDBPZOWCWFPVOVSVQWAWHVOVSOZWDVQWAOZWGW
      KEQZFQZWCRZWMGQZWCRZOZFGSZUBZGUCZFUCEUCWDWKXAEFWKWTGWRWNHQZIQZUDZNZWMXBCR
      ZWMXCDRZUEZWPJQZKQZUDZNZWMXICRZWMXJDRZUEZOZKTJTZITHTZWKWSWRXHITHTZXOKTJTZ
      OXRWOXSWQXTHIWMWNCDUFJKWMWPCDUFUGXHXOHIJKUHUIWKXQWSHIWKXPWSJKXPXEXLOZXFXM
      OZXGXNOZUEWKWSXEXFXGXLXMXNUJWKYAYBYCWSWKYAYBYCWSWKYBYCOZWSUBYAYDHJSZIKSZO
      ZUBVOYBYEVSYCYFVOXFXMYEWMXBXICUKULVSXGXNYFWMXCXJDUKULUMYAWSYGYDYAWSXDXKNY
      GWNXDWPXKUNXBXCXIXJUQUOURUSUTVFVAVBVBVAVCVDEFGWCVEVGWLWEVPVTUAWFCDVHVPAVT
      BVIVJVKVLWIVRWJWBCAVMDBVMUGWCWFVMVN $.
  $}

  ${
    $d A p x $.  $d B x p $.  $d C x p $.  $d R x p $.
    otsnelsi3.1 $e |- A e. _V $.
    otsnelsi3.2 $e |- B e. _V $.
    otsnelsi3.3 $e |- C e. _V $.
    $( Ordered triple membership in triple singleton image.  (Contributed by
       SF, 12-Feb-2015.) $)
    otsnelsi3 $p |- ( <. { A } , <. { B } , { C } >. >. e. SI_3 R <->
      <. A , <. B , C >. >. e. R ) $=
      ( vp vx csn cop wcel c1st csi c2nd wceq wa wbr wex 3bitri df-si3 elimapw1
      csi3 ccom ctxp cpw1 cima cv wrex eleq2i oteltxp vex opsnelsi df-br bitr4i
      cproj2 opelco cproj1 opeq breq1i proj1ex proj2ex eqcom anbi1i exbii breq1
      opbr2nd ceqsexv bitri anbi12i op1st2nd 3bitr4ri opex rexbii risset ) AJZB
      JZCJZKZKZDUCZLVTMNZMOUDZNZOOUDZNZUEZUEZDUFUGZLHUHZJZVTKWHLZHDUIZABCKZKZDL
      ZWAWIVTDUAUJHVTWHDUBWMWJWOPZHDUIWPWLWQHDWLWKVPKWBLZWKVSKWGLZQWJAMRZWJWNOR
      ZQWQWKVPVSWBWGUKWRWTWSXAWRWJAKMLWTWJAMHULZEUMWJAMUNUOWSWKVQKWDLZWKVRKWFLZ
      QWJUPZBMRZXECORZQZXAWKVQVRWDWFUKXCXFXDXGXCWJBKWCLWJIUHZORZXIBMRZQZISZXFWJ
      BWCXBFUMIWJBMOUQXMXIXEPZXKQZISXFXLXOIXJXNXKXJWJURZXEKZXIORXEXIPXNWJXQXIOW
      JUSZUTXPXEXIWJXBVAZWJXBVBZVGXEXIVCTZVDVEXKXFIXEXTXIXEBMVFVHVITXDWJCKWELXJ
      XICORZQZISZXGWJCWEXBGUMIWJCOOUQYDXNYBQZISXGYCYEIXJXNYBYAVDVEYBXGIXEXTXIXE
      COVFVHVITVJXQWNORXEWNPXAXHXPXEWNXSXTVGWJXQWNOXRUTBCXEFGVKVLTVJAWNWJEBCFGV
      MVKTVNHWODVOUOT $.
  $}

  ${
    si3ex.1 $e |- A e. _V $.
    $( ` SI_3 ` preserves sethood.  (Contributed by SF, 12-Feb-2015.) $)
    si3ex $p |- SI_3 A e. _V $=
      ( csi3 c1st csi c2nd ccom ctxp cpw1 cima cvv df-si3 1stex siex 2ndex coex
      txpex pw1ex imaex eqeltri ) ACDEZDFGZEZFFGZEZHZHZAIZJKALUGUHUAUFDMNUCUEUB
      DFMOPNUDFFOOPNQQABRST $.
  $}

  ${
    $d A y $.  $d R y $.  $d T y $.  $d x y $.
    releqel.1 $e |- T e. _V $.
    releqel.2 $e |- ( <. { y } , T >. e. R <-> y e. A ) $.
    $( Lemma to turn a membership condition into an equality condition.
       (Contributed by SF, 9-Mar-2015.) $)
    releqel $p |- ( <. x , T >. e. ~ ( ( Ins3 _S (+) Ins2 R ) " 1c ) <->
     x = A ) $=
      ( cv cop csset cins3 cins2 csymdif c1c wcel wn wb wex vex bitri cima wceq
      wel wal csn elima1c elsymdif otelins3 opelssetsn otelins2 bibi12i xchbinx
      ccompl exbii exnal 3bitrri con1bii opex elcompl dfcleq 3bitr4i ) AHZEIZJK
      ZDLZMZNUAZOZPBAUCZBHZCOZQZBUDZVCVGUMOVBCUBVMVHVHVJUEZVCIZVFOZBRVLPZBRVMPB
      VCVFUFVPVQBVPVOVDOZVOVEOZQVLVOVDVEUGVRVIVSVKVRVNVBIJOVIVNVBEJFUHVJVBBSASZ
      UITVSVNEIDOVKVNVBEDVTUJGTUKULUNVLBUOUPUQVCVGVBEVTFURUSBVBCUTVA $.
  $}

  ${
    $d A x $.  $d A z $.  $d R x $.  $d R y $.  $d R z $.  $d V y $.  $d V z $.
    $d x y $.  $d x z $.  $d y z $.
    releqmpt.1 $e |- ( <. { y } , x >. e. R <-> y e. V ) $.
    $( Equality condition for a mapping.  (Contributed by SF, 9-Mar-2015.) $)
    releqmpt $p |- ( ( A X. _V ) i^i
      `' ~ ( ( Ins3 _S (+) Ins2 R ) " 1c ) ) = ( x e. A |-> V ) $=
      ( vz cvv cxp csset cins3 cins2 csymdif c1c cv wcel wa cop vex bitri copab
      cima ccompl ccnv wceq cmpt elin mpbiran2 opelcnv releqel anbi12i opabbi2i
      cin opelxp df-mpt eqtr4i ) CHIZJKDLMNUBUCZUDZUMZAOZCPZGOZEUEZQZAGUAACEUFV
      EAGUTVAVCRZUTPVFUQPZVFUSPZQVEVFUQUSUGVGVBVHVDVGVBVCHPGSVAVCCHUNUHVHVCVARU
      RPVDVAVCURUIGBEDVAASFUJTUKTULAGCEUOUP $.
  $}

  ${
    $d A w $.  $d A x $.  $d A y $.  $d B w $.  $d B x $.  $d B y $.  $d R w $.
    $d R x $.  $d R y $.  $d R z $.  $d V w $.  $d V z $.  $d w x $.  $d w y $.
    $d w z $.  $d x y $.  $d x z $.  $d y z $.
    releqmpt2.1 $e |- ( <. { z } , <. x , y >. >. e. R <-> z e. V ) $.
    $( Equality condition for a mapping operation.  (Contributed by SF,
       13-Feb-2015.) $)
    releqmpt2 $p |- ( ( ( A X. B ) X. _V ) \
     ( ( Ins2 _S (+) Ins3 R ) " 1c ) ) = ( x e. A , y e. B |-> V ) $=
      ( vw cxp cvv csset cv wcel wa cop wn vex opelxp bitri cins2 cins3 csymdif
      c1c cima cdif wceq coprab cmpt2 eldif mpbiran2 wel wal dfcleq csn elima1c
      wb elsymdif opex otelins2 opelssetsn otelins3 bibi12i xchbinx exbii exnal
      wex 3bitri con2bii bitr2i anbi12i oprabbi2i df-mpt2 eqtr4i ) DEJZKJZLUAZF
      UBZUCZUDUEZUFZAMZDNBMZENOZIMZGUGZOZABIUHABDEGUIWGABIWAWBWCPZWEPZWANWIVPNZ
      WIVTNZQZOWGWIVPVTUJWJWDWLWFWJWHVONZWDWJWMWEKNIRZWHWEVOKSUKWBWCDESTWFCIULZ
      CMZGNZUQZCUMZWLCWEGUNWKWSWKWPUOZWIPZVSNZCVGWRQZCVGWSQCWIVSUPXBXCCXBXAVQNZ
      XAVRNZUQWRXAVQVRURXDWOXEWQXDWTWEPLNWOWTWHWELWBWCARBRUSUTWPWECRWNVATXEWTWH
      PFNWQWTWHWEFWNVBHTVCVDVEWRCVFVHVIVJVKTVLABIDEGVMVN $.
  $}

  ${
    mptexlem.1 $e |- A e. _V $.
    mptexlem.2 $e |- R e. _V $.
    $( Lemma for the existence of a mapping.  (Contributed by SF,
       9-Mar-2015.) $)
    mptexlem $p |- ( ( A X. _V ) i^i
      `' ~ ( ( Ins3 _S (+) Ins2 R ) " 1c ) ) e. _V $=
      ( cvv cxp csset cins3 cins2 csymdif c1c cima ccompl ccnv vvex xpex ssetex
      ins3ex ins2ex symdifex 1cex imaex complex cnvex inex ) AEFGHZBIZJZKLZMZNA
      ECOPUJUIUHKUFUGGQRBDSTUAUBUCUDUE $.
  $}

  ${
    mpt2exlem.1 $e |- A e. _V $.
    mpt2exlem.2 $e |- B e. _V $.
    mpt2exlem.3 $e |- R e. _V $.
    $( Lemma for the existence of a double mapping.  (Contributed by SF,
       13-Feb-2015.) $)
    mpt2exlem $p |- ( ( ( A X. B ) X. _V ) \
     ( ( Ins2 _S (+) Ins3 R ) " 1c ) ) e. _V $=
      ( cxp cvv csset cins2 cins3 csymdif cima xpex vvex ssetex ins2ex symdifex
      c1c ins3ex 1cex imaex difex ) ABGZHGIJZCKZLZSMUDHABDENONUGSUEUFIPQCFTRUAU
      BUC $.
  $}

  ${
    $d A x y $.  $d B x y $.
    $( The value of the little cup function.  (Contributed by SF,
       11-Feb-2015.) $)
    cupvalg $p |- ( ( A e. V /\ B e. W ) -> ( A Cup B ) = ( A u. B ) ) $=
      ( vx vy wcel cvv ccup co cun wceq elex unexg uneq1 df-cup ovmpt2g mpd3an3
      cv uneq2 syl2an ) ACGAHGZBHGZABIJABKZLZBDGACMBDMUBUCUDHGUEABHHNEFABHHESZF
      SZKUDIAUGKHUFAUGOUGBATEFPQRUA $.
  $}

  ${
    $d x y $.
    $( The cup function is a function over the universe.
       (Contributed by SF, 11-Feb-2015.) (Revised by Scott Fenton,
       19-Apr-2021.) $)
    fncup $p |- Cup Fn _V $=
      ( vx vy ccup cvv cxp wfn cv cun df-cup vex unex fnmpt2i xpvv fneq2i mpbi
      ) CDDEZFCDFABDDAGZBGZHCABIQRAJBJKLPDCMNO $.
  $}

  $( Binary relationship form of the cup function.  (Contributed by SF,
     11-Feb-2015.) $)
  brcupg $p |- ( ( A e. V /\ B e. W ) -> ( <. A , B >. Cup C <-> C = ( A u. B
      ) ) ) $=
    ( wcel wa cop ccup cfv wceq wbr cun cvv wfn wb fncup opexg fnbrfvb sylancr
    co cupvalg eqeq1d df-ov eqeq1i eqcom 3bitr3g bitr3d ) ADFBEFGZABHZIJZCKZUJC
    ILZCABMZKZUIINOUJNFULUMPQABDERNUJCISTUIABIUAZCKUNCKULUOUIUPUNCABDEUBUCUPUKC
    ABIUDUEUNCUFUGUH $.

  ${
    brcup.1 $e |- A e. _V $.
    brcup.2 $e |- B e. _V $.
    $( Binary relationship form of the cup function.  (Contributed by SF,
       11-Feb-2015.) $)
    brcup $p |- ( <. A , B >. Cup C <-> C = ( A u. B ) ) $=
      ( cvv wcel cop ccup wbr cun wceq wb brcupg mp2an ) AFGBFGABHCIJCABKLMDEAB
      CFFNO $.
  $}

  ${
    $d x y z $.
    $( The little cup function is a set.  (Contributed by SF, 11-Feb-2015.) $)
    cupex $p |- Cup e. _V $=
      ( vx vy vz ccup cvv cxp csset cins3 cun cv cop wcel wo wel vex opelssetsn
      bitri elun vvex ssetex cins2 c1c cima cdif cmpt2 df-cup otelins3 otelins2
      csymdif csn orbi12i 3bitr4i releqmpt2 eqtr4i ins3ex ins2ex unex mpt2exlem
      eqeltri ) DEEFEFGUAZGHZUTIZHUIUBUCUDZEDABEEAJZBJZIZUEVCABUFABCEEVBVFCJZUJ
      ZVDVEKKZVALZVIUTLZMCANZCBNZMVIVBLVGVFLVJVLVKVMVJVHVDKGLVLVHVDVEGBOZUGVGVD
      COZAOZPQVKVHVEKGLVMVHVDVEGVPUHVGVEVOVNPQUKVIVAUTRVGVDVERULUMUNEEVBSSVAUTG
      TUOGTUPUQURUS $.
  $}

  ${
     $d x y A $. $d x y B $.
     $( The value of the composition function.  (Contributed by Scott Fenton,
        19-Apr-2021.) $)
     composevalg $p |- ( ( A e. V /\ B e. W ) ->
     ( A Compose B ) = ( A o. B ) ) $=
       ( vx vy wcel wa cvv ccom ccompose co wceq elex adantr adantl coexg coeq1
       cv coeq2 df-compose ovmpt2g syl3anc ) ACGZBDGZHAIGZBIGZABJZIGABKLUHMUDUF
       UEACNOUEUGUDBDNPABCDQEFABIIESZFSZJUHKAUJJIUIAUJRUJBATEFUAUBUC $.     
  $}

  ${
     $d x y z $.
     $( The compose function is a function over the universe.  (Contributed
        by Scott Fenton, 19-Apr-2021.) $)
     composefn $p |- Compose Fn _V $=
       ( vx vy vz ccompose cvv wfn cv wcel ccom wceq coprab copab weu vex eueq1
       wa coex a1i fnoprab wb cmpt2 df-compose df-mpt2 eqtri df-xp eqtr3i fneq1
       cxp xpvv fneq2 sylan9bb mp2an mpbir ) DEFZAGZEHBGZEHPZCGUOUPIZJZPABCKZUQ
       ABLZFZUQUSABCUSCMUQCURUOUPANBNQORSDUTJZEVAJZUNVBTDABEEURUAUTABUBABCEEURU
       CUDEEUHEVAUIABEEUEUFVCUNUTEFVDVBEDUTUGEVAUTUJUKULUM $.
  $}

  $( Binary relationship form of the compose function.  (Contributed by Scott
     Fenton, 19-Apr-2021.) $)
  brcomposeg $p |- ( ( A e. V /\ B e. W ) -> ( <. A , B >. Compose C <->
    ( A o. B ) = C ) ) $=
    ( wcel wa cop ccompose cfv wceq wbr ccom cvv wfn wb composefn opexg fnbrfvb
    sylancr co df-ov composevalg syl5eqr eqeq1d bitr3d ) ADFBEFGZABHZIJZCKZUHCI
    LZABMZCKUGINOUHNFUJUKPQABDERNUHCISTUGUIULCUGUIABIUAULABIUBABDEUCUDUEUF $.

  ${
     $d x y z w t u v $.
     $( The compose function is a set.  (Contributed by Scott Fenton,
        19-Apr-2021.) $)
     composeex $p |- Compose e. _V $=
       ( vx vy vw vu vt vv cvv csset cins2 c1c cv wbr wex wcel cop vex otelins2
       wa bitri ins2ex vz ccompose cxp c1st ccnv c2nd cin csi3 cins4 cswap cima
       cid cins3 csymdif cdif ccom cmpt2 df-compose copab wceq csn elopab df-co
       eleq2i elima1c elin opex oqelins4 otsnelsi3 opelxp mpbiran df-br 3bitr2i
       brcnv anbi12i op1st2nd 3bitri snex wel df-clel opelssetsn exbii 3bitr4ri
       brswap2 ideq otelins3 releqmpt2 eqtr4i vvex 1stex cnvex xpex 2ndex si3ex
       inex ins4ex swapex ssetex 1cex imaex idex ins3ex mpt2exlem eqeltri ) UBG
       GUCGUCHIZGUDUEZUCZUFUEZIZUGZUHZUIZUJUHZUIZXEIZIZIZUGZJUKZIZULUHZUIZHUMZI
       ZIZIZIZUGZJUKZUGZJUKZUGZJUKZJUKZUMUNJUKUOZGUBABGGAKZBKZUPZUQYOABURABUAGG
       YNYRUAKZCKZDKZYQLZUUAEKZYPLZRZDMZCEUSZNYSYTUUCOUTZUUFRZEMZCMZYSYRNYSVAZY
       PYQOZOZYNNZUUFCEYSVBYRUUGYSCEDYPYQVCVDUUOYTVAZUUNOZYMNZCMUUKCUUNYMVEUURU
       UJCUURUUCVAZUUQOZYLNZEMUUJEUUQYLVEUVAUUIEUVAUUTXLNZUUTYKNZRUUIUUTXLYKVFU
       VBUUHUVCUUFUVBUUSUUPUULOOXKNUUCYTYSOZOZXJNZUUHUUSUUPUULUUMXKYPYQAPZBPZVG
       ZVHUUCYTYSXJEPZCPZUAPVIUVFUVEXGNZUVEXINZRYSYTUDLZYSUUCUFLZRUUHUVEXGXIVFU
       VLUVNUVMUVOUVLUVDXFNZYTYSXFLUVNUVLUUCGNUVPUVJUUCUVDGXFVJVKYTYSXFVLYTYSUD
       VNVMUVMUUCYSOXHNUUCYSXHLUVOUUCYTYSXHUVKQUUCYSXHVLUUCYSUFVNVMVOYTUUCYSUVK
       UVJVPVQVQUVCUUAVAZUUTOZYJNZDMUUFDUUTYJVEUVSUUEDUVSUVRXTNZUVRYINZRUUEUVRX
       TYIVFUVTUUBUWAUUDUVTUVQUUQOZXSNZUUBUVQUUSUUQXSUUCVRZQYTUUAOZYQNUUCUWEUTZ
       EBVSZRZEMZUUBUWCEUWEYQVTYTUUAYQVLUWCUUSUWBOZXRNZEMUWIEUWBXRVEUWKUWHEUWKU
       WJXNNZUWJXQNZRUWHUWJXNXQVFUWLUWFUWMUWGUWLUUSUVQUUPOOXMNZUWFUUSUVQUUPUUNX
       MUULUUMYSVRZUVIVGZVHUWNUUCUUAYTOZOUJNUUCUWQUJLUWFUUCUUAYTUJUVJDPZUVKVIUU
       CUWQUJVLUUCUUAYTUWRUVKWDVMSUWMUUTXPNUUSUUNOXONZUWGUUSUVQUUQXPUUAVRZQUUSU
       UPUUNXOYTVRZQUWSUUSUUMOXENUUSYQOHNUWGUUSUULUUMXEUWOQUUSYPYQHUVGQUUCYQUVJ
       UVHWAVQVQVOSWBSWCSUUAUUCOZYPNFKZUXBUTZFAVSZRZFMZUUDUWAFUXBYPVTUUAUUCYPVL
       UWAUXCVAZUVROZYHNZFMUXGFUVRYHVEUXJUXFFUXJUXIYBNZUXIYGNZRUXFUXIYBYGVFUXKU
       XDUXLUXEUXKUXHUVQUUSOOYANZUXDUXHUVQUUSUUQYAUUPUUNUXAUWPVGVHUXMUXCUXBOULN
       UXCUXBULLUXDUXCUUAUUCULFPZUWRUVJVIUXCUXBULVLUXCUXBUUAUUCUWRUVJVGWEVMSUXL
       UXHUUTOYFNUXHUUQOYENZUXEUXHUVQUUTYFUWTQUXHUUSUUQYEUWDQUXOUXHUUNOYDNUXHUU
       MOYCNZUXEUXHUUPUUNYDUXAQUXHUULUUMYCUWOQUXPUXHYPOHNUXEUXHYPYQHUVHWFUXCYPU
       XNUVGWASVQVQVOSWBSWCVOSWBSVOSWBSWBSWCWGWHGGYNWIWIYMJYLJXLYKXKXJXGXIGXFWI
       UDWJWKWLXHUFWMWKTWOWNWPYJJXTYIXSXRJXNXQXMUJWQWNWPXPXOXEHWRTTTTWOWSWTTYHJ
       YBYGYAULXAWNWPYFYEYDYCHWRXBTTTTWOWSWTWOWSWTWOWSWTWSWTXCXD $.
  $}

  ${
    $d A x y $.  $d B x y $.
    $( The binary relationship form of the ` Disj ` relationship.  (Contributed
       by SF, 11-Feb-2015.) $)
    brdisjg $p |- ( ( A e. V /\ B e. W ) ->
             ( A Disj B <-> ( A i^i B ) = (/) ) ) $=
      ( vx vy cv cin c0 wceq cdisj ineq1 eqeq1d ineq2 df-disj brabg ) EGZFGZHZI
      JARHZIJABHZIJEFABCDKQAJSTIQARLMRBJTUAIRBANMEFOP $.
  $}

  ${
    brdisj.1 $e |- A e. _V $.
    brdisj.2 $e |- B e. _V $.
    $( The binary relationship form of the ` Disj ` relationship.  (Contributed
       by SF, 11-Feb-2015.) $)
    brdisj $p |- ( A Disj B <-> ( A i^i B ) = (/) ) $=
      ( cvv wcel cdisj wbr cin c0 wceq wb brdisjg mp2an ) AEFBEFABGHABIJKLCDABE
      EMN $.
  $}

  ${
    $d x y z $.
    $( The disjointedness relationship is a set.  (Contributed by SF,
       11-Feb-2015.) $)
    disjex $p |- Disj e. _V $=
      ( vx vy vz cdisj csset ctxp c1c cima ccompl cv wel wn cop wcel wex wa vex
      opelssetsn bitri ssetex cvv cin c0 wceq df-disj wral wrex oteltxp anbi12i
      copab csn exbii elima1c df-rex 3bitr4i con2bii disj opex elcompl 3bitr4ri
      dfrex2 opabbi2i eqtr4i txpex 1cex imaex complex eqeltri ) DEEFZGHZIZUADAJ
      ZBJZUBUCUDZABUJVKABUEVNABVKCBKZLCVLUFZVLVMMZVJNZLVNVQVKNVRVPVRVOCVLUGZVPL
      CJZUKZVQMVINZCOCAKZVOPZCOVRVSWBWDCWBWAVLMENZWAVMMENZPWDWAVLVMEEUHWEWCWFVO
      VTVLCQZAQZRVTVMWGBQZRUISULCVQVIUMVOCVLUNUOVOCVLVASUPCVLVMUQVQVJVLVMWHWIUR
      USUTVBVCVJVIGEETTVDVEVFVGVH $.
  $}

  ${
    $d x y z a b p $.
    $( The cardinal addition function exists.  (Contributed by SF,
       12-Feb-2015.) $)
    addcfnex $p |- AddC e. _V $=
      ( vx vy vz va vb vp cvv csset cdisj c1st c2nd ccup cv cop wcel wa wex wbr
      wrex bitri caddcfn cxp cins2 cins3 ccom ctxp cima cin csi3 cins4 c1c cdif
      csymdif cplc cmpt2 df-addcfn csn c0 wceq cun wel elin otelins2 opelssetsn
      snex 3bitri oqelins4 otsnelsi3 otelins3 df-br brdisj 3bitr2i trtxp anbi2i
      vex anass 3bitr4i brco br1st 19.42v bitr4i exbii excom exancom opex breq2
      weq ceqsexv anbi1i 19.41v wb breq1 brco1st opbr2nd syl6bb exlimiv pm5.32i
      sylbi opeq2 breq2d rexbii elima risset brcup anbi12i df-rex eladdc rexcom
      op1st2nd elima1c releqmpt2 eqtr4i ssetex ins2ex disjex ins3ex 1stex 2ndex
      vvex coex txpex cupex imaex inex si3ex ins4ex 1cex mpt2exlem eqeltri ) UA
      GGUBGUBHUCZYJUCZYKIUDZJJUEZKJUEZKUFZUFZLUGZUHZUIZUJZUHZUKUGZUJZUHZUKUGZUD
      UMUKUGULZGUAABGGAMZBMZUNZUOUUFABUPABCGGUUEUUICMZUQZUUGUUHNZNZUUEOZDMZEMZU
      HURUSZUUJUUOUUPUTUSZPZDUUGSZEUUHSZUUJUUIOZUUPUQZUUMNZUUDOZEQEBVAZUUTPZEQU
      UNUVAUVEUVGEUVEUVDYKOZUVDUUCOZPUVGUVDYKUUCVBUVHUVFUVIUUTUVHUVCUULNYJOUVCU
      UHNHOUVFUVCUUKUULYJUUJVEZVCUVCUUGUUHHAVOZVCUUPUUHEVOZBVOZVDVFUVIUVCUUKUUG
      NZNZUUBOZUUTUVCUUKUUGUUHUUBUVMVGUUOUQZUVONZUUAOZDQDAVAZUUSPZDQUVPUUTUVSUW
      ADUVSUVRYKOZUVRYTOZPUWAUVRYKYTVBUWBUVTUWCUUSUWBUVQUVNNYJOUVQUUGNHOUVTUVQU
      VCUVNYJUUPVEVCUVQUUKUUGHUVJVCUUOUUGDVOZUVKVDVFUWCUVQUVCUUKNNYSOUUOUUPUUJN
      ZNZYROZUUSUVQUVCUUKUUGYSUVKVGUUOUUPUUJYRUWDUVLCVOZVHUWGUWFYLOZUWFYQOZPUUS
      UWFYLYQVBUWIUUQUWJUURUWIUUOUUPNZIOUUOUUPIRUUQUUOUUPUUJIUWHVIUUOUUPIVJUUOU
      UPUWDUVLVKVLUWJUWKUUJNZLOZUWKUUJLRUURFMZUWFYPRZFLSUWNUWLUSZFLSUWJUWMUWOUW
      PFLUWOUWNUUOYMRZUWNUUPYNRZPZUWNUUJKRZPZUWNUWKJRZUWTPUWPUWQUWNUWEYORZPUWQU
      WRUWTPZPUWOUXAUXCUXDUWQUWNUUPUUJYNKVMVNUWNUUOUWEYMYOVMUWQUWRUWTVPVQUWSUXB
      UWTUWSBEWGZUWNUUOUUHNZJRZPBQZUXBUWSUXGBQZUWRPUXGUWRPZBQZUXHUWQUXIUWRUWQUW
      NUUGJRZUUGUUOJRZPZAQUXLUUGUXFUSZPZBQZAQZUXIAUWNUUOJJVRUXNUXQAUXNUXLUXOBQZ
      PUXQUXMUXSUXLBUUGUUOUWDVSVNUXLUXOBVTWAWBUXRUXPAQZBQUXIUXPABWCUXTUXGBUXTUX
      OUXLPAQUXGUXLUXOAWDUXLUXGAUXFUUOUUHUWDUVMWEZUUGUXFUWNJWFWHTWBTVFWIUXGUWRB
      WJUXKUXGUXEPZBQUXHUXJUYBBUXGUWRUXEUXGUWNUXFUUJNZUSZCQUWRUXEWKZCUWNUXFUYAV
      SUYDUYECUYDUWRUYCUUPYNRZUXEUWNUYCUUPYNWLUYFUXFUUPKRUXEUXFUUJUUPKUYAUWHWMU
      UOUUHUUPUWDUVMWNTWOWPWRWQWBUXGUXEBWDTVLUXGUXBBUUPUVLUXEUXFUWKUWNJUUHUUPUU
      OWSWTWHTWIUWKUUJUWNUUOUUPUWDUVLWEUWHXIVFXAFUWFYPLXBFUWLLXCVQUWKUUJLVJUUOU
      UPUUJUWDUVLXDVLXETVFXETWBDUVOUUAXJUUSDUUGXFVQTXETWBEUUMUUDXJUUTEUUHXFVQUV
      BUUSEUUHSDUUGSUVAUUJUUGUUHDEXGUUSDEUUGUUHXHTWAXKXLGGUUEXSXSUUDUKYKUUCYJHX
      MXNXNZUUBUUAUKYKYTUYGYSYRYLYQIXOXPYPLYMYOJJXQXQXTYNKKJXRXQXTXRYAYAYBYCYDY
      EYFYDYGYCYFYDYGYCYHYI $.
  $}

  ${
    $d x y $.
    $( ` AddC ` is a function over the universe.  (Contributed by SF,
       2-Mar-2015.) (Revised by Scott Fenton, 19-Apr-2021.) $)
    addcfn $p |- AddC Fn _V $=
      ( vx vy caddcfn cvv cxp wfn cplc df-addcfn vex addcex fnmpt2i xpvv fneq2i
      cv mpbi ) CDDEZFCDFABDDANZBNZGCABHQRAIBIJKPDCLMO $.
  $}

  ${
    $d A x y $.  $d B x y $.
    braddcfn.1 $e |- A e. _V $.
    braddcfn.2 $e |- B e. _V $.
    $( Binary relationship form of the ` AddC ` function.  (Contributed by SF,
       2-Mar-2015.) $)
    braddcfn $p |- ( <. A , B >. AddC C <-> ( A +c B ) = C ) $=
      ( vx vy cop caddcfn wbr cfv wceq cplc cvv wfn wcel wb addcfn mp2an cv co
      opex fnbrfvb addceq1 addceq2 df-addcfn addcex ovmpt2 eqtr3i eqeq1i bitr3i
      df-ov ) ABHZCIJZUMIKZCLZABMZCLINOUMNPUPUNQRABDEUBNUMCIUCSUOUQCABIUAZUOUQA
      BIULANPBNPURUQLDEFGABNNFTZGTZMUQIAUTMUSAUTUDUTBAUEFGUFABDEUGUHSUIUJUK $.
  $}

  $( The membership relationship is a proper class.  This theorem together with
     ~ vvex demonstrates the basic idea behind New Foundations: since
     ` x e. y ` is not a stratified relationship, then it does not have a
     realization as a set of ordered pairs, but since ` x = x ` is stratified,
     then it does have a realization as a set.  (Contributed by SF,
     20-Feb-2015.) $)
  epprc $p |- -. _E e. _V $=
    ( vx cep cvv wcel cv wnel cab wn df-nel mpbi cfix ccompl wel wbr elfix epel
    ru bitri notbii vex elcompl 3bitr4i abbi2i fixexg complexg syl syl5eqelr
    mto ) BCDZAEZUJFZAGZCDZULCFUMHAQULCIJUIULBKZLZCUKAUOUJUNDZHAAMZHUJUODUKUPUQ
    UPUJUJBNUQUJBOAAPRSUJUNATUAUJUJIUBUCUIUNCDUOCDBCUDUNCUEUFUGUH $.

  ${
    $d f x y z p q $.
    $( The class of all functions forms a set.  (Contributed by SF,
       18-Feb-2015.) $)
    funsex $p |- Funs e. _V $=
      ( vf vx vy vz vp vq c1st c2nd c1c csset cid cv wbr wex wn cop df-br bitri
      wcel wa cfuns ccnv ctxp csi3 cima cins4 cins2 cin cins3 cdif cvv wfun cab
      ccompl df-funs weq wal csn elima1c snex vex opex elcompl eldif opelssetsn
      otelins2 wrex wceq elin oqelins4 oteltxp opelcnv bitr4i otsnelsi3 anbi12i
      wi ancom bitr2i op1st2nd 3bitri anbi12ci exbii sneq breq2d ceqsexv rexbii
      3bitr4i elima risset otelins3 sneqb 3bitr3i notbii exanali con2bii dffun3
      ideq alex abbi2i eqtr4i 1stex cnvex 2ndex txpex si3ex imaex ins4ex ins2ex
      1cex inex ssetex idex ins3ex difex complex eqeltri ) UAGUBZHGUCZUDZUCZIUE
      ZUFZHUGZUGZUHZJUEZUGZKUIZUJZIUEZUNZIUEZUNZIUEZUNZUKUAALZULZAUMYOAUOYQAYOY
      PYOSZBLZCLZYPMZCDUPZVPCUQZDNZBUQZYQYPYNSZOUUDOZBNZOYRUUEUUFUUHUUFYSURZYPP
      ZYMSZBNUUHBYPYMUSUUKUUGBUUKUUJYLSZOUUGUUJYLUUIYPYSUTZAVAZVBZVCUULUUDUULDL
      ZURZUUJPZYKSZDNUUDDUUJYKUSUUSUUCDUURYJSZOUUAUUBOZTZCNZOUUSUUCUUTUVCUUTYTU
      RZUURPZYISZCNUVCCUURYIUSUVFUVBCUVFUVEYGSZUVEYHSZOZTUVBUVEYGYHVDUVGUUAUVIU
      VAUVGUVDUUJPZYFSZUUAUVDUUQUUJYFUUPUTZVFYSYTPZURZYPPZJSZUVMYPSUVKUUAUVMYPY
      SYTBVAZCVAZVBZUUNVEELZUVJYEMZEJVGUVTUVOVHZEJVGUVKUVPUWAUWBEJUWAUVTUVJPZYE
      SZUVTUVNGMZUVTYPHMZTZUWBUVTUVJYEQUWDUWCYBSZUWCYDSZTUWGUWCYBYDVIUWHUWEUWIU
      WFUWHUVTUVDUUIPZPZYASZUWEUVTUVDUUIYPYAUUNVJUWLFLZURZUWKPXTSZFNUWMUVMVHZUV
      TUWNGMZTZFNUWEFUWKXTUSUWOUWRFUWOUWNUVTPXQSZUWNUWJPXSSZTUWRUWNUVTUWJXQXSVK
      UWSUWQUWTUWPUWSUVTUWNPGSUWQUWNUVTGVLUVTUWNGQVMUWTUWMYTYSPPXRSZUWPUWMYTYSX
      RFVAUVRUVQVNUXAUWMYTPHSZUWMYSPGSZTZUWMYSGMZUWMYTHMZTZUWPUWMYTYSHGVKUXGUXC
      UXBTUXDUXEUXCUXFUXBUWMYSGQUWMYTHQVOUXCUXBVQVRYSYTUWMUVQUVRVSVTRWARWBUWQUW
      EFUVMUVSUWPUWNUVNUVTGUWMUVMWCWDWEVTRUVTUUJPYCSUVTYPPHSUWIUWFUVTUUIYPHUUMV
      FUVTUVDUUJYCYTUTVFUVTYPHQWGVORUVNYPUVTUVMUTUUNVSVTWFEUVJYEJWHEUVOJWIWGYSY
      TYPQWGRUVHUUBUVHUVDUUQPKSZUUBUVDUUQUUJKUUOWJUVDUUQKMUVDUUQVHUXHUUBUVDUUQU
      VLWQUVDUUQKQYTUUPUVRWKWLRWMVORWBRWMUURYJUUQUUJUVLUUOVBVCUVCUUCUUAUUBCWNWO
      WGWBRWMRWBRWMYPYNUUNVCUUDBWRWGBCDYPWPVMWSWTYNYMIYLYKIYJYIIYGYHYFYEJYBYDYA
      XTIXQXSGXAXBXRHGXCXAXDXEXDXIXFXGYCHXCXHXHXJXKXFXHKXLXMXNXIXFXOXIXFXOXIXFX
      OXP $.
  $}

  ${
    $d F f $.
    elfuns.1 $e |- F e. _V $.
    $( Membership in the set of all functions.  (Contributed by SF,
       23-Feb-2015.) $)
    elfuns $p |- ( F e. Funs <-> Fun F ) $=
      ( vf cv wfun cfuns funeq df-funs elab2 ) CDZEAECAFBJAGCHI $.
  $}

  ${
    $d F f $.
    $( Membership in the set of all functions.  (Contributed by Scott Fenton,
       31-Jul-2019.) $)
    elfunsg $p |- ( F e. V -> ( F e. Funs <-> Fun F ) ) $=
      ( vf cv cfuns wcel wfun eleq1 funeq vex elfuns vtoclbg ) CDZEFMGAEFAGCABM
      AEHMAIMCJKL $.
  $}

  $( Membership in the set of all functions implies functionhood.  (Contributed
     by Scott Fenton, 31-Jul-2019.) $)
  elfunsi $p |- ( F e. Funs -> Fun F ) $=
    ( cfuns wcel wfun elfunsg ibi ) ABCADABEF $.

  ${
    $d f a $.
    $( The function with domain relationship exists.  (Contributed by SF,
       23-Feb-2015.) $)
    fnsex $p |- Fns e. _V $=
      ( vf va cfns cfuns cvv cxp c1st cimage cin wfn copab df-fns cop wcel wfun
      cv wa cdm wceq vex opelxp mpbiran2 elfuns bitri cima eqcom eqeq1i brimage
      dfdm4 wbr df-br bitr3i 3bitr4ri anbi12i elin df-fn opabbi2i eqtr4i funsex
      3bitr4i vvex xpex 1stex imageex inex eqeltri ) CDEFZGHZIZECAPZBPZJZABKVIA
      BLVLABVIVJVKMZVGNZVMVHNZQVJOZVJRZVKSZQVMVINVLVNVPVOVRVNVJDNZVPVNVSVKENBTZ
      VJVKDEUAUBVJATZUCUDGVJUEZVKSVKWBSZVRVOWBVKUFVQWBVKVJUIUGVOVJVKVHUJWCVJVKV
      HUKVJVKGWAVTUHULUMUNVMVGVHUOVJVKUPUTUQURVGVHDEUSVAVBGVCVDVEVF $.
  $}

  ${
    $d A a b f $.  $d F a b f $.
    brfns.1 $e |- F e. _V $.
    $( Binary relationship form of ` Fns ` relationship.  (Contributed by SF,
       23-Feb-2015.) $)
    brfns $p |- ( F Fns A <-> F Fn A ) $=
      ( va vf vb cfns wbr cvv wcel wfn brex simprd cdm eqcomd dmexg ax-mp fneq2
      fndm cv syl6eqel breq2 vex fneq1 df-fns brab vtoclbg pm5.21nii ) BAGHZAIJ
      ZBAKZUIBIJZUJBAGLMUKABNZIUKUMAABSOULUMIJCBIPQUABDTZGHBUNKZUIUKDAIUNABGUBU
      NABRETZFTZKBUQKUOEFBUNGCDUCUQUPBUDUQUNBREFUEUFUGUH $.
  $}

  $( Equality theorem for parallel product.  (Contributed by Scott Fenton,
     31-Jul-2019.) $)
  pprodeq1 $p |- ( A = B -> PProd ( A , C ) = PProd ( B , C ) ) $=
    ( wceq c1st ccom c2nd ctxp cpprod coeq1 txpeq1 syl df-pprod 3eqtr4g ) ABDZA
    EFZCGFZHZBEFZQHZACIBCIOPSDRTDABEJPSQKLACMBCMN $.

  $( Equality theorem for parallel product.  (Contributed by Scott Fenton,
     31-Jul-2019.) $)
  pprodeq2 $p |- ( A = B -> PProd ( C , A ) = PProd ( C , B ) ) $=
    ( wceq c1st ccom c2nd ctxp cpprod coeq1 txpeq2 syl df-pprod 3eqtr4g ) ABDZC
    EFZAGFZHZPBGFZHZCAICBIOQSDRTDABGJQSPKLCAMCBMN $.

  ${
    $d a w $.  $d a x $.  $d A x $.  $d a y $.  $d A y $.  $d a z $.  $d B y $.
    $d C w $.  $d C x $.  $d C y $.  $d C z $.  $d D w $.  $d D x $.  $d D y $.
    $d R a $.  $d R w $.  $d R x $.  $d R y $.  $d R z $.  $d S a $.  $d S w $.
    $d S x $.  $d S y $.  $d S z $.  $d w x $.  $d w y $.  $d w z $.  $d x y $.
    $d x z $.  $d y z $.
    $( A quadratic relationship over a parallel product.  (Contributed by SF,
       24-Feb-2015.) $)
    qrpprod $p |- ( <. A , B >. PProd ( R , S ) <. C , D >. <->
       ( A R C /\ B S D ) ) $=
      ( vx vy va cop wbr cvv wcel wa wb cv wceq breq1 bibi12d bitri cpprod brex
      vz vw opexb anbi12i sylib anim12i an4 sylibr wi opeq1 breq1d anbi1d opeq2
      imbi2d anbi2d breq2 c1st ccom c2nd ctxp df-pprod breqi trtxp weq wex brco
      breq2d vex opbr1st eqcom anbi1i exbii ceqsexv opbr2nd vtocl2g pm5.21nii
      imp ) ABJZCDJZEFUAZKZALMZBLMZNZCLMZDLMZNZNZACEKZBDFKZNZWCVTLMZWALMZNWJVTW
      AWBUBWNWFWOWIABUECDUEUFUGWMWDWGNZWEWHNZNWJWKWPWLWQACEUBBDFUBUHWDWEWGWHUIU
      JWFWIWCWMOZWIGPZHPZJZWAWBKZWSCEKZWTDFKZNZOZUKWIAWTJZWAWBKZWKXDNZOZUKWIWRU
      KGHABLLWSAQZXFXJWIXKXBXHXEXIXKXAXGWAWBWSAWTULUMXKXCWKXDWSACERUNSUPWTBQZXJ
      WRWIXLXHWCXIWMXLXGVTWAWBWTBAUOUMXLXDWLWKWTBDFRUQSUPXAUCPZUDPZJZWBKZWSXMEK
      ZWTXNFKZNZOXACXNJZWBKZXCXRNZOXFUCUDCDLLXMCQZXPYAXSYBYCXOXTXAWBXMCXNULVIYC
      XQXCXRXMCWSEURUNSXNDQZYAXBYBXEYDXTWAXAWBXNDCUOVIYDXRXDXCXNDWTFURUQSXPXAXM
      EUSUTZKZXAXNFVAUTZKZNZXSXPXAXOYEYGVBZKYIXAXOWBYJEFVCVDXAXMXNYEYGVETYFXQYH
      XRYFIGVFZIPZXMEKZNZIVGZXQYFXAYLUSKZYMNZIVGYOIXAXMEUSVHYQYNIYPYKYMYPGIVFYK
      WSWTYLGVJZHVJZVKWSYLVLTVMVNTYMXQIWSYRYLWSXMERVOTYHIHVFZYLXNFKZNZIVGZXRYHX
      AYLVAKZUUANZIVGUUCIXAXNFVAVHUUEUUBIUUDYTUUAUUDHIVFYTWSWTYLYRYSVPWTYLVLTVM
      VNTUUAXRIWTYSYLWTXNFRVOTUFTVQVQVSVR $.
  $}

  $( The parallel product of two sets is a set.  (Contributed by SF,
     24-Feb-2015.) $)
  pprodexg $p |- ( ( A e. V /\ B e. W ) -> PProd ( A , B ) e. _V ) $=
    ( wcel wa cpprod c1st ccom c2nd cvv df-pprod 1stex coexg mpan2 2ndex txpexg
    ctxp syl2an syl5eqel ) ACEZBDEZFABGAHIZBJIZRZKABLUAUCKEZUDKEZUEKEUBUAHKEUFM
    AHCKNOUBJKEUGPBJDKNOUCUDKKQST $.

  ${
    pprodex.1 $e |- A e. _V $.
    pprodex.2 $e |- B e. _V $.
    $( The parallel product of two sets is a set.  (Contributed by SF,
       24-Feb-2015.) $)
    pprodex $p |- PProd ( A , B ) e. _V $=
      ( cvv wcel cpprod pprodexg mp2an ) AEFBEFABGEFCDABEEHI $.
  $}

  ${
    $d A w $.  $d A x $.  $d A y $.  $d A z $.  $d B w $.  $d B x $.  $d B y $.
    $d B z $.  $d R w $.  $d R x $.  $d R y $.  $d R z $.  $d S w $.  $d S x $.
    $d S y $.  $d S z $.  $d w x $.  $d w y $.  $d w z $.  $d x y $.  $d x z $.
    $d y z $.
    $( Binary relationship over a parallel product.  (Contributed by SF,
       24-Feb-2015.) $)
    brpprod $p |- ( A PProd ( R , S ) B <->
       E. x E. y E. z E. w ( A = <. x , y >. /\ B = <. z , w >. /\
         ( x R z /\ y S w ) ) ) $=
      ( wbr c1st ccom cv cop w3a wex wa anbi1i 19.41v exbii bitri c2nd df-pprod
      cpprod ctxp wceq breqi brtxp brco an32 br1st breq1 brco2nd syl6bb pm5.32i
      3bitr2i bitr3i bitr2i 3bitri anbi2i 3anass 3ancoma 2exbii 19.42vv 3bitr4i
      vex anass exrot4 ) EFGHUCZIEFGJKZHUAKZUDZIFCLZDLZMUEZEVLVIIZEVMVJIZNZDOCO
      ZEALZBLZMZUEZVNVSVLGIZVTVMHIZPZNZDOCOBOAOZEFVHVKGHUBUFCDEFVIVJUGVRWFBOAOZ
      DOCOWGVQWHCDVNVOVPPZPVNWBWEPZBOZAOZPZVQWHWIWLVNWIEVSJIZWCPZAOZVPPWOVPPZAO
      WLVOWPVPAEVLGJUHQWOVPARWQWKAWQWNVPPZWCPWBWDPZBOZWCPZWKWNWCVPUIWRWTWCWRWBB
      OZVPPWBVPPZBOWTWNXBVPBEVSAVEZUJQWBVPBRXCWSBWBVPWDWBVPWAVMVJIWDEWAVMVJUKVS
      VTVMHXDBVEULUMUNSUOQWKWSWCPZBOXAWJXEBWJWBWCPWDPXEWBWCWDVFWBWCWDUIUPSWSWCB
      RUQURSUOUSVNVOVPUTWHVNWJPZBOAOWMWFXFABWFVNWBWENXFWBVNWEVAVNWBWEUTTVBVNWJA
      BVCTVDVBWFCDABVGTUR $.
  $}

  ${
    $d A a $.  $d a b $.  $d A b $.  $d a c $.  $d A c $.  $d a d $.  $d A d $.
    $d a x $.  $d A x $.  $d B a $.  $d B b $.  $d b c $.  $d B c $.  $d b d $.
    $d B d $.  $d b x $.  $d B x $.  $d c d $.  $d c x $.  $d d x $.  $d a t $.
    $d A t $.  $d a u $.  $d A u $.  $d b t $.  $d B t $.  $d b u $.  $d B u $.
    $d c t $.  $d c u $.  $d d t $.  $d d u $.  $d t u $.  $d t x $.  $d u x $.
    $( The domain of a parallel product.  (Contributed by SF, 24-Feb-2015.) $)
    dmpprod $p |- dom PProd ( A , B ) = ( dom A X. dom B ) $=
      ( va vb vx vc vd vt vu cdm cv cop wceq wbr wa wex vex 2exbii wcel eldm
      cpprod cxp opex isseti 19.41v mpbiran df-br w3a weq brpprod 19.42vv eqcom
      3anass opth bitri anbi1i df-3an 3bitr4i breq1 anbi1d anbi2d 2exbidv exbii
      ceqsex2v 3bitri exrot3 anbi12i brxp eeanv eqbrriv ) CDABUAZJZAJZBJZUBZEKZ
      FKZGKZLZMZCKZVQANZDKZVRBNZOZOZEPZGPFPZWEGPFPZWAWCVLNZWAWCVONZWGWEFGWGVTEP
      WEEVSVQVRFQGQUCUDVTWEEUEUFRWJWAWCLZVLSWLVPVKNZEPZWHWAWCVLUGEWLVKTWNWFGPFP
      ZEPWHWMWOEWMWLHKZIKZLZMZVTWPVQANZWQVRBNZOZUHZGPFPZIPHPHCUIZIDUIZVTXBOZGPF
      PZUHZIPHPWOHIFGWLVPABUJXDXIHIXEXFOZXGOZGPFPXJXHOXDXIXJXGFGUKXCXKFGXCWSXGO
      XKWSVTXBUMWSXJXGWSWRWLMXJWLWRULWPWQWAWCUNUOUPUORXEXFXHUQURRXHVTWBXAOZOZGP
      FPWOHIWAWCCQDQXEXGXMFGXEXBXLVTXEWTWBXAWPWAVQAUSUTVAVBXFXMWFFGXFXLWEVTXFXA
      WDWBWQWCVRBUSVAVAVBVDVEVCWFEFGVFUOVEWAVMSZWCVNSZOWBFPZWDGPZOWKWIXNXPXOXQF
      WAATGWCBTVGWAWCVMVNVHWBWDFGVIURURVJ $.
  $}

  $( The converse of a parallel product.  (Contributed by SF, 24-Feb-2015.) $)
  cnvpprod $p |- `' PProd ( A , B ) = PProd ( `' A , `' B ) $=
    ( c1st ccnv ccom cin cpprod cnvin cnvco cnvcnv coeq12i coass 3eqtri ineq12i
    c2nd eqtri ctxp df-pprod df-txp cnveqi 3eqtr4i ) CDZACEZEZODZBOEZEZFZDZUBAD
    ZCEZEZUEBDZOEZEZFZABGZDUJUMGZUIUDDZUGDZFUPUDUGHUSULUTUOUSUCDZUBDZEUBUJEZCEU
    LUBUCIVAVCVBCACICJKUBUJCLMUTUFDZUEDZEUEUMEZOEUOUEUFIVDVFVEOBOIOJKUEUMOLMNPU
    QUHUQUCUFQUHABRUCUFSPTURUKUNQUPUJUMRUKUNSPUA $.

  $( The range of a parallel product.  (Contributed by SF, 24-Feb-2015.) $)
  rnpprod $p |- ran PProd ( A , B ) = ( ran A X. ran B ) $=
    ( cpprod ccnv cdm cxp cnvpprod dmeqi dmpprod eqtri dfrn4 xpeq12i 3eqtr4i
    crn ) ABCZDZEZADZEZBDZEZFZONANZBNZFQRTCZEUBPUEABGHRTIJOKUCSUDUAAKBKLM $.

  ${
    $d A a $.  $d a b $.  $d A b $.  $d a c $.  $d A c $.  $d a d $.  $d A d $.
    $d a e $.  $d A e $.  $d a f $.  $d A f $.  $d a g $.  $d A g $.  $d a h $.
    $d A h $.  $d a x $.  $d A x $.  $d a y $.  $d A y $.  $d a z $.  $d A z $.
    $d B a $.  $d B b $.  $d b c $.  $d B c $.  $d b d $.  $d B d $.  $d b e $.
    $d B e $.  $d b f $.  $d B f $.  $d b g $.  $d B g $.  $d b h $.  $d B h $.
    $d b x $.  $d B x $.  $d b y $.  $d B y $.  $d b z $.  $d B z $.  $d c d $.
    $d c e $.  $d c f $.  $d c g $.  $d c h $.  $d c x $.  $d c y $.  $d c z $.
    $d d e $.  $d d f $.  $d d g $.  $d d h $.  $d d x $.  $d d y $.  $d d z $.
    $d e f $.  $d e g $.  $d e h $.  $d e x $.  $d e y $.  $d e z $.  $d F a $.
    $d F b $.  $d F c $.  $d F d $.  $d F e $.  $d F f $.  $d f g $.  $d F g $.
    $d f h $.  $d F h $.  $d f x $.  $d F x $.  $d f y $.  $d F y $.  $d f z $.
    $d F z $.  $d G a $.  $d G b $.  $d G c $.  $d G d $.  $d G e $.  $d G f $.
    $d G g $.  $d g h $.  $d G h $.  $d g x $.  $d G x $.  $d g y $.  $d G y $.
    $d g z $.  $d G z $.  $d h x $.  $d h y $.  $d h z $.  $d x y $.  $d x z $.
    $d y z $.
    $( Functionhood law for parallel product.  (Contributed by SF,
       24-Feb-2015.) $)
    fnpprod $p |- ( ( F Fn A /\ G Fn B ) -> PProd ( F , G ) Fn ( A X. B ) ) $=
      ( vy vz va vb vc vd ve vf vg vh wceq wa cv wbr wi wex wfun cdm cpprod cxp
      vx wfn weq wal cop w3a ee4anv 2exbii brpprod anbi12i 3bitr4ri an42 3expib
      fununiq eqcomd im2anan9 syl5bi exp3acom23 wb breq1 bi2anan9 adantr syl6bb
      eqeq2 opth imbi2d adantl imbi12d syl5ibrcom exp3a 3impd com23 eqeq1 eqcom
      bitri 3anbi1d imp3a exlimdvv alrimiv alrimivv dffun2 sylibr xpeq12 syl5eq
      dmpprod anim12i an4s df-fn 3imtr4i ) CUAZCUBZAOZPZDUAZDUBZBOZPZPCDUCZUAZX
      BUBZABUDZOZPZCAUFZDBUFZPXBXEUFWNWRWPWTXGWNWRPZXCWPWTPZXFXJUEQZEQZXBRZXLFQ
      ZXBRZPZEFUGZSZFUHZEUHUEUHXCXJXTUEEXJXSFXQXLGQZHQZUIZOZXMIQZJQZUIZOZYAYECR
      ZYBYFDRZPZUJZXLKQZLQZUIZOZXOMQZNQZUIZOZYMYQCRZYNYRDRZPZUJZPZNTMTZJTITZLTK
      TZHTGTZXJXRYLJTITZUUDNTMTZPZLTKTZHTGTUUJHTGTZUUKLTKTZPUUIXQUUJUUKGHKLUKUU
      HUUMGHUUGUULKLYLUUDIJMNUKULULXNUUNXPUUOGHIJXLXMCDUMKLMNXLXOCDUMUNUOXJUUHX
      RGHXJUUGXRKLXJUUFXRIJXJUUEXRMNXJYLUUDXRXJYDYHYKUUDXRSZXJYDYHYKUUPSZXJUUQY
      DYHPZYKKGUGZLHUGZPZYTUUCUJZYGXOOZSZSXJUVBYKUVCXJUVAYTUUCYKUVCSZXJUVAYTUUC
      UVESZXJUVFUVAYTPZYAYQCRZYBYRDRZPZYKIMUGZJNUGZPZSZSXJYKUVJUVMYKUVJPYIUVHPZ
      UVIYJPZPXJUVMYIYJUVHUVIUPWNUVOUVKWRUVPUVLWNYIUVHUVKYAYEYQCURUQWRUVIYJUVLW
      RUVIYJUJYRYFYBYRYFDURUSUQUTVAVBUVGUUCUVJUVEUVNUVAUUCUVJVCYTUUSUUAUVHUUTUU
      BUVIYMYAYQCVDYNYBYRDVDVEVFYTUVEUVNVCUVAYTUVCUVMYKYTUVCYGYSOUVMXOYSYGVHYEY
      FYQYRVIVGVJVKVLVMVNVOVPUURUUPUVDYKUURUUDUVBXRUVCYDUUDUVBVCYHYDYPUVAYTUUCY
      DYPYCYOOZUVAXLYCYOVQUVQYOYCOUVAYCYOVRYMYNYAYBVIVSVGVTVFYHXRUVCVCYDXMYGXOV
      QVKVLVJVMVNVOWAWBWBWBWBVAWCWDUEEFXBWEWFXKXDWOWSUDXECDWIWOAWSBWGWHWJWKXHWQ
      XIXACAWLDBWLUNXBXEWLWM $.
  $}

  $( The parallel product of two bijections is a bijection.  (Contributed by
     SF, 24-Feb-2015.) $)
  f1opprod $p |- ( ( F : A -1-1-onto-> C /\ G : B -1-1-onto-> D ) ->
     PProd ( F , G ) : ( A X. B ) -1-1-onto-> ( C X. D ) ) $=
    ( wfn ccnv wa cpprod cxp wf1o fnpprod cnvpprod fneq1i sylibr anim12i dff1o4
    an4s anbi12i 3imtr4i ) EAGZEHZCGZIZFBGZFHZDGZIZIEFJZABKZGZUJHZCDKZGZIZACELZ
    BDFLZIUKUNUJLUBUFUDUHUPUBUFIULUDUHIZUOABEFMUSUCUGJZUNGUOCDUCUGMUNUMUTEFNOPQ
    SUQUEURUIACERBDFRTUKUNUJRUA $.

  ${
    $d A x y $.  $d B x y $.
    $( The value of the cross product function.  (Contributed by SF,
       24-Feb-2015.) $)
    ovcross $p |- ( ( A e. V /\ B e. W ) -> ( A Cross B ) = ( A X. B ) ) $=
      ( vx vy wcel cvv ccross co cxp wceq xpexg cv xpeq1 xpeq2 df-cross ovmpt2g
      elex mpd3an3 syl2an ) ACGAHGZBHGZABIJABKZLZBDGACSBDSUBUCUDHGUEABHHMEFABHH
      ENZFNZKUDIAUGKHUFAUGOUGBAPEFQRTUA $.
  $}

  ${
    $d x y $.
    $( The cross product function is a function over ` ( _V X. _V ) `
       (Contributed by SF, 24-Feb-2015.) $)
    fncross $p |- Cross Fn _V $=
      ( vx vy ccross cvv cxp wfn cv df-cross vex xpex fnmpt2i xpvv fneq2i mpbi
      ) CDDEZFCDFABDDAGZBGZECABHPQAIBIJKODCLMN $.
  $}

  $( The domain of the cross product function.  (Contributed by SF,
     24-Feb-2015.) $)
  dmcross $p |- dom Cross = _V $=
    ( ccross cvv wfn cdm wceq fncross fndm ax-mp ) ABCADBEFBAGH $.

  $( Binary relationship over the cross product function.  (Contributed by SF,
     24-Feb-2015.) $)
  brcrossg $p |- ( ( A e. V /\ B e. W ) ->
     ( <. A , B >. Cross C <-> C = ( A X. B ) ) ) $=
    ( wcel wa ccross co wceq cop wbr cxp cfv eqcom df-ov eqeq1i bitri cvv wfn
    wb fncross opexg fnbrfvb sylancr syl5bb ovcross eqeq2d bitr3d ) ADFBEFGZCAB
    HIZJZABKZCHLZCABMZJULUMHNZCJZUJUNULUKCJUQCUKOUKUPCABHPQRUJHSTUMSFUQUNUAUBAB
    DEUCSUMCHUDUEUFUJUKUOCABDEUGUHUI $.

  ${
    brcross.1 $e |- A e. _V $.
    brcross.2 $e |- B e. _V $.
    $( Binary relationship over the cross product function.  (Contributed by
       SF, 24-Feb-2015.) $)
    brcross $p |- ( <. A , B >. Cross C <-> C = ( A X. B ) ) $=
      ( cvv wcel cop ccross wbr cxp wceq wb brcrossg mp2an ) AFGBFGABHCIJCABKLM
      DEABCFFNO $.
  $}

  ${
    $d a b x y z $.
    $( The function mapping ` x ` and ` y ` to their cross product is a set.
       (Contributed by SF, 11-Feb-2015.) $)
    crossex $p |- Cross e. _V $=
      ( vx vy va vb cvv cxp csset c1st c2nd c1c cv cop wrex wex wa otelins2 vex
      wcel 3bitri wbr ccross cins2 ccnv cin csi3 cins4 cima cins3 csymdif cmpt2
      vz cdif df-cross wceq csn rexcom elxp2 wel elin snex opelssetsn otsnelsi3
      oqelins4 df-br brcnv 3bitr2i mpbiran anbi12i op1st2nd bitri exbii elima1c
      opelxp df-rex 3bitr4i 3bitr4ri releqmpt2 eqtr4i ssetex ins2ex 1stex cnvex
      vvex 2ndex xpex inex si3ex ins4ex 1cex imaex mpt2exlem eqeltri ) UAEEFEFG
      UBZWMUBZWNHUCZUBZEIUCZFZUDZUEZUFZUDZJUGZUFZUDZJUGZUHUIJUGULZEUAABEEAKZBKZ
      FZUJXGABUMABUKEEXFXJUKKZCKZDKZLUNZDXIMCXHMXNCXHMZDXIMZXKXJRXKUOZXHXILZLZX
      FRZXNCDXHXIUPCDXKXHXIUQXMUOZXSLZXERZDNDBURZXOOZDNXTXPYCYEDYCYBWNRZYBXDRZO
      YEYBWNXDUSYFYDYGXOYFYAXRLWMRYAXILGRYDYAXQXRWMXKUTZPYAXHXIGAQZPXMXIDQZBQZV
      ASYGYAXQXHLZLZXCRZXOYAXQXHXIXCYKVCXLUOZYMLZXBRZCNCAURZXNOZCNYNXOYQYSCYQYP
      WNRZYPXARZOYSYPWNXAUSYTYRUUAXNYTYOYLLWMRYOXHLGRYRYOYAYLWMXMUTPYOXQXHGYHPX
      LXHCQZYIVASUUAYOYAXQLLWTRXLXMXKLZLZWSRZXNYOYAXQXHWTYIVCXLXMXKWSUUBYJUKQVB
      UUEUUDWPRZUUDWRRZOXKXLHTZXKXMITZOXNUUDWPWRUSUUFUUHUUGUUIUUFXLXKLWORXLXKWO
      TUUHXLXMXKWOYJPXLXKWOVDXLXKHVEVFUUGUUCWQRZXMXKWQTUUIUUGXLERUUJUUBXLUUCEWQ
      VMVGXMXKWQVDXMXKIVEVFVHXLXMXKUUBYJVISSVHVJVKCYMXBVLXNCXHVNVOVJVHVJVKDXSXE
      VLXODXIVNVOVPVQVREEXFWCWCXEJWNXDWMGVSVTVTZXCXBJWNXAUUKWTWSWPWRWOHWAWBVTEW
      QWCIWDWBWEWFWGWHWFWIWJWHWFWIWJWKWL $.
  $}

  ${
    $d A x $.
    pw1fnval.1 $e |- A e. _V $.
    $( The value of the unit power class function.  (Contributed by SF,
       25-Feb-2015.) $)
    pw1fnval $p |- ( Pw1Fn ` { A } ) = ~P1 A $=
      ( vx csn c1c wcel cpw1fn cfv cpw1 wceq snel1c cv unieq unisn syl6eq pw1eq
      cuni syl df-pw1fn pw1ex fvmpt ax-mp ) ADZEFUCGHAIZJABKCUCCLZQZIZUDEGUEUCJ
      ZUFAJUGUDJUHUFUCQAUEUCMABNOUFAPRCSABTUAUB $.
  $}

  ${
    $d x y t $.
    $( The unit power class function is a set.  (Contributed by SF,
       25-Feb-2015.) $)
    pw1fnex $p |- Pw1Fn e. _V $=
      ( vx vy vt cpw1fn c1c cvv csset cid cima cv csn cop wcel wex wceq wbr vex
      wa bitri 1cex cxp cins3 ccnv csi ctxp cpw1 cins2 csymdif ccompl cuni cmpt
      cin df-pw1fn oteltxp snex ideq df-br eqcom sneqb 3bitr3i wel brsnsi brcnv
      brssetsn opelssetsn anbi12i exbii elima1c eluni 3bitr4i elimapw11c df-rex
      ancom wrex elpw1 releqmpt eqtr4i idex ssetex cnvex siex txpex imaex pw1ex
      mptexlem eqeltri ) DEFUAGUBHGUCZUDZGUEZEIZUEZEUFZIZUGUHEIUIUCULZFDAEAJZUJ
      ZUFZUKWNAUMABEWMWQCJZKZKZBJZKZWOLZLWKMZCNWRWPMZXAWSOZRZCNZXCWMMXAWQMZXDXG
      CXDXFXERZXGXDWTXBLHMZWTWOLZWJMZRXJWTXBWOHWJUNXKXFXMXEWTXBHPWTXBOZXKXFWTXB
      XAUOUPWTXBHUQXNXBWTOXFWTXBURXAWSBQZUSSUTXBXLLWIMZBNCBVAZBAVAZRZBNXMXEXPXS
      BXPXBWTLWHMZXCGMZRXSXBWTWOWHGUNXTXQYAXRXBWTWHPXAWSWGPZXTXQXAWSWGXOWRUOVBX
      BWTWHUQYBWSXAGPXQXAWSGVCWRXACQXOVDSUTXAWOXOAQVEVFSVGBXLWIVHBWRWOVIVJVFSXF
      XEVMSVGCXCWKVKXIXFCWPVNXHCXAWPVOXFCWPVLSVJVPVQEWMTWKWLHWJVRWIEWHGWGGVSVTW
      AVSWBTWCWBETWDWCWEWF $.
  $}

  $( Functionhood statement for ` Pw1Fn ` (Contributed by SF, 25-Feb-2015.) $)
  fnpw1fn $p |- Pw1Fn Fn 1c $=
    ( vx cv cuni cpw1 cvv wcel cpw1fn c1c wfn df-pw1fn fnmpt vex uniex a1i mprg
    pw1ex ) ABZCZDZEFZGHIAHAHSGEAJKTQHFRQALMPNO $.

  ${
    brpw1fn.1 $e |- A e. _V $.
    $( Binary relationship form of ` Pw1Fn ` (Contributed by SF,
       25-Feb-2015.) $)
    brpw1fn $p |- ( { A } Pw1Fn B <-> B = ~P1 A ) $=
      ( csn cpw1fn cfv wceq cpw1 wbr pw1fnval eqeq1i c1c wcel wb fnpw1fn snel1c
      wfn fnbrfvb mp2an eqcom 3bitr3i ) ADZEFZBGZAHZBGUBBEIZBUEGUCUEBACJKELQUBL
      MUDUFNOACPLUBBERSUEBTUA $.
  $}

  ${
    $d a b $.  $d a x $.  $d a y $.  $d b x $.  $d b y $.  $d x y $.  $d x z $.
    $d y z $.
    $( ` Pw1Fn ` is a one-to-one function with domain ` 1c ` and range
       ` ~P 1c ` .  (Contributed by SF, 26-Feb-2015.) $)
    pw1fnf1o $p |- Pw1Fn : 1c -1-1-onto-> ~P 1c $=
      ( vx vy vz va vb c1c cpw1fn wceq cv cfv cpw1 wss wex cvv wa vex exbii csn
      wcel el1c cpw wf1o wfn crn wi wral fnpw1fn cuni wrex df-pw1fn rnmpt sspw1
      weq cab df1c2 sseq2i ssv biantrur 3bitr4i elpw df-rex anbi1i 19.41v excom
      bitr4i unieq unisn syl6eq pw1eq eqeq2d ceqsexv bitri 3bitri abbi2i eqtr4i
      snex syl anbi12i eeanv pw111 biimpi fveq2 pw1fnval eqeqan12d eqeq12 sneqb
      a1i syl6bb 3imtr4d exlimivv sylbi rgen2a dff1o6 mpbir3an ) FFUAZGUBGFUCGU
      DZWOHAIZGJZBIZGJZHZABUMZUEZBFUFAFUFUGWPWSWQUHZKZHZAFUIZBUNWOABFXEGAUJUKXG
      BWOWSFLZWSCIZKZHZCMZWSWOSXGWSNKZLXINLZXKOZCMXHXLCWSNBPZULFXMWSUOUPXKXOCXN
      XKXIUQURQUSWSFXPUTXGWQFSZXFOZAMWQXIRZHZXFOZCMZAMZXLXFAFVAXRYBAXRXTCMZXFOY
      BXQYDXFCWQTVBXTXFCVCVEQYCYAAMZCMXLYAACVDYEXKCXFXKAXSXIVPXTXEXJWSXTXDXIHXE
      XJHXTXDXSUHXIWQXSVFXICPVGVHXDXIVIVQVJVKQVLVMUSVNVOXCABFXQWSFSZOZWQDIZRZHZ
      WSEIZRZHZOZEMDMZXCYGYJDMZYMEMZOYOXQYPYFYQDWQTEWSTVRYJYMDEVSVEYNXCDEYNYHKZ
      YKKZHZDEUMZXAXBYTUUAUEYNYTUUAYHYKVTWAWGYJYMWRYRWTYSYJWRYIGJYRWQYIGWBYHDPZ
      WCVHYMWTYLGJYSWSYLGWBYKEPWCVHWDYNXBYIYLHUUAWQYIWSYLWEYHYKUUBWFWHWIWJWKWLA
      BFWOGWMWN $.
  $}

  ${
    $d A x $.  $d A y $.  $d B x $.  $d B y $.  $d F x $.  $d F y $.  $d x y $.
    $( Lemma for ~ fnfullfun .  Binary relationship over part one of the full
       function definition.  (Contributed by SF, 9-Mar-2015.) $)
    fnfullfunlem1 $p |- ( A ( ( _I o. F ) \ ( ~ _I o. F ) ) B <->
        ( A F B /\ A. x ( A F x -> x = B ) ) ) $=
      ( vy cid ccom wbr cvv wcel cv wceq wi wal wa brex simprd wb breq2 wn cdif
      ccompl adantr weq eqeq2 imbi2d albidv anbi12d bibi12d brdif coi2 wex brco
      breqi cop df-br vex opex elcompl ideq bitr3i xchbinx bitri anbi2i exanali
      exbii 3bitrri con1bii anbi12i vtoclg pm5.21nii ) BCFDGZFUBZDGZUAZHZCIJZBC
      DHZBAKZDHZVSCLZMZANZOZVPBIJZVQBCVOPQVRVQWCVRWEVQBCDPQUCBEKZVOHZBWFDHZVTAE
      UDZMZANZOZRVPWDRECIWFCLZWGVPWLWDWFCBVOSWMWHVRWKWCWFCBDSWMWJWBAWMWIWAVTWFC
      VSUEUFUGUHUIWGBWFVLHZBWFVNHZTZOWLBWFVLVNUJWNWHWPWKBWFVLDDUKUNWKWOWOVTVSWF
      VMHZOZAULVTWITZOZAULWKTABWFVMDUMWRWTAWQWSVTWQVSWFUOZVMJZWSVSWFVMUPXBXAFJZ
      WIXAFVSWFAUQEUQZURUSXCVSWFFHWIVSWFFUPVSWFXDUTVAVBVCVDVFVTWIAVEVGVHVIVCVJV
      K $.
  $}

  ${
    $d F x y z $.
    $( Lemma for ~ fnfullfun .  Part one of the full function operator yields a
       function.  (Contributed by SF, 9-Mar-2015.) $)
    fnfullfunlem2 $p |- Fun ( ( _I o. F ) \ ( ~ _I o. F ) ) $=
      ( vx vy vz cid ccom ccompl cdif cv wbr wa weq wi wal dffun2 fnfullfunlem1
      wfun sp impcom ad2ant2rl syl2anb gen2 mpgbir ) EAFEGAFHZQBIZCIZUDJZUEDIZU
      DJZKCDLZMZDNCNBBCDUDOUKCDUGUEUFAJZUEUHAJZDCLMDNZKUMULUJMZCNZKUJUIDUEUFAPC
      UEUHAPULUPUJUNUMUPULUJUOCRSTUAUBUC $.
  $}

  $( The full function operator yields a function over ` _V ` .  (Contributed
     by SF, 9-Mar-2015.) $)
  fnfullfun $p |- FullFun F Fn _V $=
    ( cfullfun cvv wfn cid ccom ccompl cdif cdm c0 csn cxp cun wa cin wceq wfun
    fnfullfunlem2 funfn mp2an mpbi 0ex fnconstg ax-mp pm3.2i incompl df-fullfun
    wcel fnun wb uncompl eqcomi fneq1 fneq2 sylan9bb mpbir ) ABZCDZEAFEGAFHZUSI
    ZGZJKLZMZUTVAMZDZUSUTDZVBVADZNUTVAOJPVEVFVGUSQVFARUSSUAJCUHVGUBVAJCUCUDUEUT
    UFUTVAUSVBUITUQVCPZCVDPZURVEUJAUGVDCUTUKULVHURVCCDVIVECUQVCUMCVDVCUNUOTUP
    $.

  $( The full function of a set is a set.  (Contributed by SF, 9-Mar-2015.) $)
  fullfunexg $p |- ( F e. V -> FullFun F e. _V ) $=
    ( wcel cfullfun cid ccom ccompl cdif cdm c0 csn cxp cun cvv df-fullfun idex
    coexg mpan complex syl2anc difexg dmexg complexg 3syl snex sylancl syl5eqel
    xpexg unexg ) ABCZADEAFZEGZAFZHZUNIZGZJKZLZMZNAOUJUNNCZURNCZUSNCUJUKNCZUMNC
    ZUTENCUJVBPEANBQRULNCUJVCEPSULANBQRUKUMNNUATZUJUPNCZUQNCVAUJUTUONCVEVDUNNUB
    UONUCUDJUEUPUQNNUHUFUNURNNUITUG $.

  ${
    fullfunex.1 $e |- F e. _V $.
    $( The full function of a set is a set.  (Contributed by SF,
       9-Mar-2015.) $)
    fullfunex $p |- FullFun F e. _V $=
      ( cvv wcel cfullfun fullfunexg ax-mp ) ACDAECDBACFG $.
  $}

  ${
    $d F x $.  $d F y $.  $d F z $.  $d x y $.  $d x z $.  $d y z $.
    $( Lemma for ~ fvfullfun .  Calculate the domain of part one of the full
       function definition.  (Contributed by SF, 9-Mar-2015.) $)
    fvfullfunlem1 $p |- dom ( ( _I o. F ) \ ( ~ _I o. F ) ) =
       { x | E! y x F y } $=
      ( vz cv wbr weu cid ccom ccompl cdif cdm wcel wex weq wi wal wa exbii nfv
      eldm fnfullfunlem1 wsb eu1 breq2 sbie equcom imbi12i anbi2i bitr2i 3bitri
      albii abbi2i ) AEZBEZCFZBGZAHCIHJCIKZLZUNUSMUNUOURFZBNUPUNDEZCFZDBOZPZDQZ
      RZBNZUQBUNURUAUTVFBDUNUOCUBSUQUPUPBDUCZBDOZPZDQZRZBNVGUPBDUPDTUDVLVFBVKVE
      UPVJVDDVHVBVIVCUPVBBDVBBTUOVAUNCUEUFBDUGUHULUISUJUKUM $.
  $}

  ${
    $d F x $.  $d F y $.  $d F z $.  $d x y $.  $d x z $.  $d y z $.
    $( Lemma for ~ fvfullfun .  Part one of the full function definition is a
       subset of the function.  (Contributed by SF, 9-Mar-2015.) $)
    fvfullfunlem2 $p |- ( ( _I o. F ) \ ( ~ _I o. F ) ) C_ F $=
      ( vx vy vz cid ccom ccompl cdif wss cv cop wcel wal wbr weq fnfullfunlem1
      wi wa simpl df-br bitr3i 3imtr3i gen2 ssrel mpbir ) EAFEGAFHZAIBJZCJZKZUF
      LZUIALZQZCMBMULBCUGUHANZUGDJANDCOQDMZRZUMUJUKUMUNSUOUGUHUFNUJDUGUHAPUGUHU
      FTUAUGUHATUBUCBCUFAUDUE $.
  $}

  ${
    $d F x $.  $d F y $.  $d F z $.  $d x y $.  $d x z $.  $d y z $.
    $( Lemma for ~ fvfullfun .  Part one of the full function definition agrees
       with the set itself over its domain.  (Contributed by SF,
       9-Mar-2015.) $)
    fvfullfunlem3 $p |- ( A e. dom ( ( _I o. F ) \ ( ~ _I o. F ) ) ->
       ( ( ( _I o. F ) \ ( ~ _I o. F ) ) ` A ) = ( F ` A ) ) $=
      ( vx vy vz cid ccom wcel cfv wss wceq cv wbr wal weu fvfullfunlem1 abeq2i
      wa brres cvv ccompl cdif cdm cres wfun weq wi dffun2 anbi2i bitri adantrl
      tz6.12-1 adantl eqtr3d adantlr syl2anb gen2 cxp cin fvfullfunlem2 crn ssv
      mpgbir ssdmrn xpss2 ax-mp sstri ssini df-res sseqtr4i funssfv mp3an12
      fvres ) AFBGFUABGUBZUCZHZABVOUDZIZAVNIZABIVQUEZVNVQJVPVRVSKVTCLZDLZVQMZWA
      ELZVQMZRDEUFZUGZENDNCCDEVQUHWGDEWCWAWBBMZWAWDBMZEOZRZWIWHDOZRZWFWEWCWHWAV
      OHZRWKWAWBBVOSWNWJWHWJCVOCEBPQUIUJWEWIWNRWMWAWDBVOSWNWLWIWLCVOCDBPQUIUJWH
      WMWFWJWHWMRWABIZWBWDWHWLWOWBKWIDWAWBBULUKWMWOWDKWHDWAWDBULUMUNUOUPUQVCVNB
      VOTURZUSVQVNBWPBUTVNVOVNVAZURZWPVNVDWQTJWRWPJWQVBWQTVOVEVFVGVHBVOVIVJAVQV
      NVKVLAVOBVMUN $.
  $}

  ${
    $d A x $.  $d F x $.  $d F y $.  $d x y $.
    $( The value of the full function definition agrees with the function value
       everywhere.  (Contributed by SF, 9-Mar-2015.) $)
    fvfullfun $p |- ( FullFun F ` A ) = ( F ` A ) $=
      ( vx vy cvv wcel cfv wceq cv fveq2 cid ccom ccompl c0 wfn wa mp3an12 mpan
      0ex eqtr4d cfullfun eqeq12d cdm csn cxp cun df-fullfun fveq1i cin incompl
      cdif wfun fnfullfunlem2 funfn fnconstg ax-mp fvun1 fvfullfunlem3 eqtrd wn
      mpbi vex elcompl sylbir wbr fvfullfunlem1 abeq2i tz6.12-2 sylnbi fvconst2
      fvun2 weu pm2.61i eqtri vtoclg fvprc ) AEFZABUAZGZABGZHZCIZVRGZWBBGZHWACA
      EWBAHWCVSWDVTWBAVRJWBABJUBWCWBKBLKMBLUKZWEUCZMZNUDUEZUFZGZWDWBVRWIBUGUHWB
      WFFZWJWDHWKWJWBWEGZWDWFWGUINHZWKWJWLHZWFUJZWEWFOZWHWGOZWMWKPWNWEULWPBUMWE
      UNVAZNEFWQSWGNEUOUPZWFWGWEWHWBUQQRWBBURUSWKUTZWJWBWHGZWDWTWBWGFZWJXAHZWBW
      FCVBVCZWMXBXCWOWPWQWMXBPXCWRWSWFWGWEWHWBVKQRVDWTWDNXAWKWBDIBVEDVLZWDNHXEC
      WFCDBVFVGDWBBVHVIWTXBXANHXDWGNWBSVJVDTTVMVNVOVQUTVSNVTAVRVPABVPTVM $.
  $}

  $( Binary relationship of the full function operation.  (Contributed by SF,
     9-Mar-2015.) $)
  brfullfung $p |- ( A e. V -> ( A FullFun F B <-> ( F ` A ) = B ) ) $=
    ( wcel cvv cfullfun wbr cfv wceq wb elex fvfullfun eqeq1i fnfullfun fnbrfvb
    wfn mpan syl5rbbr syl ) ADEAFEZABCGZHZACIZBJZKADLUEAUBIZBJZUAUCUFUDBACMNUBF
    QUAUGUCKCOFABUBPRST $.

  ${
    brfullfun.1 $e |- A e. _V $.
    $( Binary relationship of the full function operation.  (Contributed by SF,
       9-Mar-2015.) $)
    brfullfun $p |- ( A FullFun F B <-> ( F ` A ) = B ) $=
      ( cvv wcel cfullfun wbr cfv wceq wb brfullfung ax-mp ) AEFABCGHACIBJKDABC
      ELM $.
  $}

  ${
    brfullfunop.1 $e |- A e. _V $.
    brfullfunop.2 $e |- B e. _V $.
    $( Binary relationship of the full function operation over an ordered
       pair.  (Contributed by SF, 9-Mar-2015.) $)
    brfullfunop $p |- ( <. A , B >. FullFun F C <-> ( A F B ) = C ) $=
      ( cop cfullfun wbr cfv wceq co opex brfullfun df-ov eqeq1i bitr4i ) ABGZC
      DHIRDJZCKABDLZCKRCDABEFMNTSCABDOPQ $.
  $}

  ${
    $d A x $.
    $( Calculate the value of the domain function.  (Contributed by Scott
       Fenton, 9-Aug-2019.) $)
    fvdomfn $p |- ( A e. V -> ( Dom ` A ) = dom A ) $=
      ( vx wcel cvv cdomfn cfv cdm wceq elex dmexg cv df-domfn fvmptg mpdan syl
      dmeq ) ABDAEDZAFGAHZIZABJRSEDTAEKCACLZHSEEFUAAQCMNOP $.

    $( Calculate the value of the range function.  (Contributed by Scott
       Fenton, 9-Aug-2019.) $)
    fvranfn $p |- ( A e. V -> ( Ran ` A ) = ran A ) $=
      ( vx wcel cvv cranfn cfv crn wceq elex rnexg cv df-ranfn fvmptg mpdan syl
      rneq ) ABDAEDZAFGAHZIZABJRSEDTAEKCACLZHSEEFUAAQCMNOP $.
  $}

  ${
    $d x y z w $.
    $( The domain function is stratified.  (Contributed by Scott Fenton,
       9-Aug-2019.) $)
    domfnex $p |- Dom e. _V $=
      ( vx vy vz vw cdomfn cvv csset cswap cins2 cin c1c cima cv csn cop wex wa
      wcel vex bitri cxp cins3 csi3 cins4 csymdif ccompl ccnv cdm cmpt df-domfn
      wceq wel oqelins4 wbr otsnelsi3 df-br brswap2 3bitr2i otelins2 opelssetsn
      elin snex anbi12i exbii elima1c df-clel eldm2 releqmpt eqtr4i vvex swapex
      3bitr4i si3ex ins4ex ssetex ins2ex inex 1cex imaex mptexlem eqeltri ) EFF
      UAGUBHUCZUDZGIZIZJZKLZKLZIUEKLUFUGJZFEAFAMZUHZUIWIAUJABFWHWKCMZNZBMZNZWJO
      ZOZWGRZCPWNWLOZWJRZCPWPWHRWNWKRWRWTCDMZNZWQOZWFRZDPXAWSUKZDAULZQZDPWRWTXD
      XGDXDXCWCRZXCWERZQXGXCWCWEVAXHXEXIXFXHXBWMWOOOWBRZXEXBWMWOWJWBASZUMXJXAWL
      WNOZOHRXAXLHUNXEXAWLWNHDSZCSZBSZUOXAXLHUPXAWLWNXNXOUQURTXIXBWPOWDRZXFXBWM
      WPWDWLVBUSXPXBWJOGRXFXBWOWJGWNVBUSXAWJXMXKUTTTVCTVDDWQWFVEDWSWJVFVLVDCWPW
      GVECWNWJVGVLVHVIFWHVJWGKWFKWCWEWBHVKVMVNWDGVOVPVPVQVRVSVRVSVTWA $.

    $( The range function is stratified.  (Contributed by Scott Fenton,
       9-Aug-2019.) $)
    ranfnex $p |- Ran e. _V $=
      ( vx vy vz vw cranfn cvv csset cid cins2 cin c1c cima cv csn cop wcel wex
      wa vex bitri cxp cins3 csi3 cins4 csymdif ccnv crn cmpt df-ranfn wceq wel
      ccompl elin oqelins4 wbr otsnelsi3 df-br opex 3bitr2i otelins2 opelssetsn
      ideq snex anbi12i exbii elima1c df-clel 3bitr4i releqmpt eqtr4i vvex idex
      elrn2 si3ex ins4ex ssetex ins2ex inex 1cex imaex mptexlem eqeltri ) EFFUA
      GUBHUCZUDZGIZIZJZKLZKLZIUEKLULUFJZFEAFAMZUGZUHWJAUIABFWIWLCMZNZBMZNZWKOZO
      ZWHPZCQWMWOOZWKPZCQWQWIPWOWLPWSXACDMZNZWROZWGPZDQXBWTUJZDAUKZRZDQWSXAXEXH
      DXEXDWDPZXDWFPZRXHXDWDWFUMXIXFXJXGXIXCWNWPOOWCPZXFXCWNWPWKWCASZUNXKXBWTOH
      PXBWTHUOXFXBWMWOHDSZCSZBSZUPXBWTHUQXBWTWMWOXNXOURVBUSTXJXCWQOWEPZXGXCWNWQ
      WEWMVCUTXPXCWKOGPXGXCWPWKGWOVCUTXBWKXMXLVATTVDTVEDWRWGVFDWTWKVGVHVECWQWHV
      FCWOWKVMVHVIVJFWIVKWHKWGKWDWFWCHVLVNVOWEGVPVQVQVRVSVTVSVTWAWB $.
  $}

$(
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
        Closure operation
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
$)

  $c Clos1 $.

  $( Extend the definition of a class to include the closure operation. $)
  cclos1 $a class Clos1 ( A , R ) $.

  ${
    $d S a $.  $d R a $.
    $( Define the closure operation.  A modified version of the definition from
       [Rosser] p. 245.  (Contributed by SF, 11-Feb-2015.) $)
    df-clos1 $a |- Clos1 ( S , R ) =
       |^| { a | ( S C_ a /\ ( R " a ) C_ a ) } $.
  $}

  ${
    $d R a $.  $d S a $.  $d T a $.
    $( Equality law for closure.  (Contributed by SF, 11-Feb-2015.) $)
    clos1eq1 $p |- ( S = T -> Clos1 ( S , R ) = Clos1 ( T , R ) ) $=
      ( va wceq cv wss cima wa cab cint cclos1 sseq1 anbi1d abbidv syl df-clos1
      inteq 3eqtr4g ) BCEZBDFZGZAUAHUAGZIZDJZKZCUAGZUCIZDJZKZBALCALTUEUIEUFUJET
      UDUHDTUBUGUCBCUAMNOUEUIRPABDQACDQS $.

    $( Equality law for closure.  (Contributed by SF, 11-Feb-2015.) $)
    clos1eq2 $p |- ( R = T -> Clos1 ( S , R ) = Clos1 ( S , T ) ) $=
      ( va wceq cv wss cima wa cab cclos1 imaeq1 sseq1d anbi2d abbidv inteq syl
      cint df-clos1 3eqtr4g ) ACEZBDFZGZAUBHZUBGZIZDJZRZUCCUBHZUBGZIZDJZRZBAKBC
      KUAUGULEUHUMEUAUFUKDUAUEUJUCUAUDUIUBACUBLMNOUGULPQABDSCBDST $.
  $}

  ${
    $d a b $.  $d R a $.  $d R b $.  $d S a $.
    clos1ex.1 $e |- S e. _V $.
    clos1ex.2 $e |- R e. _V $.
    $( The closure of a set under a set is a set.  (Contributed by SF,
       11-Feb-2015.) $)
    clos1ex $p |- Clos1 ( S , R ) e. _V $=
      ( va vb cv wss cima cvv csset wcel wbr vex brsset wex imaex bitri ssetex
      wa cclos1 cab cint df-clos1 csn cimage ccom cfix cin elin elimasn 3bitr2i
      df-br elfix brco brimage anbi1i exbii breq1 syl6bb ceqsexv anbi12i abbi2i
      cop wceq snex imageex coex fixex inex eqeltrri intex eqeltri ) BAUABEGZHZ
      AVNIZVNHZTZEUBZUCJABEUDVSKBUEZIZKAUFZUGZUHZUIZVSJVREWEVNWELVNWALZVNWDLZTV
      RVNWAWDUJWFVOWGVQWFBVNVDKLBVNKMVOKBVNUKBVNKUMBVNCENZOULWGVNVNWCMZVQVNWCUN
      WIVNFGZWBMZWJVNKMZTZFPZVQFVNVNKWBUOWNWJVPVEZWLTZFPVQWMWPFWKWOWLVNWJAWHFNU
      PUQURWLVQFVPAVNDWHQZWOWLVPVNKMVQWJVPVNKUSVPVNWQWHOUTVARRRVBRVCWAWDKVTSBVF
      QWCKWBSADVGVHVIVJVKVLVM $.
  $}

  ${
    $d S s r $.  $d R s r $.
    $( The closure of a set under a set is a set.  (Contributed by SF,
       11-Feb-2015.) $)
    clos1exg $p |- ( ( S e. V /\ R e. W ) -> Clos1 ( S , R ) e. _V ) $=
      ( vs vr cclos1 cvv wcel wceq clos1eq1 eleq1d clos1eq2 vex clos1ex vtocl2g
      cv ) EQZFQZGZHIBSGZHIBAGZHIEFBACDRBJTUAHSRBKLSAJUAUBHSBAMLSRENFNOP $.
  $}

  ${
    $d R a $.  $d S a $.
    clos1base.1 $e |- C = Clos1 ( S , R ) $.
    $( The initial set of a closure is a subset of the closure.  Theorem
       IX.5.13 of [Rosser] p. 246.  (Contributed by SF, 13-Feb-2015.) $)
    clos1base $p |- S C_ C $=
      ( va cv wss cima wa cab cint ssmin cclos1 df-clos1 eqtr2i sseqtri ) CCEFZ
      GBQHQGZIEJKZARECLACBMSDBCENOP $.

    ${
      $d A x $.  $d B x $.  $d B y $.  $d C x $.  $d C y $.  $d R x $.
      $d R y $.  $d x y $.  $d a x $.  $d a y $.  $d A y $.  $d a z $.
      $d R z $.  $d x z $.  $d y z $.

      $( If a class is connected to an element of a closure via ` R ` , then it
         is a member of the closure.  Theorem IX.5.14 of [Rosser] p. 246.
         (Contributed by SF, 13-Feb-2015.) $)
      clos1conn $p |- ( ( A e. C /\ A R B ) -> B e. C ) $=
        ( vx vy va vz cvv wcel wa wbr cv wi wceq eleq1 breq1 wss adantl anbi12d
        brex imbi1d breq2 anbi2d imbi12d cima wel wal wrex rspcev sylibr ancoms
        elima ssel syl5 exp3a com12 adantld a2d alimdv cab cint cclos1 df-clos1
        eqtri eleq2i vex elintab bitri 3imtr4g impcom vtocl2g mpcom ) AKLBKLMZA
        CLZABDNZMZBCLZVRVPVQABDUCUAGOZCLZWAHOZDNZMZWCCLZPVQAWCDNZMZWFPVSVTPGHAB
        KKWAAQZWEWHWFWIWBVQWDWGWAACRWAAWCDSUBUDWCBQZWHVSWFVTWJWGVRVQWCBADUEUFWC
        BCRUGWDWBWFWDEIOZTZDWKUHZWKTZMZGIUIZPZIUJZWOHIUIZPZIUJZWBWFWDWQWTIWDWOW
        PWSWDWNWPWSPZWLWNWDXBWNWDWPWSWDWPMWCWMLZWNWSWPWDXCWPWDMJOZWCDNZJWKUKXCX
        EWDJWAWKXDWAWCDSULJWCDWKUOUMUNWMWKWCUPUQURUSUTVAVBWBWAWOIVCVDZLWRCXFWAC
        EDVEXFFDEIVFVGZVHWOIWAGVIVJVKWFWCXFLXACXFWCXGVHWOIWCHVIVJVKVLVMVNVO $.
    $}

  $}

  ${
    $d S a $.  $d R a $.
    clos1induct.1 $e |- S e. _V $.
    clos1induct.2 $e |- R e. _V $.
    clos1induct.3 $e |- C = Clos1 ( S , R ) $.
    ${
      $d C a x z $.  $d R x z $.  $d X a x z $.
      $( Inductive law for closure.  If the base set is a subset of ` X ` , and
         ` X ` is closed under ` R ` , then the closure is a subset of ` X ` .
         Theorem IX.5.15 of [Rosser] p. 247.  (Contributed by SF,
         11-Feb-2015.) $)
      clos1induct $p |- ( ( X e. V /\ S C_ X /\
          A. x e. C A. z ( ( x e. X /\ x R z ) -> z e. X ) ) ->
          C C_ X ) $=
        ( va wcel cvv wss cv wa wi wal albii bitri cin wral cima cclos1 clos1ex
        wbr eqeltri inexg mpan2 clos1base ssin biimpi wex elima2 imbi12i df-ral
        impexp wb clos1conn biantrud adantrl pm5.74i bitr3i ancom anbi1i imbi1i
        elin anass 19.23v 3bitr2i bitr4i dfss2 ralcom4 3bitr4i biimpri w3a cint
        cab df-clos1 eqtri sseq2 imaeq2 id sseq12d anbi12d elabg biimprd 3impib
        wceq intss1 syl syl5eqss inss1 syl6ss syl3an ) GFLZGCUAZMLZEGNZEWQNZAOZ
        GLZXABOZDUFZPZXCGLZQZBRACUBZDWQUCZWQNZCGNWPCMLWRCEDUDZMJDEHIUEUGGCFMUHU
        IWSECNZWTCDEJUJWSXLPWTEGCUKULUIXJXHXCXILZXCWQLZQZBRXGACUBZBRXJXHXOXPBXO
        XAWQLZXDPZAUMZXFXCCLZPZQZXPXMXSXNYAAXCDWQUNXCGCVGUOXPXACLZXEPZYAQZARZXR
        YAQZARYBXPYCXGQZARYFXGACUPYHYEAYHYDXFQYEYCXEXFUQYDXFYAYCXDXFYAURXBYCXDP
        XTXFXAXCCDEJUSUTVAVBVCSTYGYEAXRYDYAXRYCXBPZXDPYDXQYIXDXQXBYCPYIXAGCVGXB
        YCVDTVEYCXBXDVHTVFSXRYAAVIVJVKSBXIWQVLXGABCVMVNVOWRWTXJVPZCWQGYJCEKOZNZ
        DYKUCZYKNZPZKVRZVQZWQCXKYQJDEKVSVTYJWQYPLZYQWQNWRWTXJYRWRYRWTXJPZYOYSKW
        QMYKWQWIZYLWTYNXJYKWQEWAYTYMXIYKWQYKWQDWBYTWCWDWEWFWGWHWQYPWJWKWLGCWMWN
        WO $.
    $}
  $}

  ${
    $d A x $.  $d C y $.  $d C z $.  $d ch x $.  $d ph y $.  $d ph z $.
    $d ps x $.  $d R y $.  $d R z $.  $d S x $.  $d th x $.  $d x y $.
    $d x z $.  $d y z $.
    clos1is.1 $e |- S e. _V $.
    clos1is.2 $e |- R e. _V $.
    clos1is.3 $e |- C = Clos1 ( S , R ) $.
    clos1is.4 $e |- { x | ph } e. _V $.
    clos1is.5 $e |- ( x = y -> ( ph <-> ps ) ) $.
    clos1is.6 $e |- ( x = z -> ( ph <-> ch ) ) $.
    clos1is.7 $e |- ( x = A -> ( ph <-> th ) ) $.
    clos1is.8 $e |- ( x e. S -> ph ) $.
    clos1is.9 $e |- ( ( y e. C /\ y R z /\ ps ) -> ch ) $.
    $( Induction scheme for closures.  Hypotheses one through three set up
       existence properties, hypothesis four sets up stratification, hypotheses
       five through seven set up implicit substitution, and hypotheses eight
       and nine set up the base and induction steps.  (Contributed by SF,
       13-Feb-2015.) $)
    clos1is $p |- ( A e. C -> th ) $=
      ( wcel cab cvv wss cv wbr wa wal wral ssab mpgbir 3expib vex anbi1i ancom
      wi elab bitri 3imtr4g alrimiv rgen clos1induct mp3an sseli elabg mpbid )
      HIUAHAEUBZUADIVGHVGUCUAKVGUDZFUEZVGUAZVIGUEZJUFZUGZVKVGUAZUPZGUHZFIUIIVGU
      DOVHEUEKUAAUPEAEKUJSUKVPFIVIIUAZVOGVQVLBUGZCVMVNVQVLBCTULVMBVLUGVRVJBVLAB
      EVIFUMPUQUNBVLUOURACEVKGUMQUQUSUTVAFGIJKUCVGLMNVBVCVDADEHIRVEVF $.
  $}

  ${
    $d A x $.  $d A y $.  $d C w $.  $d C x $.  $d C y $.  $d C z $.  $d R w $.
    $d R x $.  $d R y $.  $d R z $.  $d S w $.  $d S y $.  $d S z $.  $d w x $.
    $d w y $.  $d w z $.  $d x y $.  $d x z $.  $d y z $.
    clos1basesuc.1 $e |- S e. _V $.
    clos1basesuc.2 $e |- R e. _V $.
    clos1basesuc.3 $e |- C = Clos1 ( S , R ) $.
    $( A member of a closure is either in the base set or connected to another
       member by ` R ` .  Theorem IX.5.16 of [Rosser] p. 248.  (Contributed by
       SF, 13-Feb-2015.) $)
    clos1basesuc $p |- ( A e. C <-> ( A e. S \/ E. x e. C x R A ) ) $=
      ( vy vz vw wcel cv wbr wrex wo cab eleq1 breq2 rexbidv cima cun cvv abid2
      eqcomi df-ima uneq12i unab eqtri cclos1 clos1ex eqeltri unex eqeltrri weq
      imaex orbi12d wceq wa wi clos1base sseli breq1 rspcev clos1conn rexlimiva
      orc ex syl jaoi impcom cbvrexv sylibr olcd 3adant1 clos1is impbii ) BCLZB
      ELZAMZBDNZACOZPZIMZELZVTWDDNZACOZPZJMZELZVTWIDNZACOZPZKMZELZVTWNDNZACOZPZ
      WCIJKBCDEFGHEDCUAZUBZWHIQZUCWTWEIQZWGIQZUBXAEXBWSXCXBEIEUDUEIADCUFUGWEWGI
      UHUIEWSFDCGCEDUJUCHDEFGUKULUPUMUNIJUOZWEWJWGWLWDWIERXDWFWKACWDWIVTDSTUQIK
      UOZWEWOWGWQWDWNERXEWFWPACWDWNVTDSTUQWDBURZWEVSWGWBWDBERXFWFWAACWDBVTDSTUQ
      WEWGVGWIWNDNZWMWRWICLZXGWMUSZWQWOXIWDWNDNZICOZWQWMXGXKWJXGXKUTZWLWJXHXLEC
      WICDEHVAZVBXHXGXKXJXGIWICWDWIWNDVCVDVHZVIWKXLACVTCLWKUSXHXLVTWICDEHVEXNVI
      VFVJVKWPXJAICVTWDWNDVCVLVMVNVOVPVSVRWBECBXMVBWAVRACVTBCDEHVEVFVJVQ $.

    $d S x $.
    $( A closure is equal to the base set together with the image of the
       closure under ` R ` .  Theorem X.4.37 of [Rosser] p. 303.  (Contributed
       by SF, 10-Mar-2015.) $)
    clos1baseima $p |- C = ( S u. ( R " C ) ) $=
      ( vx vy cima cun cv wcel wbr wrex elima orbi2i elun clos1basesuc 3bitr4ri
      wo eqriv ) GACBAIZJZGKZCLZUDUBLZTUEHKUDBMHANZTUDUCLUDALUFUGUEHUDBAOPUDCUB
      QHUDABCDEFRSUA $.
  $}

  ${
    $d A x s r $.  $d S x s r $.  $d R x s r $.  $d C x s r $.
    clos1basesucg.1 $e |- C = Clos1 ( S , R ) $.
    $( A member of a closure is either in the base set or connected to another
       member by ` R ` .  Theorem IX.5.16 of [Rosser] p. 248.  (Contributed by
       Scott Fenton, 31-Jul-2019.) $)
    clos1basesucg $p |- ( ( S e. V /\ R e. W ) ->
       ( A e. C <-> ( A e. S \/ E. x e. C x R A ) ) ) $=
      ( vs vr wcel cclos1 cv wbr wrex wo wb wceq eleq2d bibi12d rexeqdv orbi12d
      wa clos1eq1 eleq2 clos1eq2 breq rexeqbidv orbi2d vex clos1basesuc vtocl2g
      eqid eleq2i rexeqi orbi2i 3bitr4g ) EFKDGKUCBEDLZKZBEKZAMZBDNZAUROZPZBCKU
      TVBACOZPBIMZJMZLZKZBVFKZVABVGNZAVHOZPZQBEVGLZKZUTVKAVNOZPZQUSVDQIJEDFGVFE
      RZVIVOVMVQVRVHVNBVGVFEUDZSVRVJUTVLVPVFEBUEVRVKAVHVNVSUAUBTVGDRZVOUSVQVDVT
      VNURBVGEDUFZSVTVPVCUTVTVKVBAVNURWAVABVGDUGUHUITABVHVGVFIUJJUJVHUMUKULCURB
      HUNVEVCUTVBACURHUOUPUQ $.
  $}

  ${
    $d a x y z $.
    $( The finite cardinals as expressed via the closure operation.  Theorem
       X.1.3 of [Rosser] p. 276.  (Contributed by SF, 12-Feb-2015.) $)
    dfnnc3 $p |- Nn = Clos1 ( { 0c } , ( x e. _V |-> ( x +c 1c ) ) ) $=
      ( va vy vz c0c cv wcel c1c cplc wral wa cab cint wss cvv wi wal wceq 1cex
      vex csn cmpt cima cnnc cclos1 0cex snss wel cfv dfss2 ralcom4 wrex wfn wb
      eqid fnmpt addcex a1i mprg ssv fvelimab mp2an imbi1i r19.23v bitr4i albii
      addceq1 fvmpt ax-mp eqeq1i eqcom bitri eleq1 ceqsalv ralbii anbi12i abbii
      3bitr2ri inteqi df-nnc df-clos1 3eqtr4i ) EBFZGZCFZHIZWCGZCWCJZKZBLZMEUAZ
      WCNZAOAFZHIZUBZWCUCZWCNZKZBLZMUDWKWOUEWJWSWIWRBWDWLWHWQEWCUFUGWQDFZWPGZDB
      UHZPZDQZWEWOUIZWTRZXBPZDQZCWCJZWHDWPWCUJXIXGCWCJZDQXDXGCDWCUKXCXJDXCXFCWC
      ULZXBPXJXAXKXBWOOUMZWCONXAXKUNWNOGZXLAOAOWNWOOWOUOZUPXMWMOGWMHATSUQURUSWC
      UTCOWCWTWOVAVBVCXFXBCWCVDVEVFVEXHWGCWCXHWTWFRZXBPZDQWGXGXPDXFXOXBXFWFWTRX
      OXEWFWTWEOGXEWFRCTZAWEWNWFOWOWMWEHVGXNWEHXQSUQZVHVIVJWFWTVKVLVCVFXBWGDWFX
      RWTWFWCVMVNVLVOVRVPVQVSCBVTWOWKBWAWB $.
  $}

  ${
    $d C x $.  $d C y $.  $d R x $.  $d R y $.  $d S x $.  $d S y $.  $d x y $.
    clos1nrel.1 $e |- S e. _V $.
    clos1nrel.2 $e |- R e. _V $.
    clos1nrel.3 $e |- C = Clos1 ( S , R ) $.
    $( The value of a closure when the base set is not related to anything in
       ` R ` .  (Contributed by SF, 13-Mar-2015.) $)
    clos1nrel $p |- ( ( R " S ) = (/) -> C = S ) $=
      ( vx vy cima c0 wceq cv wcel wbr wa wi wal wral wss cvv wn eq0 wrex elima
      rspe sylibr con3i pm2.21d alimi sylbi ralrimivw clos1induct syl clos1base
      ssid mp3an12 a1i eqssd ) BCIZJKZACUTGLZCMVAHLZBNZOZVBCMZPZHQZGARZACSZUTVG
      GAUTVBUSMZUAZHQVGHUSUBVKVFHVKVDVEVDVJVDVCGCUCVJVCGCUEGVBBCUDUFUGUHUIUJUKC
      TMCCSVHVIDCUOGHABCTCDEFULUPUMCASUTABCFUNUQUR $.
  $}

  ${
    $d R x y $.  $d C x y $.
    clos10.1 $e |- R e. _V $.
    clos10.2 $e |- C = Clos1 ( (/) , R ) $.
    $( The value of a closure over an empty base set.  (Contributed by Scott
       Fenton, 31-Jul-2019.) $)
    clos10 $p |- C = (/) $=
      ( vx vy c0 cvv wcel wss cv wbr wa wi wal wral 0ex 0ss noel pm2.21i adantr
      ax-gen rgenw clos1induct mp3an eqssi ) AGGHIGGJEKZGIZUGFKZBLZMUIGIZNZFOZE
      APAGJQGRUMEAULFUHUKUJUHUKUGSTUAUBUCEFABGHGQCDUDUEARUF $.
  $}

$(
#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#
       Orderings
#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#
$)


$(
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
                 Basic ordering relationships
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
$)

  $c Trans $. $( Transitive relationships $)
  $c Ref $. $( Reflextive relationships $)
  $c Antisym $. $( Antisymmetric relationships $)
  $c Po $. $( Po orderings $)
  $c Connex $. $( Connected relationships $)
  $c Or $. $( Or orderings $)
  $c Fr $. $( Founded relationships $)
  $c We $. $( We-orderings $)
  $c Ext $. $( Extensional relationships $)
  $c Sym $. $( Symmetric relationships. $)
  $c Er $. $( Equivalence relationships. $)

  $( Extend the definition of a class to include the set of all transitive
     relationships. $)
  ctrans $a class Trans $.

  $( Extend the definition of a class to include the set of all reflexive
     relationships. $)
  cref $a class Ref $.

  $( Extend the definition of a class to include the set of all antisymmetric
     relationships. $)
  cantisym $a class Antisym $.

  $( Extend the definition of a class to include the set of all partial
     orderings. $)
  cpartial $a class Po $.

  $( Extend the definition of a class to include the set of all connected
     relationships. $)
  cconnex $a class Connex $.

  $( Extend the definition of a class to include the set of all strict linear
     orderings. $)
  cstrict $a class Or $.

  $( Extend the definition of a class to include the set of all founded
     relationships. $)
  cfound $a class Fr $.

  $( Extend the definition of a class to include the set of all well-ordered
     relationships. $)
  cwe $a class We $.

  $( Extend the definition of a class to include the set of all extensional
     relationships. $)
  cext $a class Ext $.

  $( Extend the definition of a class to include the symmetric
     relationships. $)
  csym $a class Sym $.

  $( Extend the definition of a class to include the equivalence
     relationships. $)
  cer $a class Er $.

  ${
    $d r a x y z $.
    $( Define the set of all transitive relationships over a base set.
       (Contributed by SF, 19-Feb-2015.) $)
    df-trans $a |- Trans = { <. r , a >. |
       A. x e. a A. y e. a A. z e. a ( ( x r y /\ y r z ) -> x r z ) } $.

    $( Define the set of all reflexive relationships over a base set.
       (Contributed by SF, 19-Feb-2015.) $)
    df-ref $a |- Ref = { <. r , a >. | A. x e. a x r x } $.

    $( Define the set of all antisymmetric relationships over a base set.
       (Contributed by SF, 19-Feb-2015.) $)
    df-antisym $a |- Antisym = { <. r , a >. |
      A. x e. a A. y e. a ( ( x r y /\ y r x ) -> x = y ) } $.

    $( Define the set of all partial orderings over a base set.  (Contributed
       by SF, 19-Feb-2015.) $)
    df-partial $a |- Po = ( ( Ref i^i Trans ) i^i Antisym ) $.

    $( Define the set of all connected relationships over a base set.
       (Contributed by SF, 19-Feb-2015.) $)
    df-connex $a |- Connex = { <. r , a >. |
       A. x e. a A. y e. a ( x r y \/ y r x ) } $.

    $( Define the set of all strict orderings over a base set.  (Contributed by
       SF, 19-Feb-2015.) $)
    df-strict $a |- Or = ( Po i^i Connex ) $.

    $( Define the set of all founded relationships over a base set.
       (Contributed by SF, 19-Feb-2015.) $)
    df-found $a |- Fr = { <. r , a >. |
       A. x ( ( x C_ a /\ x =/= (/) ) ->
              E. z e. x A. y e. x ( y r z -> y = z ) ) } $.

    $( Define the set of all well orderings over a base set.  (Contributed by
       SF, 19-Feb-2015.) $)
    df-we $a |- We = ( Or i^i Fr ) $.

    $( Define the set of all extensional relationships over a base set.
       (Contributed by SF, 19-Feb-2015.) $)
    df-ext $a |- Ext = { <. r , a >. |
       A. x e. a A. y e. a ( A. z e. a ( z r x <-> z r y ) -> x = y ) } $.

    $( Define the set of all symmetric relationships over a base set.
       (Contributed by SF, 19-Feb-2015.) $)
    df-sym $a |- Sym = { <. r , a >. |
       A. x e. a A. y e. a ( x r y -> y r x ) } $.

    $( Define the set of all equivalence relationships over a base set.
       (Contributed by SF, 19-Feb-2015.) $)
    df-er $a |- Er = ( Sym i^i Trans ) $.
  $}

  ${
    $d a p q r t x y z $.

    $( The class of all transitive relationships is a set.  (Contributed by SF,
       19-Feb-2015.) $)
    transex $p |- Trans e. _V $=
      ( vx vy vr vz va vq csset c2nd c1st c1c wbr wa wcel otelins2 bitri 3bitri
      cop wex df-br anbi12i ctrans cins2 cvv ctxp csi3 cins4 cin cima cxp cins3
      cdif ccompl cv wi wral copab df-trans wn vex opex elcompl wrex opelssetsn
      csn wel elin elima1c snex eldif opelxp mpbiran oqelins4 otsnelsi3 oteltxp
      wceq ancom bitr4i op1st2nd exbii df-clel 3bitr4i otelins3 notbii rexanali
      df-rex bitr3i rexnal opabbi2i eqtr4i ssetex ins2ex vvex 2ndex 1stex txpex
      con2bii si3ex ins4ex inex 1cex imaex xpex ins3ex difex complex eqeltri )
      UAGUBZXGUBZXHUBZUCHIUDZUEZUFZXHUGZJUHZUFZUIZXLGUJZUBZUBZUBZUGZJUHZUGZXOUB
      ZUKZUGZJUHZUGZJUHZUGZJUHZULZUCUAAUMZBUMZCUMZKZYNDUMZYOKZLZYMYQYOKZUNDEUMZ
      UOZBUUAUOZAUUAUOZCEUPYLABDCEUQUUDCEYLYOUUAQZYLMUUEYKMZURUUDUUEYKYOUUACUSZ
      EUSZUTZVAUUFUUDUUFUUCURZAUUAVBZUUDURYMVDZUUEQZYJMZARAEVEZUUJLZARUUFUUKUUN
      UUPAUUNUUMXGMZUUMYIMZLUUPUUMXGYIVFUUQUUOUURUUJUUQUULUUAQGMUUOUULYOUUAGUUG
      NYMUUAAUSZUUHVCOUURYNVDZUUMQZYHMZBRBEVEZUUBURZLZBRZUUJBUUMYHVGUVBUVEBUVBU
      VAXHMZUVAYGMZLUVEUVAXHYGVFUVGUVCUVHUVDUVGUUTUUEQXGMUUTUUAQGMUVCUUTUULUUEX
      GYMVHZNUUTYOUUAGUUGNYNUUABUSZUUHVCPUVHYQVDZUVAQZYFMZDRDEVEZYSYTURZLZLZDRZ
      UVDDUVAYFVGUVMUVQDUVMUVLXIMZUVLYEMZLUVQUVLXIYEVFUVSUVNUVTUVPUVSUVKUUMQZXH
      MUVKUUEQXGMZUVNUVKUUTUUMXHYNVHZNUVKUULUUEXGUVINUWBUVKUUAQGMUVNUVKYOUUAGUU
      GNYQUUADUSZUUHVCOPUVTUVLYCMZUVLYDMZURZLUVPUVLYCYDVIUWEYSUWGUVOUWEUVLXPMZU
      VLYBMZLYSUVLXPYBVFUWHYPUWIYRUWHUVAXOMZUUTUULYOQZQZXNMZYPUWHUVKUCMUWJYQVHZ
      UVKUVAUCXOVJVKUUTUULYOUUAXNUUHVLUVKUWLQZXMMZDRYQYMYNQZVOZDCVEZLZDRZUWMYPU
      WPUWTDUWPUWOXLMZUWOXHMZLUWTUWOXLXHVFUXBUWRUXCUWSUXBUVKUUTUULQQXKMYQYNYMQZ
      QXJMZUWRUVKUUTUULYOXKUUGVLYQYNYMXJUWDUVJUUSVMUXEYQYNQZHMZYQYMQZIMZLZYQYMI
      KZYQYNHKZLZUWRYQYNYMHIVNUXJUXIUXGLUXMUXGUXIVPUXKUXIUXLUXGYQYMISYQYNHSTVQY
      MYNYQUUSUVJVRPPUXCUVKUWKQZXGMUVKYOQGMUWSUVKUUTUWKXGUWCNUVKUULYOGUVINYQYOU
      WDUUGVCPTOVSDUWLXMVGYPUWQYOMUXAYMYNYOSDUWQYOVTOWAPFUMZVDZUVLQZYAMZFRUXOYN
      YQQZVOZFCVEZLZFRZUWIYRUXRUYBFUXRUXQXLMZUXQXTMZLUYBUXQXLXTVFUYDUXTUYEUYAUY
      DUXPUVKUUTQQXKMUXOUXFQXJMZUXTUXPUVKUUTUUMXKUULUUEUVIUUIUTVLUXOYQYNXJFUSZU
      WDUVJVMUYFUXOYQQHMZUXOYNQIMZLZUXOYNIKZUXOYQHKZLZUXTUXOYQYNHIVNUYJUYIUYHLU
      YMUYHUYIVPUYKUYIUYLUYHUXOYNISUXOYQHSTVQYNYQUXOUVJUWDVRPPUYEUXPUVAQXSMUXPU
      UMQXRMZUYAUXPUVKUVAXSUWNNUXPUUTUUMXRUWCNUYNUXPUUEQXQMUXPYOQGMUYAUXPUULUUE
      XQUVINUXPYOUUAGUUHWBUXOYOUYGUUGVCPPTOVSFUVLYAVGYRUXSYOMUYCYNYQYOSFUXSYOVT
      OWATOUWFYTUWFUWAXOMUXNXNMZYTUVKUUTUUMXOUWCNUVKUULYOUUAXNUUHVLUUTUXNQZXMMZ
      BRYNYMYQQZVOZBCVEZLZBRZUYOYTUYQVUABUYQUYPXLMZUYPXHMZLVUAUYPXLXHVFVUCUYSVU
      DUYTVUCUUTUVKUULQQXKMZUYSUUTUVKUULYOXKUUGVLVUEYNUXHQXJMZYNYMIKZYNYQHKZLZU
      YSYNYQYMXJUVJUWDUUSVMUXSHMZUXDIMZLVUKVUJLVUFVUIVUJVUKVPYNYQYMHIVNVUGVUKVU
      HVUJYNYMISYNYQHSTWAYMYQYNUUSUWDVRPOVUDUWLXGMUUTYOQGMUYTUUTUVKUWKXGUWNNUUT
      UULYOGUVINYNYOUVJUUGVCPTOVSBUXNXMVGYTUYRYOMVUBYMYQYOSBUYRYOVTOWAPWCTOTOVS
      UVRUVPDUUAVBUVDUVPDUUAWEYSYTDUUAWDWFPTOVSUVFUVDBUUAVBUUJUVDBUUAWEUUBBUUAW
      GWFPTOVSAUUEYJVGUUJAUUAWEWAUUCAUUAWGOWPVQWHWIYKYJJXGYIGWJWKZYHJXHYGXGVULW
      KZYFJXIYEXHVUMWKYCYDXPYBUCXOWLXNXMJXLXHXKXJHIWMWNWOWQWRZVUMWSWTXAWRZXBYAJ
      XLXTVUNXSXRXQGWJXCWKWKWKWSWTXAWSXOVUOWKXDWSWTXAWSWTXAWSWTXAXEXF $.

    $( The class of all reflexive relationships is a set.  (Contributed by SF,
       11-Mar-2015.) $)
    refex $p |- Ref e. _V $=
      ( vx vr va vp cref c1st c2nd csset ctxp c1c cv wbr cop wcel wn vex wa wex
      df-br bitri cin csi cima ccompl cvv wral df-ref opex elcompl wel wrex csn
      copab elima1c oteltxp snex wceq opsnelsi elin anbi12i op1st2nd opelssetsn
      3bitr2i exbii df-clel bitr4i xchbinx anbi12ci df-rex rexnal con2bii 1stex
      opabbi2i eqtr4i 2ndex inex siex ssetex txpex 1cex imaex complex eqeltri )
      EFGUAZUBZHIZJUCZUDZHIZJUCZUDZUEEAKZWLBKZLZACKZUFZBCUMWKABCUGWPBCWKWMWOMZW
      KNWQWJNZOWPWQWJWMWOBPZCPZUHUIWRWPWRACUJZWNOZQZARZXBAWOUKWPOWRWLULZWQMWINZ
      ARXDAWQWIUNXFXCAXFXEWMMZWHNZXEWOMHNZQXCXEWMWOWHHUOXHXBXIXAXHXGWGNZWNXGWGX
      EWMWLUPWSUHUIXJDKZWLWLMZUQZDBUJZQZDRZWNXJXKULZXGMWFNZDRXPDXGWFUNXRXODXRXQ
      XEMWENZXQWMMHNZQXOXQXEWMWEHUOXSXMXTXNXSXKWLMZWDNZXMXKWLWDDPZAPZURYBYAFNZY
      AGNZQXKWLFLZXKWLGLZQXMYAFGUSYGYEYHYFXKWLFSXKWLGSUTWLWLXKYDYDVAVCTXKWMYCWS
      VBUTTVDTWNXLWMNXPWLWLWMSDXLWMVETVFVGWLWOYDWTVBVHTVDTXBAWOVIWNAWOVJVCVKVFV
      MVNWJWIJWHHWGWFJWEHWDFGVLVOVPVQVRVSVTWAWBVRVSVTWAWBWC $.

    $( The class of all antisymmetric relationships is a set.  (Contributed by
       SF, 11-Mar-2015.) $)
    antisymex $p |- Antisym e. _V $=
      ( vx vy vr va vp csset c2nd c1st cin c1c cid wbr wa cop wcel bitri 3bitri
      wex df-br anbi12i cantisym cins2 ctxp csi3 cins4 cima cins3 ccompl cvv cv
      cdif weq wi wral copab df-antisym vex opex elcompl wrex csn elin otelins2
      wn wel opelssetsn snex oqelins4 eldif wceq otsnelsi3 oteltxp ancom bitr4i
      op1st2nd exbii elima1c df-clel 3bitr4i ideq 3bitr2i otelins3 eqcom notbii
      sneqb df-rex rexanali rexnal eqtr4i ssetex ins2ex 2ndex 1stex txpex si3ex
      con2bii opabbi2i ins4ex inex 1cex imaex idex ins3ex difex complex eqeltri
      ) UAFUBZXGUBZGHUCZUDZUEZXHIZJUFZKUDZUEZXHIZJUFZIZKUGZUKZUEZIZJUFZIZJUFZUH
      ZUIUAAUJZBUJZCUJZLZYHYGYILZMZABULZUMBDUJZUNZAYNUNZCDUOYFABCDUPYPCDYFYIYNN
      ZYFOYQYEOZVDYPYQYEYIYNCUQZDUQZURUSYRYPYRYOVDZAYNUTZYPVDYGVAZYQNZYDOZARADV
      EZUUAMZARYRUUBUUEUUGAUUEUUDXGOZUUDYCOZMUUGUUDXGYCVBUUHUUFUUIUUAUUHUUCYNNF
      OUUFUUCYIYNFYSVCYGYNAUQZYTVFPUUIYLYMVDZMZBYNUTZUUAYHVAZUUDNZYBOZBRBDVEZUU
      LMZBRUUIUUMUUPUURBUUPUUOXHOZUUOYAOZMUURUUOXHYAVBUUSUUQUUTUULUUSUUNYQNXGOU
      UNYNNFOUUQUUNUUCYQXGYGVGZVCUUNYIYNFYSVCYHYNBUQZYTVFQUUTUUNUUCYINZNZXTOUVD
      XROZUVDXSOZVDZMUULUUNUUCYIYNXTYTVHUVDXRXSVIUVEYLUVGUUKUVEUVDXMOZUVDXQOZMY
      LUVDXMXQVBUVHYJUVIYKEUJZVAZUVDNZXLOZERUVJYGYHNZVJZECVEZMZERZUVHYJUVMUVQEU
      VMUVLXKOZUVLXHOZMUVQUVLXKXHVBUVSUVOUVTUVPUVSUVKUUNUUCNZNZXJOUVJYHYGNZNZXI
      OZUVOUVKUUNUUCYIXJYSVHUVJYHYGXIEUQZUVBUUJVKUWEUVJYHNGOZUVJYGNHOZMZUVJYGHL
      ZUVJYHGLZMZUVOUVJYHYGGHVLUWIUWHUWGMUWLUWGUWHVMUWJUWHUWKUWGUVJYGHSUVJYHGST
      VNYGYHUVJUUJUVBVOQQUVTUVKUVCNXGOUVKYINFOUVPUVKUUNUVCXGYHVGVCUVKUUCYIFUVAV
      CUVJYIUWFYSVFQZTPVPEUVDXLVQYJUVNYIOUVRYGYHYISEUVNYIVRPVSUVLXPOZERUVJUWCVJ
      ZUVPMZERZUVIYKUWNUWPEUWNUVLXOOZUVTMUWPUVLXOXHVBUWRUWOUVTUVPUWRUWBXNOZUWOU
      VKUUNUUCYIXNYSVHUWSUWDKOUVJUWCKLUWOUVJYHYGKUWFUVBUUJVKUVJUWCKSUVJUWCYHYGU
      VBUUJURVTWAPUWMTPVPEUVDXPVQYKUWCYIOUWQYHYGYISEUWCYIVRPVSTPUVFYMUVFUWAKOUU
      NUUCKLZYMUUNUUCYIKYSWBUUNUUCKSUWTUUNUUCVJUUCUUNVJYMUUNUUCUVAVTUUNUUCWCYGY
      HUUJWEQWAWDTQTPVPBUUDYBVQUULBYNWFVSYLYMBYNWGPTPVPAYQYDVQUUAAYNWFVSYOAYNWH
      PWPVNWQWIYEYDJXGYCFWJWKZYBJXHYAXGUXAWKZXTXRXSXMXQXLJXKXHXJXIGHWLWMWNWOWRU
      XBWSWTXAXPJXOXHXNKXBWOWRUXBWSWTXAWSKXBXCXDWRWSWTXAWSWTXAXEXF $.

    $( The class of all connected relationships is a set.  (Contributed by SF,
       11-Mar-2015.) $)
    connexex $p |- Connex e. _V $=
      ( vx vy vr va vp csset cswap c1c cima cid cv cop wcel wn vex wex otelins2
      wa bitri 3bitri cconnex cins2 csi3 cins4 cin cun cdif ccompl cvv wbr wral
      wo copab df-connex opex elcompl wel wrex csn elima1c elin opelssetsn snex
      eldif oqelins4 elun wceq otsnelsi3 brswap2 bitr3i anbi12i df-clel 3bitr4i
      df-br orbi12i notbii df-rex rexnal 3bitr2i con2bii bitr4i opabbi2i eqtr4i
      exbii ideq ssetex ins2ex swapex si3ex ins4ex inex 1cex imaex idex complex
      unex difex eqeltri ) UAFUBZWSUBZGUCZUDZWTUEZHIZJUCZUDZWTUEZHIZUFZUDZUGZHI
      ZUEZHIZUHZUIUAAKZBKZCKZUJZXQXPXRUJZULZBDKZUKZAYBUKZCDUMXOABCDUNYDCDXOXRYB
      LZXOMYEXNMZNYDYEXNXRYBCOZDOZUOUPYFYDYFADUQZYCNZRZAPZYJAYBURYDNYFXPUSZYELZ
      XMMZAPYLAYEXMUTYOYKAYOYNWSMZYNXLMZRYKYNWSXLVAYPYIYQYJYPYMYBLFMYIYMXRYBFYG
      QXPYBAOZYHVBSYQBDUQZYANZRZBPZYTBYBURYJYQXQUSZYNLZXKMZBPUUBBYNXKUTUUEUUABU
      UEUUDWTMZUUDXJMZNZRUUAUUDWTXJVDUUFYSUUHYTUUFUUCYELWSMUUCYBLFMYSUUCYMYEWSX
      PVCZQUUCXRYBFYGQXQYBBOZYHVBTUUGYAUUGUUCYMXRLZLZXIMUULXDMZUULXHMZULYAUUCYM
      XRYBXIYHVEUULXDXHVFUUMXSUUNXTEKZUSZUULLZXCMZEPUUOXPXQLZVGZECUQZRZEPZUUMXS
      UURUVBEUURUUQXBMZUUQWTMZRUVBUUQXBWTVAUVDUUTUVEUVAUVDUUPUUCYMLLZXAMUUOXQXP
      LZLZGMZUUTUUPUUCYMXRXAYGVEUUOXQXPGEOZUUJYRVHUVIUUOUVGGUJUUTUUOUVGGVNUUOXQ
      XPUUJYRVIVJTUVEUUPUUKLWSMUUPXRLFMUVAUUPUUCUUKWSXQVCQUUPYMXRFUUIQUUOXRUVJY
      GVBTZVKSWDEUULXCUTXSUUSXRMUVCXPXQXRVNEUUSXRVLSVMUUQXGMZEPUUOUVGVGZUVARZEP
      ZUUNXTUVLUVNEUVLUUQXFMZUVERUVNUUQXFWTVAUVPUVMUVEUVAUVPUVFXEMUVHJMZUVMUUPU
      UCYMXRXEYGVEUUOXQXPJUVJUUJYRVHUVQUUOUVGJUJUVMUUOUVGJVNUUOUVGXQXPUUJYRUOWE
      VJTUVKVKSWDEUULXGUTXTUVGXRMUVOXQXPXRVNEUVGXRVLSVMVOTVPVKSWDSYTBYBVQYABYBV
      RVSVKSWDSYJAYBVQYCAYBVRVSVTWAWBWCXNXMHWSXLFWFWGZXKHWTXJWSUVRWGZXIXDXHXCHX
      BWTXAGWHWIWJUVSWKWLWMXGHXFWTXEJWNWIWJUVSWKWLWMWPWJWQWLWMWKWLWMWOWR $.

    $( The class of all founded relationships is a set.  (Contributed by SF,
       19-Feb-2015.) $)
    foundex $p |- Fr e. _V $=
      ( vx va vy vz vr vt csset cid c1c c0 cvv cv wa cop wcel wn vex wex 3bitri
      bitri cfound cins3 cins2 csi3 cins4 cin cima cdif ccompl csn cxp ctxp crn
      wss wne wbr weq wi wral wrex wal copab df-found elcompl elrn2 oteltxp wel
      opex elin otelins3 opelssetsn snex otelins2 eldif wceq oqelins4 otsnelsi3
      df-br bitr3i anbi12i exbii elima1c df-clel 3bitr4i notbii df-rex rexanali
      ideq sneqb con2bii bitr4i brsset opelxp mpbiran2 elsn necon3bbii anbi12ci
      exanali opabbi2i eqtr4i ssetex ins3ex ins2ex idex si3ex ins4ex inex imaex
      1cex difex complex vvex xpex txpex rnex eqeltri ) UAGUBZXQUCZHUDZUEZGUCZU
      CZUCZUFZIUGZHUBZUHZUFZIUGZUIZUFZIUGZUIZGJUJZUIZKUKZUFZULZUMZUIZKUAALZBLZU
      NZUUAJUOZMZCLZDLZELZUPZCDUQZURCUUAUSZDUUAUTZURAVAZEBVBYTACDEBVCUUMEBYTUUH
      UUBNZYTOUUNYSOZPUUMUUNYSUUHUUBEQZBQZVHVDUUOUUMUUOUUAUUNNYROZARUUEUULPZMZA
      RUUMPAUUNYRVEUURUUTAUURUUAUUHNZYMOZUUAUUBNZYQOZMUUTUUAUUHUUBYMYQVFUVBUUSU
      VDUUEUVBUVAYLOZPUUSUVAYLUUAUUHAQZUUPVHZVDUVEUULUUGUJZUVANZYKOZDRDAVGZUUKM
      ZDRUVEUULUVJUVLDUVJUVIXQOZUVIYJOZMUVLUVIXQYJVIUVMUVKUVNUUKUVMUVHUUANGOUVK
      UVHUUAUUHGUUPVJUUGUUADQZUVFVKTUVNUVIYIOZPUUKUVIYIUVHUVAUUGVLZUVGVHVDUVPUU
      KUVPUUIUUJPZMZCUUAUTZUUKPUUFUJZUVINZYHOZCRCAVGZUVSMZCRUVPUVTUWCUWECUWCUWB
      XROZUWBYGOZMUWEUWBXRYGVIUWFUWDUWGUVSUWFUWAUVANXQOUWAUUANGOUWDUWAUVHUVAXQU
      VQVMUWAUUAUUHGUUPVJUUFUUACQZUVFVKSUWGUWBYEOZUWBYFOZPZMUVSUWBYEYFVNUWIUUIU
      WKUVRFLZUJZUWBNZYDOZFRUWLUUFUUGNZVOZFEVGZMZFRZUWIUUIUWOUWSFUWOUWNXTOZUWNY
      COZMUWSUWNXTYCVIUXAUWQUXBUWRUXAUWMUWAUVHNZNXSOUWLUWPNHOZUWQUWMUWAUVHUVAXS
      UVGVPUWLUUFUUGHFQZUWHUVOVQUXDUWLUWPHUPUWQUWLUWPHVRUWLUWPUUFUUGUWHUVOVHWHV
      SSUXBUWMUVINYBOUWMUVANYAOZUWRUWMUWAUVIYBUUFVLVMUWMUVHUVAYAUVQVMUXFUWMUUHN
      GOUWRUWMUUAUUHGUVFVMUWLUUHUXEUUPVKTSVTTWAFUWBYDWBUUIUWPUUHOUWTUUFUUGUUHVR
      FUWPUUHWCTWDUWJUUJUWJUXCHOZUUJUWAUVHUVAHUVGVJUXGUWAUVHHUPZUUJUWAUVHHVRUXH
      UWAUVHVOUUJUWAUVHUVQWHUUFUUGUWHWITVSTWEVTTVTTWACUVIYHWBUVSCUUAWFWDUUIUUJC
      UUAWGTWJWKVTTWADUVAYKWBUUKDUUAWFWDWETUVDUVCGOZUVCYPOZMUUEUVCGYPVIUXIUUCUX
      JUUDUXIUUAUUBGUPUUCUUAUUBGVRUUAUUBUVFUUQWLVSUXJUUAYOOZUUAYNOZPUUDUXJUXKUU
      BKOUUQUUAUUBYOKWMWNUUAYNUVFVDUXLUUAJAJWOWPSVTTWQTWAUUEUULAWRSWJWKWSWTYSYR
      YMYQYLYKIXQYJGXAXBZYIYHIXRYGXQUXMXCYEYFYDIXTYCXSHXDXEXFYBYAGXAXCXCXCXGXIX
      HHXDXBXJXGXIXHXKXGXIXHXKGYPXAYOKYNJVLXKXLXMXGXNXOXKXP $.

    $( The class of all extensional relationships is a set.  (Contributed by
       SF, 19-Feb-2015.) $)
    extex $p |- Ext e. _V $=
      ( vz vx vr vy va vp csset cins2 cid c1c cv cop wcel wn vex otelins2 bitri
      wex wa ins2ex cext csi3 cins4 cin cima cins3 csymdif ccompl cdif cvv wral
      wbr wb weq wi copab df-ext opex elcompl wrex csn wel elin opelssetsn snex
      eldif elsymdif wceq elima1c oqelins4 otsnelsi3 df-br ideq 3bitr2i anbi12i
      3bitri exbii df-clel 3bitr4i otelins3 bibi12i xchbinx df-rex dfral2 sneqb
      bitr4i equcom notbii rexanali rexnal con2bii opabbi2i eqtr4i ssetex si3ex
      idex ins4ex inex 1cex imaex ins3ex symdifex complex difex eqeltri ) UAGHZ
      XFHZXGHZIUBZUCZXGUDZJUEZUCZHZXJGUFZHZHZHZUDZJUEZUGZUDZJUEZUHZIUFZUIZUDZJU
      EZUDZJUEZUHZUJUAAKZBKZCKZULZYLDKZYNULZUMZAEKZUKZBDUNZUODYSUKZBYSUKZCEUPYK
      BDACEUQUUCCEYKYNYSLZYKMUUDYJMZNUUCUUDYJYNYSCOZEOZURZUSUUEUUCUUEUUBNZBYSUT
      ZUUCNYMVAZUUDLZYIMZBRBEVBZUUISZBRUUEUUJUUMUUOBUUMUULXFMZUULYHMZSUUOUULXFY
      HVCUUPUUNUUQUUIUUPUUKYSLGMUUNUUKYNYSGUUFPYMYSBOZUUGVDQUUQYTUUANZSZDYSUTZU
      UIYPVAZUULLZYGMZDRDEVBZUUTSZDRUUQUVAUVDUVFDUVDUVCXGMZUVCYFMZSUVFUVCXGYFVC
      UVGUVEUVHUUTUVGUVBUUDLXFMUVBYSLGMUVEUVBUUKUUDXFYMVEZPUVBYNYSGUUFPYPYSDOZU
      UGVDVPUVHUVCYDMZUVCYEMZNZSUUTUVCYDYEVFUVKYTUVMUUSUVKYRNZAYSUTZNYTUVKUVCYC
      MZUVOUVCYCUVBUULYPVEZUUKUUDUVIUUHURZURUSYLVAZUVCLZYBMZARAEVBZUVNSZARUVPUV
      OUWAUWCAUWAUVTXHMZUVTYAMZSUWCUVTXHYAVCUWDUWBUWEUVNUWDUVSUULLZXGMUVSUUDLXF
      MZUWBUVSUVBUULXGUVQPUVSUUKUUDXFUVIPUWGUVSYSLGMUWBUVSYNYSGUUFPYLYSAOZUUGVD
      QVPUWEUVTXNMZUVTXTMZUMYRUVTXNXTVGUWIYOUWJYQUWIUWFXMMZYOUVSUVBUULXMUVQPUVS
      UUKYNLZLZXLMZFKZYLYMLZVHZFCVBZSZFRZUWKYOUWNUWOVAZUWMLZXKMZFRUWTFUWMXKVIUX
      CUWSFUXCUXBXJMZUXBXGMZSUWSUXBXJXGVCUXDUWQUXEUWRUXDUXAUVSUUKLLXIMZUWQUXAUV
      SUUKYNXIUUFVJUXFUWOUWPLIMUWOUWPIULUWQUWOYLYMIFOZUWHUURVKUWOUWPIVLUWOUWPYL
      YMUWHUURURVMVNQUXEUXAUWLLXFMUXAYNLGMZUWRUXAUVSUWLXFYLVEZPUXAUUKYNGUVIPUWO
      YNUXGUUFVDZVPVOQVQQUVSUUKYNYSXLUUGVJYOUWPYNMUWTYLYMYNVLFUWPYNVRQVSQUXAUVT
      LZXSMZFRUWOYLYPLZVHZUWRSZFRZUWJYQUXLUXOFUXLUXKXJMZUXKXRMZSUXOUXKXJXRVCUXQ
      UXNUXRUWRUXQUXAUVSUVBLLXIMZUXNUXAUVSUVBUULXIUVRVJUXSUWOUXMLIMUWOUXMIULUXN
      UWOYLYPIUXGUWHUVJVKUWOUXMIVLUWOUXMYLYPUWHUVJURVMVNQUXRUXAUVCLXQMUXAUULLXP
      MZUWRUXAUVSUVCXQUXIPUXAUVBUULXPUVQPUXTUXAUUDLXOMUXHUWRUXAUUKUUDXOUVIPUXAY
      NYSGUUGVTUXJVPVPVOQVQFUVTXSVIYQUXMYNMUXPYLYPYNVLFUXMYNVRQVSWAWBVOQVQAUVCY
      BVIUVNAYSWCVSWBYRAYSWDWFUVLUUAUVLUVBUUKLIMUVBUUKIULZUUAUVBUUKUUDIUUHVTUVB
      UUKIVLUYAUVBUUKVHDBUNUUAUVBUUKUVIVMYPYMUVJWEDBWGVPVNWHVOQVOQVQDUULYGVIUUT
      DYSWCVSYTUUADYSWIQVOQVQBUUDYIVIUUIBYSWCVSUUBBYSWJQWKWFWLWMYJYIJXFYHGWNTZY
      GJXGYFXFUYBTZYDYEYCYBJXHYAXGUYCTXNXTXMXLXKJXJXGXIIWPWOWQZUYCWRWSWTWQTXSJX
      JXRUYDXQXPXOGWNXATTTWRWSWTXBWRWSWTXCIWPXAXDWRWSWTWRWSWTXCXE $.

    $( The class of all symmetric relationships is a set.  (Contributed by SF,
       20-Feb-2015.) $)
    symex $p |- Sym e. _V $=
      ( vx vy vr va vp csset cswap cin c1c cid cv cop wn vex wex otelins2 bitri
      wcel wa anbi12i csym cins2 csi3 cins4 cima cdif ccompl cvv wbr wral copab
      wi df-sym opex elcompl wrex csn wel elin opelssetsn 3bitri oqelins4 eldif
      snex otsnelsi3 df-br brswap2 3bitr2i exbii elima1c df-clel 3bitr4i notbii
      df-rex rexanali rexnal con2bii bitr4i opabbi2i eqtr4i ssetex ins2ex si3ex
      wceq ideq swapex ins4ex inex 1cex imaex idex difex complex eqeltri ) UAFU
      BZWOUBZGUCZUDZWPHZIUEZJUCZUDZWPHZIUEZUFZUDZHZIUEZHZIUEZUGZUHUAAKZBKZCKZUI
      ZXMXLXNUIZULBDKZUJZAXQUJZCDUKXKABCDUMXSCDXKXNXQLZXKRXTXJRZMXSXTXJXNXQCNZD
      NZUNUOYAXSYAXRMZAXQUPZXSMXLUQZXTLZXIRZAOADURZYDSZAOYAYEYHYJAYHYGWORZYGXHR
      ZSYJYGWOXHUSYKYIYLYDYKYFXQLFRYIYFXNXQFYBPXLXQANZYCUTQYLXOXPMZSZBXQUPZYDXM
      UQZYGLZXGRZBOBDURZYOSZBOYLYPYSUUABYSYRWPRZYRXFRZSUUAYRWPXFUSUUBYTUUCYOUUB
      YQXTLWORYQXQLFRYTYQYFXTWOXLVDZPYQXNXQFYBPXMXQBNZYCUTVAUUCYQYFXNLZLZXERUUG
      WTRZUUGXDRZMZSYOYQYFXNXQXEYCVBUUGWTXDVCUUHXOUUJYNEKZUQZUUGLZWSRZEOUUKXLXM
      LZWDZECURZSZEOZUUHXOUUNUUREUUNUUMWRRZUUMWPRZSUURUUMWRWPUSUUTUUPUVAUUQUUTU
      ULYQYFLLZWQRZUUPUULYQYFXNWQYBVBUVCUUKXMXLLZLZGRUUKUVDGUIUUPUUKXMXLGENZUUE
      YMVEUUKUVDGVFUUKXMXLUUEYMVGVHQUVAUULUUFLWORUULXNLFRUUQUULYQUUFWOXMVDPUULY
      FXNFUUDPUUKXNUVFYBUTVAZTQVIEUUGWSVJXOUUOXNRUUSXLXMXNVFEUUOXNVKQVLUUIXPUUM
      XCRZEOUUKUVDWDZUUQSZEOZUUIXPUVHUVJEUVHUUMXBRZUVASUVJUUMXBWPUSUVLUVIUVAUUQ
      UVLUVBXARZUVIUULYQYFXNXAYBVBUVMUVEJRUUKUVDJUIUVIUUKXMXLJUVFUUEYMVEUUKUVDJ
      VFUUKUVDXMXLUUEYMUNWEVHQUVGTQVIEUUGXCVJXPUVDXNRUVKXMXLXNVFEUVDXNVKQVLVMTV
      ATQVIBYGXGVJYOBXQVNVLXOXPBXQVOQTQVIAXTXIVJYDAXQVNVLXRAXQVPQVQVRVSVTXJXIIW
      OXHFWAWBZXGIWPXFWOUVNWBZXEWTXDWSIWRWPWQGWFWCWGUVOWHWIWJXCIXBWPXAJWKWCWGUV
      OWHWIWJWLWGWHWIWJWHWIWJWMWN $.
  $}

  $( The class of all partial orderings is a set.  (Contributed by SF,
     11-Mar-2015.) $)
  partialex $p |- Po e. _V $=
    ( cpartial cref ctrans cin cantisym df-partial refex transex inex antisymex
    cvv eqeltri ) ABCDZEDKFMEBCGHIJIL $.

  $( The class of all strict orderings is a set.  (Contributed by SF,
     19-Feb-2015.) $)
  strictex $p |- Or e. _V $=
    ( cstrict cpartial cconnex cin df-strict partialex connexex inex eqeltri
    cvv ) ABCDJEBCFGHI $.

  $( The class of all well orderings is a set.  (Contributed by SF,
     19-Feb-2015.) $)
  weex $p |- We e. _V $=
    ( cwe cstrict cfound cin cvv df-we strictex foundex inex eqeltri ) ABCDEFBC
    GHIJ $.

  $( The class of all equivalence relationships is a set.  (Contributed by SF,
     20-Feb-2015.) $)
  erex $p |- Er e. _V $=
    ( cer csym ctrans cin cvv df-er symex transex inex eqeltri ) ABCDEFBCGHIJ
    $.

  ${
    $d A a $.  $d a r $.  $d A r $.  $d a x $.  $d A x $.  $d a y $.  $d A y $.
    $d a z $.  $d A z $.  $d R a $.  $d R r $.  $d r x $.  $d R x $.  $d r y $.
    $d R y $.  $d r z $.  $d R z $.  $d X x $.  $d x y $.  $d X y $.  $d x z $.
    $d X z $.  $d Y y $.  $d y z $.  $d Y z $.  $d Z z $.
    trd.1 $e |- ( ph -> R Trans A ) $.
    trd.2 $e |- ( ph -> X e. A ) $.
    trd.3 $e |- ( ph -> Y e. A ) $.
    trd.4 $e |- ( ph -> Z e. A ) $.
    trd.5 $e |- ( ph -> X R Y ) $.
    trd.6 $e |- ( ph -> Y R Z ) $.
    $( Transitivity law in natural deduction form.  (Contributed by SF,
       20-Feb-2015.) $)
    trd $p |- ( ph -> X R Z ) $=
      ( vx vy vz wbr cv wa wi wral vr va ctrans cvv wcel brex wceq breq anbi12d
      wb imbi12d ralbidv 2ralbidv raleq raleqbi1dv df-trans brabg syl ibi breq1
      anbi1d breq2 imbi1d anbi2d rspc3v syl3anc mpd mp2and ) ADECPZEFCPZDFCPZKL
      AMQZNQZCPZVMOQZCPZRZVLVOCPZSZOBTZNBTZMBTZVIVJRZVKSZACBUCPZWBGWEWBWECUDUEB
      UDUERWEWBUJCBUCUFVLVMUAQZPZVMVOWFPZRZVLVOWFPZSZOUBQZTZNWLTMWLTVSOWLTZNWLT
      ZMWLTWBUAUBCBUDUDUCWFCUGZWMWNMNWLWLWPWKVSOWLWPWIVQWJVRWPWGVNWHVPVLVMWFCUH
      VMVOWFCUHUIVLVOWFCUHUKULUMWOWAMWLBWNVTNWLBVSOWLBUNUOUOMNOUAUBUPUQURUSURAD
      BUEEBUEFBUEWBWDSHIJVSWDDVMCPZVPRZDVOCPZSVIEVOCPZRZWSSMNODEFBBBVLDUGZVQWRV
      RWSXBVNWQVPVLDVMCUTVAVLDVOCUTUKVMEUGZWRXAWSXCWQVIVPWTVMEDCVBVMEVOCUTUIVCV
      OFUGZXAWCWSVKXDWTVJVIVOFECVBVDVOFDCVBUKVEVFVGVH $.
  $}

  ${
    $d A a $.  $d a r $.  $d A r $.  $d a x $.  $d A x $.  $d a y $.  $d a z $.
    $d R a $.  $d R r $.  $d r x $.  $d R x $.  $d r y $.  $d R y $.  $d r z $.
    $d R z $.  $d X x $.  $d x y $.  $d X y $.  $d x z $.  $d X z $.  $d y z $.
    frd.1 $e |- ( ph -> R Fr A ) $.
    frd.2 $e |- ( ph -> X e. V ) $.
    frd.3 $e |- ( ph -> X C_ A ) $.
    frd.4 $e |- ( ph -> X =/= (/) ) $.
    $( Founded relationship in natural deduction form.  (Contributed by SF,
       12-Mar-2015.) $)
    frd $p |- ( ph -> E. y e. X A. z e. X ( z R y -> z = y ) ) $=
      ( vx va vr wss c0 cv wi wa cvv wne wbr weq wral wrex wcel wal cfound brex
      wceq breq imbi1d rexralbidv imbi2d albidv sseq2 anbi1d df-found brabg syl
      wb ibi sseq1 neeq1 anbi12d raleq rexeqbi1dv imbi12d spcgv sylc mp2and ) A
      GDOZGPUAZCQZBQZEUBZCBUCZRZCGUDZBGUEZJKAGFUFLQZDOZWAPUAZSZVRCWAUDZBWAUEZRZ
      LUGZVLVMSZVTRZIAEDUHUBZWHHWKWHWKETUFDTUFSWKWHVAEDUHUIWAMQZOZWCSZVNVONQZUB
      ZVQRZCWAUDBWAUEZRZLUGWNWFRZLUGWHNMEDTTUHWOEUJZWSWTLXAWRWFWNXAWQVRBCWAWAXA
      WPVPVQVNVOWOEUKULUMUNUOWLDUJZWTWGLXBWNWDWFXBWMWBWCWLDWAUPUQULUOLCBNMURUSU
      TVBUTWGWJLGFWAGUJZWDWIWFVTXCWBVLWCVMWAGDVCWAGPVDVEWEVSBWAGVRCWAGVFVGVHVIV
      JVK $.
  $}

  ${
    $d A a $.  $d a r $.  $d A r $.  $d a x $.  $d A x $.  $d a y $.  $d A y $.
    $d a z $.  $d A z $.  $d ph z $.  $d R a $.  $d R r $.  $d r x $.
    $d R x $.  $d r y $.  $d R y $.  $d r z $.  $d R z $.  $d X x $.  $d x y $.
    $d X y $.  $d x z $.  $d X z $.  $d Y y $.  $d y z $.  $d Y z $.
    extd.1 $e |- ( ph -> R Ext A ) $.
    extd.2 $e |- ( ph -> X e. A ) $.
    extd.3 $e |- ( ph -> Y e. A ) $.
    extd.4 $e |- ( ( ph /\ z e. A ) -> ( z R X <-> z R Y ) ) $.
    $( Extensional relationship in natural deduction form.  (Contributed by SF,
       20-Feb-2015.) $)
    extd $p |- ( ph -> X = Y ) $=
      ( vx vy wcel cv wbr wb wral wi wceq cvv vr weq jca cext brex breq bibi12d
      va wa ralbidv imbi1d 2ralbidv raleq raleqbi1dv df-ext brabg syl ralrimiva
      ibi breq2 bibi1d eqeq1 imbi12d bibi2d eqeq2 rspc2v syl3c ) AECMZFCMZUIBNZ
      KNZDOZVJLNZDOZPZBCQZKLUBZRZLCQZKCQZVJEDOZVJFDOZPZBCQZEFSZAVHVIHIUCADCUDOZ
      VTGWFVTWFDTMCTMUIWFVTPDCUDUEVJVKUANZOZVJVMWGOZPZBUHNZQZVQRZLWKQKWKQVOBWKQ
      ZVQRZLWKQZKWKQVTUAUHDCTTUDWGDSZWMWOKLWKWKWQWLWNVQWQWJVOBWKWQWHVLWIVNVJVKW
      GDUFVJVMWGDUFUGUJUKULWPVSKWKCWOVRLWKCWKCSWNVPVQVOBWKCUMUKUNUNKLBUAUHUOUPU
      QUSUQAWCBCJURVRWDWERWAVNPZBCQZEVMSZRKLEFCCVKESZVPWSVQWTXAVOWRBCXAVLWAVNVK
      EVJDUTVAUJVKEVMVBVCVMFSZWSWDWTWEXBWRWCBCXBVNWBWAVMFVJDUTVDUJVMFEVEVCVFVG
      $.
  $}

  ${
    $d A a $.  $d a r $.  $d A r $.  $d a x $.  $d A x $.  $d a y $.  $d A y $.
    $d R a $.  $d R r $.  $d r x $.  $d R x $.  $d r y $.  $d R y $.  $d X x $.
    $d x y $.  $d X y $.  $d Y y $.
    symd.1 $e |- ( ph -> R Sym A ) $.
    symd.2 $e |- ( ph -> X e. A ) $.
    symd.3 $e |- ( ph -> Y e. A ) $.
    symd.4 $e |- ( ph -> X R Y ) $.
    $( Symmetric relationship in natural deduction form.  (Contributed by SF,
       20-Feb-2015.) $)
    symd $p |- ( ph -> Y R X ) $=
      ( vx vy vr va wcel cv wbr wi wral csym cvv wa jca brex wceq breq 2ralbidv
      wb imbi12d raleq raleqbi1dv df-sym brabg syl ibi breq1 breq2 rspc2v syl3c
      ) ADBNZEBNZUAJOZKOZCPZVBVACPZQZKBRZJBRZDECPZEDCPZAUSUTGHUBACBSPZVGFVJVGVJ
      CTNBTNUAVJVGUGCBSUCVAVBLOZPZVBVAVKPZQZKMOZRJVORVEKVORZJVORVGLMCBTTSVKCUDZ
      VNVEJKVOVOVQVLVCVMVDVAVBVKCUEVBVAVKCUEUHUFVPVFJVOBVEKVOBUIUJJKLMUKULUMUNU
      MIVEVHVIQDVBCPZVBDCPZQJKDEBBVADUDVCVRVDVSVADVBCUOVADVBCUPUHVBEUDVRVHVSVIV
      BEDCUPVBEDCUOUHUQUR $.
  $}

  ${
    $d A a $.  $d a r $.  $d A r $.  $d a x $.  $d A x $.  $d a y $.  $d A y $.
    $d a z $.  $d A z $.  $d ph x $.  $d ph y $.  $d ph z $.  $d R a $.
    $d R r $.  $d r x $.  $d R x $.  $d r y $.  $d R y $.  $d r z $.  $d R z $.
    $d x y $.  $d x z $.  $d y z $.
    trrd.1 $e |- ( ph -> R e. V ) $.
    trrd.2 $e |- ( ph -> A e. W ) $.
    trrd.3 $e |- ( ( ph /\ ( x e. A /\ y e. A /\ z e. A ) /\
           ( x R y /\ y R z ) ) -> x R z ) $.
    $( Deduce transitivity from its properties.  (Contributed by SF,
       22-Feb-2015.) $)
    trrd $p |- ( ph -> R Trans A ) $=
      ( vr va ctrans wbr cv wa wral wcel breq wi w3a df-3an 3exp exp3a ralrimdv
      syl5bir ralrimivv wb wceq anbi12d imbi12d ralbidv 2ralbidv raleq df-trans
      raleqbi1dv brabg syl2anc mpbird ) AFENOZBPZCPZFOZVCDPZFOZQZVBVEFOZUAZDERZ
      CERZBERZAVJBCEEAVBESZVCESZQZVIDEAVOVEESZVIVOVPQVMVNVPUBZAVIVMVNVPUCAVQVGV
      HKUDUGUEUFUHAFGSEHSVAVLUIIJVBVCLPZOZVCVEVROZQZVBVEVROZUAZDMPZRZCWDRBWDRVI
      DWDRZCWDRZBWDRVLLMFEGHNVRFUJZWEWFBCWDWDWHWCVIDWDWHWAVGWBVHWHVSVDVTVFVBVCV
      RFTVCVEVRFTUKVBVEVRFTULUMUNWGVKBWDEWFVJCWDEVIDWDEUOUQUQBCDLMUPURUSUT $.
  $}

  ${
    $d A a $.  $d a r $.  $d A r $.  $d a x $.  $d A x $.  $d ph x $.
    $d R a $.  $d R r $.  $d r x $.  $d R x $.
    refrd.1 $e |- ( ph -> R e. V ) $.
    refrd.2 $e |- ( ph -> A e. W ) $.
    refrd.3 $e |- ( ( ph /\ x e. A ) -> x R x ) $.
    $( Deduce reflexitiviy from its properties.  (Contributed by SF,
       12-Mar-2015.) $)
    refrd $p |- ( ph -> R Ref A ) $=
      ( vr va cref wbr cv wral ralrimiva wcel wb wceq breq ralbidv raleq df-ref
      brabg syl2anc mpbird ) ADCLMZBNZUHDMZBCOZAUIBCIPADEQCFQUGUJRGHUHUHJNZMZBK
      NZOUIBUMOUJJKDCEFLUKDSULUIBUMUHUHUKDTUAUIBUMCUBBJKUCUDUEUF $.
  $}

  ${
    $d A a $.  $d a r $.  $d A r $.  $d a x $.  $d A x $.  $d R a $.  $d R r $.
    $d r x $.  $d R x $.  $d X x $.
    refd.1 $e |- ( ph -> R Ref A ) $.
    refd.2 $e |- ( ph -> X e. A ) $.
    $( Natural deduction form of reflexitivity.  (Contributed by SF,
       20-Mar-2015.) $)
    refd $p |- ( ph -> X R X ) $=
      ( vx vr va cv wbr wral wcel cref cvv wa wb brex wceq syl breq raleq brabg
      ralbidv df-ref ibi id breq12d rspccv sylc ) AGJZUKCKZGBLZDBMDDCKZACBNKZUM
      EUOUMUOCOMBOMPUOUMQCBNRUKUKHJZKZGIJZLULGURLUMHICBOONUPCSUQULGURUKUKUPCUAU
      DULGURBUBGHIUEUCTUFTFULUNGDBUKDSZUKDUKDCUSUGZUTUHUIUJ $.
  $}

  ${
    $d A a $.  $d a r $.  $d A r $.  $d a x $.  $d A x $.  $d a y $.  $d A y $.
    $d ph x $.  $d ph y $.  $d R a $.  $d R r $.  $d r x $.  $d R x $.
    $d r y $.  $d R y $.  $d x y $.
    antird.1 $e |- ( ph -> R e. V ) $.
    antird.2 $e |- ( ph -> A e. W ) $.
    antird.3 $e |- ( ( ph /\ ( x e. A /\ y e. A ) /\ ( x R y /\ y R x ) ) ->
       x = y ) $.
    $( Deduce antisymmetry from its properties.  (Contributed by SF,
       12-Mar-2015.) $)
    antird $p |- ( ph -> R Antisym A ) $=
      ( vr va cantisym wbr cv wa wi wral wcel breq 3expia ralrimivva wb anbi12d
      weq wceq imbi1d 2ralbidv raleq raleqbi1dv df-antisym brabg syl2anc mpbird
      ) AEDMNZBOZCOZENZUQUPENZPZBCUEZQZCDRZBDRZAVBBCDDAUPDSUQDSPUTVAJUAUBAEFSDG
      SUOVDUCHIUPUQKOZNZUQUPVENZPZVAQZCLOZRBVJRVBCVJRZBVJRVDKLEDFGMVEEUFZVIVBBC
      VJVJVLVHUTVAVLVFURVGUSUPUQVEETUQUPVEETUDUGUHVKVCBVJDVBCVJDUIUJBCKLUKULUMU
      N $.
  $}

  ${
    $d A a $.  $d a r $.  $d A r $.  $d a x $.  $d A x $.  $d a y $.  $d A y $.
    $d R a $.  $d R r $.  $d r x $.  $d R x $.  $d r y $.  $d R y $.  $d X x $.
    $d x y $.  $d X y $.  $d Y y $.
    antid.1 $e |- ( ph -> R Antisym A ) $.
    antid.2 $e |- ( ph -> X e. A ) $.
    antid.3 $e |- ( ph -> Y e. A ) $.
    antid.4 $e |- ( ph -> X R Y ) $.
    antid.5 $e |- ( ph -> Y R X ) $.
    $( The antisymmetry property.  (Contributed by SF, 18-Mar-2015.) $)
    antid $p |- ( ph -> X = Y ) $=
      ( vx vy wbr wceq cv wa wi wral cvv wcel vr weq cantisym brex breq anbi12d
      va wb imbi1d 2ralbidv raleq raleqbi1dv df-antisym brabg breq1 breq2 eqeq1
      syl ibi imbi12d eqeq2 rspc2v syl2anc mpd mp2and ) ADECMZEDCMZDENZIJAKOZLO
      ZCMZVJVICMZPZKLUBZQZLBRZKBRZVFVGPZVHQZACBUCMZVQFVTVQVTCSTBSTPVTVQUHCBUCUD
      VIVJUAOZMZVJVIWAMZPZVNQZLUGOZRKWFRVOLWFRZKWFRVQUAUGCBSSUCWACNZWEVOKLWFWFW
      HWDVMVNWHWBVKWCVLVIVJWACUEVJVIWACUEUFUIUJWGVPKWFBVOLWFBUKULKLUAUGUMUNURUS
      URADBTEBTVQVSQGHVOVSDVJCMZVJDCMZPZDVJNZQKLDEBBVIDNZVMWKVNWLWMVKWIVLWJVIDV
      JCUOVIDVJCUPUFVIDVJUQUTVJENZWKVRWLVHWNWIVFWJVGVJEDCUPVJEDCUOUFVJEDVAUTVBV
      CVDVE $.
  $}

  ${
    $d A a $.  $d a r $.  $d A r $.  $d a x $.  $d A x $.  $d a y $.  $d A y $.
    $d ph x $.  $d ph y $.  $d R a $.  $d R r $.  $d r x $.  $d R x $.
    $d r y $.  $d R y $.  $d x y $.
    connexrd.1 $e |- ( ph -> R e. V ) $.
    connexrd.2 $e |- ( ph -> A e. W ) $.
    connexrd.3 $e |- ( ( ph /\ x e. A /\ y e. A ) -> ( x R y \/ y R x ) ) $.
    $( Deduce connectivity from its properties.  (Contributed by SF,
       12-Mar-2015.) $)
    connexrd $p |- ( ph -> R Connex A ) $=
      ( vr va cconnex wbr cv wo wral wcel 3expib breq ralrimivv wb wceq orbi12d
      2ralbidv raleq raleqbi1dv df-connex brabg syl2anc mpbird ) AEDMNZBOZCOZEN
      ZUNUMENZPZCDQZBDQZAUQBCDDAUMDRUNDRUQJSUAAEFRDGRULUSUBHIUMUNKOZNZUNUMUTNZP
      ZCLOZQBVDQUQCVDQZBVDQUSKLEDFGMUTEUCZVCUQBCVDVDVFVAUOVBUPUMUNUTETUNUMUTETU
      DUEVEURBVDDUQCVDDUFUGBCKLUHUIUJUK $.
  $}

  ${
    $d A a $.  $d a r $.  $d A r $.  $d a x $.  $d A x $.  $d a y $.  $d A y $.
    $d R a $.  $d R r $.  $d r x $.  $d R x $.  $d r y $.  $d R y $.  $d X x $.
    $d x y $.  $d X y $.  $d Y y $.
    connexd.1 $e |- ( ph -> R Connex A ) $.
    connexd.2 $e |- ( ph -> X e. A ) $.
    connexd.3 $e |- ( ph -> Y e. A ) $.
    $( The connectivity property.  (Contributed by SF, 18-Mar-2015.) $)
    connexd $p |- ( ph -> ( X R Y \/ Y R X ) ) $=
      ( vx vy vr va cconnex wbr wo cv wral cvv wcel wceq wa wb orbi12d 2ralbidv
      brex breq raleq raleqbi1dv df-connex brabg syl ibi wi breq1 breq2 syl2anc
      rspc2v syl5 mpd ) ACBMNZDECNZEDCNZOZFUTIPZJPZCNZVEVDCNZOZJBQZIBQZAVCUTVJU
      TCRSBRSUAUTVJUBCBMUEVDVEKPZNZVEVDVKNZOZJLPZQIVOQVHJVOQZIVOQVJKLCBRRMVKCTZ
      VNVHIJVOVOVQVLVFVMVGVDVEVKCUFVEVDVKCUFUCUDVPVIIVOBVHJVOBUGUHIJKLUIUJUKULA
      DBSEBSVJVCUMGHVHVCDVECNZVEDCNZOIJDEBBVDDTVFVRVGVSVDDVECUNVDDVECUOUCVEETVR
      VAVSVBVEEDCUOVEEDCUNUCUQUPURUS $.
  $}

  $( Equivalence relationship as symmetric, transitive relationship.
     (Contributed by SF, 22-Feb-2015.) $)
  ersymtr $p |- ( R Er A <-> ( R Sym A /\ R Trans A ) ) $=
    ( cer wbr csym ctrans cin wa df-er breqi brin bitri ) BACDBAEFGZDBAEDBAFDHB
    ACMIJBAEFKL $.

  $( Partial ordering as reflexive, transitive, antisymmetric relationship.
     (Contributed by SF, 12-Mar-2015.) $)
  porta $p |- ( R Po A <-> ( R Ref A /\ R Trans A /\ R Antisym A ) ) $=
    ( cref ctrans cin cantisym wbr wa cpartial w3a brin anbi1i bitri df-partial
    breqi df-3an 3bitr4i ) BACDEZFEZGZBACGZBADGZHZBAFGZHZBAIGUAUBUDJTBARGZUDHUE
    BARFKUFUCUDBACDKLMBAISNOUAUBUDPQ $.

  $( Linear ordering as partial, connected relationship.  (Contributed by SF,
     12-Mar-2015.) $)
  sopc $p |- ( R Or A <-> ( R Po A /\ R Connex A ) ) $=
    ( cstrict wbr cpartial cconnex cin wa df-strict breqi brin bitri ) BACDBAEF
    GZDBAEDBAFDHBACMIJBAEFKL $.

  ${
    $d A x $.  $d A y $.  $d A z $.  $d ch x $.  $d ps y $.  $d ps z $.
    $d R y $.  $d R z $.  $d th x $.  $d x y $.  $d x z $.  $d y z $.
    frds.1 $e |- { x | ps } e. _V $.
    frds.2 $e |- ( x = y -> ( ps <-> ch ) ) $.
    frds.3 $e |- ( x = z -> ( ps <-> th ) ) $.
    frds.4 $e |- ( ph -> R Fr A ) $.
    frds.5 $e |- ( ph -> E. x e. A ps ) $.
    $( Substitution schema verson of ~ frd .  (Contributed by SF,
       19-Mar-2015.) $)
    frds $p |- ( ph -> E. y e. A ( ch /\ A. z e. A ( ( th /\ z R y ) -> z = y )
        ) ) $=
      ( cv wi wcel wa wrex cvv wbr weq cab wral cin dfrab2 df-rab eqtr3i cfound
      crab brex syl simprd inexg sylancr syl5eqelr wss ssab2 a1i wex wne df-rex
      c0 sylib abn0 sylibr frd eleq1 anbi12d rexab anass exbii bitri wal impexp
      imbi2i bitr4i albii ralab df-ral 3bitr4i rexbii ) AGOZFOZIUAZGFUBZPZGEOZH
      QZBRZEUCZUDZFWKSZCDWERWFPZGHUDZRZFHSZAFGHITWKMAWKBEUCZHUEZTBEHUJWSWKBEHUF
      BEHUGUHAWRTQHTQZWSTQJAITQZWTAIHUIUAXAWTRMIHUIUKULUMWRHTTUNUOUPWKHUQABEHUR
      USAWJEUTZWKVCVAABEHSXBNBEHVBVDWJEVEVFVGWOFWKSZWDHQZWPRZFUTZWMWQXCXDCRZWOR
      ZFUTXFWJXGWOFEEFUBWIXDBCWHWDHVHKVIVJXHXEFXDCWOVKVLVMWLWOFWKWCHQZDRZWGPZGV
      NXIWNPZGVNWLWOXKXLGXKXIDWGPZPXLXIDWGVOWNXMXIDWEWFVOVPVQVRWJXJWGGEEGUBWIXI
      BDWHWCHVHLVIVSWNGHVTWAWBWPFHVBWAVD $.
  $}

  ${
    $d A x $.  $d A y $.  $d A z $.  $d ph x $.  $d ph y $.  $d ph z $.
    $d R x $.  $d R y $.  $d R z $.  $d x y $.  $d x z $.  $d y z $.
    pod.1 $e |- ( ph -> R e. V ) $.
    pod.2 $e |- ( ph -> A e. W ) $.
    pod.3 $e |- ( ( ph /\ x e. A ) -> x R x ) $.
    pod.4 $e |- ( ( ph /\ ( x e. A /\ y e. A /\ z e. A ) /\
       ( x R y /\ y R z ) ) -> x R z ) $.
    pod.5 $e |- ( ( ph /\ ( x e. A /\ y e. A ) /\ ( x R y /\ y R x ) ) ->
      x = y ) $.
    $( A reflexive, transitive, and anti-symmetric ordering is a partial
       ordering.  (Contributed by SF, 22-Feb-2015.) $)
    pod $p |- ( ph -> R Po A ) $=
      ( cref wbr ctrans cantisym cpartial refrd trrd antird porta syl3anbrc ) A
      FENOFEPOFEQOFEROABEFGHIJKSABCDEFGHIJLTABCEFGHIJMUAEFUBUC $.
  $}

  ${
    $d A x $.  $d A y $.  $d ph x $.  $d ph y $.  $d R x $.  $d R y $.
    $d x y $.  $d A z $.  $d ph z $.  $d R z $.  $d x z $.  $d y z $.
    sod.1 $e |- ( ph -> R e. V ) $.
    sod.2 $e |- ( ph -> A e. W ) $.
    sod.3 $e |- ( ( ph /\ x e. A ) -> x R x ) $.
    sod.4 $e |- ( ( ph /\ ( x e. A /\ y e. A /\ z e. A ) /\
       ( x R y /\ y R z ) ) -> x R z ) $.
    sod.5 $e |- ( ( ph /\ ( x e. A /\ y e. A ) /\ ( x R y /\ y R x ) ) ->
      x = y ) $.
    sod.6 $e |- ( ( ph /\ x e. A /\ y e. A ) ->
       ( x R y \/ y R x ) ) $.
    $( A reflexive, transitive, antisymmetric, and connected relationship is a
       strict ordering.  (Contributed by SF, 12-Mar-2015.) $)
    sod $p |- ( ph -> R Or A ) $=
      ( cpartial wbr cconnex cstrict pod connexrd sopc sylanbrc ) AFEOPFEQPFERP
      ABCDEFGHIJKLMSABCEFGHIJNTEFUAUB $.
  $}

  ${
    $d A x $.  $d A y $.  $d A z $.  $d ch x $.  $d ph y $.  $d ph z $.
    $d ps y $.  $d ps z $.  $d R y $.  $d R z $.  $d th x $.  $d x y $.
    $d x z $.  $d y z $.
    weds.1 $e |- { x | ps } e. _V $.
    weds.2 $e |- ( x = y -> ( ps <-> ch ) ) $.
    weds.3 $e |- ( x = z -> ( ps <-> th ) ) $.
    weds.4 $e |- ( ph -> R We A ) $.
    weds.5 $e |- ( ph -> E. x e. A ps ) $.
    $( Any property that holds for some element of a well-ordered set ` A ` has
       an ` R ` minimal element satisfying that property.  (Contributed by SF,
       20-Mar-2015.) $)
    weds $p |- ( ph -> E. y e. A ( ch /\ A. z e. A ( th -> y R z ) ) ) $=
      ( wbr wa wi cfound cstrict syl cv weq wral wrex cwe cin df-we breqi bitri
      brin simprbi frds wcel impexp cconnex simplbi cpartial sopc adantr simprl
      wo simprr connexd ax1 a1i pm2.27 cref ctrans cantisym porta simp1bi sylbi
      simpr refd adantrl breq1 syl5ibcom syl9r jaod mpd imim2d anassrs ralimdva
      syl5bi anim2d reximdva ) ACDGUAZFUAZIOZPGFUBZQZGHUCZPZFHUDCDWHWGIOZQZGHUC
      ZPZFHUDABCDEFGHIJKLAIHUEOZIHROZMWRIHSOZWSWRIHSRUFZOWTWSPIHUEXAUGUHIHSRUJU
      IZUKTNULAWMWQFHAWHHUMZPZWLWPCXDWKWOGHAXCWGHUMZWKWOQWKDWIWJQZQAXCXEPZPZWOD
      WIWJUNXHXFWNDXHWNWIVAXFWNQZXHHIWHWGAIHUOOZXGAWTXJAWRWTMWRWTWSXBUPTZWTIHUQ
      OZXJHIURZUKTUSAXCXEUTAXCXEVBVCXHWNXIWIWNXIQXHWNXFVDVEWIXFWJXHWNWIWJVFXHWG
      WGIOZWJWNAXEXNXCAXEPHIWGAIHVGOZXEAWTXOXKWTXLXJPXOXMXLXOXJXLXOIHVHOIHVIOHI
      VJVKUSVLTUSAXEVMVNVOWGWHWGIVPVQVRVSVTWAWDWBWCWEWFVT $.
  $}

  ${
    $d R x y z $.  $d ph x y z $.
    ord0.1 $e |- ( ph -> R e. V ) $.
    $( Anything partially orders the empty set.  (Contributed by SF,
       12-Mar-2015.) $)
    po0 $p |- ( ph -> R Po (/) ) $=
      ( vx vy vz c0 cvv wcel 0ex a1i cv wbr noel pm2.21i adantl w3a wa 3ad2ant2
      3ad2ant1 weq adantr pod ) AEFGHBCIDHIJAKLEMZHJZUEUEBNZAUFUGUEOZPQUFFMZHJZ
      GMZHJZRAUEUKBNZUEUIBNZUIUKBNSUFUJUMULUFUMUHPUATUFUJSAEFUBZUNUIUEBNSUFUOUJ
      UFUOUHPUCTUD $.

    $( Anything is connected over the empty set.  (Contributed by SF,
       12-Mar-2015.) $)
    connex0 $p |- ( ph -> R Connex (/) ) $=
      ( vx vy c0 cvv wcel 0ex a1i cv wbr wo noel pm2.21i 3ad2ant2 connexrd ) AE
      FGBCHDGHIAJKELZGIZASFLZBMUASBMNZUAGITUBSOPQR $.

    $( Anything totally orders the empty set.  (Contributed by SF,
       12-Mar-2015.) $)
    so0 $p |- ( ph -> R Or (/) ) $=
      ( c0 cpartial wbr cconnex cstrict po0 connex0 sopc sylanbrc ) ABEFGBEHGBE
      IGABCDJABCDKEBLM $.
  $}

  ${
    $d A a $.  $d a r $.  $d A r $.  $d a x $.  $d A x $.  $d a y $.  $d A y $.
    $d a z $.  $d A z $.  $d ph x $.  $d ph y $.  $d ph z $.  $d R a $.
    $d R r $.  $d r x $.  $d R x $.  $d r y $.  $d R y $.  $d r z $.  $d R z $.
    $d x y $.  $d x z $.  $d y z $.
    iserd.1 $e |- ( ph -> R e. V ) $.
    iserd.2 $e |- ( ph -> A e. W ) $.
    iserd.3 $e |- ( ( ph /\ ( x e. A /\ y e. A ) /\ x R y ) -> y R x ) $.
    iserd.4 $e |- ( ( ph /\ ( x e. A /\ y e. A /\ z e. A ) /\
       ( x R y /\ y R z ) ) -> x R z ) $.
    $( A symmetric, transitive relationship is an equivalence relationship.
       (Contributed by SF, 22-Feb-2015.) $)
    iserd $p |- ( ph -> R Er A ) $=
      ( vr va csym wbr cv wi wral wcel ctrans wa 3expia ralrimivva wb wceq breq
      cer imbi12d 2ralbidv raleq raleqbi1dv df-sym brabg syl2anc mpbird ersymtr
      trrd sylanbrc ) AFEOPZFEUAPFEUHPAUTBQZCQZFPZVBVAFPZRZCESZBESZAVEBCEEAVAET
      VBETUBVCVDKUCUDAFGTEHTUTVGUEIJVAVBMQZPZVBVAVHPZRZCNQZSBVLSVECVLSZBVLSVGMN
      FEGHOVHFUFZVKVEBCVLVLVNVIVCVJVDVAVBVHFUGVBVAVHFUGUIUJVMVFBVLEVECVLEUKULBC
      MNUMUNUOUPABCDEFGHIJLUREFUQUS $.
  $}

  ${
    $d x y z $.
    $( The identity relationship is an equivalence relationship over the
       universe.  (Contributed by SF, 22-Feb-2015.) $)
    ider $p |- _I Er _V $=
      ( vx vy vz cid cvv cer wbr wtru wcel idex a1i vvex cv wa weq equcomi ideq
      vex 3imtr4i 3ad2ant3 w3a eqtr anbi12i iserd trud ) DEFGHABCEDEEDEIHJKEEIH
      LKAMZBMZDGZHUGUFDGZUFEIZUGEIZNABOZBAOUHUIABPUFUGBRQZUGUFARQSTUHUGCMZDGZNZ
      HUFUNDGZUJUKUNEIUAULBCOZNACOUPUQUFUGUNUBUHULUOURUMUGUNCRZQUCUFUNUSQSTUDUE
      $.
  $}

  ${
    $d x y z $.
    $( The subset relationship partially orders the universe.  (Contributed by
       SF, 12-Mar-2015.) $)
    ssetpov $p |- _S Po _V $=
      ( vx vy vz csset cvv cpartial wbr wtru wcel ssetex a1i vvex cv wa wss vex
      ssid brsset anbi12i 3ad2ant3 w3a sstr 3imtr4i weq eqss bitr4i biimpri pod
      mpbir trud ) DEFGHABCEDEEDEIHJKEEIHLKAMZUKDGZHUKEIZNULUKUKOUKQUKUKAPZUNRU
      IKUKBMZDGZUOCMZDGZNZHUKUQDGZUMUOEIZUQEIUAUKUOOZUOUQOZNUKUQOUSUTUKUOUQUBUP
      VBURVCUKUOUNBPZRZUOUQVDCPZRSUKUQUNVFRUCTUPUOUKDGZNZHABUDZUMVANVIVHVIVBUOU
      KOZNVHUKUOUEUPVBVGVJVEUOUKVDUNRSUFUGTUHUJ $.
  $}


$(
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
        Equivalence relations and classes
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
$)

  $( Introduce new constant symbols. $)
  $c /. $.  $( Long slash for quotient set $)

  $( Extend the definition of a class to include equivalence class. $)
  cec $a class [ A ] R $.

  $( Extend the definition of a class to include quotient set. $)
  cqs $a class ( A /. R ) $.

  $( Define the ` R ` -coset of ` A ` .  Exercise 35 of [Enderton] p. 61.  This
     is called the equivalence class of ` A ` modulo ` R ` when ` R ` is an
     equivalence relation.  In this case, ` A ` is a representative (member) of
     the equivalence class ` [ A ] R ` , which contains all sets that are
     equivalent to ` A ` .  Definition of [Enderton] p. 57 uses the notation
     ` [ A ] ` (subscript) ` R ` , although we simply follow the brackets by
     ` R ` since we don't have subscripted expressions.  For an alternate
     definition, see ~ dfec2 .  (Contributed by set.mm contributors,
     22-Feb-2015.) $)
  df-ec $a |- [ A ] R = ( R " { A } ) $.

  ${
    $d y A $.  $d y R $.
    $( Alternate definition of ` R ` -coset of ` A ` .  Definition 34 of
       [Suppes] p. 81.  (Contributed by set.mm contributors, 22-Feb-2015.) $)
    dfec2 $p |- [ A ] R = { y | A R y } $=
      ( cec csn cima cv wbr cab df-ec imasn eqtri ) BCDCBEFBAGCHAIBCJABCKL $.
  $}

  $( An equivalence class modulo a set is a set.  (Contributed by set.mm
     contributors, 24-Jul-1995.) $)
  ecexg $p |- ( R e. B -> [ A ] R e. _V ) $=
    ( wcel cec csn cima cvv df-ec snex imaexg mpan2 syl5eqel ) CBDZACECAFZGZHAC
    INOHDPHDAJCOBHKLM $.

  $( A nonempty equivalence class implies the representative is a set.
     (Contributed by set.mm contributors, 9-Jul-2014.) $)
  ecexr $p |- ( A e. [ B ] R -> B e. _V ) $=
    ( cvv wcel csn cima cec c0 wceq n0i wn snprc imaeq2 sylbi ima0 syl6eq nsyl2
    df-ec eleq2s ) BDEZACBFZGZBCHAUCEUCIJUAUCAKUALZUCCIGZIUDUBIJUCUEJBMUBICNOCP
    QRBCST $.

  ${
    $d x y A $.  $d x y R $.
    $( Define quotient set. ` R ` is usually an equivalence relation.
       Definition of [Enderton] p. 58.  (Contributed by set.mm contributors,
       22-Feb-2015.) $)
    df-qs $a |- ( A /. R ) = { y | E. x e. A y = [ x ] R } $.
  $}

  ${
    ersym.1 $e |- ( ph -> R Er A ) $.
    ersym.2 $e |- ( ph -> X e. A ) $.
    ersym.3 $e |- ( ph -> Y e. A ) $.
    ersym.4 $e |- ( ph -> X R Y ) $.
    $( An equivalence relation is symmetric.  (Contributed by set.mm
       contributors, 22-Feb-2015.) $)
    ersym $p |- ( ph -> Y R X ) $=
      ( cer wbr csym ctrans ersymtr simplbi syl symd ) ABCDEACBJKZCBLKZFRSCBMKB
      CNOPGHIQ $.
  $}

  ${
    ersymb.1 $e |- ( ph -> R Er A ) $.
    ersymb.2 $e |- ( ph -> X e. A ) $.
    ersymb.3 $e |- ( ph -> Y e. A ) $.
    $( An equivalence relation is symmetric.  (Contributed by set.mm
       contributors, 30-Jul-1995.)  (Revised by set.mm contributors,
       9-Jul-2014.) $)
    ersymb $p |- ( ph -> ( X R Y <-> Y R X ) ) $=
      ( wbr wa cer adantr wcel simpr ersym impbida ) ADECIZEDCIZAQJBCDEACBKIZQF
      LADBMZQGLAEBMZQHLAQNOARJBCEDASRFLAUARHLATRGLARNOP $.
  $}

  ${
    ertr.1 $e |- ( ph -> R Er A ) $.
    ertr.2 $e |- ( ph -> X e. A ) $.
    ertr.3 $e |- ( ph -> Y e. A ) $.
    ertr.4 $e |- ( ph -> Z e. A ) $.
    $( An equivalence relation is transitive.  (Contributed by set.mm
       contributors, 4-Jun-1995.)  (Revised by set.mm contributors,
       9-Jul-2014.) $)
    ertr $p |- ( ph -> ( ( X R Y /\ Y R Z ) -> X R Z ) ) $=
      ( wbr wa ctrans cer csym ersymtr simprbi syl adantr wcel simprl simprr ex
      trd ) ADECKZEFCKZLZDFCKAUGLBCDEFACBMKZUGACBNKZUHGUICBOKUHBCPQRSADBTUGHSAE
      BTUGISAFBTUGJSAUEUFUAAUEUFUBUDUC $.

    ${
      ertrd.5 $e |- ( ph -> X R Y ) $.
      ertrd.6 $e |- ( ph -> Y R Z ) $.
      $( A transitivity relation for equivalences.  (Contributed by set.mm
         contributors, 9-Jul-2014.) $)
      ertrd $p |- ( ph -> X R Z ) $=
        ( cer wbr ctrans csym ersymtr simprbi syl trd ) ABCDEFACBMNZCBONZGUACBP
        NUBBCQRSHIJKLT $.

      $( A transitivity relation for equivalences.  (Contributed by set.mm
         contributors, 9-Jul-2014.) $)
      ertr2d $p |- ( ph -> Z R X ) $=
        ( ertrd ersym ) ABCDFGHJABCDEFGHIJKLMN $.
    $}

    ${
      ertr3d.5 $e |- ( ph -> Y R X ) $.
      ertr3d.6 $e |- ( ph -> Y R Z ) $.
      $( A transitivity relation for equivalences.  (Contributed by set.mm
         contributors, 9-Jul-2014.) $)
      ertr3d $p |- ( ph -> X R Z ) $=
        ( ersym ertrd ) ABCDEFGHIJABCEDGIHKMLN $.
    $}

    ${
      ertr4d.5 $e |- ( ph -> X R Y ) $.
      ertr4d.6 $e |- ( ph -> Z R Y ) $.
      $( A transitivity relation for equivalences.  (Contributed by set.mm
         contributors, 9-Jul-2014.) $)
      ertr4d $p |- ( ph -> X R Z ) $=
        ( ersym ertrd ) ABCDEFGHIJKABCFEGJILMN $.
    $}
  $}

  ${
    $d A y $.  $d ph y $.  $d R y $.  $d X y $.
    erref.1 $e |- ( ph -> R Er _V ) $.
    erref.2 $e |- ( ph -> dom R = A ) $.
    erref.3 $e |- ( ph -> X e. A ) $.
    $( An equivalence relation is reflexive on its field.  Compare Theorem 3M
       of [Enderton] p. 56.  (Contributed by set.mm contributors,
       6-May-2013.) $)
    erref $p |- ( ph -> X R X ) $=
      ( vy wcel wbr cdm eleq2d cv wex eldm wa cvv cer adantr elex syl vex simpr
      a1i ertr4d ex exlimdv syl5bi sylbird mpd ) ADBIZDDCJZGAUKDCKZIZULAUMBDFLU
      NDHMZCJZHNAULHDCOAUPULHAUPULAUPPZQCDUODACQRJUPESADQIZUPAUKURGDBTUASZUOQIU
      QHUBUDUSAUPUCZUTUEUFUGUHUIUJ $.
  $}

  ${
    $d y A $.  $d v x B $.  $d v w z R $.  $d v w x y z $.
    eqer.1 $e |- ( x = y -> A = B ) $.
    eqer.2 $e |- R = { <. x , y >. | A = B } $.
    $( Lemma for ~ eqer .  (Contributed by set.mm contributors,
       17-Mar-2008.) $)
    eqerlem $p |- ( z R w <-> [_ z / x ]_ A = [_ w / x ]_ A ) $=
      ( cv wceq wsbc csb bitri cvv wcel wb vex ax-mp eqeq2i brabsb sbceq1g nfcv
      wbr sbccom csbief bitr4i sbcbii sbceq2g csbco 3bitri ) CJZDJZGUDZEFKZAULL
      ZBUMLZAULEMZABJZEMZKZBUMLZURAUMEMZKZUNUOBUMLAULLUQUOABULUMGIUAUOABULUMUEN
      UPVABUMUPURFKZVAULOPUPVEQCRAULEFOUBSUTFURAUSEFBRAFUCHUFTUGUHVBURBUMUTMZKZ
      VDUMOPVBVGQDRBUMURUTOUISVFVCURABUMEUJTNUK $.

    eqer.3 $e |- R e. _V $.
    $( Equivalence relation involving equality of dependent classes ` A ( x ) `
       and ` B ( y ) ` .  (Contributed by set.mm contributors, 17-Mar-2008.) $)
    eqer $p |- R Er _V $=
      ( vz vw vv cvv wbr wtru wcel cv wa csb wceq eqerlem cer id eqcomd 3imtr4i
      a1i vvex 3ad2ant3 w3a eqtr anbi12i iserd trud ) ELUAMNIJKLELLELONHUELLONU
      FUEIPZJPZEMZNUNUMEMZUMLOZUNLOZQAUMCRZAUNCRZSZUTUSSUOUPVAUSUTVAUBUCABIJCDE
      FGTZABJICDEFGTUDUGUOUNKPZEMZQZNUMVCEMZUQURVCLOUHVAUTAVCCRZSZQUSVGSVEVFUSU
      TVGUIUOVAVDVHVBABJKCDEFGTUJABIKCDEFGTUDUGUKUL $.
  $}

  $( Equality theorem for equivalence class.  (Contributed by set.mm
     contributors, 23-Jul-1995.) $)
  eceq1 $p |- ( A = B -> [ A ] C = [ B ] C ) $=
    ( wceq csn cima cec sneq imaeq2d df-ec 3eqtr4g ) ABDZCAEZFCBEZFACGBCGLMNCAB
    HIACJBCJK $.

  $( Equality theorem for equivalence class.  (Contributed by set.mm
     contributors, 23-Jul-1995.) $)
  eceq2 $p |- ( A = B -> [ C ] A = [ C ] B ) $=
    ( wceq csn cima cec imaeq1 df-ec 3eqtr4g ) ABDACEZFBKFCAGCBGABKHCAICBIJ $.

  $( Membership in an equivalence class.  Theorem 72 of [Suppes] p. 82.
     (Contributed by set.mm contributors, 9-Jul-2014.) $)
  elec $p |- ( A e. [ B ] R <-> B R A ) $=
    ( csn cima wcel cop cec wbr elimasn df-ec eleq2i df-br 3bitr4i ) ACBDEZFBAG
    CFABCHZFBACICBAJPOABCKLBACMN $.

  ${
    $d x y R $.
    $( The range and domain of an equivalence relation are equal.  (Contributed
       by Rodolfo Medina, 11-Oct-2010.) $)
    erdmrn $p |- ( R Er _V -> dom R = ran R ) $=
      ( vx vy cvv cer wbr cdm crn cv wex wcel id vex ersymb exbidv eldm 3bitr4g
      a1i elrn eqrdv ) ADEFZBAGZAHZUABIZCIZAFZCJUEUDAFZCJUDUBKUDUCKUAUFUGCUADAU
      DUEUALUDDKUABMRUEDKUACMRNOCUDAPCUDASQT $.
  $}

  ${
    ecss.1 $e |- ( ph -> R Er _V ) $.
    ecss.2 $e |- ( ph -> dom R = X ) $.
    $( An equivalence class is a subset of the domain.  (Contributed by set.mm
       contributors, 6-Aug-1995.)  (Revised by set.mm contributors,
       9-Jul-2014.) $)
    ecss $p |- ( ph -> [ A ] R C_ X ) $=
      ( crn cec csn cima df-ec imassrn eqsstri cdm cvv cer wbr wceq erdmrn syl
      eqtr3d syl5sseq ) ACGZBCHZDUDCBIZJUCBCKCUELMACNZUCDACOPQUFUCRECSTFUAUB $.
  $}

  ${
    $d x R $.  $d x A $.
    $( A representative of a nonempty equivalence class belongs to the domain
       of the equivalence relation.  (Contributed by set.mm contributors,
       15-Feb-1996.)  (Revised by set.mm contributors, 9-Jul-2014.) $)
    ecdmn0 $p |- ( A e. dom R <-> [ A ] R =/= (/) ) $=
      ( vx cv cec wcel wex wbr c0 wne cdm elec exbii n0 eldm 3bitr4ri ) CDZABEZ
      FZCGAQBHZCGRIJABKFSTCQABLMCRNCABOP $.
  $}

  ${
    $d x A $.  $d x B $.  $d x R $.  $d x ph $.
    erth.1 $e |- ( ph -> R Er _V ) $.
    erth.2 $e |- ( ph -> dom R = X ) $.
    erth.3 $e |- ( ph -> A e. X ) $.
    erth.4 $e |- ( ph -> B e. V ) $.
    $( Basic property of equivalence relations.  Theorem 73 of [Suppes] p. 82.
       (Contributed by set.mm contributors, 23-Jul-1995.)  (Revised by Mario
       Carneiro, 9-Jul-2014.) $)
    erth $p |- ( ph -> ( A R B <-> [ A ] R = [ B ] R ) ) $=
      ( vx wbr cec wa cab cvv adantr wcel elex syl cv cer vex a1i simprl simprr
      wceq ertr3d expr ertr expdimp impbid abbidv dfec2 3eqtr4g simpl 3syl elec
      erref sylibr eleq2 syl5ibcom imp sylib ersym impbida ) ABCDLZBDMZCDMZUGZA
      VGNZBKUAZDLZKOCVLDLZKOVHVIVKVMVNKVKVMVNAVGVMVNAVGVMNZNZPDCBVLADPUBLZVOGQA
      CPRZVOACERZVRJCESZTZQABPRZVOABFRZWBIBFSZTZQVLPRZVPKUCZUDAVGVMUEAVGVMUFUHU
      IAVGVNVMAPDBCVLGWEWAWFAWGUDUJUKULUMKBDUNKCDUNUOAVJNZPDCBAVQVJGQWHAVSVRAVJ
      UPZJVTUQWHAWCWBWIIWDUQWHBVIRZCBDLAVJWJABVHRZVJWJABBDLWKAFDBGHIUSBBDURUTVH
      VIBVAVBVCBCDURVDVEVF $.
  $}

  ${
    erth2.1 $e |- ( ph -> R Er _V ) $.
    erth2.2 $e |- ( ph -> dom R = X ) $.
    erth2.3 $e |- ( ph -> A e. V ) $.
    erth2.4 $e |- ( ph -> B e. X ) $.
    $( Basic property of equivalence relations.  Compare Theorem 73 of [Suppes]
       p. 82.  Assumes membership of the second argument in the domain.
       (Contributed by set.mm contributors, 30-Jul-1995.)  (Revised by set.mm
       contributors, 9-Jul-2014.) $)
    erth2 $p |- ( ph -> ( A R B <-> [ A ] R = [ B ] R ) ) $=
      ( wbr cec wceq cvv wcel elex syl ersymb erth eqcom syl6bb bitrd ) ABCDKCB
      DKZBDLZCDLZMZANDBCGABEOBNOIBEPQACFOCNOJCFPQRAUCUEUDMUFACBDEFGHJISUEUDTUAU
      B $.
  $}

  ${
    erthi.1 $e |- ( ph -> R Er _V ) $.
    erthi.4 $e |- ( ph -> A R B ) $.
    $( Basic property of equivalence relations.  Part of Lemma 3N of [Enderton]
       p. 57.  (Contributed by set.mm contributors, 30-Jul-1995.)  (Revised by
       set.mm contributors, 9-Jul-2014.) $)
    erthi $p |- ( ph -> [ A ] R = [ B ] R ) $=
      ( wbr cec wceq crn cdm eqidd wcel breldm syl brelrn erth mpbid ) ABCDGZBD
      HCDHIFABCDDJZDKZEAUALASBUAMFBCDNOASCTMFBCDPOQR $.
  $}

  ${
    ereldm.1 $e |- ( ph -> R Er _V ) $.
    ereldm.2 $e |- ( ph -> dom R = X ) $.
    ereldm.3 $e |- ( ph -> [ A ] R = [ B ] R ) $.
    ereldm.4 $e |- ( ph -> A e. V ) $.
    ereldm.5 $e |- ( ph -> B e. W ) $.
    $( Equality of equivalence classes implies equivalence of domain
       membership.  (Contributed by set.mm contributors, 28-Jan-1996.)
       (Revised by set.mm contributors, 9-Jul-2014.) $)
    ereldm $p |- ( ph -> ( A e. X <-> B e. X ) ) $=
      ( cdm wcel cec c0 wne neeq1d ecdmn0 eleq2d 3bitr4g 3bitr3d ) ABDMZNZCUCNZ
      BGNCGNABDOZPQCDOZPQUDUEAUFUGPJRBDSCDSUAAUCGBITAUCGCITUB $.
  $}

  ${
    $d x A $.  $d x B $.  $d x R $.
    $( Equivalence classes do not overlap.  In other words, two equivalence
       classes are either equal or disjoint.  Theorem 74 of [Suppes] p. 83.
       (Contributed by set.mm contributors, 15-Jun-2004.)  (Revised by Mario
       Carneiro, 9-Jul-2014.) $)
    erdisj $p |- ( R Er _V ->
                   ( [ A ] R = [ B ] R \/ ( [ A ] R i^i [ B ] R ) = (/) ) ) $=
      ( vx cvv cer wbr cec cin c0 wceq wn cv wcel sseli adantl ecexr elec sylib
      syl wex neq0 wa simpl inss1 vex inss2 ertr4d erthi ex exlimdv syl5bi orrd
      a1i orcomd ) CEFGZACHZBCHZIZJKZUQURKZUPUTVAUTLDMZUSNZDUAUPVADUSUBUPVCVADU
      PVCVAUPVCUCZABCUPVCUDZVDECAVBBVEVDVBUQNZAENVCVFUPUSUQVBUQURUEOZPVBACQTVBE
      NVDDUFUNVDVBURNZBENVCVHUPUSURVBUQURUGOZPVBBCQTVCAVBCGZUPVCVFVJVGVBACRSPVC
      BVBCGZUPVCVHVKVIVBBCRSPUHUIUJUKULUMUO $.
  $}

  $( An equivalence class modulo the identity relation is a singleton.
     (Contributed by set.mm contributors, 24-Oct-2004.) $)
  ecidsn $p |- [ A ] _I = { A } $=
    ( cid cec csn cima df-ec imai eqtri ) ABCBADZEIABFIGH $.

  ${
    $d x y A $.  $d x y B $.  $d x y C $.
    $( Equality theorem for quotient set.  (Contributed by set.mm contributors,
       23-Jul-1995.) $)
    qseq1 $p |- ( A = B -> ( A /. C ) = ( B /. C ) ) $=
      ( vy vx wceq cv cec wrex cab cqs rexeq abbidv df-qs 3eqtr4g ) ABFZDGEGCHF
      ZEAIZDJQEBIZDJACKBCKPRSDQEABLMEDACNEDBCNO $.

    $( Equality theorem for quotient set.  (Contributed by set.mm contributors,
       23-Jul-1995.) $)
    qseq2 $p |- ( A = B -> ( C /. A ) = ( C /. B ) ) $=
      ( vy vx wceq cec wrex cab cqs eceq2 eqeq2d rexbidv abbidv df-qs 3eqtr4g
      cv ) ABFZDQZEQZAGZFZECHZDISTBGZFZECHZDICAJCBJRUCUFDRUBUEECRUAUDSABTKLMNED
      CAOEDCBOP $.
  $}

  ${
    $d x y A $.  $d x y B $.  $d x y R $.
    $( Closed form of ~ elqs .  (Contributed by Rodolfo Medina,
       12-Oct-2010.) $)
    elqsg $p |- ( B e. V -> ( B e. ( A /. R ) <-> E. x e. A B = [ x ] R ) ) $=
      ( vy cv cec wceq wrex cqs eqeq1 rexbidv df-qs elab2g ) FGZAGDHZIZABJCQIZA
      BJFCBDKEPCIRSABPCQLMAFBDNO $.
  $}

  ${
    $d x A $.  $d x B $.  $d x R $.
    elqs.1 $e |- B e. _V $.
    $( Membership in a quotient set.  (Contributed by set.mm contributors,
       23-Jul-1995.)  (Revised by set.mm contributors, 12-Nov-2008.) $)
    elqs $p |- ( B e. ( A /. R ) <-> E. x e. A B = [ x ] R ) $=
      ( cvv wcel cqs cv cec wceq wrex wb elqsg ax-mp ) CFGCBDHGCAIDJKABLMEABCDF
      NO $.
  $}

  ${
    $d x A $.  $d x B $.  $d x R $.
    $( Membership in a quotient set.  (Contributed by set.mm contributors,
       23-Jul-1995.) $)
    elqsi $p |- ( B e. ( A /. R ) -> E. x e. A B = [ x ] R ) $=
      ( cqs wcel cv cec wceq wrex elqsg ibi ) CBDEZFCAGDHIABJABCDMKL $.
  $}

  ${
    $d R x $.  $d B x $.  $d A x $.
    $( Membership of an equivalence class in a quotient set.  (Contributed by
       Jeff Madsen, 10-Jun-2010.) $)
    ecelqsg $p |- ( ( R e. V /\ B e. A ) -> [ B ] R e. ( A /. R ) ) $=
      ( vx wcel cec cv wceq wrex cqs eqid eceq1 eqeq2d rspcev mpan2 ecexg elqsg
      cvv wb syl biimpar sylan2 ) BAFZCDFZBCGZEHZCGZIZEAJZUFACKFZUDUFUFIZUJUFLU
      IULEBAUGBIUHUFUFUGBCMNOPUEUKUJUEUFSFUKUJTBDCQEAUFCSRUAUBUC $.
  $}

  ${
    ecelqsi.1 $e |- R e. _V $.
    $( Membership of an equivalence class in a quotient set.  (Contributed by
       set.mm contributors, 25-Jul-1995.)  (Revised by set.mm contributors,
       9-Jul-2014.) $)
    ecelqsi $p |- ( B e. A -> [ B ] R e. ( A /. R ) ) $=
      ( cvv wcel cec cqs ecelqsg mpan ) CEFBAFBCGACHFDABCEIJ $.
  $}

  ${
    ecopqsi.1 $e |- R e. _V $.
    ecopqsi.2 $e |- S = ( ( A X. A ) /. R ) $.
    $( "Closure" law for equivalence class of ordered pairs.  (Contributed by
       set.mm contributors, 25-Mar-1996.) $)
    ecopqsi $p |- ( ( B e. A /\ C e. A ) -> [ <. B , C >. ] R e. S ) $=
      ( wcel wa cop cxp cec opelxp cqs ecelqsi syl6eleqr sylbir ) BAHCAHIBCJZAA
      KZHZRDLZEHBCAAMTUASDNESRDFOGPQ $.
  $}

  ${
    $d x y z A $.  $d x y z R $.
    $( A quotient set exists.  (Contributed by FL, 19-May-2007.) $)
    qsexg $p |- ( ( R e. V /\ A e. W ) -> ( A /. R ) e. _V ) $=
      ( vx vy vz wcel csset c1c cima cvv cv wrex csn cop wb wn vex bitri wa cqs
      cins2 ccnv csi cins3 csymdif cpw1 cec wceq cab df-qs elimapw1 wel wal wex
      ccompl elima1c elsymdif snex otelins2 opelssetsn otelins3 wbr df-br brcnv
      bitr3i opsnelsi elec 3bitr4i bibi12i notbii exbii opex alex dfcleq bitr4i
      elcompl rexbii abbi2i eqtr4i ssetex ins2ex cnvexg siexg ins3exg symdifexg
      3syl sylancr 1cex imaexg sylancl complexg syl pw1exg syl2an syl5eqel ) BC
      HZADHZUAABUBZIUCZBUDZUEZUFZUGZJKZUQZAUHZKZLWTEMZFMZBUIZUJZFANZEUKXIFEABUL
      XNEXIXJXIHXKOZXJPZXGHZFANXNFXJXGAUMXQXMFAXQGEUNZGMZXLHZQZGUOZXMXPXFHZRYAR
      ZGUPZRXQYBYCYEYCXSOZXPPZXEHZGUPYEGXPXEURYHYDGYHYGXAHZYGXDHZQZRYDYGXAXDUSY
      KYAYIXRYJXTYIYFXJPIHXRYFXOXJIXKUTZVAXSXJGSZESZVBTYJYFXOPXCHZXTYFXOXJXCYNV
      CXSXKPXBHZXKXSBVDZYOXTYPXSXKXBVDYQXSXKXBVEXSXKBVFVGXSXKXBYMFSVHXSXKBVIVJT
      VKVLTVMTVLXPXFXOXJYLYNVNVRYAGVOVJGXJXLVPVQVSTVTWAWRXGLHZXHLHXILHWSWRXFLHZ
      YRWRXELHZJLHYSWRXALHXDLHZYTIWBWCWRXBLHXCLHUUABCWDXBLWEXCLWFWHXAXDLLWGWIWJ
      XEJLLWKWLXFLWMWNADWOXGXHLLWKWPWQ $.
  $}

  ${
    qsex.1 $e |- R e. _V $.
    qsex.2 $e |- A e. _V $.
    $( A quotient set exists.  (Contributed by set.mm contributors,
       14-Aug-1995.) $)
    qsex $p |- ( A /. R ) e. _V $=
      ( cvv wcel cqs qsexg mp2an ) BEFAEFABGEFCDABEEHI $.
  $}

  ${
    $d x y A $.  $d x y R $.  $d x V $.
    $( The union of a quotient set.  (Contributed by set.mm contributors,
       9-Dec-2008.) $)
    uniqs $p |- ( R e. V -> U. ( A /. R ) = ( R " A ) ) $=
      ( vy vx wcel cv cec wceq wrex cab cuni ciun cqs cima wral ecexg ralrimivw
      cvv dfiun2g syl eqcomd df-qs unieqi csn df-ec a1i iuneq2i imaiun 3eqtr2ri
      iunid imaeq2i 3eqtr4g ) BCFZDGEGZBHZIEAJDKZLZEAUPMZABNZLBAOZUNUSURUNUPSFZ
      EAPUSURIUNVBEAUOCBQREDAUPSTUAUBUTUQEDABUCUDUSEABUOUEZOZMBEAVCMZOVAEAUPVDU
      PVDIUOAFUOBUFUGUHEBAVCUIVEABEAUKULUJUM $.
  $}

  ${
    qsss.1 $e |- ( ph -> R Er _V ) $.
    qsss.2 $e |- ( ph -> dom R = A ) $.
    qsss.3 $e |- ( ph -> R e. V ) $.
    $( The union of a quotient set.  (Contributed by set.mm contributors,
       11-Jul-2014.) $)
    uniqs2 $p |- ( ph -> U. ( A /. R ) = A ) $=
      ( cdm cima crn cqs cuni imadmrn wcel wceq uniqs syl imaeq2d eqtr4d cvv
      cer wbr erdmrn eqtr3d 3eqtr4a ) ACCHZIZCJZBCKLZBCMAUICBIZUGACDNUIUJOGBCDP
      QAUFBCFRSAUFBUHFACTUAUBUFUHOECUCQUDUE $.

    $( A quotient set is a set of subsets of the base set.  (Contributed by
       Mario Carneiro, 9-Jul-2014.) $)
    qsss $p |- ( ph -> ( A /. R ) C_ ~P A ) $=
      ( cqs cuni wss cpw wceq uniqs2 eqimss syl sspwuni sylibr ) ABCHZIZBJZRBKJ
      ASBLTABCDEFGMSBNORBPQ $.
  $}

  ${
    $d x y A $.  $d x y R $.
    snec.1 $e |- A e. _V $.
    $( The singleton of an equivalence class.  (Contributed by set.mm
       contributors, 29-Jan-1999.)  (Revised by set.mm contributors,
       9-Jul-2014.) $)
    snec $p |- { [ A ] R } = ( { A } /. R ) $=
      ( vy vx cv cec wceq csn wrex cab cqs eceq1 eqeq2d rexsn abbii df-qs df-sn
      3eqtr4ri ) DFZEFZBGZHZEAIZJZDKTABGZHZDKUDBLUFIUEUGDUCUGEACUAAHUBUFTUAABMN
      OPEDUDBQDUFRS $.
  $}

  ${
    ecqs.1 $e |- R e. _V $.
    $( Equivalence class in terms of quotient set.  (Contributed by set.mm
       contributors, 29-Jan-1999.)  (Revised by set.mm contributors,
       15-Jan-2009.) $)
    ecqs $p |- [ A ] R = U. ( { A } /. R ) $=
      ( cec csn cima cqs cuni df-ec cvv wcel wceq uniqs ax-mp eqtr4i ) ABDBAEZF
      ZPBGHZABIBJKRQLCPBJMNO $.
  $}

  ${
    ecid.1 $e |- A e. _V $.
    $( A set is equal to its converse epsilon coset.  (Note: converse epsilon
       is not an equivalence relation.)  (Contributed by set.mm contributors,
       13-Aug-1995.)  (Revised by set.mm contributors, 9-Jul-2014.) $)
    ecid $p |- [ A ] `' _E = A $=
      ( cep ccnv cec csn cima df-ec epini eqtri ) ACDZEKAFGAAKHABIJ $.
  $}

  ${
    $d x y A $.
    $( A set is equal to its quotient set mod converse epsilon.  (Note:
       converse epsilon is not an equivalence relation.)  (Contributed by
       set.mm contributors, 13-Aug-1995.)  (Revised by set.mm contributors,
       9-Jul-2014.) $)
    qsid $p |- ( A /. `' _E ) = A $=
      ( vy vx cep ccnv cqs cv cec wceq wrex wcel ecid eqeq2i eqcom bitri rexbii
      vex elqs risset 3bitr4i eqriv ) BADEZFZABGZCGZUBHZIZCAJUEUDIZCAJUDUCKUDAK
      UGUHCAUGUDUEIUHUFUEUDUECQLMUDUENOPCAUDUBBQRCUDASTUA $.
  $}

  ${
    $d x A $.  $d x B $.  $d x R $.  $d x ps $.  $d x ch $.
    ectocl.1 $e |- S = ( B /. R ) $.
    ectocl.2 $e |- ( [ x ] R = A -> ( ph <-> ps ) ) $.
    ${
      ectocld.3 $e |- ( ( ch /\ x e. B ) -> ph ) $.
      $( Implicit substitution of class for equivalence class.  (Contributed by
         set.mm contributors, 9-Jul-2014.) $)
      ectocld $p |- ( ( ch /\ A e. S ) -> ps ) $=
        ( wcel cv cec wceq wrex cqs elqsi eleq2s wa wb syl5ibcom rexlimdva syl5
        eqcoms imp ) CEHLZBUGEDMZGNZOZDFPZCBUKEFGQHDFEGRISCUJBDFCUHFLTAUJBKABUA
        UIEJUEUBUCUDUF $.
    $}

    ectocl.3 $e |- ( x e. B -> ph ) $.
    $( Implicit substitution of class for equivalence class.  (Contributed by
       set.mm contributors, 23-Jul-1995.)  (Revised by set.mm contributors,
       9-Jul-2014.) $)
    ectocl $p |- ( A e. S -> ps ) $=
      ( wtru wcel tru cv adantl ectocld mpan ) KDGLBMABKCDEFGHICNELAKJOPQ $.
  $}

  ${
    $d x R $.  $d x A $.  $d x B $.
    $( A quotient set doesn't contain the empty set.  (Contributed by set.mm
       contributors, 24-Aug-1995.)  (Revised by set.mm contributors,
       21-Mar-2007.) $)
    elqsn0 $p |- ( ( dom R = A /\ B e. ( A /. R ) ) -> B =/= (/) ) $=
      ( vx cv cec c0 wne cdm wceq eqid neeq1 wcel wa eleq2 biimpar ecdmn0 sylib
      cqs ectocld ) DEZCFZGHZBGHCIZAJZDBACACSZUFKUBBGLUEUAAMZNUAUDMZUCUEUHUGUDA
      UAOPUACQRT $.
  $}

  $( Membership of an equivalence class in a quotient set.  (Contributed by
     set.mm contributors, 30-Jul-1995.)  (Revised by set.mm contributors,
     21-Mar-2007.) $)
  ecelqsdm $p |- ( ( dom R = A /\ [ B ] R e. ( A /. R ) ) -> B e. A ) $=
    ( cdm wceq cec cqs wcel wa c0 wne elqsn0 ecdmn0 sylibr simpl eleqtrd ) CDZA
    EZBCFZACGHZIZBQAUASJKBQHASCLBCMNRTOP $.

  ${
    $d x y A $.  $d x B $.  $d x y C $.  $d x y ph $.  $d x y R $.
    qsdisj.1 $e |- ( ph -> R Er _V ) $.
    qsdisj.2 $e |- ( ph -> B e. ( A /. R ) ) $.
    qsdisj.3 $e |- ( ph -> C e. ( A /. R ) ) $.
    $( Members of a quotient set do not overlap.  (Contributed by Rodolfo
       Medina, 12-Oct-2010.)  (Revised by Mario Carneiro, 11-Jul-2014.) $)
    qsdisj $p |- ( ph -> ( B = C \/ ( B i^i C ) = (/) ) ) $=
      ( vx vy wcel wceq cin c0 wo cv cec eqeq1d orbi12d wa cqs eqid eqeq1 ineq1
      adantr eqeq2 ineq2 cvv cer wbr ad2antrr erdisj syl ectocld mpdan ) ACBEUA
      ZKCDLZCDMZNLZOZGIPZEQZDLZVBDMZNLZOZUTAICBEUPUPUBZVBCLZVCUQVEUSVBCDUCVHVDU
      RNVBCDUDRSAVABKZTZDUPKZVFAVKVIHUEVBJPZEQZLZVBVMMZNLZOZVFVJJDBEUPVGVMDLZVN
      VCVPVEVMDVBUFVRVOVDNVMDVBUGRSVJVLBKZTEUHUIUJZVQAVTVIVSFUKVAVLEULUMUNUOUNU
      O $.
  $}

  ${
    $d x y z A $.  $d x y z B $.  $d x y z C $.  $d x y z R $.  $d x y z ps $.
    ecoptocl.1 $e |- S = ( ( B X. C ) /. R ) $.
    ecoptocl.2 $e |- ( [ <. x , y >. ] R = A -> ( ph <-> ps ) ) $.
    ecoptocl.3 $e |- ( ( x e. B /\ y e. C ) -> ph ) $.
    $( Implicit substitution of class for equivalence class of ordered pair.
       (Contributed by set.mm contributors, 23-Jul-1995.) $)
    ecoptocl $p |- ( A e. S -> ps ) $=
      ( vz cxp cqs wcel cv cec wceq wi wrex elqsi cop eceq1 eqeq2d imbi1d wa wb
      eqid eqcoms syl5ibcom optocl rexlimiv syl eleq2s ) BEFGNZHOZIEUQPEMQZHRZS
      ZMUPUABMUPEHUBUTBMUPECQZDQZUCZHRZSZBTUTBTCDURFGUPUPUIVCURSZVEUTBVFVDUSEVC
      URHUDUEUFVAFPVBGPUGAVEBLABUHVDEKUJUKULUMUNJUO $.
  $}

  ${
    $d x y z w A $.  $d z w B $.  $d x y z w C $.  $d x y z w D $.  $d z w S $.
    $d x y z w R $.  $d x y ps $.  $d z w ch $.
    2ecoptocl.1 $e |- S = ( ( C X. D ) /. R ) $.
    2ecoptocl.2 $e |- ( [ <. x , y >. ] R = A -> ( ph <-> ps ) ) $.
    2ecoptocl.3 $e |- ( [ <. z , w >. ] R = B -> ( ps <-> ch ) ) $.
    2ecoptocl.4 $e |- ( ( ( x e. C /\ y e. D ) /\
                      ( z e. C /\ w e. D ) ) -> ph ) $.
    $( Implicit substitution of classes for equivalence classes of ordered
       pairs.  (Contributed by set.mm contributors, 23-Jul-1995.) $)
    2ecoptocl $p |- ( ( A e. S /\ B e. S ) -> ch ) $=
      ( wcel wi cv cop cec wceq imbi2d wa ex ecoptocl com12 impcom ) IMRHMRZCUJ
      BSUJCSFGIJKLMNFTZGTZUALUBIUCBCUJPUDUJUKJRULKRUEZBUMASUMBSDEHJKLMNDTZETZUA
      LUBHUCABUMOUDUNJRUOKRUEUMAQUFUGUHUGUI $.
  $}

  ${
    $d x y z w v u A $.  $d z w v u B $.  $d v u C $.  $d x y z w v u D $.
    $d z w v u S $.  $d x y z w v u R $.  $d x y ps $.  $d z w ch $.
    $d v u th $.
    3ecoptocl.1 $e |- S = ( ( D X. D ) /. R ) $.
    3ecoptocl.2 $e |- ( [ <. x , y >. ] R = A -> ( ph <-> ps ) ) $.
    3ecoptocl.3 $e |- ( [ <. z , w >. ] R = B -> ( ps <-> ch ) ) $.
    3ecoptocl.4 $e |- ( [ <. v , u >. ] R = C -> ( ch <-> th ) ) $.
    3ecoptocl.5 $e |- ( ( ( x e. D /\ y e. D ) /\
                      ( z e. D /\ w e. D ) /\ ( v e. D /\ u e. D ) ) -> ph ) $.
    $( Implicit substitution of classes for equivalence classes of ordered
       pairs.  (Contributed by set.mm contributors, 9-Aug-1995.) $)
    3ecoptocl $p |- ( ( A e. S /\ B e. S /\ C e. S ) -> th ) $=
      ( wcel wa wi cop cec wceq imbi2d 3expib ecoptocl com12 2ecoptocl 3impib
      cv ) KPUBZLPUBZMPUBZDUPUQUCUODUOBUDUOCUDUODUDGHIJLMNNOPQGUNZHUNZUEOUFLUGB
      CUOSUHIUNZJUNZUEOUFMUGCDUOTUHUOURNUBUSNUBUCZUTNUBVANUBUCZUCZBVDAUDVDBUDEF
      KNNOPQEUNZFUNZUEOUFKUGABVDRUHVENUBVFNUBUCVBVCAUAUIUJUKULUKUM $.
  $}


$(
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
        The mapping operation
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
$)

  $( Introduce new constant symbols. $)
  $c ^m $.  $( The mapping operation. $)
  $c ^pm $.  $( The mapping operation. $)

  $( Extend the definition of a class to include the mapping operation.  (Read
     for ` A ^m B ` , "the set of all functions that map from ` B ` to
     ` A ` .) $)
  cmap $a class ^m $.

  $( Extend the definition of a class to include the partial mapping
     operation.  (Read for ` A ^m B ` , "the set of all partial functions that
     map from ` B ` to ` A ` .) $)
  cpm $a class ^pm $.

  ${
    $d x y f $.
    $( Define the mapping operation or set exponentiation.  The set of all
       functions that map from ` B ` to ` A ` is written ` ( A ^m B ) ` (see
       ~ mapval ).  Many authors write ` A ` followed by ` B ` as a superscript
       for this operation and rely on context to avoid confusion other
       exponentiation operations (e.g.  Definition 10.42 of [TakeutiZaring]
       p. 95).  Other authors show ` B ` as a prefixed superscript, which is
       read " ` A ` pre ` B ` " (e.g. definition of [Enderton] p. 52).
       Definition 8.21 of [Eisenberg] p. 125 uses the notation Map( ` B ` ,
       ` A ` ) for our ` ( A ^m B ) ` .  The up-arrow is used by Donald Knuth
       for iterated exponentiation (_Science_ 194, 1235-1242, 1976).  We adopt
       the first case of his notation (simple exponentiation) and subscript it
       with _m_ to distinguish it from other kinds of exponentiation.
       (Contributed by NM, 15-Nov-2007.) $)
    df-map $a |- ^m = ( x e. _V , y e. _V |-> { f | f : y --> x } ) $.

    $( Define the partial mapping operation.  A partial function from ` B ` to
       ` A ` is a function from a subset of ` B ` to ` A ` .  The set of all
       partial functions from ` B ` to ` A ` is written ` ( A ^pm B ) ` (see
       ~ pmvalg ).  A notation for this operation apparently does not appear in
       the literature.  We use ` ^pm ` to distinguish it from the less general
       set exponentiation operation ` ^m ` ( ~ df-map ) .  See ~ mapsspm for
       its relationship to set exponentiation.  (Contributed by NM,
       15-Nov-2007.) $)
    df-pm $a |- ^pm = ( x e. _V , y e. _V |->
                    { f e. ~P ( y X. x ) | Fun f } ) $.
  $}

  $( Note:  an alternate way to express partial functions is as follows,
     which would be added after df-fun above.  The symbol would be _pfun.gif.
     This definition would be needed only if we need proper class partial
     functions, which seems unlikely.  While nice-looking, for ordinary usage
     it would inconveniently require a new set of equality theorems, etc. $)
  $( Define a partial function, which is a function from a subset of the
     domain ` A ` to the codomain ` B ` .  The notation of a stroke through
     the arrow is used by the Z language: see, for example,
     ~ http://staff.washington.edu/jon/z/dcs.html . $)
  $(
  df-fp $a |- ( F : A -|-> B <-> ( Fun F /\ F C_ ( X X. Y ) ) $.
  $)

  ${
    $d A f $.  $d B f $.  $d B x $.  $d f x $.
    mapexi.1 $e |- A e. _V $.
    mapexi.2 $e |- B e. _V $.
    $( The class of all functions mapping one set to another is a set.  Remark
       after Definition 10.24 of [Kunen] p. 31.  (Contributed by set.mm
       contributors, 25-Feb-2015.) $)
    mapexi $p |- { f | f : A --> B } e. _V $=
      ( vx cfuns c1st cimage ccnv cima cin c2nd cv wcel wceq wbr bitri 3bitr4i
      wa csn cpw wf cab cvv wfun cdm crn wss vex elfuns cop elimasn df-br brcnv
      elin brimage dfdm4 eqeq2i eqcom 3bitr2i anbi12i dfrn5 rexbii elima risset
      wrex rnex elpw wfn df-f df-fn anbi1i abbi2i funsex 1stex cnvex snex imaex
      imageex inex 2ndex pwex eqeltrri ) GHIZJZAUAZKZLZMIZJZBUBZKZLZABCNZUCZCUD
      UEWPCWNWOWIOZWOWMOZTWOUFZWOUGZAPZTZWOUHZBUIZTZWOWNOWPWQXBWRXDWQWOGOZWOWHO
      ZTXBWOGWHUPXFWSXGXAWOCUJZUKXGAWOULWFOAWOWFQZXAWFAWOUMAWOWFUNXIWOAWEQZXAAW
      OWEUOXJAHWOKZPAWTPXAWOAHXHDUQWTXKAWOURUSAWTUTVARVAVBRWRXCWLOZXDFNZWOWKQZF
      WLVGXMXCPZFWLVGWRXLXNXOFWLWOXMWJQXMMWOKZPXNXOWOXMMXHFUJUQXMWOWJUOXCXPXMWO
      VCUSSVDFWOWKWLVEFXCWLVFSXCBWOXHVHVIRVBWOWIWMUPWPWOAVJZXDTXEABWOVKXQXBXDWO
      AVLVMRSVNWIWMGWHVOWFWGWEHVPVTVQAVRVSWAWKWLWJMWBVTVQBEWCVSWAWD $.
  $}

  ${
    $d f A $.  $d f B $.
    $( When ` A ` is a proper class, the class of all functions mapping ` A `
       to ` B ` is empty.  Exercise 4.41 of [Mendelson] p. 255.  (Contributed
       by set.mm contributors, 8-Dec-2003.) $)
    mapprc $p |- ( -. A e. _V -> { f | f : A --> B } = (/) ) $=
      ( cvv wcel cv wf cab c0 wne wex abn0 cdm fdm dmex syl6eqelr exlimiv sylbi
      vex necon1bi ) ADEZABCFZGZCHZIUDIJUCCKUAUCCLUCUACUCAUBMDABUBNUBCSOPQRT $.

    $( The class of all partial functions from one set to another is a set.
       (Contributed by set.mm contributors, 15-Nov-2007.) $)
    pmex $p |- ( ( A e. C /\ B e. D ) ->
                   { f | ( Fun f /\ f C_ ( A X. B ) ) } e. _V ) $=
      ( wcel wa wfun cxp wss cab cfuns cpw cin cvv df-funs df-pw ineq12i inab
      cv eqtr2i xpexg pwexg funsex inexg mpan 3syl syl5eqel ) ACFBDFGZETZHZUJAB
      IZJZGEKZLULMZNZOUPUKEKZUMEKZNUNLUQUOUREPEULQRUKUMESUAUIULOFUOOFZUPOFZABCD
      UBULOUCLOFUSUTUDLUOOOUEUFUGUH $.

    $d A a $.  $d a b $.  $d A b $.  $d a f $.  $d B b $.  $d b f $.
    $( The class of all functions mapping one set to another is a set.  Remark
       after Definition 10.24 of [Kunen] p. 31.  (Contributed by set.mm
       contributors, 25-Feb-2015.) $)
    mapex $p |- ( ( A e. C /\ B e. D ) -> { f | f : A --> B } e. _V ) $=
      ( va vb cv cab cvv wcel wceq feq2 abbidv eleq1d feq3 vex mapexi vtocl2g
      wf ) FHZGHZEHZTZEIZJKAUBUCTZEIZJKABUCTZEIZJKFGABCDUAALZUEUGJUJUDUFEUAAUBU
      CMNOUBBLZUGUIJUKUFUHEUBBAUCPNOUAUBEFQGQRS $.
  $}

  ${
    $d f x y $.
    $( Set exponentiation has a universal domain.  (Contributed by set.mm
       contributors, 8-Dec-2003.)  (Revised by set.mm contributors,
       8-Sep-2013.) (Revised by Scott Fenton, 19-Apr-2019.) $)
    fnmap $p |- ^m Fn _V $=
      ( vx vy vf cmap cvv cxp wfn cv wf cab df-map vex mapexi fnmpt2i xpvv mpbi
      fneq2i ) DEEFZGDEGABEEBHZAHZCHICJDABCKSTCBLALMNREDOQP $.

    $( Partial function exponentiation has a universal domain.  (Contributed by
       set.mm contributors, 14-Nov-2013.) (Revised by Scott Fenton,
       19-Apr-2019.) $)
    fnpm $p |- ^pm Fn _V $=
      ( vx vy vf cpm cvv cxp wfn cv wfun cpw crab df-pm cfuns cin wcel cab elin
      wa vex mpbi abbi2i df-rab wral wceq elfuns rgenw 3eqtr2i xpex pwex funsex
      wb rabbi inex eqeltrri fnmpt2i xpvv fneq2i ) DEEFZGDEGABEECHZIZCBHZAHZFZJ
      ZKZDABCLVDMNZVEEVFUSVDOUSMOZRZCPVGCVDKZVEVHCVFUSVDMQUAVGCVDUBVGUTUKZCVDUC
      VIVEUDVJCVDUSCSUEUFVGUTCVDULTUGVDMVCVAVBBSASUHUIUJUMUNUOUREDUPUQT $.
  $}

  ${
    $d x y f A $.  $d x y f B $.
    $( The value of set exponentiation. ` ( A ^m B ) ` is the set of all
       functions that map from ` B ` to ` A ` .  Definition 10.24 of [Kunen]
       p. 24.  (Contributed by set.mm contributors, 8-Dec-2003.)  (Revised by
       set.mm contributors, 8-Sep-2013.) $)
    mapvalg $p |- ( ( A e. C /\ B e. D ) ->
                  ( A ^m B ) = { f | f : B --> A } ) $=
      ( vx vy wcel wa cv wf cab cvv cmap co wceq mapex ancoms elex abbidv feq3
      wi feq2 df-map ovmpt2g 3expia syl2an mpd ) ACHZBDHZIBAEJZKZELZMHZABNOUMPZ
      UJUIUNBADCEQRUIAMHZBMHZUNUOUBUJACSBDSUPUQUNUOFGABMMGJZFJZUKKZELUMNURAUKKZ
      ELMUSAPUTVAEUSAURUKUATURBPVAULEURBAUKUCTFGEUDUEUFUGUH $.

    $( The value of the partial mapping operation. ` ( A ^pm B ) ` is the set
       of all partial functions that map from ` B ` to ` A ` .  (Contributed by
       set.mm contributors, 15-Nov-2007.)  (Revised by set.mm contributors,
       8-Sep-2013.) $)
    pmvalg $p |- ( ( A e. C /\ B e. D ) ->
                  ( A ^pm B ) = { f e. ~P ( B X. A ) | Fun f } ) $=
      ( vx vy wcel cvv cpm cv cxp cpw crab wceq elex wa cab pweqd biidd co wfun
      wss df-rab ancom df-pw abeq2i anbi2i bitri abbii eqtri syl5eqel rabeqbidv
      pmex ancoms xpeq2 xpeq1 df-pm ovmpt2g mpd3an3 syl2an ) ACHAIHZBIHZABJUAEK
      ZUBZEBALZMZNZOZBDHACPBDPVBVCVHIHVIVBVCQVHVEVDVFUCZQZERZIVHVDVGHZVEQZERVLV
      EEVGUDVNVKEVNVEVMQVKVMVEUEVMVJVEVJEVGEVFUFUGUHUIUJUKVCVBVLIHBAIIEUNUOULFG
      ABIIVEEGKZFKZLZMZNVHJVEEVOALZMZNIVPAOZVEVEEVRVTWAVQVSVPAVOUPSWAVETUMVOBOZ
      VEVEEVTVGWBVSVFVOBAUQSWBVETUMFGEURUSUTVA $.
  $}

  ${
    $d f A $.  $d f B $.
    mapval.1 $e |- A e. _V $.
    mapval.2 $e |- B e. _V $.
    $( The value of set exponentiation (inference version). ` ( A ^m B ) ` is
       the set of all functions that map from ` B ` to ` A ` .  Definition
       10.24 of [Kunen] p. 24.  (Contributed by set.mm contributors,
       8-Dec-2003.) $)
    mapval $p |- ( A ^m B ) = { f | f : B --> A } $=
      ( cvv wcel cmap co cv wf cab wceq mapvalg mp2an ) AFGBFGABHIBACJKCLMDEABF
      FCNO $.
  $}

  ${
    $d g A $.  $d g B $.  $d g C $.
    $( Membership relation for set exponentiation.  (Contributed by set.mm
       contributors, 17-Oct-2006.) $)
    elmapg $p |- ( ( A e. V /\ B e. W /\ C e. X ) ->
                  ( C e. ( A ^m B ) <-> C : B --> A ) ) $=
      ( vg wcel w3a cmap co cv wf cab wb wa mapvalg eleq2d 3adant3 feq1 elabg
      3ad2ant3 bitrd ) ADHZBEHZCFHZICABJKZHZCBAGLZMZGNZHZBACMZUDUEUHULOUFUDUEPU
      GUKCABDEGQRSUFUDULUMOUEUJUMGCFBAUICTUAUBUC $.

    $( The predicate "is a partial function."  (Contributed by set.mm
       contributors, 14-Nov-2013.) $)
    elpmg $p |- ( ( A e. V /\ B e. W /\ C e. X ) ->
                  ( C e. ( A ^pm B ) <-> ( Fun C /\ C C_ ( B X. A ) ) ) ) $=
      ( vg wcel w3a cpm co cxp cpw wfun wa wss wb cv crab syl6bb pmvalg 3adant3
      eleq2d funeq elrab elpwg anbi1d ancom 3ad2ant3 bitrd ) ADHZBEHZCFHZICABJK
      ZHZCBALZMZHZCNZOZUSCUPPZOZUKULUOUTQUMUKULOZUOCGRZNZGUQSZHUTVCUNVFCABDEGUA
      UCVEUSGCUQVDCUDUETUBUMUKUTVBQULUMUTVAUSOVBUMURVAUSCUPFUFUGVAUSUHTUIUJ $.

    $( The predicate "is a partial function."  (Contributed by set.mm
       contributors, 31-Dec-2013.) $)
    elpm2g $p |- ( ( A e. V /\ B e. W /\ F e. X ) ->
                ( F e. ( A ^pm B ) <-> ( F : dom F --> A /\ dom F C_ B ) ) ) $=
      ( wcel w3a cpm co wfun cxp wss wa cdm wf elpmg funssxp syl6bb ) ADGBEGCFG
      HCABIJGCKCBALMNCOZACPTBMNABCDEFQBACRS $.

    $( A partial function is a function.  (Contributed by Mario Carneiro,
       30-Jan-2014.) $)
    pmfun $p |- ( F e. ( A ^pm B ) -> Fun F ) $=
      ( cpm co wcel wfun cxp wss wa cvv wb elovex1 elovex2 id elpmg syl3anc ibi
      simpld ) CABDEZFZCGZCBAHIZUAUBUCJZUAAKFBKFUAUAUDLCABDMCABDNUAOABCKKTPQRS
      $.
  $}

  $( A mapping is a function, forward direction only with antecedents removed.
     (Contributed by set.mm contributors, 25-Feb-2015.) $)
  elmapi $p |- ( A e. ( B ^m C ) -> A : C --> B ) $=
    ( cmap co wcel wf cvv wb elovex1 elovex2 id elmapg syl3anc ibi ) ABCDEZFZCB
    AGZQBHFCHFQQRIABCDJABCDKQLBCAHHPMNO $.

  ${
    $d g A $.  $d f g B $.  $d g F $.
    elmap.1 $e |- A e. _V $.
    elmap.2 $e |- B e. _V $.
    elmap.3 $e |- F e. _V $.
    $( Membership relation for set exponentiation.  (Contributed by set.mm
       contributors, 8-Dec-2003.) $)
    elmap $p |- ( F e. ( A ^m B ) <-> F : B --> A ) $=
      ( cvv wcel cmap co wf wb elmapg mp3an ) AGHBGHCGHCABIJHBACKLDEFABCGGGMN
      $.

    $( Alternate expression for the value of set exponentiation.  (Contributed
       by set.mm contributors, 3-Nov-2007.) $)
    mapval2 $p |- ( A ^m B ) = ( ~P ( B X. A ) i^i { f | f Fn B } ) $=
      ( vg cmap co cxp cpw cv wfn cab cin wf wa wcel bitri wss dff2 ancom elmap
      vex elin elpw fneq1 elab anbi12i 3bitr4i eqriv ) HABIJZBAKZLZCMZBNZCOZPZB
      AHMZQZUTUNUAZUTBNZRZUTUMSUTUSSZVAVCVBRVDBAUTUBVCVBUCTABUTEFHUEZUDVEUTUOSZ
      UTURSZRVDUTUOURUFVGVBVHVCUTUNVFUGUQVCCUTVFBUPUTUHUIUJTUKUL $.

    $( The predicate "is a partial function."  (Contributed by set.mm
       contributors, 15-Nov-2007.)  (Revised by set.mm contributors,
       14-Nov-2013.) $)
    elpm $p |- ( F e. ( A ^pm B ) <-> ( Fun F /\ F C_ ( B X. A ) ) ) $=
      ( cvv wcel cpm co wfun cxp wss wa wb elpmg mp3an ) AGHBGHCGHCABIJHCKCBALM
      NODEFABCGGGPQ $.

    $( The predicate "is a partial function."  (Contributed by set.mm
       contributors, 15-Nov-2007.)  (Revised by set.mm contributors,
       31-Dec-2013.) $)
    elpm2 $p |- ( F e. ( A ^pm B ) <-> ( F : dom F --> A /\ dom F C_ B ) ) $=
      ( cvv wcel cpm co cdm wf wss wa wb elpm2g mp3an ) AGHBGHCGHCABIJHCKZACLRB
      MNODEFABCGGGPQ $.
  $}

  ${
    $d A x f $.  $d B x f $.
    $( Set exponentiation is a subset of partial maps.  (Contributed by set.mm
       contributors, 15-Nov-2007.) $)
    mapsspm $p |- ( A ^m B ) C_ ( A ^pm B ) $=
      ( vx vf cmap co cpm wss c0 wceq 0ss sseq1 mpbiri wne cvv wcel wa wex cab
      cv n0 elovex12 exlimiv sylbi wfun cxp cpw crab fssxp vex elpw sylibr ffun
      wf jca ss2abi df-rab sseqtr4i a1i mapvalg pmvalg 3sstr4d syl pm2.61ine )
      ABEFZABGFZHZVEIVEIJVGIVFHVFKVEIVFLMVEINZAOPBOPQZVGVHCTZVEPZCRVICVEUAVKVIC
      VJABEUBUCUDVIBADTZUNZDSZVLUEZDBAUFZUGZUHZVEVFVNVRHVIVNVLVQPZVOQZDSVRVMVTD
      VMVSVOVMVLVPHVSBAVLUIVLVPDUJUKULBAVLUMUOUPVODVQUQURUSABOODUTABOODVAVBVCVD
      $.
  $}

  ${
    $d x f A $.  $d x f B $.
    $( Set exponentiation is a subset of the power set of the cross product of
       its arguments.  (Contributed by set.mm contributors, 8-Dec-2006.) $)
    mapsspw $p |- ( A ^m B ) C_ ~P ( B X. A ) $=
      ( vx vf cmap co cxp cpw wss c0 wceq 0ss sseq1 mpbiri wne cvv wcel wa wex
      cv n0 elovex12 exlimiv sylbi wf cab fssxp vex sylibr abssi mapvalg sseq1d
      elpw syl pm2.61ine ) ABEFZBAGZHZIZUPJUPJKUSJURIURLUPJURMNUPJOZAPQBPQRZUSU
      TCTZUPQZCSVACUPUAVCVACVBABEUBUCUDVAUSBADTZUEZDUFZURIVEDURVEVDUQIVDURQBAVD
      UGVDUQDUHUMUIUJVAUPVFURABPPDUKULNUNUO $.
  $}

  ${
    $d f A $.
    map0e.1 $e |- A e. _V $.
    $( Set exponentiation with an empty exponent is the unit class of the empty
       set.  (Contributed by set.mm contributors, 10-Dec-2003.) $)
    map0e $p |- ( A ^m (/) ) = { (/) } $=
      ( vf c0 cv wf cab wceq cmap co csn wfn crn wss fn0 anbi1i df-f 0ss rneq
      wa rn0 syl6eq sseq1d mpbiri pm4.71i 3bitr4i abbii mapval df-sn 3eqtr4i
      0ex ) DACEZFZCGULDHZCGADIJDKUMUNCULDLZULMZANZTUNUQTUMUNUOUNUQULOPDAULQUNU
      QUNUQDANARUNUPDAUNUPDMDULDSUAUBUCUDUEUFUGADCBUKUHCDUIUJ $.

    $( Set exponentiation with an empty base is the empty set, provided the
       exponent is non-empty.  Theorem 96 of [Suppes] p. 89.  (Contributed by
       set.mm contributors, 10-Dec-2003.)  (Revised by set.mm contributors,
       19-Mar-2007.) $)
    map0b $p |- ( A =/= (/) -> ( (/) ^m A ) = (/) ) $=
      ( vf c0 wne cmap co cv cab 0ex mapval wex wceq abn0 cdm fdm crn wss frn
      wf ss0 syl dm0rn0 sylibr eqtr3d exlimiv sylbi necon1i syl5eq ) ADEDAFGADC
      HZTZCIZDDACJBKULDADULDEUKCLADMZUKCNUKUMCUKUJOZADADUJPUKUJQZDMZUNDMUKUODRU
      PADUJSUOUAUBUJUCUDUEUFUGUHUI $.
  $}

  ${
    $d f x y A $.  $d f x y B $.
    map0.1 $e |- A e. _V $.
    map0.2 $e |- B e. _V $.
    $( Set exponentiation is empty iff the base is empty and the exponent is
       not empty.  Theorem 97 of [Suppes] p. 89.  (Contributed by set.mm
       contributors, 10-Dec-2003.)  (Revised by set.mm contributors,
       17-May-2007.) $)
    map0 $p |- ( ( A ^m B ) = (/) <-> ( A = (/) /\ B =/= (/) ) ) $=
      ( vf vx cmap co c0 wceq wne wa cv wf cab mapval eqeq1i wcel wex csn snssi
      wss cxp vex fconst mpan snex xpex feq1 spcev 3syl exlimiv n0 abn0 3imtr4i
      fss necon4i sylbi map0e 0ex snid ne0i ax-mp eqnetri neeq1d mpbiri necon2i
      oveq2 jca oveq1 map0b sylan9eq impbii ) ABGHZIJZAIJZBIKZLVOVPVQVOBAEMZNZE
      OZIJVPVNVTIABECDPQAIVTIFMZARZFSVSESZAIKVTIKWBWCFWBWATZAUBZBABWDUCZNZWCWAA
      UABWDWFNWEWGBWAFUDUEBWDAWFUPUFVSWGEWFBWDDWAUGUHBAVRWFUIUJUKULFAUMVSEUNUOU
      QURBIVNIBIJZVNIKAIGHZIKWIITZIACUSIWJRWJIKIUTVAWJIVBVCVDWHVNWIIBIAGVHVEVFV
      GVIVPVQVNIBGHIAIBGVJBDVKVLVM $.

    $( The value of set exponentiation with a singleton exponent.  Theorem 98
       of [Suppes] p. 89.  (Contributed by set.mm contributors,
       10-Dec-2003.) $)
    mapsn $p |- ( A ^m { B } ) = { f | E. y e. A f = { <. B , y >. } } $=
      ( csn cmap co cv wf cab cop wceq wrex wcel wex cima wss syl5ibcom snex wa
      mapval crn wbr weu wfn ffn sylancl euabsn cdm imadmrn fdm imaeq2d syl5eqr
      snid fneu imasn syl6req eqeq1d exbidv syl5bb mpbid frn sseq1 snss syl6bbr
      vex wfo dffn4 sylib fof syl feq3 fsn syl6ib jcad eximdv mpd df-rex sylibr
      wf1o f1osn f1of ax-mp feq1 mpbiri snssi fss syl2an expcom rexlimiv impbii
      abbii eqtri ) BCGZHIWPBDJZKZDLWQCAJZMGZNZABOZDLBWPDECUAUCWRXBDWRXBWRWSBPZ
      XAUBZAQZXBWRWQUDZWSGZNZAQZXEWRCWSWQUEZAUFZXIWRWQWPUGZCWPPXKWPBWQUHZCFUPAW
      PCWQUQUIXKXJALZXGNZAQWRXIXJAUJWRXOXHAWRXNXFXGWRXFWQWPRZXNWRXFWQWQUKZRXPWQ
      ULWRXQWPWQWPBWQUMUNUOACWQURUSUTVAVBVCWRXHXDAWRXHXCXAWRXFBSZXHXCWPBWQVDXHX
      RXGBSZXCXFXGBVEWSBAVHZVFVGTWRXHWPXGWQKZXAWRWPXFWQKZXHYAWRWPXFWQVIZYBWRXLY
      CXMWPWQVJVKWPXFWQVLVMXFXGWPWQVNTCWSWQFXTVOVPVQVRVSXAABVTWAXAWRABXAXCWRXAY
      AXSWRXCXAYAWPXGWTKZWPXGWTWBYDCWSFXTWCWPXGWTWDWEWPXGWQWTWFWGWSBWHWPXGBWQWI
      WJWKWLWMWNWO $.
  $}

  ${
    $d f A $.  $d f B $.  $d f C $.
    mapss.1 $e |- A e. _V $.
    mapss.2 $e |- B e. _V $.
    mapss.3 $e |- C e. _V $.
    $( Subset inheritance for set exponentiation.  Theorem 99 of [Suppes]
       p. 89.  (Contributed by set.mm contributors, 10-Dec-2003.) $)
    mapss $p |- ( A C_ B -> ( A ^m C ) C_ ( B ^m C ) ) $=
      ( vf wss cv wf cab cmap co fss expcom ss2abdv mapval 3sstr4g ) ABHZCAGIZJ
      ZGKCBTJZGKACLMBCLMSUAUBGUASUBCABTNOPACGDFQBCGEFQR $.
  $}


$(
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
        Equinumerosity
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
$)

  $( Introduce new constant symbols. $)
  $c ~~ $.  $( Equinumerosity relation ("approximately equals" symbol) $)

  $( Extend class definition to include the equinumerosity relation
     ("approximately equals" symbol) $)
  cen $a class ~~ $.

  ${
    $d x y f $.
    $( Define the equinumerosity relation.  Definition of [Enderton] p. 129.
       We define ` ~~ ` to be a binary relation rather than a connective, so
       its arguments must be sets to be meaningful.  This is acceptable because
       we do not consider equinumerosity for proper classes.  We derive the
       usual definition as ~ bren .  (Contributed by NM, 28-Mar-1998.) $)
    df-en $a |- ~~ = { <. x , y >. | E. f f : x -1-1-onto-> y } $.
  $}

  ${
    $d A f x y $.  $d B f x y $.
    $( Equinumerosity relationship.  (Contributed by SF, 23-Feb-2015.) $)
    bren $p |- ( A ~~ B <-> E. f f : A -1-1-onto-> B ) $=
      ( vx vy cen wbr cvv wcel wa wf1o wex brex cdm crn vex eleq1d wceq exbidv
      cv dmex rnex pm3.2i f1odm wfo f1ofo forn syl anbi12d mpbii exlimiv f1oeq2
      f1oeq3 df-en brabg pm5.21nii ) ABFGAHIZBHIZJZABCTZKZCLZABFMVAUSCVAUTNZHIZ
      UTOZHIZJUSVDVFUTCPZUAUTVGUBUCVAVDUQVFURVAVCAHABUTUDQVAVEBHVAABUTUEVEBRABU
      TUFABUTUGUHQUIUJUKDTZETZUTKZCLAVIUTKZCLVBDEABHHFVHARVJVKCVHAVIUTULSVIBRVK
      VACVIBAUTUMSDECUNUOUP $.
  $}

  ${
    $d f g x y $.
    $( The equinumerosity relationship is a set.  (Contributed by SF,
       23-Feb-2015.) $)
    enex $p |- ~~ e. _V $=
      ( vx vy vf vg cen cfns cswap ccnv ctxp crn cv wex cop wcel elrn2 wa df-br
      wfn wbr bitri cimage cvv wf1o copab df-en vex bitr3i wceq oteltxp opelcnv
      brfns cima dfcnv2 eqeq2i brimage anbi12i exbii cnvex fneq1 ceqsexv dff1o4
      3bitr2ri 3bitr4i opabbi2i eqtr4i fnsex swapex imageex txpex rnex eqeltri
      ) EFGUAZHZFIZJZIZJZUBEAKZBKZCKZUCZCLZABUDVQABCUEWBABVQVRVSMZVQNVTWCMVPNZC
      LWBCWCVPOWDWACVTVRMFNZVTVSMZVONZPVTVRRZVTHZVSRZPWDWAWEWHWGWJWEVTVRFSWHVTV
      RFQVRVTCUFZUKUGWGDKZWFMVNNZDLZWJDWFVNOWNWLWIUHZWLVSRZPZDLWJWMWQDWMWLVTMVM
      NZWLVSMFNZPWQWLVTVSVMFUIWRWOWSWPWRVTWLMVLNZWOWLVTVLUJWOWLGVTULZUHVTWLVLSW
      TWIXAWLVTUMUNVTWLGWKDUFZUOVTWLVLQVBTWSWLVSFSWPWLVSFQVSWLXBUKUGUPTUQWPWJDW
      IVTWKURVSWLWIUSUTTTUPVTVRVSFVOUIVRVSVTVAVCUQTVDVEVPFVOVFVNVMFVLGVGVHURVFV
      IVJVIVJVK $.
  $}

  ${
    $d f A $.  $d f B $.  $d f F $.
    $( The domain and range of a one-to-one, onto function are equinumerous.
       (Contributed by SF, 23-Feb-2015.) $)
    f1oeng $p |- ( ( F e. C /\ F : A -1-1-onto-> B ) -> A ~~ B ) $=
      ( vf wcel wf1o wa cv wex cen wbr f1oeq1 spcegv imp bren sylibr ) DCFZABDG
      ZHABEIZGZEJZABKLRSUBUASEDCABTDMNOABEPQ $.
  $}

  ${
    f1oen.1 $e |- F e. _V $.
    $( The domain and range of a one-to-one, onto function are equinumerous.
       (Contributed by SF, 19-Jun-1998.) $)
    f1oen $p |- ( F : A -1-1-onto-> B -> A ~~ B ) $=
      ( cvv wcel wf1o cen wbr f1oeng mpan ) CEFABCGABHIDABECJK $.
  $}

  $( Equinumerosity is reflexive.  (Contributed by SF, 23-Feb-2015.) $)
  enrflxg $p |- ( A e. V -> A ~~ A ) $=
    ( wcel cid cres cvv wf1o cen wbr idex resexg mpan f1oi f1oeng sylancl ) ABC
    ZDAEZFCZAAQGAAHIDFCPRJDAFBKLAMAAFQNO $.

  ${
    enrflx.1 $e |- A e. _V $.
    $( Equinumerosity is reflexive.  (Contributed by SF, 23-Feb-2015.) $)
    enrflx $p |- A ~~ A $=
      ( cvv wcel cen wbr enrflxg ax-mp ) ACDAAEFBACGH $.
  $}

  ${
    $d A f g $.  $d B f g $.  $d C f g $.

    $( Equinumerosity is symmetric.  (Contributed by SF, 23-Feb-2015.) $)
    ensymi $p |- ( A ~~ B -> B ~~ A ) $=
      ( vf cen wbr wf1o wex bren ccnv f1ocnv vex cnvex f1oen syl exlimiv sylbi
      cv ) ABDEABCQZFZCGBADEZABCHSTCSBARIZFTABRJBAUARCKLMNOP $.

    $( Equinumerosity is symmetric.  (Contributed by SF, 23-Feb-2015.) $)
    ensym $p |- ( A ~~ B <-> B ~~ A ) $=
      ( cen wbr ensymi impbii ) ABCDBACDABEBAEF $.

    $( Equinumerosity is transitive.  (Contributed by SF, 23-Feb-2015.) $)
    entr $p |- ( ( A ~~ B /\ B ~~ C ) -> A ~~ C ) $=
      ( vf vg cen wbr wa cv wf1o wex bren anbi12i eeanv bitr4i f1oco ancoms vex
      ccom coex f1oen syl exlimivv sylbi ) ABFGZBCFGZHZABDIZJZBCEIZJZHZEKDKZACF
      GZUGUIDKZUKEKZHUMUEUOUFUPABDLBCELMUIUKDENOULUNDEULACUJUHSZJZUNUKUIURABCUJ
      UHPQACUQUJUHERDRTUAUBUCUD $.
  $}

  ${
    $d x y z $.
    $( Equinumerosity is an equivalence relationship over the universe.
       (Contributed by SF, 23-Feb-2015.) $)
    ener $p |- ~~ Er _V $=
      ( vx vy vz cen cvv cer wbr wtru wcel enex a1i vvex cv ensymi 3ad2ant3 w3a
      wa entr iserd trud ) DEFGHABCEDEEDEIHJKEEIHLKAMZBMZDGZHUBUADGUAEIZUBEIZQU
      AUBNOUCUBCMZDGQHUAUFDGUDUEUFEIPUAUBUFROST $.
  $}

  ${
    $d x y $.
    $( Equality implies equinumerosity.  (Contributed by SF, 30-Apr-1998.) $)
    idssen $p |- _I C_ ~~ $=
      ( vx vy cid cen cv wbr cop wcel weq ideq enrflx breq2 mpbii sylbi 3imtr3i
      vex df-br relssi ) ABCDAEZBEZCFZSTDFZSTGZCHUCDHUAABIZUBSTBPJUDSSDFUBSAPKS
      TSDLMNSTCQSTDQOR $.
  $}

  $( The domain of equinumerosity.  (Contributed by SF, 10-May-1998.) $)
  dmen $p |- dom ~~ = _V $=
    ( cvv cen cdm wss wceq cid idssen dmi dmss syl5eqssr ax-mp vss mpbi ) ABCZD
    ZNAEFBDZOGPAFCNHFBIJKNLM $.

  ${
    $d f A $.
    $( The empty set is equinumerous only to itself.  Exercise 1 of
       [TakeutiZaring] p. 88.  (Contributed by SF, 27-May-1998.) $)
    en0 $p |- ( A ~~ (/) <-> A = (/) ) $=
      ( vf c0 cen wbr wceq cv wf1o wex bren ccnv f1ocnv f1o00 simprbi syl sylbi
      exlimiv 0ex enrflx breq1 mpbiri impbii ) ACDEZACFZUCACBGZHZBIUDACBJUFUDBU
      FCAUEKZHZUDACUELUHUGCFUDAUGMNOQPUDUCCCDECRSACCDTUAUB $.
  $}

  ${
    $d x y z a b F $.
    fundmen.1 $e |- F e. _V $.
    $( A function is equinumerous to its domain.  Exercise 4 of [Suppes]
       p. 98.  (Contributed by SF, 23-Feb-2015.) $)
    fundmen $p |- ( Fun F -> dom F ~~ F ) $=
      ( vx vy vz va vb wfun cen wbr c1st wceq cvv cv wa wi wal wcel wex bitr4i
      cdm cres wf1o wfn ccnv crn wss ssv wfo 1stfo fofn fnssresb mp2b mpbir a1i
      wb weq cop brcnv brres br1st anbi1i 19.41v 3bitri anbi12i eeanv dffun4 sp
      vex an4 sps sylbi opeq2 syl6 eleq1 bi2anan9 eqeq12 imbi12d biimprcd imp3a
      syl5bi exlimdvv alrimiv alrimivv dffun2 sylibr dfdm4 dfima3 eqtr2i dff1o2
      syl cima syl3anbrc 1stex resex f1oen ensym sylib ) AHZAAUAZIJZWTAIJWSAWTK
      AUBZUCZXAWSXBAUDZXBUEZHZXBUFZWTLZXCXDWSXDAMUGZAUHMMKUIKMUDXDXIUPUJMMKUKMA
      KULUMUNUOWSCNZDNZXEJZXJENZXEJZOZDEUQZPZEQZDQCQXFWSXRCDWSXQEXOXKXJFNZURZLZ
      XKARZOZXMXJGNZURZLZXMARZOZOZGSFSZWSXPXOYCFSZYHGSZOYJXLYKXNYLXLXKXJXBJXKXJ
      KJZYBOZYKXJXKXBUSXKXJKAUTYNYAFSZYBOYKYMYOYBFXKXJCVIZVAVBYAYBFVCTVDXNYFGSZ
      YGOZYLXNXMXJXBJXMXJKJZYGOYRXJXMXBUSXMXJKAUTYSYQYGGXMXJYPVAVBVDYFYGGVCTVEY
      CYHFGVFTWSYIXPFGYIYAYFOZYBYGOZOZWSXPYAYBYFYGVJWSXTARZYEARZOZXTYELZPZUUBXP
      PWSUUEFGUQZUUFWSUUEUUHPZGQZFQZCQUUICFGAVGUUKUUICUUJUUIFUUIGVHVKVKVLXSYDXJ
      VMVNUUGYTUUAXPYTUUAXPPUUGYTUUAUUEXPUUFYAYBUUCYFYGUUDXKXTAVOXMYEAVOVPXKXTX
      MYEVQVRVSVTWKWAWBWAWCWDCDEXEWEWFXHWSWTKAWLXGAWGKAWHWIUOAWTXBWJWMAWTXBKAWN
      BWOWPWKAWTWQWR $.
  $}

  ${
    $d x A $.  $d x F $.
    $( A function is equinumerous to its domain.  Exercise 4 of [Suppes]
       p. 98.  (Contributed by set.mm contributors, 17-Sep-2013.) $)
    fundmeng $p |- ( ( F e. V /\ Fun F ) -> dom F ~~ F ) $=
      ( vx wcel wfun cdm cen wbr cv wceq funeq dmeq breq12d imbi12d vex fundmen
      wi id vtoclg imp ) ABDAEZAFZAGHZCIZEZUDFZUDGHZQUAUCQCABUDAJZUEUAUGUCUDAKU
      HUFUBUDAGUDALUHRMNUDCOPST $.

    $( A relational set is equinumerous to its converse.  (Contributed by
       set.mm contributors, 28-Dec-2014.) (Modified by Scott Fenton,
       17-Apr-2021.) $)
    cnven $p |- ( A e. V -> A ~~ `' A ) $=
      ( wcel cswap cres cvv ccnv wf1o cen wbr swapex resexg mpan swapres f1oeng
      sylancl ) ABCZDAEZFCZAAGZRHATIJDFCQSKDAFBLMANATFROP $.
  $}

  $( A function is equinumerate to its domain.  (Contributed by Paul Chapman,
     22-Jun-2011.) $)
  fndmeng $p |- ( ( F Fn A /\ F e. C ) -> A ~~ F ) $=
    ( wcel wfn cen wbr wfun wceq wa df-fn fundmeng breq1 syl5ibcom impr sylan2b
    cdm ancoms ) CBDZCAEZACFGZTSCHZCQZAIZJUACAKSUBUDUASUBJUCCFGUDUACBLUCACFMNOP
    R $.

  $( Two singletons are equinumerous.  (Contributed by set.mm contributors,
     9-Nov-2003.) $)
  en2sn $p |- ( ( A e. C /\ B e. D ) -> { A } ~~ { B } ) $=
    ( wcel wa csn cop wf1o cen wbr f1osng snex f1oen syl ) ACEBDEFAGZBGZABHZGZI
    PQJKABCDLPQSRMNO $.

  ${
    $d f g h A $.  $d f g h B $.  $d f g h C $.  $d f g h D $.
    $( Equinumerosity of union of disjoint sets.  Theorem 4 of [Suppes] p. 92.
       (Contributed by set.mm contributors, 11-Jun-1998.) $)
    unen $p |- ( ( ( A ~~ B /\ C ~~ D ) /\
  ( ( A i^i C ) = (/) /\ ( B i^i D ) = (/) ) ) -> ( A u. C ) ~~ ( B u. D ) ) $=
      ( vf vg vh cv wf1o wa wex cin c0 wceq cun cen wbr wi vex bren unex f1oeq1
      f1oun spcev syl ex exlimivv imp anbi12i eeanv bitr4i anbi1i 3imtr4i ) ABE
      HZIZCDFHZIZJZFKEKZACLMNBDLMNJZJACOZBDOZGHZIZGKZABPQZCDPQZJZUTJVAVBPQUSUTV
      EURUTVEREFURUTVEURUTJVAVBUNUPOZIZVEABCDUNUPUCVDVJGVIUNUPESFSUAVAVBVCVIUBU
      DUEUFUGUHVHUSUTVHUOEKZUQFKZJUSVFVKVGVLABETCDFTUIUOUQEFUJUKULVAVBGTUM $.
  $}

  ${
    xpsnen.1 $e |- A e. _V $.
    xpsnen.2 $e |- B e. _V $.
    $( A set is equinumerous to its cross-product with a singleton.
       Proposition 4.22(c) of [Mendelson] p. 254.  (Contributed by set.mm
       contributors, 23-Feb-2015.) $)
    xpsnen $p |- ( A X. { B } ) ~~ A $=
      ( csn cxp cen wbr cdm wcel c0 wne wceq snid ne0i dmxp mp2b wf wfun fconst
      ffun snex xpex fundmen eqbrtrri ensym mpbi ) AABEZFZGHUIAGHUIIZAUIGBUHJUH
      KLUJAMBDNUHBOAUHPQAUHUIRUISUJUIGHABDTAUHUIUAUIAUHCBUBUCUDQUEAUIUFUG $.
  $}

  ${
    $d x y A $.  $d x y B $.
    $( A set is equinumerous to its cross-product with a singleton.
       Proposition 4.22(c) of [Mendelson] p. 254.  (Contributed by set.mm
       contributors, 22-Oct-2004.) $)
    xpsneng $p |- ( ( A e. V /\ B e. W ) -> ( A X. { B } ) ~~ A ) $=
      ( vx vy cv csn cxp cen wbr wceq xpeq1 id breq12d xpeq2d breq1d vex xpsnen
      sneq vtocl2g ) EGZFGZHZIZUBJKAUDIZAJKABHZIZAJKEFABCDUBALZUEUFUBAJUBAUDMUI
      NOUCBLZUFUHAJUJUDUGAUCBTPQUBUCERFRSUA $.
  $}

  ${
    $d x y A $.  $d x y B $.
    endisj.1 $e |- A e. _V $.
    endisj.2 $e |- B e. _V $.
    $( Any two sets are equinumerous to disjoint sets.  Exercise 4.39 of
       [Mendelson] p. 255.  (Contributed by set.mm contributors,
       16-Apr-2004.) $)
    endisj $p |- E. x E. y ( ( x ~~ A /\ y ~~ B ) /\ ( x i^i y ) = (/) ) $=
      ( c0 csn cxp cen wbr wa cin wceq cv wex 0ex xpsnen snex xpex ccompl breq1
      complex pm3.2i necompl xpnedisj bi2anan9 ineq12 eqeq1d anbi12d spc2ev
      mp2an ) CGUAZHZIZCJKZDGHZIZDJKZLZUOURMZGNZAOZCJKZBOZDJKZLZVCVEMZGNZLZBPAP
      UPUSCUMEGQUCZRDGFQRUDCDUMGVKGUEUFVJUTVBLABUOURCUNEUMSTDUQFGSTVCUONZVEURNZ
      LZVGUTVIVBVLVDUPVMVFUSVCUOCJUBVEURDJUBUGVNVHVAGVCUOVEURUHUIUJUKUL $.
  $}

  ${
    xpcomen.1 $e |- A e. _V $.
    xpcomen.2 $e |- B e. _V $.
    $( Commutative law for equinumerosity of cross product.  Proposition
       4.22(d) of [Mendelson] p. 254.  (Contributed by set.mm contributors,
       5-Jan-2004.)  (Revised by set.mm contributors, 23-Apr-2014.) $)
    xpcomen $p |- ( A X. B ) ~~ ( B X. A ) $=
      ( cxp cswap cres wf1o cen wbr ccnv swapres wceq cnvxp f1oeq3 ax-mp swapex
      wb mpbi xpex resex f1oen ) ABEZBAEZFUCGZHZUCUDIJUCUCKZUEHZUFUCLUGUDMUHUFR
      ABNUGUDUCUEOPSUCUDUEFUCQABCDTUAUBP $.
  $}

  ${
    $d x y A $.  $d y B $.
    $( Commutative law for equinumerosity of cross product.  Proposition
       4.22(d) of [Mendelson] p. 254.  (Contributed by set.mm contributors,
       27-Mar-2006.) $)
    xpcomeng $p |- ( ( A e. V /\ B e. W ) -> ( A X. B ) ~~ ( B X. A ) ) $=
      ( vx vy cv cxp cen wbr wceq xpeq1 xpeq2 breq12d vex xpcomen vtocl2g ) EGZ
      FGZHZSRHZIJASHZSAHZIJABHZBAHZIJEFABCDRAKTUBUAUCIRASLRASMNSBKUBUDUCUEISBAM
      SBALNRSEOFOPQ $.
  $}

  $( A set is equinumerous to its cross-product with a singleton on the left.
     (Contributed by Stefan O'Rear, 21-Nov-2014.) $)
  xpsnen2g $p |- ( ( A e. V /\ B e. W ) -> ( { A } X. B ) ~~ B ) $=
    ( wcel wa csn cxp cen wbr cvv snex xpcomeng mpan adantl xpsneng ancoms entr
    syl2anc ) ACEZBDEZFAGZBHZBUBHZIJZUDBIJZUCBIJUAUETUBKEUAUEALUBBKDMNOUATUFBAD
    CPQUCUDBRS $.

  ${
    $d A f $.  $d A g $.  $d B f $.  $d B g $.  $d C f $.  $d C g $.  $d D f $.
    $d D g $.  $d f g $.
    $( Equinumerosity law for cross product.  Proposition 4.22(b) of
       [Mendelson] p. 254.  (Contributed by set.mm contributors, 24-Jul-2004.)
       (Revised by set.mm contributors, 9-Mar-2013.) $)
    xpen $p |- ( ( A ~~ B /\ C ~~ D ) -> ( A X. C ) ~~ ( B X. D ) ) $=
      ( vf vg cen wbr wa wf1o wex cxp bren anbi12i eeanv bitr4i cpprod f1opprod
      cv vex pprodex f1oen syl exlimivv sylbi ) ABGHZCDGHZIZABESZJZCDFSZJZIZFKE
      KZACLZBDLZGHZUHUJEKZULFKZIUNUFURUGUSABEMCDFMNUJULEFOPUMUQEFUMUOUPUIUKQZJU
      QACBDUIUKRUOUPUTUIUKETFTUAUBUCUDUE $.
  $}

  ${
    $d x t $. $d y t $.
    $( Lemma for ~ xpassen .  Compute a projection.  (Contributed by Scott
       Fenton, 19-Apr-2021.) $)
    xpassenlem $p |- ( y ( ( 1st o. 1st ) (x) ( ( 2nd o. 1st ) (x) 2nd ) ) x
    <-> ( Proj1 Proj1 y = Proj1 x /\ Proj2 Proj1 y = Proj1 Proj2 x /\
          Proj2 y = Proj2 Proj2 x ) ) $=
      ( vt cv cproj1 c1st ccom wbr cproj2 c2nd ctxp wa wceq cop wex opeq breq1i
      brco bitri 3bitri w3a vex proj1ex proj2ex eqcom anbi1i exbii breq1 syl6bb
      opbr1st ceqsexv breq2i trtxp opbr2nd anbi12i 3anass 3bitr4i ) BDZADZEZFFG
      ZHZURUSIZJFGZJKZHZLZUREZEZUTMZVHIZVCEZMZURIZVCIZMZLZLURUSVAVEKZHZVJVMVPUA
      VBVJVFVQVBVHVNNZUTVAHVTCDZFHZWAUTFHZLZCOZVJURVTUTVAURPZQCVTUTFFRWEWAVHMZW
      CLZCOVJWDWHCWBWGWCWBVHWAMWGVHVNWAURBUBZUCZURWIUDZUJVHWAUESZUFUGWCVJCVHWJW
      GWCVHUTFHZVJWAVHUTFUHWMVIVKNZUTFHVJVHWNUTFVHPZQVIVKUTVHWJUCZVHWJUDZUJSUIU
      KSTVFURVLVONZVEHURVLVDHZURVOJHZLVQVCWRURVEVCPULURVLVOVDJUMWSVMWTVPWSVTVLV
      DHWBWAVLJHZLZCOZVMURVTVLVDWFQCVTVLJFRXCWGXALZCOVMXBXDCWBWGXAWLUFUGXAVMCVH
      WJWGXAVHVLJHZVMWAVHVLJUHXEWNVLJHVMVHWNVLJWOQVIVKVLWPWQUNSUIUKSTWTVTVOJHVP
      URVTVOJWFQVHVNVOWJWKUNSUOTUOVSURUTVCNZVRHVGUSXFURVRUSPULURUTVCVAVEUMSVJVM
      VPUPUQ $.
  $}

  ${
    $d A a b c x y z t p $. $d B a b c x y z t p $. $d C a b c x y z t p $.
    xpassen.1 $e |- A e. _V $.
    xpassen.2 $e |- B e. _V $.
    xpassen.3 $e |- C e. _V $.
    $( Associative law for equinumerosity of cross product.  Proposition
       4.22(e) of [Mendelson] p. 254.  (Contributed by SF, 24-Feb-2015.) $)
    xpassen $p |- ( ( A X. B ) X. C ) ~~ ( A X. ( B X. C ) ) $=
      ( vy vx vz vp vt c1st c2nd wbr cvv wa wceq wcel wex wrex va cxp ccom ctxp
      vb vc cres wf1o cen wf1 wss wf cv wmo wal wfn cin crn wfo 1stfo fof ax-mp
      cima dffn2 mpbir ssv fnco mp3an 2ndfo fofn fntxp mp2an fneq2i mpbi weq wi
      inidm cproj1 cproj2 w3a xpassenlem cop simp1 eqtr3 syl2an opeq12d 3eqtr4g
      simp2 opeq simp3 syl2anb breq1 mo4 ax-gen dff12 mpbir2an f1ores wb opeqex
      gen2 vex rexcom4 opex ceqsexv brco1st bitri trtxp brco eqcom anbi1i exbii
      opbr1st opbr2nd 3bitri anbi12i 3anass 3bitr4i rexbii bitr3i 3reeanv elxp2
      df-rex opeq1 eqeq2d reeanv 3bitr4ri risset 3anbi123i elima2 opelxp anbi2i
      r19.41v opeq2 eleq1d bibi12d 1stex coex 2ndex txpex xpex mp2b resex f1oen
      mpbiri exlimivv eqrelriv f1oeq3 ) ABUBZCUBZABCUBZUBZLLUCZMLUCZMUDZUDZUUIU
      GZUHZUUIUUKUINUUIUUOUUIVCZUUPUHZUUQOOUUOUJZUUIOUKUUSUUTOOUUOULZGUMZHUMZUU
      ONZGUNZHUOUUOOUPZUVAUUOOOUQZUPZUVFUULOUPZUUNOUPZUVHLOUPZUVKLURZOUKZUVIUVK
      OOLULZOOLUSUVNUTOOLVAVBOLVDVEZUVOUVLVFZOOLLVGVHUUNUVGUPZUVJUUMOUPZMOUPZUV
      QUVSUVKUVMUVROOMUSUVSVIOOMVJVBZUVOUVPOOMLVGVHUVTOOUUMMVKVLUVGOUUNOVQZVMVN
      OOUULUUNVKVLUVGOUUOUWAVMVNOUUOVDVNUVEHUVEUVDIUMZUVCUUONZPGIVOZVPZIUOGUOUW
      EGIUVDUVBVRZVRZUVCVRZQZUWFVSZUVCVSZVRZQZUVBVSZUWKVSZQZVTZUWBVRZVRZUWHQZUW
      RVSZUWLQZUWBVSZUWOQZVTZUWDUWCHGWAHIWAUWQUXEPZUWFUWNWBUWRUXCWBUVBUWBUXFUWF
      UWRUWNUXCUXFUWGUWJWBUWSUXAWBUWFUWRUXFUWGUWSUWJUXAUWQUWIUWTUWGUWSQUXEUWIUW
      MUWPWCUWTUXBUXDWCUWGUWSUWHWDWEUWQUWMUXBUWJUXAQUXEUWIUWMUWPWHUWTUXBUXDWHUW
      JUXAUWLWDWEWFUWFWIUWRWIWGUWQUWPUXDUWNUXCQUXEUWIUWMUWPWJUWTUXBUXDWJUWNUXCU
      WOWDWEWFUVBWIUWBWIWGWKWTUVDUWCGIUVBUWBUVCUUOWLWMVEWNGHOOUUOWOWPUUIVFOOUUI
      UUOWQVLUURUUKQUUSUUQWRUAJUURUUKJUMZORUXGUEUMZUFUMZWBZQZUFSUESUAUMZUXGWBZU
      URRZUXMUUKRZWRZJXAUEUFUXGOWSUXKUXPUEUFUXKUXPUXLUXJWBZUURRZUXQUUKRZWRUXGUU
      IRZUXGUXQUUONZPZJSZUXLARZUXHBRZUXICRZVTZUXRUXSUXGUVCUVBWBZUWBWBZQZUYAPZIC
      TZGBTZHATZJSZHUAVOZHATZGUEVOZGBTZIUFVOZICTZVTZUYCUYGUYOUYPUYRUYTVTZICTZGB
      TZHATZVUBUYOUYMJSZHATVUFUYMHJAXBVUGVUEHAVUGUYLJSZGBTVUEUYLGJBXBVUHVUDGBVU
      HUYKJSZICTVUDUYKIJCXBVUIVUCICVUIUYIUXQUUONZVUCUYAVUJJUYIUYHUWBUVCUVBHXAZG
      XAZXCZIXAZXCUXGUYIUXQUUOWLXDUYIUXLUULNZUYIUXJUUNNZPUYPUYRUYTPZPVUJVUCVUOU
      YPVUPVUQVUOUYHUXLLNUYPUYHUWBUXLLVUMVUNXEUVCUVBUXLVUKVULXLXFVUPUYIUXHUUMNZ
      UYIUXIMNZPVUQUYIUXHUXIUUMMXGVURUYRVUSUYTVURUYIKUMZLNZVUTUXHMNZPZKSVUTUYHQ
      ZVVBPZKSZUYRKUYIUXHMLXHVVCVVEKVVAVVDVVBVVAUYHVUTQVVDUYHUWBVUTVUMVUNXLUYHV
      UTXIXFXJXKVVFUYHUXHMNZUYRVVBVVGKUYHVUMVUTUYHUXHMWLXDUVCUVBUXHVUKVULXMXFXN
      UYHUWBUXIVUMVUNXMXOXFXOUYIUXLUXJUULUUNXGUYPUYRUYTXPXQXFXRXSXRXSXRXSUYPUYR
      UYTHGIABCXTXFUYBUYNJUYJICTZGBTZUYAPZHATVVIHATZUYAPUYNUYBVVIUYAHAYLUYMVVJH
      AUYMVVHUYAPZGBTVVJUYLVVLGBUYJUYAICYLXRVVHUYAGBYLXFXRUXTVVKUYAUXTUXGVUTUWB
      WBZQZICTZKUUHTVUTUUHRZVVOPZKSZVVKKIUXGUUHCYAVVOKUUHYBVVDVVNPZICTZGBTZKSZH
      ATVWAHATZKSVVKVVRVWAHKAXBVVIVWBHAVVIVVTKSZGBTVWBVVHVWDGBVVHVVSKSZICTVWDVW
      EUYJICVVNUYJKUYHVUMVVDVVMUYIUXGVUTUYHUWBYCYDXDXRVVSIKCXBXSXRVVTGKBXBXFXRV
      VQVWCKVVDGBTZVVOPZHATVWFHATZVVOPVWCVVQVWFVVOHAYLVWAVWGHAVVDVVNGIBCYEXRVVP
      VWHVVOHGVUTABYAXJYFXKYFXNXJYFXKUYDUYQUYEUYSUYFVUAHUXLAYGGUXHBYGIUXICYGYHX
      QJUXQUUOUUIYIUYDUXJUUJRZPUYDUYEUYFPZPUXSUYGVWIVWJUYDUXHUXIBCYJYKUXLUXJAUU
      JYJUYDUYEUYFXPXQXQUXKUXNUXRUXOUXSUXKUXMUXQUURUXGUXJUXLYMZYNUXKUXMUXQUUKVW
      KYNYOUUDUUEUUAUUFUURUUKUUIUUPUUGVBVNUUIUUKUUPUUOUUIUULUUNLLYPYPYQUUMMMLYR
      YPYQYRYSYSUUHCABDEYTFYTUUBUUCVB $.
  $}

  ${
    ensn.1 $e |- A e. _V $.
    ensn.2 $e |- B e. _V $.
    $( Two singletons are equinumerous.  Theorem XI.1.10 of [Rosser] p. 348.
       (Contributed by SF, 25-Feb-2015.) $)
    ensn $p |- { A } ~~ { B } $=
      ( cvv wcel csn cen wbr en2sn mp2an ) AEFBEFAGBGHICDABEEJK $.
  $}

  ${
    $d A x $.  $d B x $.  $d X x $.  $d Y x $.
    $( Lemma for ~ enadj .  Calculate equality of differences.  (Contributed by
       SF, 25-Feb-2015.) $)
    enadjlem1 $p |- ( ( ( A u. { X } ) = ( B u. { Y } ) /\
    ( -. X e. A /\ -. Y e. B ) /\ ( Y e. A /\ X e. B ) ) ->
    ( A \ { Y } ) = ( B \ { X } ) ) $=
      ( vx csn cun wceq wcel wn wa cdif wne elsni necon3ai ad2antll ssun1 sseli
      wo ad2antrl w3a cv simpl1 eleqtrd elun sylib orel2 ex simp2l eleq1 notbid
      sylc syl5ibrcom necon2ad adantrd jcad eldifsn ssrdv eleqtrrd simp2r eqssd
      3imtr4g ) ACFZGZBDFZGZHZCAIZJZDBIZJZKZDAICBIKZUAZAVELZBVCLZVNEVOVPVNEUBZA
      IZVQDMZKZVQBIZVQCMZKZVQVOIZVQVPIZVNVTWAWBVNVTWAVNVTKZVQVEIZJZWAWGSZWAVSWH
      VNVRWGVQDVQDNOPWFVQVFIZWIWFVQVDVFVRVQVDIZVNVSAVDVQAVCQRTVGVLVMVTUCUDVQBVE
      UEUFWGWAUGULUHVNVRWBVSVNVRVQCVNVRJVQCHZVIVGVIVKVMUIWLVRVHVQCAUJUKUMUNUOUP
      VQADUQZVQBCUQZVBURVNEVPVOVNWCVTWEWDVNWCVRVSVNWCVRVNWCKZVQVCIZJZVRWPSZVRWB
      WQVNWAWPVQCVQCNOPWOWKWRWOVQVFVDWAWJVNWBBVFVQBVEQRTVGVLVMWCUCUSVQAVCUEUFWP
      VRUGULUHVNWAVSWBVNWAVQDVNWAJVQDHZVKVGVIVKVMUTWSWAVJVQDBUJUKUMUNUOUPWNWMVB
      URVA $.
  $}

  ${
    enadj.1 $e |- A e. _V $.
    enadj.2 $e |- B e. _V $.
    enadj.3 $e |- X e. _V $.
    enadj.4 $e |- Y e. _V $.
    $( Equivalence law for adjunction.  Theorem XI.1.13 of [Rosser] p. 348.
       (Contributed by SF, 25-Feb-2015.) $)
    enadj $p |- ( ( ( A u. { X } ) = ( B u. { Y } ) /\
        -. X e. A /\ -. Y e. B ) -> A ~~ B ) $=
      ( cun wceq wcel wn w3a cen wbr cdif wa cin c0 a1i csn uneq2d eqeq1d eleq1
      sneq notbid 3anbi12d simp1 difeq1d nnsucelrlem2 3ad2ant2 3ad2ant3 3eqtr3d
      wi enrflx syl6eqbr syl6bi wne wo elsni eqcomd necon3ai adantr snid sselii
      ssun2 simpr1 syl5eleqr elun sylib orel2 syl5eleq jca simpl1 simpl2 simpl3
      sylc simprl simprr enadjlem1 syl122anc snex difex breq2 mpbii adantl ensn
      3adant1 incom disjdif eqtri syl22anc simpl3l nnsucelrlem4 simpl3r 3brtr3d
      unen syl mpdan mpd3an3 ex pm2.61ine ) ACUAZIZBDUAZIZJZCAKZLZDBKLZMZABNOZU
      NCDCDJZXKAXEIZXFJZDAKZLZXJMZXLXMXGXOXIXQXJXMXDXNXFXMXCXEACDUEUBUCXMXHXPCD
      AUDUFUGXRABBNXRXNXEPZXFXEPZABXRXNXFXEXOXQXJUHUIXQXOXSAJXJADUJUKXJXOXTBJXQ
      BDUJULUMBFUOUPUQCDURZXKXLYAXKXPCBKZQZXLYAXKQZXPYBYDDXCKZLZXPYEUSZXPYAYFXK
      YECDYEDCDCUTVAVBVCYDDXDKYGYDDXFXDXEXFDXEBVFDHVDVEYAXGXIXJVGZVHDAXCVIVJYEX
      PVKVQYDCXEKZLZYBYIUSZYBYAYJXKYICDCDUTVBVCYDCXFKYKYDCXDXFXCXDCXCAVFCGVDVEY
      HVLCBXEVIVJYIYBVKVQVMYAXKYCMZAXEPZBXCPZJZXLXKYCYOYAXKYCQXGXIXJXPYBYOXGXIX
      JYCVNXGXIXJYCVOXGXIXJYCVPXKXPYBVRXKXPYBVSABCDVTWAWHYLYOQZYMXEIZYNXCIZABNY
      PYMYNNOZXEXCNOZYMXERZSJZYNXCRZSJZYQYRNOYOYSYLYOYMYMNOYSYMAXEEDWBWCUOYMYNY
      MNWDWEWFYTYPDCHGWGTUUBYPUUAXEYMRSYMXEWIXEAWJWKTUUDYPUUCXCYNRSYNXCWIXCBWJW
      KTYMYNXEXCWQWLYPXPYQAJXPYBYAXKYOWMDAWNWRYPYBYRBJXPYBYAXKYOWOCBWNWRWPWSWTX
      AXB $.
  $}

  ${
    $d a b $.  $d a p $.  $d a x $.  $d a y $.  $d b x $.  $d b y $.  $d g p $.
    $d g x $.  $d g y $.  $d p x $.  $d p y $.  $d x y $.
    $( Lemma for ~ enpw1 .  Set up stratification for the reverse direction.
       (Contributed by SF, 26-Feb-2015.) $)
    enpw1lem1 $p |- { <. x , y >. | { x } g { y } } e. _V $=
      ( vp va vb c1st c2nd cv csn wbr wceq wa wex ancom weq bitri exbii ceqsexv
      3bitri ccnv csi ccom cin cima cuni1 copab cvv wcel wrex opex eluni1 elima
      cop vex brin brco brsnsi2 brcnv opbr1st equcom anbi1i sneq eqeq2d opbr2nd
      snex breq2 anbi2i anbi12i op1st2nd rexbii df-br risset bitr2i 1stex cnvex
      opabbi2i siex coex 2ndex inex imaex uni1ex eqeltrri ) GUAZUBZGUCZHUAZUBZH
      UCZUDZCIZUEZUFZAIZJZBIZJZWLKZABUGUHWSABWNWOWQUNZWNUIWTJZWMUIZDIZWPWRUNZLZ
      DWLUJZWSWTWMWOWQAUOZBUOZUKZULXBXCXAWKKZDWLUJXFDXAWKWLUMXJXEDWLXJXCXAWGKZX
      CXAWJKZMXCWPGKZXCWRHKZMXEXCXAWGWJUPXKXMXLXNXKXCEIZGKZXOXAWFKZMZENXOWPLZXP
      MZENXMEXCXAWFGUQXRXTEXRXQXPMXTXPXQOXQXSXPXQXOFIZJZLZYAWTWEKZMZFNFAPZYCMZF
      NXSFWTXOWEXIURYEYGFYEYDYCMYGYCYDOYDYFYCYDWTYAGKAFPYFYAWTGUSWOWQYAXGXHUTAF
      VATVBQRYCXSFWOXGYFYBWPXOYAWOVCVDSTVBQRXPXMEWPWOVFZXOWPXCGVGSTXLXCXOHKZXOX
      AWIKZMZENXOWRLZYIMZENXNEXCXAWIHUQYKYMEYKYIYLMYMYJYLYIYJYCYAWTWHKZMZFNFBPZ
      YCMZFNYLFWTXOWHXIURYOYQFYOYCYPMYQYNYPYCYNWTYAHKBFPYPYAWTHUSWOWQYAXGXHVEBF
      VATVHYCYPOQRYCYLFWQXHYPYBWRXOYAWQVCVDSTVHYIYLOQRYIXNEWRWQVFZXOWRXCHVGSTVI
      WPWRXCYHYRVJTVKQWSXDWLUIXFWPWRWLVLDXDWLVMVNTVQWMWKWLWGWJWFGWEGVOVPVRVOVSW
      IHWHHVTVPVRVTVSWACUOWBWCWD $.
  $}

  ${
    $d A a b f $.  $d B a b f $.  $d a g $.  $d a w $.  $d a x $.  $d a y $.
    $d a z $.  $d b g $.  $d b w $.  $d b x $.  $d b y $.  $d b z $.  $d g w $.
    $d g x $.  $d g y $.  $d g z $.  $d w x $.  $d w y $.  $d w z $.  $d x y $.
    $d x z $.  $d y z $.
    $( Two classes are equinumerous iff their unit power classes are
       equinumerous.  Theorem XI.1.33 of [Rosser] p. 368.  (Contributed by SF,
       26-Feb-2015.) $)
    enpw1 $p |- ( A ~~ B <-> ~P1 A ~~ ~P1 B ) $=
      ( vx vy vz vw cen wbr cvv wcel cpw1 wceq wex wfun cdm syl sylanbrc sylibr
      cv wal va vb vf vg wa brex pw1exb anbi12i sylib breq1 pw1eq bibi12d breq2
      breq1d breq2d wf1o bren csi wfn ccnv f1ofun funsi f1odm dmsi syl5eq df-fn
      wb wf1 f1of1 wf df-f1 simprbi 3syl cnvsi funeqi wfo f1ofo forn rnsi dfrn4
      crn eqtr3i syl5eqr dff1o4 vex siex f1oen exlimiv sylbi csn wmo weq wi w3a
      copab fununiq sneqb 3expib alrimivv sneq mo4 alrimiv funopab cab wel eldm
      dmopab brelrn eleq2d wrex elpw1 spcev syl6bi rexlimivw com23 mpdi exlimdv
      syl5bi breldm impbid1 bitr3d snelpw1 syl6bb abbi1dv brcnv 3imtr3g cnvopab
      f1ocnv elrn fneq1i enpw1lem1 impbii vtocl2g pm5.21nii ) ABGHZAIJZBIJZUEZA
      KZBKZGHZABGUFUUAYSIJZYTIJZUEYRYSYTGUFUUBYPUUCYQAUGBUGUHUIUASZUBSZGHZUUDKZ
      UUEKZGHZVGAUUEGHZYSUUHGHZVGYOUUAVGUAUBABIIUUDALZUUFUUJUUIUUKUUDAUUEGUJUUL
      UUGYSUUHGUUDAUKUNULUUEBLZUUJYOUUKUUAUUEBAGUMUUMUUHYTYSGUUEBUKUOULUUFUUIUU
      FUUDUUEUCSZUPZUCMUUIUUDUUEUCUQUUOUUIUCUUOUUGUUHUUNURZUPZUUIUUOUUPUUGUSZUU
      PUTZUUHUSZUUQUUOUUPNZUUPOZUUGLZUURUUOUUNNUVAUUDUUEUUNVAUUNVBPUUOUUNOZUUDL
      ZUVCUUDUUEUUNVCUVEUVBUVDKUUGUUNVDUVDUUDUKVEPUUPUUGVFQUUOUUSNZUUSOZUUHLZUU
      TUUOUUNUTZURZNZUVFUUOUUDUUEUUNVHZUVINZUVKUUDUUEUUNVIUVLUUDUUEUUNVJUVMUUDU
      UEUUNVKVLUVIVBVMUUSUVJUUNVNVORUUOUUDUUEUUNVPUUNWAZUUELZUVHUUDUUEUUNVQUUDU
      UEUUNVRUVOUVGUVNKZUUHUUPWAUVPUVGUUNVSUUPVTWBUVNUUEUKWCVMUUSUUHVFQUUGUUHUU
      PWDQUUGUUHUUPUUNUCWEWFWGPWHWIUUIUUGUUHUDSZUPZUDMUUFUUGUUHUDUQUVRUUFUDUVRU
      UDUUECSZWJZDSZWJZUVQHZCDWOZUPZUUFUVRUWDUUDUSZUWDUTZUUEUSZUWEUVRUWDNZUWDOZ
      UUDLUWFUVRUWCDWKZCTUWIUVRUWKCUVRUWCUVTESZWJZUVQHZUEDEWLZWMZETDTUWKUVRUWPD
      EUVRUVQNZUWPUUGUUHUVQVAUWQUWCUWNUWOUWQUWCUWNWNUWBUWMLUWOUVTUWBUWMUVQWPUWA
      UWLDWEWQUIWRPWSUWCUWNDEUWOUWBUWMUVTUVQUWAUWLWTUOXARXBUWCCDXCRUVRUWJUWCDMZ
      CXDUUDUWCCDXGUVRUWRCUUDUVRUWRUVTUUGJZCUAXEUVRUVTUVQOZJZUWRUWSUVRUXAUWRUXA
      UVTUWLUVQHZEMUVRUWREUVTUVQXFUVRUXBUWREUVRUXBUWLUVQWAZJZUWRUVTUWLUVQXHUVRU
      XDUXBUWRUVRUXDUWLUUHJZUXBUWRWMZUVRUXCUUHUWLUVRUUGUUHUVQVPUXCUUHLUUGUUHUVQ
      VQUUGUUHUVQVRPZXIUXEUWLFSZWJZLZFUUEXJUXFFUWLUUEXKUXJUXFFUUEUXJUXBUVTUXIUV
      QHZUWRUWLUXIUVTUVQUMUWCUXKDUXHFWEZDFWLUWBUXIUVTUVQUWAUXHWTUOXLXMXNWIXMXOX
      PXQXRUWCUXADUVTUWBUVQXSWHXTUVRUWTUUGUVTUUGUUHUVQVCZXIYAUVSUUDYBYCYDVEUWDU
      UDVFQUVRUWCDCWOZUUEUSZUWHUVRUXNNZUXNOZUUELUXOUVRUWCCWKZDTUXPUVRUXRDUVRUWC
      UWMUWBUVQHZUEZCEWLZWMZETCTUXRUVRUYBCEUVRUUHUUGUVQUTZUPUYCNZUYBUUGUUHUVQYH
      UUHUUGUYCVAUYDUWBUVTUYCHZUWBUWMUYCHZUEUVTUWMLZUXTUYAUYDUYEUYFUYGUWBUVTUWM
      UYCWPWRUYEUWCUYFUXSUWBUVTUVQYEUWBUWMUVQYEUHUVSUWLCWEWQYFVMWSUWCUXSCEUYAUV
      TUWMUWBUVQUVSUWLWTUNXARXBUWCDCXCRUVRUXQUWCCMZDXDUUEUWCDCXGUVRUYHDUUEUVRUY
      HUWBUUHJZDUBXEUVRUWBUXCJZUYHUYIUVRUYJUYHUYJUWLUWBUVQHZEMUVRUYHEUWBUVQYIUV
      RUYKUYHEUVRUYKUWLUWTJZUYHUWLUWBUVQXSUVRUYLUYKUYHUVRUYLUWLUUGJZUYKUYHWMZUV
      RUWTUUGUWLUXMXIUYMUXJFUUDXJUYNFUWLUUDXKUXJUYNFUUDUXJUYKUXIUWBUVQHZUYHUWLU
      XIUWBUVQUJUWCUYOCUXHUXLCFWLUVTUXIUWBUVQUVSUXHWTUNXLXMXNWIXMXOXPXQXRUWCUYJ
      CUVTUWBUVQXHWHXTUVRUXCUUHUWBUXGXIYAUWAUUEYBYCYDVEUXNUUEVFQUUEUWGUXNUWCCDY
      GYJRUUDUUEUWDWDQUUDUUEUWDCDUDYKWGPWHWIYLYMYN $.
  $}

  ${
    $d A s p x $.  $d G s p x $.  $d r s p x $.
    enmap2lem1.1 $e |- W = ( s e. ( G ^m A ) |-> ( s o. `' r ) ) $.
    $( Lemma for ~ enmap2 .  Set up stratification.  (Contributed by SF,
       26-Feb-2015.) $)
    enmap2lem1 $p |- W e. _V $=
      ( vx vp c1st c2nd cv cvv ccompose wcel wceq wa cop wbr vex bitri ccnv csn
      cima cxp cin ccom ctxp cmap cres cmpt copab df-mpt opelres wrex trtxp wex
      brco ancom brin brxp mpbiran2 eliniseg anbi2i cnvex op1st2nd 3bitri exbii
      co anbi1i opex breq2 ceqsexv rexbii elima risset 3bitr4i df-br brcomposeg
      wb mp2an eqcom 3bitr2i anbi2ci opabbi2i 3eqtr4i 1stex snex vvex xpex inex
      2ndex imaex coex txpex composeex ovex resex eqeltri ) CIJUAZEKZUAZUBZUCZL
      UDZUEZIUFZJUGZMUCZBAUHVHZUIZLDXIDKZXAUFZUJXKXINZGKZXLOZPZDGUKCXJDGXIXLULF
      XPDGXJXKXNQZXJNXQXHNZXMPXPXKXNXHXIUMXRXOXMXRXKXAQZXNQZMNZXSXNMRZXOHKZXQXG
      RZHMUNYCXTOZHMUNXRYAYDYEHMYDYCXKXFRZYCXNJRZPYCXSIRZYGPYEYCXKXNXFJUOYFYHYG
      YFYCXNIRZXNXKXERZPZGUPXNXSOZYIPZGUPYHGYCXKXEIUQYKYMGYKYJYIPYMYIYJURYJYLYI
      YJXNXKIRZXNXKXDRZPYNXNXAJRZPYLXNXKIXDUSYOYPYNYOXNXCNZYPYOYQXKLNZDSZXNXKXC
      LUTVAJXAXNVBTVCXKXAXNYSWTESVDZVEVFVITVGYIYHGXSXKXAYSYTVJZXNXSYCIVKVLVFVIX
      SXNYCUUAGSVEVFVMHXQXGMVNHXTMVOVPXSXNMVQYBXLXNOZXOYRXALNYBUUBVSYSYTXKXAXNL
      LVRVTXLXNWATWBWCTWDWEXHXIXGMXFJXEIIXDWFXCLWSXBJWKVDXAWGWLWHWIWJWFWMWKWNWO
      WLBAUHWPWQWR $.
  $}

  ${
    $d a s $.  $d G s $.
    enmap2lem2.1 $e |- W = ( s e. ( G ^m a ) |-> ( s o. `' r ) ) $.
    $( Lemma for ~ enmap2 .  Establish the functionhood and domain of ` W ` .
       (Contributed by SF, 26-Feb-2015.) $)
    enmap2lem2 $p |- W Fn ( G ^m a ) $=
      ( cv ccnv ccom cvv wcel cmap co wfn fnmpt vex cnvex coex a1i mprg ) CGZDG
      ZHZIZJKZBAEGLMZNCUFCUFUDBJFOUEUAUFKUAUCCPUBDPQRST $.
  $}

  ${
    $d a s $.  $d G s $.  $d r s $.  $d S s $.
    enmap2lem3.1 $e |- W = ( s e. ( G ^m a ) |-> ( s o. `' r ) ) $.
    $( Lemma for ~ enmap2 .  Binary relationship condition over ` W ` .
       (Contributed by SF, 26-Feb-2015.) $)
    enmap2lem3 $p |- ( r : a -1-1-onto-> b ->
       ( S W T -> S = ( T o. r ) ) ) $=
      ( wbr cv cmap co wcel ccnv ccom wceq wa cvv coeq1 wf1o cdm wfn enmap2lem2
      breldm fndm ax-mp syl6eleq wb fnbrfvb mpan cnvex coexg mpan2 fvmptg mpdan
      cfv vex eqeq1d eqcom syl6bb biimpd sylbird mpcom jca cid f1ococnv1 coeq2d
      cres adantr elmapi fcoi1 syl adantl eqtr2d coass syl6eq eqeq2d syl5ibrcom
      wf expimpd syl5 ) ABDJZACGKZLMZNZBAFKZOZPZQZRWDHKZWGUAZABWGPZQZWCWFWJWCAD
      UBZWEABDUEDWEUCZWOWEQCDEFGIUDZWEDUFUGUHZWFWCWJWRWFWCADUQZBQZWJWPWFWTWCUIW
      QWEABDUJUKWFWTWJWFWTWIBQWJWFWSWIBWFWISNZWSWIQWFWHSNXAWGFURULAWHWESUMUNEAE
      KZWHPWIWESDXBAWHTIUOUPUSWIBUTVAVBVCVDVEWLWFWJWNWLWFRZWNWJAAWHWGPZPZQXCXEA
      VFWDVIZPZAWLXEXGQWFWLXDXFAWDWKWGVGVHVJWFXGAQZWLWFWDCAVTXHACWDVKWDCAVLVMVN
      VOWJWMXEAWJWMWIWGPXEBWIWGTAWHWGVPVQVRVSWAWB $.
  $}

  ${
    $d a s $.  $d a x $.  $d a y $.  $d a z $.  $d b x $.  $d b y $.  $d b z $.
    $d G s $.  $d r s $.  $d r x $.  $d r y $.  $d r z $.  $d s y $.  $d s z $.
    $d W x $.  $d W y $.  $d W z $.  $d x y $.  $d x z $.  $d y z $.
    enmap2lem4.1 $e |- W = ( s e. ( G ^m a ) |-> ( s o. `' r ) ) $.
    $( Lemma for ~ enmap2 .  The converse of ` W ` is a function.  (Contributed
       by SF, 26-Feb-2015.) $)
    enmap2lem4 $p |- ( r : a -1-1-onto-> b -> Fun `' W ) $=
      ( vy vx vz cv wf1o wbr wa weq wi wal wceq enmap2lem3 brcnv ccnv wfun ccom
      anim12d eqtr3 alrimiv alrimivv dffun2 anbi12i imbi1i albii 2albii sylibr
      syl6 bitri ) EKFKDKZLZHKZIKZBMZJKZUSBMZNZHJOZPZJQZHQIQZBUAZUBZUQVFIHUQVEJ
      UQVCURUSUPUCZRZVAVJRZNVDUQUTVKVBVLURUSABCDEFGSVAUSABCDEFGSUDURVAVJUEUNUFU
      GVIUSURVHMZUSVAVHMZNZVDPZJQZHQIQVGIHJVHUHVQVFIHVPVEJVOVCVDVMUTVNVBUSURBTU
      SVABTUIUJUKULUOUM $.
  $}

  ${
    $d a p $.  $d a s $.  $d b p $.  $d G p $.  $d G s $.  $d p r $.  $d p s $.
    $d r s $.  $d W p $.
    enmap2lem5.1 $e |- W = ( s e. ( G ^m a ) |-> ( s o. `' r ) ) $.
    $( Lemma for ~ enmap2 .  Calculate the range of ` W ` .  (Contributed by
       SF, 26-Feb-2015.) $)
    enmap2lem5 $p |- ( r : a -1-1-onto-> b -> ran W = ( G ^m b ) ) $=
      ( vp cv cmap wcel ccom wceq vex coex adantl wf syl wb cvv wf1o crn co wfn
      cfv wral wss enmap2lem2 ccnv coeq1 cnvex fvmpt elmapi f1ocnv f1of syl2anr
      wa elovex1 elmapg mp3an23 mpbird eqeltrd ralrimiva fnfvrnss sylancr coass
      fco wbr syl6eq cid cres f1ococnv2 coeq2d fcoi1 eqtrd fnbrfvb mpbid brelrn
      sylan9eq ex ssrdv eqssd ) EIZFIZDIZUAZBUBZAWDJUCZWFBAWCJUCZUDZHIZBUEZWHKZ
      HWIUFWGWHUGABCDEGUHZWFWMHWIWFWKWIKZUQZWLWKWEUIZLZWHWOWLWRMWFCWKCIZWQLZWRW
      IBWSWKWQUJGWKWQHNZWEDNZUKZOZULPWPWRWHKZWDAWRQZWOWCAWKQWDWCWQQZXFWFWKAWCUM
      WFWDWCWQUAXGWCWDWEUNWDWCWQUORWDWCAWKWQVGUPWOXEXFSZWFWOATKZXHWKAWCJURXIWDT
      KWRTKXHFNXDAWDWRTTTUSUTRPVAVBVCHWIWHBVDVEWFHWHWGWFWKWHKZWKWGKZWFXJUQZWKWE
      LZWKBVHZXKXLXMBUEZWKMZXNXLXOWKWEWQLZLZWKXLXMWIKZXOXRMXLXSWCAXMQZXJWDAWKQZ
      WCWDWEQXTWFWKAWDUMZWCWDWEUOWCWDAWKWEVGUPXJXSXTSZWFXJXIYCWKAWDJURXIWCTKXMT
      KYCENWKWEXAXBOAWCXMTTTUSUTRPVAZCXMWTXRWIBWSXMMWTXMWQLXRWSXMWQUJWKWEWQVFVI
      GWKXQXAWEWQXBXCOOULRWFXJXRWKVJWDVKZLZWKWFXQYEWKWCWDWEVLVMXJYAYFWKMYBWDAWK
      VNRVSVOXLWJXSXPXNSWNYDWIXMWKBVPVEVQXMWKBVRRVTWAWB $.
  $}

  ${
    $d A a $.  $d a b $.  $d A b $.  $d a r $.  $d a s $.  $d B b $.  $d b r $.
    $d C a $.  $d C b $.  $d C r $.  $d C s $.  $d r s $.
    $( Set exponentiation preserves equinumerosity in the second argument.
       Theorem XI.1.22 of [Rosser] p. 357.  (Contributed by SF,
       26-Feb-2015.) $)
    enmap2 $p |- ( A ~~ B -> ( C ^m A ) ~~ ( C ^m B ) ) $=
      ( va vb vr vs cvv wcel wa cen wbr cmap co cv wi wceq oveq2 imbi12d wf1o
      brex breq1 breq1d breq2 breq2d wex bren ccnv ccom cmpt wfn cdm enmap2lem4
      wfun eqid crn dfrn4 enmap2lem5 syl5eqr jca df-fn sylibr enmap2lem2 dff1o4
      mpbiran enmap2lem1 f1oen syl exlimiv sylbi vtocl2g mpcom ) AHIBHIJABKLZCA
      MNZCBMNZKLZABKUADOZEOZKLZCVQMNZCVRMNZKLZPAVRKLZVNWAKLZPVMVPPDEABHHVQAQZVS
      WCWBWDVQAVRKUBWEVTVNWAKVQACMRUCSVRBQZWCVMWDVPVRBAKUDWFWAVOVNKVRBCMRUESVSV
      QVRFOZTZFUFWBVQVRFUGWHWBFWHVTWAGVTGOWGUHUIUJZTZWBWHWIUHZWAUKZWJWHWKUNZWKU
      LZWAQZJWLWHWMWOCWIGFDEWIUOZUMWHWNWIUPWAWIUQCWIGFDEWPURUSUTWKWAVAVBWJWIVTU
      KWLCWIGFDWPVCVTWAWIVDVEVBVTWAWIVQCWIGFWPVFVGVHVIVJVKVL $.
  $}

  ${
    $d A p r s x $. $d G p s x $.
    enmap1lem1.1 $e |- W = ( s e. ( A ^m G ) |-> ( r o. s ) ) $.
    $( Lemma for ~ enmap1 .  Set up stratification.  (Contributed by SF,
       3-Mar-2015.) $)
    enmap1lem1 $p |- W e. _V $=
      ( vx vp c1st cv cvv c2nd ccompose wcel wceq wa cop wbr bitri 3bitri copab
      ccnv csn cima cxp cin ccom ctxp cmap cres cmpt df-mpt opelres elima trtxp
      wrex wex brco ancom brin vex brxp mpbiran2 eliniseg anbi1i op1st2nd exbii
      co opex breq2 ceqsexv rexbii risset bitr4i df-br brcomposeg mp2an anbi2ci
      wb eqcom opabbi2i 3eqtr4i 1stex cnvex snex imaex vvex xpex inex composeex
      2ndex coex txpex ovex resex eqeltri ) CIUBZEJZUCZUDZKUEZLUFZIUGZLUHZMUDZA
      BUIVHZUJZKDXFWRDJZUGZUKXHXFNZGJZXIOZPZDGUACXGDGXFXIULFXMDGXGXHXKQZXGNXNXE
      NZXJPXMXHXKXEXFUMXOXLXJXOWRXHQZXKMRZXIXKOZXLXOXPXKQZMNZXQXOHJZXNXDRZHMUPZ
      XTHXNXDMUNYCYAXSOZHMUPXTYBYDHMYBYAXHXCRZYAXKLRZPYAXPIRZYFPYDYAXHXKXCLUOYE
      YGYFYEYAXKIRZXKXHXBRZPZGUQXKXPOZYHPZGUQYGGYAXHXBIURYJYLGYJYIYHPYLYHYIUSYI
      YKYHYIXKXHXARZXKXHLRZPXKWRIRZYNPYKXKXHXALUTYMYOYNYMXKWTNZYOYMYPXHKNZDVAZX
      KXHWTKVBVCIWRXKVDSVEWRXHXKEVAZYRVFTVESVGYHYGGXPWRXHYSYRVIZXKXPYAIVJVKTVEX
      PXKYAYTGVAVFTVLHXSMVMVNSXPXKMVOVNWRKNYQXQXRVSYSYRWRXHXKKKVPVQXIXKVTTVRSWA
      WBXEXFXDMXCLXBIXALWTKWQWSIWCWDWRWEWFWGWHWKWIWCWLWKWMWJWFABUIWNWOWP $.
  $}

  ${
    $d A s $.  $d G s $.
    enmap1lem2.1 $e |- W = ( s e. ( A ^m G ) |-> ( r o. s ) ) $.
    $( Lemma for ~ enmap1 .  Establish functionhood.  (Contributed by SF,
       3-Mar-2015.) $)
    enmap1lem2 $p |- W Fn ( A ^m G ) $=
      ( cv ccom cvv wcel cmap co wfn fnmpt vex coex a1i mprg ) EGZDGZHZIJZCABKL
      ZMDUCDUCUACIFNUBTUCJSTEODOPQR $.
  $}

  ${
    $d G s $.  $d r s $.  $d S s $.  $d A s $.
    enmap1lem3.1 $e |- W = ( s e. ( A ^m G ) |-> ( r o. s ) ) $.
    $( Lemma for ~ enmap2 .  Binary relationship condition over ` W ` .
       (Contributed by SF, 3-Mar-2015.) $)
    enmap1lem3 $p |- ( r : A -1-1-onto-> B ->
       ( S W T -> S = ( `' r o. T ) ) ) $=
      ( wbr cmap co wcel cv ccom wceq wa mpan cvv coeq2 wf1o cdm wfn enmap1lem2
      ccnv breldm fndm ax-mp syl6eleq cfv fnbrfvb vex coexg fvmptg mpdan eqeq1d
      wb bitr3d biimpd mpcom jca coass cid f1ococnv1 coeq1d wf elmapi fcoi2 syl
      cres sylan9eq syl5reqr eqeq2d syl5ibcom expimpd syl5 ) CDFJZCAEKLZMZHNZCO
      ZDPZQABVTUAZCVTUEZDOZPZVQVSWBVQCFUBZVRCDFUFFVRUCZWGVRPAEFGHIUDZVRFUGUHUIZ
      VSVQWBWJVSVQWBVSCFUJZDPZVQWBWHVSWLVQUQWIVRCDFUKRVSWKWADVSWASMZWKWAPVTSMVS
      WMHULVTCSVRUMRGCVTGNZOWAVRSFWNCVTTIUNUOUPURUSUTVAWCVSWBWFWCVSQZCWDWAOZPWB
      WFWOWPWDVTOZCOZCWDVTCVBWCVSWRVCAVJZCOZCWCWQWSCABVTVDVEVSEACVFWTCPCAEVGEAC
      VHVIVKVLWBWPWECWADWDTVMVNVOVP $.
  $}

  ${
    $d G s $.  $d r s $.  $d r x $.  $d r y $.  $d r z $.  $d s y $.  $d s z $.
    $d W x $.  $d W y $.  $d W z $.  $d x y $.  $d x z $.  $d y z $.  $d A s $.
    $d A x $.  $d A y $.  $d A z $.  $d B x $.  $d B y $.  $d B z $.
    enmap1lem4.1 $e |- W = ( s e. ( A ^m G ) |-> ( r o. s ) ) $.
    $( Lemma for ~ enmap2 .  The converse of ` W ` is a function.  (Contributed
       by SF, 3-Mar-2015.) $)
    enmap1lem4 $p |- ( r : A -1-1-onto-> B -> Fun `' W ) $=
      ( vy vx vz cv wf1o wbr wa wi wal ccnv wceq enmap1lem3 brcnv weq wfun ccom
      anim12d eqtr3 alrimiv alrimivv dffun2 anbi12i imbi1i albii 2albii sylibr
      syl6 bitri ) ABFKZLZHKZIKZDMZJKZUSDMZNZHJUAZOZJPZHPIPZDQZUBZUQVFIHUQVEJUQ
      VCURUPQUSUCZRZVAVJRZNVDUQUTVKVBVLABURUSCDEFGSABVAUSCDEFGSUDURVAVJUEUNUFUG
      VIUSURVHMZUSVAVHMZNZVDOZJPZHPIPVGIHJVHUHVQVFIHVPVEJVOVCVDVMUTVNVBUSURDTUS
      VADTUIUJUKULUOUM $.
  $}

  ${
    $d G p $.  $d G s $.  $d p r $.  $d p s $.  $d r s $.  $d W p $.  $d A p $.
    $d A s $.  $d B p $.
    enmap1lem5.1 $e |- W = ( s e. ( A ^m G ) |-> ( r o. s ) ) $.
    $( Lemma for ~ enmap2 .  Calculate the range of ` W ` .  (Contributed by
       SF, 3-Mar-2015.) $)
    enmap1lem5 $p |- ( r : A -1-1-onto-> B -> ran W = ( B ^m G ) ) $=
      ( vp cv wf1o cmap wcel ccom wceq coex wf syl2an cvv wb syl crn co wfn cfv
      wral wss enmap1lem2 coeq2 vex fvmpt adantl f1of elmapi fco wfo f1ofo forn
      wa rnex syl6eqelr elovex2 elmapg mp3an3 mpbird eqeltrd ralrimiva fnfvrnss
      sylancr ccnv wbr f1ocnv cdm f1odm dmex cnvex coass f1ococnv2 coeq1d fcoi2
      cid cres sylan9eq syl5eqr eqtrd fnbrfvb mpbid brelrn ex ssrdv eqssd ) ABF
      IZJZDUAZBCKUBZWLDACKUBZUCZHIZDUDZWNLZHWOUEWMWNUFACDEFGUGZWLWSHWOWLWQWOLZU
      RZWRWKWQMZWNXAWRXCNWLEWQWKEIZMZXCWODXDWQWKUHGWKWQFUIZHUIZOZUJUKXBXCWNLZCB
      XCPZWLABWKPCAWQPXJXAABWKULWQACUMCABWKWQUNQWLBRLZCRLZXIXJSZXAWLBWKUAZRWLAB
      WKUOXNBNABWKUPABWKUQTWKXFUSUTWQACKVAXKXLXCRLXMXHBCXCRRRVBVCQVDVEVFHWOWNDV
      GVHWLHWNWMWLWQWNLZWQWMLZWLXOURZWKVIZWQMZWQDVJZXPXQXSDUDZWQNZXTXQYAWKXSMZW
      QXQXSWOLZYAYCNXQYDCAXSPZWLBAXRPZCBWQPZYEXOWLBAXRJYFABWKVKBAXRULTWQBCUMZCB
      AXRWQUNQWLARLZXLYDYESZXOWLAWKVLRABWKVMWKXFVNUTWQBCKVAYIXLXSRLYJXRWQWKXFVO
      XGOZACXSRRRVBVCQVDZEXSXEYCWODXDXSWKUHGWKXSXFYKOUJTXQYCWKXRMZWQMZWQWKXRWQV
      PWLXOYNVTBWAZWQMZWQWLYMYOWQABWKVQVRXOYGYPWQNYHCBWQVSTWBWCWDXQWPYDYBXTSWTY
      LWOXSWQDWEVHWFXSWQDWGTWHWIWJ $.
  $}

  ${
    $d C r $.  $d C s $.  $d r s $.  $d A r $.  $d A s $.  $d B r $.
    $( Set exponentiation preserves equinumerosity in the first argument.
       Theorem XI.1.23 of [Rosser] p. 357.  (Contributed by SF, 3-Mar-2015.) $)
    enmap1 $p |- ( A ~~ B -> ( A ^m C ) ~~ ( B ^m C ) ) $=
      ( vr vs cen wbr cv wf1o wex cmap co bren ccom cmpt wfn ccnv wfun crn wceq
      eqid enmap1lem2 a1i enmap1lem4 enmap1lem5 dff1o2 syl3anbrc enmap1lem1 syl
      f1oen exlimiv sylbi ) ABFGABDHZIZDJACKLZBCKLZFGZABDMUNUQDUNUOUPEUOUMEHNOZ
      IZUQUNURUOPZURQRURSUPTUSUTUNACUREDURUAZUBUCABCUREDVAUDABCUREDVAUEUOUPURUF
      UGUOUPURACUREDVAUHUJUIUKUL $.
  $}

  ${
    $d A x y z $.
    enpw1pw.1 $e |- A e. _V $.
    $( Unit power class and power class commute within equivalence.  Theorem
       XI.1.35 of [Rosser] p. 368.  (Contributed by SF, 26-Feb-2015.) $)
    enpw1pw $p |- ~P1 ~P A ~~ ~P ~P1 A $=
      ( vy vx vz cpw cpw1 cpw1fn wf1o wbr c1c wss ax-mp wceq cv wrex wa wex vex
      wcel cres cen cima wf1 pw1fnf1o f1of1 pw1ss1c f1ores mp2an wb df-ima elpw
      cab sspw1 df-rex df-pw abeq2i anbi1i exbii bitr2i 3bitri csn elpw1 bitr4i
      r19.41v rexcom4 snex breq1 ceqsexv bitri rexbii bitr3i abbi2i eqtr4i mpbi
      brpw1fn f1oeq3 pw1fnex pwex pw1ex resex f1oen ) AFZGZAGZFZHWDUAZIZWDWFUBJ
      WDHWDUCZWGIZWHKKFZHUDZWDKLWJKWKHIWLUEKWKHUFMWCUGKWKWDHUHUIWIWFNWJWHUJWICO
      ZDOZHJZCWDPZDUMWFDCHWDUKWPDWFWNWFTZWNEOZGNZEWCPZWPWQWNWELWRALZWSQZERZWTWN
      WEDSZULEWNAXDUNWTWRWCTZWSQZERXCWSEWCUOXFXBEXEXAWSXAEWCEAUPUQURUSUTVAWPWMW
      DTZWOQZCRWMWRVBZNZWOQZEWCPZCRZWTWOCWDUOXHXLCXHXJEWCPZWOQXLXGXNWOEWMWCVCUR
      XJWOEWCVEVDUSXMXKCRZEWCPWTXKECWCVFXOWSEWCXOXIWNHJZWSWOXPCXIWRVGWMXIWNHVHV
      IWRWNESVPVJVKVLVAVDVMVNWIWFWDWGVQMVOWDWFWGHWDVRWCABVSVTWAWBM $.
  $}

  ${
    $d A r $.  $d B r $.  $d r x $.  $d r y $.  $d x y $.  $d r t $.  $d t x $.
    $d t y $.
    enprmaplem1.1 $e |- W = ( r e. ( A ^m B ) |-> ( `' r " { x } ) ) $.
    $( Lemma for ~ enprmap .  Set up stratification.  (Contributed by SF,
       3-Mar-2015.) $)
    enprmaplem1 $p |- W e. _V $=
      ( vy vt csset c1st c2nd ccnv cv cima cop wcel wbr wa vex bitri co cvv cxp
      cmap cins3 csn cres csi ctxp c1c csymdif ccompl cin cmpt wceq wel elima1c
      cins2 oteltxp opsnelsi df-br brres eliniseg anbi2i bitr3i op1st2nd 3bitri
      wex opelssetsn anbi12i exbii opex eleq1 bitr4i releqmpt eqtr4i ovex 1stex
      ceqsexv 2ndex cnvex snex imaex resex siex ssetex txpex mptexlem eqeltri
      1cex ) DBCUDUAZUBUCIUEJKLZAMZUFZNZUGZUHZIUIZUJNZURUKUJNULLUMZUBDEWKEMZLWN
      NZUNWTFEGWKWSXBGMZUFZXAOZWSPZXCWMXAQZXCXBPXFHMZXCWMOZUOZHEUPZRZHVHZXGXFXH
      UFZXEOWRPZHVHXMHXEWRUQXOXLHXOXNXDOWQPZXNXAOIPZRXLXNXDXAWQIUSXPXJXQXKXPXHX
      COWPPZXHXCJQZXHWMKQZRZXJXHXCWPHSZGSZUTXRXHXCWPQZYAXHXCWPVAYDXSXHWOPZRYAXH
      XCJWOVBYEXTXSKWMXHVCVDTVEXCWMXHYCASZVFVGXHXAYBESVIVJTVKTXMXIXAPZXGXKYGHXI
      XCWMYCYFVLXHXIXAVMVSXCWMXAVAVNTXAWMXCVCVNVOVPWKWSBCUDVQWRUJWQIWPJWOVRWLWN
      KVTWAWMWBWCWDWEWFWGWJWCWHWI $.
  $}

  ${
    $d A r $.  $d B r $.
    enprmaplem2.1 $e |- W = ( r e. ( A ^m B ) |-> ( `' r " { x } ) ) $.
    $( Lemma for ~ enprmap .  Establish functionhood.  (Contributed by SF,
       3-Mar-2015.) $)
    enprmaplem2 $p |- W Fn ( A ^m B ) $=
      ( cv ccnv csn cima cvv wcel cmap co wfn fnmpt vex cnvex snex imaex mprg
      a1i ) EGZHZAGZIZJZKLZDBCMNZOEUIEUIUGDKFPUHUCUILUDUFUCEQRUESTUBUA $.
  $}

  ${
    $d A p $.  $d A q $.  $d A r $.  $d A w $.  $d A z $.  $d B r $.  $d B w $.
    $d B z $.  $d p q $.  $d p r $.  $d p w $.  $d p x $.  $d p y $.  $d p z $.
    $d q r $.  $d q w $.  $d q x $.  $d q y $.  $d q z $.  $d r x $.  $d W p $.
    $d W q $.  $d w x $.  $d w y $.  $d w z $.  $d W z $.  $d x z $.  $d y z $.
    enprmaplem3.1 $e |- W = ( r e. ( A ^m B ) |-> ( `' r " { x } ) ) $.
    $( Lemma for ~ enprmap .  The converse of ` W ` is a function.
       (Contributed by SF, 3-Mar-2015.) $)
    enprmaplem3 $p |- ( ( x =/= y /\ A = { x , y } ) -> Fun `' W ) $=
      ( vz vp vq vw cv wceq wa wbr weq wi wcel syl sylan wne cpr ccnv wfun cmap
      wal co csn cima brcnv cdm breldm wfn enprmaplem2 ax-mp syl6eleq cfv fnfun
      fndm funbrfv cnveq imaeq1d vex cnvex snex imaex fvmpt jca anim12i syl2anb
      eqtr3d wf elmapi eqtr2 simprll ffn simprlr ffvelrn wo simpllr eleq2d fvex
      elpr syl6bb simprr simplrr eliniseg 3bitr3g biimpd fnbrfvb 3imtr4d eqtr4d
      wb impr expr simplll neneqd adantr ffun fununiq 3expib ancomsd 3syl exp3a
      mtod biimprd nsyld simprl fdm eleqtrrd wex eldm crn brelrn wss sseld syl5
      wn frn breq2 biimpcd orim12d com12 sylbi syl6bi com23 mpdd exlimdv syl5bi
      mpd orel1 sylc jaod sylbid eqfnfvd expcom syl2an an4s alrimiv alrimivv
      dffun2 sylibr ) ALZBLZUAZCUUCUUDUBZMZNZHLZILZEUCZOZUUIJLZUUKOZNZIJPZQZJUF
      ZIUFHUFUUKUDUUHUURHIUUHUUQJUUOUUJCDUEUGZRZUUIUUJUCZUUCUHZUIZMZNZUUMUUSRZU
      UIUUMUCZUVBUIZMZNZNZUUHUUPUULUUJUUIEOZUUMUUIEOZUVKUUNUUIUUJEUJUUIUUMEUJUV
      LUVEUVMUVJUVLUUTUVDUVLUUJEUKZUUSUUJUUIEULEUUSUMZUVNUUSMACDEFGUNZUUSEUSUOZ
      UPZUVLUUJEUQZUUIUVCEUDZUVLUVSUUIMQUVOUVTUVPUUSEURUOZUUJUUIEUTUOUVLUUTUVSU
      VCMUVRFUUJFLZUCZUVBUIZUVCUUSEFIPUWCUVAUVBUWBUUJVAVBGUVAUVBUUJIVCVDUUCVEZV
      FVGSVKVHUVMUVFUVIUVMUUMUVNUUSUUMUUIEULUVQUPZUVMUUMEUQZUUIUVHUVTUVMUWGUUIM
      QUWAUUMUUIEUTUOUVMUVFUWGUVHMUWFFUUMUWDUVHUUSEFJPUWCUVGUVBUWBUUMVAVBGUVGUV
      BUUMJVCVDUWEVFVGSVKVHVIVJUVKUUHUUPUUTUVFUVDUVIUUHUUPQZUUTUVFNDCUUJVLZDCUU
      MVLZNZUVCUVHMZUWHUVDUVINUUTUWIUVFUWJUUJCDVMUUMCDVMVIUUIUVCUVHVNUUHUWKUWLN
      ZUUPUUHUWMNZHDUUJUUMUWNUWIUUJDUMZUUHUWIUWJUWLVOZDCUUJVPSZUWNUWJUUMDUMZUUH
      UWIUWJUWLVQZDCUUMVPSZUWNUUIDRZNZUUIUUJUQZCRZUXCUUIUUMUQZMZUWNUWIUXAUXDUWP
      DCUUIUUJVRTUXBUXDUXCUUCMZUXCUUDMZVSZUXFUXBUXDUXCUUFRUXIUXBCUUFUXCUUEUUGUW
      MUXAVTWAUXCUUCUUDUUIUUJWBWCWDUXBUXGUXFUXHUWNUXAUXGUXFUWNUXAUXGNNUXCUUCUXE
      UWNUXAUXGWEUWNUXAUXGUXEUUCMZUXBUUIUUCUUJOZUUIUUCUUMOZUXGUXJUXBUXKUXLUXBUU
      IUVCRUUIUVHRUXKUXLUXBUVCUVHUUIUUHUWKUWLUXAWFWAUUJUUCUUIWGUUMUUCUUIWGWHZWI
      UWNUWOUXAUXGUXKWMUWQDUUIUUCUUJWJTUWNUWRUXAUXJUXLWMUWTDUUIUUCUUMWJTWKWNWLW
      OUWNUXAUXHUXFUWNUXAUXHNNUXCUUDUXEUWNUXAUXHWEUWNUXAUXHUXEUUDMZUXBUUIUUDUUJ
      OZUUIUUDUUMOZUXHUXNUWNUXAUXOUXPUWNUXAUXONZNZUXLXRZUXLUXPVSZUXPUWNUXAUXOUX
      SUXBUXOUXKUXLUWNUXAUXOUXKXRUXRUXKABPZUXRUUCUUDUUEUUGUWMUXQWPWQUWNUXAUXOUX
      KUYAQUXBUXOUXKUYAUXBUWIUUJUDZUXOUXKNUYAQUWNUWIUXAUWPWRDCUUJWSUYBUXKUXOUYA
      UYBUXKUXOUYAUUIUUCUUDUUJWTXAXBXCXDWNXEWOUXBUXKUXLUXMXFXGWNUXRUUIUUMUKZRZU
      XTUXRUUIDUYCUWNUXAUXOXHUXRUWJUYCDMUWNUWJUXQUWSWRZDCUUMXISXJUYDUUIKLZUUMOZ
      KXKUXRUXTKUUIUUMXLUXRUYGUXTKUXRUYGUYFCRZUXTUYGUYFUUMXMZRUXRUYHUUIUYFUUMXN
      UXRUYICUYFUXRUWJUYICXOUYEDCUUMXSSXPXQUXRUYHUYGUXTUXRUYHUYFUUFRZUYGUXTQZUX
      RCUUFUYFUUEUUGUWMUXQVTWAUYJKAPZKBPZVSZUYKUYFUUCUUDKVCWCUYGUYNUXTUYGUYLUXL
      UYMUXPUYLUYGUXLUYFUUCUUIUUMXTYAUYMUYGUXPUYFUUDUUIUUMXTYAYBYCYDYEYFYGYHYIY
      JUXLUXPYKYLWOUWNUWOUXAUXHUXOWMUWQDUUIUUDUUJWJTUWNUWRUXAUXNUXPWMUWTDUUIUUD
      UUMWJTWKWNWLWOYMYNYJYOYPYQYRYCXQYSYTHIJUUKUUAUUB $.
  $}

  ${
    $d B u $.  $d p u $.  $d u x $.  $d u y $.  $d p z $.  $d u z $.  $d x z $.
    $d y z $.
    enprmaplem4.1 $e |- R = ( u e. B |-> if ( u e. p , x , y ) ) $.
    enprmaplem4.2 $e |- B e. _V $.
    $( Lemma for ~ enprmap .  More stratification condition setup.
       (Contributed by SF, 3-Mar-2015.) $)
    enprmaplem4 $p |- R e. _V $=
      ( vz cvv cxp cv cpw1 ccompl ccnv wel wcel wa bitri vex csset csymdif cima
      cins3 cun cins2 c1c cin cif cmpt csn cop wn wo elun opelxp snelpw1 anbi2i
      elcompl anbi12i orbi12i opelcnv elif 3bitr4i releqmpt eqtr4i xpex complex
      pw1ex unex cnvex mptexlem eqeltri ) EDJKUAUDFLZALZMZKZVNNZBLZMZKZUEZOZUFU
      BUGUCNOUHZJECDCFPZVOVSUIZUJWDGCIDWCWFCLZILZUKZULZWBQZWEIAPZRZWEUMZIBPZRZU
      NZWIWGULWCQWHWFQWKWJVQQZWJWAQZUNWQWJVQWAUOWRWMWSWPWRWEWIVPQZRWMWGWIVNVPUP
      WTWLWEWHVOUQURSWSWGVRQZWIVTQZRWPWGWIVRVTUPXAWNXBWOWGVNCTUSWHVSUQUTSVASWIW
      GWBVBWEWHVOVSVCVDVEVFDWCHWBVQWAVNVPFTZVOATVIVGVRVTVNXCVHVSBTVIVGVJVKVLVM
      $.
  $}

  ${
    $d A p $.  $d A r $.  $d A u $.  $d A z $.  $d B p $.  $d B r $.  $d B u $.
    $d B z $.  $d p u $.  $d p x $.  $d p y $.  $d p z $.  $d R r $.  $d r x $.
    $d R z $.  $d u x $.  $d u y $.  $d u z $.  $d W p $.  $d x z $.  $d y z $.
    enprmaplem5.1 $e |- W = ( r e. ( A ^m B ) |-> ( `' r " { x } ) ) $.
    enprmaplem5.2 $e |- R = ( u e. B |-> if ( u e. p , x , y ) ) $.
    enprmaplem5.3 $e |- B e. _V $.
    $( Lemma for ~ enprmap .  Establish that ` ~P B ` is a subset of the range
       of ` W ` .  (Contributed by SF, 3-Mar-2015.) $)
    enprmaplem5 $p |- ( ( x =/= y /\ A = { x , y } ) -> ~P B C_ ran W ) $=
      ( vz cv wceq wa wcel vex cvv syl wne cpr cpw crn wss elpw wbr w3a cfv csn
      ccnv cima cmap co wf wel cif wral wo ifeqor ifex elpr syl5eleqr ralrimivw
      mpbir id fmpt sylib prex eleq1 mpbiri enprmaplem4 elmapg mp3an23 3ad2ant2
      mpbird cnveq imaeq1d cnvex snex imaex fvmpt eliniseg cdm breldm wfn fnmpt
      wb a1i mprg fndm ax-mp syl6eleq fnbrfvb mpan biimprd com12 jcai weq ifbid
      eqeq1d biimpd imp wn simpl1 df-ne wi iffalse eqeq2d eqcoms adantl mt3d ex
      ssel2 3ad2antl3 iftrue eqtrd mpbid impbid syl5bb eqrdv enprmaplem2 3expia
      syl5 brelrn syl6 syl5bi ssrdv ) ANZBNZUAZDYIYJUBZOZPZIEUCZGUDZINZYOQYQEUE
      ZYNYQYPQZYQEIRUFYNYRFYQGUGZYSYKYMYRYTYKYMYRUHZFGUIZYQOZYTUUAUUBFUKZYIUJZU
      LZYQUUAFDEUMUNZQZUUBUUFOYMYKUUHYRYMUUHEDFUOZYMCIUPZYIYJUQZDQZCEURUUIYMUUL
      CEYMUUKYLDUUKYLQUUKYIOUUKYJOUSUUJYIYJUTUUKYIYJUUJYIYJARZBRZVAZVBVEYMVFVCV
      DCEDUUKFKVGVHYMDSQZUUHUUIWHZYMUUPYLSQYIYJVIDYLSVJVKUUPESQFSQUUQLABCEFIKLV
      LZDEFSSSVMVNTVPVOZHFHNZUKZUUEULUUFUUGGUUTFOUVAUUDUUEUUTFVQVRJUUDUUEFUURVS
      YIVTWAWBTUUAMUUFYQMNZUUFQUVBYIFUGZUUAMIUPZFYIUVBWCUUAUVCUVDUVCUVBEQZUVBFU
      IZYIOZPZUUAUVDUVCUVEUVGUVCUVBFWDZEUVBYIFWEFEWFZUVIEOUUKSQZUVJCECEUUKFSKWG
      UVKCNZEQUUOWIWJZEFWKWLWMUVEUVCUVGUVEUVGUVCUVJUVEUVGUVCWHZUVMEUVBYIFWNWOZW
      PWQWRUVHUVDYIYJUQZYIOZUUAUVDUVEUVGUVQUVEUVGUVQUVEUVFUVPYICUVBUUKUVPEFCMWS
      UUJUVDYIYJUVLUVBYQVJWTKUVDYIYJUUMUUNVAWBZXAXBXCUUAUVQUVDUUAUVQPZUVDABWSZU
      VSYKUVTXDYKYMYRUVQXEYIYJXFVHUVQUVDXDZUVTXGZUUAUWBYIUVPUWAYIUVPOZUVTUWAUWC
      UVTUWAUVPYJYIUVDYIYJXHXIXBWQXJXKXLXMYDYDUUAUVDUVCUUAUVDPZUVGUVCUWDUVFUVPY
      IUWDUVEUVFUVPOYRYKUVDUVEYMYQEUVBXNXOZUVRTUVDUVQUUAUVDYIYJXPXKXQUWDUVEUVNU
      WEUVOTXRXMXSXTYAXQUUAUUHUUCYTWHZUUSGUUGWFUUHUWFADEGHJYBUUGFYQGWNWOTXRYCFY
      QGYEYFYGYH $.
  $}

  ${
    $d A p $.  $d A r $.  $d A s $.  $d A u $.  $d B p $.  $d B r $.  $d B s $.
    $d B u $.  $d p r $.  $d p s $.  $d p u $.  $d p x $.  $d p y $.  $d r s $.
    $d r u $.  $d r x $.  $d r y $.  $d s x $.  $d s y $.  $d u x $.  $d u y $.
    $d W p $.  $d W s $.
    enprmaplem6.1 $e |- W = ( r e. ( A ^m B ) |-> ( `' r " { x } ) ) $.
    enprmaplem6.2 $e |- B e. _V $.
    $( Lemma for ~ enprmap .  The range of ` W ` is ` ~P B ` .  (Contributed by
       SF, 3-Mar-2015.) $)
    enprmaplem6 $p |- ( ( x =/= y /\ A = { x , y } ) -> ran W = ~P B ) $=
      ( vp vs vu cv wceq wa crn wss wcel cdm wb ccnv wne cpr cpw wbr wex co cfv
      cmap breldm wfn enprmaplem2 fndm syl6eleq fnbrfvb sylancr ibir jca wi w3a
      ax-mp csn cima weq cnveq imaeq1d cnvex snex imaex eqeq1d 3ad2ant3 imassrn
      vex fvmpt df-dm elmapi fdm eqimss syl5eqssr syl5ss sseq1 syl5ibcom sylbid
      wf 3syl 3expia imp3a syl5 exlimdv elrn elpw 3imtr4g ssrdv wel enprmaplem5
      cif cmpt eqid eqssd ) ALZBLZUAZCWSWTUBMZNZEOZDUCZXCIXDXEXCJLZILZEUDZJUEXG
      DPZXGXDQXGXEQXCXHXIJXHXFCDUHUFZQZXFEUGZXGMZNXCXIXHXKXMXHXFERZXJXFXGEUIEXJ
      UJZXNXJMACDEFGUKZXJEULUTUMZXHXMXHXOXKXMXHSXPXQXJXFXGEUNUOUPUQXCXKXMXIXAXB
      XKXMXIURXAXBXKUSZXMXFTZWSVAZVBZXGMZXIXKXAXMYBSXBXKXLYAXGFXFFLZTZXTVBYAXJE
      FJVCYDXSXTYCXFVDVEGXSXTXFJVLVFWSVGVHVMVIVJXRYADPZYBXIXKXAYEXBXKYAXSOZDXSX
      TVKXKYFXFRZDXFVNXKDCXFWCYGDMYGDPXFCDVODCXFVPYGDVQWDVRVSVJYAXGDVTWAWBWEWFW
      GWHJXGEWIXGDIVLWJWKWLABKCDKDKIWMWSWTWOWPZEFIGYHWQHWNWR $.
  $}

  ${
    $d A r $.  $d B r $.  $d r x $.  $d r y $.
    enprmap.1 $e |- B e. _V $.
    $( A mapping from a two element pair onto a set is equinumerous with the
       power class of the set.  Theorem XI.1.28 of [Rosser] p. 360.
       (Contributed by SF, 3-Mar-2015.) $)
    enprmap $p |- ( ( x =/= y /\ A = { x , y } ) -> ( A ^m B ) ~~ ~P B ) $=
      ( vr cv wne cpr wceq wa cmap co cpw ccnv csn cima cmpt wf1o cen wfun eqid
      wbr wfn crn enprmaplem2 a1i enprmaplem3 enprmaplem6 syl3anbrc enprmaplem1
      dff1o2 f1oen syl ) AGZBGZHCUOUPIJKZCDLMZDNZFURFGOUOPQRZSZURUSTUCUQUTURUDZ
      UTOUAUTUEUSJVAVBUQACDUTFUTUBZUFUGABCDUTFVCUHABCDUTFVCEUIURUSUTULUJURUSUTA
      CDUTFVCUKUMUN $.
  $}

  ${
    $d A x $.  $d B x $.  $d B y $.  $d C x $.  $d C y $.  $d P x $.  $d P y $.
    $d x y $.
    enprmapc.1 $e |- A e. _V $.
    enprmapc.2 $e |- B e. _V $.
    enprmapc.3 $e |- C e. _V $.
    $( A mapping from a two element pair onto a set is equinumerous with the
       power class of the set.  Theorem XI.1.28 of [Rosser] p. 360.
       (Contributed by SF, 3-Mar-2015.) $)
    enprmapc $p |- ( ( A =/= B /\ P = { A , B } ) -> ( P ^m C ) ~~ ~P C ) $=
      ( vx vy cv wne cpr wceq wa cmap wi eqeq2d anbi12d imbi1d vtocl co cpw cen
      wbr neeq1 preq1 neeq2 preq2 enprmap ) HJZBKZDUJBLZMZNZDCOUACUBUCUDZPZABKZ
      DABLZMZNZUOPHAEUJAMZUNUTUOVAUKUQUMUSUJABUEVAULURDUJABUFQRSUJIJZKZDUJVBLZM
      ZNZUOPUPIBFVBBMZVFUNUOVGVCUKVEUMVBBUJUGVGVDULDVBBUJUHQRSHIDCGUITT $.
  $}

  ${
    $d A x $.  $d r x $.  $d r y $.  $d x y $.
    nenpw1pwlem1.1 $e |- S = { x e. A | -. x e. ( r ` { x } ) } $.
    $( Lemma for ~ nenpw1pw .  Set up stratification.  (Contributed by SF,
       10-Mar-2015.) $)
    nenpw1pwlem1 $p |- ( A e. V -> S e. _V ) $=
      ( vy wcel cv csn cfv wn cin cvv csset vex wceq wa wex bitri crab cfullfun
      cab dfrab2 eqtri cdm cuni1 ccompl elcompl wel cop elin wbr snex brfullfun
      eldm2 df-br eqcom 3bitr3i opelssetsn anbi12i exbii eluni1 3bitr4i xchbinx
      fvex clel3 abbi2i fullfunex ssetex inex dmex uni1ex complex eqeltrri mpan
      inexg syl5eqel ) BDHZCAIZVTJZEIZKZHZLZAUCZBMZNCWEABUAWGFWEABUDUEWFNHVSWGN
      HWBUBZOMZUFZUGZUHZWFNWEAWLVTWLHVTWKHZWDVTWKAPZUIWAWJHZGIZWCQZAGUJZRZGSZWM
      WDWOWAWPUKZWIHZGSWTGWAWIUPXBWSGXBXAWHHZXAOHZRWSXAWHOULXCWQXDWRWAWPWHUMWCW
      PQXCWQWAWPWBVTUNUOWAWPWHUQWCWPURUSVTWPWNGPUTVATVBTVTWJWNVCGVTWCWAWBVFVGVD
      VEVHWKWJWIWHOWBEPVIVJVKVLVMVNVOWFBNDVQVPVR $.
  $}

  ${
    $d A r $.  $d A x $.  $d r x $.  $d A u $.  $d r u $.  $d S u $.  $d u y $.
    $d A y $.  $d r y $.  $d S y $.  $d x y $.
    nenpw1pwlem2.1 $e |- S = { x e. A | -. x e. ( r ` { x } ) } $.
    $( Lemma for ~ nenpw1pw .  Establish the main theorem with an extra
       hypothesis.  (Contributed by SF, 10-Mar-2015.) $)
    nenpw1pwlem2 $p |- -. ~P1 A ~~ ~P A $=
      ( vy vu wbr cv wcel wn wb wrex wex cvv syl csn cfv wceq eleq2d cpw pm5.19
      cpw1 cen a1i nrex nex wf1o bren cdm f1odm vex dmex syl6eqelr pw1exb sylib
      nenpw1pwlem1 wss crab ssrab2 eqsstri elpwg mpbiri crn wfo f1ofo forn elrn
      wa breldm adantl adantr eleqtrd elpw1 wi w3a breq1 3anbi2d id sneq fveq2d
      weq eleq12d notbid elrab2 simp3 biantrurd simp2 wfn f1ofn snelpw1 biimpri
      3ad2ant1 3ad2ant3 fnbrfvb syl2anc mpbird bitr3d syl5bb syl6bi com12 3expa
      reximdva syl5bi mpd ex exlimdv sylbird eximi sylbi mto ) BUCZBUAZUDHZFIZC
      JZXPKZLZFBMZDNZXSDXRFBXRKXOBJZXPUBUEUFUGXNXLXMDIZUHZDNXTXLXMDUIYCXSDYCCXM
      JZXSYCCOJZYDYCBOJZYEYCXLOJYFYCXLYBUJZOXLXMYBUKZYBDULUMUNBUOUPABCODEUQPYEY
      DCBURCAIZYIQZYBRZJZKZABUSBEYMABUTVACBOVBVCPYCYDCYBVDZJZXSYCYNXMCYCXLXMYBV
      EYNXMSXLXMYBVFXLXMYBVGPTYOGIZCYBHZGNYCXSGCYBVHYCYQXSGYCYQXSYCYQVIZYPXLJZX
      SYRYPYGXLYQYPYGJYCYPCYBVJVKYCYGXLSYQYHVLVMYSYPXOQZSZFBMYRXSFYPBVNYRUUAXRF
      BYCYQYAUUAXRVOUUAYCYQYAVPZXRUUAUUBYCYTCYBHZYAVPZXRUUAYQUUCYCYAYPYTCYBVQVR
      XPYAXOYTYBRZJZKZVIZUUDXQYMUUGAXOBCAFWBZYLUUFUUIYIXOYKUUEUUIVSUUIYJYTYBYIX
      OVTWAWCWDEWEUUDUUGUUHXQUUDYAUUGYCUUCYAWFWGUUDUUFXPUUDUUECXOUUDUUECSZUUCYC
      UUCYAWHUUDYBXLWIZYTXLJZUUJUUCLYCUUCUUKYAXLXMYBWJWMYAYCUULUUCUULYAXOBWKWLW
      NXLYTCYBWOWPWQTWDWRWSWTXAXBXCXDXEXFXGXDXHXEXIXJXK $.
  $}

  ${
    $d A r $.  $d A x $.  $d r x $.
    $( No unit power class is equinumerous with the corresponding power class.
       Theorem XI.1.6 of [Rosser] p. 347.  (Contributed by SF, 10-Mar-2015.) $)
    nenpw1pw $p |- -. ~P1 A ~~ ~P A $=
      ( vx vr cv csn cfv wcel wn crab eqid nenpw1pwlem2 ) BABDZLECDFGHBAIZCMJK
      $.
  $}

  ${
    $d A a $.  $d a b $.  $d A b $.  $d B b $.
    $( If ` A ` and ` B ` are equinumerous, then so are their power sets.
       Theorem XI.1.36 of [Rosser] p. 369.  (Contributed by SF,
       17-Mar-2015.) $)
    enpw $p |- ( A ~~ B -> ~P A ~~ ~P B ) $=
      ( va vb cvv wcel cen wbr cpw cv wi wceq pweq imbi12d c0 cmap vn0 vvex 0ex
      co wa brex breq1 breq1d breq2 breq2d cpr enmap2 eqid enprmapc mp2an ensym
      wne vex mpbir entr mpan2 sylancr syl vtocl2g mpcom ) AEFBEFUAABGHZAIZBIZG
      HZABGUBCJZDJZGHZVFIZVGIZGHZKAVGGHZVCVJGHZKVBVEKCDABEEVFALZVHVLVKVMVFAVGGU
      CVNVIVCVJGVFAMUDNVGBLZVLVBVMVEVGBAGUEVOVJVDVCGVGBMUFNVHEOUGZVFPTZVPVGPTZG
      HZVKVFVGVPUHVSVIVQGHZVQVJGHZVKVTVQVIGHZEOUMZVPVPLZWBQVPUIZEOVFVPRSCUNUJUK
      VIVQULUOVSVRVJGHZWAWCWDWFQWEEOVGVPRSDUNUJUKVQVRVJUPUQVIVQVJUPURUSUTVA $.
  $}


$(
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
        Cardinal numbers
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
$)

  $c NC $. $( The set of cardinal numbers. $)
  $c <_c $. $( Cardinal less than or equal. $)
  $c <c $. $( Cardinal less than. $)
  $c Nc $. $( Cardinality operation. $)
  $c .c $. $( Cardinal multiplication. $)
  $c T_c $. $( Cardinal type raising. $)
  $c 2c $. $( Cardinal two. $)
  $c 3c $. $( Cardinal three. $)
  $c ^c $. $( Cardinal exponentiation. $)
  $c TcFn $. $( Stratified T-raising. $)

  $( Extend the definition of a class to include the set of cardinal
     numbers. $)
  cncs $a class NC $.

  $( Extend the definition of a class to include cardinal less than or
     equal. $)
  clec $a class <_c $.

  $( Extend the definition of a class to include cardinal strict less than. $)
  cltc $a class <c $.

  $( Extend the definition of a class to include the cardinality operation. $)
  cnc $a class Nc A $.

  $( Extend the definition of a class to include cardinal multiplication. $)
  cmuc $a class .c $.

  $( Extend the definition of a class to include cardinal type raising. $)
  ctc $a class T_c A $.

  $( Extend the definition of a class to include cardinal two. $)
  c2c $a class 2c $.

  $( Extend the definition of a class to include cardinal three. $)
  c3c $a class 3c $.

  $( Extend the definition of a class to include cardinal exponentiation. $)
  cce $a class ^c $.

  $( Extend the definition of a class to include the stratified T-raising
     function. $)
  ctcfn $a class TcFn $.

  $( Define the set of all cardinal numbers.  We define them as equivalence
     classes of sets of the same size.  Definition from [Rosser] p. 372.
     (Contributed by Scott Fenton, 24-Feb-2015.) $)
  df-ncs $a |- NC = ( _V /. ~~ ) $.

  ${
    $d x y a b $.
    $( Define cardinal less than or equal.  Definition from [Rosser] p. 375.
       (Contributed by Scott Fenton, 24-Feb-2015.) $)
    df-lec $a |- <_c = { <. a , b >. | E. x e. a E. y e. b x C_ y } $.
  $}

  $( Define cardinal less than.  Definition from [Rosser] p. 375.  (Contributed
     by Scott Fenton, 24-Feb-2015.) $)
  df-ltc $a |- <c = ( <_c \ _I ) $.

  $( Define the cardinality operation.  This is the unique cardinal number
     containing a given set.  Definition from [Rosser] p. 371.  (Contributed by
     Scott Fenton, 24-Feb-2015.) $)
  df-nc $a |- Nc A = [ A ] ~~ $.

  ${
    $d m n a b g $.
    $( Define cardinal multiplication.  Definition from [Rosser] p. 378.
       (Contributed by Scott Fenton, 24-Feb-2015.) $)
    df-muc $a |- .c = ( m e. NC , n e. NC |->
      { a | E. b e. m E. g e. n a ~~ ( b X. g ) } ) $.
  $}

  ${
    $d A b x $.
    $( Define the type-raising operation on a cardinal number.  This is the
       unique cardinal containing the unit power classes of the elements of the
       given cardinal.  Definition adapted from [Rosser] p. 528.  (Contributed
       by Scott Fenton, 24-Feb-2015.) $)
    df-tc $a |- T_c A = ( iota b ( b e. NC /\ E. x e. A b = Nc ~P1 x ) ) $.
  $}

  $( Define cardinal two.  This is the set of all sets with two unique
     elements.  (Contributed by Scott Fenton, 24-Feb-2015.) $)
  df-2c $a |- 2c = Nc { (/) , _V } $.

  $( Define cardinal three.  This is the set of all sets with three unique
     elements.  (Contributed by Scott Fenton, 24-Feb-2015.) $)
  df-3c $a |- 3c = Nc { (/) , _V , ( _V \ { (/) } ) } $.

  ${
    $d n m g a b $.
    $( Define cardinal exponentiation.  Definition from [Rosser] p. 381.
       (Contributed by Scott Fenton, 24-Feb-2015.) $)
    df-ce $a |- ^c = ( n e. NC , m e. NC |->
       { g | E. a E. b ( ~P1 a e. n /\ ~P1 b e. m /\
          g ~~ ( a ^m b ) ) } ) $.
  $}

  $( Define the stratified T-raising function.  (Contributed by Scott Fenton,
     24-Feb-2015.) $)
  df-tcfn $a |- TcFn = ( x e. 1c |-> T_c U. x ) $.

  $( Cardinality equality law.  (Contributed by SF, 24-Feb-2015.) $)
  nceq $p |- ( A = B -> Nc A = Nc B ) $=
    ( wceq cen cec cnc eceq1 df-nc 3eqtr4g ) ABCADEBDEAFBFABDGAHBHI $.

  ${
    nceqi.1 $e |- A = B $.
    $( Equality inference for cardinality.  (Contributed by SF,
       24-Feb-2015.) $)
    nceqi $p |- Nc A = Nc B $=
      ( wceq cnc nceq ax-mp ) ABDAEBEDCABFG $.
  $}

  ${
    nceqd.1 $e |- ( ph -> A = B ) $.
    $( Equality deduction for cardinality.  (Contributed by SF,
       24-Feb-2015.) $)
    nceqd $p |- ( ph -> Nc A = Nc B ) $=
      ( wceq cnc nceq syl ) ABCEBFCFEDBCGH $.
  $}

  $( The class of all cardinal numbers is a set.  (Contributed by SF,
     24-Feb-2015.) $)
  ncsex $p |- NC e. _V $=
    ( cncs cvv cen cqs df-ncs enex vvex qsex eqeltri ) ABCDBEBCFGHI $.

  ${
    $d A a b x $.  $d B a b x y $.
    $( Binary relationship form of cardinal less than or equal.  (Contributed
       by SF, 24-Feb-2015.) $)
    brlecg $p |- ( ( A e. V /\ B e. W ) ->
       ( A <_c B <-> E. x e. A E. y e. B x C_ y ) ) $=
      ( vb va cv wss wrex clec rexeq wceq rexbidv df-lec brabg ) AIBIJZBGIZKZAH
      IZKTACKRBDKZACKHGCDEFLTAUACMSDNTUBACRBSDMOABHGPQ $.

    brlec.1 $e |- A e. _V $.
    brlec.2 $e |- B e. _V $.
    $( Binary relationship form of cardinal less than or equal.  (Contributed
       by SF, 24-Feb-2015.) $)
    brlec $p |- ( A <_c B <-> E. x e. A E. y e. B x C_ y ) $=
      ( cvv wcel clec wbr cv wss wrex wb brlecg mp2an ) CGHDGHCDIJAKBKLBDMACMNE
      FABCDGGOP $.
  $}

  $( Binary relationship form of cardinal less than.  (Contributed by SF,
     4-Mar-2015.) $)
  brltc $p |- ( A <c B <-> ( A <_c B /\ A =/= B ) ) $=
    ( cltc wbr cvv wcel clec wne wa brex simprd adantr cid wn cdif df-ltc breqi
    brdif bitri ideqg necon3bbid anbi2d syl5bb pm5.21nii ) ABCDZBEFZABGDZABHZIZ
    UEAEFZUFABCJKUGUFUHUGUJUFABGJKLUEUGABMDZNZIZUFUIUEABGMOZDUMABCUNPQABGMRSUFU
    LUHUGUFUKABABETUAUBUCUD $.

  ${
    $d a b $.  $d a t $.  $d a u $.  $d a x $.  $d a y $.  $d b t $.  $d b u $.
    $d b x $.  $d b y $.  $d t u $.  $d t x $.  $d t y $.  $d u x $.  $d u y $.
    $d x y $.
    $( Cardinal less than or equal is a set.  (Contributed by SF,
       24-Feb-2015.) $)
    lecex $p |- <_c e. _V $=
      ( va vb vx vy vt vu clec csset ccom cv wrex wbr wa csn 2exbii bitri exbii
      wex vex ssetex csi ccnv cvv wss wceq wel r2ex 19.41vv anass df-3an bitr4i
      w3a ancom snex breq1 anbi1d anbi2d ceqsex2v anbi12i 3bitri anbi1i 3bitr3i
      brlec brco brcnv brsi brsset anbi2i anbi2ci 19.42v 19.42vv bitr2i 3bitr2i
      brssetsn exrot4 3bitr4i eqbrriv siex coex cnvex eqeltri ) GHHUAZIZHUBZIZU
      CABGWECJZDJZUDZDBJZKCAJZKZEJZWJHLZFJZWIHLZMZWLWFNZUEZWNWGNZUEZMZWHMZMZFRE
      RZDRCRZWJWIGLWJWIWELZWKCAUFZDBUFZMZWHMZDRCRXEWHCDWJWIUGXDXJCDWPXAMZWHMZFR
      ERXKFRERZWHMXDXJXKWHEFUHXLXCEFWPXAWHUIOXMXIWHXMWRWTWPULZFRERWQWJHLZWSWIHL
      ZMZXIXKXNEFXKXAWPMXNWPXAUMWRWTWPUJUKOWPXOWOMXQEFWQWSWFUNWGUNWRWMXOWOWLWQW
      JHUOUPWTWOXPXOWNWSWIHUOUQURXOXGXPXHWFWJCSZASZVNWGWIDSZBSZVNUSUTVAVBOUKCDW
      JWIXSYAVCXFWJWLWDLZWLWIWCLZMZERXCDRCRZFRZERXEEWJWIWCWDVDYDYFEYDWMWOXBDRCR
      ZMZFRZMWMYHMZFRYFYBWMYCYIWJWLHVEYCWLWNWBLZWOMZFRYIFWLWIHWBVDYLYHFYKYGWOYK
      WRWTWFWGHLZULZDRCRYGCDWLWNHVFYNXBCDYNXAYMMXBWRWTYMUJYMWHXAWFWGXRXTVGVHPOP
      VIQPUSWMYHFVJYJYEFYEWPYGMYJWPXBCDVKWMWOYGUIVLQVMQXCEFCDVOUTVPVQWCWDHWBTHT
      VRVSHTVTVSWA $.
  $}

  $( Cardinal strict less than is a set.  (Contributed by SF, 24-Feb-2015.) $)
  ltcex $p |- <c e. _V $=
    ( cltc clec cid cdif cvv df-ltc lecex idex difex eqeltri ) ABCDEFBCGHIJ $.

  $( The cardinality of a class is a set.  (Contributed by SF, 24-Feb-2015.) $)
  ncex $p |- Nc A e. _V $=
    ( cnc cen cec cvv df-nc wcel enex ecexg ax-mp eqeltri ) ABACDZEAFCEGLEGHAEC
    IJK $.

  $( The empty class is not a cardinal number.  (Contributed by SF,
     24-Feb-2015.) $)
  nulnnc $p |- -. (/) e. NC $=
    ( c0 wceq cncs wcel eqid wne cvv cen cqs cdm dmen elqsn0 mpan df-ncs eleq2s
    wn necon2bi ax-mp ) AABACDZPAESAAAAFZAGHIZCHJGBAUADTKGAHLMNOQR $.

  ${
    $d A x $.
    $( Membership in the cardinals.  (Contributed by SF, 24-Feb-2015.) $)
    elncs $p |- ( A e. NC <-> E. x A = Nc x ) $=
      ( cncs wcel cvv cen cqs cnc wceq wex df-ncs eleq2i elex ncex eleq1 mpbiri
      cv exlimiv cec wrex elqsg df-nc eqeq2i exbii rexv syl6bbr pm5.21nii bitri
      bitr4i ) BCDBEFGZDZBAQZHZIZAJZCUJBKLUKBEDZUOBUJMUNUPAUNUPUMEDULNBUMEOPRUP
      UKBULFSZIZAETZUOAEBFEUAUOURAJUSUNURAUMUQBULUBUCUDURAUEUIUFUGUH $.
  $}

  ${
    $d A x $.
    $( The cardinality of a set is a cardinal number.  (Contributed by SF,
       24-Feb-2015.) $)
    ncelncs $p |- ( A e. V -> Nc A e. NC ) $=
      ( vx wcel cnc cv wceq wex cncs elisset nceq eqcoms eximi syl elncs sylibr
      ) ABDZAEZCFZEGZCHZRIDQSAGZCHUACABJUBTCTASASKLMNCROP $.
  $}

  ${
    ncelncsi.1 $e |- A e. _V $.
    $( The cardinality of a set is a cardinal number.  (Contributed by SF,
       10-Mar-2015.) $)
    ncelncsi $p |- Nc A e. NC $=
      ( cvv wcel cnc cncs ncelncs ax-mp ) ACDAEFDBACGH $.
  $}

  $( A set is a member of its own cardinal.  (Contributed by SF,
     24-Feb-2015.) $)
  ncidg $p |- ( A e. V -> A e. Nc A ) $=
    ( wcel cen cec cnc wbr enrflxg elec sylibr df-nc syl6eleqr ) ABCZAADEZAFMAA
    DGANCABHAADIJAKL $.

  ${
    ncid.1 $e |- A e. _V $.
    $( A set is a member of its own cardinal.  (Contributed by SF,
       24-Feb-2015.) $)
    ncid $p |- A e. Nc A $=
      ( cvv wcel cnc ncidg ax-mp ) ACDAAEDBACFG $.
  $}

  ${
    $d A x $.
    $( The cardinality of a proper class is the empty set.  (Contributed by SF,
       24-Feb-2015.) $)
    ncprc $p |- ( -. A e. _V -> Nc A = (/) ) $=
      ( vx cvv wcel wn cv cnc wal wceq cen cec ecexr df-nc eleq2s con3i alrimiv
      c0 eq0 sylibr ) ACDZEZBFZAGZDZEZBHUCQIUAUEBUDTTUBAJKUCUBAJLAMNOPBUCRS $.
  $}

  $( Membership in cardinality.  (Contributed by SF, 24-Feb-2015.) $)
  elnc $p |- ( A e. Nc B <-> A ~~ B ) $=
    ( cnc wcel cvv wa cen wbr elex cec ecexr df-nc eleq2s jca brex eleq2i bitri
    elec cer ener a1i simpr simpl ersymb syl5bb pm5.21nii ) ABCZDZAEDZBEDZFZABG
    HZUHUIUJAUGIUJABGJZUGABGKBLZMNABGOUHBAGHZUKULUHAUMDUOUGUMAUNPABGRQUKEGBAGES
    HUKTUAUIUJUBUIUJUCUDUEUF $.

  $( Equality of cardinalities.  (Contributed by SF, 24-Feb-2015.) $)
  eqncg $p |- ( A e. V -> ( Nc A = Nc B <-> A ~~ B ) ) $=
    ( wcel cvv cnc wceq cen wbr wa cec ncidg adantr wb eleq2 adantl mpbid df-nc
    ex a1i syl6eleq ecexr syl brex simprd cer ener dmen elex simpr erth eqeq12i
    wi cdm syl6rbbr pm5.21ndd ) ACDZBEDZAFZBFZGZABHIZUQVAURUQVAJZABHKZDURVCAUTV
    DVCAUSDZAUTDZUQVEVAACLMVAVEVFNUQUSUTAOPQBRZUAABHUBUCSVBURUMUQVBAEDZURABHUDU
    ETUQURVAVBNUQURJZVBAHKZVDGVAVIABHEEHEUFIVIUGTHUNEGVIUHTUQVHURACUIMUQURUJUKU
    SVJUTVDARVGULUOSUP $.

  ${
    eqnc.1 $e |- A e. _V $.
    $( Equality of cardinalities.  (Contributed by SF, 24-Feb-2015.) $)
    eqnc $p |- ( Nc A = Nc B <-> A ~~ B ) $=
      ( cvv wcel cnc wceq cen wbr wb eqncg ax-mp ) ADEAFBFGABHIJCABDKL $.
  $}

  ${
    $d A y $.  $d X y $.
    $( A cardinal is equal to the cardinality of a set iff it contains the
       set.  (Contributed by SF, 24-Feb-2015.) $)
    ncseqnc $p |- ( A e. NC -> ( A = Nc X <-> X e. A ) ) $=
      ( vy cncs wcel cv cnc wceq wex elncs cen wbr cvv cec vex ncid eleq2 df-nc
      wb a1i mpbiri syl6eleq ecexr syl brex simpld cer ener cdm dmen id eqeq12i
      erth syl6rbbr pm5.21nii eqcom elnc 3bitr4i eqeq1 3bitr4d exlimiv sylbi )
      ADEACFZGZHZCIABGZHZBAEZSZCAJVEVICVEVDVFHZBVDEZVGVHVJVKSVEVFVDHZBVCKLZVJVK
      VLBMEZVMVLVCBKNZEVNVLVCVFVOVLVCVFEVCVDEVCCOZPVFVDVCQUABRZUBVCBKUCUDVMVNVC
      MEZBVCKUEUFVNVMVOVCKNZHVLVNBVCKMMKMUGLVNUHTKUIMHVNUJTVNUKVRVNVPTUMVFVOVDV
      SVQVCRULUNUOVDVFUPBVCUQURTAVDVFUSAVDBQUTVAVB $.
  $}

  ${
    eqnc2.1 $e |- X e. _V $.
    $( Alternate condition for equality to a cardinality.  (Contributed by SF,
       18-Mar-2015.) $)
    eqnc2 $p |- ( A = Nc X <-> ( A e. NC /\ X e. A ) ) $=
      ( cnc wceq cncs wcel ncelncsi eleq1 mpbiri ncseqnc biadan2 ) ABDZEZAFGZBA
      GNOMFGBCHAMFIJABKL $.
  $}

  ${
    $d a b $.  $d a c $.  $d a g $.  $d a m $.  $d a n $.  $d b c $.  $d b g $.
    $d b m $.  $d b n $.  $d c g $.  $d g m $.  $d g n $.  $d M a $.  $d M b $.
    $d M m $.  $d m n $.  $d M n $.  $d N a $.  $d N b $.  $d N g $.  $d N n $.
    $d N m $.
    $( The value of cardinal multiplication.  (Contributed by SF,
       10-Mar-2015.) $)
    ovmuc $p |- ( ( M e. NC /\ N e. NC ) ->
       ( M .c N ) = { a | E. b e. M E. g e. N a ~~ ( b X. g ) } ) $=
      ( vc cncs wcel cv cen wbr wrex cvv wceq wa ccross c2nd c1st cop 3bitri vm
      vn cxp cab cmuc ctxp crn cins4 ccnv cins2 cin cima elima df-br elrn2 elin
      co wex oqelins4 elrn trtxp ancom op1st2nd anbi2i exbii opex breq1 ceqsexv
      vex brcross otelins2 brcnv bitr3i anbi12i bitri xpex breq2 rexbii crossex
      abbi2i 2ndex 1stex txpex rnex ins4ex enex cnvex ins2ex inex imaexg ancoms
      mpan sylan syl5eqelr rexeq abbidv rexbidv df-muc ovmpt2g mpd3an3 ) BGHZCG
      HZDIZEIZAIZUCZJKZACLZEBLZDUDZMHBCUEUQXJNXAXBOXJPQRUFZUFZUGZUHZJUIZUJZUJZU
      KZUGZCULZBULZMXIDYAXCYAHXDXCXTKZEBLXIEXCXTBUMYBXHEBYBXDXCSZXTHXEYCXSKZACL
      XHXDXCXTUNAYCXSCUMYDXGACYDXEYCSZXSHZXGXEYCXSUNYFFIZYESZXRHZFURYGXFNZXCYGJ
      KZOZFURXGFYEXRUOYIYLFYIYHXNHZYHXQHZOYLYHXNXQUPYMYJYNYKYMYGXEXDSZSZXMHZXDX
      ESZYGPKZYJYGXEXDXCXMDVIUSYQXCYPXLKZDURXCYRNZXCYGPKZOZDURYSDYPXLUTYTUUCDYT
      UUBXCYOXKKZOUUBUUAOUUCXCYGYOPXKVAUUDUUAUUBUUDXCXEQKZXCXDRKZOUUFUUEOUUAXCX
      EXDQRVAUUEUUFVBXDXEXCEVIZAVIZVCTVDUUBUUAVBTVEUUBYSDYRXDXEUUGUUHVFXCYRYGPV
      GVHTXDXEYGUUGUUHVJTYNYGYCSXPHYGXCSXOHZYKYGXEYCXPUUHVKYGXDXCXOUUGVKUUIYGXC
      XOKYKYGXCXOUNYGXCJVLVMTVNVOVEYKXGFXFXDXEUUGUUHVPYGXFXCJVQVHTVOVRTVRVOVTXB
      XAYAMHZXBXTMHZXAUUJXSMHXBUUKXRXNXQXMXLPXKVSQRWAWBWCWCWDWEXPXOJWFWGWHWHWIW
      DXSCMGWJWLXTBMGWJWMWKWNUAUBBCGGXGAUBIZLZEUAIZLZDUDXJUEUUMEBLZDUDMUUNBNUUO
      UUPDUUMEUUNBWOWPUULCNZUUPXIDUUQUUMXHEBXGAUULCWOWQWPAUAUBDEWRWSWT $.
  $}

  ${
    $d A x $.  $d A y $.  $d A z $.  $d B x $.  $d B y $.  $d B z $.  $d x y $.
    $d x z $.  $d y z $.
    mucnc.1 $e |- A e. _V $.
    mucnc.2 $e |- B e. _V $.
    $( Cardinal multiplication in terms of cardinality.  Theorem XI.2.27 of
       [Rosser] p. 378.  (Contributed by SF, 10-Mar-2015.) $)
    mucnc $p |- ( Nc A .c Nc B ) = Nc ( A X. B ) $=
      ( vx vy vz cnc cv cxp cen wbr wrex cab cncs wcel wceq ncelncsi wa wex cec
      cmuc co ovmuc mp2an df-nc dfec2 elnc anbi12i ensym 2exbii enrflx bi2anan9
      r2ex breq1 xpeq12 breq1d anbi12d spc2ev mpanl12 xpen sylib sylan exlimivv
      entr impbii 3bitr4ri abbii 3eqtrri eqtri ) AHZBHZUBUCZEIZFIZGIZJZKLZGVLMF
      VKMZENZABJZHZVKOPVLOPVMVTQACRBDRGVKVLEFUDUEWBWAKUAWAVNKLZENVTWAUFEWAKUGWC
      VSEVOVKPZVPVLPZSZVRSZGTFTVOAKLZVPBKLZSZVQVNKLZSZGTFTZVSWCWGWLFGWFWJVRWKWD
      WHWEWIVOAUHVPBUHUIVNVQUJUIUKVRFGVKVLUNWCWMAAKLZBBKLZWCWMACULBDULWLWNWOSZW
      CSFGABCDVOAQZVPBQZSZWJWPWKWCWQWHWNWRWIWOVOAAKUOVPBBKUOUMWSVQWAVNKVOAVPBUP
      UQURUSUTWLWCFGWJWAVQKLZWKWCWJVQWAKLWTVOAVPBVAVQWAUJVBWAVQVNVEVCVDVFVGVHVI
      VJ $.
  $}

  ${
    $d A x y $.  $d B x y $.
    $( Closure law for cardinal multiplicaton.  (Contributed by SF,
       10-Mar-2015.) $)
    muccl $p |- ( ( A e. NC /\ B e. NC ) -> ( A .c B ) e. NC ) $=
      ( vx vy cncs wcel wa cv cnc wceq wex co elncs anbi12i eeanv bitr4i oveq12
      cmuc cxp vex mucnc xpex ncelncsi eqeltri syl6eqel exlimivv sylbi ) AEFZBE
      FZGZACHZIZJZBDHZIZJZGZDKCKZABRLZEFZUJUMCKZUPDKZGURUHVAUIVBCAMDBMNUMUPCDOP
      UQUTCDUQUSULUORLZEAULBUORQVCUKUNSZIEUKUNCTZDTZUAVDUKUNVEVFUBUCUDUEUFUG $.
  $}

  ${
    $d a b c d m n $.
    $( Cardinal multiplication is a set.  (Contributed by SF, 24-Feb-2015.) $)
    mucex $p |- .c e. _V $=
      ( vm vn va vb vc vd cncs csset cen c1c wbr wrex cop wcel wex otelins2 vex
      cv wa bitri cmuc cxp cvv cins2 ccnv cins4 cin crn csi3 cima cins3 csymdif
      ccross cdif cab cmpt2 df-muc csn wel elin snex opelssetsn 3bitri oqelins4
      otsnelsi3 wceq elrn2 df-br brcnv brcross 3bitr2i anbi12i exbii xpex breq2
      ceqsexv elima1c df-rex 3bitr4i bitr4i rexcom weq breq1 2rexbidv releqmpt2
      elab eqtr4i ncsex ssetex ins2ex crossex cnvex ins4ex enex inex rnex si3ex
      1cex imaex mpt2exlem eqeltri ) UAGGUBUCUBHUDZXBUDZXCUMUEZUFZIUEZUDZUDZUGZ
      UHZUIZUFZUGZJUJZUFZUGZJUJZUKULJUJUNZUCUAABGGCRZDRZERZUBZIKZEBRZLDARZLZCUO
      ZUPXREABCDUQABFGGXQYGFRZURZYEYDMZMZXQNZYHYBIKZEYDLDYELZYHYGNYAURZYKMZXPNZ
      EOZYMDYELZEYDLZYLYNYREBUSZYSSZEOYTYQUUBEYQYPXCNZYPXONZSUUBYPXCXOUTUUCUUAU
      UDYSUUCYOYJMXBNYOYDMHNUUAYOYIYJXBYHVAZPYOYEYDHAQZPYAYDEQZBQZVBVCUUDYOYIYE
      MZMZXNNZYSYOYIYEYDXNUUHVDXTURZUUJMZXMNZDODAUSZYMSZDOUUKYSUUNUUPDUUNUUMXCN
      ZUUMXLNZSUUPUUMXCXLUTUUQUUOUURYMUUQUULUUIMXBNUULYEMHNUUOUULYOUUIXBYAVAPUU
      LYIYEHUUEPXTYEDQZUUFVBVCUURUULYOYIMMXKNXTYAYHMZMZXJNZYMUULYOYIYEXKUUFVDXT
      YAYHXJUUSUUGFQZVEUVBXSUVAMZXINZCOXSYBVFZYHXSIKZSZCOYMCUVAXIVGUVEUVHCUVEUV
      DXENZUVDXHNZSUVHUVDXEXHUTUVIUVFUVJUVGUVIXSXTYAMZMXDNXSUVKXDKZUVFXSXTYAYHX
      DUVCVDXSUVKXDVHUVLUVKXSUMKUVFXSUVKUMVIXTYAXSUUSUUGVJTVKUVJXSUUTMXGNZUVGXS
      XTUUTXGUUSPUVMXSYHMXFNXSYHXFKUVGXSYAYHXFUUGPXSYHXFVHXSYHIVIVKTVLTVMUVGYMC
      YBXTYAUUSUUGVNXSYBYHIVOVPVCVCVLTVMDUUJXMVQYMDYEVRVSTVLTVMYSEYDVRVTEYKXPVQ
      YMDEYEYDWAVSYFYNCYHUVCCFWBYCYMDEYEYDXSYHYBIWCWDWFVTWEWGGGXQWHWHXPJXCXOXBH
      WIWJWJZXNXMJXCXLUVNXKXJXIXEXHXDUMWKWLWMXGXFIWNWLWJWJWOWPWQWMWOWRWSWMWOWRW
      SWTXA $.
  $}

  ${
    $d A x $.  $d A y $.  $d B x $.  $d B y $.  $d x y $.
    $( Cardinal multiplication commutes.  Theorem XI.2.28 of [Rosser] p. 378.
       (Contributed by SF, 10-Mar-2015.) $)
    muccom $p |- ( ( A e. NC /\ B e. NC ) -> ( A .c B ) = ( B .c A ) ) $=
      ( vx vy cncs wcel wa cv cnc wceq wex co elncs anbi12i eeanv cxp vex mucnc
      cmuc oveq12 bitr4i cen wbr xpcomen xpex eqnc mpbir 3eqtr4i ancoms 3eqtr4a
      exlimivv sylbi ) AEFZBEFZGZACHZIZJZBDHZIZJZGZDKCKZABSLZBASLZJZUOURCKZVADK
      ZGVCUMVGUNVHCAMDBMNURVACDOUAVBVFCDVBUQUTSLZUTUQSLZVDVEUPUSPZIZUSUPPZIZVIV
      JVLVNJVKVMUBUCUPUSCQZDQZUDVKVMUPUSVOVPUEUFUGUPUSVOVPRUSUPVPVORUHAUQBUTSTV
      AURVEVJJBUTAUQSTUIUJUKUL $.
  $}

  ${
    $d A x $.  $d A y $.  $d A z $.  $d B x $.  $d B y $.  $d B z $.  $d C x $.
    $d C y $.  $d C z $.  $d x y $.  $d x z $.  $d y z $.
    $( Cardinal multiplication associates.  Theorem XI.2.29 of [Rosser]
       p. 378.  (Contributed by SF, 10-Mar-2015.) $)
    mucass $p |- ( ( A e. NC /\ B e. NC /\ C e. NC ) ->
       ( ( A .c B ) .c C ) = ( A .c ( B .c C ) ) ) $=
      ( vx vy vz cncs wcel w3a cv cnc wceq wex cmuc co elncs cxp vex xpex mucnc
      3anbi123i eeeanv bitr4i cen wbr xpassen mpbir oveq1i eqtri oveq2i 3eqtr4i
      eqnc wa oveq12 id oveqan12d 3impa 3impb 3eqtr4a exlimiv exlimivv sylbi )
      AGHZBGHZCGHZIZADJZKZLZBEJZKZLZCFJZKZLZIZFMZEMDMZABNOZCNOZABCNOZNOZLZVFVID
      MZVLEMZVOFMZIVRVCWDVDWEVEWFDAPEBPFCPUAVIVLVODEFUBUCVQWCDEVPWCFVPVHVKNOZVN
      NOZVHVKVNNOZNOZVTWBVGVJQZVMQZKZVGVJVMQZQZKZWHWJWMWPLWLWOUDUEVGVJVMDRZERZF
      RZUFWLWOWKVMVGVJWQWRSZWSSULUGWHWKKZVNNOWMWGXAVNNVGVJWQWRTUHWKVMWTWSTUIWJV
      HWNKZNOWPWIXBVHNVJVMWRWSTUJVGWNWQVJVMWRWSSTUIUKVIVLVOVTWHLVIVLUMVOVSWGCVN
      NAVHBVKNUNVOUOUPUQVIVLVOWBWJLVIVLVOUMAVHWAWINVIUOBVKCVNNUNUPURUSUTVAVB $.
  $}

  ${
    $d A p $.  $d A q $.  $d A r $.  $d A x $.  $d B p $.  $d B q $.  $d B r $.
    $d B x $.  $d p q $.  $d p x $.  $d q x $.  $d r x $.
    ncdisjun.1 $e |- A e. _V $.
    ncdisjun.2 $e |- B e. _V $.
    $( Cardinality of disjoint union of two sets.  (Contributed by SF,
       24-Feb-2015.) $)
    ncdisjun $p |- ( ( A i^i B ) = (/) -> Nc ( A u. B ) = ( Nc A +c Nc B ) ) $=
      ( vr vp vq cin c0 wceq cv wcel cen wbr elnc wf1o ccnv wa cima adantl cplc
      vx cun cnc wex f1ocnv imaundi cdm crn imadmrn a1i f1odm imaeq2d wfo f1ofo
      bren forn syl 3eqtr3d syl5eqr cres wf1 wss f1of1 ssun1 f1ores sylancl vex
      cnvex resex f1oen 3syl sylibr ssun2 wfun df-f1 simprbi imaeq2 ima0 syl6eq
      wf adantr eqtr3d eladdci syl3anc eqeltrrd syl5 exlimdv syl5bi wrex eladdc
      imain simplrl sylib simplrr simpr simpll unen syl22anc syl5ibrcom expimpd
      ex breq1 rexlimdvva impbid syl5bb eqrdv ) ABHZIJZUBABUCZUDZAUDZBUDZUAZUBK
      ZXKLXOXJMNZXIXOXNLZXOXJOXIXPXQXPXOXJEKZPZEUEXIXQXOXJEUPXIXSXQEXSXJXOXRQZP
      ZXIXQXOXJXRUFXIYAXQXIYARZXTASZXTBSZUCZXOXNYAYEXOJXIYAYEXTXJSZXOXTABUGYAXT
      XTUHZSZXTUIZYFXOYHYIJYAXTUJUKYAYGXJXTXJXOXTULUMYAXJXOXTUNYIXOJXJXOXTUOXJX
      OXTUQURUSUTTYBYCXLLZYDXMLZYCYDHZIJYEXNLYAYJXIYAYCAMNZYJYAAYCXTAVAZPZYCAYN
      QZPYMYAXJXOXTVBZAXJVCYOXJXOXTVDZABVEXJXOAXTVFVGAYCYNUFYCAYPYNXTAXREVHVIZC
      VJVIVKVLYCAOVMTYBYDBMNZYKYAYTXIYABYDXTBVAZPZYDBUUAQZPYTYAYQBXJVCUUBYRBAVN
      XJXOBXTVFVGBYDUUAUFYDBUUCUUAXTBYSDVJVIVKVLTYDBOVMYBXTXHSZYLIYAUUDYLJZXIYA
      YQXTQVOZUUEYRYQXJXOXTWAUUFXJXOXTVPVQABXTWLVLTXIUUDIJYAXIUUDXTISIXHIXTVRXT
      VSVTWBWCYCYDXLXMWDWEWFXBWGWHWIXQFKZGKZHIJZXOUUGUUHUCZJZRZGXMWJFXLWJXIXPXO
      XLXMFGWKXIUULXPFGXLXMXIUUGXLLZUUHXMLZRZRZUUIUUKXPUUPUUIRZXPUUKUUJXJMNZUUQ
      UUGAMNZUUHBMNZUUIXIUURUUQUUMUUSXIUUMUUNUUIWMUUGAOWNUUQUUNUUTXIUUMUUNUUIWO
      UUHBOWNUUPUUIWPXIUUOUUIWQUUGAUUHBWRWSXOUUJXJMXCWTXAXDWIXEXFXG $.
  $}

  $( Cardinal zero is the cardinality of the empty set.  Theorem XI.2.7 of
     [Rosser] p. 372.  (Contributed by SF, 24-Feb-2015.) $)
  df0c2 $p |- 0c = Nc (/) $=
    ( vx c0 cen cec cv wbr cab cnc c0c dfec2 df-nc wceq wcel en0 ensym 3bitr4ri
    el0c abbi2i 3eqtr4ri ) BCDBAEZCFZAGBHIABCJBKUAAITBCFTBLUATIMTNBTOTQPRS $.

  $( Cardinal zero is a cardinal number.  Corollary 1 to theorem XI.2.7 of
     [Rosser] p. 373.  (Contributed by SF, 24-Feb-2015.) $)
  0cnc $p |- 0c e. NC $=
    ( c0c c0 cnc cncs df0c2 0ex ncelncsi eqeltri ) ABCDEBFGH $.

  ${
    $d f x $.  $d f y $.  $d f z $.  $d x y $.  $d x z $.  $d y z $.
    $( Cardinal one is a cardinal number.  Corollary 2 to theorem XI.2.8 of
       [Rosser] p. 373.  (Contributed by SF, 24-Feb-2015.) $)
    1cnc $p |- 1c e. NC $=
      ( vx vy vz vf c1c wcel cv cnc wceq wex csn cen wbr cvv vex exlimiv eqeq2d
      crn spcev sylbi cncs cec cab dfec2 df-nc el1c en2sn mp2an breq2 wf1o bren
      mpbiri wf f1of wfo f1ofo forn syl cfv cop wa wi fsn2 rnsnop syl6eq eqeq1d
      rneq fvex sneq eqcoms syl6bi adantl sylc impbii abbi2i 3eqtr4ri snex nceq
      bitri ax-mp elncs mpbir ) EUAFEAGZHZIZAJZEBGZKZHZIZWFWHLUBWHCGZLMZCUCWIEC
      WHLUDWHUEWLCEWKEFWKWCKZIZAJZWLAWKUFWOWLWNWLAWNWLWHWMLMZWGNFWCNFWPBOZAOWGW
      CNNUGUHWKWMWHLUIULPWLWHWKDGZUJZDJWOWHWKDUKWSWODWSWHWKWRUMZWRRZWKIZWOWHWKW
      RUNWSWHWKWRUOXBWHWKWRUPWHWKWRUQURWTWGWRUSZWKFZWRWGXCUTKZIZVAXBWOVBZWGWKWR
      WQVCXFXGXDXFXBXCKZWKIWOXFXAXHWKXFXAXERXHWRXEVGWGXCWQVDVEVFWOWKXHWNWKXHIAX
      CWGWRVHWCXCIWMXHWKWCXCVIQSVJVKVLTVMPTVNVSVOVPWEWJAWHWGVQWCWHIWDWIEWCWHVRQ
      SVTAEWAWB $.
  $}

  ${
    df1c3.1 $e |- A e. _V $.
    $( Cardinal one is the cardinality of a singleton.  Theorem XI.2.8 of
       [Rosser] p. 373.  (Contributed by SF, 2-Mar-2015.) $)
    df1c3 $p |- 1c = Nc { A } $=
      ( c1c csn cnc wceq wcel snel1c cncs wb 1cnc ncseqnc ax-mp mpbir ) CADZEFZ
      OCGZABHCIGPQJKCOLMN $.
  $}

  ${
    $d A x $.
    $( Cardinal one is the cardinality of a singleton.  Theorem XI.2.8 of
       [Rosser] p. 373.  (Contributed by SF, 13-Mar-2015.) $)
    df1c3g $p |- ( A e. V -> 1c = Nc { A } ) $=
      ( vx c1c cv csn cnc wceq sneq nceqd eqeq2d vex df1c3 vtoclg ) DCEZFZGZHDA
      FZGZHCABOAHZQSDTPROAIJKOCLMN $.
  $}

  ${
    $d A x $.
    $( Cardinal multiplication by zero.  Theorem XI.2.32 of [Rosser] p. 379.
       (Contributed by SF, 10-Mar-2015.) $)
    muc0 $p |- ( A e. NC -> ( A .c 0c ) = 0c ) $=
      ( vx cncs wcel cv cnc wceq wex c0c cmuc co elncs oveq1 c0 cxp nceqi df0c2
      xp0 oveq2i vex 0ex mucnc eqtri 3eqtr4i syl6eq exlimiv sylbi ) ACDABEZFZGZ
      BHAIJKZIGZBALUJULBUJUKUIIJKZIAUIIJMUHNOZFZNFZUMIUNNUHRPUMUIUPJKUOIUPUIJQS
      UHNBTUAUBUCQUDUEUFUG $.
  $}

  ${
    $d A x $.
    $( Cardinal multiplication by one.  (Contributed by SF, 11-Mar-2015.) $)
    mucid1 $p |- ( A e. NC -> ( A .c 1c ) = A ) $=
      ( vx cncs wcel cv cnc wceq wex c1c cmuc co elncs csn cxp vex df1c3 oveq2i
      snex mucnc cen wbr xpsnen xpex eqnc mpbir 3eqtri oveq1 id 3eqtr4a exlimiv
      sylbi ) ACDABEZFZGZBHAIJKZAGZBALUNUPBUNUMIJKZUMUOAUQUMULMZFZJKULURNZFZUMI
      USUMJULBOZPQULURVBULRZSVAUMGUTULTUAULULVBVBUBUTULULURVBVCUCUDUEUFAUMIJUGU
      NUHUIUJUK $.
  $}

  ${
    $d A x $.  $d A y $.  $d B x $.  $d B y $.  $d x y $.  $d x z $.  $d y z $.
    $( The cardinals are closed under cardinal addition.  Theorem XI.2.10 of
       [Rosser] p. 374.  (Contributed by SF, 24-Feb-2015.) $)
    ncaddccl $p |- ( ( A e. NC /\ B e. NC ) -> ( A +c B ) e. NC ) $=
      ( vx vy vz cncs wcel cv cnc wceq wex elncs wa c0 csn cxp cen mpbir eqcomi
      cplc eeanv ccompl wbr vex 0ex complex xpsnen snex xpex eqnc eqtr addceq12
      mpan2 cun necompl xpnedisj ncdisjun ax-mp unex nceq eqeq2d spcev syl6eqel
      cin syl2an exlimivv sylbir syl2anb ) AFGACHZIZJZCKZBDHZIZJZDKZABTZFGZBFGC
      ALDBLVLVPMVKVOMZDKCKVRVKVOCDUAVSVRCDVKAVINUBZOZPZIZJZBVMNOZPZIZJZVRVOVKVJ
      WCJWDWCVJWCVJJWBVIQUCVIVTCUDZNUEUFZUGWBVIVIWAWIVTUHUIZUJRSAVJWCUKUMVOVNWG
      JWHWGVNWGVNJWFVMQUCVMNDUDZUEUGWFVMVMWEWLNUHUIZUJRSBVNWGUKUMWDWHMVQWCWGTZF
      ABWCWGULWNFGWNEHZIZJZEKZWNWBWFUNZIZJZWRWTWNWBWFVDNJWTWNJVIVMVTNWJNUOUPWBW
      FWKWMUQURSWQXAEWSWBWFWKWMUSWOWSJWPWTWNWOWSUTVAVBUREWNLRVCVEVFVGVH $.
  $}

  $( The successor of a cardinal is a cardinal.  (Contributed by SF,
     24-Feb-2015.) $)
  peano2nc $p |- ( A e. NC -> ( A +c 1c ) e. NC ) $=
    ( cncs wcel c1c cplc 1cnc ncaddccl mpan2 ) ABCDBCADEBCFADGH $.

  ${
    $d A x n $.
    $( A finite cardinal number is a cardinal number.  (Contributed by SF,
       24-Feb-2015.) $)
    nnnc $p |- ( A e. Nn -> A e. NC ) $=
      ( vx vn cv cncs wcel c0c c1c cplc cab abid2 ncsex eqeltri eleq1 0cnc cnnc
      cvv wi peano2nc a1i finds ) BDZEFZGEFCDZEFZUDHIZEFZAEFBCAUCBJEQBEKLMUBGEN
      UBUDENUBUFENUBAENOUEUGRUDPFUDSTUA $.
  $}

  $( The finite cardinals are a subset of the cardinals.  Theorem XI.2.11 of
     [Rosser] p. 374.  (Contributed by SF, 24-Feb-2015.) $)
  nnssnc $p |- Nn C_ NC $=
    ( vx cnnc cncs cv nnnc ssriv ) ABCADEF $.

  ${
    $d A x $.  $d A y $.  $d B x $.  $d B y $.  $d x y $.
    $( Two cardinals are either disjoint or equal.  (Contributed by SF,
       25-Feb-2015.) $)
    ncdisjeq $p |- ( ( A e. NC /\ B e. NC ) ->
       ( ( A i^i B ) = (/) \/ A = B ) ) $=
      ( vx vy cncs wcel wa cv cnc wceq wex cin c0 wo elncs cen df-nc eqtr mpan2
      cec anbi12i eeanv bitr4i cvv cer wbr erdisj ax-mp wb eqeq12 ineq12 eqeq1d
      ener orbi12d syl2an mpbiri orcomd exlimivv sylbi ) AEFZBEFZGZACHZIZJZBDHZ
      IZJZGZDKCKZABLZMJZABJZNZVBVECKZVHDKZGVJUTVOVAVPCAODBOUAVEVHCDUBUCVIVNCDVI
      VMVLVIVMVLNZVCPTZVFPTZJZVRVSLZMJZNZPUDUEUFWCUMVCVFPUGUHVEAVRJZBVSJZVQWCUI
      VHVEVDVRJWDVCQAVDVRRSVHVGVSJWEVFQBVGVSRSWDWEGZVMVTVLWBAVRBVSUJWFVKWAMAVRB
      VSUKULUNUOUPUQURUS $.
  $}

  $( If two cardinals have an element in common, then they are equal.
     (Contributed by SF, 25-Feb-2015.) $)
  nceleq $p |- ( ( ( A e. NC /\ B e. NC ) /\ ( X e. A /\ X e. B ) ) ->
     A = B ) $=
    ( cncs wcel wa wceq cin c0 wn elin n0i sylbir ncdisjeq ord syl5 imp ) ADEBD
    EFZCAECBEFZABGZSABHZIGZJZRTSCUAEUCCABKUACLMRUBTABNOPQ $.

  ${
    $d A f $.  $d A g $.  $d A t $.  $d B f $.  $d B g $.  $d B t $.  $d f g $.
    $d f t $.  $d f x $.  $d f y $.  $d g t $.  $d g x $.  $d g y $.  $d t x $.
    $d t y $.  $d x y $.
    $( Successor is one-to-one over the cardinals.  Theorem XI.2.12 of [Rosser]
       p. 375.  (Contributed by SF, 25-Feb-2015.) $)
    peano4nc $p |- ( ( A e. NC /\ B e. NC ) ->
             ( ( A +c 1c ) = ( B +c 1c ) <-> A = B ) ) $=
      ( vg vt vx vf vy cncs wcel wa c1c cplc wceq adantr cnc eqtr2 csn wrex vex
      cv peano2nc wex elncs simpr jca cun ccompl ncid eleq2 mpbiri elsuc biimpi
      syl sylib anim12i reeanv 2rexbii bitri wi ncseqnc bi2anan9 biimpar cen wn
      wbr wel elcompl enadj ancoms ex syl2anb syl5 rexlimivv eqeq12 eqnc syl6bb
      syl5ibr rexlimdvva syl5bir imp sylan2 expr exlimdv syl5bi addceq1 impbid1
      3expb mpd ) AHIZBHIZJZAKLZBKLZMZABMZWKWNWOWKWNJZWLHIZWOWKWQWNWIWQWJAUANNW
      QWLCTZOZMZCUBWPWOCWLUCWPWTWOCWKWNWTWOWNWTJZWKWTWMWSMZJZWOXAWTXBWNWTUDWLWM
      WSPUEWKXCWOXCWRDTZETZQUFZMZEXDUGZRZDARZWRFTZGTZQUFZMZGXKUGZRZFBRZJZWKWOWT
      XJXBXQWTWRWLIZXJWTXSWRWSIZWRCSUHZWLWSWRUIUJXSXJEWRADUKULUMXBWRWMIZXQXBYBX
      TYAWMWSWRUIUJGWRBFUKUNUOXRXGXNJZGXOREXHRZFBRDARZWKWOYEXIXPJZFBRDARXRYDYFD
      FABXGXNEGXHXOUPUQXIXPDFABUPURWKYDWODFABWKXDAIZXKBIZJZJAXDOZMZBXKOZMZJZYDW
      OUSWKYNYIWIYKYGWJYMYHAXDUTBXKUTVAVBYDWOYNXDXKVCVEZYCYOEGXHXOYCXFXMMZXEXHI
      ZXLXOIZJYOWRXFXMPYQEDVFVDZGFVFVDZYPYOUSYRXEXDESZVGXLXKGSZVGYSYTJZYPYOYPUU
      CYOYPYSYTYOXDXKXEXLDSZFSUUAUUBVHWGVIVJVKVLVMYNWOYJYLMYOAYJBYLVNXDXKUUDVOV
      PVQUMVRVSVLVTWAWBWCWDWHVJABKWEWF $.
  $}

  ${
    $d A x y $.
    $( A cardinal is finite iff it is a subset of ` Fin ` .  (Contributed by
       SF, 25-Feb-2015.) $)
    ncssfin $p |- ( A e. NC -> ( A e. Nn <-> A C_ Fin ) ) $=
      ( vx vy cncs wcel cnnc cfin wss cuni elssuni cv wrex wal c0c wne wex wceq
      wi c0 wa df-fin syl6sseqr dfss2 elfin imbi2i wb peano1 ne0i r19.37zv mp2b
      wel bitr4i albii bitri nulnnc eleq1 mtbiri necon2ai n0 19.29r pm2.27 nnnc
      sylib adantl nceleq sylanl2 simplr eqeltrd expr rexlimdva expimpd exlimdv
      syld an32s syl5 mpand syl5bi impbid2 ) ADEZAFEZAGHZVTAFIGAFJUAUBWABKZAEZB
      CUKZRZCFLZBMZVSVTWAWCWBGEZRZBMWGBAGUCWIWFBWIWCWDCFLZRZWFWHWJWCCWBUDUENFEF
      SOWFWKUFUGFNUHWCWDCFUIUJULUMUNVSWCBPZWGVTVSASOWLVSASASQVSSDEUOASDUPUQURBA
      USVCWLWGTWCWFTZBPVSVTWCWFBUTVSWMVTBVSWCWFVTVSWCTWEVTCFVSCKZFEZWCWEVTRVSWO
      TZWCTWEWDVTWCWEWDRWPWCWDVAVDWPWCWDVTWPWCWDTZTAWNFWOVSWNDEWQAWNQWNVBAWNWBV
      EVFVSWOWQVGVHVIVMVNVJVKVLVOVPVQVR $.
  $}

  ${
    ncpw1.1 $e |- A e. _V $.
    $( The cardinality of two sets are equal iff their unit power classes have
       the same cardinality.  (Contributed by SF, 25-Feb-2015.) $)
    ncpw1 $p |- ( Nc A = Nc B <-> Nc ~P1 A = Nc ~P1 B ) $=
      ( cen wbr cpw1 cnc wceq enpw1 eqnc pw1ex 3bitr4i ) ABDEAFZBFZDEAGBGHMGNGH
      ABIABCJMNACKJL $.
  $}

  ${
    ncpwpw1.1 $e |- A e. _V $.
    $( Power class and unit power class commute within cardinality.
       (Contributed by SF, 26-Feb-2015.) $)
    ncpwpw1 $p |- Nc ~P ~P1 A = Nc ~P1 ~P A $=
      ( cpw1 cpw cnc wceq cen wbr enpw1pw ensym mpbi pw1ex pwex eqnc mpbir ) AC
      ZDZEADCZEFQRGHZRQGHSABIRQJKQRPABLMNO $.
  $}

  $( The cardinality of ` 1c ` is equal to that of its power class.
     (Contributed by SF, 26-Feb-2015.) $)
  ncpw1c $p |- Nc ~P 1c = Nc 1c $=
    ( cvv cpw1 cpw cnc c1c vvex ncpwpw1 df1c2 pweqi nceqi wceq pwv pw1eq eqtr4i
    ax-mp 3eqtr4i ) ABZCZDACZBZDECZDEDAFGUAREQHIJETEQTHSAKTQKLSAMONJP $.

  $( One plus one equals two.  Theorem *110.64 of [WhiteheadRussell] p. 86.
     This theorem is occasionally useful.  (Contributed by SF, 2-Mar-2015.) $)
  1p1e2c $p |- ( 1c +c 1c ) = 2c $=
    ( c0 csn cvv cun cnc cplc c2c c1c cin wceq wcel wn 0ex n0i ax-mp vvex elsnc
    mtbir snex df1c3 disjsn mpbir ncdisjun cpr df-2c df-pr nceqi eqtri 3eqtr4ri
    addceq12i ) ABZCBZDZEZUKEZULEZFZGHHFUKULIAJZUNUQJURCUKKZLUSCAJZACKUTLMCANOC
    APQRUKCUAUBUKULASCSUCOGACUDZEUNUEVAUMACUFUGUHHUOHUPAMTCPTUJUI $.

  $( Two plus one equals three.  (Contributed by SF, 2-Mar-2015.) $)
  2p1e3c $p |- ( 2c +c 1c ) = 3c $=
    ( c0 cvv cpr csn cdif cun cnc cplc c3c c2c c1c cin wceq wcel vvex ax-mp 0ex
    wn mtbir snex wo wne vn0 eldifsn mpbir2an n0i wa notnoti intnan eldif eleq2
    snid mpbiri pm3.2ni difex elpr disjsn mpbir prex ncdisjun df-3c df-tp nceqi
    mto ctp eqtri df-2c df1c3 addceq12i 3eqtr4ri ) ABCZBADZEZDZFZGZVKGZVNGZHZIJ
    KHVKVNLAMZVPVSMVTVMVKNZRWAVMAMZVMBMZUAWBWCBVMNZWBRWDBBNBAUBOUCBBAUDUEVMBUFP
    WCAVMNZWEABNZAVLNZRZUGWHWFWGAQULUHUIABVLUJSWCWEWFQVMBAUKUMVDUNVMABBVLOATUOZ
    UPSVKVMUQURVKVNABUSVMTUTPIABVMVEZGVPVAWJVOABVMVBVCVFJVQKVRVGVMWIVHVIVJ $.

  ${
    $d A x $.  $d A y $.  $d x y $.
    $( The cardinal T operation always yields a set.  (Contributed by SF,
       2-Mar-2015.) $)
    tcex $p |- T_c A e. _V $=
      ( vx vy ctc cv cncs wcel cpw1 cnc wceq wrex cio cvv df-tc iotaex eqeltri
      wa ) ADBEZFGRCEHIJCAKQZBLMCABNSBOP $.
  $}

  ${
    $d A x $.  $d A y $.  $d B x $.  $d B y $.  $d x y $.
    $( Equality theorem for cardinal T operator.  (Contributed by SF,
       2-Mar-2015.) $)
    tceq $p |- ( A = B -> T_c A = T_c B ) $=
      ( vx vy wceq cv cncs wcel cpw1 cnc wa cio ctc rexeq anbi2d iotabidv df-tc
      wrex 3eqtr4g ) ABEZCFZGHZUADFIJEZDARZKZCLUBUCDBRZKZCLAMBMTUEUGCTUDUFUBUCD
      ABNOPDACQDBCQS $.
  $}

  ${
    $d A w $.  $d A x $.  $d A y $.  $d A z $.  $d w x $.  $d w y $.  $d w z $.
    $d x y $.  $d x z $.  $d y z $.
    $( Given a cardinal, there is a unique cardinal that contains the unit
       power class of its members.  (Contributed by SF, 2-Mar-2015.) $)
    ncspw1eu $p |- ( A e. NC -> E! x e. NC E. y e. A x = Nc ~P1 y ) $=
      ( vz vw cncs wcel cv cpw1 cnc wceq wrex wa weq wi wral wex c0 sylib eqeq1
      wreu wne nulnnc eleq1 mtbiri necon2ai n0 pw1ex ncelncsi eqid rspcev mp2an
      vex jctr a1i eximdv mpd rexcom df-rex bitri sylibr reeanv ncseqnc biimpar
      adantrr adantrl eqtr3d ncpw1 3adant2 eqeq2 anbi1d eqtr3 syl6bi rexlimdvva
      w3a syl 3expa syl5bir ralrimivva rexbidv pw1eq eqeq2d cbvrexv syl6bb reu4
      nceqd sylanbrc ) CFGZAHZBHZIZJZKZBCLZAFLZWNDHZEHZIZJZKZECLZMZADNZOZDFPAFP
      WNAFUAWHWJCGZWMAFLZMZBQZWOWHXEBQZXHWHCRUBXIWHCRCRKWHRFGUCCRFUDUEUFBCUGSWH
      XEXGBXEXGOWHXEXFWLFGWLWLKZXFWKWJBUMZUHUIWLUJWMXJAWLFWIWLWLTUKULUNUOUPUQWO
      XFBCLXHWMABFCURXFBCUSUTVAWHXDADFFXBWMWTMZECLBCLWHWIFGWPFGMZMZXCWMWTBECCVB
      XNXLXCBECCWHXMXEWQCGZMZXLXCOZWHXMXPVOWLWSKZXQWHXPXRXMWHXPMZWJJZWQJZKXRXSC
      XTYAWHXECXTKZXOWHYBXECWJVCVDVEWHXOCYAKZXEWHYCXOCWQVCVDVFVGWJWQXKVHSVIXRXL
      WIWSKZWTMXCXRWMYDWTWLWSWIVJVKWIWPWSVLVMVPVQVNVRVSWNXAADFXCWNWPWLKZBCLXAXC
      WMYEBCWIWPWLTVTYEWTBECBENZWLWSWPYFWKWRWJWQWAWFWBWCWDWEWG $.
  $}

  ${
    $d A x y $.
    $( The cardinal T operation over a cardinal yields a cardinal.
       (Contributed by SF, 2-Mar-2015.) $)
    tccl $p |- ( A e. NC -> T_c A e. NC ) $=
      ( vx vy cncs wcel ctc cv cpw1 cnc wceq wrex wa cio wreu ncspw1eu reiotacl
      df-tc syl syl5eqel ) ADEZAFBGZDEUACGHIJCAKZLBMZDCABQTUBBDNUCDEBCAOUBBDPRS
      $.
  $}

  ${
    $d A x y $.  $d B x y $.
    $( The defining property of the cardinal T operation.  (Contributed by SF,
       2-Mar-2015.) $)
    eqtc $p |- ( A e. NC -> ( T_c A = B <-> E. x e. A B = Nc ~P1 x ) ) $=
      ( vy cncs wcel ctc wceq cv cpw1 cnc wrex wa simpr tccl adantr eqeltrrd ex
      wi wb vex pw1ex ncelncsi eleq1 mpbiri rexlimivw a1i wreu ncspw1eu rexbidv
      cio eqeq1 reiota2 sylan2 ancoms df-tc eqeq1i syl6rbbr pm5.21ndd ) BEFZCEF
      ZBGZCHZCAIZJZKZHZABLZUTVCVAUTVCMVBCEUTVCNUTVBEFVCBOPQRVHVASUTVGVAABVGVAVF
      EFVEVDAUAUBUCCVFEUDUEUFUGUTVAVCVHTUTVAMVHDIZEFVIVFHZABLZMDUKZCHZVCVAUTVHV
      MTZUTVAVKDEUHVNDABUIVKVHDECVICHVJVGABVICVFULUJUMUNUOVBVLCABDUPUQURRUS $.
  $}

  ${
    $d A y $.  $d B y $.
    $( The unit power class of an element of a cardinal is in the cardinal's T
       raising.  (Contributed by SF, 2-Mar-2015.) $)
    pw1eltc $p |- ( ( A e. NC /\ B e. A ) -> ~P1 B e. T_c A ) $=
      ( vy cncs wcel wa cpw1 cnc ctc cvv pw1exg ncidg syl adantl wceq wrex eqid
      cv pw1eq nceqd eqeq2d rspcev mpan2 wb eqtc adantr mpbird eleqtrrd ) ADEZB
      AEZFZBGZULHZAIZUJULUMEZUIUJULJEUOBAKULJLMNUKUNUMOZUMCRZGZHZOZCAPZUJVAUIUJ
      UMUMOZVAUMQUTVBCBAUQBOZUSUMUMVCURULUQBSTUAUBUCNUIUPVAUDUJCAUMUEUFUGUH $.
  $}

  $( The T raising of cardinal zero is still cardinal zero.  (Contributed by
     SF, 2-Mar-2015.) $)
  tc0c $p |- T_c 0c = 0c $=
    ( c0c ctc cncs wcel c0 wceq 0cnc tccl ax-mp cpw1 pw10 nulel0c pw1eltc mp2an
    eqeltrri nceleq mp4an ) ABZCDZACDZERDEADZRAFTSGAHIGEJZERKTUAUBRDGLAEMNOLRAE
    PQ $.

  ${
    $d A x $.  $d A y $.  $d B x $.  $d B y $.  $d x y $.
    $( T raising distributes over addition.  (Contributed by SF,
       2-Mar-2015.) $)
    tcdi $p |- ( ( A e. NC /\ B e. NC ) ->
       T_c ( A +c B ) = ( T_c A +c T_c B ) ) $=
      ( vx vy cncs wcel wa cv c0 cnc wceq wex cplc ctc cpw1 mp2an ax-mp pw1eltc
      tccl tceq ccompl csn cxp eeanv cen wbr vex complex xpsnen snex xpex mpbir
      0ex eqnc eqeq2i anbi12i 2exbii 3bitr4ri cun ncelncsi ncaddccl cin necompl
      elncs ncid xpnedisj eladdci mp3an pw1un pw1eq pw10 3eqtr3i eqeltri nceleq
      pw1in mp4an addceq12 syl adantr adantl addceq12d 3eqtr4a exlimivv sylbi )
      AEFZBEFZGZACHZIUAZUBZUCZJZKZBDHZIUBZUCZJZKZGZDLCLZABMZNZANZBNZMZKZAWHJZKZ
      BWNJZKZGZDLCLXHCLZXJDLZGWTWGXHXJCDUDWSXKCDWMXHWRXJWLXGAWLXGKWKWHUEUFWHWIC
      UGZIUMUHZUIWKWHWHWJXNWIUJUKZUNULUOWQXIBWQXIKWPWNUEUFWNIDUGZUMUIWPWNWNWOXQ
      IUJUKZUNULUOUPUQWEXLWFXMCAVDDBVDUPURWSXFCDWSWLWQMZNZWLNZWQNZMZXBXEXTEFZYC
      EFZWKWPUSZOZXTFZYGYCFXTYCKXSEFZYDWLEFZWQEFZYIWKXPUTZWPXRUTZWLWQVAPZXSSQYA
      EFZYBEFZYEYJYOYLWLSQYKYPYMWQSQYAYBVAPYIYFXSFZYHYNWKWLFZWPWQFZWKWPVBZIKZYQ
      WKXPVEZWPXRVEZWHWNWIIXOIVCVFZWKWPWLWQVGVHXSYFRPYGWKOZWPOZUSZYCWKWPVIUUEYA
      FZUUFYBFZUUEUUFVBZIKUUGYCFYJYRUUHYLUUBWLWKRPYKYSUUIYMUUCWQWPRPYTOZIOZUUJI
      UUAUUKUULKUUDYTIVJQWKWPVOVKVLUUEUUFYAYBVGVHVMXTYCYGVNVPWSXAXSKXBXTKABWLWQ
      VQXAXSTVRWSXCYAXDYBWMXCYAKWRAWLTVSWRXDYBKWMBWQTVTWAWBWCWD $.
  $}

  $( T raising does not change cardinal one.  (Contributed by SF,
     2-Mar-2015.) $)
  tc1c $p |- T_c 1c = 1c $=
    ( c1c ctc cncs wcel c0 csn wceq 1cnc tccl ax-mp cpw1 0ex pw1sn snel1c mp2an
    pw1eltc eqeltrri snex nceleq mp4an ) ABZCDZACDZEFZFZUADUEADUAAGUCUBHAIJHUDK
    ZUEUAELMUCUDADUFUADHELNAUDPOQUDERNUAAUEST $.

  $( T raising does not change cardinal two.  (Contributed by SF,
     2-Mar-2015.) $)
  tc2c $p |- T_c 2c = 2c $=
    ( c1c cplc ctc c2c cncs wcel wceq 1cnc tcdi mp2an tc1c addceq12i eqtri tceq
    1p1e2c ax-mp 3eqtr3i ) AABZCZRDCZDSACZUABZRAEFZUCSUBGHHAAIJUAAUAAKKLMRDGSTG
    ORDNPOQ $.

  $( Two is a finite cardinal.  (Contributed by SF, 4-Mar-2015.) $)
  2nnc $p |- 2c e. Nn $=
    ( c1c cplc c2c cnnc 1p1e2c wcel 1cnnc peano2 ax-mp eqeltrri ) AABZCDEADFKDF
    GAHIJ $.

  $( Two is a cardinal number.  (Contributed by SF, 3-Mar-2015.) $)
  2nc $p |- 2c e. NC $=
    ( c2c cnnc wcel cncs 2nnc nnnc ax-mp ) ABCADCEAFG $.

  ${
    $d A m n $.
    $( The unit power class of a finite set is finite.  (Contributed by SF,
       3-Mar-2015.) $)
    pw1fin $p |- ( A e. Fin -> ~P1 A e. Fin ) $=
      ( vn vm cv wcel cnnc wrex cpw1 ncfinraise 3anidm23 rexlimiva simpl reximi
      cfin wa syl elfin 3imtr4i ) ABDZEZBFGZAHZCDEZCFGZANEUBNEUAUCUCOZCFGZUDTUF
      BFSFETUFAACSIJKUEUCCFUCUCLMPBAQCUBQR $.
  $}

  ${
    $d A a $.  $d A m $.  $d a n $.  $d A n $.  $d m n $.
    $( Cardinal T is closed under the natural numbers.  (Contributed by SF,
       3-Mar-2015.) $)
    nntccl $p |- ( A e. Nn -> T_c A e. Nn ) $=
      ( vn vm va cnnc wcel cv wex c0 wceq sylib wa wrex cfin elfin syl ad2antrr
      cncs nnnc mpd ctc wne nulnnn eleq1 mtbiri necon2ai cpw1 wel rspcev sylibr
      n0 eleq2 pw1fin wi ad2antlr simprl pw1eltc syl2anc simprr nceleq syl22anc
      tccl simplr eqeltrd expr an32s rexlimdva ex exlimdv ) AEFZBGZAFZBHZAUAZEF
      ZVJAIUBVMVJAIAIJVJIEFUCAIEUDUEUFBAUKKVJVLVOBVJVLVOVJVLLZVKUGZCGZFZCEMZVOV
      PVQNFZVTVPVKNFZWAVPBDUHZDEMWBWCVLDAEDGAVKULUIDVKOUJVKUMPCVQOKVPVSVOCEVJVR
      EFZVLVSVOUNVJWDLZVLVSVOWEVLVSLZLZVNVREWGVNRFZVRRFZVQVNFZVSVNVRJVJWHWDWFVJ
      ARFZWHASZAVBPQWDWIVJWFVRSUOWGWKVLWJVJWKWDWFWLQWEVLVSUPAVKUQURWEVLVSUSVNVR
      VQUTVAVJWDWFVCVDVEVFVGTVHVIT $.
  $}

  ${
    $d a b $.  $d a f $.  $d a g $.  $d a t $.  $d b f $.  $d b g $.  $d b t $.
    $d f t $.  $d g t $.  $d M a $.  $d M b $.  $d M g $.  $d M t $.  $d N a $.
    $d N b $.  $d N g $.  $d N t $.
    $( Lemma for ~ ovce .  Set up stratification for the result.  (Contributed
       by SF, 6-Mar-2015.) $)
    ovcelem1 $p |- ( ( N e. V /\ M e. W ) -> { g | E. a E. b ( ~P1
       a e. N /\ ~P1 b e. M /\ g ~~ ( a ^m b ) ) } e. _V ) $=
      ( vt vf wcel wa cen wbr wex cpw1fn csset c1c cvv cop bitri cv cpw1 co w3a
      cmap cab ccnv cima cxp cins3 cfns c2nd cimage ccom ctxp csi3 cins2 ccompl
      csymdif cins4 cin crn csn elima1c otelins3 opelcnv opelxp wrex wceq brcnv
      vex brpw1fn rexbii elima risset 3bitr4i anbi12i 3bitri elrn2 elin wel wal
      wf wb wn snex opex elcompl elsymdif opelssetsn otelins2 otsnelsi3 wfn wss
      df-br brfns bitr3i opelco brimage dfrn5 eqeq2i bitr4i brsset rnex ceqsexv
      exbii sseq1 oteltxp bibi12i xchbinx exnal 3bitrri con1bii oqelins4 mapval
      df-f abeq2 ovex breq2 df-3an abbi2i cnvex imaexg mpan xpexg syl2an cnvexg
      pw1fnex ins3exg syl ssetex ins3ex fnsex 2ndex coex ins2ex 1cex mpan2 3syl
      imageex txpex si3ex symdifex imaex complex ins4ex enex inexg syl5eqelr
      inex ) CDJZBEJZKZFUAZUBZCJZGUAZUBZBJZAUAZUUNUUQUEUCZLMZUDZGNZFNZAUFOUGZCU
      HZUVFBUHZUIZUGZUJZPUJZUKPULUMZUNZUOZUPZUQZUSZQUHZURZUTZLUGZUQZUQZVAZVBZVA
      ZQUHZQUHZRUVEAUWIUUTUWIJUUNVCZUUTSZUWHJZFNUVEFUUTUWHVDUWLUVDFUWLUUQVCZUWK
      SZUWGJZGNUVDGUWKUWGVDUWOUVCGUWNUVKJZUWNUWFJZKUUPUUSKZUVBKUWOUVCUWPUWRUWQU
      VBUWPUWMUWJSZUVJJUWJUWMSUVIJZUWRUWMUWJUUTUVJAVKZVEUWMUWJUVIVFUWTUWJUVGJZU
      WMUVHJZKUWRUWJUWMUVGUVHVGUXBUUPUXCUUSHUAZUWJUVFMZHCVHUXDUUOVIZHCVHUXBUUPU
      XEUXFHCUXEUWJUXDOMUXFUXDUWJOVJUUNUXDFVKZVLTVMHUWJUVFCVNHUUOCVOVPUXDUWMUVF
      MZHBVHUXDUURVIZHBVHUXCUUSUXHUXIHBUXHUWMUXDOMUXIUXDUWMOVJUUQUXDGVKZVLTVMHU
      WMUVFBVNHUURBVOVPVQTVRUWQUXDUWNSZUWEJZHNUXDUVAVIZUUTUXDLMZKZHNUVBHUWNUWEV
      SUXLUXOHUXLUXKUWAJZUXKUWDJZKUXOUXKUWAUWDVTUXPUXMUXQUXNUXDUWSSZUVTJZIHWAZU
      UQUUNIUAZWCZWDZIWBZUXPUXMUXSUXRUVSJZWEUYDUXRUVSUXDUWSHVKZUWMUWJUUQWFZUUNW
      FZWGZWGWHUYDUYEUYEUYAVCZUXRSZUVRJZINUYCWEZINUYDWEIUXRUVRVDUYLUYMIUYLUYKUV
      LJZUYKUVQJZWDUYCUYKUVLUVQWIUYNUXTUYOUYBUYNUYJUXDSPJUXTUYJUXDUWSPUYIVEUYAU
      XDIVKZUYFWJTUYOUYJUWSSUVPJUYAUUQUUNSSUVOJZUYBUYJUXDUWSUVPUYFWKUYAUUQUUNUV
      OUYPUXJUXGWLUYAUUQSUKJZUYAUUNSUVNJZKUYAUUQWMZUYAVBZUUNWNZKUYQUYBUYRUYTUYS
      VUBUYRUYAUUQUKMUYTUYAUUQUKWOUUQUYAUYPWPWQUYSUYAUXDUVMMZUXDUUNPMZKZHNUXDVU
      AVIZUXDUUNWNZKZHNVUBHUYAUUNPUVMWRVUEVUHHVUCVUFVUDVUGVUCUXDULUYAUHZVIVUFUY
      AUXDULUYPUYFWSVUAVUIUXDUYAWTXAXBUXDUUNUYFUXGXCVQXFVUGVUBHVUAUYAUYPXDUXDVU
      AUUNXGXEVRVQUYAUUQUUNUKUVNXHUUQUUNUYAXPVPVRXIXJXFUYCIXKXLXMTUXDUWMUWJUUTU
      VTUXAXNUXMUXDUYBIUFZVIUYDUVAVUJUXDUUNUUQIUXGUXJXOXAUYBIUXDXQTVPUXQUXDUWKS
      UWCJUXDUUTSUWBJZUXNUXDUWMUWKUWCUYGWKUXDUWJUUTUWBUYHWKVUKUXDUUTUWBMUXNUXDU
      UTUWBWOUXDUUTLVJWQVRVQTXFUXNUVBHUVAUUNUUQUEXRUXDUVAUUTLXSXEVRVQUWNUVKUWFV
      TUUPUUSUVBXTVPXFTXFTYAUUMUVIRJZUVKRJZUWIRJZUUKUVGRJZUVHRJZVULUULUVFRJZUUK
      VUOOYHYBZUVFCRDYCYDVUQUULVUPVURUVFBREYCYDUVGUVHRRYEYFVULUVJRJVUMUVIRYGUVJ
      RYIYJVUMUWGRJZUWHRJZVUNVUMUWFRJVUSUWEUWAUWDUVTUVSUVRQUVLUVQPYKYLUVPUVOUKU
      VNYMPUVMYKULYNYTYOUUAUUBYPUUCYQUUDUUEUUFUWCUWBLUUGYBYPYPUUJXDUVKUWFRRUUHY
      RVUSQRJZVUTYQUWGQRRYCYRVUTVVAVUNYQUWHQRRYCYRYSYSUUI $.
  $}

  ${
    $d a b $.  $d a m $.  $d a n $.  $d b m $.  $d b n $.  $d M a $.  $d M b $.
    $d M m $.  $d m n $.  $d N a $.  $d N b $.  $d N m $.  $d N n $.  $d a g $.
    $d b g $.  $d g m $.  $d g n $.  $d M g $.  $d N g $.  $d M n $.
    $( The value of cardinal exponentiation.  (Contributed by SF,
       3-Mar-2015.) $)
    ovce $p |- ( ( N e. NC /\ M e. NC ) ->
       ( N ^c M ) = { g | E. a E. b
         ( ~P1 a e. N /\ ~P1 b e. M /\ g ~~ ( a ^m b ) ) } ) $=
      ( vn vm cncs wcel cv cpw1 co w3a wex cab cvv cce wceq eleq2 2exbidv df-ce
      cmap cen wbr ovcelem1 3anbi1d abbidv 3anbi2d ovmpt2g mpd3an3 ) CHIBHIDJZK
      ZCIZEJZKZBIZAJUKUNUBLUCUDZMZENDNZAOZPICBQLUTRABCHHDEUEFGCBHHULFJZIZUOGJZI
      ZUQMZENDNZAOUTQUMVDUQMZENDNZAOPVACRZVFVHAVIVEVGDEVIVBUMVDUQVACULSUFTUGVCB
      RZVHUSAVJVGURDEVJVDUPUMUQVCBUOSUHTUGAGFDEUAUIUJ $.
  $}

  ${
    $d a n $.  $d a t $.  $d a u $.  $d n t $.  $d n u $.  $d t u $.
    $( Lemma for ~ ceex .  Set up part of the stratification.  (Contributed by
       SF, 6-Mar-2015.) $)
    ceexlem1 $p |- ( <. { { a } } , n >. e. ( _S o. SI Pw1Fn ) <->
       ~P1 a e. n ) $=
      ( vu vt cv csn cpw1fn csi wbr csset wa wex cpw1 wceq wel wcel exbii bitri
      snex vex cop ccom brsnsi1 anbi1i 19.41v anass 3bitr2i excom breq1 ceqsexv
      anbi2d brpw1fn brssetsn anbi12i opelco df-clel 3bitr4i ) BEZFZFZCEZGHZIZV
      AAEZJIZKZCLZDEZURMZNZDAOZKZDLZUTVDUAJVBUBPVIVDPVGVAVHFZNZUSVHGIZVEKZKZCLZ
      DLZVMVGVRDLZCLVTVFWACVFVOVPKZDLZVEKWBVEKZDLWAVCWCVEDUSVAGURSUCUDWBVEDUEWD
      VRDVOVPVEUFQUGQVRCDUHRVSVLDVSVPVNVDJIZKZVLVQWFCVNVHSVOVEWEVPVAVNVDJUIUKUJ
      VPVJWEVKURVHBTULVHVDDTATUMUNRQRCUTVDJVBUODVIVDUPUQ $.
  $}

  ${
    $d a b $.  $d a g $.  $d a m $.  $d a n $.  $d a x $.  $d b g $.  $d b m $.
    $d b n $.  $d b x $.  $d g m $.  $d g n $.  $d g x $.  $d m n $.  $d a f $.
    $d b f $.  $d f g $.  $d f x $.  $d m x $.  $d n x $.
    $( Cardinal exponentiation is stratified.  (Contributed by SF,
       3-Mar-2015.) $)
    ceex $p |- ^c e. _V $=
      ( vn vm va vb vg vx cncs csset cins2 cen cv wcel wbr wex csn cop otelins2
      wa vex ins2ex vf cce cxp cvv cpw1fn ccom cins3 cfns c2nd cimage ctxp csi3
      csi csymdif c1c cima ccompl cins4 cin crn cpw1 cdif cmap co w3a cab cmpt2
      df-ce snex otelins3 ceexlem1 elimapw11c elin opex oqelins4 otsnelsi3 wceq
      3bitri bitri elrn2 wfn wss brfns brco brimage dfrn5 eqeq2i bitr4i anbi12i
      wf brsset exbii rnex sseq1 ceqsexv df-br trtxp df-f 3bitr4i elmap releqel
      bitr3i ensym ovex breq2 3anass 19.42v weq breq1 3anbi3d 2exbidv releqmpt2
      elab eqtr4i ncsex ssetex pw1fnex siex coex ins3ex fnsex 2ndex txpex si3ex
      imageex symdifex 1cex imaex complex ins4ex enex pw1ex mpt2exlem eqeltri
      inex ) UBGGUCUDUCHIHUEUMZUFZUGZIZYQIZIZIZHUGZUHHUIUJZUFZUKZULZIZUNZUOUPZU
      QZURZJIZIZUSZUTZULZURZUSZUOVAZUPZUSZUUTUPZUGUNUOUPVBZUDUBABGGCKZVAAKZLZDK
      ZVABKZLZEKZUVEUVHVCVDZJMZVEZDNCNZEVFZVGUVDEBACDVHABFGGUVCUVPUVEOZOZFKZOZU
      VFUVIPZPZPZUVBLZCNUVGUVJUVSUVLJMZVEZDNZCNZUWBUVCLUVSUVPLUWDUWGCUWCYSLZUWC
      UVALZRUVGUVJUWERZDNZRZUWDUWGUWIUVGUWJUWLUWIUVRUWAPYRLUVRUVFPYQLUVGUVRUVTU
      WAYRUVSVIZQUVRUVFUVIYQBSZVJACVKVRUWJUVHOZOZUWCPZUUSLZDNUWLDUWCUUSVLUWSUWK
      DUWSUWRUUBLZUWRUURLZRUWKUWRUUBUURVMUWTUVJUXAUWEUWTUWQUWBPUUALUWQUWAPYTLZU
      VJUWQUVRUWBUUAUVQVIQUWQUVTUWAYTUWNQUXBUWQUVIPYQLUVJUWQUVFUVIYQASZQBDVKVSV
      RUXAUWQUVRUVTPPUUQLUWPUVQUVSPZPZUUPLZUWEUWQUVRUVTUWAUUQUVFUVIUXCUWOVNVOUW
      PUVQUVSUUPUVHVIZUVEVIZFSZVPUXFUVKUXEPZUUOLZENUVKUVLVQZUVSUVKJMZRZENUWEEUX
      EUUOVTUXKUXNEUXKUXJUULLZUXJUUNLZRUXNUXJUULUUNVMUXOUXLUXPUXMUXOUVKUWPUVQPZ
      PUUKLUXLUVKUWPUVQUVSUUKUXIVOEUAUVLUUGUXQUWPUVQUXGUXHVNUAKZUVHUVEPZPUUFLZU
      VHUVEUXRWJZUXROUXQPUUGLUXRUVLLUXRUVHUHMZUXRUVEUUEMZRZUXRUVHWAZUXRUTZUVEWB
      ZRUXTUYAUYBUYEUYCUYGUVHUXRUASZWCUYCUXRUVSUUDMZUVSUVEHMZRZFNUVSUYFVQZUVSUV
      EWBZRZFNUYGFUXRUVEHUUDWDUYKUYNFUYIUYLUYJUYMUYIUVSUIUXRUPZVQUYLUXRUVSUIUYH
      UXIWEUYFUYOUVSUXRWFWGWHUVSUVEUXICSZWKWIWLUYMUYGFUYFUXRUYHWMUVSUYFUVEWNWOV
      RWIUXTUXRUXSUUFMUYDUXRUXSUUFWPUXRUVHUVEUHUUEWQXBUVHUVEUXRWRWSUXRUVHUVEUUF
      UYHDSZUYPVPUVEUVHUXRUYPUYQUYHWTWSXAVSUXPUVKUXDPUUMLZUVKUVSJMZUXMUVKUWPUXD
      UUMUXGQUYRUVKUVSPJLUYSUVKUVQUVSJUXHQUVKUVSJWPWHUVKUVSXCVRWIVSWLUXMUWEEUVL
      UVEUVHVCXDUVKUVLUVSJXEWOVRVRWIVSWLVSWIUWCYSUVAVMUWGUVGUWKRZDNUWMUWFUYTDUV
      GUVJUWEXFWLUVGUWKDXGVSWSWLCUWBUVBVLUVOUWHEUVSUXIEFXHZUVNUWFCDVUAUVMUWEUVG
      UVJUVKUVSUVLJXIXJXKXMWSXLXNGGUVCXOXOUVBUUTYSUVAYRYQHYPXPUEXQXRXSZXTTUUSUU
      TUUBUURUUAYTYQVUBTTTUUQUUPUUOUULUUNUUKUUJUUIUOUUCUUHHXPXTUUGUUFUHUUEYAHUU
      DXPUIYBYEXSYCYDTYFYGYHYIYJUUMJYKTTYOWMYDYJYOUOYGYLZYHYOVUCYHYMYN $.
  $}

  ${
    $d A g $.  $d A x $.  $d A y $.  $d g x $.  $d g y $.  $d M g $.  $d M x $.
    $d M y $.  $d N g $.  $d N x $.  $d N y $.  $d x y $.
    $( Membership in cardinal exponentiation.  Theorem XI.2.38 of [Rosser]
       p. 382.  (Contributed by SF, 6-Mar-2015.) $)
    elce $p |- ( ( N e. NC /\ M e. NC ) ->
        ( A e. ( N ^c M ) <-> E. x E. y ( ~P1 x e. N /\ ~P1 y e. M /\
          A ~~ ( x ^m y ) ) ) ) $=
      ( vg cncs wcel wa cvv cce co cv cpw1 cen wbr w3a wex wi a1i cmap 3ad2ant3
      elex brex simpld exlimivv wb ovce eleq2d wceq breq1 3anbi3d 2exbidv elabg
      cab sylan9bb ex pm5.21ndd ) EGHDGHIZCJHZCEDKLZHZAMZNEHZBMZNDHZCVCVEUALZOP
      ZQZBRARZVBUTSUSCVAUCTVJUTSUSVIUTABVHVDUTVFVHUTVGJHCVGOUDUEUBUFTUSUTVBVJUG
      USVBCVDVFFMZVGOPZQZBRARZFUOZHUTVJUSVAVOCFDEABUHUIVNVJFCJVKCUJZVMVIABVPVLV
      HVDVFVKCVGOUKULUMUNUPUQUR $.
  $}

  ${
    $d a b $.  $d a g $.  $d a m $.  $d a n $.  $d a p $.  $d b g $.  $d b m $.
    $d b n $.  $d b p $.  $d g m $.  $d g n $.  $d g p $.  $d m n $.  $d m p $.
    $d n p $.
    $( Functionhood statement for cardinal exponentiation.  (Contributed by SF,
       6-Mar-2015.) $)
    fnce $p |- ^c Fn ( NC X. NC ) $=
      ( vn vm vp va vb vg cce cncs cxp wfn cv wcel wa cpw1 cmap cen wbr w3a wex
      co cab wceq coprab copab weu cvv ovcelem1 isset sylib wmo moeq eu5 sylibr
      mpbiran2 fnoprab cmpt2 df-ce df-mpt2 eqtri fneq1i df-xp fneq2i bitri
      mpbir ) GHHIZJZAKZHLBKZHLMZCKDKZNVGLEKZNVHLFKVJVKOTPQRESDSFUAZUBZMABCUCZV
      IABUDZJZVIVMABCVIVMCSZVMCUEZVIVLUFLVQFVHVGHHDEUGCVLUHUIVRVQVMCUJCVLUKVMCU
      LUNUMUOVFVNVEJVPVEGVNGABHHVLUPVNFBADEUQABCHHVLURUSUTVEVOVNABHHVAVBVCVD $.
  $}

  ${
    $d a b $.  $d a g $.  $d b g $.  $d M a $.  $d M b $.  $d M g $.
    $( A condition for cardinal exponentiation being non-empty.  Theorem
       XI.2.42 of [Rosser] p. 382.  (Contributed by SF, 6-Mar-2015.) $)
    ce0nnul $p |- ( M e. NC -> ( ( M ^c 0c ) =/= (/) <->
       E. a ~P1 a e. M ) ) $=
      ( vg vb cncs wcel cv c0c cce co wex cpw1 cmap cen wbr w3a c0 wb wa wceq
      0cnc elce mpan2 exbidv n0 19.42vv 3anass 2exbii nulel0c ovex enrflx pw1eq
      wne 0ex pw10 syl6eq eleq1d adantl id oveq2 breqan12d anbi12d spc2ev mp2an
      biantru 3bitr4ri exbii excom bitri 3bitr4g ) AEFZCGZAHIJZFZCKBGZLAFZDGZLZ
      HFZVLVOVQMJZNOZPZDKZBKZCKZVMQUMVPBKZVKVNWDCVKHEFVNWDRUABDVLHAUBUCUDCVMUEW
      FWCCKZBKWEVPWGBVPVSWASZSZDKCKVPWHDKCKZSWGVPVPWHCDUFWBWICDVPVSWAUGUHWJVPQH
      FZVOQMJZWLNOZWJUIWLVOQMUJZUKWHWKWMSCDWLQWNUNVLWLTZVQQTZSVSWKWAWMWPVSWKRWO
      WPVRQHWPVRQLQVQQULUOUPUQURWOWPVLWLVTWLNWOUSVQQVOMUTVAVBVCVDVEVFVGWCBCVHVI
      VJ $.
  $}

  ${
    $d A a $.  $d M a $.
    $( Inference form of ~ ce0nnul .  (Contributed by SF, 9-Mar-2015.) $)
    ce0nnuli $p |- ( ( M e. NC /\ ~P1 A e. M ) -> ( M ^c 0c ) =/= (/) ) $=
      ( va cncs wcel cpw1 wa c0c cce co c0 wne cv wex cvv elex sylib wceq pw1eq
      pw1exb eleq1d spcegv mpcom adantl wb ce0nnul adantr mpbird ) BDEZAFZBEZGB
      HIJKLZCMZFZBEZCNZUKUPUIAOEZUKUPUKUJOEUQUJBPATQUOUKCAOUMARUNUJBUMASUAUBUCU
      DUIULUPUEUKBCUFUGUH $.
  $}

  ${
    $d a b $.  $d a g $.  $d a p $.  $d a q $.  $d b g $.  $d b p $.  $d b q $.
    $d g p $.  $d g q $.  $d M a $.  $d M b $.  $d M g $.  $d N a $.  $d N b $.
    $d N g $.  $d p q $.
    $( The sum of two cardinals raised to ` 0c ` is non-empty iff each addend
       raised to ` 0c ` is non-empty.  Theorem XI.2.43 of [Rosser] p. 383.
       (Contributed by SF, 9-Mar-2015.) $)
    ce0addcnnul $p |- ( ( M e. NC /\ N e. NC ) ->
       ( ( ( M +c N ) ^c 0c ) =/= (/) <->
         ( ( M ^c 0c ) =/= (/) /\ ( N ^c 0c ) =/= (/) ) ) ) $=
      ( vb vg va vp vq cncs wcel wa c0c cce co c0 wne wceq cpw1 wex cnc cvv cin
      cplc cv cun wrex wb ncaddccl ce0nnul eladdc exbii syl6bb ncseqnc bi2anan9
      syl wi biimpar wss ssun1 id syl5sseqr ssun2 jca sspw1 anbi12i eeanv sylib
      vex bitr4i pw1eq eleq1d pw1ex ncid speiv ncelncs mp2b mpbir pm3.2i oveq1d
      weq nceq neeq1d mpbiri ad2ant2l a1d exlimivv impcom oveq1 syl5ibr exlimdv
      rexlimdvva sylbid syl6bbr csn cxp cen wbr vvex xpsnen mpbi snex xpex eqnc
      enpw1 0ex addceq12i oveq1i pw1un vn0 xpnedisj ax-mp pw1in 3eqtr3i eladdci
      pw10 mp3an eqeltri unex spcev ncelncsi eqnetrri addceq12 syl6bir exlimdvv
      mp2an impbid ) AHIZBHIZJZABUBZKLMZNOZAKLMZNOZBKLMZNOZJZYHYKCUCZDUCZUANPZE
      UCZQZYQYRUDZPZJZDBUECAUEZERZYPYHYIHIZYKUUFUFABUGUUGYKUUAYIIZERUUFYIEUHUUH
      UUEEUUAABCDUIUJUKUNYHUUEYPEYHUUDYPCDABYHYQAIZYRBIZJZJAYQSZPZBYRSZPZJZUUDY
      PUOYHUUPUUKYFUUMUUIYGUUOUUJAYQULBYRULUMUPUUDYPUUPUULKLMZNOZUUNKLMZNOZJZUU
      CYSUVAUUCFUCZYTUQZYQUVBQZPZJZGUCZYTUQZYRUVGQZPZJZJZGRFRZYSUVAUOZUUCYQUUAU
      QZYRUUAUQZJZUVMUUCUVOUVPUUCUUBYQUUAYQYRURUUCUSZUTUUCUUBYRUUAYRYQVAUVRUTVB
      UVQUVFFRZUVKGRZJUVMUVOUVSUVPUVTFYQYTCVGZVCGYRYTDVGZVCVDUVFUVKFGVEVHVFUVLU
      VNFGUVLUVAYSUVEUVJUVAUVCUVHUVEUVJJUVAUVDSZKLMZNOZUVISZKLMZNOZJUWEUWHUWEUU
      AUWCIZERZUWIUVDUWCIEFEFVSUUAUVDUWCYTUVBVIVJUVDUVBFVGVKZVLVMUVDTIUWCHIUWEU
      WJUFUWKUVDTVNUWCEUHVOVPUWHUUAUWFIZERZUWLUVIUWFIEGEGVSUUAUVIUWFYTUVGVIVJUV
      IUVGGVGVKZVLVMUVITIUWFHIUWHUWMUFUWNUVITVNUWFEUHVOVPVQUVEUURUWEUVJUUTUWHUV
      EUUQUWDNUVEUULUWCKLYQUVDVTVRWAUVJUUSUWGNUVJUUNUWFKLYRUVIVTVRWAUMWBWCWDWEU
      NWFUUMYMUURUUOYOUUTUUMYLUUQNAUULKLWGWAUUOYNUUSNBUUNKLWGWAUMWHUNWJWIWKYHYP
      YQQZAIZYRQZBIZJZDRCRZYKYHYPUWPCRZUWRDRZJUWTYFYMUXAYGYOUXBACUHBDUHUMUWPUWR
      CDVEWLYHUWSYKCDYHUWSAUWOSZPZBUWQSZPZJZYKYFUXDUWPYGUXFUWRAUWOULBUWQULUMUXG
      YKUXCUXEUBZKLMZNOYQTWMZWNZQZSZYRNWMZWNZQZSZUBZKLMZUXINUXRUXHKLUXMUXCUXQUX
      EUXMUXCPUXLUWOWOWPZUXKYQWOWPUXTYQTUWAWQWRUXKYQXCWSUXLUWOUXKYQUXJUWATWTXAZ
      VKZXBVPUXQUXEPUXPUWQWOWPZUXOYRWOWPUYCYRNUWBXDWRUXOYRXCWSUXPUWQUXOYRUXNUWB
      NWTXAZVKZXBVPXEXFUXSNOZUUAUXRIZERZUXKUXOUDZQZUXRIZUYHUYJUXLUXPUDZUXRUXKUX
      OXGUXLUXMIUXPUXQIUXLUXPUAZNPUYLUXRIUXLUYBVLUXPUYEVLUXKUXOUAZQZNQZUYMNUYNN
      PUYOUYPPYQYRTNWQXHXIUYNNVIXJUXKUXOXKXNXLUXLUXPUXMUXQXMXOXPUYGUYKEUYIUXKUX
      OUYAUYDXQYTUYIPUUAUYJUXRYTUYIVIVJXRXJUXRHIZUYFUYHUFUXMHIUXQHIUYQUXLUYBXSU
      XPUYEXSUXMUXQUGYDUXREUHXJVPXTUXGYJUXINUXGYIUXHKLABUXCUXEYAVRWAWBYBYCWKYE
      $.
  $}

  ${
    $d m t $.  $d m n $.  $d N m $.
    $( A natural raised to cardinal zero is non-empty.  Theorem XI.2.44 of
       [Rosser] p. 383.  (Contributed by SF, 9-Mar-2015.) $)
    ce0nn $p |- ( N e. Nn -> ( N ^c 0c ) =/= (/) ) $=
      ( vm vn vt cv c0c cce co wne c1c c1st c2nd csn cima wcel wbr oveq1 neeq1d
      c0 wceq cplc ccnv cres cfullfun ccompl cab cvv wn vex elcompl cop wrex wa
      brres eliniseg anbi2i 0cex 3bitri rexbii elima risset 3bitr4i brfullfunop
      necon3bbii bitri abbi2i 1stex 2ndex cnvex snex imaex resex ceex fullfunex
      op1st2nd complex eqeltrri cncs cpw1 0cnc pw10 nulel0c ce0nnuli mp2an cnnc
      weq eqeltri wi nnnc 1cnc 0ex pw1sn snel1c jctr wb ce0addcnnul syl5ibr syl
      mpan2 finds ) BEZFGHZSIZFFGHZSIZCEZFGHZSIZXFJUAZFGHZSIZAFGHZSIBCAKLUBZFMZ
      NZUCZGUDZUBZSMZNZNZUEZXCBUFUGXCBYBXAYBOXAYAOZUHXCXAYABUIZUJYCXBSYCXAFUKZX
      TOZYESXQPXBSTDEZXAXPPZDXTULYGYETZDXTULYCYFYHYIDXTYHYGXAKPZYGXOOZUMYJYGFLP
      ZUMYIYGXAKXOUNYKYLYJLFYGUOUPXAFYGYDUQVOURUSDXAXPXTUTDYEXTVAVBXQSYEUOXAFSG
      YDUQVCURVDVEVFYAXPXTKXOVGXMXNLVHVIFVJVKVLXRXSXQGVMVNVISVJZVKVKVPVQXAFTXBX
      DSXAFFGQRBCWFXBXGSXAXFFGQRXAXITXBXJSXAXIFGQRXAATXBXLSXAAFGQRFVROSVSZFOXEV
      TYNSFWAWBWGSFWCWDXFWEOXFVROZXHXKWHXFWIXHXKYOXHJFGHSIZUMZXHYPJVROZXSVSZJOY
      PWJYSXSMJSWKWLXSYMWMWGXSJWCWDWNYOYRXKYQWOWJXFJWPWSWQWRWT $.
  $}

  ${
    $d A a $.  $d a b $.  $d A b $.  $d a g $.  $d A g $.  $d A p $.  $d A t $.
    $d B a $.  $d B b $.  $d b g $.  $d B g $.  $d B p $.  $d B t $.  $d g p $.
    $d g t $.  $d p t $.
    cenc.1 $e |- A e. _V $.
    cenc.2 $e |- B e. _V $.
    $( Cardinal exponentiation in terms of cardinality.  Theorem XI.2.39 of
       [Rosser] p. 382.  (Contributed by SF, 6-Mar-2015.) $)
    cenc $p |- ( Nc ~P1 A ^c Nc ~P1 B ) = Nc ( A ^m B ) $=
      ( vg vp vt va vb cpw1 cnc co cmap cv wcel cen wbr w3a wex wb cce wa enpw1
      elnc bitr4i enmap1 enmap2 entr syl2an syl2anb ancoms sylan 3impa exlimivv
      cncs pw1ex ncelncsi elce mp2an ssriv ncid wceq pw1eq eleq1d adantr adantl
      3imtr4i oveq12 breq2d 3anbi123d spc2ev mp3an12 eqssi ) AJZKZBJZKZUALZABML
      ZKZEVRVTFNZJZVOOZGNZJZVQOZENZWAWDMLZPQZRZGSFSZWGVSPQZWGVROZWGVTOZWJWLFGWC
      WFWIWLWCWFUBWHVSPQZWIWLWCWAAPQZWDBPQZWOWFWCWBVNPQWPWBVNUDWAAUCUEWFWEVPPQW
      QWEVPUDWDBUCUEWPWHAWDMLZPQWRVSPQWOWQWAAWDUFWDBAUGWHWRVSUHUIUJWIWOWLWGWHVS
      UHUKULUMUNVOUOOZVQUOOZWMWKTVNACUPZUQZVPBDUPZUQZFGWGVQVOURUSWGVSUDZVGUTEVT
      VRWLHNZJZVOOZINZJZVQOZWGXFXIMLZPQZRZISHSZWNWMVNVOOZVPVQOZWLXOVNXAVAVPXCVA
      XNXPXQWLRHIABCDXFAVBZXIBVBZUBZXHXPXKXQXMWLXRXHXPTXSXRXGVNVOXFAVCVDVEXSXKX
      QTXRXSXJVPVQXIBVCVDVFXTXLVSWGPXFAXIBMVHVIVJVKVLXEWSWTWMXOTXBXDHIWGVQVOURU
      SVGUTVM $.
  $}

  ${
    $d a b $.  $d a g $.  $d b g $.  $d M a $.  $d M b $.  $d M g $.  $d N a $.
    $d N b $.  $d N g $.
    $( Cardinal exponentiation is non-empty iff the two sets raised to zero are
       non-empty.  Theorem XI.2.47 of [Rosser] p. 384.  (Contributed by SF,
       9-Mar-2015.) $)
    ce0nnulb $p |- ( ( N e. NC /\ M e. NC ) -> ( ( ( N ^c 0c ) =/= (/) /\ ( M
        ^c 0c ) =/= (/) ) <-> ( N ^c M ) =/= (/) ) ) $=
      ( va vb vg cncs wcel wa c0c cce co wne cpw1 wex ce0nnul bi2anan9 cnc wceq
      c0 cv eeanv syl6bbr ncseqnc cmap cenc ovex ncid ne0i ax-mp eqnetri oveq12
      vex neeq1d mpbiri syl6bir exlimdvv cen wbr w3a elce 3simpa 2eximi exlimdv
      n0 syl6bi syl5bi impbid bitrd ) BFGZAFGZHZBIJKSLZAIJKSLZHZCTZMZBGZDTZMZAG
      ZHZDNCNZBAJKZSLZVKVNVQCNZVTDNZHWBVIVLWEVJVMWFBCOADOPVQVTCDUAUBVKWBWDVKWAW
      DCDVKWABVPQZRZAVSQZRZHZWDVIWHVQVJWJVTBVPUCAVSUCPWKWDWGWIJKZSLWLVOVRUDKZQZ
      SVOVRCULDULUEWMWNGWNSLWMVOVRUDUFUGWNWMUHUIUJWKWCWLSBWGAWIJUKUMUNUOUPWDETZ
      WCGZENVKWBEWCVDVKWPWBEVKWPVQVTWOWMUQURZUSZDNCNWBCDWOABUTWRWACDVQVTWQVAVBV
      EVCVFVGVH $.
  $}

  ${
    $d a b $.  $d M a $.  $d M b $.  $d N a $.  $d N b $.
    $( Biconditional closure law for cardinal exponentiation.  Theorem XI.2.48
       of [Rosser] p. 384.  (Contributed by SF, 9-Mar-2015.) $)
    ceclb $p |- ( ( M e. NC /\ N e. NC ) ->
       ( ( ( M ^c 0c ) =/= (/) /\ ( N ^c 0c ) =/= (/) ) <-> ( M ^c N ) e. NC )
        ) $=
      ( va vb cncs wcel wa c0c cce co c0 wne cpw1 wex ce0nnul bi2anan9 cnc wceq
      cv ncseqnc syl6bbr oveq12 cmap vex cenc ncelncsi eqeltri syl6eqel syl6bir
      eeanv ovex exlimdvv sylbid nulnnc mtbiri necon2ai ce0nnulb syl5ibr impbid
      eleq1 ) AEFZBEFZGZAHIJKLZBHIJKLZGZABIJZEFZVCVFCSZMZAFZDSZMZBFZGZDNCNZVHVC
      VFVKCNZVNDNZGVPVAVDVQVBVEVRACOBDOPVKVNCDUJUAVCVOVHCDVCVOAVJQZRZBVMQZRZGZV
      HVAVTVKVBWBVNAVJTBVMTPWCVGVSWAIJZEAVSBWAIUBWDVIVLUCJZQEVIVLCUDDUDUEWEVIVL
      UCUKUFUGUHUIULUMVHVFVCVGKLVHVGKVGKRVHKEFUNVGKEUTUOUPBAUQURUS $.
  $}

  $( Cardinal exponentiation to zero is a cardinal iff it is non-empty.
     Corollary 1 of theorem XI.2.38 of [Rosser] p. 384.  (Contributed by SF,
     13-Mar-2015.) $)
  ce0nulnc $p |- ( M e. NC -> ( ( M ^c 0c ) =/= (/) <-> ( M ^c 0c ) e. NC ) )
    $=
    ( vm c0c cce co c0 wne wa cncs wcel cv cpw1 wex nulel0c wceq pw1eq ax-mp wb
    0ex 0cnc pw10 syl6eq eleq1d spcev ce0nnul mpbir biantru ceclb mpan2 syl5bb
    ) ACDEZFGZULCCDEFGZHZAIJZUKIJZUMULUMBKZLZCJZBMZFCJZUTNUSVABFSUQFOZURFCVBURF
    LFUQFPUAUBUCUDQCIJZUMUTRTCBUEQUFUGUOVCUNUPRTACUHUIUJ $.

  ${
    $d M a $.
    $( If cardinal exponentiation to zero is a cardinal, then the base is the
       cardinality of some unit power class.  Corollary 2 of theorem XI.2.48 of
       [Rosser] p. 384.  (Contributed by SF, 9-Mar-2015.) $)
    ce0ncpw1 $p |- ( ( M e. NC /\ ( M ^c 0c ) e. NC ) -> E. a M = Nc ~P1 a ) $=
      ( cncs wcel c0c cce co cv cpw1 cnc wceq wex c0 wne nulnnc mtbiri necon2ai
      eleq1 ce0nnul ncseqnc exbidv bitr4d syl5ib imp ) ACDZAEFGZCDZABHIZJKZBLZU
      GUFMNZUEUJUGUFMUFMKUGMCDOUFMCRPQUEUKUHADZBLUJABSUEUIULBAUHTUAUBUCUD $.
  $}

  $( Closure law for cardinal exponentiation.  Corollary 3 of theorem XI.2.48
     of [Rosser] p. 384.  (Contributed by SF, 9-Mar-2015.) $)
  cecl $p |- ( ( ( M e. NC /\ N e. NC ) /\
          ( ( M ^c 0c ) e. NC /\ ( N ^c 0c ) e. NC ) ) -> ( M ^c N ) e. NC ) $=
    ( cncs wcel wa c0c cce co c0 wne nulnnc eleq1 mtbiri necon2ai anim12i ceclb
    wceq syl5ib imp ) ACDBCDEZAFGHZCDZBFGHZCDZEZABGHCDZUEUAIJZUCIJZETUFUBUGUDUH
    UBUAIUAIQUBICDZKUAICLMNUDUCIUCIQUDUIKUCICLMNOABPRS $.

  $( Reverse closure law for cardinal exponentiation.  (Contributed by SF,
     13-Mar-2015.) $)
  ceclr $p |- ( ( M e. NC /\ N e. NC /\ ( M ^c N ) e. NC ) ->
     ( ( M ^c 0c ) e. NC /\ ( N ^c 0c ) e. NC ) ) $=
    ( cncs cce co w3a c0c c0 wne wa ceclb biimp3ar wb ce0nulnc bi2anan9 3adant3
    wcel mpbid ) ACQZBCQZABDECQZFAGDEZHIZBGDEZHIZJZUBCQZUDCQZJZSTUFUAABKLSTUFUI
    MUASUCUGTUEUHANBNOPR $.

  ${
    $d m n $.  $d m p $.  $d m x $.  $d m y $.  $d n p $.  $d n x $.  $d n y $.
    $d p x $.  $d p y $.  $d x y $.
    $( Full functionhood statement for cardinal exponentiation.  (Contributed
       by SF, 13-Mar-2015.) $)
    fce $p |- ^c : ( NC X. NC ) --> ( NC u. { (/) } ) $=
      ( vp vn vm vx vy cncs c0 cce fnce cv cfv wcel wral co wa wne wex wo bitri
      wceq cxp csn cun wf wfn crn wss wn wi df-ne c0c n0 cpw1 cmap cen wbr elce
      w3a 3simpa ce0nnuli ex im2anan9 syl5 exlimdvv sylbid exlimdv syl5bi ceclb
      sylibd syl5bir elun ovex elsnc orbi2i orcom df-or sylibr rgen2a cop fveq2
      df-ov syl6eqr eleq1d ralxp mpbir fnfvrnss mp2an df-f mpbir2an ) FFUAZFGUB
      ZUCZHUDHWJUEZHUFWLUGZIWMAJZHKZWLLZAWJMZWNIWRBJZCJZHNZWLLZCFMBFMXBBCFWSFLZ
      WTFLZOZXAGTZUHZXAFLZUIZXBXGXAGPZXEXHXAGUJXEXJWSUKHNGPZWTUKHNGPZOZXHXJWOXA
      LZAQXEXMAXAULXEXNXMAXEXNDJZUMWSLZEJZUMWTLZWOXOXQUNNUOUPZURZEQDQXMDEWOWTWS
      UQXEXTXMDEXTXPXROXEXMXPXRXSUSXCXPXKXDXRXLXCXPXKXOWSUTVAXDXRXLXQWTUTVAVBVC
      VDVEVFVGWSWTVHVIVJXBXHXAWKLZRZXIXAFWKVKYBXHXFRZXIYAXFXHXAGWSWTHVLVMVNYCXF
      XHRXIXHXFVOXFXHVPSSSVQVRWQXBABCFFWOWSWTVSZTZWPXAWLYEWPYDHKXAWOYDHVTWSWTHW
      AWBWCWDWEAWJWLHWFWGWJWLHWHWI $.
  $}

  $( Closure law for cardinal exponentiation when the base is a natural.
     (Contributed by SF, 13-Mar-2015.) $)
  ceclnn1 $p |- ( ( M e. Nn /\ N e. NC /\ ( N ^c 0c ) e. NC ) ->
     ( M ^c N ) e. NC ) $=
    ( cnnc wcel cncs c0c cce co w3a 3ad2ant1 simp2 c0 wne ce0nn wb ce0nulnc syl
    nnnc mpbid simp3 cecl syl22anc ) ACDZBEDZBFGHEDZIAEDZUDAFGHZEDZUEABGHEDUCUD
    UFUEARZJUCUDUEKUCUDUHUEUCUGLMZUHANUCUFUJUHOUIAPQSJUCUDUETABUAUB $.

  ${
    $d M a $.
    $( The value of non-empty cardinal exponentiation.  Theorem XI.2.49 of
       [Rosser] p. 385.  (Contributed by SF, 9-Mar-2015.) $)
    ce0 $p |- ( ( M e. NC /\ ( M ^c 0c ) e. NC ) -> ( M ^c 0c ) = 1c ) $=
      ( va cncs wcel c0c cce co wa c0 csn cnc c1c wceq cv cpw1 wex ce0ncpw1 vex
      cmap 0ex map0e ovex ncid eqeltrri cenc eleqtrri df0c2 nceqi eqtr4i oveq12
      pw10 mpan2 syl5eleqr exlimiv syl wb ncseqnc adantl mpbird df1c3 syl6eqr )
      ACDZAEFGZCDZHZVCIJZKZLVEVCVGMZVFVCDZVEABNZOKZMZBPVIABQVLVIBVLVFVKIOZKZFGZ
      VCVFVJISGZKZVOVPVFVQVJBRZUAVPVJISUBUCUDVJIVRTUEUFVLEVNMVCVOMEIKVNUGVMIUKU
      HUIAVKEVNFUJULUMUNUOVDVHVIUPVBVCVFUQURUSITUTVA $.
  $}

  ${
    $d A t $.  $d A x $.  $d A y $.  $d t x $.  $d t y $.  $d x y $.
    $( Membership in cardinal two.  (Contributed by SF, 3-Mar-2015.) $)
    el2c $p |- ( A e. 2c <-> E. x E. y ( x =/= y /\ A = { x , y } ) ) $=
      ( vt c1c wcel cv csn wceq cun ccompl wa wex c2c df-rex anbi1i exbii bitri
      wrex 3bitri cplc wne elsuc el1c 19.41v bitr4i excom 1p1e2c eleq2i compleq
      cpr snex uneq1 syl6eqr eqeq2d rexeqbidv ceqsexv wn weq elsn equcom notbii
      df-pr vex elcompl df-ne 3bitr4i 3bitr3i ) CEEUAZFZDGZAGZHZIZCVKBGZHZJZIZB
      VKKZSZLZDMZAMZCNFVLVOUBZCVLVOUKZIZLZBMZAMVJVTDESVKEFZVTLZDMZWCBCEDUCVTDEO
      WKWAAMZDMWCWJWLDWJVNAMZVTLWLWIWMVTAVKUDPVNVTAUEUFQWADAUGRTVINCUHUIWBWHAWB
      WFBVMKZSZVOWNFZWFLZBMWHVTWODVMVLULVNVRWFBVSWNVKVMUJVNVQWECVNVQVMVPJWEVKVM
      VPUMVLVOVCUNUOUPUQWFBWNOWQWGBWPWDWFVOVMFZURABUSZURWPWDWRWSWRBAUSWSBVLUTBA
      VARVBVOVMBVDVEVLVOVFVGPQTQVH $.
  $}

  ${
    $d A x $.  $d A y $.  $d x y $.
    ce2.1 $e |- A e. _V $.
    $( The value of base two cardinal exponentiation.  Theorem XI.2.70 of
       [Rosser] p. 389.  (Contributed by SF, 3-Mar-2015.) $)
    ce2 $p |- ( M = Nc ~P1 A -> ( 2c ^c M ) = Nc ~P A ) $=
      ( vx vy cpw1 cnc wceq c2c cce co cvv c0 cpr wcel csn cun eqtri wne mpbir
      cpw oveq2 cmap df-pr pw1eq ax-mp pw1un pw1sn 0ex uneq12i eqtr4i cv wa wex
      vvex sneqb necon3bii eqid snex neeq1 neeq2 sylan9bb preq12 eqeq2d anbi12d
      vn0 spc2ev el2c eqeltri cncs wb 2nc ncseqnc oveq1i prex cenc cen enprmapc
      mp2an wbr ovex eqnc syl6eq ) BAFGZHIBJKIWDJKZAUAZGZBWDIJUBWELMNZAUCKZGZWG
      WEWHFZGZWDJKWJIWLWDJIWLHZWKIOZWKLPZMPZNZIWKWOFZWPFZQZWQWKWOWPQZFZWTWHXAHW
      KXBHLMUDWHXAUEUFWOWPUGRWQWOPZWPPZQWTWOWPUDWRXCWSXDLUOUHMUIUHUJUKUKWQIODUL
      ZEULZSZWQXEXFNZHZUMZEUNDUNZWOWPSZWQWQHZXKXLLMSZVFWOWPLMLMUOUPUQTWQURXJXLX
      MUMDEWOWPLUSMUSXEWOHZXFWPHZUMZXGXLXIXMXOXGWOXFSXPXLXEWOXFUTXFWPWOVAVBXQXH
      WQWQXEXFWOWPVCVDVEVGVSDEWQVHTVIIVJOWMWNVKVLIWKVMUFTVNWHALMVOCVPRWJWGHWIWF
      VQVTZXNWHWHHXRVFWHURLMAWHUOUICVRVSWIWFWHAUCWAWBTRWC $.
  $}

  $( Compute an exponent of the cardinality of one.  Theorem 4.3 of [Specker]
     p. 973.  (Contributed by SF, 4-Mar-2015.) $)
  ce2nc1 $p |- ( 2c ^c Nc 1c ) = Nc _V $=
    ( c2c c1c cnc cce co cvv cpw cpw1 wceq df1c2 nceqi vvex ce2 ax-mp pwv eqtri
    ) ABCZDEZFGZCZFCQFHZCIRTIBUAJKFQLMNSFOKP $.

  $( Compute an exponent of the cardinality of the unit power class of one.
     Theorem 4.4 of [Specker] p. 973.  (Contributed by SF, 4-Mar-2015.) $)
  ce2ncpw11c $p |- ( 2c ^c Nc ~P1 1c ) = Nc 1c $=
    ( c2c c1c cpw1 cnc cce co cpw wceq eqid 1cex ce2 ax-mp ncpw1c eqtri ) ABCDZ
    EFZBGDZBDOOHPQHOIBOJKLMN $.

  ${
    $d A x y $.  $d B x y $.
    nclec.1 $e |- A e. _V $.
    nclec.2 $e |- B e. _V $.
    $( A relationship between cardinality, subset, and cardinal less than.
       (Contributed by SF, 17-Mar-2015.) $)
    nclec $p |- ( A C_ B -> Nc A <_c Nc B ) $=
      ( vx vy wss cnc wrex clec wbr wcel ncid sseq1 sseq2 rspc2ev mp3an12 brlec
      cv ncex sylibr ) ABGZESZFSZGZFBHZIEAHZIZUGUFJKAUGLBUFLUBUHACMBDMUEUBAUDGE
      FABUGUFUCAUDNUDBAOPQEFUGUFATBTRUA $.
  $}

  ${
    $d A x y $.
    $( A non-empty set is less than or equal to itself.  Theorem XI.2.14 of
       [Rosser] p. 375.  (Contributed by SF, 4-Mar-2015.) $)
    lecidg $p |- ( ( A e. V /\ A =/= (/) ) -> A <_c A ) $=
      ( vx vy wcel c0 wne wa clec wbr cv wss wrex ssid sseq2 rspcev mpan2 ancli
      wex eximi n0 df-rex 3imtr4i adantl wb brlecg anidms adantr mpbird ) ABEZA
      FGZHAAIJZCKZDKZLZDAMZCAMZUKUQUJUMAEZCSURUPHZCSUKUQURUSCURUPURUMUMLZUPUMNU
      OUTDUMAUNUMUMOPQRTCAUAUPCAUBUCUDUJULUQUEZUKUJVACDAABBUFUGUHUI $.
  $}

  $( A cardinal is less than or equal to itself.  Corollary 1 of theorem
     XI.2.14 of [Rosser] p. 376.  (Contributed by SF, 4-Mar-2015.) $)
  nclecid $p |- ( A e. NC -> A <_c A ) $=
    ( cncs wcel c0 wne clec wbr wceq nulnnc eleq1 mtbiri necon2ai lecidg mpdan
    ) ABCZADEAAFGOADADHODBCIADBJKLABMN $.

  ${
    $d A x $.  $d A y $.  $d x y $.
    $( Cardinal zero is a minimal element of cardinal less than or equal.
       Theorem XI.2.15 of [Rosser] p. 376.  (Contributed by SF, 4-Mar-2015.) $)
    lec0cg $p |- ( ( A e. V /\ A =/= (/) ) -> 0c <_c A ) $=
      ( vx vy wcel c0 wne wa c0c clec wbr cv wss wrex wex 0ss jctr wceq wb cvv
      eximi df-rex 3imtr4i csn df-0c rexeq ax-mp 0ex sseq1 rexbidv rexsn sylibr
      n0 bitri adantl 0cex brlecg mpan adantr mpbird ) ABEZAFGZHIAJKZCLZDLZMZDA
      NZCINZVBVHVAVBFVEMZDANZVHVEAEZDOVKVIHZDOVBVJVKVLDVKVIVEPQUADAUMVIDAUBUCVH
      VGCFUDZNZVJIVMRVHVNSUEVGCIVMUFUGVGVJCFUHVDFRVFVIDAVDFVEUIUJUKUNULUOVAVCVH
      SZVBITEVAVOUPCDIATBUQURUSUT $.

    $( The cardinality of ` _V ` is a maximal element of cardinal less than or
       equal.  Theorem XI.2.16 of [Rosser] p. 376.  (Contributed by SF,
       4-Mar-2015.) $)
    lecncvg $p |- ( ( A e. V /\ A =/= (/) ) -> A <_c Nc _V ) $=
      ( vx vy wcel c0 wne wa cvv cnc clec wbr wss wrex wex vvex ncid ssv sseq2
      cv rspcev mp2an jctr eximi n0 df-rex 3imtr4i adantl wb ncex brlecg adantr
      mpan2 mpbird ) ABEZAFGZHAIJZKLZCTZDTZMZDUQNZCANZUPVCUOUSAEZCOVDVBHZCOUPVC
      VDVECVDVBIUQEUSIMZVBIPQUSRVAVFDIUQUTIUSSUAUBUCUDCAUEVBCAUFUGUHUOURVCUIZUP
      UOUQIEVGIUJCDAUQBIUKUMULUN $.
  $}

  $( Cardinal zero is a minimal element of cardinal less than or equal.  Lemma
     1 of theorem XI.2.15 of [Rosser] p. 376.  (Contributed by SF,
     12-Mar-2015.) $)
  le0nc $p |- ( A e. NC -> 0c <_c A ) $=
    ( cncs wcel wne c0c clec wbr wceq nulnnc eleq1 mtbiri necon2ai lec0cg mpdan
    c0 ) ABCZAODEAFGPAOAOHPOBCIAOBJKLABMN $.

  $( The cardinality of a unit power class is not equal to the cardinality of
     the power class.  Theorem XI.2.4 of [Rosser] p. 372.  (Contributed by SF,
     10-Mar-2015.) $)
  ncpw1pwneg $p |- ( A e. V -> Nc ~P1 A =/= Nc ~P A ) $=
    ( wcel cpw1 cnc cpw wne cen wbr wn nenpw1pw wceq wb pw1exg eqncg necon3abid
    cvv syl mpbiri ) ABCZADZEZAFZEZGUAUCHIZJAKTUEUBUDTUAQCUBUDLUEMABNUAUCQORPS
    $.

  ${
    $d A x $.  $d A y $.  $d x y $.
    $( The cardinality of a unit power class is strictly less than the
       cardinality of the power class.  Theorem XI.2.17 of [Rosser] p. 376.
       (Contributed by SF, 10-Mar-2015.) $)
    ltcpw1pwg $p |- ( A e. V -> Nc ~P1 A <c Nc ~P A ) $=
      ( vx vy wcel cpw1 cnc cpw clec wbr wne cltc wss wrex cvv pw1exg ncidg syl
      cv ncex pwexg pw1sspw sseq1 sseq2 rspc2ev mp3an3 syl2anc brlec ncpw1pwneg
      sylibr brltc sylanbrc ) ABEZAFZGZAHZGZIJZUOUQKUOUQLJUMCSZDSZMZDUQNCUONZUR
      UMUNUOEZUPUQEZVBUMUNOEVCABPUNOQRUMUPOEVDABUAUPOQRVCVDUNUPMZVBAUBVAVEUNUTM
      CDUNUPUOUQUSUNUTUCUTUPUNUDUEUFUGCDUOUQUNTUPTUHUJABUIUOUQUKUL $.
  $}

  ${
    sbthlem1.1 $e |- R e. _V $.
    sbthlem1.2 $e |- X e. _V $.
    sbthlem1.3 $e |- G = Clos1 ( ( X \ ran R ) , R ) $.
    sbthlem1.4 $e |- A = ( X i^i G ) $.
    sbthlem1.5 $e |- B = ( X \ G ) $.
    sbthlem1.6 $e |- C = ( ran R i^i G ) $.
    sbthlem1.7 $e |- D = ( ran R \ G ) $.
    $( Lemma for ~ sbth .  Set up similarity with a range.  Theorem XI.1.14 of
       [Rosser] p. 350.  (Contributed by SF, 11-Mar-2015.) $)
    sbthlem1 $p |- ( ( ( Fun R /\ Fun `' R ) /\
       ( X C_ dom R /\ ran R C_ X ) ) -> ran R ~~ X ) $=
      ( wa wss cun cen cin c0 wfun ccnv cdm crn wbr cima cres wf1o wf1 wf df-f1
      wfn ssid df-f mpbiran2 funfn bitr4i anbi1i bitri inss1 sstr mpan syl5eqss
      biimpri adantr f1ores syl2an cdif cclos1 rnex difex clos1ex eqeltri resex
      cvv inex f1oen clos1baseima ineq2i indi disjdif uneq1i uncom eqtri 3eqtri
      syl un0 inss2 wceq imassrn simprr syl5ss difss jctil sylib sseqin2 syl5eq
      a1i unss imaeq2d sseqtr4d ssun2 sseqtr4i sseq1d mpbiri syl6sseqr breqtrrd
      ssin eqssd enrflx ccompl difsscompl clos1base sscon34 mpbi compleqi iinun
      df-dif dblcompl uneq2i sseqtri sslin ax-mp eqsstri incompl sstri syl5breq
      3sstr4g ssdif ineq12i inindif unen mpanr12 syl2anc ensym uneq12i inundif
      3brtr3g ) EUAZEUBUAZOZGEUCZPZEUDZGPZOZOZCDQZABQZUUDGRUUGUUIUUHRUEZUUHUUIR
      UEUUGACRUEZBDRUEZUUJUUGAEAUFZCRUUGAUUMEAUGZUHZAUUMRUEUUAUUBUUDEUIZAUUBPZU
      UOUUFUUPUUAUUPUUBUUDEUJZYTOUUAUUBUUDEUKUURYSYTUUREUUBULZYSUURUUSUUDUUDPUU
      DUMUUBUUDEUNUOEUPUQURUSVDUUCUUQUUEUUCAGFSZUUBKUUTGPUUCUUTUUBPGFUTUUTGUUBV
      AVBVCVEUUBUUDAEVFVGAUUMUUNEAHAUUTVOKGFIFGUUDVHZEVIVOJEUVAGUUDIEHVJVKZHVLV
      MZVPVMVNVQWFUUGCUUMUUGCEFUFZUUMUUGCUUDUVDSZUVDCUUDFSZUUDUVAUVDQZSZUVEMFUV
      GUUDFEUVAUVBHJVRZVSUVHUUDUVASZUVEQTUVEQZUVEUUDUVAUVDVTUVJTUVEUUDGWAWBUVKU
      VETQUVETUVEWCUVEWGWDWEWEUVEUVDPUUGUUDUVDWHWRVCUUGAFEUUGAUUTFKUUGFGPUUTFWI
      UUGFUVGGUVIUUGUVAGPZUVDGPZOUVGGPUUGUVMUVLUUGUVDUUDGEFWJUUAUUCUUEWKZWLGUUD
      WMWNUVAUVDGWSWOVCFGWPWOWQWTZXAUUGUUMUVFCUUGUUMUUDPZUUMFPZOUUMUVFPUUGUVQUV
      PUUGUVQUVDFPUVDUVGFUVDUVAXBUVIXCUUGUUMUVDFUVOXDXEEAWJWNUUMUUDFXHWOMXFXIXG
      UUGBBDRBBGFVHZVOLGFIUVCVKVMXJUUGBDUUGUVRUUDFXKZSZBDUUGUVRUUDPZUVRUVSPZOUV
      RUVTPUUGUWBUWAUWBUUGGFXLWRUVRGGXKZUUDQZSZUUDUVRGUVSSZUWEGFXRUVSUWDPUWFUWE
      PUVSUVAXKZUWDUVAFPUVSUWGPFEUVAJXMUVAFXNXOUWGGUUDXKZSZXKUWCUWHXKZQUWDUVAUW
      IGUUDXRXPGUWHXQUWJUUDUWCUUDXSXTWEYAUVSUWDGYBYCYDUWEGUUDSZUUDUWEGUWCSZUWKQ
      TUWKQZUWKGUWCUUDVTUWLTUWKGYEWBUWMUWKTQUWKTUWKWCUWKWGWDWEGUUDWHYDYFWNUVRUU
      DUVSXHWOLDUUDFVHZUVTNUUDFXRWDYHUUGUWNUVRDBUUGUUEUWNUVRPUVNUUDGFYIWFNLYHXI
      YGUUKUULOABSZTWICDSZTWIUUJUWOUUTUVRSTAUUTBUVRKLYJGFYKWDUWPUVFUWNSTCUVFDUW
      NMNYJUUDFYKWDACBDYLYMYNUUIUUHYOWOUUHUVFUWNQUUDCUVFDUWNMNYPUUDFYQWDUUIUUTU
      VRQGAUUTBUVRKLYPGFYQWDYR $.
  $}

  ${
    $d B b $.  $d R b $.
    sbthlem2.1 $e |- R e. _V $.
    $( Lemma for ~ sbth .  Eliminate hypotheses from ~ sbthlem1 .  Theorem
       XI.1.14 of [Rosser] p. 350.  (Contributed by SF, 10-Mar-2015.) $)
    sbthlem2 $p |- ( ( ( Fun R /\ Fun `' R ) /\
       ( B e. V /\ B C_ dom R /\ ran R C_ B ) ) -> ran R ~~ B ) $=
      ( vb wcel cdm wss crn w3a wfun ccnv wa cen wbr wi cv cdif cin eqid imbi2d
      wceq sseq1 sseq2 anbi12d imbi12d cclos1 vex sbthlem1 expcom vtoclg 3impib
      breq2 impcom ) ACFZABGZHZBIZAHZJBKBLKMZURANOZUOUQUSUTVAPZEQZUPHZURVCHZMZU
      TURVCNOZPZPUQUSMZVBPEACVCAUBZVFVIVHVBVJVDUQVEUSVCAUPUCVCAURUDUEVJVGVAUTVC
      AURNUMUAUFUTVFVGVCVCURRBUGZSZVCVKRZURVKSZURVKRZBVKVCDEUHVKTVLTVMTVNTVOTUI
      UJUKULUN $.
  $}

  ${
    $d A r $.  $d A s $.  $d B r $.  $d B s $.  $d C r $.  $d C s $.  $d D r $.
    $d D s $.  $d r s $.
    $( Lemma for ~ sbth .  If ` A ` is equinumerous with a subset of ` B ` and
       vice-versa, then ` A ` is equinumerous with ` B ` .  Theorem XI.1.15 of
       [Rosser] p. 353.  (Contributed by SF, 10-Mar-2015.) $)
    sbthlem3 $p |- ( ( ( A ~~ C /\ C C_ B ) /\ ( B ~~ D /\ D C_ A ) ) ->
       A ~~ B ) $=
      ( vr vs cen wbr wss wf1o wex bitr4i crn cdm wceq syl ad2antlr wfun ccnv
      wa cv wi bren anbi12i eeanv ccom simprl f1ofo forn ad2antrr f1odm 3sstr4d
      wfo dmcosseq eqtrd f1ofun syl2anr wfn dff1o2 simp2bi syl2an funeqi sylibr
      funco cnvco jca adantr w3a funfn anbi1i eqid df-3an mpbiran2 vex eqbrtrrd
      coex f1oen wcel rnex syl6eqelr simprr sseqtr4d syl5sseq sbthlem2 syl13anc
      cvv rncoss entr syl2anc ex exlimivv sylbi imp an4s ensymi ad2antrl ) ACGH
      ZCBIZTZBDGHZDAIZTTADGHZDBGHZABGHWQWTWRXAXBWQWTTZWRXATZXBXDACEUAZJZBDFUAZJ
      ZTZFKEKZXEXBUBZXDXGEKZXIFKZTXKWQXMWTXNACEUCBDFUCUDXGXIEFUELXJXLEFXJXEXBXJ
      XETZAXHXFUFZMZGHXQDGHZXBXOXPNZAXQGXOXSXFNZAXOXFMZXHNZIXSXTOXOCBYAYBXJWRXA
      UGXGYACOZXIXEXGACXFUMYCACXFUHACXFUIPUJXIYBBOXGXEBDXHUKQULXHXFUNPXGXTAOXIX
      EACXFUKUJUOZXOXSXQXPJZXSXQGHXOXPRZXPSZRZTZYEXJYIXEXJYFYHXIXHRXFRYFXGBDXHU
      PACXFUPXHXFVDUQXJXFSZXHSZUFZRZYHXGYJRZYKRZYMXIXGXFAURYNYCACXFUSUTXIXHBURY
      OXHMZDOZBDXHUSUTYJYKVDVAYGYLXHXFVEVBVCVFVGZYEXPXSURZYHXQXQOZVHZYIXSXQXPUS
      YIYSYHTZUUAYFYSYHXPVIVJUUAUUBYTXQVKYSYHYTVLVMLLVCXSXQXPXHXFFVNZEVNVPZVQPV
      OXOYIDWFVRZDXSIXQDIXRYRXIUUEXGXEXIDYPWFXIBDXHUMYQBDXHUHBDXHUIPZXHUUCVSVTQ
      XODAXSXJWRXAWAYDWBXOYPXQDXHXFWGXIYQXGXEUUFQWCDXPWFUUDWDWEAXQDWHWIWJWKWLWM
      WNWTXCWSXABDWOWPADBWHWI $.
  $}

  ${
    $d A a $.  $d a b $.  $d A b $.  $d a d $.  $d A d $.  $d a g $.  $d A g $.
    $d B a $.  $d B b $.  $d b d $.  $d B d $.  $d b g $.  $d B g $.  $d d g $.
    $( The Schroder-Bernstein Theorem.  This theorem gives the antisymmetry law
       for cardinal less than or equal.  Translated out, it means that, if
       ` A ` is no larger than ` B ` and ` B ` is no larger than ` A ` , then
       ` Nc A = Nc B ` .  Theorem XI.2.20 of [Rosser] p. 376.  (Contributed by
       SF, 11-Mar-2015.) $)
    sbth $p |- ( ( A e. NC /\ B e. NC ) ->
          ( ( A <_c B /\ B <_c A ) -> A = B ) ) $=
      ( vg vb vd va cncs wcel wa clec wbr cv wss wrex wceq brlecg reeanv cnc wi
      cen wb ancoms anbi12d 2rexbii bitri syl6bbr ncseqnc bi2anan9 simplr ensym
      biimpar sylib simprl simpll simprr sbthlem3 syl22anc entr syl2anc ex elnc
      anbi12i vex eqnc imbi2i 3imtr4i rexlimivv rexeq rexbidv sylan9bbr imbi12d
      eqeq12 mpbiri syl rexlimdvva sylbid ) AGHZBGHZIZABJKZBAJKZIZCLZDLZMZELZFL
      ZMZIZFANZDBNZEBNCANZABOZVSWBWEDBNZCANZWHFANZEBNZIZWLVSVTWOWAWQCDABGGPVRVQ
      WAWQUAEFBAGGPUBUCWLWNWPIZEBNCANWRWKWSCEABWEWHDFBAQUDWNWPCEABQUEUFVSWKWMCE
      ABVSWCAHZWFBHZIZIAWCRZOZBWFRZOZIZWKWMSZVSXGXBVQXDWTVRXFXAAWCUGBWFUGUHUKXG
      XHWIFXCNZDXENZXCXEOZSWIXKDFXEXCWDWFTKZWGWCTKZIZWIWCWFTKZSWDXEHZWGXCHZIWIX
      KSXNWIXOXNWIIZWCWDTKZXLXOXRWCWGTKZWGWDTKZXSXRXMXTXLXMWIUIZWGWCUJULXRXMWEX
      LWHYAYBXNWEWHUMXLXMWIUNZXNWEWHUOWGWDWCWFUPUQWCWGWDURUSYCWCWDWFURUSUTXPXLX
      QXMWDWFVAWGWCVAVBXKXOWIWCWFCVCVDVEVFVGXGWKXJWMXKXFWKWJDXENXDXJWJDBXEVHXDW
      JXIDXEWIFAXCVHVIVJAXCBXEVLVKVMVNVOVP $.
  $}

  $( Cardinal less than is equivalent to one-way cardinal less than or equal.
     Theorem XI.2.21 of [Rosser] p. 377.  (Contributed by SF, 11-Mar-2015.) $)
  ltlenlec $p |- ( ( M e. NC /\ N e. NC ) ->
    ( M <c N <-> ( M <_c N /\ -. N <_c M ) ) ) $=
    ( cltc wbr clec wa cncs wcel wn brltc wceq nclecid breq1 syl5ibcom ad2antrr
    wne wi sbth expdimp impbid necon3abid pm5.32da syl5bb ) ABCDABEDZABPZFAGHZB
    GHZFZUDBAEDZIZFABJUHUDUEUJUHUDFZUIABUKABKZUIUFULUIQUGUDUFAAEDULUIALABAEMNOU
    HUDUIULABRSTUAUBUC $.

  ${
    $d M x $.  $d M y $.  $d M z $.  $d N x $.  $d N y $.  $d N z $.  $d x y $.
    $d x z $.  $d y z $.
    $( For non-empty sets, cardinal sum always increases cardinal less than or
       equal.  Theorem XI.2.19 of [Rosser] p. 376.  (Contributed by SF,
       11-Mar-2015.) $)
    addlec $p |- ( ( M e. V /\ N e. W /\ ( M +c N ) =/= (/) ) ->
       M <_c ( M +c N ) ) $=
      ( vx vz vy wcel cplc c0 wne w3a clec cv wss wrex wex wa wceq cvv ssun1 n0
      wbr cin cun eladdc sseq2 mpbiri adantl rexlimivw reximi sylbi ancli eximi
      rexcom df-rex bitri 3imtr4i 3ad2ant3 addcexg brlecg syldan 3adant3 mpbird
      wb ) ACHZBDHZABIZJKZLAVHMUCZENZFNZOZFVHPEAPZVIVFVNVGVLVHHZFQVOVMEAPZRZFQZ
      VIVNVOVQFVOVPVOVKGNZUDJSZVLVKVSUEZSZRZGBPZEAPVPVLABEGUFWDVMEAWCVMGBWBVMVT
      WBVMVKWAOVKVSUAVLWAVKUGUHUIUJUKULUMUNFVHUBVNVPFVHPVRVMEFAVHUOVPFVHUPUQURU
      SVFVGVJVNVEZVIVFVGVHTHWEABCDUTEFAVHCTVAVBVCVD $.
  $}

  $( For cardinals, cardinal sum always increases cardinal less than or equal.
     Corollary of theorem XI.2.19 of [Rosser] p. 376.  (Contributed by SF,
     11-Mar-2015.) $)
  addlecncs $p |- ( ( M e. NC /\ N e. NC ) -> M <_c ( M +c N ) ) $=
    ( cncs wcel cplc c0 wne clec wbr ncaddccl wceq nulnnc eleq1 mtbiri necon2ai
    wa syl addlec mpd3an3 ) ACDZBCDZABEZFGZAUBHITUAPUBCDZUCABJUDUBFUBFKUDFCDLUB
    FCMNOQABCCRS $.

  ${
    $d a b $.  $d a p $.  $d b p $.  $d M a $.  $d M b $.  $d M p $.  $d N a $.
    $d N b $.  $d N p $.
    $( Cardinal less than or equal in terms of cardinal addition.  Theorem
       XI.2.22 of [Rosser] p. 377.  (Contributed by SF, 11-Mar-2015.) $)
    dflec2 $p |- ( ( M e. NC /\ N e. NC ) ->
       ( M <_c N <-> E. p e. NC N = ( M +c p ) ) ) $=
      ( va vb cncs wcel wa clec wbr cv cplc wceq wrex wss cnc ncseqnc vex cun
      wi brlecg bi2anan9 biimpar cdif difex ncelncsi cin disjdif ncdisjun ax-mp
      undif2 ssequn1 biimpi syl5eq nceqd syl5reqr addceq2 eqeq2d rspcev sylancr
      c0 wb id addceq1 eqeqan12d rexbidv ancoms syl rexlimdvva sylbid addlecncs
      syl5ibr breq2 syl5ibrcom adantlr rexlimdva impbid ) AFGZBFGZHZABIJZBACKZL
      ZMZCFNZVTWADKZEKZOZEBNDANWEDEABFFUAVTWHWEDEABVTWFAGZWGBGZHZHAWFPZMZBWGPZM
      ZHZWHWETVTWPWKVRWMWIVSWOWJAWFQBWGQUBUCWHWEWPWNWLWBLZMZCFNZWHWGWFUDZPZFGWN
      WLXALZMZWSWTWGWFERDRZUEZUFWHXBWFWTSZPZWNWFWTUGVAMXGXBMWFWGUHWFWTXDXEUIUJW
      HXFWGWHXFWFWGSZWGWFWGUKWHXHWGMWFWGULUMUNUOUPWRXCCXAFWBXAMWQXBWNWBXAWLUQUR
      USUTWOWMWEWSVBWOWMHWDWRCFWOWMBWNWCWQWOVCAWLWBVDVEVFVGVLVHVIVJVTWDWACFVRWB
      FGZWDWATVSVRXIHWAWDAWCIJAWBVKBWCAIVMVNVOVPVQ $.
  $}

  ${
    $d A x $.  $d A y $.  $d B x $.  $d B y $.  $d C x $.  $d C y $.  $d x y $.
    $( Cardinal less than or equal is transitive.  (Contributed by SF,
       12-Mar-2015.) $)
    lectr $p |- ( ( A e. NC /\ B e. NC /\ C e. NC ) ->
       ( ( A <_c B /\ B <_c C ) -> A <_c C ) ) $=
      ( vx vy cncs wcel w3a clec wa cv cplc wceq wrex wb dflec2 3adant3 3adant1
      wbr anbi12d reeanv syl6bbr addceq1 addcass syl6eq eqeq2d biimpa addlecncs
      simp1 ncaddccl syl2an breq2 syl5ibrcom syl5 rexlimdvva sylbid ) AFGZBFGZC
      FGZHZABISZBCISZJZBADKZLZMZCBEKZLZMZJZEFNDFNZACISZUTVCVFDFNZVIEFNZJVKUTVAV
      MVBVNUQURVAVMOUSABDPQURUSVBVNOUQBCEPRTVFVIDEFFUAUBUTVJVLDEFFVJCAVDVGLZLZM
      ZUTVDFGVGFGJZJZVLVFVIVQVFVHVPCVFVHVEVGLVPBVEVGUCAVDVGUDUEUFUGVSVLVQAVPISZ
      UTUQVOFGVTVRUQURUSUIVDVGUJAVOUHUKCVPAIULUMUNUOUP $.
  $}

  $( Transitivity law for cardinal less than or equal and less than.
     (Contributed by SF, 16-Mar-2015.) $)
  leltctr $p |- ( ( A e. NC /\ B e. NC /\ C e. NC ) ->
     ( ( A <_c B /\ B <c C ) -> A <c C ) ) $=
    ( cncs wcel w3a clec wbr cltc wa lectr expdimp adantrd wi wceq breq1 anbi1d
    wne biimpac brltc sbth ancoms 3adant1 eqcom syl6ibr syl5 necon3d expr imp3a
    jcad 3imtr4g expimpd ) ADEZBDEZCDEZFZABGHZBCIHZACIHZUPUQJZBCGHZBCRZJZACGHZA
    CRZJURUSUTVCVDVEUTVAVDVBUPUQVAVDABCKLMUTVAVBVEUPUQVAVBVENUPUQVAJZJACBCUPVFA
    COZBCOZVFVGJCBGHZVAJZUPVHVGVFVJVGUQVIVAACBGPQSUPVJCBOZVHUNUOVJVKNZUMUOUNVLC
    BUAUBUCBCUDUEUFLUGUHUIUJBCTACTUKUL $.

  ${
    $d x y z $.
    $( Cardinal less than or equal partially orders the cardinals.
       (Contributed by SF, 12-Mar-2015.) $)
    lecponc $p |- <_c Po NC $=
      ( vx vy vz clec cncs cpartial wbr wtru cvv wcel lecex a1i ncsex cv adantl
      nclecid w3a wa imp 3adant1 lectr weq sbth pod trud ) DEFGHABCEDIIDIJHKLEI
      JHMLANZEJZUFUFDGHUFPOUGBNZEJZCNZEJQZUFUHDGZUHUJDGRZUFUJDGZHUKUMUNUFUHUJUA
      STUGUIRZULUHUFDGRZABUBZHUOUPUQUFUHUCSTUDUE $.
  $}

  ${
    $d M x $.  $d N x $.  $d P x $.
    $( Addition law for cardinal less than.  Theorem XI.2.23 of [Rosser]
       p. 377.  (Contributed by SF, 12-Mar-2015.) $)
    leaddc1 $p |- ( ( ( M e. NC /\ N e. NC /\ P e. NC ) /\ M <_c N ) ->
               ( M +c P ) <_c ( N +c P ) ) $=
      ( vx cncs wcel w3a clec wbr cplc cv wceq wb dflec2 3adant3 wi wa ncaddccl
      wrex addlecncs sylan addc32 syl6eq breq2d syl5ibrcom rexlimdva sylbid imp
      addceq1 3adant2 ) BEFZCEFZAEFZGZBCHIZBAJZCAJZHIZUNUOCBDKZJZLZDESZURUKULUO
      VBMUMBCDNOUKUMVBURPULUKUMQZVAURDEVCUSEFZQURVAUPUPUSJZHIZVCUPEFVDVFBARUPUS
      TUAVAUQVEUPHVAUQUTAJVECUTAUIBUSAUBUCUDUEUFUJUGUH $.
  $}

  $( Addition law for cardinal less than.  Theorem XI.2.23 of [Rosser] p. 377.
     (Contributed by SF, 12-Mar-2015.) $)
  leaddc2 $p |- ( ( ( M e. NC /\ N e. NC /\ P e. NC ) /\ N <_c P ) ->
               ( M +c N ) <_c ( M +c P ) ) $=
    ( cncs wcel w3a clec wbr wa cplc 3anrot leaddc1 sylanb addccom 3brtr4g ) BD
    EZCDEZADEZFZCAGHZICBJZABJZBCJBAJGSQRPFTUAUBGHPQRKBCALMBCNBANO $.

  ${
    $d a p $.  $d a q $.  $d a x $.  $d N a $.  $d p q $.  $d p x $.  $d q x $.
    $( Any cardinal is either zero or no greater than one.  Theorem XI.2.24 of
       [Rosser] p. 377.  (Contributed by SF, 12-Mar-2015.) $)
    nc0le1 $p |- ( N e. NC -> ( N = 0c \/ 1c <_c N ) ) $=
      ( va vx vq vp wcel cv cnc wceq wex c0c c1c clec wbr wo wss wrex vex sylbi
      c0 cncs elncs nceq df0c2 syl6eqr orcd wne wel csn snss snel1c sseq2 sseq1
      ncid rspc2ev mp3an12 exlimiv n0 1cex ncex brlec rexcom bitri 3imtr4i olcd
      pm2.61ine eqeq1 breq2 orbi12d mpbiri ) AUAFABGZHZIZBJAKIZLAMNZOZBAUBVMVPB
      VMVPVLKIZLVLMNZOZVSVKTVKTIZVQVRVTVLTHKVKTUCUDUEUFVKTUGZVRVQCBUHZCJDGZEGZP
      ZDLQEVLQZWAVRWBWFCWBCGZUIZVKPZWFWGVKCRZUJVKVLFWHLFWIWFVKBRUNWGWJUKWEWIWCV
      KPEDVKWHVLLWDVKWCULWCWHVKUMUOUPSUQCVKURVRWEEVLQDLQWFDELVLUSVKUTVAWEDELVLV
      BVCVDVEVFVMVNVQVOVRAVLKVGAVLLMVHVIVJUQS $.
  $}

  ${
    $d N m $.
    $( Any cardinal is either zero or the successor of a cardinal.  Corollary
       of theorem XI.2.24 of [Rosser] p. 377.  (Contributed by SF,
       12-Mar-2015.) $)
    nc0suc $p |- ( N e. NC -> ( N = 0c \/ E. m e. NC N = ( m +c 1c ) ) ) $=
      ( cncs wcel c0c wceq c1c clec wbr wo cplc wrex nc0le1 1cnc dflec2 addccom
      cv wb wa eqeq2i rexbii syl6bb mpan orbi2d mpbid ) BCDZBEFZGBHIZJUGBAQZGKZ
      FZACLZJBMUFUHULUGGCDZUFUHULRNUMUFSUHBGUIKZFZACLULGBAOUOUKACUNUJBGUIPTUAUB
      UCUDUE $.
  $}

  ${
    $d A a $.  $d a m $.  $d a n $.  $d A n $.  $d B n $.  $d m n $.  $d m p $.
    $d n p $.
    $( Cardinal less than or equal is total over the naturals.  (Contributed by
       SF, 12-Mar-2015.) $)
    leconnnc $p |- ( ( A e. Nn /\ B e. Nn ) -> ( A <_c B \/ B <_c A ) ) $=
      ( va vp cnnc wcel clec wbr wo cv wceq breq2 breq1 orbi12d imbi2d c0c cncs
      wi c1c wa vn vm cplc wn cab ccnv csn cima cun cvv elun eliniseg cop df-br
      elimasn bitr4i orbi12i bitri abbi2i uneq2i eqtri abbii eqtr4i abexv lecex
      unab imor cnvex snex imaex unex eqeltrri weq nnnc le0nc syl dflec2 nc0le1
      orc wrex 1cnc ax-mp mpbiri orim1i a1i orcomd adantl simpll simplr leaddc2
      simpr syl31anc ex orim12d biimprd com12 rexlimdva adantr sylbid addlecncs
      mpd mpan2 peano2nc lectr mpd3an3 mpan2d ancoms olc syl6 jaod syl2an finds
      a2d vtoclga imp ) AEFZBEFZABGHZBAGHZIZXQXPXTXPAUAJZGHZYAAGHZIZRXPXTRUABEY
      ABKZYDXTXPYEYBXRYCXSYABAGLYABAGMNOXPYAEFZYDYFCJZYAGHZYAYGGHZIZRZYFPYAGHZY
      APGHZIZRYFUBJZYAGHZYAYOGHZIZRYFYOSUCZYAGHZYAYSGHZIZRYFYDRCUBAYFUDZCUEZGUF
      ZYAUGZUHZGUUFUHZUIZUIZYKCUEZUJUUJUUCYJIZCUEZUUKUUJUUDYJCUEZUIUUMUUIUUNUUD
      YJCUUIYGUUIFYGUUGFZYGUUHFZIYJYGUUGUUHUKUUOYHUUPYIGYAYGULUUPYAYGUMGFYIGYAY
      GUOYAYGGUNUPUQURUSUTUUCYJCVFVAYKUULCYFYJVGVBVCUUDUUIUUCCVDUUGUUHUUEUUFGVE
      VHYAVIZVJGUUFVEUUQVJVKVKVLYGPKZYJYNYFUURYHYLYIYMYGPYAGMYGPYAGLNOCUBVMZYJY
      RYFUUSYHYPYIYQYGYOYAGMYGYOYAGLNOYGYSKZYJUUBYFUUTYHYTYIUUAYGYSYAGMYGYSYAGL
      NOYGAKZYJYDYFUVAYHYBYIYCYGAYAGMYGAYAGLNOYFYLYNYFYAQFZYLYAVNZYAVOVPYLYMVSV
      PYOEFZYFYRUUBUVDYFYRUUBRZUVDYOQFZUVBUVEYFYOVNUVCUVFUVBTZYPUUBYQUVGYPYAYOD
      JZUCZKZDQVTZUUBYOYADVQUVFUVKUUBRUVBUVFUVJUUBDQUVFUVHQFZTZYSUVIGHZUVIYSGHZ
      IZUVJUUBRUVMSUVHGHZUVHSGHZIZUVPUVLUVSUVFUVLUVRUVQUVLUVHPKZUVQIZUVRUVQIZUV
      HVRUWAUWBRUVLUVTUVRUVQUVTUVRPSGHZSQFZUWCWASVOWBUVHPSGMWCWDWEXAWFWGUVMUVQU
      VNUVRUVOUVMUVQUVNUVMUVQTZUVFUWDUVLUVQUVNUVFUVLUVQWHUWDUWEWAWEUVFUVLUVQWIU
      VMUVQWKUVHYOSWJWLWMUVMUVRUVOUVMUVRTZUVFUVLUWDUVRUVOUVFUVLUVRWHUVFUVLUVRWI
      UWDUWFWAWEUVMUVRWKSYOUVHWJWLWMWNXAUVJUVPUUBUVJUUBUVPUVJYTUVNUUAUVOYAUVIYS
      GLYAUVIYSGMNWOWPVPWQWRWSUVGYQUUAUUBUVBUVFYQUUARUVBUVFTYQYOYSGHZUUAUVFUWGU
      VBUVFUWDUWGWAYOSWTXBWGUVBUVFYSQFZYQUWGTUUARUVFUWHUVBYOXCWGYAYOYSXDXEXFXGU
      UAYTXHXIXJXKWMXMXLWPXNWPXO $.
  $}

  ${
    $d A p $.  $d B p $.
    $( The sum of two cardinals is zero iff both addends are zero.
       (Contributed by SF, 12-Mar-2015.) $)
    addceq0 $p |- ( ( A e. NC /\ B e. NC ) -> ( ( A +c B ) = 0c <->
       ( A = 0c /\ B = 0c ) ) ) $=
      ( vp cncs wcel wa cplc c0c wceq c1c wrex nc0suc ord wne 0cnsuc necon3bbid
      wn wi eqeq1d mpbiri wo ianor adantr addc32 eqnetri addceq1 rexlimivw syl6
      adantl addcass eqnetrri addceq2 jaod syl5bi con4d addceq12 addcid2 syl6eq
      cv impbid1 ) ADEZBDEZFZABGZHIZAHIZBHIZFZVCVHVEVHQVFQZVGQZUAVCVEQZVFVGUBVC
      VIVKVJVCVIACUSZJGZIZCDKZVKVAVIVORVBVAVFVOCALMUCVNVKCDVNVKVMBGZHNVPVLBGZJG
      HVLJBUDVQOUEVNVEVPHVNVDVPHAVMBUFSPTUGUHVCVJBVMIZCDKZVKVBVJVSRVAVBVGVSCBLM
      UIVRVKCDVRVKAVMGZHNAVLGZJGVTHAVLJUJWAOUKVRVEVTHVRVDVTHBVMAULSPTUGUHUMUNUO
      VHVDHHGHABHHUPHUQURUT $.
  $}

  ${
    $d M x $.
    $( Ordering law for cardinal exponentiation to two.  Theorem XI.2.71 of
       [Rosser] p. 390.  (Contributed by SF, 13-Mar-2015.) $)
    ce2lt $p |- ( ( M e. NC /\ ( M ^c 0c ) e. NC ) -> M <c ( 2c ^c M ) ) $=
      ( vx cncs wcel c0c cce co wa cv cpw1 cnc wceq wex c2c wbr ce0ncpw1 cpw id
      cltc cvv vex ltcpw1pwg ax-mp syl6eqbr ce2 breqtrrd exlimiv syl ) ACDAEFGC
      DHABIZJKZLZBMANAFGZSOZABPUKUMBUKAUIQKZULSUKAUJUNSUKRUITDUJUNSOBUAZUITUBUC
      UDUIAUOUEUFUGUH $.
  $}

  ${
    $d a x $.  $d a y $.  $d b x $.  $d b y $.  $d f x $.  $d f y $.  $d M a $.
    $d M x $.  $d M y $.  $d N a $.  $d N b $.  $d N x $.  $d N y $.  $d x y $.
    $d a b $.  $d a c $.  $d a f $.  $d b c $.  $d b f $.  $d c f $.  $d c x $.
    $d c y $.
    $( Another potential definition of cardinal inequality.  (Contributed by
       SF, 23-Mar-2015.) $)
    dflec3 $p |- ( ( M e. NC /\ N e. NC ) -> ( M <_c N <->
        E. a e. M E. b e. N E. f f : a -1-1-> b ) ) $=
      ( vx vy vc wcel wa cv cnc wceq wex clec wbr wf1 wrex wb vex elncs anbi12i
      cncs eeanv bitr4i wss ncex brlec cid cres wf1o f1oi f1of1 ax-mp f1ss mpan
      rexcom resex f1eq1 spcev syl weq f1eq2 exbidv rspcev sylan2 rexlimiva crn
      idex wi cen eqnc f1f1orn f1oen ensym sylib sylibr eleq2 syl5ib sylbir imp
      elnc wf f1f frn adantl sseq1 syl2anc exlimdv rexlimiv impbii rexbii bitri
      ex 3bitri breq12 simpl rexeq rexeqbidv bibi12d mpbiri exlimivv sylbi ) BU
      CIZCUCIZJZBFKZLZMZCGKZLZMZJZGNFNZBCOPZDKZEKZAKZQZANZECRZDBRZSZXFXIFNZXLGN
      ZJXNXDYDXEYEFBUAGCUAUBXIXLFGUDUEXMYCFGXMYCXHXKOPZXTEXKRZDXHRZSYFHKZXQUFZE
      XKRHXHRZXTDXHRZEXKRZYHHEXHXKXGUGXJUGUHYKYJHXHRZEXKRYMYJHEXHXKUQYNYLEXKYNY
      LYJYLHXHYJYIXHIYIXQXRQZANZYLYJYIXQUIYIUJZQZYPYIYIYQQZYJYRYIYIYQUKYSYIULYI
      YIYQUMUNYIYIXQYQUOUPYOYRAYQUIYIVIHTURYIXQXRYQUSUTVAXTYPDYIXHDHVBXSYOAXPYI
      XQXRVCVDVEVFVGXTYNDXHXPXHIZXSYNAYTXSYNYTXSJXRVHZXHIZUUAXQUFZYNYTXSUUBYTXP
      LZXHMZXSUUBVJUUEXPXGVKPYTXPXGDTVLXPXGWBUEXSUUAUUDIZUUEUUBXSUUAXPVKPZUUFXS
      XPUUAVKPZUUGXSXPUUAXRUKUUHXPXQXRVMXPUUAXRATVNVAXPUUAVOVPUUAXPWBVQUUDXHUUA
      VRVSVTWAXSUUCYTXSXPXQXRWCUUCXPXQXRWDXPXQXRWEVAWFYJUUCHUUAXHYIUUAXQWGVEWHW
      NWIWJWKWLWMXTEDXKXHUQWOXMXOYFYBYHBXHCXKOWPXMYAYGDBXHXIXLWQXLYAYGSXIXTECXK
      WRWFWSWTXAXBXC $.
  $}

  ${
    $d A a $.  $d a b $.  $d A b $.  $d a f $.  $d A f $.  $d A g $.  $d A h $.
    $d A i $.  $d A p $.  $d A q $.  $d B a $.  $d B b $.  $d b f $.  $d B f $.
    $d B g $.  $d B h $.  $d B i $.  $d B p $.  $d B q $.  $d f g $.  $d f h $.
    $d f i $.  $d f p $.  $d f q $.  $d g h $.  $d g i $.  $d g p $.  $d g q $.
    $d h i $.  $d h p $.  $d h q $.  $d i p $.  $d i q $.  $d p q $.
    nclenc.1 $e |- A e. _V $.
    nclenc.2 $e |- B e. _V $.
    $( Comparison rule for cardinalities.  (Contributed by SF, 24-Mar-2015.) $)
    nclenc $p |- ( Nc A <_c Nc B <-> E. f f : A -1-1-> B ) $=
      ( vp vq vg vh vi va vb wbr cv wf1 wex wrex wcel wa wf1o cnc clec ncelncsi
      cncs wb dflec3 mp2an wi cen elnc bren bitri anbi12i eeanv bitr4i w3a ccom
      ccnv f1of1 3ad2ant2 simp3 f1co syl2anc f1ocnv syl 3ad2ant1 vex coex cnvex
      f1eq1 spcev 3expia exlimivv sylbi exlimdv rexlimivv ncid wceq f1eq2 f1eq3
      exbidv rspc2ev mp3an12 sylibr impbii ) AUAZBUAZUBMZABCNZOZCPZWHFNZGNZHNZO
      ZHPZGWGQFWFQZWKWFUDRZWGUDRZWHWQUEADUCZBEUCZHWFWGFGUFUGWPWKFGWFWGWLWFRZWMW
      GRZSZWOWKHXDWLAINZTZWMBJNZTZSZJPIPZWOWKUHZXDXFIPZXHJPZSXJXBXLXCXMXBWLAUIM
      XLWLAUJWLAIUKULXCWMBUIMXMWMBUJWMBJUKULUMXFXHIJUNUOXIXKIJXFXHWOWKXFXHWOUPZ
      ABXGWNUQZXEURZUQZOZWKXNWLBXOOZAWLXPOZXRXNWMBXGOZWOXSXHXFYAWOWMBXGUSUTXFXH
      WOVAWLWMBXGWNVBVCXFXHXTWOXFAWLXPTXTWLAXEVDAWLXPUSVEVFAWLBXOXPVBVCWJXRCXQX
      OXPXGWNJVGHVGVHXEIVGVIVHABWIXQVJVKVEVLVMVNVOVPVNWKKNZLNZWIOZCPZLWGQKWFQZW
      HAWFRBWGRWKYFADVQBEVQYEWKAYCWIOZCPKLABWFWGYBAVRYDYGCYBAYCWIVSWAYCBVRYGWJC
      YCBAWIVTWAWBWCWRWSWHYFUEWTXACWFWGKLUFUGWDWE $.
  $}

  ${
    $d M x $.  $d A x $.  $d A f $.  $d A g $.  $d A p $.  $d A q $.  $d A y $.
    $d f g $.  $d f p $.  $d f q $.  $d f x $.  $d f y $.  $d g p $.  $d g q $.
    $d g x $.  $d g y $.  $d M y $.  $d p q $.  $d p x $.  $d p y $.  $d q x $.
    $d q y $.  $d x y $.
    lenc.1 $e |- A e. _V $.
    $( Less than or equal condition for the cardinality of a number.
       (Contributed by SF, 18-Mar-2015.) $)
    lenc $p |- ( M e. NC -> ( M <_c Nc A <-> E. x e. M x C_ A ) ) $=
      ( vy vp vq vf vg wcel cv wex clec wbr wss wrex wf1o cen elnc vex cncs cnc
      wceq wb elncs ncex brlec wa bren bitri anbi12i eeanv bitr4i w3a cima cres
      wi ccnv ccom wf1 f1of1 3ad2ant2 simp3 f1ores syl2anc 3ad2ant1 f1oco resex
      f1ocnv cnvex coex f1oen 3syl sylibr imass2 3ad2ant3 wfo f1ofo syl sseqtrd
      foima sseq1 rspcev 3expia exlimivv sylbi nclec eqnc breq1 sylbir rexlimiv
      rexlimivv syl5ib impbii rexeq bibi12d mpbiri exlimiv ) CUAJCEKZUBZUCZELCB
      UBZMNZAKZBOZACPZUDZECUEXAXGEXAXGWTXBMNZXEAWTPZUDXHXIXHFKZGKZOZGXBPFWTPXIF
      GWTXBWSUFBUFUGXLXIFGWTXBXJWTJZXKXBJZUHZXJWSHKZQZXKBIKZQZUHZILHLZXLXIUQZXO
      XQHLZXSILZUHYAXMYCXNYDXMXJWSRNYCXJWSSXJWSHUIUJXNXKBRNYDXKBSXKBIUIUJUKXQXS
      HIULUMXTYBHIXQXSXLXIXQXSXLUNZXRXJUOZWTJZYFBOZXIYEYFWSRNZYGYEWSYFXRXJUPZXP
      URZUSZQZYFWSYLURZQYIYEXJYFYJQZWSXJYKQZYMYEXKBXRUTZXLYOXSXQYQXLXKBXRVAVBXQ
      XSXLVCXKBXJXRVDVEXQXSYPXLXJWSXPVIVFWSXJYFYJYKVGVEWSYFYLVIYFWSYNYLYJYKXRXJ
      ITFTVHXPHTVJVKVJVLVMYFWSSVNYEYFXRXKUOZBXLXQYFYROXSXJXKXRVOVPXSXQYRBUCZXLX
      SXKBXRVQYSXKBXRVRXKBXRWAVSVBVTXEYHAYFWTXDYFBWBWCVEWDWEWFWLWFXEXHAWTXEXDUB
      ZXBMNZXDWTJZXHXDBATZDWGUUBYTWTUCZUUAXHUDUUDXDWSRNUUBXDWSUUCWHXDWSSUMYTWTX
      BMWIWJWMWKWNXAXCXHXFXICWTXBMWIXEACWTWOWPWQWRWF $.
  $}

  $( Compute the T-raising of a cardinality.  (Contributed by SF,
     23-Apr-2021.) $)
  tcncg $p |- ( A e. V -> T_c Nc A = Nc ~P1 A ) $=
    ( wcel cnc ctc cncs cpw1 wceq ncelncs tccl syl pw1exg ncidg pw1eltc syl2anc
    cvv nceleq syl22anc ) ABCZADZEZFCZAGZDZFCZUCUACZUCUDCZUAUDHSTFCZUBABIZTJKSU
    CPCZUEABLZUCPIKSUHATCUFUIABMTANOSUJUGUKUCPMKUAUDUCQR $.

  ${
    tcnc.1 $e |- A e. _V $.
    $( Compute the T-raising of a cardinality.  (Contributed by SF,
       4-Mar-2015.) $)
    tcnc $p |- T_c Nc A = Nc ~P1 A $=
      ( cvv wcel cnc ctc cpw1 wceq tcncg ax-mp ) ACDAEFAGEHBACIJ $.
  $}

  $( Compute the T-raising of the cardinality of the universe.  Part of Theorem
     5.2 of [Specker] p. 973.  (Contributed by SF, 4-Mar-2015.) $)
  tcncv $p |- T_c Nc _V = Nc 1c $=
    ( cvv cnc ctc cpw1 c1c vvex tcnc df1c2 nceqi eqtr4i ) ABCADZBEBAFGEKHIJ $.

  $( Compute the T-raising of the cardinality of one.  Part of Theorem 5.2 of
     [Specker] p. 973.  (Contributed by SF, 4-Mar-2015.) $)
  tcnc1c $p |- T_c Nc 1c = Nc ~P1 1c $=
    ( c1c 1cex tcnc ) ABC $.

  ${
    $d M x $.  $d M y $.  $d N x $.  $d N y $.  $d x y $.
    $( Cardinal T is one-to-one.  Based on theorem 2.4 of [Specker] p. 972.
       (Contributed by SF, 10-Mar-2015.) $)
    tc11 $p |- ( ( M e. NC /\ N e. NC ) -> ( T_c M = T_c N <-> M = N ) ) $=
      ( vx vy cncs wcel wa cv cnc wceq wex ctc elncs cpw1 vex tcnc cen wbr eqnc
      wb anbi12i eeanv bitr4i eqeq12i enpw1 pw1ex 3bitr4ri bitri tceq eqeqan12d
      eqeq12 bibi12d mpbiri exlimivv sylbi ) AEFZBEFZGZACHZIZJZBDHZIZJZGZDKCKZA
      LZBLZJZABJZTZURVACKZVDDKZGVFUPVLUQVMCAMDBMUAVAVDCDUBUCVEVKCDVEVKUTLZVCLZJ
      ZUTVCJZTVPUSNZIZVBNZIZJZVQVNVSVOWAUSCOZPVBDOPUDUSVBQRVRVTQRVQWBUSVBUEUSVB
      WCSVRVTUSWCUFSUGUHVEVIVPVJVQVAVDVGVNVHVOAUTUIBVCUIUJAUTBVCUKULUMUNUO $.
  $}

  ${
    $d a b $.  $d a c $.  $d a w $.  $d a x $.  $d A x $.  $d a y $.  $d A y $.
    $d a z $.  $d A z $.  $d b c $.  $d b w $.  $d b x $.  $d B x $.  $d b y $.
    $d B y $.  $d b z $.  $d B z $.  $d c w $.  $d c x $.  $d c z $.  $d w x $.
    $d w y $.  $d w z $.  $d X c $.  $d X w $.  $d X x $.  $d x y $.  $d X y $.
    $d x z $.  $d X z $.  $d y z $.
    $( T raising rule for cardinal sum.  (Contributed by SF, 11-Mar-2015.) $)
    taddc $p |- ( ( ( A e. NC /\ B e. NC /\ X e. NC ) /\
       T_c A = ( T_c B +c X ) ) -> E. c e. NC X = T_c c ) $=
      ( vw vx vy vz va vb cncs wcel ctc wceq wa cv cnc wex vex sylbi cplc elncs
      w3a cpw1 wrex 3anbi123i eeeanv bitr4i cen wbr tcnc addceq1i eqeq12i eqcom
      wi wb pw1ex ncelncsi ncaddccl mp2an ncseqnc 3bitri cin cun eladdc pw1equn
      ax-mp simp3 elnc ensym breq2 biimpcd syl5 eximdv exlimdv adantld rexlimiv
      c0 syl5bi rexlimivw 3ad2ant1 adantr simpr addceq12d 3adant1 eqeq12d eqeq1
      tceq syl6bb exbidv 3ad2ant3 imbi12d mpbiri exlimiv exlimivv df-rex anbi1i
      eqnc imp 19.41v exbii excom ncex syl6eq eqeq2d ceqsexv bitri sylibr ) AKL
      ZBKLZCKLZUCZAMZBMZCUAZNZOCEPZUDZQZNZERZCDPZMZNZDKUEZXLXPYAXLAFPZQZNZBGPZQ
      ZNZCHPZQZNZUCZHRZGRFRZXPYAUOZXLYHFRZYKGRZYNHRZUCYQXIYSXJYTXKUUAFAUBGBUBHC
      UBUFYHYKYNFGHUGUHYPYRFGYOYRHYOYRYGMZYJMZYMUAZNZYLXRUIUJZERZUOUUEYFUDZYIUD
      ZQZYMUAZLZUUGUUEUUHQZUUKNUUKUUMNZUULUUBUUMUUDUUKYFFSUKUUCUUJYMYIGSZUKULUM
      UUMUUKUNUUKKLZUUNUULUPUUJKLYMKLUUPUUIYIUUOUQURYLHSZURUUJYMUSUTUUKUUHVAVGV
      BUULIPZJPZVCVRNZUUHUURUUSVDNZOZJYMUEZIUUJUEUUGUUHUUJYMIJVEUVCUUGIUUJUVBUU
      GJYMUUSYMLZUVAUUGUUTUVAYFYBXQVDNZUURYBUDNZUUSXRNZUCZERZDRUVDUUGDEUURUUSYF
      ISJSVFUVDUVIUUGDUVDUVHUUFEUVHUVGUVDUUFUVEUVFUVGVHUVDUUSYLUIUJZUVGUUFUOZUU
      SYLVIUVJYLUUSUIUJZUVKUUSYLVJUVGUVLUUFUUSXRYLUIVKVLTTVMVNVOVSVPVQVTTTYOXPU
      UEYAUUGYOXMUUBXOUUDYHYKXMUUBNYNAYGWHWAYKYNXOUUDNYHYKYNOXNUUCCYMYKXNUUCNYN
      BYJWHWBYKYNWCWDWEWFYNYHYAUUGUPYKYNXTUUFEYNXTYMXSNUUFCYMXSWGYLXRUUQWRWIWJW
      KWLWMWNWOTWSYEYBKLZYDOZDRYBXQQZNZYDOZERZDRZYAYDDKWPUVNUVRDUVNUVPERZYDOUVR
      UVMUVTYDEYBUBWQUVPYDEWTUHXAUVSUVQDRZERYAUVQDEXBUWAXTEYDXTDUVOXQXCUVPYCXSC
      UVPYCUVOMXSYBUVOWHXQESUKXDXEXFXAXGVBXH $.
  $}

  ${
    $d M p q $.  $d N p q $.
    $( T-raising perserves order for cardinals.  Theorem 5.5 of [Specker]
       p. 973.  (Contributed by SF, 11-Mar-2015.) $)
    tlecg $p |- ( ( M e. NC /\ N e. NC ) -> ( M <_c N <-> T_c M <_c T_c N ) )
        $=
      ( vp vq cncs wcel wa clec wbr ctc cv cplc wceq wrex dflec2 tccl rexlimdva
      wi sylbid adantlr addlecncs syl2an tcdi breqtrrd breq2d syl5ibrcom adantr
      tceq wb simplr simpll simprl simprr taddc syl31anc addceq2 eqeq2d biimpac
      ncaddccl tc11 syl2anc breq2 sylbird syl5 expdimp an32s adantrl mpd impbid
      expr ) AEFZBEFZGZABHIZAJZBJZHIZVMVNBACKZLZMZCENZVQABCOVKWAVQRVLVKVTVQCEVK
      VREFZGZVQVTVOVSJZHIWCVOVOVRJZLZWDHVKVOEFZWEEFVOWFHIWBAPZVRPVOWEUAUBAVRUCU
      DVTVPWDVOHBVSUHUEUFQUGSVMVQVPVOVRLZMZCENZVNVKWGVPEFVQWKUIVLWHBPVOVPCOUBVM
      WJVNCEVMWBWJVNVMWBWJGZGZVRDKZJZMZDENZVNWMVLVKWBWJWQVKVLWLUJVKVLWLUKVMWBWJ
      ULVMWBWJUMBAVRDUNUOVMWJWQVNRWBVMWJGWPVNDEVMWNEFZWJWPVNRVMWRGZWJWPVNWJWPGV
      PVOWOLZMZWSVNWPWJXAWPWIWTVPVRWOVOUPUQURWSXAVPAWNLZJZMZVNWSXCWTVPVKWRXCWTM
      VLAWNUCTUQWSXDBXBMZVNWSVLXBEFZXDXEUIVKVLWRUJVKWRXFVLAWNUSTBXBUTVAVKWRXEVN
      RVLVKWRGVNXEAXBHIAWNUABXBAHVBUFTSVCVDVEVFQVGVHVJQSVI $.
  $}

  ${
    $d a b $.  $d a c $.  $d a m $.  $d a n $.  $d a p $.  $d a q $.  $d a x $.
    $d a y $.  $d b c $.  $d b m $.  $d b n $.  $d b p $.  $d b q $.  $d b x $.
    $d b y $.  $d c m $.  $d c n $.  $d c p $.  $d c q $.  $d c x $.  $d c y $.
    $d M a $.  $d M b $.  $d M c $.  $d m n $.  $d m p $.  $d M p $.  $d M q $.
    $d m x $.  $d m y $.  $d N a $.  $d N b $.  $d N c $.  $d n p $.  $d N q $.
    $d n x $.  $d n y $.  $d p q $.  $d p x $.  $d p y $.  $d x y $.
    $( If a cardinal is less than or equal to a T-raising, then it is also a
       T-raising.  Theorem 5.6 of [Specker] p. 973.  (Contributed by SF,
       11-Mar-2015.) $)
    letc $p |- ( ( M e. NC /\ N e. NC /\ M <_c T_c N ) ->
       E. p e. NC M = T_c p ) $=
      ( vq va vb vc vx vy vn vm cncs wcel cv wceq wrex wa cnc wex vex clec cplc
      ctc wbr wb tccl dflec2 sylan2 wi elncs 3anbi123i eeeanv bitr4i cpw1 eqcom
      w3a ncelncsi ncaddccl mp2an ncseqnc ax-mp bitri cin c0 cun eladdc pw1equn
      bi2anan9 ineq12 eqeq1d anbi12d tceq tcnc syl6eq eqeq2d rspcev mpan sylbir
      eleq1 ad2antrr syl6bi 3adant1 exlimivv syl5bi rexlimivv 3ad2ant2 addceq12
      com12 expimpd sylbi 3adant2 eqeq12d eqeq1 rexbidv 3ad2ant1 imbi12d mpbiri
      exlimiv 3expa rexlimdva sylbid 3impia ) ALMZBLMZABUCZUAUDZACNZUCZOZCLPZXC
      XDQZXFXEADNZUBZOZDLPZXJXDXCXELMXFXOUEBUFAXEDUGUHXKXNXJDLXCXDXLLMZXNXJUIZX
      CXDXPUPZAENZRZOZBFNZRZOZXLGNZRZOZUPZGSZFSESZXQXRYAESZYDFSZYGGSZUPYJXCYKXD
      YLXPYMEAUJFBUJGXLUJUKYAYDYGEFGULUMYIXQEFYHXQGYHXQYBUNZRZXTYFUBZOZXTXHOZCL
      PZUIYQYNYPMZYSYQYPYOOZYTYOYPUOYPLMZUUAYTUEXTLMZYFLMUUBXSETUQZYEGTUQXTYFUR
      USYPYNUTVAVBYTHNZINZVCZVDOZYNUUEUUFVEOZQZIYFPHXTPYSYNXTYFHIVFUUJYSHIXTYFU
      UEXTMZUUFYFMZQZUUHUUIYSUUIYBJNZKNZVEOZUUEUUNUNZOZUUFUUOUNZOZUPZKSJSZUUMUU
      HQZYSJKUUEUUFYBHTITVGUVBUVCYSUVAUVCYSUIZJKUURUUTUVDUUPUURUUTQZUVCUUQXTMZU
      USYFMZQZUUQUUSVCZVDOZQYSUVEUUMUVHUUHUVJUURUUKUVFUUTUULUVGUUEUUQXTVSUUFUUS
      YFVSVHUVEUUGUVIVDUUEUUQUUFUUSVIVJVKUVFYSUVGUVJUVFXTUUQRZOZYSUUCUVLUVFUEUU
      DXTUUQUTVAUUNRZLMUVLYSUUNJTZUQYRUVLCUVMLXGUVMOZXHUVKXTUVOXHUVMUCUVKXGUVMV
      LUUNUVNVMVNVOVPVQVRVTWAWBWCWHWDWIWEWJWJYHXNYQXJYSYHXEYOXMYPYDYAXEYOOYGYDX
      EYCUCYOBYCVLYBFTVMVNWFYAYGXMYPOYDAXLXTYFWGWKWLYAYDXJYSUEYGYAXIYRCLAXTXHWM
      WNWOWPWQWRWCWJWSWTXAXB $.
  $}

  ${
    $d M n $.  $d M x $.  $d n x $.
    $( If ` ( M ^c 0c ) ` is a cardinal, then ` M ` is a T-raising of some
       cardinal.  (Contributed by SF, 17-Mar-2015.) $)
    ce0t $p |- ( ( M e. NC /\ ( M ^c 0c ) e. NC ) -> E. n e. NC M = T_c n ) $=
      ( vx cncs wcel c0c cce co wa cpw1 cnc wceq wex ctc wrex ce0ncpw1 ncelncsi
      cv vex tcnc eqcomi tceq eqeq2d rspcev mp2an eqeq1 rexbidv mpbiri exlimiv
      syl ) BDEBFGHDEIBCRZJKZLZCMBARZNZLZADOZBCPUMUQCUMUQULUOLZADOZUKKZDEULUTNZ
      LZUSUKCSZQVAULUKVCTUAURVBAUTDUNUTLUOVAULUNUTUBUCUDUEUMUPURADBULUOUFUGUHUI
      UJ $.
  $}

  ${
    $d M y $.  $d N y $.  $d M p $.  $d M q $.  $d N p $.  $d p q $.  $d p r $.
    $d p s $.  $d p x $.  $d p y $.  $d q r $.  $d q s $.  $d q x $.  $d q y $.
    $d r s $.  $d r x $.  $d r y $.  $d s y $.  $d x y $.
    $( Partial ordering law for base two cardinal exponentiation.  Theorem 4.8
       of [Specker] p. 973.  (Contributed by SF, 16-Mar-2015.) $)
    ce2le $p |- ( ( ( M e. NC /\ N e. NC /\ ( N ^c 0c ) e. NC ) /\ M <_c N ) ->
       ( 2c ^c M ) <_c ( 2c ^c N ) ) $=
      ( vp vq vx vy vr cncs wcel cce co clec wbr wa cv wceq wrex c2c wi cnc c0c
      vs w3a ctc ce0t 3adant1 adantr letc tlecg ancoms wex elncs anbi12i bitr4i
      wb eeanv cpw wss cen enpw 3imtr4i adantl sspwb biimpi sseq1 sseq2 rspc2ev
      elnc syl3anc ex rexlimivv ncex brlec cpw1 vex tcnc ce2 ax-mp 3brtr4g tceq
      breq12 oveq2d breqan12d imbi12d mpbiri exlimivv sylbi sylbird an32s breq1
      imp anbi2d anbi1d oveq2 breq1d com12 rexlimdva mpd 3expa breq2d 3ad2antl1
      breq2 ) AHIZBHIZBUAJKHIZUCZABLMZNBCOZUDZPZCHQZRAJKZRBJKZLMZXFXKXGXDXEXKXC
      CBUEUFUGXCXDXGXKXNSXEXCXGNZXJXNCHXJXOXHHIZNZXNXJXQXNSXCAXILMZNZXPNZXLRXIJ
      KZLMZSXCXPXRYBXCXPXRYBXCXPXRUCADOZUDZPZDHQZYBAXHDUHXPXRYFYBSXCXPXRNZYEYBD
      HYEYGYCHIZNZYBYEYIYBSXPYDXILMZNZYHNZRYDJKZYALMZSXPYHYJYNXPYHNZYJYNYOYJYCX
      HLMZYNYHXPYPYJUOYCXHUIUJYHXPYPYNSZYHXPNZYCEOZTZPZXHFOZTZPZNZFUKEUKZYQYRUU
      AEUKZUUDFUKZNUUFYHUUGXPUUHEYCULFXHULUMUUAUUDEFUPUNUUEYQEFUUEYQYTUUCLMZRYT
      UDZJKZRUUCUDZJKZLMZSUUIYSUQZTZUUBUQZTZUUKUUMLXHYCURZDUUCQCYTQGOZUBOZURZUB
      UURQGUUPQZUUIUUPUURLMUUSUVCCDYTUUCXHYTIZYCUUCIZNZUUSUVCUVFUUSNXHUQZUUPIZY
      CUQZUURIZUVGUVIURZUVCUVFUVHUUSUVDUVHUVEXHYSUSMUVGUUOUSMUVDUVHXHYSUTXHYSVH
      UVGUUOVHVAUGUGUVFUVJUUSUVEUVJUVDYCUUBUSMUVIUUQUSMUVEUVJYCUUBUTYCUUBVHUVIU
      UQVHVAVBUGUUSUVKUVFUUSUVKXHYCVCVDVBUVBUVKUVGUVAURGUBUVGUVIUUPUURUUTUVGUVA
      VEUVAUVIUVGVFVGVIVJVKCDYTUUCYSVLUUBVLVMGUBUUPUURUUOVLUUQVLVMVAUUJYSVNTPUU
      KUUPPYSEVOZVPYSUUJUVLVQVRUULUUBVNTPUUMUURPUUBFVOZVPUUBUULUVMVQVRVSUUEYPUU
      IYNUUNYCYTXHUUCLWAUUAUUDYMUUKYAUUMLUUAYDUUJRJYCYTVTWBUUDXIUULRJXHUUCVTWBW
      CWDWEWFWGUJWHWKWIYEYIYLYBYNYEYGYKYHYEXRYJXPAYDXILWJWLWMYEXLYMYALAYDRJWNWO
      WDWEWPWQUFWRWSWIXJXQXTXNYBXJXOXSXPXJXGXRXCBXIALXBWLWMXJXMYAXLLBXIRJWNWTWD
      WEWPWQXAWR $.
  $}

  ${
    $d M x $.  $d N x $.
    $( The exponent of a T-raising to a T-raising is always a cardinal.
       (Contributed by SF, 13-Mar-2015.) $)
    cet $p |- ( ( M e. NC /\ N e. NC ) -> ( T_c M ^c T_c N ) e. NC ) $=
      ( vx cncs wcel ctc c0c cce co tccl adantr adantl cnc wceq wex tceq oveq1d
      elncs ax-mp syl6eqel wa cv wne cpw1 vex ncelncsi pw1ex ncid tcnc eleqtrri
      c0 ce0nnuli mp2an wb ce0nulnc mpbi exlimiv sylbi cecl syl22anc ) ADEZBDEZ
      UAAFZDEZBFZDEZVCGHIZDEZVEGHIZDEZVCVEHIDEVAVDVBAJKVBVFVABJLVAVHVBVAACUBZMZ
      NZCOVHCARVMVHCVMVGVLFZGHIZDVMVCVNGHAVLPQVOUKUCZVODEZVNDEZVKUDZVNEVPVLDEVR
      VKCUEZUFVLJSZVSVSMVNVSVKVTUGUHVKVTUIUJVKVNULUMVRVPVQUNWAVNUOSUPZTUQURKVBV
      JVAVBBVLNZCOVJCBRWCVJCWCVIVODWCVEVNGHBVLPQWBTUQURLVCVEUSUT $.
  $}

  $( The exponent of two to a T-raising is always a cardinal.  Theorem 5.8 of
     [Specker] p. 973.  (Contributed by SF, 13-Mar-2015.) $)
  ce2t $p |- ( M e. NC -> ( 2c ^c T_c M ) e. NC ) $=
    ( cncs wcel c2c ctc cce co tc2c oveq1i 2nc cet mpan syl5eqelr ) ABCZDAEZFGD
    EZOFGZBPDOFHIDBCNQBCJDAKLM $.

  ${
    $d M x $.
    $( Distributive law for T-raising and cardinal exponentiation to two.
       (Contributed by SF, 13-Mar-2015.) $)
    tce2 $p |- ( ( M e. NC /\ ( M ^c 0c ) e. NC ) ->
      T_c ( 2c ^c M ) = ( 2c ^c T_c M ) ) $=
      ( vx cncs wcel c0c cce co wa cpw1 cnc wceq c2c ctc cpw tcnc eqid ce2 tceq
      ax-mp syl wex ce0ncpw1 vex pwex ncpwpw1 3eqtr4i pw1ex eqtr4i oveq2 syl6eq
      cv oveq2d 3eqtr4a exlimiv ) ACDAEFGCDHABUKZIZJZKZBUALAFGZMZLAMZFGZKZABUBU
      RVCBURLUQFGZMZLUPIJZFGZUTVBVEUPNJZVGUONZJZMZVIIJVEVHVIUOBUCZUDOVDVJKZVEVK
      KUQUQKVMUQPUOUQVLQSVDVJRSUOVLUEUFVFVFKVGVHKVFPUPVFUOVLUGZQSUHURUSVDKUTVEK
      AUQLFUIUSVDRTURVAVFLFURVAUQMVFAUQRUPVNOUJULUMUNT $.
  $}

  ${
    $d M x $.
    $( A T-raising raised to zero is always a cardinal.  (Contributed by SF,
       16-Mar-2015.) $)
    te0c $p |- ( M e. NC -> ( T_c M ^c 0c ) e. NC ) $=
      ( vx cncs wcel cv cpw1 ctc wex c0c cce cnc wceq elncs vex pw1ex ncid tceq
      co wb syl tcnc syl6eq syl5eleqr eximi c0 wne tccl ce0nnul ce0nulnc bitr3d
      sylbi mpbid ) ACDZBEZFZAGZDZBHZUPIJRZCDZUMAUNKZLZBHURBAMVBUQBVBUOUOKZUPUO
      UNBNZOPVBUPVAGVCAVAQUNVDUAUBUCUDUKUMUSUEUFZURUTUMUPCDZVEURSAUGZUPBUHTUMVF
      VEUTSVGUPUITUJUL $.
  $}

  ${
    $d M n $.
    $( ` ( M ^c 0c ) ` is a cardinal iff ` M ` is a T-raising of some
       cardinal.  (Contributed by SF, 17-Mar-2015.) $)
    ce0tb $p |- ( M e. NC -> ( ( M ^c 0c ) e. NC <-> E. n e. NC M = T_c n ) )
        $=
      ( cncs wcel c0c cce co cv ctc wceq wrex ce0t te0c oveq1 eleq1d syl5ibrcom
      ex rexlimiv impbid1 ) BCDZBEFGZCDZBAHZIZJZACKZTUBUFABLQUEUBACUCCDUBUEUDEF
      GZCDUCMUEUAUGCBUDEFNOPRS $.
  $}

  ${
    $d M n $.  $d M x $.  $d n x $.  $d n y $.  $d x y $.
    $( Cardinal exponentiation to zero is a cardinal iff the number is less
       than the size of cardinal one.  (Contributed by SF, 18-Mar-2015.) $)
    ce0lenc1 $p |- ( M e. NC -> ( ( M ^c 0c ) e. NC <-> M <_c Nc 1c ) ) $=
      ( vn vx vy cncs wcel cv ctc wceq wrex c1c cnc clec wbr wex cpw1 tceq tcnc
      vex wss c0c co ce0tb elncs syl6eq pw1ss1c pw1ex 1cex nclec ax-mp syl6eqbr
      exlimiv sylbi breq1 syl5ibrcom rexlimiv lenc wa wi ncseqnc biimpar sspw12
      cce ncelncsi eqeq1d rspcev mp2an nceq eqcom syl6bb rexbidv mpbiri syl5ibr
      eqeq1 syl rexlimdva sylbid impbid2 bitrd ) AEFZAUAVCUBEFABGZHZIZBEJZAKLZM
      NZBAUCVTWDWFWCWFBEWAEFZWFWCWBWEMNZWGWACGZLZIZCOWHCWAUDWKWHCWKWBWIPZLZWEMW
      KWBWJHWMWAWJQWICSZRUEWLKTWMWEMNWIUFWLKWIWNUGUHUIUJUKULUMAWBWEMUNUOUPVTWFW
      IKTZCAJWDCKAUHUQVTWOWDCAVTWIAFZURAWJIZWOWDUSVTWQWPAWIUTVAWOWDWQWJWBIZBEJZ
      WOWIDGZPZIZDOWSDWIWNVBXBWSDXBWSWBXALZIZBEJZWTLZEFXFHZXCIZXEWTDSZVDWTXIRXD
      XHBXFEWAXFIWBXGXCWAXFQVEVFVGXBWRXDBEXBWRXCWBIXDXBWJXCWBWIXAVHVEXCWBVIVJVK
      VLULUMWQWCWRBEAWJWBVNVKVMVOVPVQVRVS $.
  $}

  ${
    $d M x y z $.
    $( A T-raising is less than or equal to the cardinality of cardinal one.
       (Contributed by SF, 16-Mar-2015.) $)
    tlenc1c $p |- ( M e. NC -> T_c M <_c Nc 1c ) $=
      ( vx vy vz cncs wcel cv cnc wceq wex ctc c1c clec wbr elncs cpw1 wss wrex
      ncid ncex tceq vex tcnc syl6eq pw1ex 1cex pw1ss1c sseq1 sseq2 mp3an brlec
      rspc2ev mpbir syl6eqbr exlimiv sylbi ) AEFABGZHZIZBJAKZLHZMNZBAOUSVBBUSUT
      UQPZHZVAMUSUTURKVDAURUAUQBUBZUCUDVDVAMNCGZDGZQZDVARCVDRZVCVDFLVAFVCLQZVIV
      CUQVEUESLUFSUQUGVHVJVCVGQCDVCLVDVAVFVCVGUHVGLVCUIULUJCDVDVAVCTLTUKUMUNUOU
      P $.
  $}

  $( Cardinal one is not zero.  (Contributed by SF, 4-Mar-2015.) $)
  1ne0c $p |- 1c =/= 0c $=
    ( c0c c1c cplc addcid2 0cnsuc eqnetrri ) ABCBABDAEF $.

  $( Cardinal two is not zero.  (Contributed by SF, 4-Mar-2015.) $)
  2ne0c $p |- 2c =/= 0c $=
    ( c1c cplc c2c c0c 1p1e2c 0cnsuc eqnetrri ) AABCDEAFG $.

  ${
    $d A x $.
    $( A set is finite iff its cardinality is a natural.  (Contributed by SF,
       18-Mar-2015.) $)
    finnc $p |- ( A e. Fin <-> Nc A e. Nn ) $=
      ( vx cv cnc wceq cnnc wrex wcel cfin cncs nnnc ncseqnc syl rexbiia risset
      wb elfin 3bitr4ri ) BCZADZEZBFGASHZBFGTFHAIHUAUBBFSFHSJHUAUBPSKSALMNBTFOB
      AQR $.
  $}

  ${
    $d p q $.  $d p x $.  $d p z $.  $d q x $.  $d q z $.  $d x z $.  $d y z $.
    $d p t $.  $d p u $.  $d q t $.  $d q u $.  $d t u $.  $d t x $.  $d x y $.
    $( The stratified T raising function is a set.  (Contributed by SF,
       18-Mar-2015.) $)
    tcfnex $p |- TcFn e. _V $=
      ( vx vz vp vq vu vt c1c cvv csset cid cv cop wcel wex wbr vex bitri exbii
      wa 3bitri vy ctcfn cxp cins3 ccnv cncs cpw1fn csi ccom ctxp cima cpw1 cin
      csymdif crn ccompl cuni ctc cmpt df-tcfn csn wel cnc wceq wrex weq wb wal
      cins2 oteltxp df-br brcnv brssetsn bitr3i wn opex elrn2 elsymdif otelins2
      elcompl elin opelxp mpbiran2 anbi1i ncseqnc rexbidv brsnsi1 19.41v bitr4i
      snex excom anass anbi2d ceqsexv brpw1fn anbi12i opelco df-clel opelssetsn
      breq1 3bitr4i brsnsi elima1c eluni ancom df-rex syl6rbbr pm5.32i otelins3
      elimapw11c ideq bibi12i xchbinx exnal 3bitrri con1bii cab cio df-tc eqtri
      dfiota2 eleq2i eluniab releqmpt eqtr4i 1cex cnvex ncsex vvex xpex pw1fnex
      ssetex siex coex txpex imaex pw1ex inex ins2ex rnex idex symdifex complex
      ins3ex mptexlem eqeltri ) UBGHUCIUDIUEZUFHUCZIUGUHZUIZUUGUHZIUJZGUKZUJZGU
      LZUKZUMZVIZJUDZUNZUOZUPZUJZUOZVIUNGUKUPUEUMZHUBAGAKZUQZURZUSUVEAUTAUAGUVD
      UVHBKZUAKZVAZUVFLZLUVCMZBNUABVBZCKZUFMZUVODKZULZVCVDZDUVGVEZSZCBVFZVGZCVH
      ZSZBNZUVLUVDMUVJUVHMZUVMUWEBUVMUVIUVKLUUGMZUVIUVFLZUVBMZSUWEUVIUVKUVFUUGU
      VBVJUWHUVNUWJUWDUWHUVIUVKUUGOZUVNUVIUVKUUGVKUWKUVKUVIIOUVNUVIUVKIVLUVJUVI
      UAPBPZVMQVNUWJUWIUVAMZVOUWDUWIUVAUVIUVFUWLAPZVPVTUWDUWMUWMUVOUWILZUUTMZCN
      UWCVOZCNUWDVOCUWIUUTVQUWPUWQCUWPUWOUURMZUWOUUSMZVGUWCUWOUURUUSVRUWRUWAUWS
      UWBUWRUVOUVFLZUUQMUWTUUHMZUWTUUPMZSZUWAUVOUVIUVFUUQUWLVSUWTUUHUUPWAUXCUVP
      UXBSUWAUXAUVPUXBUXAUVPUVFHMUWNUVOUVFUFHWBWCWDUVPUXBUVTUVPUVTUVRUVOMZDUVGV
      EZUXBUVPUVSUXDDUVGUVOUVRWEWFUVQVAZVAZUWTLUUNMZDNUVQUVGMZUXDSZDNUXBUXEUXHU
      XJDUXHUXGUVOLUUJMZUXGUVFLZUUMMZSUXDUXISUXJUXGUVOUVFUUJUUMVJUXKUXDUXMUXIUX
      GEKZUUIOZUXNUVOIOZSZENZFKZUVRVDZFCVBZSZFNZUXKUXDUXRUXNUXSVAZVDZUXFUXSUGOZ
      SZUXPSZFNZENUYHENZFNUYCUXQUYIEUXQUYGFNZUXPSUYIUXOUYKUXPFUXFUXNUGUVQWJZWGW
      DUYGUXPFWHWIRUYHEFWKUYJUYBFUYJUYEUYFUXPSZSZENUYFUYDUVOIOZSZUYBUYHUYNEUYEU
      YFUXPWLRUYMUYPEUYDUXSWJUYEUXPUYOUYFUXNUYDUVOIWTWMWNUYFUXTUYOUYAUVQUXSDPZW
      OUXSUVOFPZCPVMWPTRTEUXGUVOIUUIWQFUVRUVOWRXAUYDUXLLUULMZFNDFVBZFAVBZSZFNUX
      MUXIUYSVUBFUYSUYDUXGLUUKMZUYDUVFLIMZSVUBUYDUXGUVFUUKIVJVUCUYTVUDVUAVUCUYD
      UXGUUKOZUYTUYDUXGUUKVKVUEUXSUXFUUGOUXFUXSIOUYTUXSUXFUUGUYRUYLXBUXSUXFIVLU
      VQUXSUYQUYRVMTVNUXSUVFUYRUWNWSWPQRFUXLUULXCFUVQUVFXDXAWPUXDUXIXETRDUWTUUN
      XJUXDDUVGXFXAXGXHQTUWSUVOUVILJMZUWBUVOUVIUVFJUWNXIVUFUVOUVIJOUWBUVOUVIJVK
      UVOUVIUWLXKVNQXLXMRUWCCXNXOXPQWPQRBUVLUVCVQUWGUVJUWDBXQUQZMUWFUVHVUGUVJUV
      HUWACXRVUGDUVGCXSUWACBYAXTYBUWDBUVJYCQXAYDYEGUVDYFUVCUUGUVBIYLYGZUVAUUTUU
      RUUSUUQUUHUUPUFHYHYIYJUUNUUOUUJUUMIUUIYLUGYKYMYNUULGUUKIUUGVUHYMYLYOYFYPY
      OGYFYQYPYRYSJUUAUUDUUBYTUUCYOYTUUEUUF $.
  $}

  $( Functionhood statement for the stratified T-raising function.
     (Contributed by SF, 18-Mar-2015.) $)
  fntcfn $p |- TcFn Fn 1c $=
    ( vx cv cuni ctc cvv wcel ctcfn c1c wfn df-tcfn fnmpt tcex a1i mprg ) ABZCZ
    DZEFZGHIAHAHQGEAJKROHFPLMN $.

  ${
    $d A x $.
    brtcfn.1 $e |- A e. _V $.
    $( Binary relationship form of the stratified T-raising function.
       (Contributed by SF, 18-Mar-2015.) $)
    brtcfn $p |- ( { A } TcFn B <-> B = T_c A ) $=
      ( vx csn ctcfn cfv wceq ctc wbr c1c wcel snel1c cv cuni unieq syl6eq tceq
      unisn syl df-tcfn tcex fvmpt ax-mp eqeq1i wb fntcfn fnbrfvb mp2an 3bitr3i
      wfn eqcom ) AEZFGZBHZAIZBHUMBFJZBUPHUNUPBUMKLZUNUPHACMZDUMDNZOZIZUPKFUTUM
      HZVAAHVBUPHVCVAUMOAUTUMPACSQVAARTDUAAUBUCUDUEFKUKURUOUQUFUGUSKUMBFUHUIUPB
      ULUJ $.
  $}

  ${
    $d A n $.
    ncfin.1 $e |- A e. _V $.
    $( The cardinality of a set is a natural iff the set is finite.
       (Contributed by SF, 19-Mar-2015.) $)
    ncfin $p |- ( Nc A e. Nn <-> A e. Fin ) $=
      ( vn cnnc wcel cv wrex cfin ncid eleq2 rspcev mpan2 wa wceq eqcom cncs wb
      cnc nnnc ncseqnc syl syl5bb biimpar eleq1d exbiri pm2.43a rexlimiv impbii
      elfin bitr4i ) ARZDEZACFZEZCDGZAHEULUOULAUKEZUOABIUNUPCUKDUMUKAJKLUNULCDU
      NUMDEZULUQUNULUQUQUNMUKUMDUQUKUMNZUNURUMUKNZUQUNUKUMOUQUMPEUSUNQUMSUMATUA
      UBUCUDUEUFUGUHCAUIUJ $.
  $}

  ${
    $d n x $.
    $( Lemma for ~ nclenn .  Set up stratification for induction.  (Contributed
       by SF, 19-Mar-2015.) $)
    nclennlem1 $p |- { x | A. n e. NC ( n <_c x -> n e. Nn ) } e. _V $=
      ( clec cnnc ccompl cres cncs cima cv wbr wcel wi wral wn vex elcompl wrex
      wa bitri complex cab cvv elima brres anbi2i rexbii 3bitrri con1bii abbi2i
      rexanali lecex nncex resex ncsex imaex eqeltrri ) CDEZFZGHZEZBIZAIZCJZVAD
      KZLBGMZAUAUBVEAUTVBUTKVBUSKZNVEVBUSAOPVEVFVFVAVBURJZBGQVCVDNZRZBGQVENBVBU
      RGUCVGVIBGVGVCVAUQKZRVIVAVBCUQUDVJVHVCVADBOPUESUFVCVDBGUJUGUHSUIUSURGCUQU
      KDULTUMUNUOTUP $.
  $}

  ${
    $d m n $.  $d M n $.  $d m p $.  $d m q $.  $d m x $.  $d N n $.  $d n p $.
    $d n q $.  $d n x $.  $d N x $.  $d p q $.
    $( A cardinal that is less than or equal to a natural is a natural.
       Theorem XI.3.3 of [Rosser] p. 391.  (Contributed by SF, 19-Mar-2015.) $)
    nclenn $p |- ( ( M e. NC /\ N e. Nn /\ M <_c N ) -> M e. Nn ) $=
      ( vn vx vp vq cncs wcel cnnc clec wbr wi cv wral c0c c1c cplc wceq breq2
      wa vm nclennlem1 imbi1d ralbidv weq le0nc 0cnc sbth mpan2 peano1 syl6eqel
      imp ex mpan2d rgen w3a wrex wb peano2 syl dflec2 sylan2 ancoms 3adant3 wo
      nnnc nc0suc addceq2 addcid1 syl6eq eqeq2d biimpa eleq1 biimpcd syl5 exp3a
      3ad2ant1 addcass syl6eqr ncaddccl 3ad2antl2 peano4nc addlecncs syl5ibrcom
      adantr syl2anc com23 adantl pm2.27 com24 3impia sylbid rexlimdva rexlimdv
      syl8 jaod 3expia ralimdva finds breq1 imbi12d rspccv com12 3imp ) AGHZBIH
      ZABJKZAIHZXFXEXGXHLZXFCMZBJKZXJIHZLZCGNZXEXILXJDMZJKZXLLZCGNXJOJKZXLLZCGN
      XJUAMZJKZXLLZCGNXJXTPQZJKZXLLZCGNXNDUABDCUBXOORZXQXSCGYFXPXRXLXOOXJJSUCUD
      DUAUEZXQYBCGYGXPYAXLXOXTXJJSUCUDXOYCRZXQYECGYHXPYDXLXOYCXJJSUCUDXOBRZXQXM
      CGYIXPXKXLXOBXJJSUCUDXSCGXJGHZXROXJJKZXLXJUFYJXRYKTZXLYJYLTXJOIYJYLXJORZY
      JOGHYLYMLUGXJOUHUIULUJUKUMUNUOXTIHZYBYECGYNYJYBYEYNYJYBUPZYDYCXJEMZQZRZEG
      UQZXLYNYJYDYSURZYBYJYNYTYNYJYCGHZYTYNYCIHZUUAXTUSZYCVFUTXJYCEVAVBVCVDYOYR
      XLEGYPGHYPORZYPFMZPQZRZFGUQZVEYOYRXLLZFYPVGYOUUDUUIUUHYNYJUUDUUILZYBYNUUB
      UUJUUCUUBUUDYRXLUUDYRTYCXJRZUUBXLUUDYRUUKUUDYQXJYCUUDYQXJOQXJYPOXJVHXJVIV
      JVKVLUUKUUBXLYCXJIVMVNVOVPUTVQYOUUGUUIFGYOUUEGHZTZUUGYRXLUUGYRTYCXJUUEQZP
      QZRZUUMXLUUGYRUUPUUGYQUUOYCUUGYQXJUUFQUUOYPUUFXJVHXJUUEPVRVSVKVLUUMUUPXTU
      UNRZXLUUMXTGHZUUNGHZUUPUUQURYOUURUULYNYJUURYBXTVFVQWEYJYNUULUUSYBXJUUEVTW
      AXTUUNWBWFYOUULUUQXLLZYNYJYBUULUUTLYNYJTZUUQUULYBXLUVAUUQUULYAYBXLLYJUUQU
      ULYALLYNYJUULUUQYAYJUULUUQYALYJUULTYAUUQXJUUNJKXJUUEWCXTUUNXJJSWDUMWGWHYA
      XLWIWOWJWKULWLVOVPWMWPVOWNWLWQWRWSXMXICAGXJARXKXGXLXHXJABJWTXJAIVMXAXBUTX
      CXD $.
  $}

  ${
    $d A x y z $.  $d B x y z $.  $d C x y z $.
    $( Distributivity law for cardinal addition and multiplication.  Theorem
       XI.2.31 of [Rosser] p. 379.  (Contributed by Scott Fenton,
       31-Jul-2019.) $)
    addcdi $p |- ( ( A e. NC /\ B e. NC /\ C e. NC ) ->
       ( A .c ( B +c C ) ) = ( ( A .c B ) +c ( A .c C ) ) ) $=
      ( vx vy vz cncs wcel cplc cmuc co wceq cv cnc vex wa wi cxp mucnc oveq1
      w3a ncaddccl 3adant1 wex elncs ncid mpbiri cin c0 cun wrex eladdc ncseqnc
      eleq2 wb bi2anan9 ncdisjun oveq2d xpdisj2 xpex syl xpundi nceqi addceq12i
      unex eqtri 3eqtr4g eqtr3d addceq12d eqeq12d syl5ibr exlimiv sylbi adantrd
      addceq12 oveq2 adantr adantl imbi2d syl5ibrcom 3ad2ant1 sylbird rexlimdvv
      syl5bi syl5 exlimdv mpd ) AGHZBGHZCGHZUAZBCIZGHZAWLJKZABJKZACJKZIZLZWIWJW
      MWHBCUBUCWMWLDMZNZLZDUDWKWRDWLUEWKXAWRDXAWSWLHZWKWRXAXBWSWTHWSDOZUFWLWTWS
      UNUGXBEMZFMZUHUILZWSXDXEUJZLZPZFCUKEBUKWKWRWSBCEFULWKXIWREFBCWKXDBHZXECHZ
      PZBXDNZLZCXENZLZPZXIWRQZWIWJXQXLUOWHWIXNXJWJXPXKBXDUMCXEUMUPUCWHWIXQXRQWJ
      WHXRXQXIAXMXOIZJKZAXMJKZAXOJKZIZLZQWHXFYDXHWHAWTLZDUDXFYDQZDAUEYEYFDXFYDY
      EWTXSJKZWTXMJKZWTXOJKZIZLXFWTXGNZJKZYGYJXFYKXSWTJXDXEEOZFOZUQURXFWSXDRZWS
      XERZUJZNZYONZYPNZIZYLYJXFYOYPUHUILYRUUALXDXEWSWSUSYOYPWSXDXCYMUTWSXEXCYNU
      TUQVAYLWSXGRZNYRWSXGXCXDXEYMYNVESUUBYQWSXDXEVBVCVFYHYSYIYTWSXDXCYMSWSXEXC
      YNSVDVGVHYEXTYGYCYJAWTXSJTYEYAYHYBYIAWTXMJTAWTXOJTVIVJVKVLVMVNXQWRYDXIXQW
      NXTWQYCXQWLXSAJBCXMXOVOURXQWOYAWPYBXNWOYALXPBXMAJVPVQXPWPYBLXNCXOAJVPVRVI
      VJVSVTWAWBWCWDWEWFWDWG $.
  $}

  $( Distributivity law for cardinal addition and multiplication.  Theorem
     XI.2.30 of [Rosser] p. 379.  (Contributed by Scott Fenton,
     31-Jul-2019.) $)
  addcdir $p |- ( ( A e. NC /\ B e. NC /\ C e. NC ) ->
       ( ( A +c B ) .c C ) = ( ( A .c C ) +c ( B .c C ) ) ) $=
    ( cncs wcel w3a cplc cmuc wceq addcdi 3coml ncaddccl 3adant3 muccom syl2anc
    co simp3 3adant2 3adant1 addceq12d 3eqtr4d ) ADEZBDEZCDEZFZCABGZHPZCAHPZCBH
    PZGZUFCHPZACHPZBCHPZGUDUBUCUGUJICABJKUEUFDEZUDUKUGIUBUCUNUDABLMUBUCUDQUFCNO
    UEULUHUMUIUBUDULUHIUCACNRUCUDUMUIIUBBCNSTUA $.

  ${
    $d A x y $.  $d B x y $.
    $( The cardinal product of two cardinal numbers is zero iff one of the
       numbers is zero.  Biconditional form of theorem XI.2.34 of [Rosser]
       p. 380.  (Contributed by Scott Fenton, 31-Jul-2019.) $)
    muc0or $p |- ( ( A e. NC /\ B e. NC ) -> ( ( A .c B ) = 0c <->
            ( A = 0c \/ B = 0c ) ) ) $=
      ( vx vy cncs wcel wa cmuc co c0c wceq wo cv cnc wex wi df0c2 sylbi eqeq1d
      c0 elncs anbi12i eeanv bitr4i cxp vex mucnc eqeq12i cen wbr xpex eqnc en0
      bitri xpeq0 nceq orim12i oveq12 eqeq1 adantr eqeq2i syl6bb adantl orbi12d
      imbi12d mpbiri exlimivv 0cnc muccom mpan muc0 eqtrd oveq1 syl5ibrcom jaod
      wb oveq2 impbid ) AEFZBEFZGZABHIZJKZAJKZBJKZLZWAACMZNZKZBDMZNZKZGZDOCOZWC
      WFPZWAWICOZWLDOZGWNVSWPVTWQCAUADBUAUBWIWLCDUCUDWMWOCDWMWOWHWKHIZJKZWHTNZK
      ZWKWTKZLZPWSWGWJUEZNZWTKZXCWRXEJWTWGWJCUFZDUFZUGQUHXFXDTKZXCXFXDTUIUJXIXD
      TWGWJXGXHUKULXDUMUNXIWGTKZWJTKZLXCWGWJUOXJXAXKXBWGTUPWJTUPUQRRRWMWCWSWFXC
      WMWBWRJAWHBWKHURSWMWDXAWEXBWMWDWHJKZXAWIWDXLVPWLAWHJUSUTJWTWHQVAVBWLWEXBV
      PWIWLWEWKJKXBBWKJUSJWTWKQVAVBVCVDVEVFVGRWAWDWCWEVTWDWCPVSVTWCWDJBHIZJKVTX
      MBJHIZJJEFVTXMXNKVHJBVIVJBVKVLWDWBXMJAJBHVMSVNVCVSWEWCPVTVSWCWEAJHIZJKAVK
      WEWBXOJBJAHVQSVNUTVOVR $.
  $}

  ${
    $d A q $.  $d B q $.  $d C q $.
    $( Multiplication law for cardinal less than.  Theorem XI.2.35 of [Rosser]
       p. 380.  (Contributed by Scott Fenton, 31-Jul-2019.) $)
    lemuc1 $p |- ( ( ( A e. NC /\ B e. NC /\ C e. NC ) /\ A <_c B ) ->
       ( A .c C ) <_c ( B .c C ) ) $=
      ( vq cncs wcel w3a clec cmuc co cv cplc wceq wrex wb dflec2 3adant3 muccl
      wbr wa wi adantr ancoms adantll addlecncs syl2anc simpll addcdir breqtrrd
      simpr simplr syl3anc oveq1 breq2d syl5ibrcom rexlimdva 3adant2 sylbid imp
      ) AEFZBEFZCEFZGZABHSZACIJZBCIJZHSZVCVDBADKZLZMZDENZVGUTVAVDVKOVBABDPQUTVB
      VKVGUAVAUTVBTZVJVGDEVLVHEFZTZVGVJVEVICIJZHSVNVEVEVHCIJZLZVOHVNVEEFZVPEFZV
      EVQHSVLVRVMACRUBVBVMVSUTVMVBVSVHCRUCUDVEVPUEUFVNUTVMVBVOVQMUTVBVMUGVLVMUJ
      UTVBVMUKAVHCUHULUIVJVFVOVEHBVICIUMUNUOUPUQURUS $.
  $}

  $( Multiplication law for cardinal less than.  (Contributed by Scott Fenton,
     31-Jul-2019.) $)
  lemuc2 $p |- ( ( ( A e. NC /\ B e. NC /\ C e. NC ) /\ B <_c C ) ->
    ( A .c B ) <_c ( A .c C ) ) $=
    ( cncs wcel w3a clec wbr wa cmuc co 3anrot lemuc1 sylanb wceq simpl1 simpl2
    muccom syl2anc simpl3 3brtr4d ) ADEZBDEZCDEZFZBCGHZIZBAJKZCAJKZABJKZACJKZGU
    EUCUDUBFUFUHUIGHUBUCUDLBCAMNUGUBUCUJUHOUBUCUDUFPZUBUCUDUFQABRSUGUBUDUKUIOUL
    UBUCUDUFTACRSUA $.

  $( A cardinal is less than or equal to its product with another.  Theorem
     XI.2.36 of [Rosser] p. 381.  (Contributed by Scott Fenton,
     31-Jul-2019.) $)
  ncslemuc $p |- ( ( M e. NC /\ N e. NC /\ N =/= 0c ) ->
       M <_c ( M .c N ) ) $=
    ( cncs wcel c0c wne w3a c1c clec wbr cmuc co wn df-ne nc0le1 ord syl5bi imp
    wceq wa 3adant1 wi mucid1 ad2antrr 1cnc lemuc2 mp3anl2 eqbrtrrd 3adant3 mpd
    ex ) ACDZBCDZBEFZGHBIJZAABKLZIJZUMUNUOULUMUNUOUNBESZMUMUOBENUMURUOBOPQRUAUL
    UMUOUQUBUNULUMTZUOUQUSUOTAHKLZAUPIULUTASUMUOAUCUDULHCDUMUOUTUPIJUEAHBUFUGUH
    UKUIUJ $.

  $( The product of the cardinality of ` _V ` squared is just the cardinality
     of ` _V ` .  Theorem XI.2.37 of [Rosser] p. 381.  (Contributed by Scott
     Fenton, 31-Jul-2019.) $)
  ncvsq $p |- ( Nc _V .c Nc _V ) = Nc _V $=
    ( cvv cnc cmuc co clec wbr wceq wcel c0 ovex wn cncs vvex mp2an mpbii df-ne
    wne mto mpbir c0c nulnnc ncelncsi muccl eleq1 lecncvg vn0 el0c nemtbir ncid
    eleq2 ncslemuc mp3an wa wi sbth ) ABZUPCDZUPEFZUPUQEFZUQUPGZUQAHUQIQZURUPUP
    CJVAUQIGZKVBILHZUAVBUQLHZVCUPLHZVEVDAMUBZVFUPUPUCNZUQILUDORUQIPSUQAUENVEVEU
    PTQZUSVFVFVHUPTGZKVIATHZVJAIUFAUGUHVIAUPHVJAMUIUPTAUJORUPTPSUPUPUKULVDVEURU
    SUMUTUNVGVFUQUPUONN $.

  $( There are exactly as many ordered pairs as there are sets.  Corollary to
     theorem XI.2.37 of [Rosser] p. 381.  (Contributed by Scott Fenton,
     31-Jul-2019.) $)
  vvsqenvv $p |- ( _V X. _V ) ~~ _V $=
    ( cvv cxp cen xpvv vvex enrflx eqbrtri ) AABAACDAEFG $.

  $( Cardinal one is strictly greater than cardinal zero.  (Contributed by
     Scott Fenton, 1-Aug-2019.) $)
  0lt1c $p |- 0c <c 1c $=
    ( vx c0c cv csn cnc c1c cltc wbr clec wne c0 df0c2 wss 0ss 0ex snex wceq wn
    df-ne wcel nclec ax-mp eqbrtri snnz mpbi ncid eleq2 mpbiri el0c sylib mpbir
    vex mto brltc mpbir2an df1c3 breqtrri ) BACZDZEZFGBUTGHBUTIHBUTJZBKEZUTILKU
    SMVBUTIHUSNKUSOURPZUAUBUCVABUTQZRVDUSKQZUSKJVERURAULZUDUSKSUEVDUSBTZVEVDVGU
    SUTTUSVCUFBUTUSUGUHUSUIUJUMBUTSUKBUTUNUOURVFUPUQ $.

  ${
    $d x y z w $.
    $( The function mapping ` x ` to its cardinal successor exists.
       (Contributed by Scott Fenton, 30-Jul-2019.) $)
    csucex $p |- ( x e. _V |-> ( x +c 1c ) ) e. _V $=
      ( vy vz vw cvv cv c1c cplc caddcfn c1st wbr wex wceq cop wcel bitri exbii
      wa vex syl6bb cmpt csn cxp cres ccnv ccom brcnv br1st anbi1i 19.41v excom
      bitr4i opex breq1 brres braddcfn opelxp mpbiran elsn ceqsexv 1cex addceq2
      anbi12ci eqeq1d opelco copab mptv eleq2i weq addceq1 eqeq1 eqcom opelopab
      eqeq2d 3bitr4ri eqrelriv addcfnex vvex snex xpex resex 1stex coex eqeltri
      cnvex ) AEAFZGHZUAZIEGUBZUCZUDZJUEZUFZEBCWHWMBFZDFZWLKZWOCFZWKKZRZDLZWNGH
      ZWQMZWNWQNZWMOXCWHOZWTWFGMZWNWFHZWQMZRZALZXBWTWOWNWFNZMZWRRZALZDLZXIWSXMD
      WSXKALZWRRXMWPXOWRWPWOWNJKXOWNWOJUGAWOWNBSZUHPUIXKWRAUJULQXNXLDLZALXIXLDA
      UKXQXHAWRXHDXJWNWFXPASZUMXKWRXJWQWKKZXHWOXJWQWKUNXSXJWQIKZXJWJOZRXHXJWQIW
      JUOXTXGYAXEWNWFWQXPXRUPYAWFWIOZXEYAWNEOYBXPWNWFEWIUQURAGUSPVCPTUTQPPXGXBA
      GVAXEXFXAWQWFGWNVBVDUTPDWNWQWKWLVEXDXCWOWGMZADVFZOXBWHYDXCADWGVGVHYCWOXAM
      ZXBADWNWQXPCSABVIWGXAWOWFWNGVJVNDCVIYEWQXAMXBWOWQXAVKWQXAVLTVMPVOVPWKWLIW
      JVQEWIVRGVSVTWAJWBWEWCWD $.
  $}

  ${
    $d A x y $.  $d B x y $.
    brcsuc.1 $e |- A e. _V $.
    brcsuc.2 $e |- B e. _V $.
    $( Binary relationship form of the successor mapping function.
       (Contributed by Scott Fenton, 2-Aug-2019.) $)
    brcsuc $p |- ( A ( x e. _V |-> ( x +c 1c ) ) B <-> B = ( A +c 1c ) ) $=
      ( vy cv c1c cplc wceq cvv cmpt addceq1 eqeq2d eqeq1 mptv brab ) FGZAGZHIZ
      JRBHIZJCUAJAFBCAKTLDESBJTUARSBHMNRCUAOAFTPQ $.
  $}

  ${
    $d x y w $.
    $( Lemma for ~ nnltp1c .  Set up stratification.  (Contributed by SF,
       25-Mar-2015.) $)
    nnltp1clem1 $p |- { x | x <c ( x +c 1c ) } e. _V $=
      ( vw vy cltc ccnv cvv cv c1c cplc cmpt ccom cfix wbr cab elfix wa wex vex
      wcel bitri brco wceq brcsuc brcnv anbi12i exbii 1cex addcex breq2 ceqsexv
      abbi2i ltcex cnvex csucex coex fixex eqeltrri ) DEZBFBGHIJZKZLZAGZVBHIZDM
      ZANFVDAVAVBVASVBVBUTMZVDVBUTOVEVBCGZUSMZVFVBURMZPZCQZVDCVBVBURUSUAVJVFVCU
      BZVBVFDMZPZCQVDVIVMCVGVKVHVLBVBVFARZCRUCVFVBDUDUEUFVLVDCVCVBHVNUGUHVFVCVB
      DUIUJTTTUKUTURUSDULUMBUNUOUPUQ $.
  $}

  ${
    $d n x $.  $d N x $.
    $( Any natural is less than one plus itself.  (Contributed by SF,
       25-Mar-2015.) $)
    nnltp1c $p |- ( N e. Nn -> N <c ( N +c 1c ) ) $=
      ( vx vn cv c1c cplc cltc wbr c0c wceq addceq1 breq12d clec cncs wcel 1cnc
      id wne brltc cnnc nnltp1clem1 0cnc addlecncs mp2an 0cnsuc necomi mpbir2an
      weq wa wi nnnc peano2nc syl w3a leaddc1 ex mp3an3 syl2anc peano2 suc11nnc
      wb mpdan biimpd necon3d anim12d 3imtr4g finds ) BDZVHEFZGHIIEFZGHZCDZVLEF
      ZGHZVMVMEFZGHZAAEFZGHBCABUAVHIJZVHIVIVJGVRQVHIEKLBCUHZVHVLVIVMGVSQVHVLEKL
      VHVMJZVHVMVIVOGVTQVHVMEKLVHAJZVHAVIVQGWAQVHAEKLVKIVJMHZIVJRINOENOZWBUBPIE
      UCUDVJIIUEUFIVJSUGVLTOZVLVMMHZVLVMRZUIVMVOMHZVMVORZUIVNVPWDWEWGWFWHWDVLNO
      ZVMNOZWEWGUJZVLUKZWDWIWJWLVLULUMWIWJWCWKPWIWJWCUNWEWGEVLVMUOUPUQURWDVMVOV
      LVMWDVMVOJZVLVMJZWDVMTOWMWNVAVLUSVLVMUTVBVCVDVEVLVMSVMVOSVFVG $.
  $}

  ${
    $d n p q x y z $.
    $( Lemma for ~ addccan2nc .  Stratification helper theorem.  (Contributed
       by Scott Fenton, 2-Aug-2019.) $)
    addccan2nclem1 $p |- ( x ( AddC o. `' ( 1st |` ( _V X. { n } ) ) ) y
                    <-> y = ( x +c n ) ) $=
      ( vz vp vq cv caddcfn c1st cvv wbr cop wceq wa opeq2 eqeq2d 3bitri anbi1i
      wex weq csn cxp cres ccnv ccom cplc brco wcel brcnv brres w3a ancom elxp2
      wrex rexv rexsn exbii bitri exancom 19.41v bitr4i br1st eqeq1 opth syl6bb
      pm5.32ri equcom anbi2i equcoms adantl pm5.32i df-3an 2exbii ceqsex2v opex
      vex opeq1 breq1 ceqsexv braddcfn eqcom ) AGZBGZHIJCGZUAZUBZUCZUDZUEKZWBWD
      LZWCHKZWBWDUFZWCMWCWLMWIWBDGZWHKZWMWCHKZNZDSWMWJMZWONZDSWKDWBWCHWHUGWPWRD
      WNWQWOWNWMWBWGKWMWBIKZWMWFUHZNZWQWBWMWGUIWMWBIWFUJXAWSWMEGZWDLZMZNZESZEAT
      ZFCTZWMXBFGZLZMZUKZFSESZWQXAXDESZWSNZXFXAWTWSNXOWSWTULWTXNWSWTXKFWEUNZEJU
      NXPESXNEFWMJWEUMXPEUOXPXDEXKXDFWDCVPZXHXJXCWMXIWDXBOPUPUQQRURXFXDWSNESXOW
      SXDEUSXDWSEUTURVAXFWMWBXILZMZXDNZFSZESXMXEYAEXEXSFSZXDNYAWSYBXDFWMWBAVPZV
      BRXSXDFUTVAUQXTXLEFXTXGXHNZXKNZXLXTXGCFTZNZXDNYDXDNYEXDXSYGXDXSXCXRMYGWMX
      CXRVCXBWDWBXIVDVEVFYGYDXDYFXHXGCFVGVHRYDXDXKYDXCXJWMXHXCXJMZXGYHCFWDXIXBO
      VIVJPVKQXGXHXKVLVAVMURXKXSWQEFWBWDYCXQXGXJXRWMXBWBXIVQPXHXRWJWMXIWDWBOPVN
      QQRUQWOWKDWJWBWDYCXQVOWMWJWCHVRVSQWBWDWCYCXQVTWLWCWAQ $.
  $}

  ${
    $d N n p x y $.  $d P p x y $.
    $( Lemma for ~ addccan2nc .  Establish stratification for induction.
       (Contributed by Scott Fenton, 2-Aug-2019.) $)
    addccan2nclem2 $p |- ( ( N e. V /\ P e. W ) ->
                { x | ( ( x +c N ) = ( x +c P ) -> N = P ) } e. _V ) $=
      ( vn vp vy wcel wa cv cplc wceq cab cvv caddcfn c1st ccnv ccom wbr ccompl
      wi cun wn wo unab complab uneq1i imor abbii 3eqtr4i addceq2 eqeq1d abbidv
      eleq1d eqeq2d csn cxp cres cfix wex elfix brco addccan2nclem1 brcnv bitri
      anbi12i exbii addcex eqeq1 ceqsexv 3bitri abbi2i addcfnex 1stex vvex snex
      vex xpex resex cnvex coex fixex eqeltrri vtocl2g complexg syl abexv unexg
      sylancl syl5eqelr ) CDIBEIJZAKZCLZWMBLZMZCBMZUBZANZWPANZUAZWQANZUCZOWPUDZ
      ANZXBUCXDWQUEZANXCWSXDWQAUFXAXEXBWPAUGUHWRXFAWPWQUIUJUKWLXAOIZXBOIXCOIWLW
      TOIZXGWMFKZLZWMGKZLZMZANZOIWNXLMZANZOIXHFGCBDEXICMZXNXPOXQXMXOAXQXJWNXLXI
      CWMULUMUNUOXKBMZXPWTOXRXOWPAXRXLWOWNXKBWMULUPUNUOPQOXKUQZURZUSZRZSZRZPQOX
      IUQZURZUSZRZSZSZUTZXNOXMAYKWMYKIWMWMYJTZHKZXJMZYMXLMZJZHVAZXMWMYJVBYLWMYM
      YITZYMWMYDTZJZHVAYQHWMWMYDYIVCYTYPHYRYNYSYOAHFVDYSWMYMYCTYOYMWMYCVEAHGVDV
      FVGVHVFYOXMHXJWMXIAVRFVRVIYMXJXLVJVKVLVMYJYDYIYCPYBVNYAQXTVOOXSVPXKVQVSVT
      WAWBWAPYHVNYGQYFVOOYEVPXIVQVSVTWAWBWBWCWDWEWTOWFWGWQAWHXAXBOOWIWJWK $.
  $}

  ${
    $d M x m $.  $d N x m $.  $d P x m $.
    $( Cancellation law for addition over the cardinal numbers.  Biconditional
       form of theorem XI.3.2 of [Rosser] p. 391.  (Contributed by Scott
       Fenton, 2-Aug-2019.) $)
    addccan2nc $p |- ( ( M e. Nn /\ N e. NC /\ P e. NC ) ->
        ( ( M +c N ) = ( M +c P ) <-> N = P ) ) $=
      ( vx vm cnnc wcel cncs cplc wceq wi cv c0c c1c wa addceq1 eqeq12d addcid2
      imbi1d eqeq12i w3a cvv addccan2nclem2 weq biimpi a1i addc32 nnnc ncaddccl
      sylan adantrr adantr adantrl peano4nc biimpd syl2anc simpr syld syl5bi ex
      findsd 3impb addceq2 impbid1 ) BFGZCHGZAHGZUABCIZBAIZJZCAJZVEVFVGVJVKKZDL
      ZCIZVMAIZJZVKKMCIZMAIZJZVKKZELZCIZWAAIZJZVKKZWANIZCIZWFAIZJZVKKZVLVFVGOZD
      EBUBDACHHUCVMMJZVPVSVKWLVNVQVOVRVMMCPVMMAPQSDEUDZVPWDVKWMVNWBVOWCVMWACPVM
      WAAPQSVMWFJZVPWIVKWNVNWGVOWHVMWFCPVMWFAPQSVMBJZVPVJVKWOVNVHVOVIVMBCPVMBAP
      QSVTWKVSVKVQCVRACRARTUEUFWAFGZWKOZWEWJWIWBNIZWCNIZJZWQWEOZVKWGWRWHWSWANCU
      GWANAUGTXAWTWDVKXAWBHGZWCHGZWTWDKWQXBWEWPVFXBVGWPWAHGZVFXBWAUHZWACUIUJUKU
      LWQXCWEWPVGXCVFWPXDVGXCXEWAAUIUJUMULXBXCOWTWDWBWCUNUOUPWQWEUQURUSUTVAVBCA
      BVCVD $.
  $}

  ${
    $d M q $.  $d N q $.  $d P q $.
    $( Cardinal addition preserves cardinal less than.  Biconditional form of
       corollary 4 of theorem XI.3.2 of [Rosser] p. 391.  (Contributed by Scott
       Fenton, 2-Aug-2019.) $)
    lecadd2 $p |- ( ( M e. Nn /\ N e. NC /\ P e. NC ) ->
       ( ( M +c N ) <_c ( M +c P ) <-> N <_c P ) ) $=
      ( vq cnnc wcel cncs w3a cplc clec wbr cv wceq wrex wb nnnc ncaddccl sylan
      3ad2antl2 sylbid 3adant3 3adant2 dflec2 syl2anc addcass eqeq2i addccan2nc
      simpl1 simpl3 syl3anc addlecncs breq2 syl5ibrcom syl5bi rexlimdva leaddc2
      wa wi ex syl3an1 impbid ) BEFZCGFZAGFZHZBCIZBAIZJKZCAJKZVEVHVGVFDLZIZMZDG
      NZVIVEVFGFZVGGFZVHVMOVBVCVNVDVBBGFZVCVNBPZBCQRUAVBVDVOVCVBVPVDVOVQBAQRUBV
      FVGDUCUDVEVLVIDGVLVGBCVJIZIZMZVEVJGFZUQZVIVKVSVGBCVJUEUFWBVTAVRMZVIWBVBVD
      VRGFZVTWCOVBVCVDWAUHVBVCVDWAUIVCVBWAWDVDCVJQSVRBAUGUJWBVIWCCVRJKZVCVBWAWE
      VDCVJUKSAVRCJULUMTUNUOTVBVPVCVDVIVHURVQVPVCVDHVIVHABCUPUSUTVA $.
  $}

  ${
    $d M p q $.  $d N p q $.
    $( Relationship between successor and cardinal less than or equal.
       (Contributed by Scott Fenton, 3-Aug-2019.) $)
    ncslesuc $p |- ( ( M e. NC /\ N e. NC ) -> ( M <_c ( N +c 1c ) <->
       ( M <_c N \/ M = ( N +c 1c ) ) ) ) $=
      ( vp vq cncs wcel wa c1c cplc clec wbr wceq wo cv wrex c0c addceq2 adantl
      wb wi peano2nc dflec2 sylan2 nc0suc addcid1 syl6eq eqeq2d olc a1i addcass
      eqcoms syl6bi syl6eqr biimpa ncaddccl adantlr peano4nc syl2anc syl5ibrcom
      simplr addlecncs breq2 orc syl6 sylbid syl5 exp3a rexlimdva jaod rexlimdv
      1cnc mpan2 lectr mpd3an3 mpan2d nclecid syl breq1 impbid ) AEFZBEFZGZABHI
      ZJKZABJKZAWCLZMZWBWDWCACNZIZLZCEOZWGWAVTWCEFZWDWKSBUAZAWCCUBUCWBWJWGCEWHE
      FWHPLZWHDNZHIZLZDEOZMWBWJWGTZDWHUDWBWNWSWRWNWSTWBWNWJWCALWGWNWIAWCWNWIAPI
      AWHPAQAUEUFUGWGAWCWFWEUHUKULUIWBWQWSDEWBWOEFZGZWQWJWGWQWJGWCAWOIZHIZLZXAW
      GWQWJXDWQWIXCWCWQWIAWPIXCWHWPAQAWOHUJUMUGUNXAXDBXBLZWGXAWAXBEFZXDXESVTWAW
      TUTVTWTXFWAAWOUOUPBXBUQURXAXEWEWGXAWEXEAXBJKZVTWTXGWAAWOVAUPBXBAJVBUSWEWF
      VCVDVEVFVGVHVIVFVJVEWBWEWDWFWBWEBWCJKZWDWAXHVTWAHEFXHVKBHVAVLRVTWAWLWEXHG
      WDTWAWLVTWMRABWCVMVNVOWBWDWFWCWCJKZWAXIVTWAWLXIWMWCVPVQRAWCWCJVRUSVIVS $.
  $}

  ${
    $d m p $.  $d m q $.  $d m x $.  $d m y $.  $d p q $.  $d p t $.  $d p x $.
    $d p y $.  $d q t $.  $d q x $.  $d t x $.  $d x y $.
    $( Lemma for ~ nmembers1 .  Set up stratification.  (Contributed by SF,
       25-Mar-2015.) $)
    nmembers1lem1 $p |- { x | { m e. Nn | ( 1c <_c m /\ m <_c x ) } e. T_c
                                                  T_c x } e. _V $=
      ( vp vq vt clec c1c cnnc cvv ctcfn cin cv wbr wa wcel wex cop exbii bitri
      3bitri vy csset cins3 csn cima cres csi cins2 csymdif ccompl ccnv cxp crn
      ccom cuni1 crab ctc cab vex snex wceq wel w3a elrn2 elima1c elin otelins2
      eluni1 opsnelsi opelres ancom df-br brres bitr4i anbi1i bitr3i anbi2i weq
      elimasn breq2 breq1 anbi12d 3bitr4i releqel opelxp mpbiran opelco brsnsi2
      elrab 19.42v excom an12 anbi1d ceqsexv brcnv brtcfn anbi12i tcex otelins3
      tceq eqeq2d opelssetsn df-3an imasn iniseg inab eqtri ineq1i dfrab2 lecex
      eqtr4i imaex cnvex inex nncex eqeltrri eleq1 eleq2 ceqsex2v abbi2i ssetex
      ineq12i ins3ex resex siex ins2ex symdifex 1cex vvex tcfnex coex xpex rnex
      complex uni1ex ) UBUCZFFGUDZUEZUFZHUFZUGZUHZUIZGUEZUJZUGZUHZIJUKZUGZUUHUN
      ZULZKZYPKZGUEZUMZUOZUOZGBLZFMZUURALZFMZNZBHUPZUUTUQZUQZOZAURIUVFAUUQUUTUU
      QOUUTUDZUUPOUVGUDZUUOOZUVFUUTUUPAUSZVHUVGUUOUUTUTZVHUVICLZUVCVAZDLZUVEVAZ
      CDVBZVCZCPZDPZUVQDPCPUVFUVIUVNUVHQZUUNOZDPUVSDUVHUUNVDUWAUVRDUWAUVLUDZUVT
      QZUUMOZCPUVRCUVTUUMVEUWDUVQCUWCUULOZUWCYPOZNUVMUVONZUVPNUWDUVQUWEUWGUWFUV
      PUWEUWCUUGOZUWCUUKOZNUWGUWCUUGUUKVFUWHUVMUWIUVOUWHUWBUVHQUUFOUVLUVGQUUEOU
      VMUWBUVNUVHUUFDUSZVGUVLUVGUUECUSZUVKVICUAUVCUUAUVGUVKUALZUUTQZYTOZUWLHOZG
      UWLFMZUWLUUTFMZNZNZUWLUDUVGQUUAOUWLUVCOUWNUWMYSOZUWONUWOUWTNUWSUWLUUTYSHV
      JUWTUWOVKUWTUWRUWOUWTUWLUUTYSMZUWRUWLUUTYSVLUXAUWQUWLYROZNUXBUWQNUWRUWLUU
      TFYRVMUWQUXBVKUXBUWPUWQUXBGUWLQFOUWPFGUWLVSGUWLFVLVNVOTVPVQTUWLUUTYTUAUSU
      VJVIUVBUWRBUWLHBUAVRUUSUWPUVAUWQUURUWLGFVTUURUWLUUTFWAWBWIWCWDTUWIUVTUUJO
      ZUVNELZUUHMZUXDUVHUUIMZNZEPZUVOUWIUWBIOUXCUVLUTZUWBUVTIUUJWEWFEUVNUVHUUIU
      UHWGUXHUXEUXDUWBVAZUVLUVGUUHMZNZNZCPZEPUXMEPZCPZUVOUXGUXNEUXGUXEUXLCPZNUX
      NUXFUXQUXECUVGUXDUUHUVKWHVQUXEUXLCWJVNRUXMECWKUXPUVNUWBUUHMZUXKNZCPUVLUVD
      VAZUVNUVLUQZVAZNZCPUVOUXOUXSCUXOUXJUXEUXKNZNZEPUXSUXMUYEEUXEUXJUXKWLRUYDU
      XSEUWBUXIUXJUXEUXRUXKUXDUWBUVNUUHVTWMWNSRUXSUYCCUXSUYBUXTNUYCUXRUYBUXKUXT
      UXRUWBUVNJMUYBUVNUWBJWOUVLUVNUWKWPSUXKUVGUVLJMUXTUVLUVGJWOUUTUVLUVJWPSWQU
      YBUXTVKSRUYBUVOCUVDUUTWRUXTUYAUVEUVNUVLUVDWTXAWNTTTWQSUWFUWBUVNQUBOUVPUWB
      UVNUVHUBUVGUTWSUVLUVNUWKUWJXBSWQUWCUULYPVFUVMUVOUVPXCWCRSRSUVQDCWKUVPUVCU
      VNOUVFCDUVCUVEYRFUKZUVGUEZKZHKZUVCIUYIUVBBURZHKUVCUYHUYJHUYHUUSBURZUVABUR
      ZKUYJYRUYKUYGUYLBGFXDBFUUTXEYBUUSUVABXFXGXHUVBBHXIXKUYHHYRUYGFYQXJGUTXLZU
      YFUVGFXJXMUVKXLXNXOXNXPUVDWRUVLUVCUVNXQUVNUVEUVCXRXSTTXTUUPUUOUUNUUMGUULY
      PUUGUUKUUFUUEUUDUUCGYPUUBUBYAYCZUUAYTYSHFYRXJUYMYDXOYDYEYFYGYHXLYNYEYFIUU
      JYIUUIUUHUUHJYJXMZYEUYOYKYLXNUYNXNYHXLYMYOYOXP $.
  $}

  $( Lemma for ~ nmembers1 .  The set of all elements between one and zero is
     empty.  (Contributed by Scott Fenton, 1-Aug-2019.) $)
  nmembers1lem2 $p |- { m e. Nn | ( 1c <_c m /\ m <_c 0c ) } e. 0c $=
    ( c1c cv clec wbr wa cnnc crab wcel wn wral wi cltc 0lt1c cncs wb 0cnc 1cnc
    c0c ltlenlec mp2an mpbi simpri nnnc lectr mp3an13 syl exp3a imp imnan sylib
    mtoi ex rgen c0 wceq el0c rabeq0 bitri mpbir ) BACZDEZVASDEZFZAGHZSIZVDJZAG
    KZVGAGVAGIZVBVCJZLVGVIVBVJVIVBFVCBSDEZSBDEZVKJZSBMEZVLVMFZNSOIZBOIZVNVOPQRS
    BTUAUBUCVIVBVCVKLVIVBVCVKVIVAOIZVDVKLZVAUDVQVRVPVSRQBVASUEUFUGUHUIULUMVBVCU
    JUKUNVFVEUOUPVHVEUQVDAGURUSUT $.

  ${
    $d A m x y $.  $d B m x y $.
    $( Lemma for ~ nmembers1 .  If the interval from one to a natural is in a
       given natural, extending it by one puts it in the next natural.
       (Contributed by Scott Fenton, 3-Aug-2019.) $)
    nmembers1lem3 $p |- ( ( A e. Nn /\ B e. Nn ) ->
     ( { m e. Nn | ( 1c <_c m /\ m <_c A ) } e. B ->
       { m e. Nn | ( 1c <_c m /\ m <_c ( A +c 1c ) ) } e. ( B +c 1c ) ) ) $=
      ( vx vy c1c cv clec wbr wa cnnc wcel cplc cun wceq wn cncs adantr anbi12d
      wo crab csn ccompl wrex wi cltc nnltp1c wb nnnc peano2 syl ltlenlec mpbid
      syl2anc simprd intnand a1d breq2 breq1 elrab notbii imnan bitr4i elcomplg
      sylibr mpbird ncslesuc syl2an expcom adantrd pm5.32d anass orbi1i 3bitr3g
      andi bitri 1cnc addlecncs sylancr syl6breqr jca eleq1 syl5ibrcom pm4.71rd
      addccom bicomd orbi2d bitrd elun elsn orbi12i 3bitr4g eqrdv uneq2d eqeq2d
      weq sneq rspcev compleq uneq1 rexeqbidv sylan2 elsuc ) FCGZHIZXDAHIZJZCKU
      AZBLZAKLZBKLZJZXEXDAFMZHIZJZCKUAZBFMLZXIXLJXPDGZEGZUBZNZOZEXRUCZUDZDBUDZX
      QXLXIXPXHXTNZOZEXHUCZUDZYEXLXMYHLZXPXHXMUBZNZOZYIXLYJXMXHLZPZXLXMKLZFXMHI
      ZXMAHIZJZPZUEZYOXLYTYPXLYRYQXJYRPZXKXJAXMHIZUUBXJAXMUFIZUUCUUBJZAUGXJAQLZ
      XMQLZUUDUUEUHAUIZXJYPUUGAUJZXMUIUKAXMULUNUMUORUPUQYOYPYSJZPUUAYNUUJXGYSCX
      MKXDXMOXEYQXFYRXDXMFHURXDXMAHUSSUTVAYPYSVBVCVEXLYPYJYOUHXJYPXKUUIRXMXHKVD
      UKVFXLDXPYLXLXRKLZFXRHIZXRXMHIZJZJZUUKUULXRAHIZJZJZXRXMOZTZXRXPLXRYLLZXLU
      UOUURUUKUULJZUUSJZTZUUTXLUVBUUMJUVBUUPUUSTZJZUUOUVDXLUVBUUMUVEXJUVBUUMUVE
      UHZUEXKXJUUKUVGUULUUKXJUVGUUKXRQLUUFUVGXJXRUIUUHXRAVGVHVIVJRVKUUKUULUUMVL
      UVFUVBUUPJZUVCTUVDUVBUUPUUSVOUVHUURUVCUUKUULUUPVLVMVPVNXLUVCUUSUURXLUUSUV
      CXLUUSUVBXJUUSUVBUEXKXJUVBUUSYPYQJXJYPYQUUIXJFFAMZXMHXJFQLUUFFUVIHIVQUUHF
      AVRVSAFWEVTWAUUSUUKYPUULYQXRXMKWBXRXMFHURSWCRWDWFWGWHXOUUNCXRKCDWPZXEUULX
      NUUMXDXRFHURZXDXRXMHUSSUTUVAXRXHLZXRYKLZTUUTXRXHYKWIUVLUURUVMUUSXGUUQCXRK
      UVJXEUULXFUUPUVKXDXRAHUSSUTDXMWJWKVPWLWMYGYMEXMYHXSXMOZYFYLXPUVNXTYKXHXSX
      MWQWNWOWRUNYDYIDXHBXRXHOZYBYGEYCYHXRXHWSUVOYAYFXPXRXHXTWTWOXAWRXBEXPBDXCV
      EVI $.
  $}

  ${
    $d N m n a $.
    $( Count the number of elements in a natural interval.  From
       ~ nmembers1lem2 and ~ nmembers1lem3 , we would expect to arrive at
       ` { m e. Nn | ( 1c <_c m /\ m <_c N ) } e. N ` , but this proposition is
       not stratifiable.  Instead, we arrive at the weaker conclusion below.
       We can arrive at the earlier proposition once we add the Axiom of
       Counting, which we will do later.  (Contributed by Scott Fenton,
       3-Aug-2019.) $)
    nmembers1 $p |- ( N e. Nn ->
      { m e. Nn | ( 1c <_c m /\ m <_c N ) } e. T_c T_c N ) $=
      ( vn c1c clec wbr wa cnnc crab ctc wcel c0c cplc wceq anbi2d rabbidv tceq
      breq2 syl eleq12d va nmembers1lem1 weq nmembers1lem2 ax-mp eqtri eleqtrri
      cv tc0c wi nntccl nmembers1lem3 cncs nnnc 1cnc tcdi mpan2 addceq2i syl6eq
      wb tc1c tccl eqtrd eleq2d adantr sylibrd mpdan finds ) DAUHZEFZVICUHZEFZG
      ZAHIZVKJZJZKVJVILEFZGZAHIZLJZJZKVJVIUAUHZEFZGZAHIZWBJZJZKZVJVIWBDMZEFZGZA
      HIZWIJZJZKZVJVIBEFZGZAHIZBJZJZKCUABCAUBVKLNZVNVSVPWAXAVMVRAHXAVLVQVJVKLVI
      EROPXAVOVTNVPWANVKLQVOVTQSTCUAUCZVNWEVPWGXBVMWDAHXBVLWCVJVKWBVIEROPXBVOWF
      NVPWGNVKWBQVOWFQSTVKWINZVNWLVPWNXCVMWKAHXCVLWJVJVKWIVIEROPXCVOWMNVPWNNVKW
      IQVOWMQSTVKBNZVNWRVPWTXDVMWQAHXDVLWPVJVKBVIEROPXDVOWSNVPWTNVKBQVOWSQSTVSL
      WAAUDWAVTLVTLNWAVTNUIVTLQUEUIUFUGWBHKZWGHKZWHWOUJXEWFHKXFWBUKWFUKSXEXFGWH
      WLWGDMZKZWOWBWGAULXEWOXHUTXFXEWNXGWLXEWBUMKZWNXGNWBUNXIWNWFDMZJZXGXIWMXJN
      WNXKNXIWMWFDJZMZXJXIDUMKZWMXMNUOWBDUPUQXLDWFVAURUSWMXJQSXIXKWGXLMZXGXIWFU
      MKZXKXONZWBVBXPXNXQUOWFDUPUQSXLDWGVAURUSVCSVDVEVFVGVH $.
  $}

  $( Cardinal less than is irreflexive. (Contributed by Scott Fenton,
     12-Dec-2021.) $)
  ltcirr $p |- -. A <c A $=
    ( clec wbr wn wne wo cltc neirr olci wa brltc anor bitri con2bii mpbi ) AAB
    CZDZAAEZDZFZAAGCZDSQAHIUATUAPRJTDAAKPRLMNO $.


$(
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
        Specker's disproof of the axiom of choice
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
$)
  $c Sp[ac] $. $( Special set generator for axiom of choice. $)

  $( Extend the definition of a class to include the special set generator for
     the axiom of choice. $)
  cspac $a class Sp[ac] $.

  ${
    $d m x y $.
    $( Define the special class generator for the disproof of the axiom of
       choice.  Definition 6.1 of [Specker] p. 973.  (Contributed by SF,
       3-Mar-2015.) $)
    df-spac $a |- Sp[ac] = ( m e. NC |->
        Clos1 ( { m } ,
        { <. x , y >. | ( x e. NC /\ y e. NC /\ y = ( 2c ^c x ) ) } ) ) $.
  $}

  ${
    $d b m $.  $d m n $.  $d m t $.  $d n t $.  $d b t $.
    $( Lemma for ~ nncdiv3 .  Set up a helper for stratification.  (Contributed
       by SF, 3-Mar-2015.) $)
    nncdiv3lem1 $p |- ( <. n , b >. e. ran ( Ins3 `' ( ( ran ( `' 1st (x) ( 1st
        i^i 2nd ) ) (x) 2nd ) " AddC ) i^i ( ( ( 1st o. 1st ) (x) ( ( 2nd o.
        1st ) (x) 2nd ) ) " AddC ) ) <-> b = ( ( n +c n ) +c n ) ) $=
      ( vm vt cv cop c1st c2nd ctxp caddcfn wcel wex wceq wa vex wbr wrex df-br
      bitri 3bitri ccnv cin crn cima cins3 ccom cplc elrn2 elin otelins3 cproj1
      opelcnv proj1ex eqvinc cproj2 opeq breq1i proj2ex opbr1st oteltxp 3bitr2i
      trtxp eqcom anbi12i op1st2nd exbii 3bitr4ri anbi1i rexbii risset braddcfn
      opex elima 3bitr4i anbi2i anass brco ceqsexv bitr2i addcex addceq1 eqeq2d
      breq1 ) AEZBEZFZGUAZGHUBZIZUCZHIZJUDZUAZUEZGGUFZHGUFZHIZIZJUDZUBZUCKCEZWF
      FZWTKZCLXAWDWDUGZMZWEXAWDUGZMZNZCLWEXDWDUGZMZCWFWTUHXCXHCXCXBWNKZXBWSKZNX
      HXBWNWSUIXKXEXLXGXKXAWDFZWMKWDXAFZWLKZXEXAWDWEWMBOZUJXAWDWLULXOWDWDFZXAJP
      ZXDXAMXEDEZXNWKPZDJQXSXQXAFZMZDJQZXOXRXTYBDJXTXSWDWJPZXSXAHPZNXSXQGPZYENY
      BXSWDXAWJHVBYDYFYEYDXSWDFZWJKXAYGFWIKZCLZYFXSWDWJRCYGWIUHXSUKZXQMZXAYJMZX
      AXQMZNZCLYFYICYJXQXSDOZUMZUNYFYJXSUOZFZXQGPYKXSYRXQGXSUPZUQYJYQXQYPXSYOUR
      ZUSSYHYNCYHXAXSFWGKZXMWHKZNYNXAXSWDWGWHUTUUAYLUUBYMUUAXSXAFGKXSXAGPZYLXAX
      SGULXSXAGRUUCYRXAGPYJXAMYLXSYRXAGYSUQYJYQXAYPYTUSYJXAVCTZVAUUBXMGKZXMHKZN
      XAWDGPZXAWDHPZNYMXMGHUIUUGUUEUUHUUFXAWDGRXAWDHRVDWDWDXAAOZUUIVEVAVDSVFVGT
      VHXQXAXSWDWDUUIUUIVLCOZVETVIDXNWKJVMXRYAJKYCXQXAJRDYAJVJSVNWDWDXAUUIUUIVK
      XDXAVCTTXLXSXMWEFZMZDJQZXMWEJPZXGXLXSXBWRPZDJQUUMDXBWRJVMUUOUULDJUUOXSXAW
      OPZXSWFWQPZNZXSXMGPZXSWEHPZNZUULXSXAWFWOWQVBUURUUPXSWDWPPZUUTNZNUUPUVBNZU
      UTNUVAUUQUVCUUPXSWDWEWPHVBVOUUPUVBUUTVPUVDUUSUUTYJXAGPZYJWDHPZNYJXMMZUVDU
      USXAWDYJUUJUUIVEUUPUVEUVBUVFUUPXSWDGPZWDXAGPZNZALWDYJMZUVINZALUVEAXSXAGGV
      QUVJUVLAUVHUVKUVIUVHYRWDGPYJWDMUVKXSYRWDGYSUQYJYQWDYPYTUSYJWDVCTVHVFUVIUV
      EAYJYPWDYJXAGWCVRTUVBUUCUUHNZCLYLUUHNZCLUVFCXSWDHGVQUVMUVNCUUCYLUUHUUDVHV
      FUUHUVFCYJYPXAYJWDHWCVRTVDUUSYRXMGPUVGXSYRXMGYSUQYJYQXMYPYTUSSVNVHVAXMWEX
      SXAWDUUJUUIVLXPVETVISUUNUUKJKUUMXMWEJRDUUKJVJVSUUNXFWEMXGXAWDWEUUJUUIVKXF
      WEVCSTVDSVFXGXJCXDWDWDUUIUUIVTXEXFXIWEXAXDWDWAWBVRT $.
  $}

  ${
    $d a b $.  $d a n $.  $d b n $.
    $( Lemma for ~ nncdiv3 .  Set up stratification for induction.
       (Contributed by SF, 2-Mar-2015.) $)
    nncdiv3lem2 $p |- { a | E. n e. Nn ( a = ( ( n +c n ) +c n ) \/
   a = ( ( ( n +c n ) +c n ) +c 1c ) \/ a = ( ( ( n +c n ) +c n ) +c 2c ) ) }
        e. _V $=
      ( vb c1st c2nd ctxp caddcfn c1c cvv c2c wceq wcel wbr cop wa bitri 3bitri
      wex 1stex txpex ccnv cin crn cima cins3 ccom csn cxp cun cnnc cv cplc w3o
      wrex cab elima df-br wo elun nncdiv3lem1 elrn2 oteltxp opelcnv bicomi vex
      elin opelxp mpbiran2 eliniseg anbi12i 1cex op1st2nd opex ceqsexv braddcfn
      exbii breq1 eqcom addcex addceq1 eqeq2d orbi12i c0 cpr df-2c ncex eqeltri
      cnc df-3or rexbii abbi2i cnvex 2ndex inex rnex addcfnex imaex ins3ex coex
      3bitr4i snex vvex xpex unex nncex eqeltrri ) DUAZDEUBZFZUCZEFZGUDZUAZUEZD
      DUFZEDUFZEFZFZGUDZUBZUCZYAUAZDEUAZHUGZUDZIUHZUBZGFZUCZFZUCZUIZYBDYCJUGZUD
      ZIUHZUBZGFZUCZFZUCZUIZUJUDZBUKZAUKZUUDULZUUDULZKZUUCUUFHULZKZUUCUUFJULZKZ
      UMZAUJUNZBUOIUUMBUUBUUCUUBLUUDUUCUUAMZAUJUNUUMAUUCUUAUJUPUUNUULAUJUUNUUDU
      UCNZUUALZUULUUDUUCUUAUQUUOYLLZUUOYTLZURUUGUUIURZUUKURUUPUULUUQUUSUURUUKUU
      QUUOYALZUUOYKLZURUUSUUOYAYKUSUUTUUGUVAUUIABUTUVACUKZUUONZYJLZCRUVBUUFKZUU
      CUVBHULZKZOZCRUUICUUOYJVAUVDUVHCUVDUVBUUDNYBLZUVBUUCNZYILZOUVHUVBUUDUUCYB
      YIVBUVIUVEUVKUVGUVIUUDUVBNZYALUVEUVBUUDYAVCACUTPZUVKUUDUVBHNZKZUUDUUCGMZO
      ZARZUVNUUCGMZUVGUVKUUDUVJNZYHLZARUVRAUVJYHVAUWAUVQAUWAUVLYGLZUUOGLZOUVQUU
      DUVBUUCYGGVBUWBUVOUWCUVPUWBUVLDLZUVLYFLZOUUDUVBDMZUUDHEMZOUVOUVLDYFVFUWDU
      WFUWEUWGUWFUWDUUDUVBDUQVDZUWEUUDYELZUWGUWEUWIUVBILZCVEZUUDUVBYEIVGVHEHUUD
      VIPVJUVBHUUDUWKVKVLQUVPUWCUUDUUCGUQVDZVJPVPPUVPUVSAUVNUVBHUWKVKVMUUDUVNUU
      CGVQVNUVSUVFUUCKUVGUVBHUUCUWKVKVOUVFUUCVRPQVJPVPUVGUUICUUFUUEUUDUUDUUDAVE
      ZUWMVSUWMVSZUVEUVFUUHUUCUVBUUFHVTWAVNQWBPUURUVCYSLZCRUVEUUCUVBJULZKZOZCRU
      UKCUUOYSVAUWOUWRCUWOUVIUVJYRLZOUWRUVBUUDUUCYBYRVBUVIUVEUWSUWQUVMUWSUVBJNZ
      UUCGMZUWPUUCKUWQUWSUVTYQLZARUUDUWTKZUVPOZARUXAAUVJYQVAUXBUXDAUXBUVLYPLZUW
      COUXDUUDUVBUUCYPGVBUXEUXCUWCUVPUXEUWDUVLYOLZOUWFUUDJEMZOUXCUVLDYOVFUWDUWF
      UXFUXGUWHUXFUUDYNLZUXGUXFUXHUWJUWKUUDUVBYNIVGVHEJUUDVIPVJUVBJUUDUWKJWCIWD
      ZWHIWEUXIWFWGZVLQUWLVJPVPUVPUXAAUWTUVBJUWKUXJVMUUDUWTUUCGVQVNQUVBJUUCUWKU
      XJVOUWPUUCVRQVJPVPUWQUUKCUUFUWNUVEUWPUUJUUCUVBUUFJVTWAVNQWBUUOYLYTUSUUGUU
      IUUKWIWTPWJPWKUUAUJYLYTYAYKXTXNXSXMXLXKGXJEXIXGXHDSWLDESWMWNTWOWMTWPWQWLW
      RXRGXOXQDDSSWSXPEEDWMSWSWMTTWPWQWNWOZYJYBYIYAUXKWLZYHYGGDYFSYEIYCYDEWMWLZ
      HXAWQXBXCWNWPTWOTWOXDYSYBYRUXLYQYPGDYOSYNIYCYMUXMJXAWQXBXCWNWPTWOTWOXDXEW
      QXF $.
  $}

  ${
    $d A n m a $.
    $( Divisibility by three rule for finite cardinals.  Part of Theorem 3.4 of
       [Specker] p. 973.  (Contributed by SF, 2-Mar-2015.) $)
    nncdiv3 $p |- ( A e. Nn ->
      E. n e. Nn ( A = ( ( n +c n ) +c n ) \/
                   A = ( ( ( n +c n ) +c n ) +c 1c ) \/
                   A = ( ( ( n +c n ) +c n ) +c 2c ) ) ) $=
      ( va vm cplc wceq c1c c2c w3o cnnc wrex c0c 3orbi123d rexbidv wcel eqeq2d
      eqeq1 wo df-3or r19.43 cv nncdiv3lem2 peano1 addcid1 addcid2 eqtr2i 3mix1
      weq ax-mp addceq12 anidms id addceq12d addceq1d rspcev addceq1 reximi a1i
      mp2an wi 1p1e2c addceq2i eqtri syl6eq peano2 addc32 addc4 eqtr3i addceq1i
      addcass sylancl eqeq1d syl5ibrcom rexlimiv cbvrexv sylib 3orim123d rexbii
      orbi1i 3bitr4i bitri 3orrot 3bitr2i 3imtr4g finds ) CUAZBUAZWGEZWGEZFZWFW
      IGEZFZWFWIHEZFZIZBJKLWIFZLWKFZLWMFZIZBJKZDUAZWIFZXAWKFZXAWMFZIZBJKZXAGEZW
      IFZXGWKFZXGWMFZIZBJKZAWIFZAWKFZAWMFZIZBJKCDABCUBWFLFZWOWSBJXQWJWPWLWQWNWR
      WFLWIQWFLWKQWFLWMQMNCDUHZWOXEBJXRWJXBWLXCWNXDWFXAWIQWFXAWKQWFXAWMQMNWFXGF
      ZWOXKBJXSWJXHWLXIWNXJWFXGWIQWFXGWKQWFXGWMQMNWFAFZWOXPBJXTWJXMWLXNWNXOWFAW
      IQWFAWKQWFAWMQMNLJOLLLEZLEZFZLYBGEZFZLYBHEZFZIZWTUCYCYHYBYALYAUDLUEUFYCYE
      YGUGUIWSYHBLJWGLFZWPYCWQYEWRYGYIWIYBLYIWHYAWGLYIWHYAFWGWGLLUJUKYIULUMZPYI
      WKYDLYIWIYBGYJUNPYIWMYFLYIWIYBHYJUNPMUOUSXAJOZXBBJKZXCBJKZXDBJKZIZXIBJKZX
      JBJKZXHBJKZIZXFXLYKYLYPYMYQYNYRYLYPUTYKXBXIBJXAWIGUPUQURYMYQUTYKXCXJBJXCX
      GWKGEZWMXAWKGUPYTWIGGEZEWMWIGGVJUUAHWIVAVBVCVDUQURYNYRUTYKYNXGWFWFEZWFEZF
      ZCJKZYRXDUUEBJWGJOZUUEXDWMGEZUUCFZCJKZUUFWGGEZJOUUGUUJUUJEZUUJEZFZUUIWGVE
      UUGUUKWGEZGEUULWMUUNGWMWHHEZWGEUUNWHWGHVFUUOUUKWGWHUUAEUUOUUKUUAHWHVAVBWG
      WGGGVGVHVIVCVIUUKWGGVJVCUUHUUMCUUJJWFUUJFZUUCUULUUGUUPUUBUUKWFUUJUUPUUBUU
      KFWFWFUUJUUJUJUKUUPULUMPUOVKXDUUDUUHCJXDXGUUGUUCXAWMGUPVLNVMVNUUDXHCBJCBU
      HZUUCWIXGUUQUUBWHWFWGUUQUUBWHFWFWFWGWGUJUKUUQULUMPVOVPURVQXFXBXCRZXDRZBJK
      ZYOXEUUSBJXBXCXDSVRUURBJKZYNRYLYMRZYNRUUTYOUVAUVBYNXBXCBJTVSUURXDBJTYLYMY
      NSVTWAXLXHXIRZXJRZBJKZYSXKUVDBJXHXIXJSVRUVEUVCBJKZYQRZYSUVCXJBJTUVGYRYPRZ
      YQRYRYPYQIYSUVFUVHYQXHXIBJTVSYRYPYQSYRYPYQWBWCWAWAWDWE $.
  $}

  ${
    $d A a $.  $d a m $.  $d a n $.  $d A n $.  $d a p $.  $d B n $.  $d m n $.
    $d m p $.  $d n p $.  $d n q $.  $d p q $.  $d p x $.  $d q x $.  $d m q $.
    $( Three times a natural is not one more than three times a natural.
       Another part of Theorem 3.4 of [Specker] p. 973.  (Contributed by SF,
       13-Mar-2015.) $)
    nnc3n3p1 $p |- ( ( A e. Nn /\ B e. Nn ) ->
        -. ( ( A +c A ) +c A ) = ( ( ( B +c B ) +c B ) +c 1c ) ) $=
      ( vn vp vq cnnc wcel cplc c1c wceq wn c0c caddcfn c1st c2nd cop wa anidms
      addceq12 nncaddccl va vm vx cv wral wi ccnv csn cima cres ccom ctxp cins3
      cin crn ccompl cab cvv vex elcompl wbr wrex elima df-br wex oteltxp bitri
      elrn elrn2 opelco brcnv brres eliniseg anbi2i 1cex op1st2nd 3bitri anbi1i
      exbii opex breq1 ceqsexv braddcfn eqcom opelcnv nncdiv3lem1 anbi12i ancom
      addcex addceq1 eqeq2d eqeq1 rexbii dfrex2 3bitrri con1bii abbi2i addcfnex
      1stex 2ndex cnvex snex imaex resex coex inex rnex ins3ex complex eqeltrri
      txpex nncex addceq12d eqtri syl6eq eqeq1d notbid ralbidv weq addceq1d wne
      df-ne mpbi cncs mpancom syl sylancl syl5bb addcass addceq1i addc32 eqeq1i
      id wb peano2 syl5ibrcom addc6 1cnnc mp2an imp addcid1 syl6bb 1ne0c intnan
      addcid2 cbvralv nnnc 1cnc addceq0 mtbiri wo nnc0suc 0cnsuc eqtr3i sylnibr
      rgen a1i peano1 suc11nnc mtbird sylnib adantr rspcv adantl eqeq12i mp3an3
      addccan1 syl2an biimpd nsyld an32s rexlimdva syl5bi ralrimiv finds rspccv
      jaod ex ) AFGZBFGZAAHZAHZBBHZBHZIHZJZKZUVSUWBCUDZUWHHZUWHHZIHZJZKZCFUEZUV
      TUWGUFUAUDZUWOHZUWOHZUWKJZKZCFUEZLUWKJZKZCFUEUBUDZUXCHZUXCHZUWKJZKZCFUEZU
      XCIHZUXIHZUXIHZDUDZUXLHZUXLHZIHZJZKZDFUEZUWNUAUBAMNOUGZIUHZUIZUJZUGZUKZNU
      GZNOUNZULZUOZOULZMUIZUGZUMZNNUKZONUKZOULZULZMUIZUNZUOZUGZULZUOZUYTULZUOZF
      UIZUPZUWTUAUQURUWTUAVUFUWOVUFGUWOVUEGZKUWTUWOVUEUAUSZUTUWTVUGVUGUWHUWOVUD
      VAZCFVBUWRCFVBUWTKCUWOVUDFVCVUIUWRCFVUIUWHUWOPZVUDGZUWRUWHUWOVUDVDVUKUXLV
      UJVUCVAZDVEUXLUWQJZUXLUWKJZQZDVEUWRDVUJVUCVHVULVUODVULUXLUWHPZVUBGZUXLUWO
      PUYTGZQZVUNVUMQVUOVULUXLVUJPVUCGVUSUXLVUJVUCVDUXLUWHUWOVUBUYTVFVGVUQVUNVU
      RVUMVUQEUDZVUPPVUAGZEVEVUTUWJJZUXLVUTIHZJZQZEVEVUNEVUPVUAVIVVAVVEEVVAVUTU
      XLPUYDGZVUTUWHPUYTGZQVVDVVBQVVEVUTUXLUWHUYDUYTVFVVFVVDVVGVVBVVFVUTUCUDZUY
      CVAZVVHUXLMVAZQZUCVEZVUTIPZUXLMVAZVVDUCVUTUXLMUYCVJVVLVVHVVMJZVVJQZUCVEVV
      NVVKVVPUCVVIVVOVVJVVIVVHVUTNVAZVVHUYAGZQZVVQVVHIOVAZQVVOVVIVVHVUTUYBVAVVS
      VUTVVHUYBVKVVHVUTNUYAVLVGVVRVVTVVQOIVVHVMVNVUTIVVHEUSZVOVPVQVRVSVVJVVNUCV
      VMVUTIVWAVOVTVVHVVMUXLMWAWBVGVVNVVCUXLJVVDVUTIUXLVWAVOWCVVCUXLWDVGVQVVGUW
      HVUTPUYSGVVBVUTUWHUYSWECEWFVGWGVVDVVBWHVQVSVVDVUNEUWJUWIUWHUWHUWHCUSZVWBW
      IVWBWIVVBVVCUWKUXLVUTUWJIWJWKWBVQVURUWOUXLPUYSGVUMUXLUWOUYSWEUADWFVGWGVUN
      VUMWHVQVSVUNUWRDUWQUWPUWOUWOUWOVUHVUHWIVUHWIUXLUWQUWKWLWBVQVGWMUWRCFWNWOW
      PVGWQVUEVUDFVUCVUBUYTVUAUYDUYTMUYCWRUYBNUYAWSUXSUXTOWTXAIXBXCXDXAXEUYSUYR
      UYLUYQUYKUYJUYIMUYHOUYGUYEUYFNWSXANOWSWTXFXKXGWTXKWRXCXAXHUYPMUYMUYONNWSW
      SXEUYNOONWTWSXEWTXKXKWRXCXFXGXAZXKXGVWCXKXGXLXCXIXJUWOLJZUWSUXBCFVWDUWRUX
      AVWDUWQLUWKVWDUWQLLHZLHZLVWDUWPVWEUWOLVWDUWPVWEJUWOUWOLLSRVWDYMXMVWFVWELV
      WEUUALUUEXNZXOXPXQXRUAUBXSZUWSUXGCFVWHUWRUXFVWHUWQUXEUWKVWHUWPUXDUWOUXCVW
      HUWPUXDJUWOUWOUXCUXCSRVWHYMXMXPXQXRUWOUXIJZUWTUXKUWKJZKZCFUEUXRVWIUWSVWKC
      FVWIUWRVWJVWIUWQUXKUWKVWIUWPUXJUWOUXIVWIUWPUXJJUWOUWOUXIUXISRVWIYMXMXPXQX
      RVWKUXQCDFCDXSZVWJUXPVWLUWKUXOUXKVWLUWJUXNIVWLUWIUXMUWHUXLVWLUWIUXMJUWHUW
      HUXLUXLSRVWLYMXMXTWKXQUUFUUBUWOAJZUWSUWMCFVWMUWRUWLVWMUWQUWBUWKVWMUWPUWAU
      WOAVWMUWPUWAJUWOUWOAASRVWMYMXMXPXQXRUXBCFUWHFGZUXAUWJLJZILJZQZVWPVWOILYAV
      WPKUUCILYBYCUUDUXAUWKLJZVWNVWQLUWKWDVWNUWJYDGZIYDGVWRVWQYNVWNUWJFGZVWSUWI
      FGZVWNVWTVWNVXAUWHUWHTRUWIUWHTYEUWJUUGYFUUHUWJIUUIYGYHUUJUUPUXCFGZUXHUXRV
      XBUXHQZUXQDFUXLFGUXLLJZVVDEFVBZUUKVXCUXQEUXLUULVXCVXDUXQVXEVXBVXDUXQUFUXH
      VXBUXQVXDUXKLIHZJZKVXBUXJUXCHZIHZVXFJZVXGVXBVXJVXHLJZVXBUXIUXCHZUXCHZIHZL
      JZVXKVXOKZVXBVXNLYAVXPVXMUUMVXNLYBYCUUQVXHVXNLVXLIHZUXCHVXHVXNVXQUXJUXCUX
      IUXCIYIYJVXLIUXCYKUUNYLUUOVXBVXHFGZLFGVXJVXKYNUXJFGZVXBVXRVXBUXIFGZVXSUXC
      YOVXTVXSUXIUXITRYFUXJUXCTYEUURVXHLUUSYGUUTVXIUXKVXFUXJUXCIYIYLUVAVXDUXPVX
      GVXDUXOVXFUXKVXDUXNLIVXDUXNVWFLVXDUXMVWEUXLLVXDUXMVWEJUXLUXLLLSRVXDYMXMVW
      GXOXTWKXQYPUVBVXCVVDUXQEFVXCVUTFGZQUXQVVDUXKVVCVVCHZVVCHZIHZJZKZVXBVYAUXH
      VYFVXBVYAQZUXHVYFVYGUXHUXEVUTVUTHZVUTHZIHZJZVYEVYAUXHVYKKZUFVXBUXGVYLCVUT
      FCEXSZUXFVYKVYMUWKVYJUXEVYMUWJVYIIVYMUWIVYHUWHVUTVYMUWIVYHJUWHUWHVUTVUTSR
      VYMYMXMXTWKXQUVCUVDVYGVYEVYKVYEUXEIIHZIHZHZVYJVYOHZJZVYGVYKUXKVYPVYDVYQUX
      CIUXCIUXCIYQVYDVYIVYOHZIHVYQVYCVYSIVUTIVUTIVUTIYQYJVYIVYOIYKXNUVEVXBUXEFG
      ZVYJFGZVYRVYKYNZVYAUXDFGZVXBVYTVXBWUCUXCUXCTRUXDUXCTYEVYAVYIFGZWUAVYHFGZV
      YAWUDVYAWUEVUTVUTTRVYHVUTTYEVYIYOYFVYTWUAVYOFGZWUBVYNFGZIFGZWUFWUHWUHWUGY
      RYRIITYSYRVYNITYSVYOUXEVYJUVGUVFUVHYHUVIUVJYTUVKVVDUXPVYEVVDUXOVYDUXKVVDU
      XNVYCIVVDUXMVYBUXLVVCVVDUXMVYBJUXLUXLVVCVVCSRVVDYMXMXTWKXQYPUVLUVQUVMUVNU
      VRUVOUWMUWGCBFUWHBJZUWLUWFWUIUWKUWEUWBWUIUWJUWDIWUIUWIUWCUWHBWUIUWIUWCJUW
      HUWHBBSRWUIYMXMXTWKXQUVPYFYT $.
  $}

  $( Three times a natural is not two more than three times a natural.  Another
     part of Theorem 3.4 of [Specker] p. 973.  (Contributed by SF,
     12-Mar-2015.) $)
  nnc3n3p2 $p |- ( ( A e. Nn /\ B e. Nn ) ->
      -. ( ( A +c A ) +c A ) = ( ( ( B +c B ) +c B ) +c 2c ) ) $=
    ( cnnc wcel wa cplc c1c wceq wn peano2 nnc3n3p1 sylan ancoms eqcom addceq1i
    c2c addc4 nncaddccl anidms mpancom addc32 1p1e2c 3eqtrri eqtri eqeq1i bitri
    addceq2i addcass sylnibr wb 2nnc sylancl suc11nnc syl2an mtbid ) ACDZBCDZEZ
    AAFZAFZGFZBBFZBFZPFZGFZHZUTVDHZURBGFZVHFZVHFZVAHZVFUQUPVKIZUQVHCDUPVLBJVHAK
    LMVFVEVAHVKVAVENVEVJVAVEVIBFZGFVJVDVMGVMVBGGFZFZBFVCVNFVDVIVOBBGBGQOVBVNBUA
    VNPVCUBUGUCOVIBGUHUDUEUFUIUPUTCDZVDCDZVFVGUJUQUSCDZUPVPUPVRAARSUSARTUQVCCDZ
    PCDVQVBCDZUQVSUQVTBBRSVBBRTUKVCPRULUTVDUMUNUO $.

  $( One more than three times a natural is not two more than three times a
     natural.  Final part of Theorem 3.4 of [Specker] p. 973.  (Contributed by
     SF, 12-Mar-2015.) $)
  nnc3p1n3p2 $p |- ( ( A e. Nn /\ B e. Nn ) ->
      -. ( ( ( A +c A ) +c A ) +c 1c ) =
         ( ( ( B +c B ) +c B ) +c 2c ) ) $=
    ( cnnc wcel wa cplc c1c c2c nnc3n3p1 wb nncaddccl anidms mpancom peano2 syl
    wceq suc11nnc syl2an mtbird addcass 1p1e2c addceq2i eqtr2i eqeq2i sylnibr )
    ACDZBCDZEZAAFZAFZGFZBBFZBFZGFZGFZPZUKUMHFZPUHUPUJUNPZABIUFUJCDZUNCDZUPURJUG
    UICDZUFUSUFVAAAKLUIAKMUGUMCDZUTULCDZUGVBUGVCBBKLULBKMUMNOUJUNQRSUQUOUKUOUMG
    GFZFUQUMGGTVDHUMUAUBUCUDUE $.

  ${
    $d x y t $.
    $( Lemma for ~ spacval .  Set up stratification for the recursive
       relationship.  (Contributed by SF, 6-Mar-2015.) $)
    spacvallem1 $p |- { <. x , y >. | ( x e. NC /\ y e. NC /\ y = ( 2c ^c x
        ) ) } e. _V $=
      ( vt cncs cce c2nd c1st ccnv c2c cv wcel wceq cop wa wbr wex anbi1i bitri
      3bitri ncsex cxp cfullfun csn cima cres ccom cin co w3a cvv opelxp opelco
      copab brcnv brres ancom eliniseg 2nc elexi vex op1st2nd exbii brfullfunop
      opex breq1 ceqsexv eqcom anbi12i elin df-3an opabbi2i xpex ceex fullfunex
      3bitr4i 2ndex 1stex cnvex snex imaex resex coex inex eqeltrri ) DDUAZEUBZ
      FGHZIUCZUDZUEZHZUFZUGZAJZDKZBJZDKZWPIWNEUHZLZUIZABUMUJWTABWMWNWPMZWEKZXAW
      LKZNWOWQNZWSNXAWMKWTXBXDXCWSWNWPDDUKXCCJZIWNMZLZXEWPWFOZNZCPZXFWPWFOZWSXC
      WNXEWKOZXHNZCPXJCWNWPWFWKULXMXICXLXGXHXLXEWNWJOZXEIGOZXEWNFOZNZXGWNXEWJUN
      XNXPXEWIKZNXRXPNXQXEWNFWIUOXPXRUPXRXOXPGIXEUQQSIWNXEIDURUSZAUTZVASQVBRXHX
      KCXFIWNXSXTVDXEXFWPWFVEVFXKWRWPLWSIWNWPEXSXTVCWRWPVGRSVHXAWEWLVIWOWQWSVJV
      OVKWEWLDDTTVLWFWKEVMVNWJFWIVPWGWHGVQVRIVSVTWAVRWBWCWD $.
  $}

  ${
    $d N n $.  $d n x $.  $d n y $.  $d x y $.
    $( The value of the special set generator.  (Contributed by SF,
       4-Mar-2015.) $)
    spacval $p |- ( N e. NC -> ( Sp[ac] ` N ) =
         Clos1 ( { N } , { <. x , y >. | ( x e. NC /\ y e. NC /\ y = ( 2c ^c x
        ) ) } ) ) $=
      ( vn cv csn cncs wcel c2c cce co wceq w3a copab cclos1 cspac clos1eq1 syl
      sneq df-spac snex spacvallem1 clos1ex fvmpt ) DCDEZFZAEZGHBEZGHUHIUGJKLMA
      BNZOZCFZUIOZGPUECLUFUKLUJULLUECSUIUFUKQRABDTUIUKCUAABUBUCUD $.
  $}

  ${
    $d n x y $.
    $( The special set generator is a function over the cardinals.
       (Contributed by SF, 18-Mar-2015.) $)
    fnspac $p |- Sp[ac] Fn NC $=
      ( vn vx vy cv csn cncs wcel c2c cce co w3a copab cclos1 cvv cspac df-spac
      wceq wfn fnmpt snex spacvallem1 clos1ex a1i mprg ) ADZEZBDZFGCDZFGUHHUGIJ
      QKBCLZMZNGZOFRAFAFUJONBCAPSUKUEFGUIUFUETBCUAUBUCUD $.
  $}

  ${
    $d x y $.
    $( The special set generator generates a set of cardinals.  (Contributed by
       SF, 13-Mar-2015.) $)
    spacssnc $p |- ( N e. NC -> ( Sp[ac] ` N ) C_ NC ) $=
      ( vx vy cncs wcel cspac cfv csn cv c2c cce co wceq w3a copab spacval cima
      cclos1 cun wss snex spacvallem1 clos1baseima wa snssi crn imassrn wex cab
      eqid rnopab simp2 exlimiv abssi eqsstri sstri jctir unss syl5eqss eqsstrd
      sylib ) ADEZAFGAHZBIZDEZCIZDEZVFJVDKLMZNZBCOZRZDBCAPVBVKVCVJVKQZSZDVKVJVC
      AUABCUBVKUJUCVBVCDTZVLDTZUDVMDTVBVNVOADUEVLVJUFZDVJVKUGVPVIBUHZCUIDVIBCUK
      VQCDVIVGBVEVGVHULUMUNUOUPUQVCVLDURVAUSUT $.
  $}

  ${
    $d M x y $.
    $( The initial value of the special set generator is an element.
       (Contributed by SF, 13-Mar-2015.) $)
    spacid $p |- ( M e. NC -> M e. ( Sp[ac] ` M ) ) $=
      ( vx vy cncs wcel csn cv c2c cce wceq w3a copab cclos1 cspac cfv wss eqid
      co clos1base snssg mpbiri spacval eleqtrrd ) ADEZAAFZBGZDECGZDEUGHUFIRJKB
      CLZMZANOUDAUIEUEUIPUIUHUEUIQSAUIDTUABCAUBUC $.
  $}

  ${
    $d N x $.  $d N y $.  $d x y $.
    $( Closure law for the special set generator.  (Contributed by SF,
       13-Mar-2015.) $)
    spaccl $p |- ( ( M e. NC /\ N e. ( Sp[ac] ` M ) /\ ( N ^c 0c ) e. NC ) ->
        ( 2c ^c N ) e. ( Sp[ac] ` M ) ) $=
      ( vx vy cncs wcel cspac cfv c0c cce co w3a c2c csn wceq syl2anc cvv eleq1
      cv eqid copab cclos1 wbr spacval 3ad2ant1 eleqtrd spacssnc sselda 3adant3
      simp2 simp3 cnnc 2nnc ceclnn1 mp3an1 eqidd wb oveq2 eqeq2d 3anbi13d eqeq1
      ovex 3anbi23d brabg mpan2 3ad2ant2 mpbir3and clos1conn eleqtrrd ) AEFZBAG
      HZFZBIJKEFZLZMBJKZANZCSZEFZDSZEFZVSMVQJKZOZLZCDUAZUBZVKVNBWEFBVOWDUCZVOWE
      FVNBVKWEVJVLVMUJVJVLVKWEOVMCDAUDUEZUFVNWFBEFZVOEFZVOVOOZVJVLWHVMVJVKEBAUG
      UHUIZVNWHVMWIWKVJVLVMUKMULFWHVMWIUMMBUNUOPVNVOUPVLVJWFWHWIWJLZUQZVMVLVOQF
      WMMBJVBWCWHVTVSVOOZLWLCDBVOVKQWDVQBOZVRWHWBWNVTVQBERWOWAVOVSVQBMJURUSUTWN
      VTWIWNWJWHVSVOERVSVOVOVAVCWDTVDVEVFVGBVOWEWDVPWETVHPWGVI $.
  $}

  ${
    $d M x $.  $d M z $.  $d p q $.  $d p x $.  $d p z $.  $d q x $.  $d q z $.
    $d S x $.  $d S z $.  $d x z $.
    $( Inductive law for the special set generator.  (Contributed by SF,
       13-Mar-2015.) $)
    spacind $p |- ( ( ( M e. NC /\ S e. V ) /\
      ( M e. S /\ A. x e. ( Sp[ac] ` M ) ( ( x e. S /\ ( x ^c 0c ) e. NC ) ->
      ( 2c ^c x ) e. S ) ) ) -> ( Sp[ac] ` M ) C_ S ) $=
      ( vp vq vz wcel cncs cv cce co wa c2c wi wceq w3a wal impexp bitri cclos1
      cvv c0c cspac cfv wral wss elex csn copab spacval adantr wbr simplr snssi
      adantl spacssnc sseld 2nc ceclr simprd mp3an1 ex imim1d a1dd 3anass albii
      imbi1i 19.21v bi2.04 ovex eleq1 imbi12d ceqsalv imbi2i syl6ibr vex eqeq2d
      weq oveq2 3anbi13d 3anbi23d eqid brab imim2d 3imtr4g syld imp ralimdva wb
      eqeq1 raleq sylibd ad2ant2rl snex spacvallem1 clos1induct syl3anc eqsstrd
      syl sylanl2 ) BDHCIHZBUBHZCBHZAJZBHZXEUCKLIHZMNXEKLZBHZOZACUDUEZUFZMZXKBU
      GBDUHXBXCMZXMMZXKCUIZEJZIHZFJZIHZXSNXQKLZPZQZEFUJZUAZBXNXKYEPZXMXBYFXCEFC
      UKZULULXOXCXPBUGZXFXEGJZYDUMZMYIBHZOZGRZAYEUFZYEBUGXBXCXMUNXMYHXNXDYHXLCB
      UOULUPXBXLYNXCXDXBXLYNXBXLYMAXKUFZYNXBXJYMAXKXBXEXKHZXJYMOZXBYPXEIHZYQXBX
      KIXECUQURXBYRYQXBYRMZXFXGXIOZOXFYJYKOZGRZOZXJYMYSYTUUBXFYSYTYRYIIHZYIXHPZ
      QZYKOZGRZUUBYSYTYRXHIHZXIOZOZUUHYRYTUUKOXBYRYTUUJYRYRUUIXGXIYRUUIXGNIHZYR
      UUIXGUSUULYRUUIQNUCKLIHXGNXEUTVAVBVCVDVEUPUUHYRUUDUUEMZYKOZOZGRZUUKUUGUUO
      GUUGYRUUMMZYKOUUOUUFUUQYKYRUUDUUEVFVHYRUUMYKSTVGUUPYRUUNGRZOUUKYRUUNGVIUU
      RUUJYRUURUUEUUDYKOZOZGRUUJUUNUUTGUUNUUDUUEYKOOUUTUUDUUEYKSUUDUUEYKVJTVGUU
      SUUJGXHNXEKVKUUEUUDUUIYKXIYIXHIVLYIXHBVLVMVNTVOTTVPUUAUUGGYJUUFYKYCYRXTXS
      XHPZQUUFEFXEYIYDAVQGVQEAVSZXRYRYBUVAXTXQXEIVLUVBYAXHXSXQXENKVTVRWAFGVSXTU
      UDUVAUUEYRXSYIIVLXSYIXHWKWBYDWCWDVHVGVPWEXFXGXISYMXFUUAOZGRUUCYLUVCGXFYJY
      KSVGXFUUAGVITWFVCWGWHWIXBYFYOYNWJYGYMAXKYEWLWTWMWHWNAGYEYDXPUBBCWOEFWPYEW
      CWQWRWSXA $.
  $}

  ${
    $d ch x $.  $d M x $.  $d M y $.  $d N x $.  $d ph y $.  $d ps x $.
    $d ta x $.  $d th x $.  $d x y $.
    spacis.1 $e |- { x | ph } e. _V $.
    spacis.2 $e |- ( x = M -> ( ph <-> ps ) ) $.
    spacis.3 $e |- ( x = y -> ( ph <-> ch ) ) $.
    spacis.4 $e |- ( x = ( 2c ^c y ) -> ( ph <-> th ) ) $.
    spacis.5 $e |- ( x = N -> ( ph <-> ta ) ) $.
    spacis.6 $e |- ( M e. NC -> ps ) $.
    spacis.7 $e |-
       ( ( ( M e. NC /\ y e. ( Sp[ac] ` M ) ) /\ ( ( y ^c 0c ) e. NC /\ ch ) )
          -> th ) $.
    $( Induction scheme for the special set generator.  (Contributed by SF,
       13-Mar-2015.) $)
    spacis $p |- ( ( M e. NC /\ N e. ( Sp[ac] ` M ) ) -> ta ) $=
      ( cncs wcel wa cce cspac cfv cab cvv cv c0c co c2c wi wral wss a1i mpbird
      id elabg ancom vex elab anbi2i bitri ovex sylibr syl5bi ralrimiva spacind
      ex syl22anc sselda wb adantl mpbid ) HQRZIHUAUBZRZSIAFUCZRZEVLVMVOIVLVLVO
      UDRZHVORZGUEZVORZVSUFTUGQRZSZUHVSTUGZVORZUIZGVMUJVMVOUKVLUNVQVLJULVLVRBOA
      BFHQKUOUMVLWEGVMWBWACSZVLVSVMRSZWDWBWAVTSWFVTWAUPVTCWAACFVSGUQLURUSUTWGWF
      WDWGWFSDWDPADFWCUHVSTVAMURVBVFVCVDGVOHUDVEVGVHVNVPEVIVLAEFIVMNUOVJVK $.
  $}

  ${
    $d A n $.
    $( Lemma for ~ nchoice .  A finite cardinal is not one more than its
       T-raising.  (Contributed by SF, 3-Mar-2015.) $)
    nchoicelem1 $p |- ( A e. Nn -> -. A = ( T_c A +c 1c ) ) $=
      ( vn cnnc wcel cplc wceq c1c c2c ctc wn id syl2anc cncs nnnc syl addceq1d
      tcdi eqtrd mtbird addcass cv w3o nncdiv3 nntccl nnc3n3p1 nncaddccl anidms
      wrex eqeq2d tceq eqeq12d notbid syl5ibrcom 1cnc sylancl tc1c addceq12d wb
      a1i peano2 suc11nnc nnc3n3p2 2nnc eqcomd addceq2i addccom 1p1e2c addceq1i
      eqtr2i 3eqtr3i 3eqtr4i addc4 ax-mp 3eqtr3g ncaddccl eqeq1d eqcom rexlimiv
      sylnib 3jaod ) ACDABUAZWAEZWAEZFZAWCGEZFZAWCHEZFZUBZBCUHAAIZGEZFZJZABUCWI
      WMBCWACDZWDWMWFWHWNWMWDWCWCIZGEZFZJWNWQWCWAIZWREZWREZGEZFZWNWNWRCDXBJWNKZ
      WAUDWAWRUELZWNWPXAWCWNWOWTGWNWOWBIZWREZWTWNWBMDZWAMDZWOXFFWNWBCDZXGWNXIWA
      WAUFUGZWBNOWANZWBWAQLWNXEWSWRWNXHXHXEWSFXKXKWAWAQLPRZPUISWDWLWQWDAWCWKWPW
      DKWDWJWOGAWCUJPUKULUMWNWMWFWEWEIZGEZFZJWNXOWCXMFZWNXPXBXDWNXMXAWCWNXMWOGI
      ZEZXAWNWCMDZGMDZXMXRFWNWCCDZXSWNXIWNYAXJXCWBWAUFLZWCNOUNWCGQUOWNWOWTXQGXL
      XQGFWNUPUSUQRUISWNYAXMCDZXOXPURYBWNWECDZYCWNYAYDYBWCUTOWEUDOWCXMVALSWFWLX
      OWFAWEWKXNWFKWFWJXMGAWEUJPUKULUMWNWMWHWGWGIZGEZFZJWNYFWGFZYGWNYHWAGEZIZYJ
      EZYJEZWGFZWNYJCDZWNYMJWNYICDZYNWAUTZYIUDOXCYJWAVBLWNYFYLWGWNYFYIYIEZYIEZI
      ZYLWNYEXQEZWGGEZIZYFYSWNUUBYTWNWGMDZXTUUBYTFWNWGCDZUUCWNYAHCDUUDYBVCWCHUF
      UOWGNOUNWGGQUOVDXQGYEUPVEUUAYRFUUBYSFWCHGEZEZWBGGEZEZYIEZUUAYRWBWAUUEEZEW
      BUUGYIEZEUUFUUIUUJUUKWBWAHEZGEUUGWAEZGEUUJUUKUULUUMGUUMWAUUGEUULUUGWAVFUU
      GHWAVGVEVIVHWAHGTUUGWAGTVJVEWBWAUUETWBUUGYITVKWCHGTYQUUHYIWAGWAGVLVHVKUUA
      YRUJVMVNWNYSYQIZYJEZYLWNYQMDZYIMDZYSUUOFWNUUQUUQUUPWNYOUUQYPYINOZUURYIYIV
      OLUURYQYIQLWNUUNYKYJWNUUQUUQUUNYKFUURUURYIYIQLPRRVPSYFWGVQVSWHWLYGWHAWGWK
      YFWHKWHWJYEGAWGUJPUKULUMVTVRO $.
  $}

  ${
    $d A n $.
    $( Lemma for ~ nchoice .  A finite cardinal is not two more than its
       T-raising.  (Contributed by SF, 12-Mar-2015.) $)
    nchoicelem2 $p |- ( A e. Nn -> -. A = ( T_c A +c 2c ) ) $=
      ( vn cnnc wcel cplc wceq c1c c2c ctc wn nntccl syl2anc cncs tcdi addceq1d
      id syl mtbird sylancl addceq2i w3o wrex nncdiv3 nnc3n3p2 nncaddccl anidms
      cv nnnc eqtrd eqeq2d tceq eqeq12d notbid syl5ibrcom wb 2nnc suc11nnc tc1c
      addc32 eqtri eqeq2i sylnibr 1cnc peano2 nnc3p1n3p2 eqcom addcass addceq1i
      1p1e2c addc4 tc2c 3eqtr4i addceq12i 3eqtr3ri 2nc syl6eq addceq12d 3eqtr4a
      3jaod rexlimiv ) ACDABUGZWAEZWAEZFZAWCGEZFZAWCHEZFZUAZBCUBAAIZHEZFZJZABUC
      WIWMBCWACDZWDWMWFWHWNWMWDWCWCIZHEZFZJWNWQWCWAIZWREZWREZHEZFZWNWNWRCDXBJWN
      PZWAKWAWRUDLWNWPXAWCWNWOWTHWNWOWBIZWREZWTWNWBMDZWAMDZWOXEFWNWBCDZXFWNXHWA
      WAUEUFZWBUHQWAUHZWBWANLWNXDWSWRWNXGXGXDWSFXJXJWAWANLOUIZOUJRZWDWLWQWDAWCW
      KWPWDPWDWJWOHAWCUKOULUMUNWNWMWFWEWEIZHEZFZJWNXOWEWOGIZEZHEZFZWNWEWPGEZFZX
      SWNYAWQXLWNWCCDZWPCDZYAWQUOWNXHWNYBXIXCWBWAUELZWNWOCDZHCDYCWNYBYEYDWCKQUP
      WOHUESWCWPUQLRXRXTWEXRWPXPEXTWOXPHUSXPGWPURTUTVAVBWNXNXRWEWNXMXQHWNWCMDZG
      MDZXMXQFWNYBYFYDWCUHQZVCWCGNSOUJRWFWLXOWFAWEWKXNWFPWFWJXMHAWEUKOULUMUNWNW
      MWHWGWGIZHEZFZJWNYKWGWAGEZIZYMEZYMEZGEZFZWNYPWGFZYQWNYMCDZWNYRJWNYLCDYSWA
      VDYLKQXCYMWAVELWGYPVFVBWNYJYPWGWNWTHIZEZHEZWRGEZUUCEZUUCEZGEZYJYPUUDWREZG
      EZGEUUGGGEZEUUFUUBUUGGGVGUUHUUEGUUDWRGVGVHUUGUUAUUIHUUGWSYTEZWREUUAUUDUUJ
      WRWSUUIEWSHEUUDUUJUUIHWSVITWRGWRGVJYTHWSVKTVLVHWSYTWRUSUTVIVMVNWNYIUUAHWN
      YIWOYTEZUUAWNYFHMDYIUUKFYHVOWCHNSWNWOWTYTXKOUIOWNYOUUEGWNYNUUDYMUUCWNYMUU
      CYMUUCWNYMWRXPEZUUCWNXGYGYMUULFXJVCWAGNSXPGWRURTVPZUUMVQUUMVQOVRUJRWHWLYK
      WHAWGWKYJWHPWHWJYIHAWGUKOULUMUNVSVTQ $.
  $}

  ${
    $d M p $.  $d M x $.  $d M y $.  $d p x $.  $d p y $.  $d x y $.
    $( Lemma for ~ nchoice .  Compute the value of ` Sp[ac] ` when the argument
       is not exponentiable.  Theorem 6.2 of [Specker] p. 973.  (Contributed by
       SF, 13-Mar-2015.) $)
    nchoicelem3 $p |- ( ( M e. NC /\ -. ( M ^c 0c ) e. NC ) ->
        ( Sp[ac] ` M ) = { M } ) $=
      ( vx vy vp cncs wcel c0c cce co wn wa cspac cfv cv c2c wceq w3a cvv eleq1
      eqid csn copab cclos1 spacval adantr cima c0 wbr cop elimasn df-br bitr4i
      wb vex oveq2 eqeq2d 3anbi13d weq eqeq1 3anbi23d brabg mpan2 biimpac ceclr
      2nc simprd mp3an1 sylan2 3impb syl6bi syl5bi con3d imp eq0rdv spacvallem1
      snex clos1nrel syl eqtrd ) AEFZAGHIEFZJZKZALMZAUAZBNZEFZCNZEFZWHOWFHIZPZQ
      ZBCUBZUCZWEVTWDWNPWBBCAUDUEWCWMWEUFZUGPWNWEPWCDWOVTWBDNZWOFZJVTWQWAWQAWPW
      MUHZVTWAWQAWPUIWMFWRWMAWPUJAWPWMUKULVTWRVTWPEFZWPOAHIZPZQZWAVTWPRFWRXBUMD
      UNWLVTWIWHWTPZQXBBCAWPERWMWFAPZWGVTWKXCWIWFAESXDWJWTWHWFAOHUOUPUQCDURWIWS
      XCXAVTWHWPESWHWPWTUSUTWMTVAVBVTWSXAWAWSXAKVTWTEFZWAXAWSXEWPWTESVCOEFZVTXE
      WAVEXFVTXEQOGHIEFWAOAVDVFVGVHVIVJVKVLVMVNWNWMWEAVPBCVOWNTVQVRVS $.
  $}

  ${
    $d M n $.  $d M p $.  $d n p $.  $d N p $.
    $( Lemma for ~ nchoice .  The initial value of ` Sp[ac] ` is a minimum
       value.  Theorem 6.4 of [Specker] p. 973.  (Contributed by SF,
       13-Mar-2015.) $)
    nchoicelem4 $p |- ( ( M e. NC /\ N e. ( Sp[ac] ` M ) ) ->
       M <_c N ) $=
      ( vp vn cv clec wbr c2c cce co csn cima cab cvv imasn breq2 cncs wa sylan
      wcel lecex snex imaex eqeltrri nclecid cspac cfv c0c cltc spacssnc sselda
      ce2lt wne brltc simplbi wi simpll adantr cnnc 2nnc ceclnn1 mp3an1 syl3anc
      syl lectr mpan2d impr spacis ) ACEZFGZAAFGADEZFGZAHVKIJZFGZABFGCDABFAKZLV
      JCMNCAFOFVOUAAUBUCUDVIAAFPVIVKAFPVIVMAFPVIBAFPAUEAQTZVKAUFUGZTZRZVKUHIJQT
      ZVLVNVSVTRZVLVKVMFGZVNWAVKVMUIGZWBVSVKQTZVTWCVPVQQVKAUJUKZVKULSWCWBVKVMUM
      VKVMUNUOVDWAVPWDVMQTZVLWBRVNUPVPVRVTUQVSWDVTWEURVSWDVTWFWEHUSTWDVTWFUTHVK
      VAVBSAVKVMVEVCVFVGVH $.
  $}

  $( Lemma for ~ nchoice .  A cardinal is not a member of the special set of
     itself raised to two.  Theorem 6.5 of [Specker] p. 973.  (Contributed by
     SF, 13-Mar-2015.) $)
  nchoicelem5 $p |- ( ( M e. NC /\ ( M ^c 0c ) e. NC ) ->
     -. M e. ( Sp[ac] ` ( 2c ^c M ) ) ) $=
    ( cncs wcel c0c cce co wa c2c cspac cfv clec wbr wn cltc ce2lt wb 2nc ax-mp
    jctl c0 wne cnnc 2nnc ce0nn ce0nulnc mpbi cecl syl2an ltlenlec syldan mpbid
    simprd nchoicelem4 sylan mtand ) ABCZADEFBCZGZAHAEFZIJCZUSAKLZURAUSKLZVAMZU
    RAUSNLZVBVCGZAOUPUQUSBCZVDVEPUPHBCZUPGHDEFZBCZUQGVFUQUPVGQSUQVIVHTUAZVIHUBC
    VJUCHUDRVGVJVIPQHUERUFSHAUGUHZAUSUIUJUKULURVFUTVAVKUSAUMUNUO $.

  ${
    $d M x $.
    $( Lemma for ~ nchoice .  Split the special set generator into base and
       inductive values.  Theorem 6.6 of [Specker] p. 973.  (Contributed by SF,
       13-Mar-2015.) $)
    nchoicelem6 $p |- ( ( M e. NC /\ ( M ^c 0c ) e. NC ) ->
       ( Sp[ac] ` M ) = ( { M } u. ( Sp[ac] ` ( 2c ^c M ) ) ) ) $=
      ( vx cncs wcel c0c cce co wa cspac cfv c2c cvv wi wral wss a1i adantr syl
      fvex spaccl csn cun cv simpl snex unex snidg elun1 wceq elun orbi1i bitri
      wo elsn spacssnc spacid simpr syl3anc sseldd oveq2 eleq1d syl5ibrcom cnnc
      2nnc ceclnn1 mp3an1 simprr simprl expr jaod syl5bi com23 imp3a elun2 syl6
      ex ralrimivw spacind syl22anc snssd 3expib unssd eqssd ) ACDZAEFGCDZHZAIJ
      ZAUAZKAFGZIJZUBZWFWDWKLDZAWKDZBUCZWKDZWNEFGCDZHZKWNFGZWKDZMZBWGNWGWKOWDWE
      UDZWLWFWHWJAUEWIISUFPWFAWHDZWMWDXBWEACUGQAWHWJUHRWFWTBWGWFWQWRWJDZWSWFWOW
      PXCWFWPWOXCWFWPWOXCMWOWNAUIZWNWJDZUMZWFWPHZXCWOWNWHDZXEUMXFWNWHWJUJXHXDXE
      BAUNUKULXGXDXCXEWFXDXCMWPWFXCXDWIWJDZWFWICDZXIWFWGCWIWDWGCOWEAUOQWFWDAWGD
      ZWEWIWGDZXAWDXKWEAUPZQWDWEUQAATURZUSZWIUPRXDWRWIWJWNAKFUTVAVBQWFWPXEXCWFW
      PXEHZHXJXEWPXCWFXJXPKVCDWDWEXJVDKAVEVFQWFWPXEVGWFWPXEVHWIWNTURVIVJVKVPVLV
      MWRWJWHVNVOVQBWKALVRVSWFWHWJWGWDWHWGOWEWDAWGXMVTQWFXJWGLDZXLWNWGDZWPHWRWG
      DZMZBWJNWJWGOXOXQWFAISPXNWFXTBWJWDXTWEWDXRWPXSAWNTWAQVQBWGWILVRVSWBWC $.
  $}

  $( Lemma for ~ nchoice .  Calculate the cardinality of a special set
     generator.  Theorem 6.7 of [Specker] p. 974.  (Contributed by SF,
     13-Mar-2015.) $)
  nchoicelem7 $p |- ( ( M e. NC /\ ( M ^c 0c ) e. NC ) ->
     Nc ( Sp[ac] ` M ) = ( Nc ( Sp[ac] ` ( 2c ^c M ) ) +c 1c ) ) $=
    ( cncs wcel c0c cce co cspac cfv cnc csn c2c cun c1c cplc nchoicelem6 nceqd
    wa cin c0 wceq incom wn nchoicelem5 disjsn sylibr syl5eq snex fvex ncdisjun
    syl df1c3g addceq1d adantr eqtr4d addccom syl6eq eqtrd ) ABCZADEFBCZQZAGHZI
    AJZKAEFZGHZLZIZVDIZMNZUTVAVEAOPUTVFMVGNZVHUTVFVBIZVGNZVIUTVBVDRZSTVFVKTUTVL
    VDVBRZSVBVDUAUTAVDCUBVMSTAUCVDAUDUEUFVBVDAUGVCGUHUIUJURVIVKTUSURMVJVGABUKUL
    UMUNMVGUOUPUQ $.

  $( Lemma for ~ nchoice .  An anti-closure condition for cardinal
     exponentiation to zero.  Theorem 4.5 of [Specker] p. 973.  (Contributed by
     SF, 18-Mar-2015.) $)
  nchoicelem8 $p |- ( ( <_c We NC /\ M e. NC ) ->
         ( -. ( M ^c 0c ) e. NC <-> Nc 1c <c M ) ) $=
    ( clec cncs cwe wbr wcel wa wn c1c cstrict cfound breqi brin bitri cpartial
    cin simprbi adantr a1i cantisym c0c cce cnc cltc ce0lenc1 notbid adantl wne
    co wb cconnex wo df-we sopc sylbi simpl simpr ncelncsi connexd sylan ord wi
    1cex wceq id nclecid syl6eqbrr necon3bi jcad simplbi cref ctrans df-partial
    ax-mp 3syl simplr simprl simprr antid necon3ad expimpd impbid brltc syl6bbr
    expr bitrd ) BCDEZACFZGZAUAUBUICFZHZAIUCZBEZHZWLAUDEZWHWKWNUJWGWHWJWMAUEUFU
    GWIWNWLABEZWLAUHZGZWOWIWNWRWIWNWPWQWIWMWPWGBCUKEZWHWMWPULWGBCJEZBCKEZGZWSWG
    BCJKPZEXBBCDXCUMLBCJKMNZWTWSXAWTBCOEZWSCBUNZQRUOWSWHGZCBAWLWSWHUPWSWHUQWLCF
    ZXGIVCURZSUSUTVAWNWQVBWIWMWLAWLAVDZAWLWLBXJVEXHWLWLBEXIWLVFVNVGVHSVIWIWPWQW
    NWIWPGWMWLAWIWPWMXJWIWPWMGZGZCBWLAWIBCTEZXKWGXMWHWGWTXEXMWGWTXAXDVJWTXEWSXF
    VJXEBCVKVLPZEZXMXEBCXNTPZEXOXMGBCOXPVMLBCXNTMNQVORRXHXLXISWGWHXKVPWIWPWMVQW
    IWPWMVRVSWEVTWAWBWLAWCWDWF $.

  $( Lemma for ~ nchoice .  Calculate the cardinality of the special set
     generator when near the end of raisability.  Theorem 6.8 of [Specker]
     p. 974.  (Contributed by SF, 18-Mar-2015.) $)
  nchoicelem9 $p |- ( ( <_c We NC /\ M e. NC /\ -. ( M ^c 0c ) e. NC ) ->
     ( Nc ( Sp[ac] ` T_c M ) = 2c \/ Nc ( Sp[ac] ` T_c M ) = 3c ) ) $=
    ( clec cncs wbr wcel c0c cce co wn cspac cfv cnc c2c wceq c3c wo wa cplc wb
    c1c cwe ctc cltc wne brltc simplbi 1cex ncelncsi tlecg adantl tcnc1c breq1i
    mpan cpw1 wi tccl te0c pw1ex w3a ce2le mp3an1 syl2anc ce2ncpw11c orc orbi1i
    pm2.1 df-ne mpbir ordir mpbiran2 sylibr ce2t nchoicelem8 sylan2 nchoicelem3
    bitri csn nceqd ovex df1c3 syl6eqr syl sylbird nclecid ax-mp ce0lenc1 ce2lt
    ex mp2an cnnc ceclnn1 mp3an mpan2 mpbiri addceq1d nchoicelem7 1p1e2c eqcomi
    2nnc 3eqtr4g fveq2 eqeq1d syl5ibcom adantr orim12d syl5 syl5bi syld addceq1
    sylbid orim12i syl56 a1i eqeq12d 2p1e3c orbi12d 3imtr4d 3impia ) BCUADZACEZ
    AFGHCEIZAUBZJKLZMNZYCONZPZXSXTQZTLZAUCDZMYBGHZJKZLZTRZTTRZNZYMMTRZNZPZYAYFY
    IYHABDZYGYLTNZYLMNZPZYRYIYSYHAUDYHAUEUFYGYSYHUBZYBBDZUUBXTYSUUDSZXSYHCEZXTU
    UETUGUHZYHAUIUMUJUUDTUNZLZYBBDZYGUUBUUCUUIYBBUKULYGUUJMUUIGHZYJBDZUUBXTUUJU
    ULUOZXSXTYBCEZYBFGHCEZUUMAUPZAUQZUUICEZUUNUUOUUMUUHTUGURUHUURUUNUUOUSUUJUUL
    UUIYBUTWHVAVBUJUULYHYJBDZYGUUBUUKYHYJBVCULUUSYHYJUCDZYHYJNZPZYGUUBUUSUUSUVA
    PZUVBUUSUVAVDUVBUUSYHYJUDZQZUVAPZUVCUUTUVEUVAYHYJUEVEUVFUVCUVDUVAPZUVGUVAIZ
    UVAPUVAVFUVDUVHUVAYHYJVGVEVHUUSUVDUVAVIVJVPVKYGUUTYTUVAUUAYGUUTYJFGHCEIZYTX
    TXSYJCEZUVIUUTSAVLZYJVMVNXTUVIYTUOZXSXTUVJUVLUVKUVJUVIYTUVJUVIQZYLYJVQZLTUV
    MYKUVNYJVOVRYJMYBGVSVTWAWHWBUJWCXSUVAUUAUOXTXSYHJKZLZMNUVAUUAXSMYHGHZJKZLZT
    RZYNUVPMXSUVSTTXSUVQFGHCEIZUVSTNZXSUWAYHUVQUCDZUUFYHFGHCEZUWCUUGUWDYHYHBDZU
    UFUWEUUGYHWDWEUUFUWDUWESUUGYHWFWEVHZYHWGWIXSUVQCEZUWAUWCSMWJEUUFUWDUWGWSUUG
    UWFMYHWKWLZUVQVMWMWNUWGUWAUWBUWHUWGUWAQZUVSUVQVQZLTUWIUVRUWJUVQVOVRUVQMYHGV
    SVTWAUMWBWOUUFUWDUVPUVTNUUGUWFYHWPWIYNMWQWRZWTUVAUVPYLMUVAUVOYKYHYJJXAVRXBX
    CXDXEXFXGXHXGXJYTYOUUAYQYLTTXIYLMTXIXKXLAVMXTYFYRSXSXTYDYOYEYQXTYCYMMYNXTUU
    NUUOYCYMNUUPUUQYBWPVBZMYNNXTUWKXMXNXTYCYMOYPUWLOYPNXTYPOXOWRXMXNXPUJXQXR $.

  ${
    $d c y $.  $d S t $.  $d S y $.  $d S z $.  $d t z $.  $d X y $.  $d X z $.
    $d y z $.
    nchoicelem10.1 $e |- S e. _V $.
    nchoicelem10.2 $e |- X e. _V $.
    $( Lemma for ~ nchoice .  Stratification helper lemma.  (Contributed by SF,
       18-Mar-2015.) $)
    nchoicelem10 $p |- ( <. c , X >. e. ~ ( ( Ins3 _S (+) Ins2 ~ ran ( `' ~
                     _S (x) ( `' _S |` Fix ( _S o. Image S ) ) ) ) " 1c )
        <-> c = Clos1 ( X , S ) ) $=
      ( vy vz vt csset cv wcel wn wss wa wbr wex vex 3bitri bitri anbi12i trtxp
      cclos1 ccompl ccnv cimage ccom cfix cres ctxp crn csn cop cima wel wi wal
      elrn brcnv df-br snex opex elcompl opelssetsn xchbinx brres elfix brimage
      wceq brco exbii imaex sseq1 ceqsexv ancom annim exnal 3bitrri con1bii cab
      brsset cint df-clos1 eleq2i elintab 3bitr4i releqel ) CFBAUBZIUCZUDZIUDZI
      AUEZUFZUGZUHZUIZUJZUCZBEFJZUKZBULZWPKZLBGJZMZAXBUMZXBMZNZFGUNZUOZGUPZWTWQ
      KWRWGKZXIXAXAXBWTWOOZGPXHLZGPXILGWTWOUQXKXLGXKXBWSWIOZXBBWNOZNZXFXGLZNZXL
      XBWSBWIWNUAXOXPXFNXQXMXPXNXFXMWSXBWHOWSXBULZWHKZXPXBWSWHURWSXBWHUSXSXRIKX
      GXRIWSXBWRUTZGQZVAVBWRXBFQZYAVCVDRXNXBBWJOZXBWMKZNXFXBBWJWMVEYCXCYDXEYCBX
      BIOXCXBBIURBXBEYAVTSYDXBXBWLOZXEXBWLVFYEXBHJZWKOZYFXBIOZNZHPYFXDVHZYFXBMZ
      NZHPXEHXBXBIWKVIYIYLHYGYJYHYKXBYFAYAHQZVGYFXBYMYAVTTVJYKXEHXDAXBDYAVKYFXD
      XBVLVMRSTSTXPXFVNSXFXGVORVJXHGVPVQVRWTWPWSBXTEVAVBXJWRXFGVSWAZKXIWGYNWRAB
      GWBWCXFGWRYBWDSWEWF $.
  $}

  ${
    $d a b $.  $d a m $.  $d a t $.  $d a u $.  $d a x $.  $d a y $.  $d b m $.
    $d b t $.  $d b u $.  $d b x $.  $d b y $.  $d m t $.  $d m u $.  $d m x $.
    $d m y $.  $d t u $.  $d t x $.  $d t y $.  $d u x $.  $d u y $.  $d x y $.
    $( Lemma for ~ nchoice .  Set up stratification for ~ nchoicelem12 .
       (Contributed by SF, 18-Mar-2015.) $)
    nchoicelem11 $p |- { t | A. m e. NC ( t = Nc ( Sp[ac] `
             T_c m ) -> Nc ( Sp[ac] ` m ) e. Nn ) } e. _V $=
      ( vu va vb cncs cvv csset cv wcel wceq cfin wn csn wa wex wbr bitri exbii
      snex vx vy cxp cins3 ccompl ccnv c2c cce co w3a copab ccom cfix cres ctxp
      crn cins2 csymdif c1c cima csi cin ctcfn cpw1 cdif ctc cspac cfv cnc cnnc
      cimage wi wral cab vex elcompl wrex cop elimapw13 cclos1 tccl spacval syl
      nceqd eqeq2d finnc eleq1d syl5bbr notbid eldif opelco anbi1i 19.41v excom
      imbi12d brsnsi1 bicomi anass breq1 anbi2d bitr4i sneq breq1d brtcfn df-br
      ceqsexv opelcnv elin opelxp mpbiran2 wel ancom brsnsi2 breq2 nchoicelem10
      spacvallem1 brcnv brssetsn anbi12i df-clel 3bitr4i clos1ex eqnc2 clos1eq1
      tcex rexbii snelpw1 elima risset notbii ncsex vvex xpex ssetex cnvex coex
      complex imaex siex pw1ex annim 3bitri rexbiia rexnal bitr2i abbi2i ins3ex
      syl6rbbr con1bii imageex fixex resex txpex rnex ins2ex symdifex 1cex inex
      tcfnex finex difex eqeltrri ) FGUCZHUDZHUEZUFZHUFZHUAIZFJUBIZFJUVIUGUVHUH
      UIKUJUAUBUKZVKZULZUMZUNZUOZUPZUEZUQZURZUSUTZUEZVAZUVGULZVBZUFZVCVAZVAZULZ
      UWALUTZVDZVDZGUCZVEZFVDZVDZVDZUTZUEZAIZBIZVFZVGVHZVIZKZUWTVGVHZVIVJJZVLZB
      FVMZAVNGUXHAUWRUWSUWRJUWSUWQJZMUXHUWSUWQAVOZVPUXHUXIUXIUXGMZBFVQZUXHMUXIU
      WTNZNZNZUWSVRZUWMJZBFVQUXLBUWSUWMFVSUXQUXKBFUWTFJZUXKUWSUXANZUVJVTZVIZKZU
      XMUVJVTZLJZVLZMZUXQUXRUXGUYEUXRUXDUYBUXFUYDUXRUXCUYAUWSUXRUXBUXTUXRUXAFJU
      XBUXTKUWTWAUAUBUXAWBWCWDWEUXFUXELJUXRUYDUXEWFUXRUXEUYCLUAUBUWTWBWGWHWOWIU
      XQUXPUWHJZUXPUWLJZMZOUYBUYDMZOUYFUXPUWHUWLWJUYGUYBUYIUYJUYGCIZUXAKZUWSUYK
      NZUVJVTZVIZKZOZCPZUYBUYGUXMUYKVCQZUYMNZUWSUWEQZOZCPZUYRUYGUXODIZUWGQZVUDU
      WSUWEQZOZDPZVUCDUXOUWSUWEUWGWKVUHVUDEIZNZKZUXNVUIUWFQZOZVUFOZEPZDPZVUCVUG
      VUODVUGVUMEPZVUFOZVUOVUEVUQVUFEUXNVUDUWFUXMTWPWLVUOVURVUMVUFEWMWQRSVUPVUN
      DPZEPZVUCVUNDEWNVUTVULVUJUWSUWEQZOZEPZVUCVUSVVBEVUSVUKVULVUFOZOZDPVVBVUNV
      VEDVUKVULVUFWRSVVDVVBDVUJVUITVUKVUFVVAVULVUDVUJUWSUWEWSWTXFRSVVCVUIUYMKZU
      YSOZVVAOZCPZEPZVUCVVBVVIEVVBVVGCPZVVAOVVIVULVVKVVACUXMVUIVCUWTTZWPWLVVGVV
      ACWMXASVVJVVHEPZCPVUCVVHECWNVVMVUBCVVMVVFUYSVVAOZOZEPVUBVVHVVOEVVFUYSVVAW
      RSVVNVUBEUYMUYKTZVVFVVAVUAUYSVVFVUJUYTUWSUWEVUIUYMXBXCWTXFRSRRRRRRVUBUYQC
      UYSUYLVUAUYPUWTUYKBVOXDVUAUWSFJZUYNUWSJZOZUYPVUAUYTUWSVRUWEJZVVSUYTUWSUWE
      XEVVTUWSUYTVRZUWDJZVVSUYTUWSUWDXGVWBVWAUVCJZVWAUWCJZOVVSVWAUVCUWCXHVWCVVQ
      VWDVVRVWCVVQUYTGJUYMTUWSUYTFGXIXJUWSVUIUVGQZVUIUYTUWBQZOZEPZVUDUYNKZDAXKZ
      OZDPZVWDVVRVWHVUIVUDNZKZVUDUYMUWAQZOZVWEOZEPZDPZVWLVWHVWQDPZEPVWSVWGVWTEV
      WGVWPDPZVWEOZVWTVWGVWFVWEOVXBVWEVWFXLVWFVXAVWEDUYMVUIUWAVVPXMWLRVWPVWEDWM
      XASVWQEDWNRVWRVWKDVWRVWOUWSVWMUVGQZOZVWKVWRVWNVWOVWEOZOZEPVXDVWQVXFEVWNVW
      OVWEWRSVXEVXDEVWMVUDTVWNVWEVXCVWOVUIVWMUWSUVGXNWTXFRVWOVWIVXCVWJVWOVUDUYM
      VRUWAJVWIVUDUYMUWAXEUVJUYMDUAUBXPZVVPXORVXCVWMUWSHQVWJUWSVWMHXQVUDUWSDVOU
      XJXRRXSRSREUWSUYTUWBUVGWKDUYNUWSXTYAXSRRRUWSUYNUVJUYMVVPVXGYBYCXAXSSRUYPU
      YBCUXAUWTYEUYLUYOUYAUWSUYLUYNUXTUYLUYMUXSKUYNUXTKUYKUXAXBUVJUYMUXSYDWCWDW
      EXFRUYHUYDVUDUXMUWAQZDLVQZVUDUYCKZDLVQUYHUYDVXHVXJDLVXHVUDUXMVRUWAJVXJVUD
      UXMUWAXEUVJUXMDVXGVVLXORYFUYHUXOUWKJZVXIUYHVXKUWSGJUXJUXOUWSUWKGXIXJVXKUX
      NUWJJZVXIUXNUWJYGVXLUXMUWIJVXIUXMUWIYGDUXMUWALYHRRRDUYCLYIYAYJXSUYBUYDUUA
      UUBUUHUUCRUXGBFUUDUUEUUIRUUFUWQUWMUWPUWHUWLUWEUWGUWDUVCUWCFGYKYLYMUWBUVGU
      WAUVTUVSUSUVDUVRHYNUUGUVQUVPUVOUVFUVNUVEHYNYQYOUVGUVMHYNYOZUVLHUVKYNUVJVX
      GUUJYPUUKUULUUMUUNYQUUOUUPUUQYRYQZYSVXMYPUURYOUWFVCUUSYSYSYPUWKGUWJUWIUWA
      LVXNUUTYRYTYTYLYMUVAUWOUWNFYKYTYTYTYRYQUVB $.
  $}

  ${
    $d M m $.  $d m t $.  $d m x $.  $d M x $.  $d k m $.  $d k n $.  $d k t $.
    $d m n $.  $d n t $.  $d t x $.
    $( Lemma for ~ nchoice .  If the T-raising of a cardinal yields a finite
       special set, then so does the initial set.  Theorem 7.1 of [Specker]
       p. 974.  (Contributed by SF, 18-Mar-2015.) $)
    nchoicelem12 $p |- ( ( M e. NC /\ ( Sp[ac] ` T_c M ) e. Fin ) ->
        ( Sp[ac] ` M ) e. Fin ) $=
      ( vx vm vt vk cspac cfv wcel cncs cv cnc wceq cnnc wi c0c nceqd cce co wa
      wral ctc cfin wrex finnc risset bitri c1c cplc nchoicelem11 eqeq1 ralbidv
      imbi1d weq tceq fveq2d eqeq2d fveq2 eleq1d imbi12d cbvralv syl6bb wne c2c
      vn wn tccl te0c nchoicelem7 syl2anc 0cnsuc a1i eqnetrd necomd df-ne sylib
      pm2.21d rgen 2nnc ceclnn1 mp3an1 syl ancoms adantrl adantl wb nnnc adantr
      fvex ncelncsi peano4nc sylancl tce2 biimprd sylbid imim1d imp peano2 syl6
      rspcv sylibrd ex syld expimpd csn nchoicelem3 vex df1c3 eqeltrri syl6eqel
      1cnnc expcom adantld adantrd pm2.61i an32s ralrimiva finds syl6bbr rspccv
      a1d com23 rexlimiv sylbi impcom ) AUAZFGZUBHZAIHZAFGZUBHZYGBJZYFKZLZBMUCZ
      YHYJNZYGYLMHYNYFUDBYLMUEUFYMYOBMYKMHZYHYMYJYPYKCJZUAZFGZKZLZYQFGZKZMHZNZC
      ITZYHYMYJNZNDJZYTLZUUDNZCITZOYTLZUUDNZCITVDJZYTLZUUDNZCITZUUNUGUHZEJZUAZF
      GZKZLZUUSFGZKZMHZNZEITZUUFDVDYKDCUIUUHOLZUUJUUMCIUVIUUIUULUUDUUHOYTUJULUK
      DVDUMZUUJUUPCIUVJUUIUUOUUDUUHUUNYTUJULUKUUHUURLZUUKUURYTLZUUDNZCITUVHUVKU
      UJUVMCIUVKUUIUVLUUDUUHUURYTUJULUKUVMUVGCEICEUMZUVLUVCUUDUVFUVNYTUVBUURUVN
      YSUVAUVNYRUUTFYQUUSUNUOPUPUVNUUCUVEMUVNUUBUVDYQUUSFUQPURUSUTVADBUMZUUJUUE
      CIUVOUUIUUAUUDUUHYKYTUJULUKUUMCIYQIHZUULUUDUVPOYTVBUULVEUVPYTOUVPYTVCYRQR
      FGKZUGUHZOUVPYRIHYROQRIHYTUVRLYQVFYQVGYRVHVIUVROVBUVPUVQVJVKVLVMOYTVNVOVP
      VQUUNMHZUUQUVHUVSUUQSUVGEIUVSUUSIHZUUQUVGUUSOQRIHZUVSUVTSZUUQSUVGNUWAUWBU
      UQUVGUWAUWBSZUUQUUNVCUUSQRZUAZFGZKZLZUWDFGZKZMHZNZUVGUWAUVTUUQUWLNZUVSUVT
      UWAUWMUVTUWASUWDIHZUWMVCMHUVTUWAUWNVRVCUUSVSVTUUPUWLCUWDIYQUWDLZUUOUWHUUD
      UWKUWOYTUWGUUNUWOYSUWFUWOYRUWEFYQUWDUNUOPUPUWOUUCUWJMUWOUUBUWIYQUWDFUQPUR
      USWSWAWBWCUWCUWLUVGUWCUWLSZUVCUWJUGUHZMHZUVFUWPUVCUWKUWRUWCUWLUVCUWKNUWCU
      VCUWHUWKUWCUVCUURVCUUTQRZFGZKZUGUHZLZUWHUWCUVBUXBUURUWBUVBUXBLZUWAUVTUXDU
      VSUVTUUTIHUUTOQRIHUXDUUSVFUUSVGUUTVHVIWDWDUPUWCUXCUUNUXALZUWHUWCUUNIHZUXA
      IHUXCUXEWEUWBUXFUWAUVSUXFUVTUUNWFWGWDUWTUWSFWHWIUUNUXAWJWKUWCUWHUXEUWCUWG
      UXAUUNUWCUWFUWTUWCUWEUWSFUWAUVTUWEUWSLZUVSUVTUWAUXGUUSWLWBWCUOPUPWMWNWNWO
      WPUWJWQWRUWPUVEUWQMUWCUVEUWQLZUWLUWAUVTUXHUVSUVTUWAUXHUUSVHWBWCWGURWTXAXB
      XCUWAVEZUWBUVGUUQUXIUVTUVGUVSUVTUXIUVGUVTUXISZUVFUVCUXJUVEUUSXDZKZMUXJUVD
      UXKUUSXEPUGUXLMUUSEXFXGXJXHXIXTXKXLXMXNXOXPXAXQUUEUUGCAIYQALZUUAYMUUDYJUX
      MYTYLYKUXMYSYFUXMYRYEFYQAUNUOPUPUXMUUDYIKZMHYJUXMUUCUXNMUXMUUBYIYQAFUQPUR
      YIUDXRUSXSWAYAYBYCYD $.
  $}

  ${
    $d M x $.
    $( Lemma for ~ nchoice .  The cardinality of a special set is at least
       one.  (Contributed by SF, 18-Mar-2015.) $)
    nchoicelem13 $p |- ( M e. NC -> 1c <_c Nc ( Sp[ac] ` M ) ) $=
      ( vx cncs wcel cv cspac cfv wss c1c wrex cnc wbr csn snel1cg spacid snssi
      clec syl sseq1 rspcev syl2anc wb 1cnc fvex lenc ax-mp sylibr ) ACDZBEZAFG
      ZHZBIJZIUJKQLZUHAMZIDUNUJHZULACNUHAUJDUOAOAUJPRUKUOBUNIUIUNUJSTUAICDUMULU
      BUCBUJIAFUDUEUFUG $.
  $}

  ${
    $d M k $.
    $( Lemma for ~ nchoice .  When the special set generator yields a
       singleton, then the cardinal is not raisable.  (Contributed by SF,
       19-Mar-2015.) $)
    nchoicelem14 $p |- ( ( M e. NC /\ Nc ( Sp[ac] ` M ) = 1c ) ->
       -. ( M ^c 0c ) e. NC ) $=
      ( vk cncs wcel cspac cfv cnc c1c wceq c0c cce co wn c2c cplc wne c0 bitri
      cin sylibr csn cun nchoicelem5 incom eqeq1i disjsn snex fvex ncdisjun syl
      df1c3g adantr addceq2d addccom syl6reqr clec wbr cnnc 2nnc ceclnn1 mp3an1
      wa nchoicelem13 cv wrex wb 1cnc ncelncsi dflec2 mp2an 0cnsuc neeq1 mpbiri
      eqnetri rexlimivw sylbi 3syl 0cnc peano4nc necon3bii eqnetrd neeq2i df-ne
      addcid2 sylib nchoicelem6 nceqd eqeq1d mtbird ex con2d imp ) ACDZAEFZGZHI
      ZAJKLCDZMWMWQWPWMWQWPMWMWQVBZWPAUAZNAKLZEFZUBZGZHIZWRXCJHOZPZXDMZWRXCWSGZ
      XAGZOZXEWRWSXASZQIZXCXJIWRAXADMZXLAUCXLXAWSSZQIXMXKXNQWSXAUDUEXAAUFRTWSXA
      AUGWTEUHZUIUJWRXJXIHOZXEWRXPXIXHOXJWRHXHXIWMHXHIWQACUKULUMXHXIUNUOWRXIJPZ
      XPXEPWRWTCDZHXIUPUQZXQNURDWMWQXRUSNAUTVAWTVCXSXIHBVDZOZIZBCVEZXQHCDXICDZX
      SYCVFVGXAXOVHZHXIBVIVJYBXQBCYBXQYAJPYAXTHOJHXTUNXTVKVNXIYAJVLVMVOVPVQXPXE
      XIJYDJCDXPXEIXIJIVFYEVRXIJVSVJVTTWAWAXFXCHPXGXEHXCHWDWBXCHWCRWEWRWOXCHWRW
      NXBAWFWGWHWIWJWKWL $.
  $}

  $( Lemma for ~ nchoice .  When the special set generator does not yield a
     singleton, then the cardinal is raisable.  (Contributed by SF,
     19-Mar-2015.) $)
  nchoicelem15 $p |- ( ( M e. NC /\ 1c <c Nc ( Sp[ac] ` M ) ) ->
     ( M ^c 0c ) e. NC ) $=
    ( cncs wcel c1c cspac cfv cnc cltc wbr c0c cce co wne clec brltc simprbi wn
    wceq wa csn df1c3g adantr nchoicelem3 nceqd eqtr4d ex necon1ad syl5 imp ) A
    BCZDAEFZGZHIZAJKLBCZUMDULMZUJUNUMDULNIUODULOPUJUNDULUJUNQZDULRUJUPSZDATZGZU
    LUJDUSRUPABUAUBUQUKURAUCUDUEUFUGUHUI $.

  ${
    $d m n $.  $d m t $.  $d m u $.  $d m v $.  $d m x $.  $d m y $.  $d n t $.
    $d n u $.  $d n v $.  $d n x $.  $d n y $.  $d t u $.  $d t v $.  $d t x $.
    $d t y $.  $d u v $.  $d u x $.  $d u y $.  $d v x $.  $d v y $.  $d x y $.
    $( Lemma for ~ nchoice .  Set up stratification for ~ nchoicelem17 .
       (Contributed by SF, 19-Mar-2015.) $)
    nchoicelem16 $p |- { t |
( <_c We NC -> A. m e. NC ( Nc ( Sp[ac] ` m ) = ( 1c +c t ) -> ( ( Sp[ac] ` T_c
m ) e. Fin /\ ( Nc ( Sp[ac] ` T_c m ) = ( T_c Nc ( Sp[ac] ` m ) +c 1c ) \/ Nc (
             Sp[ac] ` T_c m ) = ( T_c Nc ( Sp[ac] ` m ) +c 2c ) ) ) ) ) } e. _V
        $=
      ( vu vv cncs wbr ccnv c1c caddcfn csset wcel c2c wceq cop wex exbii bitri
      wa 3bitri cnvex vx vy vn clec cwe cab c2nd c1st csn cima cres ccom ccompl
      wn cins3 cv cce co w3a copab cimage cfix ctxp csi ctcfn cun cnnc cpw1 cfv
      cspac cnc cplc ctc cfin wo wral vex snex wrex cclos1 spacval nceqd eqeq1d
      wi syl eleq1d orbi12d anbi12d notbid opelcnv opelco brsnsi1 anbi1i 19.41v
      opsnelsi bitr4i excom anass breq1 anbi2d ceqsexv brcnv df-br nchoicelem10
      wel brssetsn anbi12i clos1ex eleq1 ancom eqcom eqnc2 brtcfn brco eliniseg
      brres anbi2i 1cex op1st2nd braddcfn addceq1 eqeq2d syl6bbr eqeq1 addceq1d
      opex tcex 2ndex 1stex imaex resex addcfnex coex ssetex complex txpex siex
      ncsex unex pw1ex crn cins2 csymdif cdif cuni1 cvv elima3 eluni1 elimapw13
      unab elcompl eldif opelres spacvallem1 elimapw11c oteltxp 3bitr2i df-clel
      tccl brun 2nc elexi orbi12i ncex finnc sneq clos1eq1 notbii syl6rbbr tceq
      pm5.32i rexbiia 3bitrri con1bii addcex eqeq2 imbi1d ralbidv abbi2i uneq2i
      rexanali imor abbii 3eqtr4i abexv ins3ex imageex fixex rnex ins2ex tcfnex
      symdifex nncex difex uni1ex eqeltrri ) UDEUEFZUNZAUFZUGUHGZHUIZUJZUKZIGZU
[encoded data, 5120 characters]
      KTYMYSTYMUWMYKXVMYMYPHXRYTYJUWNVUNVUMEYRYTYTYTYJYOUWOYJYSUWP $.
  $}

  ${
    $d k m $.  $d k n $.  $d M m $.  $d m n $.  $d m t $.  $d m x $.  $d n t $.
    $d k t $.  $d k x $.  $d M t $.  $d M x $.  $d t x $.
    $( Lemma for ~ nchoice .  If the special set of a cardinal is finite, then
       so is the special set of its T-raising, and there is a calculable
       relationship between their sizes.  Theorem 7.2 of [Specker] p. 974.
       (Contributed by SF, 19-Mar-2015.) $)
    nchoicelem17 $p |- ( ( <_c We NC /\ M e. NC /\ ( Sp[ac] ` M ) e. Fin ) ->
       ( ( Sp[ac] ` T_c M ) e. Fin /\
         ( Nc ( Sp[ac] ` T_c M ) = ( T_c Nc ( Sp[ac] ` M ) +c 1c ) \/
           Nc ( Sp[ac] ` T_c M ) = ( T_c Nc ( Sp[ac] ` M ) +c 2c ) ) ) ) $=
      ( vt vk vm cncs wcel cspac cfv cfin ctc cnc c1c cplc wceq c2c wa cnnc c0c
      wi addceq1d vx vn clec cwe wbr wo finnc wrex risset nchoicelem13 ad2antlr
      cv wb 1cnc fvex ncelncsi dflec2 mp2an eqtr ancoms eqtr2 ex adantl addceq2
      jcai addccom syl6eq eqeq2d rspcev mpan nnnc sylan2 syl5ibr adantll nclenn
      3expia wral nchoicelem16 addcid1 imbi1d ralbidv imbi2d fveq2 nceqd eqeq1d
      weq tceq fveq2d eleq1d syl eqeq12d orbi12d anbi12d imbi12d cbvralv syl6bb
      cce co wn nchoicelem14 w3a c3c nchoicelem9 id 2nnc syl6eqel 2p1e3c peano2
      ax-mp eqeltrri jaoi sylibr 1p1e2c eqeq2i eqtri orbi12i nchoicelem3 df1c3g
      csn adantr eqtr4d tc1c 3adant1 ralrimiva wne ad2antrl simp2 simpr 3adant2
      syld nchoicelem7 addceq1 syl5 com23 3impia imp mpd expr syl5bi rexlimdva
      mpbird cltc 0cnsuc peano1 1cnnc addccan1 mp3an23 necon3bid mpbiri addcid2
      jca neeq2i sylib eqnetrd syl2an necomd brltc sylanbrc nchoicelem15 df-3an
      ceclnn1 mp3an1 rspccva tce2 eqtr3d peano4nc 3syl mpbid tccl te0c 3ad2ant1
      syl2anc 3imtr4g tcdi addceq2i addc32 orim12d anim12d embantd sylbid exp4b
      sylan2br 3exp com12 a2d finds rspccv syl6com 3syld imp3a exp3a ) UCEUDUEZ
[encoded data, 4480 characters]
      MUWKYTYSYQYTYSYSYO $.
  $}

  ${
    $d c x $.  $d c p $.  $d c q $.  $d p q $.  $d p x $.  $d q x $.
    $( Lemma for ~ nchoice .  Set up stratification for ~ nchoicelem19 .
       (Contributed by SF, 20-Mar-2015.) $)
    nchoicelem18 $p |- { x | ( Sp[ac] ` x ) e. Fin } e. _V $=
      ( vp vq vc cncs ccompl csset ccnv cv wcel wceq c1c cima cspac wo wa bitri
      cfin complex ssetex cins3 c2c cce co w3a copab cimage ccom cfix cres ctxp
      crn cins2 csymdif cuni1 cin cun cfv cab cvv wn pm2.1 cdm wfn fnspac ax-mp
      c0 fndm eleq2i sylnbir 0fin syl6eqel pm4.71i orbi1i elun vex elcompl elin
      ndmfv csn cclos1 spacval eleq1d eluni1 wbr df-br spacvallem1 nchoicelem10
      wrex cop snex rexbii elima 3bitr4i syl6rbbr pm5.32i orbi12i andir mpbiran
      risset abbi2i ncsex ins3ex cnvex imageex coex fixex resex ins2ex symdifex
      txpex rnex 1cex imaex finex uni1ex inex unex eqeltrri ) EFZEGUAZGFZHZGHZG
      BIZEJCIZEJYFUBYEUCUDKUEBCUFZUGZUHZUIZUJZUKZULZFZUMZUNZLMZFZRMZUOZUPZUQZAI
      ZNURZRJZAUSUTUUEAUUBUUCUUBJZUUCEJZVAZUUGOZUUEUUGVBUUHUUGUUEPZOZUUHUUEPZUU
      JOUUFUUIUUEPUUHUULUUJUUHUUEUUHUUDVGRUUGUUCNVCZJUUDVGKUUMEUUCNEVDUUMEKVEEN
      VHVFVIUUCNVSVJVKVLVMVNUUFUUCXTJZUUCUUAJZOUUKUUCXTUUAVOUUNUUHUUOUUJUUCEAVP
      ZVQUUOUUGUUCYTJZPUUJUUCEYTVRUUGUUQUUEUUGUUEUUCVTZYGWAZRJZUUQUUGUUDUUSRBCU
      UCWBWCUUQUURYSJZUUTUUCYSUUPWDDIZUURYRWEZDRWIUVBUUSKZDRWIUVAUUTUVCUVDDRUVC
      UVBUURWJYRJUVDUVBUURYRWFYGUURDBCWGZUUCWKWHQWLDUURYRRWMDUUSRWTWNQWOWPQWQQU
      UHUUGUUEWRWNWSXAXTUUAEXBSEYTXBYSYRRYQYPLYAYOGTXCYNYMYLYCYKYBGTSXDYDYJGTXD
      YIGYHTYGUVEXEXFXGXHXKXLSXIXJXMXNSXOXNXPXQXRXS $.
  $}

  ${
    $d m n $.  $d m x $.  $d n x $.  $d m p $.  $d n p $.
    $( Lemma for ~ nchoice .  Assuming well-ordering, there is a cardinal with
       a finite special set that is its own T-raising.  Theorem 7.3 of
       [Specker] p. 974.  (Contributed by SF, 20-Mar-2015.) $)
    nchoicelem19 $p |- ( <_c We NC ->
        E. m e. NC ( ( Sp[ac] ` m ) e. Fin /\ T_c m = m ) ) $=
      ( vn vx vp clec cncs wbr cv cspac cfv cfin wcel wi wa wceq eleq1d cvv cnc
      fveq2 syl cwe wral wrex ctc nchoicelem18 weq id vvex ncelncsi csn c0c cce
      co wn c1c cltc cpw1 cpw ltcpw1pwg ax-mp df1c2 nceqi pwv eqcomi 3brtr4i wb
      nchoicelem8 mpbiri nchoicelem3 sylancr snfi syl6eqel rspcev weds cantisym
      mpan2 simpll cstrict cfound cin df-we breqi brin simplbi cpartial cconnex
      bitri sopc cref ctrans porta simp3bi simplr tccl simprr cplc nchoicelem17
      c2c wo simprl syl3anc simpld breq2 imbi12d rspcv letc 3expia nchoicelem12
      syl3c syl2anc ad2ant2lr imp ad2ant2l mpd tlecg mpbid breq1 imbi2d ralbidv
      anbi12d anbi2d tceq breq12d com12 an32s rexlimdva adantlr antid imdistand
      syld exp32 reximdva ) EFUAGZAHZIJZKLZBHZIJZKLZYNYQEGZMZBFUBZNZAFUCYPYNUDZ
      YNOZNZAFUCYMCHZIJZKLZYPYSCABFECUECAUFUUHYOKUUGYNISPCBUFUUHYRKUUGYQISPYMUG
      YMQRZFLZUUJIJZKLZUUICFUCQUHUIZYMUULUUJUJZKYMUUKUUJUKULUMFLUNZUULUUOOUUNYM
      UUPUORZUUJUPGZQUQZRZQURZRZUUQUUJUPQQLUUTUVBUPGUHQQUSUTUOUUSVAVBUVBUUJUVAQ
      VCVBVDVEYMUUKUUPUURVFUUNUUJVGVPVHUUJVIVJUUJVKVLUUIUUMCUUJFUUGUUJOUUHUULKU
      UGUUJISPVMVJVNYMUUCUUFAFYMYNFLZNZYPUUBUUEUVDYPUUBUUEUVDUUCNZFEUUDYNUVEYME
      FVOGZYMUVCUUCVQZYMEFVRGZUVFYMUVHEFVSGZYMEFVRVSVTZGUVHUVINEFUAUVJWAWBEFVRV
      SWCWGWDUVHEFWEGZUVFUVHUVKEFWFGFEWHWDUVKEFWIGEFWJGUVFFEWKWLTTTUVEUVCUUDFLZ
      YMUVCUUCWMZYNWNTZUVMUVEYNUUDEGZUUDYNEGZUVEUVLUUBUUDIJZKLZUVOUVNUVDYPUUBWO
      UVEUVRUVQRZYORUDZUOWPOUVSUVTWRWPOWSZUVEYMUVCYPUVRUWANUVGUVMUVDYPUUBWTYNWQ
      XAXBUUAUVRUVOMBUUDFYQUUDOZYSUVRYTUVOUWBYRUVQKYQUUDISPYQUUDYNEXCXDXEXIZUVE
      UVOYNDHZUDZOZDFUCZUVPUVEUVCUVCUVOUWGMUVMUVMUVCUVCUVOUWGYNYNDXFXGXJYMUUCUW
      GUVPMUVCYMUUCNUWFUVPDFYMUWDFLZUUCUWFUVPMUWFYMUWHNZUUCNZUVPUWFUWJUVPMUWIUW
      EIJZKLZYSUWEYQEGZMZBFUBZNZNZUWEUDZUWEEGZMUWQUWEUWDEGZUWSUWQUWDIJZKLZUWTUW
      HUWLUXBYMUWOUWDXHXKUWHUWOUXBUWTMZYMUWLUWHUWOUXCUWNUXCBUWDFBDUFZYSUXBUWMUW
      TUXDYRUXAKYQUWDISPYQUWDUWEEXCXDXEXLXMXNUWQUWEFLZUWHUWTUWSVFUWQUWHUXEYMUWH
      UWPWMZUWDWNTUXFUWEUWDXOXJXPUWFUWJUWQUVPUWSUWFUUCUWPUWIUWFYPUWLUUBUWOUWFYO
      UWKKYNUWEISPUWFUUAUWNBFUWFYTUWMYSYNUWEYQEXQXRXSXTYAUWFUUDUWRYNUWEEYNUWEYB
      UWFUGYCXDVHYDYEYFYGYJXNUWCYHYKYIYLXN $.
  $}

  ${
    $d m n $.
    $( Cardinal less than or equal does not well-order the cardinals.  This is
       equivalent to saying that the axiom of choice from ZFC is false in NF.
       Theorem 7.5 of [Specker] p. 974.  (Contributed by SF, 20-Mar-2015.) $)
    nchoice $p |- -. <_c We NC $=
      ( vn vm cncs cv ctc c1c cplc wceq c2c wo cnnc wrex wcel wn cspac cfv cfin
      wa cnc eqeq1d cwe wbr nchoicelem1 nchoicelem2 ioran sylanbrc nchoicelem19
      clec nrex finnc biimpi ad2antrl simpll simplr simprl nchoicelem17 syl3anc
      simprd simprr fveq2d nceqd orbi12d mpbid id tceq addceq1d eqeq12d syl2anc
      rspcev ex rexlimdva mpd mto ) UHCUAUBZADZVOEZFGZHZVOVPIGZHZJZAKLZWAAKVOKM
      VRNVTNWANVOUCVOUDVRVTUEUFUIVNBDZOPZQMZWCEZWCHZRZBCLWBBUGVNWHWBBCVNWCCMZRZ
      WHWBWJWHRZWDSZKMZWLWLEZFGZHZWLWNIGZHZJZWBWEWMWJWGWEWMWDUJUKULWKWFOPZSZWOH
      ZXAWQHZJZWSWKWTQMZXDWKVNWIWEXEXDRVNWIWHUMVNWIWHUNWJWEWGUOWCUPUQURWKXBWPXC
      WRWKXAWLWOWKWTWDWKWFWCOWJWEWGUSUTVAZTWKXAWLWQXFTVBVCWAWSAWLKVOWLHZVRWPVTW
      RXGVOWLVQWOXGVDZXGVPWNFVOWLVEZVFVGXGVOWLVSWQXHXGVPWNIXIVFVGVBVIVHVJVKVLVM
      $.
  $}

$(
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
        Finite recursion
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
$)

  $( Declare new constants $)
  $c FRec $. $( Finite recursion generator $)

  $( Extend the definition of a class to include the finite recursive function
     generator. $)
  cfrec $a class FRec ( F , I ) $.

  ${
    $d F x $.  $d I x $.
    $( Define the finite recursive function generator.  This is a function over
       ` Nn ` that obeys the standard recursion relationship.  Definition
       adapted from theorem XI.3.24 of [Rosser] p. 412.  (Contributed by Scott
       Fenton, 30-Jul-2019.) $)
    df-frec $a |- FRec ( F , I ) =
    Clos1 ( { <. 0c , I >. } , PProd ( ( x e. _V |-> ( x +c 1c ) ) , F ) ) $.
  $}

  ${
    $d F x $.  $d G x $.  $d I x $.  $d J x $.
    $( Equality theorem for finite recursive function generator.  (Contributed
       by Scott Fenton, 31-Jul-2019.) $)
    freceq12 $p |- ( ( F = G /\ I = J ) -> FRec ( F , I ) = FRec ( G , J ) ) $=
      ( vx wceq wa c0c cop csn cvv cv c1c cplc cmpt cpprod cclos1 cfrec df-frec
      syl opeq2 sneqd clos1eq1 pprodeq2 clos1eq2 sylan9eqr 3eqtr4g ) ABFZCDFZGH
      CIZJZEKELMNOZAPZQZHDIZJZULBPZQZACRBDRUIUHUNUPUMQZURUIUKUPFUNUSFUIUJUOCDHU
      AUBUMUKUPUCTUHUMUQFUSURFABULUDUMUPUQUETUFEACSEBDSUG $.
  $}

  ${
    $d G x $.  $d I x $.
    frecex.1 $e |- F = FRec ( G , I ) $.
    $( The finite recursive function generator preserves sethood.  (Contributed
       by Scott Fenton, 30-Jul-2019.) $)
    frecexg $p |- ( G e. V -> F e. _V ) $=
      ( vx wcel c0c cop csn cvv c1c cplc cmpt cpprod cclos1 cfrec df-frec eqtri
      cv snex csucex pprodexg mpan clos1exg sylancr syl5eqel ) BDGZAHCIZJZFKFTL
      MNZBOZPZKABCQUMEFBCRSUHUJKGULKGZUMKGUIUAUKKGUHUNFUBUKBKDUCUDULUJKKUEUFUG
      $.

    frecex.2 $e |- G e. _V $.
    $( The finite recursive function generator preserves sethood.  (Contributed
       by Scott Fenton, 30-Jul-2019.) $)
    frecex $p |- F e. _V $=
      ( cvv wcel frecexg ax-mp ) BFGAFGEABCFDHI $.
  $}

  ${
    $d F x y z a b c d i $.  $d G x y z a b c d i $.  $d I i x $.
    frecxp.1 $e |- F = FRec ( G , I ) $.
    frecxp.2 $e |- G e. _V $.
    $( Subset relationship for the finite recursive function generator.
       (Contributed by Scott Fenton, 30-Jul-2019.) $)
    frecxp $p |- F C_ ( Nn X. ( ran G u. { I } ) ) $=
      ( vy vz vx va vb vc vd cnnc cvv wcel cv wceq c0c wa c0 vi crn csn cun cxp
      cfrec wss eqid freceq12 mpan sneq uneq2d xpeq2d sseq12d cop c1c cplc cmpt
      cpprod wbr wal wral nncex rnex snex unex xpex peano1 vex snid elun2 ax-mp
      0cex opex snss opelxp bitr3i mpbir2an w3a wex brpprod brcsuc brelrn elun1
      wi syl peano2 anim12ci adantrr eleq1 anbi1d syl5ibr exp3a sylbi wb syl6bb
      adantr adantl imbi12d 3impia exlimivv impcom ax-gen rgenw pprodex df-frec
      csucex clos1induct mp3an vtoclg wn cclos1 opexb simprbi con3i snprc sylib
      imp clos1eq1 clos10 syl6eq 0ss syl6eqss syl5eqss pm2.61i eqsstri ) ABCUFZ
      MBUBZCUCZUDZUEZDCNOZYGYKUGZBUAPZUFZMYHYNUCZUDZUEZUGZYMUACNYNCQZYOYGYRYKBB
      QYTYOYGQBUHBBYNCUIUJYTYQYJMYTYPYIYHYNCUKULUMUNYRNORYNUOZUCZYRUGZFPZYROZUU
      DGPZHNHPUPUQURZBUSZUTZSUUFYROZWEZGVAZFYOVBYSMYQVCYHYPBEVDYNVEVFVGUUCRMOZY
      NYQOZVHYNYPOUUNYNUAVIZVJYNYPYHVKVLUUCUUAYROUUMUUNSUUAYRRYNVMUUOVNVORYNMYQ
      VPVQVRUULFYOUUKGUUIUUEUUJUUIUUDIPZJPZUOZQZUUFKPZLPZUOZQZUUPUUTUUGUTZUUQUV
      ABUTZSZVSZLVTKVTZJVTIVTUUEUUJWEZIJKLUUDUUFUUGBWAUVHUVIIJUVGUVIKLUUSUVCUVF
      UVIUVFUVIUUSUVCSZUUPMOZUUQYQOZSZUUTMOZUVAYQOZSZWEZUVDUVEUVQUVDUUTUUPUPUQZ
      QZUVEUVQWEHUUPUUTIVIKVIWBUVSUVEUVMUVPUVEUVMSUVPUVSUVRMOZUVOSZUVEUVKUWAUVL
      UVEUVOUVKUVTUVEUVAYHOUVOUUQUVABWCUVAYHYPWDWFUUPWGWHWIUVSUVNUVTUVOUUTUVRMW
      JWKWLWMWNXRUVJUUEUVMUUJUVPUUSUUEUVMWOUVCUUSUUEUURYROUVMUUDUURYRWJUUPUUQMY
      QVPWPWQUVCUUJUVPWOUUSUVCUUJUVBYROUVPUUFUVBYRWJUUTUVAMYQVPWPWRWSWLWTXAXAWN
      XBXCXDFGYOUUHUUBNYRUUAVEUUGBHXGEXEZHBYNXFXHXIXJYLXKZYGRCUOZUCZUUHXLZYKHBC
      XFUWCUWFTYKUWCUWFTUUHXLZTUWCUWETQZUWFUWGQUWCUWDNOZXKUWHUWIYLUWIRNOYLRCXMX
      NXOUWDXPXQUUHUWETXSWFUWGUUHUWBUWGUHXTYAYKYBYCYDYEYF $.
  $}

  ${
    $d G g $.  $d I g $.
    frecxpg.1 $e |- F = FRec ( G , I ) $.
    $( Subset relationship for the finite recursive function generator.
       (Contributed by Scott Fenton, 31-Jul-2019.) $)
    frecxpg $p |- ( G e. V -> F C_ ( Nn X. ( ran G u. { I } ) ) ) $=
      ( vg wcel cfrec cnnc crn csn cun cxp cv wss wceq eqid freceq12 mpan2 rneq
      uneq1d xpeq2d sseq12d vex frecxp vtoclg syl5eqss ) BDGABCHZIBJZCKZLZMZEFN
      ZCHZIUMJZUJLZMZOUHULOFBDUMBPZUNUHUQULURCCPUNUHPCQUMBCCRSURUPUKIURUOUIUJUM
      BTUAUBUCUNUMCUNQFUDUEUFUG $.

  $}

  ${
    $d F w x y z t $.  $d G w x y z t $.  $d I w x y z t $.  $d ph w x y z t $.
    dmfrec.1 $e |- F = FRec ( G , I ) $.
    dmfrec.2 $e |- ( ph -> G e. V ) $.
    dmfrec.3 $e |- ( ph -> I e. dom G ) $.
    dmfrec.4 $e |- ( ph -> ran G C_ dom G ) $.
    $( The domain of the finite recursive function generator is the naturals.
       (Contributed by Scott Fenton, 31-Jul-2019.) $)
    dmfrec $p |- ( ph -> dom F = Nn ) $=
      ( vx vt vw vy vz cnnc wcel cvv c0c syl wbr cdm crn csn cun cxp wss dmxpss
      frecxpg dmss 3syl syl6ss cv c1c cplc wi wral frecexg cop cmpt cpprod wrex
      dmexg wo 0cex opexg mpan snidg orcd wb snex csucex pprodexg cfrec df-frec
      cclos1 eqtri clos1basesucg sylancr mpbird opeldm wex eldm2 wceq vex elsnc
      wa opex opth bitri simprbi eleq1 biimprcd syl5 cproj2 cproj1 opeq qrpprod
      breq1i brelrn sseld adantr rexlimdva jaod ancld clos1conn eximi eldm eqid
      sylbid 1cex addcex brcsuc mpbir mpbiran bitr4i anbi2i 19.42v 3imtr4i syl6
      exbii exlimdv syl5bi ralrimivw peano5 syl3anc eqssd ) ABUAZOAYGOCUBZDUCUD
      ZUEZUAZOACEPZBYJUFYGYKUFGBCDEFUHBYJUIUJOYIUGUKAYGQPZRYGPZJULZYGPZYOUMUNZY
      GPZUOZJOUPOYGUFABQPZYMAYLYTGBCDEFUQSBQVBSARDURZBPZYNAUUBUUAUUAUCZPZKULZUU
      ALQLULUMUNUSZCUTZTKBVAZVCZAUUDUUHAUUAQPZUUDADCUAZPZUUJHRQPUULUUJVDRDQUUKV
      EVFSUUAQVGSVHAUUCQPZUUGQPZUUBUUIVIUUAVJZAYLUUNGUUFQPYLUUNLVKUUFCQEVLVFSZK
      UUABUUGUUCQQBCDVMUUCUUGVOFLCDVNVPZVQVRVSRDBVTSAYSJOYPYOMULZURZBPZMWAAYRMY
      OBWBAUUTYRMAUUTUUTUURUUKPZWFZYRAUUTUVAAUUTUUSUUCPZUUEUUSUUGTZKBVAZVCZUVAA
      UUMUUNUUTUVFVIUUOUUPKUUSBUUGUUCQQUUQVQVRAUVCUVAUVEUVCUURDWCZAUVAUVCYORWCZ
      UVGUVCUUSUUAWCUVHUVGWFUUSUUAYOUURJWDZMWDWGWEYOUURRDWHWIWJAUULUVGUVAUOHUVG
      UVAUULUURDUUKWKWLSWMAUVDUVAKBAUVDUVAUOUUEBPUVDUURYHPZAUVAUVDUUEWNZUURCTZU
      VJUVDUUEWOZYOUUFTZUVLUVDUVMUVKURZUUSUUGTUVNUVLWFUUEUVOUUSUUGUUEWPWRUVMUVK
      YOUURUUFCWQWIWJUVKUURCWSSAYHUUKUURIWTWMXAXBXCXIXDUUTUUSYQNULZURZUUGTZWFZN
      WAZUVQBPZNWAUVBYRUVSUWANUUSUVQBUUGUUCUUQXEXFUVBUUTUVRNWAZWFUVTUVAUWBUUTUV
      AUURUVPCTZNWAUWBNUURCXGUVRUWCNUVRYOYQUUFTZUWCUWDYQYQWCYQXHLYOYQUVIYOUMUVI
      XJXKXLXMYOUURYQUVPUUFCWQXNXTXOXPUUTUVRNXQXONYQBWBXRXSYAYBYCJYGQYDYEYF $.
  $}

  ${
    $d F w y z $.
    $( Lemma for ~ fnfrec .  Establish stratification for induction.
       (Contributed by Scott Fenton, 31-Jul-2019.) $)
    fnfreclem1 $p |- ( F e. V ->
                { w | A. y A. z ( ( w F y /\ w F z ) -> y = z ) } e. _V ) $=
      ( wcel cv wbr wa weq wal cvv cid wn vex cop wex df-br bitri exbii wi ccnv
      cab cxp cins2 cin cins3 cdif crn ccompl elcompl elrn2 elin opelcnv opelxp
      eldif mpbiran 3bitr4i otelins2 anbi12i ideq equcom 3bitr2i notbii exanali
      otelins3 exnal 3bitrri con1bii abbi2i vvex cnvexg xpexg sylancr syl inexg
      ins2exg syl2anc idex ins3ex difexg mpan2 rnexg 3syl complexg syl5eqelr )
      DEFZCGZAGZDHZWHBGZDHZIZABJZUABKZAKZCUCLDUBZUDZWQUEZUFZMUGZUHZUIZUIZUJZLWP
      CXEWHXEFWHXDFZNWPWHXDCOZUKWPXFXFWIWHPZXCFZAQWMWNNZIZBQZAQZWPNZAWHXCULXIXL
      AXIWKXHPZXBFZBQXLBXHXBULXPXKBXPXOWTFZXOXAFZNZIXKXOWTXAUPXQWMXSXJXQXOWRFZX
      OWSFZIWMXOWRWSUMXTWJYAWLXHWQFZWHWIPDFXTWJWIWHDUNXTWKLFYBBOWKXHLWQUOUQWHWI
      DRURWKWHPWQFWHWKPDFYAWLWKWHDUNWKWIWHWQAOZUSWHWKDRURUTSXRWNXRWKWIPMFWKWIMH
      ZWNWKWIWHMXGVFWKWIMRYDBAJWNWKWIYCVABAVBSVCVDUTSTSTXMWONZAQXNXLYEAWMWNBVET
      WOAVGSVHVISVJWGXCLFZXDLFXELFWGWTLFZXBLFZYFWGWRLFZWSLFZYGWGLLFWQLFZYIVKDEV
      LZLWQLLVMVNWGYKYJYLWQLVQVOWRWSLLVPVRYGXALFYHMVSVTWTXALLWAWBXBLWCWDXCLWCXD
      LWEWDWF $.
  $}

  ${
    $d G w z a $.  $d I w z a $.  $d X z a $.  $d ph z $.  $d F z $.
    fnfreclem2.1 $e |- F = FRec ( G , I ) $.
    fnfreclem2.2 $e |- ( ph -> G e. V ) $.
    fnfreclem2.3 $e |- ( ph -> I e. dom G ) $.
    fnfreclem2.4 $e |- ( ph -> ran G C_ dom G ) $.
    $( Lemma for ~ fnfrec .  Calculate the unique value of ` F ` at zero.
       (Contributed by Scott Fenton, 31-Jul-2019.) $)
    fnfreclem2 $p |- ( ph -> ( 0c F X -> X = I ) ) $=
      ( vz vw c0c wbr cop wcel wceq cvv c1c wb df-br csn cv cplc cmpt cpprod wo
      wrex csucex pprodexg sylancr cfrec cclos1 df-frec eqtri clos1basesucg cdm
      snex 0cex opexg elsnc2g opth simprbi syl6bi wi wn cproj1 cproj2 wa 0cnsuc
      syl wne df-ne mpbi intnanr qrpprod opeq cfv vex proj1ex addceq1 eqid 1cex
      breq1i addcex fvmpt ax-mp eqeq1i wfn fnmpti fnbrfvb bitr3i anbi1i 3bitr4i
      mp2an mtbir a1i nrex pm2.21i jaod sylbid syl5bi ) MFBNMFOZBPZAFDQZMFBUAAX
      DXCMDOZUBZPZKUCZXCLRLUCZSUDZUEZCUFZNZKBUHZUGZXEAXGRPXMRPZXDXPTXFURAXLRPCE
      PXQLUIHXLCREUJUKKXCBXMXGRRBCDULXGXMUMGLCDUNUOUPUKAXHXEXOAXHXCXFQZXEAXFRPZ
      XHXRTAMRPDCUQZPXSUSIMDRXTUTUKXCXFRVAVKXRMMQXEMFMDVBVCVDXOXEVEAXOXEXNKBXNV
      FXIBPXNXIVGZSUDZMQZXIVHZFCNZVIZYCYEYBMVLYCVFYAVJYBMVMVNVOYAYDOZXCXMNYAMXL
      NZYEVIXNYFYAYDMFXLCVPXIYGXCXMXIVQWDYCYHYEYCYAXLVRZMQZYHYIYBMYARPZYIYBQXIK
      VSVTZLYAXKYBRXLXJYASWAXLWBZYASYLWCWEWFWGWHXLRWIYKYJYHTLRXKXLXJSLVSWCWEYMW
      JYLRYAMXLWKWOWLWMWNWPWQWRWSWQWTXAXB $.

    $d ph a t $.  $d F a t $.  $d X t $.  $d G a t w z $.  $d Y z t a $.
    fnfreclem3.5 $e |- ( ph -> X e. Nn ) $.
    fnfreclem3.6 $e |- ( ph -> ( X +c 1c ) F Y ) $.
    $( Lemma for ~ fnfrec .  The value of ` F ` at a successor is ` G ` related
       to a previous element.  (Contributed by Scott Fenton, 31-Jul-2019.) $)
    fnfreclem3 $p |- ( ph -> E. z ( X F z /\ z G Y ) ) $=
      ( vw vt c1c wcel cvv wceq va cplc cop c0c csn cv wbr wex cmpt cpprod wrex
      wa wb cdm 0cex opexg sylancr elsnc2g syl opth simplbi wi wne 0cnsuc df-ne
      wn mpbi pm2.21i a1i syl5 sylbid vex opeqex ax-mp excom eleq1 df-br anbi2d
      syl6bbr breq1 qrpprod cfv addceq1 eqid 1cex addcex fvmpt eqeq1i wfn fnmpt
      addcexg mpan2 mprg fnbrfvb mp2an bitr3i anbi1i bitr4i syl6bb anbi12d cnnc
      breldm adantl dmfrec adantr eleqtrd peano4 3expia syl2anc syld anim1d imp
      biimpcd syl6bi com12 exlimdv eximdv mpi ex rexlimdva snex csucex pprodexg
      wo cfrec cclos1 df-frec eqtri clos1basesucg syl5bb mpbid mpjaod ) AGQUBZH
      UCZUDEUCZUEZRZGBUFZCUGZYRHDUGZULZBUHZUAUFZYNOSOUFZQUBZUIZDUJZUGZUACUKZAYQ
      YNYOTZUUBAYOSRZYQUUJUMAUDSREDUNZRUUKUOKUDESUULUPUQYNYOSURUSUUJYMUDTZAUUBU
      UJUUMHETYMHUDEUTVAUUMUUBVBAUUMUUBYMUDVCUUMVFGVDYMUDVEVGVHVIVJVKAUUHUUBUAC
      AUUCCRZULZUUHUUBUUOUUHULZUUCPUFZYRUCZTZPUHZBUHZUUBUUSBUHPUHZUVAUUCSRUVBUA
      VLPBUUCSVMVNUUSPBVOVGUUPUUTUUABUUPUUSUUAPUUSUUPUUAUUSUUPAUUQYRCUGZULZUUQQ
      UBZYMTZYTULZULUUAUUSUUOUVDUUHUVGUUSUUNUVCAUUSUUNUURCRUVCUUCUURCVPUUQYRCVQ
      VSVRUUSUUHUURYNUUGUGZUVGUUCUURYNUUGVTUVHUUQYMUUFUGZYTULUVGUUQYRYMHUUFDWAU
      VFUVIYTUVFUUQUUFWBZYMTZUVIUVJUVEYMUUQSRZUVJUVETPVLZOUUQUUEUVESUUFUUDUUQQW
      CUUFWDZUUQQUVMWEWFWGVNWHUUFSWIZUVLUVKUVIUMUUESRZUVOOSOSUUEUUFSUVNWJUUDSRQ
      SRUVPWEUUDQSSWKWLWMUVMSUUQYMUUFWNWOWPWQWRWSWTUVDUVGUUAUVDUVFYSYTUVDUVFUUQ
      GTZYSUVDUUQXARZGXARZUVFUVQVBUVDUUQCUNZXAUVCUUQUVTRAUUQYRCXBXCAUVTXATUVCAC
      DEFIJKLXDXEXFAUVSUVCMXEUVRUVSUVFUVQUUQGXGXHXIUVCUVQYSVBAUVQUVCYSUUQGYRCVT
      XMXCXJXKXLXNXOXPXQXRXSXTAYMHCUGZYQUUIYDZNUWAYNCRZAUWBYMHCVQAYPSRUUGSRZUWC
      UWBUMYOYAAUUFSRDFRUWDOYBJUUFDSFYCUQUAYNCUUGYPSSCDEYEYPUUGYFIODEYGYHYIUQYJ
      YKYL $.
  $}

  ${
    $d ph x y z w t a b $.  $d F x y z w t a b $.  $d G x y z w t a b $.
    $d I x y z w t a b $.
    fnfrec.1 $e |- F = FRec ( G , I ) $.
    fnfrec.2 $e |- ( ph -> G e. Funs ) $.
    fnfrec.3 $e |- ( ph -> I e. dom G ) $.
    fnfrec.4 $e |- ( ph -> ran G C_ dom G ) $.
    $( The recursive function generator is a function over the finite
       cardinals.  (Contributed by Scott Fenton, 31-Jul-2019.) $)
    fnfrec $p |- ( ph -> F Fn Nn ) $=
      ( vy vz wceq cv wbr wa wi wal wcel cfuns breq1 wex vx vw vt wfun cdm cnnc
      va vb wfn weq breldm adantl dmfrec adantr eleqtrd adantrr c0c c1c cvv cab
      cplc frecexg fnfreclem1 3syl anbi12d imbi1d 2albidv breq2 bi2anan9 eqeq12
      imbi12d cbval2v syl6bb fnfreclem2 imp adantrl eqtr4d ex alrimivv ad2antrr
      crn wss simplr simpr fnfreclem3 adantlrr anim12d eeanv 19.29 eximi pm3.35
      syl6ibr syl cfv anbi1d elfunsi funbrfv eqtr2 syl56 exp3a syl5 com34 imp3a
      biimpa com12 an4s com3l exlimdvv impr syld ancoms findsd 19.21bbi alrimiv
      expr mpcom dffun2 sylibr df-fn sylanbrc ) ABUDZBUEZUFKZBUFUIAUALZILZBMZYD
      JLZBMZNZIJUJZOZJPIPZUAPYAAYLUAAYKIJAYIYJYDUFQZAYINYJAYFYMYHAYFNYDYBUFYFYD
      YBQAYDYEBUKULAYCYFABCDREFGHUMZUNUOUPYMAYIYJYMAYKYMANYKIJUBLZYEBMZYOYGBMZN
      ZYJOZJPIPZUQYEBMZUQYGBMZNZYJOZJPIPUCLZYEBMZUUEYGBMZNZYJOZJPZIPZUUEURVAZUG
      LZBMZUULUHLZBMZNZUGUHUJZOZUHPUGPZYLAUBUCYDUSACRQZBUSQYTUBUTUSQFBCDREVBIJU
      BBUSVCVDYOUQKZYSUUDIJUVBYRUUCYJUVBYPUUAYQUUBYOUQYEBSYOUQYGBSVEVFVGUBUCUJZ
      YSUUIIJUVCYRUUHYJUVCYPUUFYQUUGYOUUEYEBSYOUUEYGBSVEVFVGYOUULKZYTUULYEBMZUU
      LYGBMZNZYJOZJPIPUUTUVDYSUVHIJUVDYRUVGYJUVDYPUVEYQUVFYOUULYEBSYOUULYGBSVEV
      FVGUVHUUSIJUGUHIUGUJZJUHUJZNUVGUUQYJUURUVIUVEUUNUVJUVFUUPYEUUMUULBVHYGUUO
      UULBVHVIYEUUMYGUUOVJVKVLVMUBUAUJZYSYKIJUVKYRYIYJUVKYPYFYQYHYOYDYEBSYOYDYG
      BSVEVFVGAUUDIJAUUCYJAUUCNYEDYGAUUAYEDKZUUBAUUAUVLABCDRYEEFGHVNVOUPAUUBYGD
      KZUUAAUUBUVMABCDRYGEFGHVNVOVPVQVRVSAUUEUFQZUUKUUTOAUVNUUKUUTAUVNUUKNNZUUS
      UGUHUVOUUQUUFYEUUMCMZNZUUGYGUUOCMZNZNZJTZITZUURUVOUUQUVQITZUVSJTZNUWBUVOU
      UNUWCUUPUWDUVOUUNUWCAUVNUUNUWCUUKAUVNNZUUNNIBCDRUUEUUMEAUVAUVNUUNFVTADCUE
      ZQZUVNUUNGVTACWAUWFWBZUVNUUNHVTAUVNUUNWCUWEUUNWDWEWFVRUVOUUPUWDAUVNUUPUWD
      UUKUWEUUPNJBCDRUUEUUOEAUVAUVNUUPFVTAUWGUVNUUPGVTAUWHUVNUUPHVTAUVNUUPWCUWE
      UUPWDWEWFVRWGUVQUVSIJWHWLAUVNUUKUWBUUROUWEUUKUWBUURUUKUWBNZUUIUVTNZJTZITZ
      UWEUURUWIUUJUWANZITUWLUUJUWAIWIUWMUWKIUUIUVTJWIWJWMAUWLUUROUVNAUWJUURIJAU
      UIUVTUURUVTAUUIUURUUFUUGUVPUVRAUUIUUROZOAUUHUVPUVRNZNUWNAUUHUWOUWNAUUHUUI
      UWOUURAUUHUUIUWOUUROZUUHUUINYJAUWPUUHYJWKAYJUWOUURYJUWONYGUUMCMZUVRNZAYGC
      WNZUUMKZUWSUUOKZNUURYJUWOUWRYJUVPUWQUVRYEYGUUMCSWOXDAUWQUWTUVRUXAAUVACUDZ
      UWQUWTOFCWPZYGUUMCWQVDAUVAUXBUVRUXAOFUXCYGUUOCWQVDWGUWSUUMUUOWRWSWTXAWTXB
      XCXEXFXGXCXHUNXAWTXIXJVSXOXKXLXMVRXCXPVRVSXNUAIJBXQXRYNBUFXSXT $.
  $}

  ${
    $d F x y $.  $d G x y $.  $d I x y $.
    frec0.1 $e |- F = FRec ( G , I ) $.
    frec0.2 $e |- ( ph -> G e. Funs ) $.
    frec0.3 $e |- ( ph -> I e. dom G ) $.
    frec0.4 $e |- ( ph -> ran G C_ dom G ) $.
    $( Calculate the value of the finite recursive function generator at zero.
       (Contributed by Scott Fenton, 31-Jul-2019.) $)
    frec0 $p |- ( ph -> ( F ` 0c ) = I ) $=
      ( vy vx c0c wcel cv cvv cnnc peano1 sylancr wb cfuns mpbird cfv wceq cplc
      cop csn c1c cmpt cpprod wbr wrex cdm opexg snidg syl orcd csucex pprodexg
      snex cfrec cclos1 df-frec eqtri clos1basesucg wfn fnfrec fnopfvb sylancl
      wo ) AKBUADUBZKDUDZBLZAVKVJVJUEZLZIMVJJNJMUFUCUGZCUHZUIIBUJZVHZAVMVPAVJNL
      ZVMAKOLZDCUKZLVRPGKDOVTULQVJNUMUNUOAVLNLVONLZVKVQRVJURAVNNLCSLWAJUPFVNCNS
      UQQIVJBVOVLNNBCDUSVLVOUTEJCDVAVBVCQTABOVDVSVIVKRABCDEFGHVEPOKDBVFVGT $.
  $}

  ${
    $d F w y $.  $d G w y $.  $d I w y $.  $d X w y $.
    frecsuc.1 $e |- F = FRec ( G , I ) $.
    frecsuc.2 $e |- ( ph -> G e. Funs ) $.
    frecsuc.3 $e |- ( ph -> I e. dom G ) $.
    frecsuc.4 $e |- ( ph -> ran G C_ dom G ) $.
    frecsuc.5 $e |- ( ph -> X e. Nn ) $.
    $( Calculate the value of the finite recursive function generator at a
       successor.  (Contributed by Scott Fenton, 31-Jul-2019.) $)
    frecsuc $p |- ( ph -> ( F ` ( X +c 1c ) ) = ( G ` ( F ` X ) ) ) $=
      ( vy vw wceq cop wcel cvv wbr cnnc syl syl2anc c1c cplc cfv c0c cv cpprod
      csn cmpt wrex wo wfun cdm fnfrec fnfun cfuns dmfrec eleqtrrd funfvop eqid
      wfn peano2 addceq1 eqeq2d eqeq1 mptv brabg mpbiri elfunsi crn snssd unssd
      wb cun cxp frecxpg rnss rnxpss syl6ss fvelrn sseldd df-br sylibr wa breq1
      wss qrpprod syl6bb rspcev syl12anc olcd snex csucex pprodexg cfrec cclos1
      sylancr df-frec eqtri clos1basesucg mpbird fnopfvb ) AEUAUBZBUCEBUCZCUCZM
      ZXBXDNZBOZAXGXFUDDNZUGZOZKUEZXFLPLUEZUAUBZUHZCUFZQZKBUIZUJZAXQXJAEXCNZBOZ
      EXBXNQZXCXDCQZXQABUKZEBULZOZXTABRUTZYCABCDFGHIUMZRBUNSZAERYDJABCDUOFGHIUP
      UQZEBURTAYAXBXBMZXBUSAEROZXBROZYAYJVLJAYKYLJEVASZXKXMMXKXBMYJLKEXBRRXNXLE
      MXMXBXKXLEUAVBVCXKXBXBVDLKXMVEVFTVGAXCXDNCOZYBACUKZXCCULZOYNACUOOZYOGCVHS
      ACVIZDUGZVMZYPXCAYRYSYPIADYPHVJVKABVIZYTXCAUUARYTVNZVIZYTABUUBWEZUUAUUCWE
      AYQUUDGBCDUOFVOSBUUBVPSRYTVQVRAYCYEXCUUAOYHYIEBVSTVTVTXCCURTXCXDCWAWBXPYA
      YBWCZKXSBXKXSMXPXSXFXOQUUEXKXSXFXOWDEXCXBXDXNCWFWGWHWIWJAXIPOXOPOZXGXRVLX
      HWKAXNPOYQUUFLWLGXNCPUOWMWPKXFBXOXIPPBCDWNXIXOWOFLCDWQWRWSWPWTAYFYLXEXGVL
      YGYMRXBXDBXATWT $.
  $}

$(
#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#
       Cantorian and Strongly Cantorian Sets
#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#
$)

  $c Can $. $( Cantorian class $)
  $c SCan $. $( Strongly Cantorian class $)

  $( Extend the definition of class to include the class of all Cantorian
     sets. $)
  ccan $a class Can $.

  $( Define the class of all Cantorian sets.  These are so-called because
     Cantor's Theorem ` Nc A <c Nc ~P A ` holds for these sets.  Definition
     from [Rosser] p. 347 and [Holmes] p. 134.  (Contributed by Scott Fenton,
     19-Apr-2021.) $)
  df-can $a |- Can = { x | ~P1 x ~~ x } $.

  $( Extend the definition of class to include the class of all strongly
     Cantorian sets. $)
  cscan $a class SCan $.
  
  ${
     $d x y $.
     $( Define the class of strongly Cantorian sets.  Unlike general Cantorian
        sets, this fixes a specific mapping between ` x ` and ` ~P1 x ` .
	Definition from [Holmes] p. 134.
	(Contributed by Scott Fenton, 19-Apr-2021.) $)
     df-scan $a |- SCan = { x | ( y e. x |-> { y } ) e. _V } $.
  $}

  ${
     $d x A $.
     $( The domain of the singleton function.  (Contributed by Scott Fenton,
        20-Apr-2021.) $)
     dmsnfn $p |- dom ( x e. A |-> { x } ) = A $=
       ( cv csn cvv wcel crab wa cab cmpt df-rab eqid dmmpt snex biantru abbi2i
       cdm 3eqtr4i ) ACZDZEFZABGSBFZUAHZAIABTJZQBUAABKABTUDUDLMUCABUAUBSNOPR $.
  $}

  ${
     epelcres.1 $e |- Y e. _V $.
     $( Version of ~ epelc with a restriction in place.  (Contributed by
        Scott Fenton, 20-Apr-2021.) $)
     epelcres $p |- ( X e. A -> ( X ( _E |` A ) Y <-> X e. Y ) ) $=
       ( wcel cep wbr wa cres iba bicomd brres epelc bicomi 3bitr4g ) BAEZBCFGZ
       PHZQBCFAIGBCEZPQRPQJKBCFALQSBCDMNO $.
  $}

  ${
     $d A x y $.
     $( Membership in the class of Cantorian sets.  (Contributed by Scott
        Fenton, 19-Apr-2021.) $)
     elcan $p |- ( A e. Can <-> ~P1 A ~~ A ) $=
       ( vx ccan wcel cvv cpw1 cen wbr elex brrelrnex wceq pw1eq breq12d df-can
       cv id elab2g pm5.21nii ) ACDAEDAFZAGHZACISAGJBOZFZUAGHTBACEUAAKZUBSUAAGU
       AALUCPMBNQR $.

     $( Membership in the class of strongly Cantorian sets.  (Contributed by
        Scott Fenton, 19-Apr-2021.) $)
     elscan $p |- ( A e. SCan <-> ( x e. A |-> { x } ) e. _V ) $=
       ( vy cscan wcel cvv csn cmpt elex cdm dmsnfn dmexg syl5eqelr wceq mpteq1
       cv eleq1d df-scan elab2g pm5.21nii ) BDEBFEABAPGZHZFEZBDIUCBUBJFABKUBFLM
       ACPZUAHZFEUCCBDFUDBNUEUBFAUDBUAOQCARST $.
   $}

   ${
      $d A x y z $.
      $( Strongly Cantorian implies Cantorian.  Observation from [Holmes],
         p. 134. (Contributed by Scott Fenton, 19-Apr-2021.) $)
      scancan $p |- ( A e. SCan -> A e. Can ) $=
        ( vx vy vz cv csn cmpt cvv wcel cpw1 cen wbr cscan wfn ccnv wceq weu wa
        weq copab ccan wf1o snex eqid fnmpti wrex elpw1 euequ1 eqeq1 vex equcom
        sneqb bitri syl6bb eubidv mpbiri rexlimivw sylbi df-mpt cnvopab snelpw1
        cnveqi eleq1 syl6rbb pm5.32ri opabbii 3eqtri fnopab dff1o4 f1oeng mpan2
        mpbir2an ensymi syl elscan elcan 3imtr4i ) BABEZFZGZHIZAJZAKLZAMIAUAIWA
        AWBKLZWCWAAWBVTUBZWDWEVTANVTOZWBNBAVSVTVRUCVTUDUECEZVSPZCBWBWFWGWBIZWGD
        EZFZPZDAUFWHBQZDWGAUGWLWMDAWLWMBDSZBQBDUHWLWHWNBWLWHWKVSPZWNWGWKVSUIWOD
        BSWNWJVRDUJULDBUKUMUNUOUPUQURWFVRAIZWHRZBCTZOWQCBTWIWHRZCBTVTWRBCAVSUSV
        BWQBCUTWQWSCBWHWPWIWHWIVSWBIWPWGVSWBVCVRAVAVDVEVFVGVHAWBVTVIVLAWBHVTVJV
        KAWBVMVNBAVOAVPVQ $.

  $}

   $( The cardinality of a Cantorian set is equal to the cardinality
      of its unit power set.  (Contributed by Scott Fenton, 23-Apr-2021.) $)
   canncb $p |- ( A e. V -> ( A e. Can <-> Nc ~P1 A = Nc A ) ) $=
     ( wcel cpw1 cnc wceq cen wbr ccan cvv wb pw1exg eqncg syl elcan syl6rbbr )
     ABCZADZEAEFZRAGHZAICQRJCSTKABLRAJMNAOP $.

   $( The cardinality of a Cantorian set is equal to the cardinality
      of its unit power set.  (Contributed by Scott Fenton, 21-Apr-2021.) $)
   cannc $p |- ( A e. Can -> Nc ~P1 A = Nc A ) $=
     ( ccan wcel cpw1 cnc wceq canncb ibi ) ABCADEAEFABGH $.

  $( The cardinality of a Cantorian set is strictly less than the cardinality
     of its power set.  (Contributed by Scott Fenton, 21-Apr-2021.) $)
  canltpw $p |- ( A e. Can -> Nc A <c Nc ~P A ) $=
    ( ccan wcel cpw1 cnc cpw cltc cannc ltcpw1pwg eqbrtrrd ) ABCADEAEAFEGAHABIJ
    $.

  $( The cardinality of a Cantorian set is equal to the ` T_c ` raising
     of that cardinal.  (Contributed by Scott Fenton, 23-Apr-2021.) $)
  cantcb $p |- ( A e. V -> ( A e. Can <-> T_c Nc A = Nc A ) ) $=
    ( wcel ccan cpw1 cnc wceq ctc canncb tcncg eqeq1d bitr4d ) ABCZADCAEFZAFZGO
    HZOGABIMPNOABJKL $.

  $( The cardinality of a Cantorian set is equal to the ` T_c ` raising
     of that cardinal.  (Contributed by Scott Fenton, 22-Apr-2021.) $)
  cantc $p |- ( A e. Can -> T_c Nc A = Nc A ) $=
    ( ccan wcel cnc ctc wceq cantcb ibi ) ABCADZEIFABGH $.

  $( The universe is not Cantorian.  Theorem XI.1.8 of [Rosser] p. 348.
     (Contributed by Scott Fenton, 22-Apr-2021.) $)
  vncan $p |- -. _V e. Can $=
    ( cvv ccan wcel cnc cltc wbr ltcirr cpw canltpw pwv nceqi syl6breq mto ) AB
    CZADZOEFOGNOAHZDOEAIPAJKLM $.

$(
#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#
       Appendix:  Typesetting definitions for the tokens in this file
#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#
$)


$( $t

/* The '$ t' (no space between '$' and 't') token indicates the beginning
    of the typesetting definition section, embedded in a Metamath
    comment.  There may only be one per source file, and the typesetting
    section ends with the end of the Metamath comment.  The typesetting
    section uses C-style comment delimiters.  Todo:  Allow multiple
    typesetting comments */

/* These are the LaTeX and HTML definitions in the order the tokens are
    introduced in $c or $v statements.  See HELP TEX or HELP HTML in the
    Metamath program. */


/******* Web page format settings *******/

/* Page title, home page link */
htmltitle "New Foundations Explorer";
htmlhome '<A HREF="mmnf.html"><FONT SIZE=-2 FACE=sans-serif>' +
    '<IMG SRC="nf.gif" BORDER=0 ALT=' +
    '"Home" HEIGHT=32 WIDTH=32 ALIGN=MIDDLE STYLE="margin-bottom:0px">' +
    'Home</FONT></A>';
/* Optional file where bibliographic references are kept */
/* If specified, e.g. "mmnf.html", Metamath will hyperlink all strings of the
   form "[rrr]" (where "rrr" has no whitespace) to "mmnf.html#rrr" */
/* A warning will be given if the file "mmnf.html" with the bibliographical
   references is not present.  It is read in order to check correctness of
   the references. */
/* Note: this is also used to determine the home page (rather than
   extracting it from htmlhome) */
htmlbibliography "mmnf.html";

/* Variable color key at the bottom of each proof table */
htmlvarcolor '<FONT COLOR="#0000FF">wff</FONT> '
    + '<FONT COLOR="#FF0000">setvar</FONT> '
    + '<FONT COLOR="#CC33CC">class</FONT>';

/* GIF and Unicode HTML directories - these are used for the GIF version to
   crosslink to the Unicode version and vice-versa */
htmldir "../nfegif/";
althtmldir "../nfeuni/";


/******* Symbol definitions *******/

htmldef "(" as "<IMG SRC='lp.gif' WIDTH=5 HEIGHT=19 TITLE='(' ALIGN=TOP>";
  althtmldef "(" as "(";
  latexdef "(" as "(";
htmldef ")" as "<IMG SRC='rp.gif' WIDTH=5 HEIGHT=19 TITLE=')' ALIGN=TOP>";
  althtmldef ")" as ")";
  latexdef ")" as ")";
htmldef "->" as
    " <IMG SRC='to.gif' WIDTH=15 HEIGHT=19 TITLE='-&gt;' ALIGN=TOP> ";
  althtmldef "->" as ' &rarr; ';
  latexdef "->" as "\rightarrow";
htmldef "-." as
    "<IMG SRC='lnot.gif' WIDTH=10 HEIGHT=19 TITLE='-.' ALIGN=TOP> ";
  althtmldef "-." as '&not; ';
  latexdef "-." as "\lnot";
htmldef "wff" as
    "<IMG SRC='_wff.gif' WIDTH=24 HEIGHT=19 TITLE='wff' ALIGN=TOP> ";
  althtmldef "wff" as '<FONT COLOR="#808080">wff </FONT>'; /* was #00CC00 */
  latexdef "wff" as "{\rm wff}";
htmldef "|-" as
    "<IMG SRC='_vdash.gif' WIDTH=10 HEIGHT=19 TITLE='|-' ALIGN=TOP> ";
  althtmldef "|-" as
    '<FONT COLOR="#808080" FACE=sans-serif>&#8866; </FONT>'; /* &vdash; */
    /* Without sans-serif, way too big in FF3 */
  latexdef "|-" as "\vdash";
htmldef "ph" as
    "<IMG SRC='_varphi.gif' WIDTH=11 HEIGHT=19 TITLE='ph' ALIGN=TOP>";
  althtmldef "ph" as '<FONT COLOR="#0000FF"><I>&phi;</I></FONT>';
  latexdef "ph" as "\varphi";
htmldef "ps" as "<IMG SRC='_psi.gif' WIDTH=12 HEIGHT=19 TITLE='ps' ALIGN=TOP>";
  althtmldef "ps" as '<FONT COLOR="#0000FF"><I>&psi;</I></FONT>';
  latexdef "ps" as "\psi";
htmldef "ch" as "<IMG SRC='_chi.gif' WIDTH=12 HEIGHT=19 TITLE='ch' ALIGN=TOP>";
  althtmldef "ch" as '<FONT COLOR="#0000FF"><I>&chi;</I></FONT>';
  latexdef "ch" as "\chi";
htmldef "th" as
    "<IMG SRC='_theta.gif' WIDTH=8 HEIGHT=19 TITLE='th' ALIGN=TOP>";
  althtmldef "th" as '<FONT COLOR="#0000FF"><I>&theta;</I></FONT>';
  latexdef "th" as "\theta";
htmldef "ta" as "<IMG SRC='_tau.gif' WIDTH=10 HEIGHT=19 TITLE='ta' ALIGN=TOP>";
  althtmldef "ta" as '<FONT COLOR="#0000FF"><I>&tau;</I></FONT>';
  latexdef "ta" as "\tau";
htmldef "et" as "<IMG SRC='_eta.gif' WIDTH=9 HEIGHT=19 TITLE='et' ALIGN=TOP>";
  althtmldef "et" as '<FONT COLOR="#0000FF"><I>&eta;</I></FONT>';
  latexdef "et" as "\eta";
htmldef "ze" as "<IMG SRC='_zeta.gif' WIDTH=9 HEIGHT=19 TITLE='ze' ALIGN=TOP>";
  althtmldef "ze" as '<FONT COLOR="#0000FF"><I>&zeta;</I></FONT>';
  latexdef "ze" as "\zeta";
htmldef "si" as
    "<IMG SRC='_sigma.gif' WIDTH=10 HEIGHT=19 TITLE='si' ALIGN=TOP>";
  althtmldef "si" as '<FONT COLOR="#0000FF"><I>&sigma;</I></FONT>';
  latexdef "si" as "\sigma";
htmldef "rh" as "<IMG SRC='_rho.gif' WIDTH=9 HEIGHT=19 TITLE='rh' ALIGN=TOP>";
  althtmldef "rh" as '<FONT COLOR="#0000FF"><I>&rho;</I></FONT>';
  latexdef "rh" as "\rho";
htmldef "mu" as "<IMG SRC='_mu.gif' WIDTH=10 HEIGHT=19 TITLE='mu' ALIGN=TOP>";
  althtmldef "mu" as '<FONT COLOR="#0000FF"><I>&mu;</I></FONT>';
  latexdef "mu" as "\rho";
htmldef "la" as
    "<IMG SRC='_lambda.gif' WIDTH=9 HEIGHT=19 TITLE='la' ALIGN=TOP>";
  althtmldef "la" as '<FONT COLOR="#0000FF"><I>&lambda;</I></FONT>';
  latexdef "la" as "\rho";
htmldef "ka" as
    "<IMG SRC='_kappa.gif' WIDTH=9 HEIGHT=19 TITLE='ka' ALIGN=TOP>";
  althtmldef "ka" as '<FONT COLOR="#0000FF"><I>&kappa;</I></FONT>';
  latexdef "ka" as "\rho";
htmldef "~P" as "<IMG SRC='scrp.gif' WIDTH=16 HEIGHT=19 TITLE='~P' ALIGN=TOP>";
  althtmldef "~P" as '<FONT FACE=sans-serif>&weierp;</FONT>';
  latexdef "~P" as "{\cal P}";
htmldef "<->" as " <IMG SRC='leftrightarrow.gif' WIDTH=15 HEIGHT=19 " +
    "TITLE='&lt;-&gt;' ALIGN=TOP> ";
  althtmldef "<->" as ' &harr; ';
  latexdef "<->" as "\leftrightarrow";
htmldef "\/" as
     " <IMG SRC='vee.gif' WIDTH=11 HEIGHT=19 TITLE='\/' ALIGN=TOP> ";
  althtmldef "\/" as ' <FONT FACE=sans-serif> &or;</FONT> ' ;
    /* althtmldef "\/" as ' <FONT FACE=sans-serif>&#8897;</FONT> ' ; */
    /* was &or; - changed to match font of &and; replacement */
    /* Changed back 6-Mar-2012 NM */
  latexdef "\/" as "\vee";
htmldef "/\" as
    " <IMG SRC='wedge.gif' WIDTH=11 HEIGHT=19 TITLE='/\' ALIGN=TOP> ";
  althtmldef "/\" as ' <FONT FACE=sans-serif>&and;</FONT> ';
    /* althtmldef "/\" as ' <FONT FACE=sans-serif>&#8896;</FONT> '; */
    /* was &and; which is circle in Mozilla on WinXP Pro (but not Home) */
    /* Changed back 6-Mar-2012 NM */
  latexdef "/\" as "\wedge";
htmldef "-/\" as
    " <IMG SRC='barwedge.gif' WIDTH=9 HEIGHT=19 TITLE='-/\' ALIGN=TOP> ";
  althtmldef "-/\" as ' <FONT FACE=sans-serif>&#8892;</FONT> ';
    /*althtmldef "-/\" as " &#8892; "; */ /* too-high font bug in FF */
    /* barwedge, U022BC, alias ISOAMSB barwed, ['nand'] */
  latexdef "-/\" as "\barwedge";
htmldef "hadd" as "hadd";
  althtmldef "hadd" as "hadd";
  latexdef "hadd" as "\mbox{hadd}";
htmldef "cadd" as "cadd";
  althtmldef "cadd" as "cadd";
  latexdef "cadd" as "\mbox{cadd}";
htmldef "A." as
    "<IMG SRC='forall.gif' WIDTH=10 HEIGHT=19 TITLE='A.' ALIGN=TOP>";
  althtmldef "A." as '<FONT FACE=sans-serif>&forall;</FONT>'; /* &#8704; */
  latexdef "A." as "\forall";
htmldef "setvar" as
    "<IMG SRC='_setvar.gif' WIDTH=20 HEIGHT=19 TITLE='setvar' ALIGN=TOP> ";
  althtmldef "setvar" as '<FONT COLOR="#808080">setvar </FONT>';
  latexdef "setvar" as "{\rm setvar}";
htmldef "x" as "<IMG SRC='_x.gif' WIDTH=10 HEIGHT=19 TITLE='x' ALIGN=TOP>";
  althtmldef "x" as '<I><FONT COLOR="#FF0000">x</FONT></I>';
  latexdef "x" as "x";
htmldef "y" as "<IMG SRC='_y.gif' WIDTH=9 HEIGHT=19 TITLE='y' ALIGN=TOP>";
  althtmldef "y" as '<I><FONT COLOR="#FF0000">y</FONT></I>';
  latexdef "y" as "y";
htmldef "z" as "<IMG SRC='_z.gif' WIDTH=9 HEIGHT=19 TITLE='z' ALIGN=TOP>";
  althtmldef "z" as '<I><FONT COLOR="#FF0000">z</FONT></I>';
  latexdef "z" as "z";
htmldef "w" as "<IMG SRC='_w.gif' WIDTH=12 HEIGHT=19 TITLE='w' ALIGN=TOP>";
  althtmldef "w" as '<I><FONT COLOR="#FF0000">w</FONT></I>';
  latexdef "w" as "w";
htmldef "v" as "<IMG SRC='_v.gif' WIDTH=9 HEIGHT=19 TITLE='v' ALIGN=TOP>";
  althtmldef "v" as '<I><FONT COLOR="#FF0000">v</FONT></I>';
  latexdef "v" as "v";
htmldef "E." as
    "<IMG SRC='exists.gif' WIDTH=9 HEIGHT=19 TITLE='E.' ALIGN=TOP>";
  althtmldef "E." as '<FONT FACE=sans-serif>&exist;</FONT>'; /* &#8707; */
    /* Without sans-serif, bad in Opera and way too big in FF3 */
  latexdef "E." as "\exists";
htmldef "=" as " <IMG SRC='eq.gif' WIDTH=12 HEIGHT=19 TITLE='=' ALIGN=TOP> ";
  althtmldef "=" as ' = '; /* &equals; */
  latexdef "=" as "=";
htmldef "e." as " <IMG SRC='in.gif' WIDTH=10 HEIGHT=19 TITLE='e.' ALIGN=TOP> ";
  althtmldef "e." as ' <FONT FACE=sans-serif>&isin;</FONT> ';
  latexdef "e." as "\in";
htmldef "[" as "<IMG SRC='lbrack.gif' WIDTH=5 HEIGHT=19 TITLE='[' ALIGN=TOP>";
  althtmldef "[" as '['; /* &lsqb; */
  latexdef "[" as "[";
htmldef "/" as
    " <IMG SRC='solidus.gif' WIDTH=6 HEIGHT=19 TITLE='/' ALIGN=TOP> ";
  althtmldef "/" as ' / '; /* &sol; */
  latexdef "/" as "/";
htmldef "]" as "<IMG SRC='rbrack.gif' WIDTH=5 HEIGHT=19 TITLE=']' ALIGN=TOP>";
  althtmldef "]" as ']'; /* &rsqb; */
  latexdef "]" as "]";
htmldef "u" as "<IMG SRC='_u.gif' WIDTH=10 HEIGHT=19 TITLE='u' ALIGN=TOP>";
  althtmldef "u" as '<I><FONT COLOR="#FF0000">u</FONT></I>';
  latexdef "u" as "u";
htmldef "f" as "<IMG SRC='_f.gif' WIDTH=9 HEIGHT=19 TITLE='f' ALIGN=TOP>";
  althtmldef "f" as '<I><FONT COLOR="#FF0000">f</FONT></I>';
  latexdef "f" as "f";
htmldef "g" as "<IMG SRC='_g.gif' WIDTH=9 HEIGHT=19 TITLE='g' ALIGN=TOP>";
  althtmldef "g" as '<I><FONT COLOR="#FF0000">g</FONT></I>';
  latexdef "g" as "g";
htmldef "E!" as "<IMG SRC='_e1.gif' WIDTH=12 HEIGHT=19 TITLE='E!' ALIGN=TOP>";
  althtmldef "E!" as '<FONT FACE=sans-serif>&exist;!</FONT>';
  latexdef "E!" as "\exists{!}";
htmldef "E*" as "<IMG SRC='_em1.gif' WIDTH=15 HEIGHT=19 TITLE='E*' ALIGN=TOP>";
  althtmldef "E*" as '<FONT FACE=sans-serif>&exist;*</FONT>';
  latexdef "E*" as "\exists^\ast";
htmldef "{" as "<IMG SRC='lbrace.gif' WIDTH=6 HEIGHT=19 TITLE='{' ALIGN=TOP>";
  althtmldef "{" as '{'; /* &lcub; */
  latexdef "{" as "\{";
htmldef "|" as " <IMG SRC='vert.gif' WIDTH=3 HEIGHT=19 TITLE='|' ALIGN=TOP> ";
  althtmldef "|" as ' <FONT FACE=sans-serif>&#8739;</FONT> '; /* &vertbar; */
  latexdef "|" as "|";
htmldef "}" as "<IMG SRC='rbrace.gif' WIDTH=6 HEIGHT=19 TITLE='}' ALIGN=TOP>";
  althtmldef "}" as '}'; /* &rcub; */
  latexdef "}" as "\}";
htmldef "F/" as
    "<IMG SRC='finv.gif' WIDTH=9 HEIGHT=19 ALT=' F/' TITLE='F/'>";
  althtmldef "F/" as "&#8498;";
  latexdef "F/" as "\Finv";
htmldef "F/_" as
    "<IMG SRC='_finvbar.gif' WIDTH=9 HEIGHT=19 ALT=' F/_' TITLE='F/_'>";
  althtmldef "F/_" as "<U>&#8498;</U>";
  latexdef "F/_" as "\underline{\Finv}";
htmldef "class" as
    "<IMG SRC='_class.gif' WIDTH=32 HEIGHT=19 TITLE='class' ALIGN=TOP> ";
  althtmldef "class" as '<FONT COLOR="#808080">class </FONT>';
  latexdef "class" as "{\rm class}";
htmldef "./\" as
    " <IMG SRC='_.wedge.gif' WIDTH=11 HEIGHT=19 ALT=' ./\' TITLE='./\'> ";
  althtmldef "./\" as
    ' <SPAN CLASS=symvar STYLE="border-bottom:1px dotted;color:#C3C">' +
    '&and;</SPAN> ';
  latexdef "./\" as "\wedge";
htmldef ".\/" as
    " <IMG SRC='_.vee.gif' WIDTH=11 HEIGHT=19 ALT=' .\/' TITLE='.\/'> ";
  althtmldef ".\/" as
    ' <SPAN CLASS=symvar STYLE="border-bottom:1px dotted;color:#C3C">' +
    '&or;</SPAN> ';
  latexdef ".\/" as "\vee";
htmldef ".<_" as
    " <IMG SRC='_.le.gif' WIDTH=11 HEIGHT=19 ALT=' .&lt;_' TITLE='.&lt;_'> ";
  althtmldef ".<_" as
    ' <SPAN CLASS=symvar STYLE="border-bottom:1px dotted;color:#C3C">' +
    '&le;</SPAN> ';
  latexdef ".<_" as "\le";
htmldef ".<" as     /* Symbol as variable */
    " <IMG SRC='_.lt.gif' WIDTH=11 HEIGHT=19 ALT=' .&lt;' TITLE='.&lt;'> ";
  althtmldef ".<" as
    /* This is how to put a dotted box around the symbol: */
    /* border means box around symbol; border-bottom underlines symbol */
    ' <SPAN CLASS=symvar STYLE="border-bottom:1px dotted;color:#C3C">' +
    '&lt;</SPAN> ';
    /* Todo: can this STYLE sequence be done with a CLASS? */
    /* Move the underline down 3px so it isn't too close to symbol */
    /*
    ' <SPAN STYLE="vertical-align:-3px">' +
    '<SPAN CLASS=symvar STYLE="text-decoration:underline dotted;color:#C3C">' +
    '<SPAN STYLE="vertical-align:3px">&lt;</SPAN></SPAN></SPAN> ';
    */
  latexdef ".<" as "<";
htmldef ".+" as
    " <IMG SRC='_.plus.gif' WIDTH=13 HEIGHT=19 ALT=' .+' TITLE='.+'> ";
  althtmldef ".+" as
    ' <SPAN CLASS=symvar STYLE="border-bottom:1px dotted;color:#C3C">' +
    '+</SPAN> ';
  latexdef ".+" as "+";
htmldef ".-" as
    " <IMG SRC='_.minus.gif' WIDTH=11 HEIGHT=19 ALT=' .-' TITLE='.-'> ";
  althtmldef ".-" as
    ' <SPAN CLASS=symvar STYLE="border-bottom:1px dotted;color:#C3C">' +
    '&minus;</SPAN> ';
  latexdef ".-" as "-";
htmldef ".X." as
    " <IMG SRC='_.times.gif' WIDTH=9 HEIGHT=19 ALT=' .X.' TITLE='.X.'> ";
  althtmldef ".X." as
    ' <SPAN CLASS=symvar STYLE="border-bottom:1px dotted;color:#C3C">' +
    '&times;</SPAN> ';
  latexdef ".X." as "\times";
htmldef "./" as
    " <IMG SRC='_.solidus.gif' WIDTH=8 HEIGHT=19 ALT=' ./' TITLE='./'> ";
  althtmldef "./" as
    ' <SPAN CLASS=symvar STYLE="border-bottom:1px dotted;color:#C3C">' +
    '/</SPAN> ';
  latexdef "./" as "/";
htmldef ".^" as
    " <IMG SRC='_.uparrow.gif' WIDTH=7 HEIGHT=19 ALT=' .^' TITLE='.^'> ";
  althtmldef ".^" as
    ' <SPAN CLASS=symvar STYLE="border-bottom:1px dotted;color:#C3C">' +
    '&uarr;</SPAN> ';
  latexdef ".^" as "\uparrow";
htmldef ".0." as
    " <IMG SRC='_.0.gif' WIDTH=8 HEIGHT=19 ALT=' .0.' TITLE='.0.'> ";
  althtmldef ".0." as
    ' <SPAN CLASS=symvar STYLE="border-bottom:1px dotted;color:#C3C">' +
    '0</SPAN> ';
  latexdef ".0." as "0";
htmldef ".1." as
    " <IMG SRC='_.1.gif' WIDTH=7 HEIGHT=19 ALT=' .1.' TITLE='.1.'> ";
  althtmldef ".1." as
    ' <SPAN CLASS=symvar STYLE="border-bottom:1px dotted;color:#C3C">' +
    '1</SPAN> ';
  latexdef ".1." as "1";
htmldef ".||" as
    " <IMG SRC='_.parallel.gif' WIDTH=5 HEIGHT=19 ALT=' .||' TITLE='.||'> ";
  althtmldef ".||" as
    ' <SPAN CLASS=symvar STYLE="border-bottom:1px dotted;color:#C3C">' +
    '&#8741;</SPAN> ';
  latexdef ".||" as "\parallel";
htmldef ".~" as
    " <IMG SRC='_.sim.gif' WIDTH=13 HEIGHT=19 ALT=' .~' TITLE='.~'> ";
  althtmldef ".~" as
    ' <SPAN CLASS=symvar STYLE="border-bottom:1px dotted;color:#C3C">' +
    '&#x223C;</SPAN> ';
  latexdef ".~" as "\sim";
htmldef "._|_" as
    " <IMG SRC='_.perp.gif' WIDTH=11 HEIGHT=19 ALT=' ._|_' TITLE='._|_'> ";
  althtmldef "._|_" as
    ' <SPAN CLASS=symvar STYLE="border-bottom:1px dotted;color:#C3C">' +
    '&#8869;</SPAN> ';
  latexdef "._|_" as "\perp";
htmldef ".+^" as
    " <IMG SRC='_.plushat.gif' WIDTH=11 HEIGHT=19 ALT=' .+^' TITLE='.+^'> ";
  althtmldef ".+^" as
    ' <SPAN CLASS=symvar STYLE="border-bottom:1px dotted;color:#C3C">' +
    '&#x2A23;</SPAN> ';       /* &plusacir; */
  latexdef ".+^" as "\hat{+}";
htmldef ".+b" as
    " <IMG SRC='_.plusb.gif' WIDTH=14 HEIGHT=19 ALT=' .+b' TITLE='.+b'> ";
  althtmldef ".+b" as
    ' <SPAN CLASS=symvar STYLE="border-bottom:1px dotted;color:#C3C">' +
    '&#x271A;</SPAN> ';
  latexdef ".+b" as "\boldsymbol{+}";
htmldef ".(+)" as
    " <IMG SRC='_.oplus.gif' WIDTH=13 HEIGHT=19 ALT=' .(+)' TITLE='.(+)'> ";
  althtmldef ".(+)" as
    ' <SPAN CLASS=symvar STYLE="border-bottom:1px dotted;color:#C3C">' +
    '&#x2295;</SPAN> ';
  latexdef ".(+)" as "\oplus";
htmldef ".*" as
    " <IMG SRC='_.ast.gif' WIDTH=7 HEIGHT=19 ALT=' .*' TITLE='.*'> ";
  althtmldef ".*" as
    ' <SPAN CLASS=symvar STYLE="border-bottom:1px dotted;color:#C3C">' +
    '&lowast;</SPAN> ';
  latexdef ".*" as "\ast";
htmldef ".x." as
    " <IMG SRC='_.cdot.gif' WIDTH=4 HEIGHT=19 ALT=' .x.' TITLE='.x.'> ";
  althtmldef ".x." as
    ' <SPAN CLASS=symvar STYLE="border-bottom:1px dotted;color:#C3C">' +
    '&middot;</SPAN> ';
  latexdef ".x." as "\cdot";
htmldef ".xb" as
    " <IMG SRC='_.bullet.gif' WIDTH=8 HEIGHT=19 ALT=' .xb' TITLE='.xb'> ";
  althtmldef ".xb" as
    ' <SPAN CLASS=symvar STYLE="border-bottom:1px dotted;color:#C3C">' +
    '&#x2219;</SPAN> ';
  latexdef ".xb" as "\bullet";
htmldef ".," as
    " <IMG SRC='_.comma.gif' WIDTH=4 HEIGHT=19 ALT=' .,' TITLE='.,'> ";
  althtmldef ".," as
    ' <SPAN CLASS=symvar STYLE="border-bottom:1px dotted;color:#C3C">' +
    ',</SPAN> ';
  latexdef ".," as ",";
htmldef ".(x)" as
    " <IMG SRC='_.otimes.gif' WIDTH=13 HEIGHT=19 ALT=' .(x)' TITLE='.(x)'> ";
  althtmldef ".(x)" as
    ' <SPAN CLASS=symvar STYLE="border-bottom:1px dotted;color:#C3C">' +
    '&#x2297;</SPAN> ';
  latexdef ".(x)" as "\otimes";
htmldef ".0b" as
    " <IMG SRC='_.bf0.gif' WIDTH=9 HEIGHT=19 ALT=' .0b' TITLE='.0b'> ";
  althtmldef ".0b" as
    ' <SPAN CLASS=symvar STYLE="border-bottom:1px dotted;color:#C3C">' +
    '&#x1D7CE</SPAN> ';
  latexdef ".0b" as "\mbox{\boldmath$0$}";
htmldef "A" as "<IMG SRC='_ca.gif' WIDTH=11 HEIGHT=19 TITLE='A' ALIGN=TOP>";
  althtmldef "A" as '<I><FONT COLOR="#CC33CC">A</FONT></I>';
  latexdef "A" as "A";
htmldef "B" as "<IMG SRC='_cb.gif' WIDTH=12 HEIGHT=19 TITLE='B' ALIGN=TOP>";
  althtmldef "B" as '<I><FONT COLOR="#CC33CC">B</FONT></I>';
  latexdef "B" as "B";
htmldef "C" as "<IMG SRC='_cc.gif' WIDTH=12 HEIGHT=19 TITLE='C' ALIGN=TOP>";
  althtmldef "C" as '<I><FONT COLOR="#CC33CC">C</FONT></I>';
  latexdef "C" as "C";
htmldef "D" as "<IMG SRC='_cd.gif' WIDTH=12 HEIGHT=19 TITLE='D' ALIGN=TOP>";
  althtmldef "D" as '<I><FONT COLOR="#CC33CC">D</FONT></I>';
  latexdef "D" as "D";
htmldef "P" as "<IMG SRC='_cp.gif' WIDTH=12 HEIGHT=19 TITLE='P' ALIGN=TOP>";
  althtmldef "P" as '<I><FONT COLOR="#CC33CC">P</FONT></I>';
  latexdef "P" as "P";
htmldef "R" as "<IMG SRC='_cr.gif' WIDTH=12 HEIGHT=19 TITLE='R' ALIGN=TOP>";
  althtmldef "R" as '<I><FONT COLOR="#CC33CC">R</FONT></I>';
  latexdef "R" as "R";
htmldef "S" as "<IMG SRC='_cs.gif' WIDTH=11 HEIGHT=19 TITLE='S' ALIGN=TOP>";
  althtmldef "S" as '<I><FONT COLOR="#CC33CC">S</FONT></I>';
  latexdef "S" as "S";
htmldef "T" as "<IMG SRC='_ct.gif' WIDTH=12 HEIGHT=19 TITLE='T' ALIGN=TOP>";
  althtmldef "T" as '<I><FONT COLOR="#CC33CC">T</FONT></I>';
  latexdef "T" as "T";
htmldef "=/=" as
    " <IMG SRC='ne.gif' WIDTH=12 HEIGHT=19 TITLE='=/=' ALIGN=TOP> ";
  althtmldef "=/=" as ' &ne; ';
  latexdef "=/=" as "\ne";
htmldef "e/" as
    " <IMG SRC='notin.gif' WIDTH=10 HEIGHT=19 TITLE='e/' ALIGN=TOP> ";
  althtmldef "e/" as ' <FONT FACE=sans-serif>&notin;</FONT> ';
  latexdef "e/" as "\notin";
htmldef "_V" as "<IMG SRC='rmcv.gif' WIDTH=10 HEIGHT=19 TITLE='_V' ALIGN=TOP>";
  althtmldef "_V" as 'V';
  latexdef "_V" as "{\rm V}";
htmldef "[." as
    "<IMG SRC='_dlbrack.gif' WIDTH=6 HEIGHT=19 ALT=' [.' TITLE='[.'>";
  /* althtmldef "[." as '&#x298F;'; */   /* corner tick */
  /* U+0323 COMBINING DOT BELOW (HTML &#803;) */
  althtmldef "[." as '[&#803;';
  /* \underaccent is in accents package */
  latexdef "[." as "\underaccent{\dot}{[}";
htmldef "]." as
    "<IMG SRC='_drbrack.gif' WIDTH=5 HEIGHT=19 ALT=' ].' TITLE='].'>";
  /* althtmldef "]." as '&#x298E;'; */   /* corner tick */
  althtmldef "]." as ']&#803;';
  latexdef "]." as "\underaccent{\dot}{]}";
htmldef
    "[_" as "<IMG SRC='_ulbrack.gif' WIDTH=6 HEIGHT=19 TITLE='[_' ALIGN=TOP>";
  althtmldef "[_" as '<U>[</U>'; /* &lsqb; */
  latexdef "[_" as "\underline{[}";
htmldef
    "]_" as "<IMG SRC='_urbrack.gif' WIDTH=5 HEIGHT=19 TITLE=']_' ALIGN=TOP>";
  althtmldef "]_" as '<U>]</U>'; /* &rsqb; */
  latexdef "]_" as "\underline{]}";
htmldef "F" as "<IMG SRC='_cf.gif' WIDTH=13 HEIGHT=19 TITLE='F' ALIGN=TOP>";
  althtmldef "F" as '<I><FONT COLOR="#CC33CC">F</FONT></I>';
  latexdef "F" as "F";
htmldef "G" as "<IMG SRC='_cg.gif' WIDTH=12 HEIGHT=19 TITLE='G' ALIGN=TOP>";
  althtmldef "G" as '<I><FONT COLOR="#CC33CC">G</FONT></I>';
  latexdef "G" as "G";
htmldef "C_" as
    " <IMG SRC='subseteq.gif' WIDTH=12 HEIGHT=19 TITLE='C_' ALIGN=TOP> ";
  althtmldef "C_" as ' <FONT FACE=sans-serif>&#8838;</FONT> '; /* &subE; */
  latexdef "C_" as "\subseteq";
    /* 7-Jun-2019 changed gif, unicode and latex def of "C." from subset to
    subsetneq (BJ) */
htmldef "C." as
    " <IMG SRC='subsetneq.gif' WIDTH=12 HEIGHT=19 TITLE='C.' ALIGN=TOP> ";
    /* subset.gif */
  althtmldef "C." as ' &#x228a; '; /* <FONT FACE=sans-serif>&sub;</FONT> */
  latexdef "C." as "\subsetneq"; /* \subset */
htmldef "~" as " &sim; ";
  althtmldef "~" as ' &sim; ';
  latexdef "~" as "\sim";
htmldef "\" as
    " <IMG SRC='setminus.gif' WIDTH=8 HEIGHT=19 TITLE='\' ALIGN=TOP> ";
  althtmldef "\" as ' <FONT FACE=sans-serif>&#8726;</FONT> '; /* &setmn; */
  latexdef "\" as "\setminus";
htmldef "u." as
    " <IMG SRC='cup.gif' WIDTH=10 HEIGHT=19 TITLE='u.' ALIGN=TOP> ";
  althtmldef "u." as ' &cup; ';
  latexdef "u." as "\cup";
htmldef "-i^i" as
    " &ncap ";
  althtmldef "-i^i" as ' &ncap; ';
  latexdef "-i^i" as "\overline{\cap}";
htmldef "i^i" as
    " <IMG SRC='cap.gif' WIDTH=10 HEIGHT=19 TITLE='i^i' ALIGN=TOP> ";
  althtmldef "i^i" as ' &cap; ';
  latexdef "i^i" as "\cap";
htmldef "(/)" as
    "<IMG SRC='varnothing.gif' WIDTH=11 HEIGHT=19 TITLE='(/)' ALIGN=TOP>";
  althtmldef "(/)" as '<FONT FACE=sans-serif>&empty;</FONT>';
    /*althtmldef "(/)" as '&empty;';*/ /* =&#8709 */ /* bad in Opera */
    /*althtmldef "(/)" as '&#8960;';*/
  latexdef "(/)" as "\varnothing";
htmldef "if" as "<IMG SRC='_if.gif' WIDTH=11 HEIGHT=19 TITLE='if' ALIGN=TOP>";
    /*htmldef "ded" as
    "<IMG SRC='_ded.gif' WIDTH=23 HEIGHT=19 TITLE='ded' ALIGN=TOP>";*/
  althtmldef "if" as ' if';
    /*althtmldef "ded" as 'ded';*/
  latexdef "if" as "{\rm if}";
    /*latexdef "ded" as "{\rm ded}";*/
htmldef "," as "<IMG SRC='comma.gif' WIDTH=4 HEIGHT=19 TITLE=',' ALIGN=TOP> ";
  althtmldef "," as ', ';
  latexdef "," as ",";
htmldef "<." as
    "<IMG SRC='langle.gif' WIDTH=4 HEIGHT=19 TITLE='&lt;.' ALIGN=TOP>";
  althtmldef "<." as '<FONT FACE=sans-serif>&lang;</FONT>'; /* &#9001; */
  latexdef "<." as "\langle";
htmldef ">." as
    "<IMG SRC='rangle.gif' WIDTH=4 HEIGHT=19 TITLE='&gt;.' ALIGN=TOP>";
    althtmldef ">." as '<FONT FACE=sans-serif>&rang;</FONT>'; /* &#9002; */
  latexdef ">." as "\rangle";
htmldef "U." as
    "<IMG SRC='bigcup.gif' WIDTH=13 HEIGHT=19 TITLE='U.' ALIGN=TOP>";
  althtmldef "U." as '<FONT SIZE="+1">&cup;</FONT>'; /* &xcup; */
    /* xcup does not render, and #8899 renders as a small bold cup, on
       Mozilla 1.7.3 on Windows XP */
    /*althtmldef "U." as '&#8899;';*/ /* &xcup; */
  latexdef "U." as "\bigcup";
htmldef "|^|" as
    "<IMG SRC='bigcap.gif' WIDTH=13 HEIGHT=19 TITLE='|^|' ALIGN=TOP>";
  althtmldef "|^|" as '<FONT SIZE="+1">&cap;</FONT>'; /* &xcap; */
    /*althtmldef "|^|" as '&#8898;';*/ /* &xcap; */
  latexdef "|^|" as "\bigcap";

htmldef "Q" as "<IMG SRC='_cq.gif' WIDTH=12 HEIGHT=19 TITLE='Q' ALIGN=TOP>";
  althtmldef "Q" as '<I><FONT COLOR="#CC33CC">Q</FONT></I>';
  latexdef "Q" as "Q";
htmldef "t" as "<IMG SRC='_t.gif' WIDTH=7 HEIGHT=19 TITLE='t' ALIGN=TOP>";
  althtmldef "t" as '<I><FONT COLOR="#FF0000">t</FONT></I>';
  latexdef "t" as "t";
htmldef "s" as "<IMG SRC='_s.gif' WIDTH=7 HEIGHT=19 TITLE='s' ALIGN=TOP>";
  althtmldef "s" as '<I><FONT COLOR="#FF0000">s</FONT></I>';
  latexdef "s" as "s";
htmldef "r" as "<IMG SRC='_r.gif' WIDTH=8 HEIGHT=19 TITLE='r' ALIGN=TOP>";
  althtmldef "r" as '<I><FONT COLOR="#FF0000">r</FONT></I>';
  latexdef "r" as "r";
htmldef "a" as "<IMG SRC='_a.gif' WIDTH=9 HEIGHT=19 TITLE='a' ALIGN=TOP>";
  althtmldef "a" as '<I><FONT COLOR="#FF0000">a</FONT></I>';
  latexdef "a" as "a";
htmldef "b" as "<IMG SRC='_b.gif' WIDTH=8 HEIGHT=19 TITLE='b' ALIGN=TOP>";
  althtmldef "b" as '<I><FONT COLOR="#FF0000">b</FONT></I>';
  latexdef "b" as "b";
htmldef "c" as "<IMG SRC='_c.gif' WIDTH=7 HEIGHT=19 TITLE='c' ALIGN=TOP>";
  althtmldef "c" as '<I><FONT COLOR="#FF0000">c</FONT></I>';
  latexdef "c" as "c";
htmldef "d" as "<IMG SRC='_d.gif' WIDTH=9 HEIGHT=19 TITLE='d' ALIGN=TOP>";
  althtmldef "d" as '<I><FONT COLOR="#FF0000">d</FONT></I>';
  latexdef "d" as "d";
htmldef "e" as "<IMG SRC='_e.gif' WIDTH=8 HEIGHT=19 TITLE='e' ALIGN=TOP>";
  althtmldef "e" as '<I><FONT COLOR="#FF0000">e</FONT></I>';
  latexdef "e" as "e";
htmldef "i" as "<IMG SRC='_i.gif' WIDTH=6 HEIGHT=19 TITLE='i' ALIGN=TOP>";
  althtmldef "i" as '<I><FONT COLOR="#FF0000">i</FONT></I>';
  latexdef "i" as "i";
htmldef "j" as "<IMG SRC='_j.gif' WIDTH=7 HEIGHT=19 TITLE='j' ALIGN=TOP>";
  althtmldef "j" as '<I><FONT COLOR="#FF0000">j</FONT></I>';
  latexdef "j" as "j";
htmldef "k" as "<IMG SRC='_k.gif' WIDTH=9 HEIGHT=19 TITLE='k' ALIGN=TOP>";
  althtmldef "k" as '<I><FONT COLOR="#FF0000">k</FONT></I>';
  latexdef "k" as "k";
htmldef "m" as "<IMG SRC='_m.gif' WIDTH=14 HEIGHT=19 TITLE='m' ALIGN=TOP>";
  althtmldef "m" as '<I><FONT COLOR="#FF0000">m</FONT></I>';
  latexdef "m" as "m";
htmldef "n" as "<IMG SRC='_n.gif' WIDTH=10 HEIGHT=19 TITLE='n' ALIGN=TOP>";
  althtmldef "n" as '<I><FONT COLOR="#FF0000">n</FONT></I>';
  latexdef "n" as "n";
htmldef "o" as "<IMG SRC='_o.gif' WIDTH=8 HEIGHT=19 TITLE='o' ALIGN=TOP>";
  althtmldef "o" as '<I><FONT COLOR="#FF0000">o</FONT></I>';
  latexdef "o" as "o";
htmldef "p" as "<IMG SRC='_p.gif' WIDTH=10 HEIGHT=19 TITLE='p' ALIGN=TOP>";
  althtmldef "p" as '<I><FONT COLOR="#FF0000">p</FONT></I>';
  latexdef "p" as "p";
htmldef "q" as "<IMG SRC='_q.gif' WIDTH=8 HEIGHT=19 TITLE='q' ALIGN=TOP>";
  althtmldef "q" as '<I><FONT COLOR="#FF0000">q</FONT></I>';
  latexdef "q" as "q";
htmldef "E" as "<IMG SRC='_ce.gif' WIDTH=13 HEIGHT=19 TITLE='E' ALIGN=TOP>";
  althtmldef "E" as '<I><FONT COLOR="#CC33CC">E</FONT></I>';
  latexdef "E" as "E";
htmldef "I" as "<IMG SRC='_ci.gif' WIDTH=8 HEIGHT=19 TITLE='I' ALIGN=TOP>";
  althtmldef "I" as '<I><FONT COLOR="#CC33CC">I</FONT></I>';
  latexdef "I" as "I";
htmldef "J" as "<IMG SRC='_cj.gif' WIDTH=10 HEIGHT=19 TITLE='J' ALIGN=TOP>";
  althtmldef "J" as '<I><FONT COLOR="#CC33CC">J</FONT></I>';
  latexdef "J" as "J";
htmldef "K" as "<IMG SRC='_ck.gif' WIDTH=14 HEIGHT=19 TITLE='K' ALIGN=TOP>";
  althtmldef "K" as '<I><FONT COLOR="#CC33CC">K</FONT></I>';
  latexdef "K" as "K";
htmldef "L" as "<IMG SRC='_cl.gif' WIDTH=10 HEIGHT=19 TITLE='L' ALIGN=TOP>";
  althtmldef "L" as '<I><FONT COLOR="#CC33CC">L</FONT></I>';
  latexdef "L" as "L";
htmldef "M" as "<IMG SRC='_cm.gif' WIDTH=15 HEIGHT=19 TITLE='M' ALIGN=TOP>";
  althtmldef "M" as '<I><FONT COLOR="#CC33CC">M</FONT></I>';
  latexdef "M" as "M";
htmldef "N" as "<IMG SRC='_cn.gif' WIDTH=14 HEIGHT=19 TITLE='N' ALIGN=TOP>";
  althtmldef "N" as '<I><FONT COLOR="#CC33CC">N</FONT></I>';
  latexdef "N" as "N";
htmldef "O" as "<IMG SRC='_co.gif' WIDTH=12 HEIGHT=19 TITLE='O' ALIGN=TOP>";
  althtmldef "O" as '<I><FONT COLOR="#CC33CC">O</FONT></I>';
  latexdef "O" as "O";
htmldef "U" as "<IMG SRC='_cu.gif' WIDTH=12 HEIGHT=19 TITLE='U' ALIGN=TOP>";
  althtmldef "U" as '<I><FONT COLOR="#CC33CC">U</FONT></I>';
  latexdef "U" as "U";
htmldef "V" as "<IMG SRC='_cv.gif' WIDTH=12 HEIGHT=19 TITLE='V' ALIGN=TOP>";
  althtmldef "V" as '<I><FONT COLOR="#CC33CC">V</FONT></I>';
  latexdef "V" as "V";
htmldef "W" as "<IMG SRC='_cw.gif' WIDTH=16 HEIGHT=19 TITLE='W' ALIGN=TOP>";
  althtmldef "W" as '<I><FONT COLOR="#CC33CC">W</FONT></I>';
  latexdef "W" as "W";
htmldef "X" as "<IMG SRC='_cx.gif' WIDTH=13 HEIGHT=19 TITLE='X' ALIGN=TOP>";
  althtmldef "X" as '<I><FONT COLOR="#CC33CC">X</FONT></I>';
  latexdef "X" as "X";
htmldef "Y" as "<IMG SRC='_cy.gif' WIDTH=12 HEIGHT=19 TITLE='Y' ALIGN=TOP>";
  althtmldef "Y" as '<I><FONT COLOR="#CC33CC">Y</FONT></I>';
  latexdef "Y" as "Y";
htmldef "Z" as "<IMG SRC='_cz.gif' WIDTH=11 HEIGHT=19 TITLE='Z' ALIGN=TOP>";
  althtmldef "Z" as '<I><FONT COLOR="#CC33CC">Z</FONT></I>';
  latexdef "Z" as "Z";

htmldef "\/_" as
    " <IMG SRC='veebar.gif' WIDTH=9 HEIGHT=19 ALT=' \/_' TITLE='\/_'> ";
  althtmldef "\/_" as " &#8891; ";
    /* 2-Jan-2016 reverted sans-serif */
  latexdef "\/_" as "\veebar";
htmldef "T." as
    " <IMG SRC='top.gif' WIDTH=11 HEIGHT=19 TITLE='T.' ALIGN=TOP> ";
  althtmldef "T." as ' &#x22A4; ';
  latexdef "T." as "\top";
htmldef "F." as
    " <IMG SRC='perp.gif' WIDTH=11 HEIGHT=19 TITLE='F.' ALIGN=TOP> ";
  althtmldef "F." as ' &perp; ';
  latexdef "F." as "\bot";

htmldef "iota" as
    "<IMG SRC='riota.gif' WIDTH=6 HEIGHT=19 TITLE='iota' ALIGN=TOP>";
  althtmldef "iota" as '&#8489;';
  latexdef "iota" as "\mathrm{\rotatebox[origin=C]{180}{$\iota$}}";
htmldef "h" as "<IMG SRC='_h.gif' WIDTH=10 HEIGHT=19 TITLE='h' ALIGN=TOP>";
  althtmldef "h" as '<I><FONT COLOR="#FF0000">h</FONT></I>';
  latexdef "h" as "h";
htmldef "H" as "<IMG SRC='_ch.gif' WIDTH=14 HEIGHT=19 TITLE='H' ALIGN=TOP>";
  althtmldef "H" as '<I><FONT COLOR="#CC33CC">H</FONT></I>';
  latexdef "H" as "H";

htmldef "X." as
    " <IMG SRC='times.gif' WIDTH=9 HEIGHT=19 TITLE='X.' ALIGN=TOP> ";
  althtmldef "X." as ' &times; ';
  latexdef "X." as "\times";
htmldef "`'" as "<IMG SRC='_cnv.gif' WIDTH=10 HEIGHT=19 TITLE=" + '"' + "`'" +
    '"' + " ALIGN=TOP>";
    /*htmldef "`'" as
      "<IMG SRC='smallsmile.gif' WIDTH=12 HEIGHT=19 TITLE=" +
      '"' + "`'" + '"' + " ALIGN=TOP>";*/
  althtmldef "`'" as '<FONT SIZE="-1"><SUP>&#9697;</SUP></FONT>'; /* or 8995 */
  latexdef "`'" as "{}^{\smallsmile}";
htmldef "dom" as
    "<IMG SRC='_dom.gif' WIDTH=26 HEIGHT=19 TITLE='dom' ALIGN=TOP> ";
  althtmldef "dom" as 'dom ';
  latexdef "dom" as "{\rm dom}";
htmldef "ran" as
    "<IMG SRC='_ran.gif' WIDTH=22 HEIGHT=19 TITLE='ran' ALIGN=TOP> ";
  althtmldef "ran" as 'ran ';
  latexdef "ran" as "{\rm ran}";
htmldef "|`" as " <IMG SRC='restriction.gif' WIDTH=5 HEIGHT=19 TITLE='|`'" +
    " ALIGN=TOP> ";
  althtmldef "|`" as ' <FONT FACE=sans-serif>&#8638;</FONT> '; /* &uharr; */
  latexdef "|`" as "\restriction";
htmldef '"' as "<IMG SRC='backquote.gif' WIDTH=7 HEIGHT=19 TITLE='" + '"' +
    "' ALIGN=TOP>";
  althtmldef '"' as ' &#8220; ';
  latexdef '"' as "``";
htmldef "o." as
    " <IMG SRC='circ.gif' WIDTH=8 HEIGHT=19 TITLE='o.' ALIGN=TOP> ";
  althtmldef "o." as ' <FONT FACE=sans-serif>&#8728;</FONT> ';
  latexdef "o." as "\circ";
htmldef
    "Fun" as "<IMG SRC='_fun.gif' WIDTH=25 HEIGHT=19 TITLE='Fun' ALIGN=TOP> ";
  althtmldef "Fun" as 'Fun ';
  latexdef "Fun" as "{\rm Fun}";
htmldef "Fn" as
    " <IMG SRC='_fn.gif' WIDTH=17 HEIGHT=19 TITLE='Fn' ALIGN=TOP> ";
  althtmldef "Fn" as ' Fn ';
  latexdef "Fn" as "{\rm Fn}";
htmldef ":" as "<IMG SRC='colon.gif' WIDTH=4 HEIGHT=19 TITLE=':' ALIGN=TOP>";
  althtmldef ":" as ':';
  latexdef ":" as ":";
htmldef "-->" as
  "<IMG SRC='longrightarrow.gif' WIDTH=23 HEIGHT=19 TITLE='--&gt;' ALIGN=TOP>";
  althtmldef "-->" as '&ndash;&rarr;';
    /* &#xAD;&#x2010;&ndash;&mdash;&minus; (possible symbols test) */
  latexdef "-->" as "\longrightarrow";
htmldef "-1-1->" as
    "<IMG SRC='onetoone.gif' WIDTH=23 HEIGHT=19 TITLE='-1-1-&gt;' ALIGN=TOP>";
  althtmldef "-1-1->" as
    '&ndash;<FONT SIZE=-2 FACE=sans-serif>1-1</FONT>&rarr;';
  latexdef "-1-1->" as
    "\raisebox{.5ex}{${\textstyle{\:}_{\mbox{\footnotesize\rm 1" +
    "\tt -\rm 1}}}\atop{\textstyle{" +
    "\longrightarrow}\atop{\textstyle{}^{\mbox{\footnotesize\rm {\ }}}}}$}";
htmldef "-onto->" as
    "<IMG SRC='onto.gif' WIDTH=23 HEIGHT=19 TITLE='-onto-&gt;' ALIGN=TOP>";
  althtmldef "-onto->" as
    '&ndash;<FONT SIZE=-2 FACE=sans-serif>onto</FONT>&rarr;';
  latexdef "-onto->" as
    "\raisebox{.5ex}{${\textstyle{\:}_{\mbox{\footnotesize\rm {\ }}}}" +
    "\atop{\textstyle{" +
    "\longrightarrow}\atop{\textstyle{}^{\mbox{\footnotesize\rm onto}}}}$}";
htmldef "-1-1-onto->" as "<IMG SRC='onetooneonto.gif' WIDTH=23 HEIGHT=19 " +
    "TITLE='-1-1-onto-&gt;' ALIGN=TOP>";
  althtmldef "-1-1-onto->" as '&ndash;<FONT SIZE=-2 '
    + 'FACE=sans-serif>1-1</FONT>-<FONT SIZE=-2 '
    + 'FACE=sans-serif>onto</FONT>&rarr;';
  latexdef "-1-1-onto->" as
    "\raisebox{.5ex}{${\textstyle{\:}_{\mbox{\footnotesize\rm 1" +
    "\tt -\rm 1}}}\atop{\textstyle{" +
    "\longrightarrow}\atop{\textstyle{}^{\mbox{\footnotesize\rm onto}}}}$}";
htmldef "`" as
    "<IMG SRC='backtick.gif' WIDTH=4 HEIGHT=19 TITLE='` ' ALIGN=TOP>";
    /* Above, IE7 _printing_ is corrupted by '`'; use '` ' which works */
  althtmldef "`" as ' &lsquo;';
  latexdef "`" as "`";
htmldef "Isom" as
    " <IMG SRC='_isom.gif' WIDTH=30 HEIGHT=19 TITLE='Isom' ALIGN=TOP> ";
  althtmldef "Isom" as ' Isom ';
  latexdef "Isom" as "{\rm Isom}";
htmldef "|->" as " <IMG SRC='mapsto.gif' WIDTH=15 HEIGHT=19 TITLE='|-&gt;'" +
    " ALIGN=TOP> ";
  althtmldef "|->" as ' <FONT FACE=sans-serif>&#8614;</FONT> ';
  latexdef "|->" as "\mapsto";
htmldef "1st" as
    "<IMG SRC='_1st.gif' WIDTH=15 HEIGHT=19 TITLE='1st' ALIGN=TOP>";
  althtmldef "1st" as '1<SUP>st</SUP> ';
  latexdef "1st" as "1^{\rm st}";
htmldef "2nd" as
    "<IMG SRC='_2nd.gif' WIDTH=21 HEIGHT=19 TITLE='2nd' ALIGN=TOP>";
  althtmldef "2nd" as '2<SUP>nd</SUP> ';
  latexdef "2nd" as "2^{\rm nd}";
htmldef "Swap" as
    "<FONT FACE=sans-serif> Swap </FONT>";
  althtmldef "Swap" as '<FONT FACE=sans-serif> Swap </FONT>';
  latexdef "Swap" as "{\rm Swap}";

htmldef "_E" as
    " <IMG SRC='rmce.gif' WIDTH=9 HEIGHT=19 TITLE='_E' ALIGN=TOP> ";
  althtmldef "_E" as ' E ';
  latexdef "_E" as "{\rm E}";
htmldef "_I" as
    " <IMG SRC='rmci.gif' WIDTH=4 HEIGHT=19 TITLE='_I' ALIGN=TOP> ";
  althtmldef "_I" as ' I ';
  latexdef "_I" as "{\rm I}";

htmldef "U_" as
    "<IMG SRC='_cupbar.gif' WIDTH=13 HEIGHT=19 TITLE='U_' ALIGN=TOP>";
  althtmldef "U_" as '<U><FONT SIZE="+1">&cup;</FONT></U>'; /* &xcup; */
  latexdef "U_" as "\underline{\bigcup}";
htmldef "|^|_" as
    "<IMG SRC='_capbar.gif' WIDTH=13 HEIGHT=19 TITLE='|^|_' ALIGN=TOP>";
  althtmldef "|^|_" as '<U><FONT SIZE="+1">&cap;</FONT></U>'; /* &xcap; */
  latexdef "|^|_" as "\underline{\bigcap}";

htmldef "(+)" as
    " <IMG SRC='oplus.gif' WIDTH=13 HEIGHT=19 TITLE='(+)' ALIGN=TOP> ";
  althtmldef "(+)" as " &#x2295; ";
  latexdef "(+)" as "\oplus";

htmldef "0c" as '0<SUB><I>c</I></SUB>';
  althtmldef "0c" as '0<SUB><I>c</I></SUB>';
  latexdef "0c" as "0_c";
htmldef "1c" as '1<SUB><I>c</I></SUB>';
  althtmldef "1c" as '1<SUB><I>c</I></SUB>';
  latexdef "1c" as "1_c";
htmldef "+c" as
    " <IMG SRC='_plc.gif' WIDTH=18 HEIGHT=19 TITLE='+o' ALIGN=TOP> ";
  althtmldef "+c" as ' +<SUB><I>c</I></SUB> ';
  latexdef "+c" as "+_c";

htmldef "l" as "<IMG SRC='_l.gif' WIDTH=6 HEIGHT=19 TITLE='l' ALIGN=TOP>";
  althtmldef "l" as '<I><FONT COLOR="#FF0000">l</FONT></I>';
  latexdef "l" as "l";

htmldef "Fix" as
    "<IMG SRC='_fix.gif' WIDTH=21 HEIGHT=19 TITLE='Fix' ALIGN=TOP>";
  althtmldef "Fix" as '<FONT FACE=sans-serif> Fix </FONT>';
  latexdef "Fix" as "{\rm Fix}";
htmldef "<<" as
    "<IMG SRC='llangle.gif' WIDTH=6 HEIGHT=19 TITLE='&lt;&lt;' ALIGN=TOP>";
  althtmldef "<<" as "&#10218;";
  latexdef "<<" as "\langle\langle";
htmldef ">>" as
    "<IMG SRC='rrangle.gif' WIDTH=6 HEIGHT=19 TITLE='&gt;&gt;' ALIGN=TOP>";
  althtmldef ">>" as "&#10219;";
  latexdef ">>" as "\rangle\rangle";
htmldef "(x)" as
    " <IMG SRC='otimes.gif' WIDTH=13 HEIGHT=19 TITLE='(x)' ALIGN=TOP> ";
  althtmldef "(x)" as " &#x2297; ";
  latexdef "(x)" as "\otimes";
htmldef "Image" as "Image";
  althtmldef "Image" as "Image";
  latexdef "Image" as "{\rm Image}";

htmldef "Image_k" as "Image<SUB><I>k</I></SUB>";
  althtmldef "Image_k" as "Image<SUB><I>k</I></SUB>";
  latexdef "Image_k" as "{\rm Image}_k";

htmldef "~P1" as
  "<IMG SRC='scrp.gif' WIDTH=16 HEIGHT=19 TITLE='~P' ALIGN=TOP><SUB>1</SUB> ";
  althtmldef "~P1" as '<FONT FACE=sans-serif>&weierp;</FONT><SUB>1</SUB>';
  latexdef "~P1" as "{\cal P}_1";

htmldef "X._k" as
    " <IMG SRC='times.gif' WIDTH=9 HEIGHT=19 TITLE='X.'" +
       "ALIGN=TOP><SUB><I>k</I></SUB> ";
  althtmldef "X._k" as ' &times;<SUB><I>k</I></SUB> ';
  latexdef "X._k" as "\times_k";
htmldef "`'_k" as "<IMG SRC='_cnv.gif' WIDTH=10 HEIGHT=19 TITLE=" + '"' +
    "`'" + '"' + " ALIGN=TOP><SUB><I>k</I></SUB>";
    /*htmldef "`'" as
      "<IMG SRC='smallsmile.gif' WIDTH=12 HEIGHT=19 TITLE=" +
      '"' + "`'" + '"' + " ALIGN=TOP>";*/
  althtmldef "`'_k" as
   '<FONT SIZE="-1"><SUP>&#9697;</SUP></FONT><SUB><I>k</I></SUB>';
  latexdef "`'_k" as "{}^{\smallsmile}_k";
htmldef '"_k' as "<IMG SRC='backquote.gif' WIDTH=7 HEIGHT=19 TITLE='" + '"' +
    "' ALIGN=TOP><SUB><I>k</I></SUB>";
  althtmldef '"_k' as ' &#8220;<SUB><I>k</I></SUB> ';
  latexdef '"_k' as "``_k";
htmldef "o._k" as
    " <IMG SRC='circ.gif' WIDTH=8 HEIGHT=19 TITLE='o.' ALIGN=TOP>" +
      "<SUB><I>k</I></SUB> ";
  althtmldef "o._k" as
  ' <FONT FACE=sans-serif>&#8728;</FONT><SUB><I>k</I></SUB> ';
  latexdef "o._k" as "\circ_k";
htmldef "SI" as
    "<FONT FACE=sans-serif> SI </FONT>";
  althtmldef "SI" as '<FONT FACE=sans-serif> SI </FONT>';
  latexdef "SI" as "{\rm SI}";
htmldef "Clos1" as
    "<FONT FACE=sans-serif> Clos1 </FONT>";
  althtmldef "Clos1" as '<FONT FACE=sans-serif> Clos1 </FONT>';
  latexdef "Clos1" as "{\rm Clos1}";
htmldef "Phi" as
    "<FONT FACE=sans-serif> Phi </FONT>";
  althtmldef "Phi" as '<FONT FACE=sans-serif> Phi </FONT>';
  latexdef "Phi" as "{\rm Phi}";
htmldef "Proj1" as
    "<FONT FACE=sans-serif> Proj1 </FONT>";
  althtmldef "Proj1" as '<FONT FACE=sans-serif> Proj1 </FONT>';
  latexdef "Proj1" as "{\rm Proj1}";
htmldef "Proj2" as
    "<FONT FACE=sans-serif> Proj2 </FONT>";
  althtmldef "Proj2" as '<FONT FACE=sans-serif> Proj2 </FONT>';
  latexdef "Proj2" as "{\rm Proj2}";
htmldef "_S" as
    "<FONT FACE=sans-serif> S </FONT>";
  althtmldef "_S" as '<FONT FACE=sans-serif> S </FONT>';
  latexdef "_S" as "{\rm S}";
htmldef "U.1" as '&xcup;<SUB>1</SUB>';
  althtmldef "U.1" as '&xcup;<SUB>1</SUB>';
  latexdef "U.1" as "\bigcup_1";
htmldef "_I_k" as
    " <IMG SRC='rmci.gif' WIDTH=4 HEIGHT=19 TITLE='_I_k' ALIGN=TOP>" +
    "<SUB><I>k</I></SUB> ";
  althtmldef "_I_k" as ' I<SUB><I>k</I></SUB> ';
  latexdef "_I_k" as "{\rm I}_k";
htmldef "_S_k" as
    " <FONT FACE=sans-serif>S</FONT><SUB><I>k</I></SUB> ";
  althtmldef "_S_k" as
    ' <FONT FACE=sans-serif>S</FONT><SUB><I>k</I></SUB> ';
  latexdef "_S_k" as "{\rm S}_k";
htmldef "Ins2_k" as
    " <FONT FACE=sans-serif>Ins2</FONT><SUB><I>k</I></SUB> ";
  althtmldef "Ins2_k" as
    ' <FONT FACE=sans-serif>Ins2</FONT><SUB><I>k</I></SUB> ';
  latexdef "Ins2_k" as "{\rm Ins2}_k";
htmldef "Ins3_k" as
    " <FONT FACE=sans-serif>Ins3</FONT><SUB><I>k</I></SUB> ";
  althtmldef "Ins3_k" as
    ' <FONT FACE=sans-serif>Ins3</FONT><SUB><I>k</I></SUB> ';
  latexdef "Ins3_k" as "{\rm Ins3}_k";
htmldef "SI_k" as
    " <FONT FACE=sans-serif>SI</FONT><SUB><I>k</I></SUB> ";
  althtmldef "SI_k" as ' <FONT FACE=sans-serif>SI</FONT><SUB><I>k</I></SUB> ';
  latexdef "SI_k" as "{\rm SI}_k";


htmldef "Ins2" as
    " <FONT FACE=sans-serif>Ins2</FONT> ";
  althtmldef "Ins2" as ' <FONT FACE=sans-serif>Ins2</FONT> ';
  latexdef "Ins2" as "{\rm Ins2}";
htmldef "Ins3" as
    " <FONT FACE=sans-serif>Ins3</FONT> ";
  althtmldef "Ins3" as ' <FONT FACE=sans-serif>Ins3</FONT> ';
  latexdef "Ins3" as "{\rm Ins3}";
htmldef "Ins4" as
    " <FONT FACE=sans-serif>Ins4</FONT> ";
  althtmldef "Ins4" as ' <FONT FACE=sans-serif>Ins4</FONT> ';
  latexdef "Ins4" as "{\rm Ins4}";
htmldef "Cup" as
    " <FONT FACE=sans-serif>Cup</FONT> ";
  althtmldef "Cup" as ' <FONT FACE=sans-serif>Cup</FONT> ';
  latexdef "Cup" as "{\rm Cup}";
htmldef "Compose" as
    " <FONT FACE=sans-serif>Compose</FONT> ";
  althtmldef "Compose" as ' <FONT FACE=sans-serif>Compose</FONT> ';
  latexdef "Compose" as "{\rm Compose}";
htmldef "Disj" as
    " <FONT FACE=sans-serif>Disj</FONT> ";
  althtmldef "Disj" as ' <FONT FACE=sans-serif>Disj</FONT> ';
  latexdef "Disj" as "{\rm Disj}";
htmldef "AddC" as
    " <FONT FACE=sans-serif>AddC</FONT> ";
  althtmldef "AddC" as ' <FONT FACE=sans-serif>AddC</FONT> ';
  latexdef "AddC" as "{\rm AddC}";

htmldef "SI_3" as
    " <FONT FACE=sans-serif>SI</FONT><SUB><I>3</I></SUB> ";
  althtmldef "SI_3" as ' <FONT FACE=sans-serif>SI</FONT><SUB><I>3</I></SUB> ';
  latexdef "SI_3" as "{\rm SI}_3";


htmldef "P6" as
    " <FONT FACE=sans-serif>P6</FONT> ";
  althtmldef "P6" as ' <FONT FACE=sans-serif>P6</FONT> ';
  latexdef "P6" as "{\rm P6}";


htmldef "Nn" as
    " <FONT FACE=sans-serif>Nn</FONT> ";
  althtmldef "Nn" as ' <FONT FACE=sans-serif>Nn</FONT> ';
  latexdef "Nn" as "{\rm Nn}";
htmldef "Fin" as
    " <FONT FACE=sans-serif>Fin</FONT> ";
  althtmldef "Fin" as ' <FONT FACE=sans-serif>Fin</FONT> ';
  latexdef "Fin" as "{\rm Fin}";

htmldef "<_[fin]" as
    " <IMG SRC='le.gif' WIDTH=11 HEIGHT=19 ALT='&lt;_' ALIGN=TOP>" +
    "<SUB>fin</SUB> ";
  althtmldef "<_[fin]" as ' &le;<SUB>fin</SUB> ';
  latexdef "<_[fin]" as "{\le}_{\rm fin}";
htmldef "<[fin]" as
    " <IMG SRC='lt.gif' WIDTH=11 HEIGHT=19 ALT='&lt;' ALIGN=TOP>" +
    "<SUB>fin</SUB> ";
  althtmldef "<[fin]" as ' &lt;<SUB>fin</SUB> ';
  latexdef "<[fin]" as "<_{\rm fin}";
htmldef "Nc[fin]" as
    " <FONT FACE=sans-serif>Nc</FONT><SUB>fin</SUB> ";
  althtmldef "Nc[fin]" as ' <FONT FACE=sans-serif>Nc</FONT><SUB>fin</SUB> ';
  latexdef "Nc[fin]" as "{\rm Nc}_{\rm fin}";
htmldef "_T[fin]" as
    " <FONT FACE=sans-serif>T</FONT><SUB>fin</SUB> ";
  althtmldef "_T[fin]" as ' <FONT FACE=sans-serif>T</FONT><SUB>fin</SUB> ';
  latexdef "_T[fin]" as "{\rm T}_{\rm fin}";
htmldef "Even[fin]" as
    " <FONT FACE=sans-serif>Even</FONT><SUB>fin</SUB> ";
  althtmldef "Even[fin]" as
    ' <FONT FACE=sans-serif>Even</FONT><SUB>fin</SUB> ';
  latexdef "Even[fin]" as "{\rm Even}_{\rm fin}";
htmldef "Odd[fin]" as
    " <FONT FACE=sans-serif>Odd</FONT><SUB>fin</SUB> ";
  althtmldef "Odd[fin]" as ' <FONT FACE=sans-serif>Odd</FONT><SUB>fin</SUB> ';
  latexdef "Odd[fin]" as "{\rm Odd}_{\rm fin}";
htmldef "_S[fin]" as
    " <FONT FACE=sans-serif>S</FONT><SUB>fin</SUB> ";
  althtmldef "_S[fin]" as ' <FONT FACE=sans-serif>S</FONT><SUB>fin</SUB> ';
  latexdef "_S[fin]" as "{\rm S}_{\rm fin}";
htmldef "Sp[fin]" as
    " <FONT FACE=sans-serif>Sp</FONT><SUB>fin</SUB> ";
  althtmldef "Sp[fin]" as ' <FONT FACE=sans-serif>Sp</FONT><SUB>fin</SUB> ';
  latexdef "Sp[fin]" as "{\rm Sp}_{\rm fin}";

htmldef "Funs" as
    " <FONT FACE=sans-serif>Funs</FONT> ";
  althtmldef "Funs" as ' <FONT FACE=sans-serif>Funs</FONT> ';
  latexdef "Funs" as "{\rm Funs}";
htmldef "Fns" as
    " <FONT FACE=sans-serif>Fns</FONT> ";
  althtmldef "Fns" as ' <FONT FACE=sans-serif>Fns</FONT> ';
  latexdef "Fns" as "{\rm Fns}";
htmldef "PProd" as
    " <FONT FACE=sans-serif>PProd</FONT> ";
  althtmldef "PProd" as ' <FONT FACE=sans-serif>PProd</FONT> ';
  latexdef "PProd" as "{\rm PProd}";
htmldef "Cross" as
    " <FONT FACE=sans-serif>Cross</FONT> ";
  althtmldef "Cross" as ' <FONT FACE=sans-serif>Cross</FONT> ';
  latexdef "Cross" as "{\rm Cross}";
htmldef "Pw1Fn" as
    " <FONT FACE=sans-serif>Pw1Fn</FONT> ";
  althtmldef "Pw1Fn" as ' <FONT FACE=sans-serif>Pw1Fn</FONT> ';
  latexdef "Pw1Fn" as "{\rm Pw1Fn}";
htmldef "FullFun" as
    " <FONT FACE=sans-serif>FullFun</FONT> ";
  althtmldef "FullFun" as ' <FONT FACE=sans-serif>FullFun</FONT> ';
  latexdef "FullFun" as "{\rm FullFun}";

htmldef "Trans" as
    " <FONT FACE=sans-serif>Trans</FONT> ";
  althtmldef "Trans" as ' <FONT FACE=sans-serif>Trans</FONT> ';
  latexdef "Trans" as "{\rm Trans}";
htmldef "Ref" as
    " <FONT FACE=sans-serif>Ref</FONT> ";
  althtmldef "Ref" as ' <FONT FACE=sans-serif>Ref</FONT> ';
  latexdef "Ref" as "{\rm Ref}";
htmldef "Antisym" as
    " <FONT FACE=sans-serif>Antisym</FONT> ";
  althtmldef "Antisym" as ' <FONT FACE=sans-serif>Antisym</FONT> ';
  latexdef "Antisym" as "{\rm Antisym}";
htmldef "Po" as
    " <FONT FACE=sans-serif>Po</FONT> ";
  althtmldef "Po" as ' <FONT FACE=sans-serif>Po</FONT> ';
  latexdef "Po" as "{\rm Po}";
htmldef "Connex" as
    " <FONT FACE=sans-serif>Connex</FONT> ";
  althtmldef "Connex" as ' <FONT FACE=sans-serif>Connex</FONT> ';
  latexdef "Connex" as "{\rm Connex}";
htmldef "Or" as
    " <FONT FACE=sans-serif>Or</FONT> ";
  althtmldef "Or" as ' <FONT FACE=sans-serif>Or</FONT> ';
  latexdef "Or" as "{\rm Or}";
htmldef "Fr" as
    " <FONT FACE=sans-serif>Fr</FONT> ";
  althtmldef "Fr" as ' <FONT FACE=sans-serif>Fr</FONT> ';
  latexdef "Fr" as "{\rm Fr}";
htmldef "We" as
    " <FONT FACE=sans-serif>We</FONT> ";
  althtmldef "We" as ' <FONT FACE=sans-serif>We</FONT> ';
  latexdef "We" as "{\rm We}";
htmldef "Ext" as
    " <FONT FACE=sans-serif>Ext</FONT> ";
  althtmldef "Ext" as ' <FONT FACE=sans-serif>Ext</FONT> ';
  latexdef "Ext" as "{\rm Ext}";
htmldef "Sym" as
    " <FONT FACE=sans-serif>Sym</FONT> ";
  althtmldef "Sym" as ' <FONT FACE=sans-serif>Sym</FONT> ';
  latexdef "Sym" as "{\rm Sym}";
htmldef "Er" as
    " <FONT FACE=sans-serif>Er</FONT> ";
  althtmldef "Er" as ' <FONT FACE=sans-serif>Er</FONT> ';
  latexdef "Er" as "{\rm Er}";

htmldef "/." as
    "<IMG SRC='diagup.gif' WIDTH=14 HEIGHT=19 TITLE='/.' ALIGN=TOP>";
  althtmldef "/." as ' <B>/</B> ';
  latexdef "/." as "\diagup";

htmldef "~~" as
    " <IMG SRC='approx.gif' WIDTH=13 HEIGHT=19 TITLE='~~' ALIGN=TOP> ";
  althtmldef "~~" as ' &#8776; '; /* &ap; */
  latexdef "~~" as "\approx";

htmldef "^m" as
    " <IMG SRC='_hatm.gif' WIDTH=15 HEIGHT=19 TITLE='^m' ALIGN=TOP> ";
  althtmldef "^m" as ' &uarr;<SUB><I>m</I></SUB> ';
  latexdef "^m" as "\uparrow_m";
htmldef "^pm" as
    " <IMG SRC='_hatpm.gif' WIDTH=21 HEIGHT=19 TITLE='^pm' ALIGN=TOP> ";
  althtmldef "^pm" as ' &uarr;<SUB><I>pm</I></SUB> ';
  latexdef "^pm" as "\uparrow_{pm}";

htmldef "NC" as
    " <FONT FACE=sans-serif>NC</FONT> ";
  althtmldef "NC" as ' <FONT FACE=sans-serif>NC</FONT> ';
  latexdef "NC" as "{\rm NC}";
htmldef "<_c" as
    " <IMG SRC='le.gif' WIDTH=11 HEIGHT=19 ALT='&lt;_' ALIGN=TOP>" +
    "<SUB>c</SUB> ";
  althtmldef "<_c" as ' &le;<SUB>c</SUB> ';
  latexdef "<_c" as "{\le}_c";
htmldef "<c" as
    " <IMG SRC='lt.gif' WIDTH=11 HEIGHT=19 ALT='&lt;' ALIGN=TOP><SUB>c</SUB> ";
  althtmldef "<c" as ' &lt;<SUB>c</SUB> ';
  latexdef "<c" as "<_c ";
htmldef "Nc" as
    " <FONT FACE=sans-serif>Nc</FONT> ";
  althtmldef "Nc" as ' <FONT FACE=sans-serif>Nc</FONT> ';
  latexdef "Nc" as "{\rm Nc}";
htmldef ".c" as ' &middot;<SUB><I>c</I></SUB> ';
  althtmldef ".c" as ' &middot;<SUB><I>c</I></SUB> ';
  latexdef ".c" as "\cdot_c";
htmldef "T_c" as
    " <FONT FACE=sans-serif>T</FONT><SUB>c</SUB> ";
  althtmldef "T_c" as ' <FONT FACE=sans-serif>T</FONT><SUB>c</SUB> ';
  latexdef "T_c" as "{\rm T}_c ";
htmldef "2c" as '2<SUB><I>c</I></SUB>';
  althtmldef "2c" as '2<SUB><I>c</I></SUB>';
  latexdef "2c" as "2_c";
htmldef "3c" as '3<SUB><I>c</I></SUB>';
  althtmldef "3c" as '3<SUB><I>c</I></SUB>';
  latexdef "3c" as "3_c";
htmldef "^c" as ' &uarr;<SUB><I>c</I></SUB> ';
  althtmldef "^c" as ' &uarr;<SUB><I>c</I></SUB> ';
  latexdef "^c" as "\uparrow_c";

htmldef "Sp[ac]" as
    " <FONT FACE=sans-serif>Sp</FONT><SUB>ac</SUB> ";
  althtmldef "Sp[ac]" as ' <FONT FACE=sans-serif>Sp</FONT><SUB>ac</SUB> ';
  latexdef "Sp[ac]" as "{\rm Sp}_{\rm ac}";

htmldef "TcFn" as "TcFn";
  althtmldef "TcFn" as "TcFn";
  latexdef "TcFn" as "{\rm TcFn}";

htmldef "FRec" as " <FONT FACE=sans-serif>FRec</FONT> ";
  althtmldef "FRec" as " <FONT FACE=sans-serif>FRec</FONT> ";
  latexdef "FRec" as "{\rm FRec}";

htmldef "Dom" as " <FONT FACE=sans-serif>Dom</FONT> ";
  althtmldef "Dom" as " <FONT FACE=sans-serif>Dom</FONT> ";
  latexdef "Dom" as "{\rm Dom}";

htmldef "Ran" as " <FONT FACE=sans-serif>Ran</FONT> ";
  althtmldef "Ran" as " <FONT FACE=sans-serif>Ran</FONT> ";
  latexdef "Ran" as "{\rm Ran}";


htmldef "Can" as
    " <FONT FACE=sans-serif>Can</FONT> ";
  althtmldef "Can" as ' <FONT FACE=sans-serif>Can</FONT> ';
  latexdef "Can" as "{\rm Can}";
  
htmldef "SCan" as
    " <FONT FACE=sans-serif>SCan</FONT> ";
  althtmldef "SCan" as ' <FONT FACE=sans-serif>SCan</FONT> ';
  latexdef "SCan" as "{\rm SCan}";
 $)
