| Intuitionistic Logic Explorer Theorem List (p. 131 of 165) | < Previous Next > | |
| Browser slow? Try the
Unicode version. |
||
|
Mirrors > Metamath Home Page > ILE Home Page > Theorem List Contents > Recent Proofs This page: Page List |
||
| Type | Label | Description |
|---|---|---|
| Statement | ||
| Theorem | ctiunctlemu2nd 13001* | Lemma for ctiunct 13006. (Contributed by Jim Kingdon, 28-Oct-2023.) |
| Theorem | ctiunctlemuom 13002 | Lemma for ctiunct 13006. (Contributed by Jim Kingdon, 28-Oct-2023.) |
| Theorem | ctiunctlemudc 13003* | Lemma for ctiunct 13006. (Contributed by Jim Kingdon, 28-Oct-2023.) |
| Theorem | ctiunctlemf 13004* | Lemma for ctiunct 13006. (Contributed by Jim Kingdon, 28-Oct-2023.) |
| Theorem | ctiunctlemfo 13005* | Lemma for ctiunct 13006. (Contributed by Jim Kingdon, 28-Oct-2023.) |
| Theorem | ctiunct 13006* |
A sequence of enumerations gives an enumeration of the union. We refer
to "sequence of enumerations" rather than "countably many
countable
sets" because the hypothesis provides more than countability for
each
For "countably many countable sets" the key hypothesis would
be
Compare with the case of two sets instead of countably many, as seen at unct 13008, which says that the union of two countable sets is countable .
The proof proceeds by mapping a natural number to a pair of natural
numbers (by xpomen 12961) and using the first number to map to an
element
(Contributed by Jim Kingdon, 31-Oct-2023.) |
| Theorem | ctiunctal 13007* |
Variation of ctiunct 13006 which allows |
| Theorem | unct 13008* | The union of two countable sets is countable. Corollary 8.1.20 of [AczelRathjen], p. 75. (Contributed by Jim Kingdon, 1-Nov-2023.) |
| Theorem | omctfn 13009* | Using countable choice to find a sequence of enumerations for a collection of countable sets. Lemma 8.1.27 of [AczelRathjen], p. 77. (Contributed by Jim Kingdon, 19-Apr-2024.) |
| Theorem | omiunct 13010* | The union of a countably infinite collection of countable sets is countable. Theorem 8.1.28 of [AczelRathjen], p. 78. Compare with ctiunct 13006 which has a stronger hypothesis but does not require countable choice. (Contributed by Jim Kingdon, 5-May-2024.) |
| Theorem | ssomct 13011* |
A decidable subset of |
| Theorem | ssnnctlemct 13012* | Lemma for ssnnct 13013. The result. (Contributed by Jim Kingdon, 29-Sep-2024.) |
| Theorem | ssnnct 13013* |
A decidable subset of |
| Theorem | nninfdclemcl 13014* | Lemma for nninfdc 13019. (Contributed by Jim Kingdon, 25-Sep-2024.) |
| Theorem | nninfdclemf 13015* |
Lemma for nninfdc 13019. A function from the natural numbers into
|
| Theorem | nninfdclemp1 13016* |
Lemma for nninfdc 13019. Each element of the sequence |
| Theorem | nninfdclemlt 13017* | Lemma for nninfdc 13019. The function from nninfdclemf 13015 is strictly monotonic. (Contributed by Jim Kingdon, 24-Sep-2024.) |
| Theorem | nninfdclemf1 13018* | Lemma for nninfdc 13019. The function from nninfdclemf 13015 is one-to-one. (Contributed by Jim Kingdon, 23-Sep-2024.) |
| Theorem | nninfdc 13019* | An unbounded decidable set of positive integers is infinite. (Contributed by Jim Kingdon, 23-Sep-2024.) |
| Theorem | unbendc 13020* | An unbounded decidable set of positive integers is infinite. (Contributed by NM, 5-May-2005.) (Revised by Jim Kingdon, 30-Sep-2024.) |
| Theorem | prminf 13021 | There are an infinite number of primes. Theorem 1.7 in [ApostolNT] p. 16. (Contributed by Paul Chapman, 28-Nov-2012.) |
| Theorem | infpn2 13022* |
There exist infinitely many prime numbers: the set of all primes |
An "extensible structure" (or "structure" in short, at least in this section) is used to define a specific group, ring, poset, and so on. An extensible structure can contain many components. For example, a group will have at least two components (base set and operation), although it can be further specialized by adding other components such as a multiplicative operation for rings (and still remain a group per our definition). Thus, every ring is also a group. This extensible structure approach allows theorems from more general structures (such as groups) to be reused for more specialized structures (such as rings) without having to reprove anything. Structures are common in mathematics, but in informal (natural language) proofs the details are assumed in ways that we must make explicit.
An extensible structure is implemented as a function (a set of ordered pairs)
on a finite (and not necessarily sequential) subset of
There are many other possible ways to handle structures. We chose this
extensible structure approach because this approach (1) results in simpler
notation than other approaches we are aware of, and (2) is easier to do
proofs with. We cannot use an approach that uses "hidden"
arguments;
Metamath does not support hidden arguments, and in any case we want nothing
hidden. It would be possible to use a categorical approach (e.g., something
vaguely similar to Lean's mathlib). However, instances (the chain of proofs
that an
To create a substructure of a given extensible structure, you can simply use
the multifunction restriction operator for extensible structures
↾s as
defined in df-iress 13035. This can be used to turn statements about
rings into
statements about subrings, modules into submodules, etc. This definition
knows nothing about individual structures and merely truncates the Extensible structures only work well when they represent concrete categories, where there is a "base set", morphisms are functions, and subobjects are subsets with induced operations. In short, they primarily work well for "sets with (some) extra structure". Extensible structures may not suffice for more complicated situations. For example, in manifolds, ↾s would not work. That said, extensible structures are sufficient for many of the structures that set.mm currently considers, and offer a good compromise for a goal-oriented formalization. | ||
| Syntax | cstr 13023 |
Extend class notation with the class of structures with components
numbered below |
| Syntax | cnx 13024 | Extend class notation with the structure component index extractor. |
| Syntax | csts 13025 | Set components of a structure. |
| Syntax | cslot 13026 | Extend class notation with the slot function. |
| Syntax | cbs 13027 | Extend class notation with the class of all base set extractors. |
| Syntax | cress 13028 | Extend class notation with the extensible structure builder restriction operator. |
| Definition | df-struct 13029* |
Define a structure with components in
As mentioned in the section header, an "extensible structure should
be
implemented as a function (a set of ordered pairs)". The current
definition, however, is less restrictive: it allows for classes which
contain the empty set
Allowing an extensible structure to contain the empty set ensures that
expressions like |
| Definition | df-ndx 13030 |
Define the structure component index extractor. See Theorem ndxarg 13050 to
understand its purpose. The restriction to |
| Definition | df-slot 13031* |
Define the slot extractor for extensible structures. The class
Slot
Note that Slot
The special "structure"
The class Slot cannot be defined as
|
| Theorem | sloteq 13032 |
Equality theorem for the Slot construction. The converse holds if
|
| Definition | df-base 13033 | Define the base set (also called underlying set, ground set, carrier set, or carrier) extractor for extensible structures. (Contributed by NM, 4-Sep-2011.) (Revised by Mario Carneiro, 14-Aug-2015.) |
| Definition | df-sets 13034* | Set a component of an extensible structure. This function is useful for taking an existing structure and "overriding" one of its components. For example, df-iress 13035 adjusts the base set to match its second argument, which has the effect of making subgroups, subspaces, subrings etc. from the original structures. (Contributed by Mario Carneiro, 1-Dec-2014.) |
| Definition | df-iress 13035* |
Define a multifunction restriction operator for extensible structures,
which can be used to turn statements about rings into statements about
subrings, modules into submodules, etc. This definition knows nothing
about individual structures and merely truncates the (Credit for this operator, as well as the 2023 modification for iset.mm, goes to Mario Carneiro.) (Contributed by Stefan O'Rear, 29-Nov-2014.) (Revised by Jim Kingdon, 7-Oct-2023.) |
| Theorem | brstruct 13036 | The structure relation is a relation. (Contributed by Mario Carneiro, 29-Aug-2015.) |
| Theorem | isstruct2im 13037 |
The property of being a structure with components in
|
| Theorem | isstruct2r 13038 |
The property of being a structure with components in
|
| Theorem | structex 13039 | A structure is a set. (Contributed by AV, 10-Nov-2021.) |
| Theorem | structn0fun 13040 | A structure without the empty set is a function. (Contributed by AV, 13-Nov-2021.) |
| Theorem | isstructim 13041 |
The property of being a structure with components in |
| Theorem | isstructr 13042 |
The property of being a structure with components in |
| Theorem | structcnvcnv 13043 | Two ways to express the relational part of a structure. (Contributed by Mario Carneiro, 29-Aug-2015.) |
| Theorem | structfung 13044 | The converse of the converse of a structure is a function. Closed form of structfun 13045. (Contributed by AV, 12-Nov-2021.) |
| Theorem | structfun 13045 | Convert between two kinds of structure closure. (Contributed by Mario Carneiro, 29-Aug-2015.) (Proof shortened by AV, 12-Nov-2021.) |
| Theorem | structfn 13046 | Convert between two kinds of structure closure. (Contributed by Mario Carneiro, 29-Aug-2015.) |
| Theorem | strnfvnd 13047 | Deduction version of strnfvn 13048. (Contributed by Mario Carneiro, 15-Nov-2014.) (Revised by Jim Kingdon, 19-Jan-2023.) |
| Theorem | strnfvn 13048 |
Value of a structure component extractor Note: Normally, this theorem shouldn't be used outside of this section, because it requires hard-coded index values. Instead, use strslfv 13072. (Contributed by NM, 9-Sep-2011.) (Revised by Jim Kingdon, 19-Jan-2023.) (New usage is discouraged.) |
| Theorem | strfvssn 13049 |
A structure component extractor produces a value which is contained in a
set dependent on |
| Theorem | ndxarg 13050 | Get the numeric argument from a defined structure component extractor such as df-base 13033. (Contributed by Mario Carneiro, 6-Oct-2013.) |
| Theorem | ndxid 13051 |
A structure component extractor is defined by its own index. This
theorem, together with strslfv 13072 below, is useful for avoiding direct
reference to the hard-coded numeric index in component extractor
definitions, such as the (Contributed by NM, 19-Oct-2012.) (Revised by Mario Carneiro, 6-Oct-2013.) (Proof shortened by BJ, 27-Dec-2021.) |
| Theorem | ndxslid 13052 | A structure component extractor is defined by its own index. That the index is a natural number will also be needed in quite a few contexts so it is included in the conclusion of this theorem which can be used as a hypothesis of theorems like strslfv 13072. (Contributed by Jim Kingdon, 29-Jan-2023.) |
| Theorem | slotslfn 13053 | A slot is a function on sets, treated as structures. (Contributed by Mario Carneiro, 22-Sep-2015.) (Revised by Jim Kingdon, 10-Feb-2023.) |
| Theorem | slotex 13054 | Existence of slot value. A corollary of slotslfn 13053. (Contributed by Jim Kingdon, 12-Feb-2023.) |
| Theorem | strndxid 13055 | The value of a structure component extractor is the value of the corresponding slot of the structure. (Contributed by AV, 13-Mar-2020.) |
| Theorem | reldmsets 13056 | The structure override operator is a proper operator. (Contributed by Stefan O'Rear, 29-Jan-2015.) |
| Theorem | setsvalg 13057 | Value of the structure replacement function. (Contributed by Mario Carneiro, 30-Apr-2015.) |
| Theorem | setsvala 13058 | Value of the structure replacement function. (Contributed by Mario Carneiro, 1-Dec-2014.) (Revised by Jim Kingdon, 20-Jan-2023.) |
| Theorem | setsex 13059 | Applying the structure replacement function yields a set. (Contributed by Jim Kingdon, 22-Jan-2023.) |
| Theorem | strsetsid 13060 | Value of the structure replacement function. (Contributed by AV, 14-Mar-2020.) (Revised by Jim Kingdon, 30-Jan-2023.) |
| Theorem | fvsetsid 13061 | The value of the structure replacement function for its first argument is its second argument. (Contributed by SO, 12-Jul-2018.) |
| Theorem | setsfun 13062 | A structure with replacement is a function if the original structure is a function. (Contributed by AV, 7-Jun-2021.) |
| Theorem | setsfun0 13063 |
A structure with replacement without the empty set is a function if the
original structure without the empty set is a function. This variant of
setsfun 13062 is useful for proofs based on isstruct2r 13038 which requires
|
| Theorem | setsn0fun 13064 | The value of the structure replacement function (without the empty set) is a function if the structure (without the empty set) is a function. (Contributed by AV, 7-Jun-2021.) (Revised by AV, 16-Nov-2021.) |
| Theorem | setsresg 13065 |
The structure replacement function does not affect the value of |
| Theorem | setsabsd 13066 | Replacing the same components twice yields the same as the second setting only. (Contributed by Mario Carneiro, 2-Dec-2014.) (Revised by Jim Kingdon, 22-Jan-2023.) |
| Theorem | setscom 13067 | Different components can be set in any order. (Contributed by Mario Carneiro, 5-Dec-2014.) (Revised by Mario Carneiro, 30-Apr-2015.) |
| Theorem | setscomd 13068 | Different components can be set in any order. (Contributed by Jim Kingdon, 20-Feb-2025.) |
| Theorem | strslfvd 13069 | Deduction version of strslfv 13072. (Contributed by Mario Carneiro, 15-Nov-2014.) (Revised by Jim Kingdon, 30-Jan-2023.) |
| Theorem | strslfv2d 13070 | Deduction version of strslfv 13072. (Contributed by Mario Carneiro, 30-Apr-2015.) (Revised by Jim Kingdon, 30-Jan-2023.) |
| Theorem | strslfv2 13071 |
A variation on strslfv 13072 to avoid asserting that |
| Theorem | strslfv 13072 |
Extract a structure component |
| Theorem | strslfv3 13073 | Variant on strslfv 13072 for large structures. (Contributed by Mario Carneiro, 10-Jan-2017.) (Revised by Jim Kingdon, 30-Jan-2023.) |
| Theorem | strslssd 13074 | Deduction version of strslss 13075. (Contributed by Mario Carneiro, 15-Nov-2014.) (Revised by Mario Carneiro, 30-Apr-2015.) (Revised by Jim Kingdon, 31-Jan-2023.) |
| Theorem | strslss 13075 |
Propagate component extraction to a structure |
| Theorem | strsl0 13076 | All components of the empty set are empty sets. (Contributed by Stefan O'Rear, 27-Nov-2014.) (Revised by Jim Kingdon, 31-Jan-2023.) |
| Theorem | base0 13077 | The base set of the empty structure. (Contributed by David A. Wheeler, 7-Jul-2016.) |
| Theorem | setsslid 13078 | Value of the structure replacement function at a replaced index. (Contributed by Mario Carneiro, 1-Dec-2014.) (Revised by Jim Kingdon, 24-Jan-2023.) |
| Theorem | setsslnid 13079 | Value of the structure replacement function at an untouched index. (Contributed by Mario Carneiro, 1-Dec-2014.) (Revised by Jim Kingdon, 24-Jan-2023.) |
| Theorem | baseval 13080 |
Value of the base set extractor. (Normally it is preferred to work with
|
| Theorem | baseid 13081 | Utility theorem: index-independent form of df-base 13033. (Contributed by NM, 20-Oct-2012.) |
| Theorem | basendx 13082 |
Index value of the base set extractor.
Use of this theorem is discouraged since the particular value The main circumstance in which it is necessary to look at indices directly is when showing that a set of indices are disjoint, in proofs such as lmodstrd 13192. Although we have a few theorems such as basendxnplusgndx 13153, we do not intend to add such theorems for every pair of indices (which would be quadradically many in the number of indices). (New usage is discouraged.) (Contributed by Mario Carneiro, 2-Aug-2013.) |
| Theorem | basendxnn 13083 | The index value of the base set extractor is a positive integer. This property should be ensured for every concrete coding because otherwise it could not be used in an extensible structure (slots must be positive integers). (Contributed by AV, 23-Sep-2020.) |
| Theorem | bassetsnn 13084 | The pair of the base index and another index is a subset of the domain of the structure obtained by replacing/adding a slot at the other index in a structure having a base slot. (Contributed by AV, 7-Jun-2021.) (Revised by AV, 16-Nov-2021.) |
| Theorem | baseslid 13085 | The base set extractor is a slot. (Contributed by Jim Kingdon, 31-Jan-2023.) |
| Theorem | basfn 13086 |
The base set extractor is a function on |
| Theorem | basmex 13087 | A structure whose base is inhabited is a set. (Contributed by Jim Kingdon, 18-Nov-2024.) |
| Theorem | basmexd 13088 | A structure whose base is inhabited is a set. (Contributed by Jim Kingdon, 28-Nov-2024.) |
| Theorem | basm 13089* | A structure whose base is inhabited is inhabited. (Contributed by Jim Kingdon, 14-Jun-2025.) |
| Theorem | relelbasov 13090 | Utility theorem: reverse closure for any structure defined as a two-argument function. (Contributed by Mario Carneiro, 3-Oct-2015.) |
| Theorem | reldmress 13091 | The structure restriction is a proper operator, so it can be used with ovprc1 6037. (Contributed by Stefan O'Rear, 29-Nov-2014.) |
| Theorem | ressvalsets 13092 | Value of structure restriction. (Contributed by Jim Kingdon, 16-Jan-2025.) |
| Theorem | ressex 13093 | Existence of structure restriction. (Contributed by Jim Kingdon, 16-Jan-2025.) |
| Theorem | ressval2 13094 | Value of nontrivial structure restriction. (Contributed by Stefan O'Rear, 29-Nov-2014.) |
| Theorem | ressbasd 13095 | Base set of a structure restriction. (Contributed by Stefan O'Rear, 26-Nov-2014.) (Proof shortened by AV, 7-Nov-2024.) |
| Theorem | ressbas2d 13096 | Base set of a structure restriction. (Contributed by Mario Carneiro, 2-Dec-2014.) |
| Theorem | ressbasssd 13097 | The base set of a restriction is a subset of the base set of the original structure. (Contributed by Stefan O'Rear, 27-Nov-2014.) (Revised by Mario Carneiro, 30-Apr-2015.) |
| Theorem | ressbasid 13098 | The trivial structure restriction leaves the base set unchanged. (Contributed by Jim Kingdon, 29-Apr-2025.) |
| Theorem | strressid 13099 | Behavior of trivial restriction. (Contributed by Stefan O'Rear, 29-Nov-2014.) (Revised by Jim Kingdon, 17-Jan-2025.) |
| Theorem | ressval3d 13100 | Value of structure restriction, deduction version. (Contributed by AV, 14-Mar-2020.) (Revised by Jim Kingdon, 17-Jan-2025.) |
| < Previous Next > |
| Copyright terms: Public domain | < Previous Next > |