Theorem List for Metamath Proof Explorer - 49001-49100 *Has distinct variable
group(s)
Type | Label | Description |
Statement |
|
Theorem | prstchom 49001 |
Hom-sets of the constructed category are dependent on the preorder.
Note that prstchom.x and prstchom.y are redundant here due to our
definition of ProsetToCat. However, this should not be assumed
as it is definition-dependent. Therefore, the two hypotheses are
added for explicitness. (Contributed by Zhi Wang, 20-Sep-2024.)
|
 ProsetToCat    
                           
   |
|
Theorem | prstchom2 49002* |
Hom-sets of the constructed category are dependent on the preorder.
Note that prstchom.x and prstchom.y are redundant here due to our
definition of ProsetToCat ( see prstchom2ALT 49003). However, this
should not be assumed as it is definition-dependent. Therefore, the
two hypotheses are added for explicitness. (Contributed by Zhi
Wang, 21-Sep-2024.)
|
 ProsetToCat    
                                |
|
Theorem | prstchom2ALT 49003* |
Hom-sets of the constructed category are dependent on the preorder.
This proof depends on the definition df-prstc 48987. See prstchom2 49002 for
a version that does not depend on the definition. (Contributed by Zhi
Wang, 20-Sep-2024.) (Proof modification is discouraged.)
(New usage is discouraged.)
|
 ProsetToCat    
                    |
|
Theorem | oduoppcbas 49004 |
The dual of a preordered set and the opposite category have the same set
of objects. (Contributed by Zhi Wang, 22-Sep-2025.)
|
 ProsetToCat    
ProsetToCat ODual    oppCat             |
|
Theorem | oduoppcciso 49005 |
The dual of a preordered set and the opposite category are
category-isomorphic. Example 3.6(1) of [Adamek] p. 25. (Contributed
by Zhi Wang, 22-Sep-2025.)
|
 ProsetToCat    
ProsetToCat ODual    oppCat          𝑐  CatCat      |
|
Theorem | postcpos 49006 |
The converted category is a poset iff the original proset is a poset.
(Contributed by Zhi Wang, 26-Sep-2024.)
|
 ProsetToCat    
    |
|
Theorem | postcposALT 49007 |
Alternate proof for postcpos 49006. (Contributed by Zhi Wang,
25-Sep-2024.) (Proof modification is discouraged.)
(New usage is discouraged.)
|
 ProsetToCat    
    |
|
Theorem | postc 49008* |
The converted category is a poset iff no distinct objects are
isomorphic. (Contributed by Zhi Wang, 25-Sep-2024.)
|
 ProsetToCat   
     
    𝑐
  
    |
|
21.49.15.3 Monoids as categories
|
|
Syntax | cmndtc 49009 |
Class function defining monoids as categories.
|
MndToCat |
|
Definition | df-mndtc 49010 |
Definition of the function converting a monoid to a category. Example
3.3(4.e) of [Adamek] p. 24.
The definition of the base set is arbitrary. The whole extensible
structure becomes the object here (see mndtcbasval 49012), instead of just
the base set, as is the case in Example 3.3(4.e) of [Adamek] p. 24.
The resulting category is defined entirely, up to isomorphism, by
mndtcbas 49013, mndtchom 49016, mndtcco 49017. Use those instead.
See example 3.26(3) of [Adamek] p. 33
for more on isomorphism.
"MndToCat" was taken instead of "MndCat" because the
latter might mean
the category of monoids. (Contributed by Zhi Wang, 22-Sep-2024.)
(New usage is discouraged.)
|
MndToCat                 
   
         comp                   |
|
Theorem | mndtcval 49011 |
Value of the category built from a monoid. (Contributed by Zhi Wang,
22-Sep-2024.) (New usage is discouraged.)
|
 MndToCat            
                      comp      
            |
|
Theorem | mndtcbasval 49012 |
The base set of the category built from a monoid. (Contributed by Zhi
Wang, 22-Sep-2024.) (New usage is discouraged.)
|
 MndToCat                |
|
Theorem | mndtcbas 49013* |
The category built from a monoid contains precisely one object.
(Contributed by Zhi Wang, 22-Sep-2024.)
|
 MndToCat            
  |
|
Theorem | mndtcob 49014 |
Lemma for mndtchom 49016 and mndtcco 49017. (Contributed by Zhi Wang,
22-Sep-2024.) (New usage is discouraged.)
|
 MndToCat                |
|
Theorem | mndtcbas2 49015 |
Two objects in a category built from a monoid are identical.
(Contributed by Zhi Wang, 24-Sep-2024.)
|
 MndToCat                  |
|
Theorem | mndtchom 49016 |
The only hom-set of the category built from a monoid is the base set
of the monoid. (Contributed by Zhi Wang, 22-Sep-2024.)
|
 MndToCat                               |
|
Theorem | mndtcco 49017 |
The composition of the category built from a monoid is the monoid
operation. (Contributed by Zhi Wang, 22-Sep-2024.)
|
 MndToCat                  comp   
    
     |
|
Theorem | mndtcco2 49018 |
The composition of the category built from a monoid is the monoid
operation. (Contributed by Zhi Wang, 22-Sep-2024.)
|
 MndToCat                  comp   
                  |
|
Theorem | mndtccatid 49019* |
Lemma for mndtccat 49020 and mndtcid 49021. (Contributed by Zhi Wang,
22-Sep-2024.)
|
 MndToCat      
                 |
|
Theorem | mndtccat 49020 |
The function value is a category. (Contributed by Zhi Wang,
22-Sep-2024.)
|
 MndToCat        |
