Home | Intuitionistic Logic Explorer Theorem List (p. 125 of 142) | < 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 | ssnnctlemct 12401* | Lemma for ssnnct 12402. The result. (Contributed by Jim Kingdon, 29-Sep-2024.) |
frec DECID ⊔ | ||
Theorem | ssnnct 12402* | A decidable subset of is countable. (Contributed by Jim Kingdon, 29-Sep-2024.) |
DECID ⊔ | ||
Theorem | nninfdclemcl 12403* | Lemma for nninfdc 12408. (Contributed by Jim Kingdon, 25-Sep-2024.) |
DECID inf | ||
Theorem | nninfdclemf 12404* | Lemma for nninfdc 12408. A function from the natural numbers into . (Contributed by Jim Kingdon, 23-Sep-2024.) |
DECID inf | ||
Theorem | nninfdclemp1 12405* | Lemma for nninfdc 12408. Each element of the sequence is greater than the previous element. (Contributed by Jim Kingdon, 26-Sep-2024.) |
DECID inf | ||
Theorem | nninfdclemlt 12406* | Lemma for nninfdc 12408. The function from nninfdclemf 12404 is strictly monotonic. (Contributed by Jim Kingdon, 24-Sep-2024.) |
DECID inf | ||
Theorem | nninfdclemf1 12407* | Lemma for nninfdc 12408. The function from nninfdclemf 12404 is one-to-one. (Contributed by Jim Kingdon, 23-Sep-2024.) |
DECID inf | ||
Theorem | nninfdc 12408* | An unbounded decidable set of positive integers is infinite. (Contributed by Jim Kingdon, 23-Sep-2024.) |
DECID | ||
Theorem | unbendc 12409* | An unbounded decidable set of positive integers is infinite. (Contributed by NM, 5-May-2005.) (Revised by Jim Kingdon, 30-Sep-2024.) |
DECID | ||
Theorem | prminf 12410 | There are an infinite number of primes. Theorem 1.7 in [ApostolNT] p. 16. (Contributed by Paul Chapman, 28-Nov-2012.) |
Theorem | infpn2 12411* | There exist infinitely many prime numbers: the set of all primes is unbounded by infpn 12313, so by unbendc 12409 it is infinite. This is Metamath 100 proof #11. (Contributed by NM, 5-May-2005.) |
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 . The function's argument is the index of a structure component (such as for the base set of a group), and its value is the component (such as the base set). By convention, we normally avoid direct reference to the hard-coded numeric index and instead use structure component extractors such as ndxid 12440 and strslfv 12460. Using extractors makes it easier to change numeric indices and also makes the components' purpose clearer. See the comment of basendx 12470 for more details on numeric indices versus the structure component extractors. 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 is a via a bunch of forgetful functors) can cause serious performance problems for automated tooling, and the resulting proofs would be painful to look at directly (in the case of Lean, they are long past the level where people would find it acceptable to look at them directly). Metamath is working under much stricter conditions than this, and it has still managed to achieve about the same level of flexibility through this "extensible structure" approach. 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-ress 12424. 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 set while leaving operators alone. Individual kinds of structures will need to handle this behavior by ignoring operators' values outside the range, defining a function using the base set and applying that, or explicitly truncating the slot before use. 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 12412 | Extend class notation with the class of structures with components numbered below . |
Struct | ||
Syntax | cnx 12413 | Extend class notation with the structure component index extractor. |
Syntax | csts 12414 | Set components of a structure. |
sSet | ||
Syntax | cslot 12415 | Extend class notation with the slot function. |
Slot | ||
Syntax | cbs 12416 | Extend class notation with the class of all base set extractors. |
Syntax | cress 12417 | Extend class notation with the extensible structure builder restriction operator. |
↾s | ||
Definition | df-struct 12418* |
Define a structure with components in . This is
not a
requirement for groups, posets, etc., but it is a useful assumption for
component extraction theorems.
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 to be extensible structures. Because of 0nelfun 5216, such classes cannot be functions. Without the empty set, however, a structure must be a function, see structn0fun 12429: Struct . Allowing an extensible structure to contain the empty set ensures that expressions like are structures without asserting or implying that , , and are sets (if or is a proper class, then , see opprc 3786). (Contributed by Mario Carneiro, 29-Aug-2015.) |
Struct | ||
Definition | df-ndx 12419 | Define the structure component index extractor. See Theorem ndxarg 12439 to understand its purpose. The restriction to ensures that is a set. The restriction to some set is necessary since is a proper class. In principle, we could have chosen or (if we revise all structure component definitions such as df-base 12422) another set such as the set of finite ordinals (df-iom 4575). (Contributed by NM, 4-Sep-2011.) |
Definition | df-slot 12420* |
Define the slot extractor for extensible structures. The class
Slot is a
function whose argument can be any set, although it is
meaningful only if that set is a member of an extensible structure (such
as a partially ordered set or a group).
Note that Slot is implemented as "evaluation at ". That is, Slot is defined to be , where will typically be a small nonzero natural number. Each extensible structure is a function defined on specific natural number "slots", and this function extracts the value at a particular slot. The special "structure" , defined as the identity function restricted to , can be used to extract the number from a slot, since Slot (see ndxarg 12439). This is typically used to refer to the number of a slot when defining structures without having to expose the detail of what that number is (for instance, we use the expression in theorems and proofs instead of its value 1). The class Slot cannot be defined as because each Slot is a function on the proper class so is itself a proper class, and the values of functions are sets (fvex 5516). It is necessary to allow proper classes as values of Slot since for instance the class of all (base sets of) groups is proper. (Contributed by Mario Carneiro, 22-Sep-2015.) |
Slot | ||
Theorem | sloteq 12421 | Equality theorem for the Slot construction. The converse holds if (or ) is a set. (Contributed by BJ, 27-Dec-2021.) |
Slot Slot | ||
Definition | df-base 12422 | 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.) |
Slot | ||
Definition | df-sets 12423* | 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-ress 12424 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.) |
sSet | ||
Definition | df-ress 12424* |
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 set while
leaving operators alone; individual kinds of structures will need to
handle this behavior, by ignoring operators' values outside the range,
defining a function using the base set and applying that, or explicitly
truncating the slot before use.
(Credit for this operator goes to Mario Carneiro.) (Contributed by Stefan O'Rear, 29-Nov-2014.) |
↾s sSet | ||
Theorem | brstruct 12425 | The structure relation is a relation. (Contributed by Mario Carneiro, 29-Aug-2015.) |
Struct | ||
Theorem | isstruct2im 12426 | The property of being a structure with components in . (Contributed by Mario Carneiro, 29-Aug-2015.) (Revised by Jim Kingdon, 18-Jan-2023.) |
Struct | ||
Theorem | isstruct2r 12427 | The property of being a structure with components in . (Contributed by Mario Carneiro, 29-Aug-2015.) (Revised by Jim Kingdon, 18-Jan-2023.) |
Struct | ||
Theorem | structex 12428 | A structure is a set. (Contributed by AV, 10-Nov-2021.) |
Struct | ||
Theorem | structn0fun 12429 | A structure without the empty set is a function. (Contributed by AV, 13-Nov-2021.) |
Struct | ||
Theorem | isstructim 12430 | The property of being a structure with components in . (Contributed by Mario Carneiro, 29-Aug-2015.) (Revised by Jim Kingdon, 18-Jan-2023.) |
Struct | ||
Theorem | isstructr 12431 | The property of being a structure with components in . (Contributed by Mario Carneiro, 29-Aug-2015.) (Revised by Jim Kingdon, 18-Jan-2023.) |
Struct | ||
Theorem | structcnvcnv 12432 | Two ways to express the relational part of a structure. (Contributed by Mario Carneiro, 29-Aug-2015.) |
Struct | ||
Theorem | structfung 12433 | The converse of the converse of a structure is a function. Closed form of structfun 12434. (Contributed by AV, 12-Nov-2021.) |
Struct | ||
Theorem | structfun 12434 | Convert between two kinds of structure closure. (Contributed by Mario Carneiro, 29-Aug-2015.) (Proof shortened by AV, 12-Nov-2021.) |
Struct | ||
Theorem | structfn 12435 | Convert between two kinds of structure closure. (Contributed by Mario Carneiro, 29-Aug-2015.) |
Struct | ||
Theorem | strnfvnd 12436 | Deduction version of strnfvn 12437. (Contributed by Mario Carneiro, 15-Nov-2014.) (Revised by Jim Kingdon, 19-Jan-2023.) |
Slot | ||
Theorem | strnfvn 12437 |
Value of a structure component extractor . Normally, is a
defined constant symbol such as (df-base 12422) and is a
fixed integer such as . is a
structure, i.e. a specific
member of a class of structures.
Note: Normally, this theorem shouldn't be used outside of this section, because it requires hard-coded index values. Instead, use strslfv 12460. (Contributed by NM, 9-Sep-2011.) (Revised by Jim Kingdon, 19-Jan-2023.) (New usage is discouraged.) |
Slot | ||
Theorem | strfvssn 12438 | A structure component extractor produces a value which is contained in a set dependent on , but not . This is sometimes useful for showing sethood. (Contributed by Mario Carneiro, 15-Aug-2015.) (Revised by Jim Kingdon, 19-Jan-2023.) |
Slot | ||
Theorem | ndxarg 12439 | Get the numeric argument from a defined structure component extractor such as df-base 12422. (Contributed by Mario Carneiro, 6-Oct-2013.) |
Slot | ||
Theorem | ndxid 12440 |
A structure component extractor is defined by its own index. This
theorem, together with strslfv 12460 below, is useful for avoiding direct
reference to the hard-coded numeric index in component extractor
definitions, such as the in df-base 12422, making it easier to change
should the need arise.
(Contributed by NM, 19-Oct-2012.) (Revised by Mario Carneiro, 6-Oct-2013.) (Proof shortened by BJ, 27-Dec-2021.) |
Slot Slot | ||
Theorem | ndxslid 12441 | 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 12460. (Contributed by Jim Kingdon, 29-Jan-2023.) |
Slot Slot | ||
Theorem | slotslfn 12442 | A slot is a function on sets, treated as structures. (Contributed by Mario Carneiro, 22-Sep-2015.) (Revised by Jim Kingdon, 10-Feb-2023.) |
Slot | ||
Theorem | slotex 12443 | Existence of slot value. A corollary of slotslfn 12442. (Contributed by Jim Kingdon, 12-Feb-2023.) |
Slot | ||
Theorem | strndxid 12444 | The value of a structure component extractor is the value of the corresponding slot of the structure. (Contributed by AV, 13-Mar-2020.) |
Slot | ||
Theorem | reldmsets 12445 | The structure override operator is a proper operator. (Contributed by Stefan O'Rear, 29-Jan-2015.) |
sSet | ||
Theorem | setsvalg 12446 | Value of the structure replacement function. (Contributed by Mario Carneiro, 30-Apr-2015.) |
sSet | ||
Theorem | setsvala 12447 | Value of the structure replacement function. (Contributed by Mario Carneiro, 1-Dec-2014.) (Revised by Jim Kingdon, 20-Jan-2023.) |
sSet | ||
Theorem | setsex 12448 | Applying the structure replacement function yields a set. (Contributed by Jim Kingdon, 22-Jan-2023.) |
sSet | ||
Theorem | strsetsid 12449 | Value of the structure replacement function. (Contributed by AV, 14-Mar-2020.) (Revised by Jim Kingdon, 30-Jan-2023.) |
Slot Struct sSet | ||
Theorem | fvsetsid 12450 | The value of the structure replacement function for its first argument is its second argument. (Contributed by SO, 12-Jul-2018.) |
sSet | ||
Theorem | setsfun 12451 | A structure with replacement is a function if the original structure is a function. (Contributed by AV, 7-Jun-2021.) |
sSet | ||
Theorem | setsfun0 12452 | 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 12451 is useful for proofs based on isstruct2r 12427 which requires for to be an extensible structure. (Contributed by AV, 7-Jun-2021.) |
sSet | ||
Theorem | setsn0fun 12453 | 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.) |
Struct sSet | ||
Theorem | setsresg 12454 | The structure replacement function does not affect the value of away from . (Contributed by Mario Carneiro, 1-Dec-2014.) (Revised by Jim Kingdon, 22-Jan-2023.) |
sSet | ||
Theorem | setsabsd 12455 | 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.) |
sSet sSet sSet | ||
Theorem | setscom 12456 | Component-setting is commutative when the x-values are different. (Contributed by Mario Carneiro, 5-Dec-2014.) (Revised by Mario Carneiro, 30-Apr-2015.) |
sSet sSet sSet sSet | ||
Theorem | strslfvd 12457 | Deduction version of strslfv 12460. (Contributed by Mario Carneiro, 15-Nov-2014.) (Revised by Jim Kingdon, 30-Jan-2023.) |
Slot | ||
Theorem | strslfv2d 12458 | Deduction version of strslfv 12460. (Contributed by Mario Carneiro, 30-Apr-2015.) (Revised by Jim Kingdon, 30-Jan-2023.) |
Slot | ||
Theorem | strslfv2 12459 | A variation on strslfv 12460 to avoid asserting that itself is a function, which involves sethood of all the ordered pair components of . (Contributed by Mario Carneiro, 30-Apr-2015.) (Revised by Jim Kingdon, 30-Jan-2023.) |
Slot | ||
Theorem | strslfv 12460 | Extract a structure component (such as the base set) from a structure with a component extractor (such as the base set extractor df-base 12422). By virtue of ndxslid 12441, this can be done without having to refer to the hard-coded numeric index of . (Contributed by Mario Carneiro, 6-Oct-2013.) (Revised by Jim Kingdon, 30-Jan-2023.) |
Struct Slot | ||
Theorem | strslfv3 12461 | Variant on strslfv 12460 for large structures. (Contributed by Mario Carneiro, 10-Jan-2017.) (Revised by Jim Kingdon, 30-Jan-2023.) |
Struct Slot | ||
Theorem | strslssd 12462 | Deduction version of strslss 12463. (Contributed by Mario Carneiro, 15-Nov-2014.) (Revised by Mario Carneiro, 30-Apr-2015.) (Revised by Jim Kingdon, 31-Jan-2023.) |
Slot | ||
Theorem | strslss 12463 | Propagate component extraction to a structure from a subset structure . (Contributed by Mario Carneiro, 11-Oct-2013.) (Revised by Jim Kingdon, 31-Jan-2023.) |
Slot | ||
Theorem | strsl0 12464 | All components of the empty set are empty sets. (Contributed by Stefan O'Rear, 27-Nov-2014.) (Revised by Jim Kingdon, 31-Jan-2023.) |
Slot | ||
Theorem | base0 12465 | The base set of the empty structure. (Contributed by David A. Wheeler, 7-Jul-2016.) |
Theorem | setsslid 12466 | Value of the structure replacement function at a replaced index. (Contributed by Mario Carneiro, 1-Dec-2014.) (Revised by Jim Kingdon, 24-Jan-2023.) |
Slot sSet | ||
Theorem | setsslnid 12467 | Value of the structure replacement function at an untouched index. (Contributed by Mario Carneiro, 1-Dec-2014.) (Revised by Jim Kingdon, 24-Jan-2023.) |
Slot sSet | ||
Theorem | baseval 12468 | Value of the base set extractor. (Normally it is preferred to work with rather than the hard-coded in order to make structure theorems portable. This is an example of how to obtain it when needed.) (New usage is discouraged.) (Contributed by NM, 4-Sep-2011.) |
Theorem | baseid 12469 | Utility theorem: index-independent form of df-base 12422. (Contributed by NM, 20-Oct-2012.) |
Slot | ||
Theorem | basendx 12470 |
Index value of the base set extractor.
Use of this theorem is discouraged since the particular value for the index is an implementation detail. It is generally sufficient to work with and use theorems such as baseid 12469 and basendxnn 12471. 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 12551. Although we have a few theorems such as basendxnplusgndx 12524, 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 12471 | 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 | baseslid 12472 | The base set extractor is a slot. (Contributed by Jim Kingdon, 31-Jan-2023.) |
Slot | ||
Theorem | basfn 12473 | The base set extractor is a function on . (Contributed by Stefan O'Rear, 8-Jul-2015.) |
Theorem | basmex 12474 | A structure whose base is inhabited is a set. (Contributed by Jim Kingdon, 18-Nov-2024.) |
Theorem | basmexd 12475 | A structure whose base is inhabited is a set. (Contributed by Jim Kingdon, 28-Nov-2024.) |
Theorem | reldmress 12476 | The structure restriction is a proper operator, so it can be used with ovprc1 5889. (Contributed by Stefan O'Rear, 29-Nov-2014.) |
↾s | ||
Theorem | ressid2 12477 | General behavior of trivial restriction. (Contributed by Stefan O'Rear, 29-Nov-2014.) (Revised by Jim Kingdon, 26-Jan-2023.) |
↾s | ||
Theorem | ressval2 12478 | Value of nontrivial structure restriction. (Contributed by Stefan O'Rear, 29-Nov-2014.) |
↾s sSet | ||
Theorem | ressid 12479 | Behavior of trivial restriction. (Contributed by Stefan O'Rear, 29-Nov-2014.) |
↾s | ||
Syntax | cplusg 12480 | Extend class notation with group (addition) operation. |
Syntax | cmulr 12481 | Extend class notation with ring multiplication. |
Syntax | cstv 12482 | Extend class notation with involution. |
Syntax | csca 12483 | Extend class notation with scalar field. |
Scalar | ||
Syntax | cvsca 12484 | Extend class notation with scalar product. |
Syntax | cip 12485 | Extend class notation with Hermitian form (inner product). |
Syntax | cts 12486 | Extend class notation with the topology component of a topological space. |
TopSet | ||
Syntax | cple 12487 | Extend class notation with "less than or equal to" for posets. |
Syntax | coc 12488 | Extend class notation with the class of orthocomplementation extractors. |
Syntax | cds 12489 | Extend class notation with the metric space distance function. |
Syntax | cunif 12490 | Extend class notation with the uniform structure. |
Syntax | chom 12491 | Extend class notation with the hom-set structure. |
Syntax | cco 12492 | Extend class notation with the composition operation. |
comp | ||
Definition | df-plusg 12493 | Define group operation. (Contributed by NM, 4-Sep-2011.) (Revised by Mario Carneiro, 14-Aug-2015.) |
Slot | ||
Definition | df-mulr 12494 | Define ring multiplication. (Contributed by NM, 4-Sep-2011.) (Revised by Mario Carneiro, 14-Aug-2015.) |
Slot | ||
Definition | df-starv 12495 | Define the involution function of a *-ring. (Contributed by NM, 4-Sep-2011.) (Revised by Mario Carneiro, 14-Aug-2015.) |
Slot | ||
Definition | df-sca 12496 | Define scalar field component of a vector space . (Contributed by NM, 4-Sep-2011.) (Revised by Mario Carneiro, 14-Aug-2015.) |
Scalar Slot | ||
Definition | df-vsca 12497 | Define scalar product. (Contributed by NM, 4-Sep-2011.) (Revised by Mario Carneiro, 14-Aug-2015.) |
Slot | ||
Definition | df-ip 12498 | Define Hermitian form (inner product). (Contributed by NM, 4-Sep-2011.) (Revised by Mario Carneiro, 14-Aug-2015.) |
Slot | ||
Definition | df-tset 12499 | Define the topology component of a topological space (structure). (Contributed by NM, 4-Sep-2011.) (Revised by Mario Carneiro, 14-Aug-2015.) |
TopSet Slot | ||
Definition | df-ple 12500 | Define "less than or equal to" ordering extractor for posets and related structures. We use ; for the index to avoid conflict with through used for other purposes. (Contributed by NM, 4-Sep-2011.) (Revised by Mario Carneiro, 14-Aug-2015.) (Revised by AV, 9-Sep-2021.) |
Slot ; |
< Previous Next > |
Copyright terms: Public domain | < Previous Next > |