| Intuitionistic Logic Explorer Theorem List (p. 130 of 162) | < 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 | ssomct 12901* |
A decidable subset of |
| Theorem | ssnnctlemct 12902* | Lemma for ssnnct 12903. The result. (Contributed by Jim Kingdon, 29-Sep-2024.) |
| Theorem | ssnnct 12903* |
A decidable subset of |
| Theorem | nninfdclemcl 12904* | Lemma for nninfdc 12909. (Contributed by Jim Kingdon, 25-Sep-2024.) |
| Theorem | nninfdclemf 12905* |
Lemma for nninfdc 12909. A function from the natural numbers into
|
| Theorem | nninfdclemp1 12906* |
Lemma for nninfdc 12909. Each element of the sequence |
| Theorem | nninfdclemlt 12907* | Lemma for nninfdc 12909. The function from nninfdclemf 12905 is strictly monotonic. (Contributed by Jim Kingdon, 24-Sep-2024.) |
| Theorem | nninfdclemf1 12908* | Lemma for nninfdc 12909. The function from nninfdclemf 12905 is one-to-one. (Contributed by Jim Kingdon, 23-Sep-2024.) |
| Theorem | nninfdc 12909* | An unbounded decidable set of positive integers is infinite. (Contributed by Jim Kingdon, 23-Sep-2024.) |
| Theorem | unbendc 12910* | An unbounded decidable set of positive integers is infinite. (Contributed by NM, 5-May-2005.) (Revised by Jim Kingdon, 30-Sep-2024.) |
| Theorem | prminf 12911 | There are an infinite number of primes. Theorem 1.7 in [ApostolNT] p. 16. (Contributed by Paul Chapman, 28-Nov-2012.) |
| Theorem | infpn2 12912* |
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 12925. 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 12913 |
Extend class notation with the class of structures with components
numbered below |
| Syntax | cnx 12914 | Extend class notation with the structure component index extractor. |
| Syntax | csts 12915 | Set components of a structure. |
| Syntax | cslot 12916 | Extend class notation with the slot function. |
| Syntax | cbs 12917 | Extend class notation with the class of all base set extractors. |
| Syntax | cress 12918 | Extend class notation with the extensible structure builder restriction operator. |
| Definition | df-struct 12919* |
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 12920 |
Define the structure component index extractor. See Theorem ndxarg 12940 to
understand its purpose. The restriction to |
| Definition | df-slot 12921* |
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 12922 |
Equality theorem for the Slot construction. The converse holds if
|
| Definition | df-base 12923 | 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 12924* | 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 12925 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 12925* |
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 12926 | The structure relation is a relation. (Contributed by Mario Carneiro, 29-Aug-2015.) |
| Theorem | isstruct2im 12927 |
The property of being a structure with components in
|
| Theorem | isstruct2r 12928 |
The property of being a structure with components in
|
| Theorem | structex 12929 | A structure is a set. (Contributed by AV, 10-Nov-2021.) |
| Theorem | structn0fun 12930 | A structure without the empty set is a function. (Contributed by AV, 13-Nov-2021.) |
| Theorem | isstructim 12931 |
The property of being a structure with components in |
| Theorem | isstructr 12932 |
The property of being a structure with components in |
| Theorem | structcnvcnv 12933 | Two ways to express the relational part of a structure. (Contributed by Mario Carneiro, 29-Aug-2015.) |
| Theorem | structfung 12934 | The converse of the converse of a structure is a function. Closed form of structfun 12935. (Contributed by AV, 12-Nov-2021.) |
| Theorem | structfun 12935 | Convert between two kinds of structure closure. (Contributed by Mario Carneiro, 29-Aug-2015.) (Proof shortened by AV, 12-Nov-2021.) |
| Theorem | structfn 12936 | Convert between two kinds of structure closure. (Contributed by Mario Carneiro, 29-Aug-2015.) |
| Theorem | strnfvnd 12937 | Deduction version of strnfvn 12938. (Contributed by Mario Carneiro, 15-Nov-2014.) (Revised by Jim Kingdon, 19-Jan-2023.) |
| Theorem | strnfvn 12938 |
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 12962. (Contributed by NM, 9-Sep-2011.) (Revised by Jim Kingdon, 19-Jan-2023.) (New usage is discouraged.) |
| Theorem | strfvssn 12939 |
A structure component extractor produces a value which is contained in a
set dependent on |
| Theorem | ndxarg 12940 | Get the numeric argument from a defined structure component extractor such as df-base 12923. (Contributed by Mario Carneiro, 6-Oct-2013.) |
| Theorem | ndxid 12941 |
A structure component extractor is defined by its own index. This
theorem, together with strslfv 12962 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 12942 | 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 12962. (Contributed by Jim Kingdon, 29-Jan-2023.) |
| Theorem | slotslfn 12943 | 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 12944 | Existence of slot value. A corollary of slotslfn 12943. (Contributed by Jim Kingdon, 12-Feb-2023.) |
| Theorem | strndxid 12945 | 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 12946 | The structure override operator is a proper operator. (Contributed by Stefan O'Rear, 29-Jan-2015.) |
| Theorem | setsvalg 12947 | Value of the structure replacement function. (Contributed by Mario Carneiro, 30-Apr-2015.) |
| Theorem | setsvala 12948 | Value of the structure replacement function. (Contributed by Mario Carneiro, 1-Dec-2014.) (Revised by Jim Kingdon, 20-Jan-2023.) |
| Theorem | setsex 12949 | Applying the structure replacement function yields a set. (Contributed by Jim Kingdon, 22-Jan-2023.) |
| Theorem | strsetsid 12950 | Value of the structure replacement function. (Contributed by AV, 14-Mar-2020.) (Revised by Jim Kingdon, 30-Jan-2023.) |
| Theorem | fvsetsid 12951 | The value of the structure replacement function for its first argument is its second argument. (Contributed by SO, 12-Jul-2018.) |
| Theorem | setsfun 12952 | A structure with replacement is a function if the original structure is a function. (Contributed by AV, 7-Jun-2021.) |
| Theorem | setsfun0 12953 |
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 12952 is useful for proofs based on isstruct2r 12928 which requires
|
| Theorem | setsn0fun 12954 | 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 12955 |
The structure replacement function does not affect the value of |
| Theorem | setsabsd 12956 | 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 12957 | Different components can be set in any order. (Contributed by Mario Carneiro, 5-Dec-2014.) (Revised by Mario Carneiro, 30-Apr-2015.) |
| Theorem | setscomd 12958 | Different components can be set in any order. (Contributed by Jim Kingdon, 20-Feb-2025.) |
| Theorem | strslfvd 12959 | Deduction version of strslfv 12962. (Contributed by Mario Carneiro, 15-Nov-2014.) (Revised by Jim Kingdon, 30-Jan-2023.) |
| Theorem | strslfv2d 12960 | Deduction version of strslfv 12962. (Contributed by Mario Carneiro, 30-Apr-2015.) (Revised by Jim Kingdon, 30-Jan-2023.) |
| Theorem | strslfv2 12961 |
A variation on strslfv 12962 to avoid asserting that |
| Theorem | strslfv 12962 |
Extract a structure component |
| Theorem | strslfv3 12963 | Variant on strslfv 12962 for large structures. (Contributed by Mario Carneiro, 10-Jan-2017.) (Revised by Jim Kingdon, 30-Jan-2023.) |
| Theorem | strslssd 12964 | Deduction version of strslss 12965. (Contributed by Mario Carneiro, 15-Nov-2014.) (Revised by Mario Carneiro, 30-Apr-2015.) (Revised by Jim Kingdon, 31-Jan-2023.) |
| Theorem | strslss 12965 |
Propagate component extraction to a structure |
| Theorem | strsl0 12966 | 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 12967 | The base set of the empty structure. (Contributed by David A. Wheeler, 7-Jul-2016.) |
| Theorem | setsslid 12968 | 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 12969 | 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 12970 |
Value of the base set extractor. (Normally it is preferred to work with
|
| Theorem | baseid 12971 | Utility theorem: index-independent form of df-base 12923. (Contributed by NM, 20-Oct-2012.) |
| Theorem | basendx 12972 |
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 13081. Although we have a few theorems such as basendxnplusgndx 13042, 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 12973 | 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 12974 | The base set extractor is a slot. (Contributed by Jim Kingdon, 31-Jan-2023.) |
| Theorem | basfn 12975 |
The base set extractor is a function on |
| Theorem | basmex 12976 | A structure whose base is inhabited is a set. (Contributed by Jim Kingdon, 18-Nov-2024.) |
| Theorem | basmexd 12977 | A structure whose base is inhabited is a set. (Contributed by Jim Kingdon, 28-Nov-2024.) |
| Theorem | basm 12978* | A structure whose base is inhabited is inhabited. (Contributed by Jim Kingdon, 14-Jun-2025.) |
| Theorem | relelbasov 12979 | Utility theorem: reverse closure for any structure defined as a two-argument function. (Contributed by Mario Carneiro, 3-Oct-2015.) |
| Theorem | reldmress 12980 | The structure restriction is a proper operator, so it can be used with ovprc1 5999. (Contributed by Stefan O'Rear, 29-Nov-2014.) |
| Theorem | ressvalsets 12981 | Value of structure restriction. (Contributed by Jim Kingdon, 16-Jan-2025.) |
| Theorem | ressex 12982 | Existence of structure restriction. (Contributed by Jim Kingdon, 16-Jan-2025.) |
| Theorem | ressval2 12983 | Value of nontrivial structure restriction. (Contributed by Stefan O'Rear, 29-Nov-2014.) |
| Theorem | ressbasd 12984 | Base set of a structure restriction. (Contributed by Stefan O'Rear, 26-Nov-2014.) (Proof shortened by AV, 7-Nov-2024.) |
| Theorem | ressbas2d 12985 | Base set of a structure restriction. (Contributed by Mario Carneiro, 2-Dec-2014.) |
| Theorem | ressbasssd 12986 | 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 12987 | The trivial structure restriction leaves the base set unchanged. (Contributed by Jim Kingdon, 29-Apr-2025.) |
| Theorem | strressid 12988 | Behavior of trivial restriction. (Contributed by Stefan O'Rear, 29-Nov-2014.) (Revised by Jim Kingdon, 17-Jan-2025.) |
| Theorem | ressval3d 12989 | Value of structure restriction, deduction version. (Contributed by AV, 14-Mar-2020.) (Revised by Jim Kingdon, 17-Jan-2025.) |
| Theorem | resseqnbasd 12990 | The components of an extensible structure except the base set remain unchanged on a structure restriction. (Contributed by Mario Carneiro, 26-Nov-2014.) (Revised by Mario Carneiro, 2-Dec-2014.) (Revised by AV, 19-Oct-2024.) |
| Theorem | ressinbasd 12991 | Restriction only cares about the part of the second set which intersects the base of the first. (Contributed by Stefan O'Rear, 29-Nov-2014.) |
| Theorem | ressressg 12992 | Restriction composition law. (Contributed by Stefan O'Rear, 29-Nov-2014.) (Proof shortened by Mario Carneiro, 2-Dec-2014.) |
| Theorem | ressabsg 12993 | Restriction absorption law. (Contributed by Mario Carneiro, 12-Jun-2015.) |
| Syntax | cplusg 12994 | Extend class notation with group (addition) operation. |
| Syntax | cmulr 12995 | Extend class notation with ring multiplication. |
| Syntax | cstv 12996 | Extend class notation with involution. |
| Syntax | csca 12997 | Extend class notation with scalar field. |
| Syntax | cvsca 12998 | Extend class notation with scalar product. |
| Syntax | cip 12999 | Extend class notation with Hermitian form (inner product). |
| Syntax | cts 13000 | Extend class notation with the topology component of a topological space. |
| < Previous Next > |
| Copyright terms: Public domain | < Previous Next > |