|
Theorem | mndtcid 49021 |
The identity morphism, or identity arrow, of the category built from a
monoid is the identity element of the monoid. (Contributed by Zhi
Wang, 22-Sep-2024.)
|
 MndToCat                            |
|
Theorem | oppgoppchom 49022 |
The converted opposite monoid has the same hom-set as that of the
opposite category. Example 3.6(2) of [Adamek] p. 25. (Contributed
by Zhi Wang, 21-Sep-2025.)
|
 MndToCat      MndToCat oppg   
oppCat                                   |
|
Theorem | oppgoppcco 49023 |
The converted opposite monoid has the same composition as that of
the opposite category. Example 3.6(2) of [Adamek] p. 25.
(Contributed by Zhi Wang, 22-Sep-2025.)
|
 MndToCat      MndToCat oppg   
oppCat               comp   
comp                |
|
Theorem | oppgoppcid 49024 |
The converted opposite monoid has the same identity morphism as that
of the opposite category. Example 3.6(2) of [Adamek] p. 25.
(Contributed by Zhi Wang, 22-Sep-2025.)
|
 MndToCat      MndToCat oppg   
oppCat                                 |
|
Theorem | grptcmon 49025 |
All morphisms in a category converted from a group are monomorphisms.
(Contributed by Zhi Wang, 23-Sep-2024.)
|
 MndToCat                     Mono              |
|
Theorem | grptcepi 49026 |
All morphisms in a category converted from a group are epimorphisms.
(Contributed by Zhi Wang, 23-Sep-2024.)
|
 MndToCat                     Epi              |
|
21.50 Mathbox for Emmett
Weisz
|
|
21.50.1 Miscellaneous Theorems
Some of these theorems are used in the series of lemmas and theorems proving
the defining properties of setrecs.
|
|
Theorem | nfintd 49027 |
Bound-variable hypothesis builder for intersection. (Contributed by
Emmett Weisz, 16-Jan-2020.)
|
    
     |
|
Theorem | nfiund 49028* |
Bound-variable hypothesis builder for indexed union. (Contributed by
Emmett Weisz, 6-Dec-2019.) Add disjoint variable condition to avoid
ax-13 2377. See nfiundg 49029 for a less restrictive version requiring
more
axioms. (Revised by GG, 20-Jan-2024.)
|
          
  
  |
|
Theorem | nfiundg 49029 |
Bound-variable hypothesis builder for indexed union. Usage of this
theorem is discouraged because it depends on ax-13 2377, see nfiund 49028 for
a weaker version that does not require it. (Contributed by Emmett
Weisz, 6-Dec-2019.) (New usage is discouraged.)
|
          
  
  |
|
Theorem | iunord 49030* |
The indexed union of a collection of ordinal numbers    is
ordinal. This proof is based on the proof of ssorduni 7805, but does not
use it directly, since ssorduni 7805 does not work when is a proper
class. (Contributed by Emmett Weisz, 3-Nov-2019.)
|
 
   |
|
Theorem | iunordi 49031* |
The indexed union of a collection of ordinal numbers    is
ordinal. (Contributed by Emmett Weisz, 3-Nov-2019.)
|

 |
|
Theorem | spd 49032 |
Specialization deduction, using implicit substitution. Based on the
proof of spimed 2393. (Contributed by Emmett Weisz, 17-Jan-2020.)
|
               |
|
Theorem | spcdvw 49033* |
A version of spcdv 3597 where and are direct substitutions of
each other. This theorem is useful because it does not require
and to be
distinct variables. (Contributed by Emmett Weisz,
12-Apr-2020.)
|
             |
|
Theorem | tfis2d 49034* |
Transfinite Induction Schema, using implicit substitution. (Contributed
by Emmett Weisz, 3-May-2020.)
|
 
       
        |
|
Theorem | bnd2d 49035* |
Deduction form of bnd2 9940. (Contributed by Emmett Weisz,
19-Jan-2021.)
|
               |
|
Theorem | dffun3f 49036* |
Alternate definition of function, using bound-variable hypotheses
instead of distinct variable conditions. (Contributed by Emmett Weisz,
14-Mar-2021.)
|
                
    |
|
21.50.2 Set Recursion
|
|
21.50.2.1 Basic Properties of Set
Recursion
Symbols in this section:
All the symbols used in the definition of setrecs  are explained
in
the comment of df-setrecs 49038. The class is explained in the comment of
setrec1lem1 49041. Glossaries of symbols used in individual
proofs, or used
differently in different proofs, are in the comments of those proofs.
|
|
Syntax | csetrecs 49037 |
Extend class notation to include a set defined by transfinite
recursion.
|
setrecs   |
|
Definition | df-setrecs 49038* |
Define a class setrecs  by transfinite recursion,
where
    is
the set of new elements to add to the class given the
set of elements
in the class so far. We do not need a base case,
because we can start with the empty set, which is vacuously a subset of
setrecs  . The goal of this definition is to construct a
class
fulfilling Theorems setrec1 49045 and setrec2v 49050, which give a more
intuitive idea of the meaning of setrecs. Unlike wrecs,
setrecs is well-defined for any and meaningful for any
function .
For example, see Theorem onsetrec 49062 for how the class is defined
recursively using the successor function.
The definition works by building subsets of the desired class and taking
the union of those subsets. To find such a collection of subsets,
consider an arbitrary set , and consider the result when applying
to any subset
. Remember that can be any
function, and in general we are interested in functions that give
outputs that are larger than their inputs, so we have no reason to
expect the outputs to be within . However, if we restrict the
domain of to a
given set , the
resulting range will be a
set. Therefore, with this restricted , it makes sense to consider
sets that are
closed under applied
to its subsets. Now we
can test whether a given set is recursively generated by .
If every set
that is closed under
contains , that
means that every member of must eventually be generated by .
On the other hand, if some such does not contain a certain element
of , then that
element can be avoided even if we apply in
every possible way to previously generated elements.
Note that such an omitted element might be eventually recursively
generated by ,
but not through the elements of . In this
case, would fail
the condition in the definition, but the omitted
element would still be included in some larger . For example, if
is the
successor function, the set    would fail the
condition since is not an element of the successor of or
  . Remember that we are
