| Intuitionistic Logic Explorer Theorem List (p. 135 of 174) | < 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 | nninfdclemf1 13401* | Lemma for nninfdc 13402. The function from nninfdclemf 13398 is one-to-one. (Contributed by Jim Kingdon, 23-Sep-2024.) |
| Theorem | nninfdc 13402* | An unbounded decidable set of positive integers is infinite. (Contributed by Jim Kingdon, 23-Sep-2024.) |
| Theorem | unbendc 13403* | An unbounded decidable set of positive integers is infinite. (Contributed by NM, 5-May-2005.) (Revised by Jim Kingdon, 30-Sep-2024.) |
| Theorem | prminf 13404 | There are an infinite number of primes. Theorem 1.7 in [ApostolNT] p. 16. (Contributed by Paul Chapman, 28-Nov-2012.) |
| Theorem | infpn2 13405* |
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 13418. 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 13406 |
Extend class notation with the class of structures with components
numbered below |
| Syntax | cnx 13407 | Extend class notation with the structure component index extractor. |
| Syntax | csts 13408 | Set components of a structure. |
| Syntax | cslot 13409 | Extend class notation with the slot function. |
| Syntax | cbs 13410 | Extend class notation with the class of all base set extractors. |
| Syntax | cress 13411 | Extend class notation with the extensible structure builder restriction operator. |
| Definition | df-struct 13412* |
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 13413 |
Define the structure component index extractor. See Theorem ndxarg 13433 to
understand its purpose. The restriction to |
| Definition | df-slot 13414* |
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 13415 |
Equality theorem for the Slot construction. The converse holds if
|
| Definition | df-base 13416 | 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 13417* | 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 13418 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 13418* |
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 13419 | The structure relation is a relation. (Contributed by Mario Carneiro, 29-Aug-2015.) |
| Theorem | isstruct2im 13420 |
The property of being a structure with components in
|
| Theorem | isstruct2r 13421 |
The property of being a structure with components in
|
| Theorem | structex 13422 | A structure is a set. (Contributed by AV, 10-Nov-2021.) |
| Theorem | structn0fun 13423 | A structure without the empty set is a function. (Contributed by AV, 13-Nov-2021.) |
| Theorem | isstructim 13424 |
The property of being a structure with components in |
| Theorem | isstructr 13425 |
The property of being a structure with components in |
| Theorem | structcnvcnv 13426 | Two ways to express the relational part of a structure. (Contributed by Mario Carneiro, 29-Aug-2015.) |
| Theorem | structfung 13427 | The converse of the converse of a structure is a function. Closed form of structfun 13428. (Contributed by AV, 12-Nov-2021.) |
| Theorem | structfun 13428 | Convert between two kinds of structure closure. (Contributed by Mario Carneiro, 29-Aug-2015.) (Proof shortened by AV, 12-Nov-2021.) |
| Theorem | structfn 13429 | Convert between two kinds of structure closure. (Contributed by Mario Carneiro, 29-Aug-2015.) |
| Theorem | strnfvnd 13430 | Deduction version of strnfvn 13431. (Contributed by Mario Carneiro, 15-Nov-2014.) (Revised by Jim Kingdon, 19-Jan-2023.) |
| Theorem | strnfvn 13431 |
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 13455. (Contributed by NM, 9-Sep-2011.) (Revised by Jim Kingdon, 19-Jan-2023.) (New usage is discouraged.) |
| Theorem | strfvssn 13432 |
A structure component extractor produces a value which is contained in a
set dependent on |
| Theorem | ndxarg 13433 | Get the numeric argument from a defined structure component extractor such as df-base 13416. (Contributed by Mario Carneiro, 6-Oct-2013.) |
| Theorem | ndxid 13434 |
A structure component extractor is defined by its own index. This
theorem, together with strslfv 13455 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 13435 | 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 13455. (Contributed by Jim Kingdon, 29-Jan-2023.) |
| Theorem | slotslfn 13436 | 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 13437 | Existence of slot value. A corollary of slotslfn 13436. (Contributed by Jim Kingdon, 12-Feb-2023.) |
| Theorem | strndxid 13438 | 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 13439 | The structure override operator is a proper operator. (Contributed by Stefan O'Rear, 29-Jan-2015.) |
| Theorem | setsvalg 13440 | Value of the structure replacement function. (Contributed by Mario Carneiro, 30-Apr-2015.) |
| Theorem | setsvala 13441 | Value of the structure replacement function. (Contributed by Mario Carneiro, 1-Dec-2014.) (Revised by Jim Kingdon, 20-Jan-2023.) |
| Theorem | setsex 13442 | Applying the structure replacement function yields a set. (Contributed by Jim Kingdon, 22-Jan-2023.) |
| Theorem | strsetsid 13443 | Value of the structure replacement function. (Contributed by AV, 14-Mar-2020.) (Revised by Jim Kingdon, 30-Jan-2023.) |
| Theorem | fvsetsid 13444 | The value of the structure replacement function for its first argument is its second argument. (Contributed by SO, 12-Jul-2018.) |
| Theorem | setsfun 13445 | A structure with replacement is a function if the original structure is a function. (Contributed by AV, 7-Jun-2021.) |
| Theorem | setsfun0 13446 |
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 13445 is useful for proofs based on isstruct2r 13421 which requires
|
| Theorem | setsn0fun 13447 | 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 13448 |
The structure replacement function does not affect the value of |
| Theorem | setsabsd 13449 | 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 13450 | Different components can be set in any order. (Contributed by Mario Carneiro, 5-Dec-2014.) (Revised by Mario Carneiro, 30-Apr-2015.) |
| Theorem | setscomd 13451 | Different components can be set in any order. (Contributed by Jim Kingdon, 20-Feb-2025.) |
| Theorem | strslfvd 13452 | Deduction version of strslfv 13455. (Contributed by Mario Carneiro, 15-Nov-2014.) (Revised by Jim Kingdon, 30-Jan-2023.) |
| Theorem | strslfv2d 13453 | Deduction version of strslfv 13455. (Contributed by Mario Carneiro, 30-Apr-2015.) (Revised by Jim Kingdon, 30-Jan-2023.) |
| Theorem | strslfv2 13454 |
A variation on strslfv 13455 to avoid asserting that |
| Theorem | strslfv 13455 |
Extract a structure component |
| Theorem | strslfv3 13456 | Variant on strslfv 13455 for large structures. (Contributed by Mario Carneiro, 10-Jan-2017.) (Revised by Jim Kingdon, 30-Jan-2023.) |
| Theorem | strslssd 13457 | Deduction version of strslss 13458. (Contributed by Mario Carneiro, 15-Nov-2014.) (Revised by Mario Carneiro, 30-Apr-2015.) (Revised by Jim Kingdon, 31-Jan-2023.) |
| Theorem | strslss 13458 |
Propagate component extraction to a structure |
| Theorem | strsl0 13459 | 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 13460 | The base set of the empty structure. (Contributed by David A. Wheeler, 7-Jul-2016.) |
| Theorem | setsslid 13461 | 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 13462 | 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 13463 |
Value of the base set extractor. (Normally it is preferred to work with
|
| Theorem | baseid 13464 | Utility theorem: index-independent form of df-base 13416. (Contributed by NM, 20-Oct-2012.) |
| Theorem | basendx 13465 |
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 13577. Although we have a few theorems such as basendxnplusgndx 13538, 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 13466 | 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 13467 | 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 13468 | The base set extractor is a slot. (Contributed by Jim Kingdon, 31-Jan-2023.) |
| Theorem | basfn 13469 |
The base set extractor is a function on |
| Theorem | basmex 13470 | A structure whose base is inhabited is a set. (Contributed by Jim Kingdon, 18-Nov-2024.) |
| Theorem | basmexd 13471 | A structure whose base is inhabited is a set. (Contributed by Jim Kingdon, 28-Nov-2024.) |
| Theorem | basm 13472* | A structure whose base is inhabited is inhabited. (Contributed by Jim Kingdon, 14-Jun-2025.) |
| Theorem | slotm 13473* | A structure with an inhabited slot is inhabited. (Contributed by Jim Kingdon, 24-Jul-2026.) |
| Theorem | relelbasov 13474 | Utility theorem: reverse closure for any structure defined as a two-argument function. (Contributed by Mario Carneiro, 3-Oct-2015.) |
| Theorem | reldmress 13475 | The structure restriction is a proper operator, so it can be used with ovprc1 6125. (Contributed by Stefan O'Rear, 29-Nov-2014.) |
| Theorem | ressvalsets 13476 | Value of structure restriction. (Contributed by Jim Kingdon, 16-Jan-2025.) |
| Theorem | ressex 13477 | Existence of structure restriction. (Contributed by Jim Kingdon, 16-Jan-2025.) |
| Theorem | ressmex 13478 | If a structure restriction is inhabited, the structure is a set and so is the class it is restricted to. (Contributed by Jim Kingdon, 16-Sep-2026.) |
| Theorem | ressval2 13479 | Value of nontrivial structure restriction. (Contributed by Stefan O'Rear, 29-Nov-2014.) |
| Theorem | ressbasd 13480 | Base set of a structure restriction. (Contributed by Stefan O'Rear, 26-Nov-2014.) (Proof shortened by AV, 7-Nov-2024.) |
| Theorem | ressbas2d 13481 | Base set of a structure restriction. (Contributed by Mario Carneiro, 2-Dec-2014.) |
| Theorem | ressbasssd 13482 | 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 13483 | The trivial structure restriction leaves the base set unchanged. (Contributed by Jim Kingdon, 29-Apr-2025.) |
| Theorem | strressid 13484 | Behavior of trivial restriction. (Contributed by Stefan O'Rear, 29-Nov-2014.) (Revised by Jim Kingdon, 17-Jan-2025.) |
| Theorem | ressval3d 13485 | Value of structure restriction, deduction version. (Contributed by AV, 14-Mar-2020.) (Revised by Jim Kingdon, 17-Jan-2025.) |
| Theorem | resseqnbasd 13486 | 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 13487 | 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 13488 | Restriction composition law. (Contributed by Stefan O'Rear, 29-Nov-2014.) (Proof shortened by Mario Carneiro, 2-Dec-2014.) |
| Theorem | ressabsg 13489 | Restriction absorption law. (Contributed by Mario Carneiro, 12-Jun-2015.) |
| Syntax | cplusg 13490 | Extend class notation with group (addition) operation. |
| Syntax | cmulr 13491 | Extend class notation with ring multiplication. |
| Syntax | cstv 13492 | Extend class notation with involution. |
| Syntax | csca 13493 | Extend class notation with scalar field. |
| Syntax | cvsca 13494 | Extend class notation with scalar product. |
| Syntax | cip 13495 | Extend class notation with Hermitian form (inner product). |
| Syntax | cts 13496 | Extend class notation with the topology component of a topological space. |
| Syntax | cple 13497 | Extend class notation with "less than or equal to" for posets. |
| Syntax | coc 13498 | Extend class notation with the class of orthocomplementation extractors. |
| Syntax | cds 13499 | Extend class notation with the metric space distance function. |
| Syntax | cunif 13500 | Extend class notation with the uniform structure. |
| < Previous Next > |
| Copyright terms: Public domain | < Previous Next > |