| Intuitionistic Logic Explorer Theorem List (p. 134 of 171) | < 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 | enctlem 13301* | Lemma for enct 13302. One direction of the biconditional. (Contributed by Jim Kingdon, 23-Dec-2023.) |
| Theorem | enct 13302* | Countability is invariant relative to equinumerosity. (Contributed by Jim Kingdon, 23-Dec-2023.) |
| Theorem | ctiunctlemu1st 13303* | Lemma for ctiunct 13309. (Contributed by Jim Kingdon, 28-Oct-2023.) |
| Theorem | ctiunctlemu2nd 13304* | Lemma for ctiunct 13309. (Contributed by Jim Kingdon, 28-Oct-2023.) |
| Theorem | ctiunctlemuom 13305 | Lemma for ctiunct 13309. (Contributed by Jim Kingdon, 28-Oct-2023.) |
| Theorem | ctiunctlemudc 13306* | Lemma for ctiunct 13309. (Contributed by Jim Kingdon, 28-Oct-2023.) |
| Theorem | ctiunctlemf 13307* | Lemma for ctiunct 13309. (Contributed by Jim Kingdon, 28-Oct-2023.) |
| Theorem | ctiunctlemfo 13308* | Lemma for ctiunct 13309. (Contributed by Jim Kingdon, 28-Oct-2023.) |
| Theorem | ctiunct 13309* |
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 13311, 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 13264) and using the first number to map to an
element
(Contributed by Jim Kingdon, 31-Oct-2023.) |
| Theorem | ctiunctal 13310* |
Variation of ctiunct 13309 which allows |
| Theorem | unct 13311* | 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 13312* | 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 13313* | The union of a countably infinite collection of countable sets is countable. Theorem 8.1.28 of [AczelRathjen], p. 78. Compare with ctiunct 13309 which has a stronger hypothesis but does not require countable choice. (Contributed by Jim Kingdon, 5-May-2024.) |
| Theorem | ssomct 13314* |
A decidable subset of |
| Theorem | ssnnctlemct 13315* | Lemma for ssnnct 13316. The result. (Contributed by Jim Kingdon, 29-Sep-2024.) |
| Theorem | ssnnct 13316* |
A decidable subset of |
| Theorem | nninfdclemcl 13317* | Lemma for nninfdc 13322. (Contributed by Jim Kingdon, 25-Sep-2024.) |
| Theorem | nninfdclemf 13318* |
Lemma for nninfdc 13322. A function from the natural numbers into
|
| Theorem | nninfdclemp1 13319* |
Lemma for nninfdc 13322. Each element of the sequence |
| Theorem | nninfdclemlt 13320* | Lemma for nninfdc 13322. The function from nninfdclemf 13318 is strictly monotonic. (Contributed by Jim Kingdon, 24-Sep-2024.) |
| Theorem | nninfdclemf1 13321* | Lemma for nninfdc 13322. The function from nninfdclemf 13318 is one-to-one. (Contributed by Jim Kingdon, 23-Sep-2024.) |
| Theorem | nninfdc 13322* | An unbounded decidable set of positive integers is infinite. (Contributed by Jim Kingdon, 23-Sep-2024.) |
| Theorem | unbendc 13323* | An unbounded decidable set of positive integers is infinite. (Contributed by NM, 5-May-2005.) (Revised by Jim Kingdon, 30-Sep-2024.) |
| Theorem | prminf 13324 | There are an infinite number of primes. Theorem 1.7 in [ApostolNT] p. 16. (Contributed by Paul Chapman, 28-Nov-2012.) |
| Theorem | infpn2 13325* |
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 13338. 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 13326 |
Extend class notation with the class of structures with components
numbered below |
| Syntax | cnx 13327 | Extend class notation with the structure component index extractor. |
| Syntax | csts 13328 | Set components of a structure. |
| Syntax | cslot 13329 | Extend class notation with the slot function. |
| Syntax | cbs 13330 | Extend class notation with the class of all base set extractors. |
| Syntax | cress 13331 | Extend class notation with the extensible structure builder restriction operator. |
| Definition | df-struct 13332* |
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 13333 |
Define the structure component index extractor. See Theorem ndxarg 13353 to
understand its purpose. The restriction to |
| Definition | df-slot 13334* |
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 13335 |
Equality theorem for the Slot construction. The converse holds if
|
| Definition | df-base 13336 | 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 13337* | 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 13338 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 13338* |
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 13339 | The structure relation is a relation. (Contributed by Mario Carneiro, 29-Aug-2015.) |
| Theorem | isstruct2im 13340 |
The property of being a structure with components in
|
| Theorem | isstruct2r 13341 |
The property of being a structure with components in
|
| Theorem | structex 13342 | A structure is a set. (Contributed by AV, 10-Nov-2021.) |
| Theorem | structn0fun 13343 | A structure without the empty set is a function. (Contributed by AV, 13-Nov-2021.) |
| Theorem | isstructim 13344 |
The property of being a structure with components in |
| Theorem | isstructr 13345 |
The property of being a structure with components in |
| Theorem | structcnvcnv 13346 | Two ways to express the relational part of a structure. (Contributed by Mario Carneiro, 29-Aug-2015.) |
| Theorem | structfung 13347 | The converse of the converse of a structure is a function. Closed form of structfun 13348. (Contributed by AV, 12-Nov-2021.) |
| Theorem | structfun 13348 | Convert between two kinds of structure closure. (Contributed by Mario Carneiro, 29-Aug-2015.) (Proof shortened by AV, 12-Nov-2021.) |
| Theorem | structfn 13349 | Convert between two kinds of structure closure. (Contributed by Mario Carneiro, 29-Aug-2015.) |
| Theorem | strnfvnd 13350 | Deduction version of strnfvn 13351. (Contributed by Mario Carneiro, 15-Nov-2014.) (Revised by Jim Kingdon, 19-Jan-2023.) |
| Theorem | strnfvn 13351 |
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 13375. (Contributed by NM, 9-Sep-2011.) (Revised by Jim Kingdon, 19-Jan-2023.) (New usage is discouraged.) |
| Theorem | strfvssn 13352 |
A structure component extractor produces a value which is contained in a
set dependent on |
| Theorem | ndxarg 13353 | Get the numeric argument from a defined structure component extractor such as df-base 13336. (Contributed by Mario Carneiro, 6-Oct-2013.) |
| Theorem | ndxid 13354 |
A structure component extractor is defined by its own index. This
theorem, together with strslfv 13375 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 13355 | 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 13375. (Contributed by Jim Kingdon, 29-Jan-2023.) |
| Theorem | slotslfn 13356 | 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 13357 | Existence of slot value. A corollary of slotslfn 13356. (Contributed by Jim Kingdon, 12-Feb-2023.) |
| Theorem | strndxid 13358 | 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 13359 | The structure override operator is a proper operator. (Contributed by Stefan O'Rear, 29-Jan-2015.) |
| Theorem | setsvalg 13360 | Value of the structure replacement function. (Contributed by Mario Carneiro, 30-Apr-2015.) |
| Theorem | setsvala 13361 | Value of the structure replacement function. (Contributed by Mario Carneiro, 1-Dec-2014.) (Revised by Jim Kingdon, 20-Jan-2023.) |
| Theorem | setsex 13362 | Applying the structure replacement function yields a set. (Contributed by Jim Kingdon, 22-Jan-2023.) |
| Theorem | strsetsid 13363 | Value of the structure replacement function. (Contributed by AV, 14-Mar-2020.) (Revised by Jim Kingdon, 30-Jan-2023.) |
| Theorem | fvsetsid 13364 | The value of the structure replacement function for its first argument is its second argument. (Contributed by SO, 12-Jul-2018.) |
| Theorem | setsfun 13365 | A structure with replacement is a function if the original structure is a function. (Contributed by AV, 7-Jun-2021.) |
| Theorem | setsfun0 13366 |
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 13365 is useful for proofs based on isstruct2r 13341 which requires
|
| Theorem | setsn0fun 13367 | 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 13368 |
The structure replacement function does not affect the value of |
| Theorem | setsabsd 13369 | 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 13370 | Different components can be set in any order. (Contributed by Mario Carneiro, 5-Dec-2014.) (Revised by Mario Carneiro, 30-Apr-2015.) |
| Theorem | setscomd 13371 | Different components can be set in any order. (Contributed by Jim Kingdon, 20-Feb-2025.) |
| Theorem | strslfvd 13372 | Deduction version of strslfv 13375. (Contributed by Mario Carneiro, 15-Nov-2014.) (Revised by Jim Kingdon, 30-Jan-2023.) |
| Theorem | strslfv2d 13373 | Deduction version of strslfv 13375. (Contributed by Mario Carneiro, 30-Apr-2015.) (Revised by Jim Kingdon, 30-Jan-2023.) |
| Theorem | strslfv2 13374 |
A variation on strslfv 13375 to avoid asserting that |
| Theorem | strslfv 13375 |
Extract a structure component |
| Theorem | strslfv3 13376 | Variant on strslfv 13375 for large structures. (Contributed by Mario Carneiro, 10-Jan-2017.) (Revised by Jim Kingdon, 30-Jan-2023.) |
| Theorem | strslssd 13377 | Deduction version of strslss 13378. (Contributed by Mario Carneiro, 15-Nov-2014.) (Revised by Mario Carneiro, 30-Apr-2015.) (Revised by Jim Kingdon, 31-Jan-2023.) |
| Theorem | strslss 13378 |
Propagate component extraction to a structure |
| Theorem | strsl0 13379 | 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 13380 | The base set of the empty structure. (Contributed by David A. Wheeler, 7-Jul-2016.) |
| Theorem | setsslid 13381 | 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 13382 | 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 13383 |
Value of the base set extractor. (Normally it is preferred to work with
|
| Theorem | baseid 13384 | Utility theorem: index-independent form of df-base 13336. (Contributed by NM, 20-Oct-2012.) |
| Theorem | basendx 13385 |
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 13495. Although we have a few theorems such as basendxnplusgndx 13456, 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 13386 | 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 13387 | 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 13388 | The base set extractor is a slot. (Contributed by Jim Kingdon, 31-Jan-2023.) |
| Theorem | basfn 13389 |
The base set extractor is a function on |
| Theorem | basmex 13390 | A structure whose base is inhabited is a set. (Contributed by Jim Kingdon, 18-Nov-2024.) |
| Theorem | basmexd 13391 | A structure whose base is inhabited is a set. (Contributed by Jim Kingdon, 28-Nov-2024.) |
| Theorem | basm 13392* | A structure whose base is inhabited is inhabited. (Contributed by Jim Kingdon, 14-Jun-2025.) |
| Theorem | relelbasov 13393 | Utility theorem: reverse closure for any structure defined as a two-argument function. (Contributed by Mario Carneiro, 3-Oct-2015.) |
| Theorem | reldmress 13394 | The structure restriction is a proper operator, so it can be used with ovprc1 6112. (Contributed by Stefan O'Rear, 29-Nov-2014.) |
| Theorem | ressvalsets 13395 | Value of structure restriction. (Contributed by Jim Kingdon, 16-Jan-2025.) |
| Theorem | ressex 13396 | Existence of structure restriction. (Contributed by Jim Kingdon, 16-Jan-2025.) |
| Theorem | ressval2 13397 | Value of nontrivial structure restriction. (Contributed by Stefan O'Rear, 29-Nov-2014.) |
| Theorem | ressbasd 13398 | Base set of a structure restriction. (Contributed by Stefan O'Rear, 26-Nov-2014.) (Proof shortened by AV, 7-Nov-2024.) |
| Theorem | ressbas2d 13399 | Base set of a structure restriction. (Contributed by Mario Carneiro, 2-Dec-2014.) |
| Theorem | ressbasssd 13400 | 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.) |
| < Previous Next > |
| Copyright terms: Public domain | < Previous Next > |