applying to subsets
of ,
not elements of .
In fact, even the set   fails the
condition, since the only subset of previously generated elements is
,
and does not have
as an element.
However,
we can let be
any ordinal, since each of its elements is generated
by starting with and repeatedly applying the successor function.
A similar definition I initially used for setrecs  was
setrecs   recs         .
I had initially tried and failed to find an elementary definition, and I
had proven theorems analogous to setrec1 49045 and setrec2v 49050 using the old
definition before I found the new one. I decided to change definitions
for two reasons. First, as John Horton Conway noted in the Appendix to
Part Zero of On Numbers and Games, mathematicians should not be caught
up in any particular formalization, such as ZF set theory. Instead,
they should work under whatever framework best suits the problem, and
the formal bases used for different problems can be shown to be
equivalent. Thus, Conway preferred defining surreal numbers as
equivalence classes of surreal number forms, rather than
sign-expansions. Although sign-expansions are easier to implement in ZF
set theory, Conway argued that "formalisation within some
particular
axiomatic set theory is irrelevant". Furthermore, one of the most
remarkable properties of the theory of surreal numbers is that it
generates so much from almost nothing. Using sign-expansions as the
formal definition destroys the beauty of surreal numbers, because
ordinals are already built in. For this reason, I replaced the old
definition of setrecs, which also relied heavily on ordinal
numbers. On the other hand, both surreal numbers and the elementary
definition of setrecs immediately generate the ordinal numbers from
a (relatively) very simple set-theoretical basis.
Second, although it is still complicated to formalize the theory of
recursively generated sets within ZF set theory, it is actually simpler
and more natural to do so with set theory directly than with the theory
of ordinal numbers. As Conway wrote, indexing the "birthdays"
of sets
is and should be unnecessary. Using an elementary definition for
setrecs removes the reliance on the previously developed theory of
ordinal numbers, allowing proofs to be simpler and more direct.
Formalizing surreal numbers within Metamath is probably still not in the
spirit of Conway. He said that "attempts to force arbitrary
theories
into a single formal straitjacket... produce unnecessarily cumbrous and
inelegant contortions." Nevertheless, Metamath has proven to be
much
more versatile than it seems at first, and I think the theory of surreal
numbers can be natural while fitting well into the Metamath framework.
The difficulty in writing a definition in Metamath for setrecs 
is that the necessary properties to prove are self-referential (see
setrec1 49045 and setrec2v 49050), so we cannot simply write the properties
we
want inside a class abstraction as with most definitions. As noted in
the comment of df-rdg 8458, this is not actually a requirement of the
Metamath language, but we would like to be able to eliminate all
definitions by direct mechanical substitution.
We cannot define setrecs using a class abstraction directly, because
nothing about its individual elements tells us whether they are in the
set. We need to know about previous elements first. One way of getting
around this problem without indexing is by defining setrecs  as
a union or intersection of suitable sets. Thus, instead of using a
class abstraction for the elements of setrecs  , which seems
to
be impossible, we can use a class abstraction for supersets or subsets
of setrecs  , which "know" about multiple individual
elements
at a time.
Note that we cannot define setrecs  as an
intersection of sets,
because in general it is a proper class, so any supersets would also be
proper classes. However, a proper class can be a union of sets, as long
as the collection of such sets is a proper class. Therefore, it is
feasible to define setrecs  as a union of a class
abstraction.
If setrecs   , the elements of A must be
subsets of
setrecs  which together include everything recursively
generated by .
We can do this by letting be the class of
sets whose
elements are all recursively generated by .
One necessary condition is that each element of a given must
be generated by when applied to a previous element .
In symbols,   
 
      .
However, this is not sufficient. All fixed points of will
satisfy this condition whether they should be in setrecs  or
not. If we replace the subset relation with the proper subset relation,
cannot be the
empty set, even though the empty set should be in
. Therefore
this condition cannot be used in the definition, even
if we can find a way to avoid making it circular.
A better strategy is to find a necessary and sufficient condition for
all the elements of a set to be generated by when
applied only to sets of previously generated elements within .
For example, taking to be the successor function, we can let
rather than  , and we will still have 
as required. This gets rid of the circularity of the definition, since
we should have a condition to test whether a given set is in
without knowing about any of the other elements of .
The definition I ended up using accomplishes this using induction:
is defined as the class of sets for which a sort of induction on
the elements of
holds. However, when creating a definition for
setrecs that did not rely on ordinal numbers, I tried at first to
write a definition using the well-founded relation predicate, .
I thought that this would be simple to do once I found a suitable
definition using induction, just as the least- element principle is
equivalent to induction on the positive integers. If we let
         , then
    

          .
On 22-Jul-2020 I came up with the following definition (Version 1)
phrased in terms of induction:   
            
In Aug-2020 I came up with an equivalent definition with the goal of
phrasing it in terms of the relation . It is the contrapositive
of the previous one with replaced by its complement.
  

      
  
These definitions didn't work because the induction didn't "get off
the
ground." If does not contain the empty set, the condition
   
fails, so
doesn't get included in
even though it
should. This could be fixed by adding the base
case as a separate requirement, but the subtler problem would remain
that rather than a set of "acceptable" sets, what we really
need is a
collection of
all individuals that have been generated so far. So
one approach is to replace every occurrence of with ,
making a set of
individuals rather than a family of sets. That
solves this problem, but it complicates the foundedness version of the
definition, which looked cleaner in Version 1.
There was another problem with Version 1. If we let be the power
set function, then the induction in the inductive version works for
being the class
of transitive sets, restricted to subsets of
. Therefore,
must be transitive by
definition of .
This doesn't affect the union of all such , but it may or may not
be desirable. The problem is that is only applied to transitive
sets, because of the strong requirement , so the
definition
requires the additional constraint

         in order to work. This issue
can also be avoided by replacing
with . The induction
version of the result is used in the final definition.
Version 2: (18-Aug-2020) Induction:   
        
 
 
Foundedness:     
  
   
  
In the induction version, not only does include all the elements
of , but it must
include the elements of     for

 even if those elements of     are not in
. We shouldn't
care about any of the elements of outside
, but this detail
doesn't affect the correctness of the
definition. If we replaced     in the definition by
      , we would get
the same class for
setrecs  . Suppose we could find a for which the
condition fails for a given under the changed definition. Then
the antecedent would be true, but would be
false. We could
then simply add all elements of     outside of for any
, which we can do because all the classes
involved are sets.
This is not trivial and requires the axioms of union, power set, and
replacement. However, the expanded fails the condition under the
Metamath definition. The other direction is easier. If a certain
fails the Metamath definition, then all     for

 , and in particular     
 .
The foundedness version is starting to look more like ax-reg 9639! We
want to take advantage of the preexisting relation , which seems
closely related to our foundedness definition. Since we only care about
the elements of
which are subsets of ,
we can restrict
to in the
foundedness definition. Furthermore, instead of
quantifying over , quantify over the elements
overlapping with . Versions 3, 4, and 5 are all equivalent to
Version 2.
Version 3 - Foundedness (5-Sep-2020):
     

    
      
Now, if we replace     by       , we do
not change the definition. We already know that
since
and
. All we need to show
in order to prove that
this change leads to an equivalent definition is to find
To make our definition look exactly like df-fr 5645, we add another
variable
representing the nonexistent element of in .
Version 4 - Foundedness (6-Sep-2020):
     

    
 
    
This is so close to df-fr 5645; the only change needed is to switch
 with 
. Unfortunately, I
couldn't find any way to
switch the quantifiers without interfering with the definition. Maybe
there is a definition equivalent to this one that uses , but I
couldn't find one. Yet, we can still find a remarkable similarity
between Foundedness Version 2 and ax-reg 9639. Rather than a disjoint
element of ,
there's a disjoint coverer of an element of .
Finally, here's a different dead end I followed:
To clean up our foundedness definition, we keep as a family of
sets but allow
to be any subset of
 in the
induction. With this stronger induction, we can also allow for the
stronger requirement  rather than only .
This
will help improve the foundedness version.
Version 1.1 (28-Aug-2020) Induction:      

        
 
Foundedness:         
  
       
( Edit (Aug 31) - this isn't true! Nothing forces the subset of an
element of to be
in . Version 2 does not
have this issue. )
Similarly, we could allow to be any subset of any element of
rather than any subset of  . I
think this has the same problem.
We want to take advantage of the preexisting relation , which
seems closely related to our foundedness definition. Since we only care
about the elements of which are subsets of , we can restrict
to  in the foundedness definition:
Version 1.2 (31-Aug-2020) Foundedness:
       
    
      
Now this looks more like df-fr 5645! The last step necessary to be able
to use
directly in our definition is to replace    
with its own setvar variable, corresponding to in df-fr 5645.
This definition is incorrect, though, since there's nothing forcing the
subset of an element of to be in .
Version 1.3 (31-Aug-2020) Induction:        
         
  
Foundedness:
           

        
must contain the
supersets of each of its elements in the
foundedness version, and we can't make any restrictions on or
, so this
doesn't work.
Let's try letting R be the covering relation
   
     to solve the transitivity
issue (i.e. that if is the power set relation, consists only
of transitive sets). The set     corresponds to the variable
in df-fr 5645. Thus, in our case, df-fr 5645 is equivalent to
    

                 .
Substituting our relation gives
    

                  
This doesn't work for non-injective because we need all to
be straddlers, but we don't necessarily need all-straddlers; loops
within z are fine for non-injective F.
Consider the foundedness form of Version 1. We want to show
        so we can replace one with
the other. Negate both sides:
       
If is
injective, then we should be able to pick a suitable R,
being careful about the above problem for some F (for example z =
transitivity) when changing the antecedent y e. z' to z =/= (/). If
we're clever, we can get rid of the injectivity requirement. The
forward direction of the above equivalence always holds, but the key is
that although the backwards direction doesn't hold in general, we can
always find some z' where it doesn't work for itself. If there
exists a z' where the version with the w condition fails, then there
exists a z' where the version with the v condition also fails. However,
Version 1 is not a correct definition, so this doesn't work either.
(Contributed by Emmett Weisz, 18-Aug-2020.)
(New usage is discouraged.)
|
setrecs                    |
|
Theorem | setrecseq 49039 |
Equality theorem for set recursion. (Contributed by Emmett Weisz,
17-Feb-2021.)
|

setrecs 
setrecs    |
|
Theorem | nfsetrecs 49040 |
Bound-variable hypothesis builder for setrecs. (Contributed by
Emmett Weisz, 21-Oct-2021.)
|
   setrecs   |
|
Theorem | setrec1lem1 49041* |
Lemma for setrec1 49045. This is a utility theorem showing the
equivalence
of the statement and its expanded form.
The proof uses
elabg 3680 and equivalence theorems.
Variable is
the class of sets that
are recursively generated
by the function . In other words, iff by starting with
the empty set and repeatedly applying to subsets of our set,
we will eventually generate all the elements of . In this
theorem, is
any element of , and
is any class.
(Contributed by Emmett Weisz, 16-Oct-2020.)
(New usage is discouraged.)
|
      

     
                
 
    |
|
Theorem | setrec1lem2 49042* |
Lemma for setrec1 49045. If a family of sets are all recursively
generated
by , so is
their union. In this theorem, is a family of
sets which are all elements of , and is any class. Use
dfss3 3987, equivalence and equality theorems, and
unissb at the end.
Sandwich with applications of setrec1lem1. (Contributed by Emmett
Weisz, 24-Jan-2021.) (New usage is discouraged.)
|
      

     
          |
|
Theorem | setrec1lem3 49043* |
Lemma for setrec1 49045. If each element of is covered by a
set recursively
generated by , then
there is a single such
set covering all of . The set is constructed explicitly using
setrec1lem2 49042. It turns out that
also works, i.e., given the
hypotheses it is possible to prove that . I don't
know if
proving this fact directly using setrec1lem1 49041 would be any easier than
the current proof using setrec1lem2 49042, and it would only slightly
simplify the proof of setrec1 49045. Other than the use of bnd2d 49035, this
is a purely technical theorem for rearranging notation from that of
setrec1lem2 49042 to that of setrec1 49045. (Contributed by Emmett Weisz,
20-Jan-2021.) (New usage is discouraged.)
|
      

     
                  |
|
Theorem | setrec1lem4 49044* |
Lemma for setrec1 49045. If is recursively generated by , then
so is     .
In the proof of setrec1 49045, the following is substituted for this
theorem's :  
    


         
Therefore, we cannot declare to be a distinct variable from
, since
we need it to appear as a bound variable in .
This theorem can be proven without the hypothesis   , but the
proof would be harder to read because theorems in deduction form would
be interrupted by theorems like eximi 1834, making the antecedent of each
line something more complicated than . The proof of
setrec1lem2 49042 could similarly be made easier to read by
adding the
hypothesis   , but I had already
finished the proof and
decided to leave it as is. (Contributed by Emmett Weisz, 26-Nov-2020.)
(New usage is discouraged.)
|
                                 |
|
Theorem | setrec1 49045 |
This is the first of two fundamental theorems about set recursion from
which all other facts will be derived. It states that the class
setrecs  is closed under . This effectively sets the
actual value of setrecs  as a lower bound for
setrecs  , as it implies that any set generated by
successive
applications of is a member of . This theorem "gets off the
ground" because we can start by letting , and the hypotheses
of the theorem will hold trivially.
Variable
represents an abbreviation of setrecs  or
another name of setrecs  (for an example of the
latter, see
theorem setrecon).
Proof summary: Assume that
, meaning that all
elements of
are in some
set recursively generated by . Then by
setrec1lem3 49043, is a subset of some set recursively generated by
. (It turns
out that itself is
recursively generated by
, but we don't
need this fact. See the comment to
setrec1lem3 49043.) Therefore, by setrec1lem4 49044,     is a
subset of some set recursively generated by . Thus, by ssuni 4940,
it is a subset of the union of all sets recursively generated by .
See df-setrecs 49038 for a detailed description of how the
setrecs
definition works.
(Contributed by Emmett Weisz, 9-Oct-2020.)
|
setrecs             |
|
Theorem | setrec2fun 49046* |
This is the second of two fundamental theorems about set recursion from
which all other facts will be derived. It states that the class
setrecs  is a subclass of all classes that are closed
under . Taken
together, Theorems setrec1 49045 and setrec2v 49050 say
that setrecs  is the minimal class closed under .
We express this by saying that if respects the relation and
is closed
under , then . By substituting
strategically constructed classes for , we can easily prove many
useful properties. Although this theorem cannot show equality between
and , if we intend to prove
equality between and
some
particular class (such as ), we first apply this theorem, then
the relevant induction theorem (such as tfi 7881)
to the other class.
(Contributed by Emmett Weisz, 15-Feb-2021.)
(New usage is discouraged.)
|
 
setrecs         
     |
|
Theorem | setrec2lem1 49047* |
Lemma for setrec2 49049. The functional part of has the same values
as .
(Contributed by Emmett Weisz, 4-Mar-2021.)
(New usage is discouraged.)
|
          
     |
|
Theorem | setrec2lem2 49048* |
Lemma for setrec2 49049. The functional part of is a function.
(Contributed by Emmett Weisz, 6-Mar-2021.)
(New usage is discouraged.)
|

       |
|
Theorem | setrec2 49049* |
This is the second of two fundamental theorems about set recursion from
which all other facts will be derived. It states that the class
setrecs  is a subclass of all classes that are closed
under . Taken
together, Theorems setrec1 49045 and setrec2v 49050
uniquely determine setrecs  to be the minimal class
closed
under .
We express this by saying that if respects the relation and
is closed
under , then . By substituting
strategically constructed classes for , we can easily prove many
useful properties. Although this theorem cannot show equality between
and , if we intend to prove
equality between and
some
particular class (such as ), we first apply this theorem, then
the relevant induction theorem (such as tfi 7881)
to the other class.
(Contributed by Emmett Weisz, 2-Sep-2021.)
|
 
setrecs  
  
      
  |
|
Theorem | setrec2v 49050* |
Version of setrec2 49049 with a disjoint variable condition instead
of a
nonfreeness hypothesis. (Contributed by Emmett Weisz, 6-Mar-2021.)
|
setrecs               |
|
Theorem | setrec2mpt 49051* |
Version of setrec2 49049 where is defined using maps-to notation.
Deduction form is omitted in the second hypothesis for simplicity. In
practice, nothing important is lost since we are only interested in one
choice of ,
, and at a time. However, we
are
interested in what happens when varies, so deduction form is used
in the third hypothesis. (Contributed by Emmett Weisz, 4-Jun-2024.)
|
setrecs    
 
  
  
  |
|
Theorem | setis 49052* |
Version of setrec2 49049 expressed as an induction schema. This
theorem is
a generalization of tfis3 7886. (Contributed by Emmett Weisz,
27-Feb-2022.)
|
setrecs          
         
   |
|
21.50.2.2 Examples and properties of set
recursion
|
|
Theorem | elsetrecslem 49053* |
Lemma for elsetrecs 49054. Any element of setrecs  is
generated
by some subset of setrecs  . This is much weaker than
setrec2v 49050. To see why this lemma also requires setrec1 49045, consider
what would happen if we replaced with   . The antecedent
would still hold, but the consequent would fail in general. Consider
dispensing with the deduction form. (Contributed by Emmett Weisz,
11-Jul-2021.) (New usage is discouraged.)
|
setrecs             |
|
Theorem | elsetrecs 49054* |
A set is an element
of setrecs  iff is generated by
some subset of setrecs  . The proof requires both setrec1 49045
and setrec2 49049, but this theorem is not strong enough to
uniquely
determine setrecs  . If respects the subset relation,
the theorem still holds if both occurrences of are replaced by
for a
stronger version of the theorem. (Contributed by Emmett
Weisz, 12-Jul-2021.)
|
setrecs             |
|
Theorem | setrecsss 49055 |
The setrecs operator respects the subset relation between two
functions and
. (Contributed by
Emmett Weisz,
13-Mar-2022.)
|

    setrecs 
setrecs    |
|
Theorem | setrecsres 49056 |
A recursively generated class is unaffected when its input function is
restricted to subsets of the class. (Contributed by Emmett Weisz,
14-Mar-2022.)
|
setrecs  
  setrecs       |
|
Theorem | vsetrec 49057 |
Construct using
set recursion. The proof indirectly uses
trcl 9775, which relies on , but theoretically in trcl 9775
could be constructed using setrecs instead. The proof of this
theorem uses the dummy variable rather than to avoid a
distinct variable requirement between and . (Contributed by
Emmett Weisz, 23-Jun-2021.)
|
   setrecs   |
|
Theorem | 0setrec 49058 |
If a function sends the empty set to itself, the function will not
recursively generate any sets, regardless of its other values.
(Contributed by Emmett Weisz, 23-Jun-2021.)
|
       setrecs 
  |
|
Theorem | onsetreclem1 49059* |
Lemma for onsetrec 49062. (Contributed by Emmett Weisz,
22-Jun-2021.)
(New usage is discouraged.)
|
          
      |
|
Theorem | onsetreclem2 49060* |
Lemma for onsetrec 49062. (Contributed by Emmett Weisz,
22-Jun-2021.)
(New usage is discouraged.)
|
           
  |
|
Theorem | onsetreclem3 49061* |
Lemma for onsetrec 49062. (Contributed by Emmett Weisz,
22-Jun-2021.)
(New usage is discouraged.)
|
              |
|
Theorem | onsetrec 49062 |
Construct using set
recursion. When , the function
constructs the
least ordinal greater than any of the elements of
, which is  for a limit ordinal and  for a
successor ordinal.
For example,       
              which
contains ,
and
   
        , which
contains .
If we start with the empty set and keep applying
transfinitely
many times, all ordinal numbers will be generated.
Any function
fulfilling lemmas onsetreclem2 49060 and onsetreclem3 49061
will recursively generate ; for example,
    also works. Whether this
function or the function in the theorem is used, taking this theorem as
a definition of is unsatisfying because it relies on the
different properties of limit and successor ordinals. A different
approach could be to let      ,
based on dfon2 35787.
The proof of this theorem uses the dummy variable rather than
to avoid a
distinct variable condition between and .
(Contributed by Emmett Weisz, 22-Jun-2021.)
|
       setrecs   |
|
21.50.3 Construction of Games and Surreal
Numbers
Model organization after organization of reals - see TOC
|
|
Syntax | cpg 49063 |
Extend class notation to include the class of partisan game forms.
|
Pg |
|
Definition | df-pg 49064 |
Define the class of partisan games. More precisely, this is the class of
partisan game forms, many of which represent equal partisan games. In
Metamath, equality between partisan games is represented by a different
equivalence relation than class equality. (Contributed by Emmett Weisz,
22-Aug-2021.)
|
Pg setrecs         |
|
Theorem | elpglem1 49065* |
Lemma for elpg 49068. (Contributed by Emmett Weisz,
28-Aug-2021.)
|
    Pg     
    
  
     Pg     Pg  |
|
Theorem | elpglem2 49066* |
Lemma for elpg 49068. (Contributed by Emmett Weisz,
28-Aug-2021.)
|
      Pg
    Pg    Pg     
    
     |
|
Theorem | elpglem3 49067* |
Lemma for elpg 49068. (Contributed by Emmett Weisz,
28-Aug-2021.)
|
    Pg                  Pg          
      |
|
Theorem | elpg 49068 |
Membership in the class of partisan games. In John Horton Conway's On
Numbers and Games, this is stated as "If and are any two
sets of games, then there is a game   . All games are
constructed in this way." The first sentence corresponds to the
backward direction of our theorem, and the second to the forward
direction. (Contributed by Emmett Weisz, 27-Aug-2021.)
|

Pg        Pg
    Pg  |
|
Theorem | pgindlem 49069 |
Lemma for pgind 49071. (Contributed by Emmett Weisz,
27-May-2024.)
(New usage is discouraged.)
|

             
  |
|
Theorem | pgindnf 49070* |
Version of pgind 49071 with extraneous not-free requirements.
(Contributed
by Emmett Weisz, 27-May-2024.) (New usage is discouraged.)
|
    
           
              
Pg    |
|
Theorem | pgind 49071* |
Induction on partizan games. (Contributed by Emmett Weisz,
27-May-2024.)
|

           
              
Pg    |
|
21.51 Mathbox for David A.
Wheeler
This is the mathbox of David A. Wheeler, dwheeler at dwheeler dot com .
Among other things, I have added a number of formal definitions for
widely-used functions, e.g., those defined in
ISO 80000-2:2009(E)
Quantities and units - Part 2: Mathematical signs and
symbols used in the natural sciences and technology
and the
NIST Digital Library of Mathematical Functions http://dlmf.nist.gov/.
|
|
21.51.1 Natural deduction
|
|
Theorem | sbidd 49072 |
An identity theorem for substitution. See sbid 2255.
See Remark 9.1 in
[Megill] p. 447 (p. 15 of the preprint).
(Contributed by DAW,
18-Feb-2017.)
|
   ![] ]](rbrack.gif)     |
|
Theorem | sbidd-misc 49073 |
An identity theorem for substitution. See sbid 2255.
See Remark 9.1 in
[Megill] p. 447 (p. 15 of the preprint).
(Contributed by DAW,
18-Feb-2017.)
|
 
  ![] ]](rbrack.gif)      |
|
21.51.2 Greater than, greater than or equal
to.
As a stylistic issue, set.mm prefers 'less than' instead of
'greater than' to reduce the number of conversion steps.
Here we formally define the widely-used relations
'greater than' and 'greater than or equal to', so that we
have formal definitions of them, as well as a few related theorems.
|
|
Syntax | cge-real 49074 |
Extend wff notation to include the 'greater than or equal to' relation,
see df-gte 49076.
|
 |
|
Syntax | cgt 49075 |
Extend wff notation to include the 'greater than' relation, see
df-gt 49077.
|
 |
|
Definition | df-gte 49076 |
Define the 'greater than or equal' predicate over the reals. Defined in
ISO 80000-2:2009(E) operation 2-7.10. It is used as a primitive in the
"NIST Digital Library of Mathematical Functions" , front
introduction,
"Common Notations and Definitions" section at
http://dlmf.nist.gov/front/introduction#Sx4.
This relation is merely
the converse of the 'less than or equal to' relation defined by df-le 11308.
We do not write this as   , and similarly we do
not write ` > ` as   , because these are not
definitional axioms as understood by mmj2 (those definitions will be
flagged as being "potentially non-conservative"). We could
write them
this way:
   
     and
   
     but
these are very complicated. This definition of , and the similar
one for (df-gt 49077), are a bit strange when you see them for
the
first time, but these definitions are much simpler for us to process and
are clearly conservative definitions. (My thanks to Mario Carneiro for
pointing out this simpler approach.) See gte-lte 49078 for a more
conventional expression of the relationship between and . As
a stylistic issue, set.mm prefers 'less than' instead of 'greater than' to
reduce the number of conversion steps. Thus, we discourage its use, but
include its definition so that there is a formal definition of this
symbol.
(Contributed by David A. Wheeler, 10-May-2015.)
(New usage is discouraged.)
|
 |
|
Definition | df-gt 49077 |
The 'greater than' relation is merely the converse of the 'less than or
equal to' relation defined by df-lt 11175. Defined in ISO 80000-2:2009(E)
operation 2-7.12. See df-gte 49076 for a discussion on why this approach is
used for the definition. See gt-lt 49079 and gt-lth 49081 for more conventional
expression of the relationship between and .
As a stylistic issue, set.mm prefers 'less than or equal' instead of
'greater than or equal' to reduce the number of conversion steps. Thus,
we discourage its use, but include its definition so that there is
a
formal definition of this symbol.
(Contributed by David A. Wheeler, 19-Apr-2015.)
(New usage is discouraged.)
|
 |
|
Theorem | gte-lte 49078 |
Simple relationship between and . (Contributed by David A.
Wheeler, 10-May-2015.) (New usage is discouraged.)
|
       |
|
Theorem | gt-lt 49079 |
Simple relationship between and . (Contributed by David A.
Wheeler, 19-Apr-2015.) (New usage is discouraged.)
|
       |
|
Theorem | gte-lteh 49080 |
Relationship between and using hypotheses. (Contributed
by David A. Wheeler, 10-May-2015.) (New usage is discouraged.)
|

  |
|
Theorem | gt-lth 49081 |
Relationship between and using hypotheses. (Contributed by
David A. Wheeler, 19-Apr-2015.) (New usage is discouraged.)
|

  |
|
Theorem | ex-gt 49082 |
Simple example of , in this case, 0 is not greater than 0. This is
useful as an example, and helps us gain confidence that we've correctly
defined the symbol. (Contributed by David A. Wheeler, 1-Jan-2017.)
(New usage is discouraged.)
|
 |
|
Theorem | ex-gte 49083 |
Simple example of , in this case, 0 is greater than or equal to 0.
This is useful as an example, and helps us gain confidence that we've
correctly defined the symbol. (Contributed by David A. Wheeler,
1-Jan-2017.) (New usage is discouraged.)
|
 |
|
21.51.3 Hyperbolic trigonometric
functions
It is a convention of set.mm to not use sinh and so on directly,
and instead of use expansions such as       .
However, I believe it's important to give formal definitions for
these conventional functions as they are typically used,
so here they are. A few related identities are also proved.
|
|
Syntax | csinh 49084 |
Extend class notation to include the hyperbolic sine function, see
df-sinh 49087.
|
sinh |
|
Syntax | ccosh 49085 |
Extend class notation to include the hyperbolic cosine function. see
df-cosh 49088.
|
cosh |
|
Syntax | ctanh 49086 |
Extend class notation to include the hyperbolic tangent function, see
df-tanh 49089.
|
tanh |
|
Definition | df-sinh 49087 |
Define the hyperbolic sine function (sinh). We define it this way for
cmpt 5234, which requires the form   . See
sinhval-named 49090 for a simple way to evaluate it. We define
this function
by dividing by ,
which uses fewer operations than many conventional
definitions (and thus is more convenient to use in set.mm). See
sinh-conventional 49093 for a justification that our definition is
the same as
the conventional definition of sinh used in other sources. (Contributed
by David A. Wheeler, 20-Apr-2015.)
|
sinh            |
|
Definition | df-cosh 49088 |
Define the hyperbolic cosine function (cosh). We define it this way for
cmpt 5234, which requires the form   . (Contributed by
David A. Wheeler, 10-May-2015.)
|
cosh          |
|
Definition | df-tanh 49089 |
Define the hyperbolic tangent function (tanh). We define it this way for
cmpt 5234, which requires the form   . (Contributed by
David A. Wheeler, 10-May-2015.)
|
tanh   cosh            
   |
|
Theorem | sinhval-named 49090 |
Value of the named sinh function. Here we show the simple conversion to
the conventional form used in set.mm, using the definition given by
df-sinh 49087. See sinhval 16196 for a theorem to convert this further. See
sinh-conventional 49093 for a justification that our
definition is the same
as the conventional definition of sinh used in other sources.
(Contributed by David A. Wheeler, 20-Apr-2015.)
|

sinh            |
|
Theorem | coshval-named 49091 |
Value of the named cosh function. Here we show the simple conversion to
the conventional form used in set.mm, using the definition given by
df-cosh 49088. See coshval 16197 for a theorem to convert this further.
(Contributed by David A. Wheeler, 10-May-2015.)
|

cosh          |
|
Theorem | tanhval-named 49092 |
Value of the named tanh function. Here we show the simple conversion to
the conventional form used in set.mm, using the definition given by
df-tanh 49089. (Contributed by David A. Wheeler,
10-May-2015.)
|

 cosh      tanh            |
|
Theorem | sinh-conventional 49093 |
Conventional definition of sinh. Here we show that the sinh definition
we're using has the same meaning as the conventional definition used in
some other sources. We choose a slightly different definition of sinh
because it has fewer operations, and thus is more convenient to manipulate
using set.mm. (Contributed by David A. Wheeler, 10-May-2015.)
|

sinh             |
|
Theorem | sinhpcosh 49094 |
Prove that sinh  cosh      using the
conventional hyperbolic trigonometric functions. (Contributed by David A.
Wheeler, 27-May-2015.)
|

 sinh  cosh         |
|
21.51.4 Reciprocal trigonometric functions
(sec, csc, cot)
Define the traditional reciprocal trigonometric functions
secant (sec), cosecant (csc), and cotangent (cos), along with
various identities involving them.
|
|
Syntax | csec 49095 |
Extend class notation to include the secant function, see df-sec 49098.
|
 |
|
Syntax | ccsc 49096 |
Extend class notation to include the cosecant function, see df-csc 49099.
|
 |
|
Syntax | ccot 49097 |
Extend class notation to include the cotangent function, see df-cot 49100.
|
 |
|
Definition | df-sec 49098* |
Define the secant function. We define it this way for cmpt 5234,
which
requires the form   . The sec
function is defined in
ISO 80000-2:2009(E) operation 2-13.6 and "NIST Digital Library of
Mathematical Functions" section on "Trigonometric
Functions"
http://dlmf.nist.gov/4.14 5234. (Contributed by David A. Wheeler,
14-Mar-2014.)
|
               |
|
Definition | df-csc 49099* |
Define the cosecant function. We define it this way for cmpt 5234,
which
requires the form   . The csc
function is defined in
ISO 80000-2:2009(E) operation 2-13.7 and "NIST Digital Library of
Mathematical Functions" section on "Trigonometric
Functions"
http://dlmf.nist.gov/4.14 5234. (Contributed by David A. Wheeler,
14-Mar-2014.)
|
               |
|
Definition | df-cot 49100* |
Define the cotangent function. We define it this way for cmpt 5234,
which
requires the form   . The cot
function is defined in
ISO 80000-2:2009(E) operation 2-13.5 and "NIST Digital Library of
Mathematical Functions" section on "Trigonometric
Functions"
http://dlmf.nist.gov/4.14 5234. (Contributed by David A. Wheeler,
14-Mar-2014.)
|
                   |