HomeHome Intuitionistic Logic Explorer
Theorem List (p. 135 of 175)
< Previous  Next >
Browser slow? Try the
Unicode version.

Mirrors  >  Metamath Home Page  >  ILE Home Page  >  Theorem List Contents  >  Recent Proofs       This page: Page List

Theorem List for Intuitionistic Logic Explorer - 13401-13500   *Has distinct variable group(s)
TypeLabelDescription
Statement
 
Theoremnninfdc 13401* An unbounded decidable set of positive integers is infinite. (Contributed by Jim Kingdon, 23-Sep-2024.)
 |-  ( ( A  C_  NN  /\  A. x  e. 
 NN DECID  x  e.  A  /\  A. m  e.  NN  E. n  e.  A  m  <  n )  ->  om  ~<_  A )
 
Theoremunbendc 13402* An unbounded decidable set of positive integers is infinite. (Contributed by NM, 5-May-2005.) (Revised by Jim Kingdon, 30-Sep-2024.)
 |-  ( ( A  C_  NN  /\  A. x  e. 
 NN DECID  x  e.  A  /\  A. m  e.  NN  E. n  e.  A  m  <  n )  ->  A  ~~ 
 NN )
 
Theoremprminf 13403 There are an infinite number of primes. Theorem 1.7 in [ApostolNT] p. 16. (Contributed by Paul Chapman, 28-Nov-2012.)
 |- 
 Prime  ~~  NN
 
Theoreminfpn2 13404* There exist infinitely many prime numbers: the set of all primes  S is unbounded by infpn 13168, so by unbendc 13402 it is infinite. This is Metamath 100 proof #11. (Contributed by NM, 5-May-2005.)
 |-  S  =  { n  e.  NN  |  ( 1  <  n  /\  A. m  e.  NN  (
 ( n  /  m )  e.  NN  ->  ( m  =  1  \/  m  =  n ) ) ) }   =>    |-  S  ~~  NN
 
PART 6  BASIC STRUCTURES
 
6.1  Extensible structures
 
6.1.1  Basic definitions

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  NN. The function's argument is the index of a structure component (such as  1 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 13433 and strslfv 13454. Using extractors makes it easier to change numeric indices and also makes the components' purpose clearer. See the comment of basendx 13464 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  X is a  Y 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-iress 13417. 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  Base 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.

 
Syntaxcstr 13405 Extend class notation with the class of structures with components numbered below  A.
 class Struct
 
Syntaxcnx 13406 Extend class notation with the structure component index extractor.
 class  ndx
 
Syntaxcsts 13407 Set components of a structure.
 class sSet
 
Syntaxcslot 13408 Extend class notation with the slot function.
 class Slot  A
 
Syntaxcbs 13409 Extend class notation with the class of all base set extractors.
 class  Base
 
Syntaxcress 13410 Extend class notation with the extensible structure builder restriction operator.
 class ↾s
 
Definitiondf-struct 13411* Define a structure with components in  M ... N. 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 5398, such classes cannot be functions. Without the empty set, however, a structure must be a function, see structn0fun 13422:  F Struct  X  ->  Fun  ( F  \  { (/)
} ).

Allowing an extensible structure to contain the empty set ensures that expressions like  { <. A ,  B >. ,  <. C ,  D >. } are structures without asserting or implying that  A,  B,  C and  D are sets (if  A or  B is a proper class, then  <. A ,  B >.  =  (/), see opprc 3925). (Contributed by Mario Carneiro, 29-Aug-2015.)

 |- Struct  =  { <. f ,  x >.  |  ( x  e.  (  <_  i^i  ( NN 
 X.  NN ) )  /\  Fun  ( f  \  { (/)
 } )  /\  dom  f  C_  ( ... `  x ) ) }
 
Definitiondf-ndx 13412 Define the structure component index extractor. See Theorem ndxarg 13432 to understand its purpose. The restriction to  NN ensures that  ndx is a set. The restriction to some set is necessary since  _I is a proper class. In principle, we could have chosen  CC or (if we revise all structure component definitions such as df-base 13415) another set such as the set of finite ordinals 
om (df-iom 4740). (Contributed by NM, 4-Sep-2011.)
 |- 
 ndx  =  (  _I  |` 
 NN )
 
Definitiondf-slot 13413* Define the slot extractor for extensible structures. The class Slot  A 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  A is implemented as "evaluation at  A". That is,  (Slot  A `  S ) is defined to be  ( S `  A ), where  A will typically be a small nonzero natural number. Each extensible structure  S is a function defined on specific natural number "slots", and this function extracts the value at a particular slot.

The special "structure"  ndx, defined as the identity function restricted to  NN, can be used to extract the number  A from a slot, since  (Slot  A `  ndx )  =  A (see ndxarg 13432). 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  ( Base `  ndx ) in theorems and proofs instead of its value 1).

The class Slot cannot be defined as  ( x  e.  _V  |->  ( f  e. 
_V  |->  ( f `  x ) ) ) because each Slot  A is a function on the proper class  _V so is itself a proper class, and the values of functions are sets (fvex 5718). It is necessary to allow proper classes as values of Slot  A since for instance the class of all (base sets of) groups is proper. (Contributed by Mario Carneiro, 22-Sep-2015.)

 |- Slot  A  =  ( x  e.  _V  |->  ( x `  A ) )
 
Theoremsloteq 13414 Equality theorem for the Slot construction. The converse holds if  A (or  B) is a set. (Contributed by BJ, 27-Dec-2021.)
 |-  ( A  =  B  -> Slot 
 A  = Slot  B )
 
Definitiondf-base 13415 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.)
 |- 
 Base  = Slot  1
 
Definitiondf-sets 13416* 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 13417 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  =  ( s  e.  _V ,  e  e.  _V  |->  ( ( s  |`  ( _V  \  dom  { e } ) )  u. 
 { e } )
 )
 
Definitiondf-iress 13417* 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  Base 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, 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.)

 |- ↾s  =  ( w  e.  _V ,  x  e.  _V  |->  ( w sSet  <. ( Base ` 
 ndx ) ,  ( x  i^i  ( Base `  w ) ) >. ) )
 
Theorembrstruct 13418 The structure relation is a relation. (Contributed by Mario Carneiro, 29-Aug-2015.)
 |- 
 Rel Struct
 
Theoremisstruct2im 13419 The property of being a structure with components in  ( 1st `  X
) ... ( 2nd `  X
). (Contributed by Mario Carneiro, 29-Aug-2015.) (Revised by Jim Kingdon, 18-Jan-2023.)
 |-  ( F Struct  X  ->  ( X  e.  (  <_  i^i  ( NN  X.  NN ) )  /\  Fun  ( F  \  { (/) } )  /\  dom  F  C_  ( ... `  X ) ) )
 
Theoremisstruct2r 13420 The property of being a structure with components in  ( 1st `  X
) ... ( 2nd `  X
). (Contributed by Mario Carneiro, 29-Aug-2015.) (Revised by Jim Kingdon, 18-Jan-2023.)
 |-  ( ( ( X  e.  (  <_  i^i  ( NN  X.  NN )
 )  /\  Fun  ( F 
 \  { (/) } )
 )  /\  ( F  e.  V  /\  dom  F  C_  ( ... `  X ) ) )  ->  F Struct  X )
 
Theoremstructex 13421 A structure is a set. (Contributed by AV, 10-Nov-2021.)
 |-  ( G Struct  X  ->  G  e.  _V )
 
Theoremstructn0fun 13422 A structure without the empty set is a function. (Contributed by AV, 13-Nov-2021.)
 |-  ( F Struct  X  ->  Fun  ( F  \  { (/)
 } ) )
 
Theoremisstructim 13423 The property of being a structure with components in  M ... N. (Contributed by Mario Carneiro, 29-Aug-2015.) (Revised by Jim Kingdon, 18-Jan-2023.)
 |-  ( F Struct  <. M ,  N >.  ->  ( ( M  e.  NN  /\  N  e.  NN  /\  M  <_  N )  /\  Fun  ( F  \  { (/) } )  /\  dom  F  C_  ( M ... N ) ) )
 
Theoremisstructr 13424 The property of being a structure with components in  M ... N. (Contributed by Mario Carneiro, 29-Aug-2015.) (Revised by Jim Kingdon, 18-Jan-2023.)
 |-  ( ( ( M  e.  NN  /\  N  e.  NN  /\  M  <_  N )  /\  ( Fun  ( F  \  { (/)
 } )  /\  F  e.  V  /\  dom  F  C_  ( M ... N ) ) )  ->  F Struct 
 <. M ,  N >. )
 
Theoremstructcnvcnv 13425 Two ways to express the relational part of a structure. (Contributed by Mario Carneiro, 29-Aug-2015.)
 |-  ( F Struct  X  ->  `' `' F  =  ( F  \  { (/) } )
 )
 
Theoremstructfung 13426 The converse of the converse of a structure is a function. Closed form of structfun 13427. (Contributed by AV, 12-Nov-2021.)
 |-  ( F Struct  X  ->  Fun  `' `' F )
 
Theoremstructfun 13427 Convert between two kinds of structure closure. (Contributed by Mario Carneiro, 29-Aug-2015.) (Proof shortened by AV, 12-Nov-2021.)
 |-  F Struct  X   =>    |- 
 Fun  `' `' F
 
Theoremstructfn 13428 Convert between two kinds of structure closure. (Contributed by Mario Carneiro, 29-Aug-2015.)
 |-  F Struct  <. M ,  N >.   =>    |-  ( Fun  `' `' F  /\  dom  F  C_  (
 1 ... N ) )
 
Theoremstrnfvnd 13429 Deduction version of strnfvn 13430. (Contributed by Mario Carneiro, 15-Nov-2014.) (Revised by Jim Kingdon, 19-Jan-2023.)
 |-  E  = Slot  N   &    |-  ( ph  ->  S  e.  V )   &    |-  ( ph  ->  N  e.  NN )   =>    |-  ( ph  ->  ( E `  S )  =  ( S `  N ) )
 
Theoremstrnfvn 13430 Value of a structure component extractor  E. Normally,  E is a defined constant symbol such as  Base (df-base 13415) and  N is a fixed integer such as  1.  S 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 13454. (Contributed by NM, 9-Sep-2011.) (Revised by Jim Kingdon, 19-Jan-2023.) (New usage is discouraged.)

 |-  S  e.  _V   &    |-  E  = Slot  N   &    |-  N  e.  NN   =>    |-  ( E `  S )  =  ( S `  N )
 
Theoremstrfvssn 13431 A structure component extractor produces a value which is contained in a set dependent on  S, but not  E. This is sometimes useful for showing sethood. (Contributed by Mario Carneiro, 15-Aug-2015.) (Revised by Jim Kingdon, 19-Jan-2023.)
 |-  E  = Slot  N   &    |-  ( ph  ->  S  e.  V )   &    |-  ( ph  ->  N  e.  NN )   =>    |-  ( ph  ->  ( E `  S )  C_  U.
 ran  S )
 
Theoremndxarg 13432 Get the numeric argument from a defined structure component extractor such as df-base 13415. (Contributed by Mario Carneiro, 6-Oct-2013.)
 |-  E  = Slot  N   &    |-  N  e.  NN   =>    |-  ( E `  ndx )  =  N
 
Theoremndxid 13433 A structure component extractor is defined by its own index. This theorem, together with strslfv 13454 below, is useful for avoiding direct reference to the hard-coded numeric index in component extractor definitions, such as the  1 in df-base 13415, 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.)

 |-  E  = Slot  N   &    |-  N  e.  NN   =>    |-  E  = Slot  ( E `
  ndx )
 
Theoremndxslid 13434 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 13454. (Contributed by Jim Kingdon, 29-Jan-2023.)
 |-  E  = Slot  N   &    |-  N  e.  NN   =>    |-  ( E  = Slot  ( E `  ndx )  /\  ( E `  ndx )  e.  NN )
 
Theoremslotslfn 13435 A slot is a function on sets, treated as structures. (Contributed by Mario Carneiro, 22-Sep-2015.) (Revised by Jim Kingdon, 10-Feb-2023.)
 |-  ( E  = Slot  ( E `  ndx )  /\  ( E `  ndx )  e.  NN )   =>    |-  E  Fn  _V
 
Theoremslotex 13436 Existence of slot value. A corollary of slotslfn 13435. (Contributed by Jim Kingdon, 12-Feb-2023.)
 |-  ( E  = Slot  ( E `  ndx )  /\  ( E `  ndx )  e.  NN )   =>    |-  ( A  e.  V  ->  ( E `  A )  e.  _V )
 
Theoremstrndxid 13437 The value of a structure component extractor is the value of the corresponding slot of the structure. (Contributed by AV, 13-Mar-2020.)
 |-  ( ph  ->  S  e.  V )   &    |-  E  = Slot  N   &    |-  N  e.  NN   =>    |-  ( ph  ->  ( S `  ( E `  ndx ) )  =  ( E `  S ) )
 
Theoremreldmsets 13438 The structure override operator is a proper operator. (Contributed by Stefan O'Rear, 29-Jan-2015.)
 |- 
 Rel  dom sSet
 
Theoremsetsvalg 13439 Value of the structure replacement function. (Contributed by Mario Carneiro, 30-Apr-2015.)
 |-  ( ( S  e.  V  /\  A  e.  W )  ->  ( S sSet  A )  =  ( ( S  |`  ( _V  \  dom  { A } ) )  u.  { A }
 ) )
 
Theoremsetsvala 13440 Value of the structure replacement function. (Contributed by Mario Carneiro, 1-Dec-2014.) (Revised by Jim Kingdon, 20-Jan-2023.)
 |-  ( ( S  e.  V  /\  A  e.  X  /\  B  e.  W ) 
 ->  ( S sSet  <. A ,  B >. )  =  ( ( S  |`  ( _V  \  { A } )
 )  u.  { <. A ,  B >. } )
 )
 
Theoremsetsex 13441 Applying the structure replacement function yields a set. (Contributed by Jim Kingdon, 22-Jan-2023.)
 |-  ( ( S  e.  V  /\  A  e.  X  /\  B  e.  W ) 
 ->  ( S sSet  <. A ,  B >. )  e.  _V )
 
Theoremstrsetsid 13442 Value of the structure replacement function. (Contributed by AV, 14-Mar-2020.) (Revised by Jim Kingdon, 30-Jan-2023.)
 |-  E  = Slot  ( E `
  ndx )   &    |-  ( ph  ->  S Struct  <. M ,  N >. )   &    |-  ( ph  ->  Fun  S )   &    |-  ( ph  ->  ( E ` 
 ndx )  e.  dom  S )   =>    |-  ( ph  ->  S  =  ( S sSet  <. ( E `
  ndx ) ,  ( E `  S ) >. ) )
 
Theoremfvsetsid 13443 The value of the structure replacement function for its first argument is its second argument. (Contributed by SO, 12-Jul-2018.)
 |-  ( ( F  e.  V  /\  X  e.  W  /\  Y  e.  U ) 
 ->  ( ( F sSet  <. X ,  Y >. ) `  X )  =  Y )
 
Theoremsetsfun 13444 A structure with replacement is a function if the original structure is a function. (Contributed by AV, 7-Jun-2021.)
 |-  ( ( ( G  e.  V  /\  Fun  G )  /\  ( I  e.  U  /\  E  e.  W ) )  ->  Fun  ( G sSet  <. I ,  E >. ) )
 
Theoremsetsfun0 13445 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 13444 is useful for proofs based on isstruct2r 13420 which requires  Fun  ( F 
\  { (/) } ) for 
F to be an extensible structure. (Contributed by AV, 7-Jun-2021.)
 |-  ( ( ( G  e.  V  /\  Fun  ( G  \  { (/) } )
 )  /\  ( I  e.  U  /\  E  e.  W ) )  ->  Fun  ( ( G sSet  <. I ,  E >. )  \  { (/)
 } ) )
 
Theoremsetsn0fun 13446 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.)
 |-  ( ph  ->  S Struct  X )   &    |-  ( ph  ->  I  e.  U )   &    |-  ( ph  ->  E  e.  W )   =>    |-  ( ph  ->  Fun  (
 ( S sSet  <. I ,  E >. )  \  { (/)
 } ) )
 
Theoremsetsresg 13447 The structure replacement function does not affect the value of  S away from  A. (Contributed by Mario Carneiro, 1-Dec-2014.) (Revised by Jim Kingdon, 22-Jan-2023.)
 |-  ( ( S  e.  V  /\  A  e.  W  /\  B  e.  X ) 
 ->  ( ( S sSet  <. A ,  B >. )  |`  ( _V  \  { A } )
 )  =  ( S  |`  ( _V  \  { A } ) ) )
 
Theoremsetsabsd 13448 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.)
 |-  ( ph  ->  S  e.  V )   &    |-  ( ph  ->  A  e.  W )   &    |-  ( ph  ->  B  e.  X )   &    |-  ( ph  ->  C  e.  U )   =>    |-  ( ph  ->  (
 ( S sSet  <. A ,  B >. ) sSet  <. A ,  C >. )  =  ( S sSet  <. A ,  C >. ) )
 
Theoremsetscom 13449 Different components can be set in any order. (Contributed by Mario Carneiro, 5-Dec-2014.) (Revised by Mario Carneiro, 30-Apr-2015.)
 |-  A  e.  _V   &    |-  B  e.  _V   =>    |-  ( ( ( S  e.  V  /\  A  =/=  B )  /\  ( C  e.  W  /\  D  e.  X )
 )  ->  ( ( S sSet  <. A ,  C >. ) sSet  <. B ,  D >. )  =  ( ( S sSet  <. B ,  D >. ) sSet  <. A ,  C >. ) )
 
Theoremsetscomd 13450 Different components can be set in any order. (Contributed by Jim Kingdon, 20-Feb-2025.)
 |-  ( ph  ->  A  e.  Y )   &    |-  ( ph  ->  B  e.  Z )   &    |-  ( ph  ->  S  e.  V )   &    |-  ( ph  ->  A  =/=  B )   &    |-  ( ph  ->  C  e.  W )   &    |-  ( ph  ->  D  e.  X )   =>    |-  ( ph  ->  (
 ( S sSet  <. A ,  C >. ) sSet  <. B ,  D >. )  =  ( ( S sSet  <. B ,  D >. ) sSet  <. A ,  C >. ) )
 
Theoremstrslfvd 13451 Deduction version of strslfv 13454. (Contributed by Mario Carneiro, 15-Nov-2014.) (Revised by Jim Kingdon, 30-Jan-2023.)
 |-  ( E  = Slot  ( E `  ndx )  /\  ( E `  ndx )  e.  NN )   &    |-  ( ph  ->  S  e.  V )   &    |-  ( ph  ->  Fun  S )   &    |-  ( ph  ->  <. ( E `  ndx ) ,  C >.  e.  S )   =>    |-  ( ph  ->  C  =  ( E `  S ) )
 
Theoremstrslfv2d 13452 Deduction version of strslfv 13454. (Contributed by Mario Carneiro, 30-Apr-2015.) (Revised by Jim Kingdon, 30-Jan-2023.)
 |-  ( E  = Slot  ( E `  ndx )  /\  ( E `  ndx )  e.  NN )   &    |-  ( ph  ->  S  e.  V )   &    |-  ( ph  ->  Fun  `' `' S )   &    |-  ( ph  ->  <.
 ( E `  ndx ) ,  C >.  e.  S )   &    |-  ( ph  ->  C  e.  W )   =>    |-  ( ph  ->  C  =  ( E `  S ) )
 
Theoremstrslfv2 13453 A variation on strslfv 13454 to avoid asserting that  S itself is a function, which involves sethood of all the ordered pair components of  S. (Contributed by Mario Carneiro, 30-Apr-2015.) (Revised by Jim Kingdon, 30-Jan-2023.)
 |-  S  e.  _V   &    |-  Fun  `' `' S   &    |-  ( E  = Slot  ( E `  ndx )  /\  ( E `  ndx )  e.  NN )   &    |-  <. ( E `
  ndx ) ,  C >.  e.  S   =>    |-  ( C  e.  V  ->  C  =  ( E `
  S ) )
 
Theoremstrslfv 13454 Extract a structure component  C (such as the base set) from a structure  S with a component extractor  E (such as the base set extractor df-base 13415). By virtue of ndxslid 13434, this can be done without having to refer to the hard-coded numeric index of  E. (Contributed by Mario Carneiro, 6-Oct-2013.) (Revised by Jim Kingdon, 30-Jan-2023.)
 |-  S Struct  X   &    |-  ( E  = Slot  ( E `  ndx )  /\  ( E `  ndx )  e.  NN )   &    |-  { <. ( E `  ndx ) ,  C >. }  C_  S   =>    |-  ( C  e.  V  ->  C  =  ( E `  S ) )
 
Theoremstrslfv3 13455 Variant on strslfv 13454 for large structures. (Contributed by Mario Carneiro, 10-Jan-2017.) (Revised by Jim Kingdon, 30-Jan-2023.)
 |-  ( ph  ->  U  =  S )   &    |-  ( ph  ->  S Struct  X )   &    |-  ( E  = Slot  ( E `  ndx )  /\  ( E `  ndx )  e.  NN )   &    |-  ( ph  ->  { <. ( E `
  ndx ) ,  C >. }  C_  S )   &    |-  ( ph  ->  C  e.  V )   &    |-  A  =  ( E `
  U )   =>    |-  ( ph  ->  A  =  C )
 
Theoremstrslssd 13456 Deduction version of strslss 13457. (Contributed by Mario Carneiro, 15-Nov-2014.) (Revised by Mario Carneiro, 30-Apr-2015.) (Revised by Jim Kingdon, 31-Jan-2023.)
 |-  ( E  = Slot  ( E `  ndx )  /\  ( E `  ndx )  e.  NN )   &    |-  ( ph  ->  T  e.  V )   &    |-  ( ph  ->  Fun  T )   &    |-  ( ph  ->  S  C_  T )   &    |-  ( ph  ->  <. ( E `
  ndx ) ,  C >.  e.  S )   =>    |-  ( ph  ->  ( E `  T )  =  ( E `  S ) )
 
Theoremstrslss 13457 Propagate component extraction to a structure  T from a subset structure  S. (Contributed by Mario Carneiro, 11-Oct-2013.) (Revised by Jim Kingdon, 31-Jan-2023.)
 |-  T  e.  _V   &    |-  Fun  T   &    |-  S  C_  T   &    |-  ( E  = Slot  ( E `  ndx )  /\  ( E `  ndx )  e.  NN )   &    |-  <. ( E `
  ndx ) ,  C >.  e.  S   =>    |-  ( E `  T )  =  ( E `  S )
 
Theoremstrsl0 13458 All components of the empty set are empty sets. (Contributed by Stefan O'Rear, 27-Nov-2014.) (Revised by Jim Kingdon, 31-Jan-2023.)
 |-  ( E  = Slot  ( E `  ndx )  /\  ( E `  ndx )  e.  NN )   =>    |-  (/)  =  ( E `  (/) )
 
Theorembase0 13459 The base set of the empty structure. (Contributed by David A. Wheeler, 7-Jul-2016.)
 |-  (/)  =  ( Base `  (/) )
 
Theoremsetsslid 13460 Value of the structure replacement function at a replaced index. (Contributed by Mario Carneiro, 1-Dec-2014.) (Revised by Jim Kingdon, 24-Jan-2023.)
 |-  ( E  = Slot  ( E `  ndx )  /\  ( E `  ndx )  e.  NN )   =>    |-  ( ( W  e.  A  /\  C  e.  V )  ->  C  =  ( E `  ( W sSet  <. ( E `  ndx ) ,  C >. ) ) )
 
Theoremsetsslnid 13461 Value of the structure replacement function at an untouched index. (Contributed by Mario Carneiro, 1-Dec-2014.) (Revised by Jim Kingdon, 24-Jan-2023.)
 |-  ( E  = Slot  ( E `  ndx )  /\  ( E `  ndx )  e.  NN )   &    |-  ( E `  ndx )  =/=  D   &    |-  D  e.  NN   =>    |-  ( ( W  e.  A  /\  C  e.  V )  ->  ( E `  W )  =  ( E `  ( W sSet  <. D ,  C >. ) ) )
 
Theorembaseval 13462 Value of the base set extractor. (Normally it is preferred to work with  ( Base `  ndx ) rather than the hard-coded  1 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.)
 |-  K  e.  _V   =>    |-  ( Base `  K )  =  ( K `  1 )
 
Theorembaseid 13463 Utility theorem: index-independent form of df-base 13415. (Contributed by NM, 20-Oct-2012.)
 |- 
 Base  = Slot  ( Base `  ndx )
 
Theorembasendx 13464 Index value of the base set extractor.

Use of this theorem is discouraged since the particular value  1 for the index is an implementation detail. It is generally sufficient to work with  ( Base `  ndx ) and use theorems such as baseid 13463 and basendxnn 13465.

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 13576. Although we have a few theorems such as basendxnplusgndx 13537, 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.)

 |-  ( Base `  ndx )  =  1
 
Theorembasendxnn 13465 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.)
 |-  ( Base `  ndx )  e. 
 NN
 
Theorembassetsnn 13466 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.)
 |-  ( ph  ->  S Struct  X )   &    |-  ( ph  ->  I  e.  NN )   &    |-  ( ph  ->  E  e.  W )   &    |-  ( ph  ->  ( Base `  ndx )  e. 
 dom  S )   =>    |-  ( ph  ->  { ( Base `  ndx ) ,  I }  C_  dom  ( S sSet  <. I ,  E >. ) )
 
Theorembaseslid 13467 The base set extractor is a slot. (Contributed by Jim Kingdon, 31-Jan-2023.)
 |-  ( Base  = Slot  ( Base ` 
 ndx )  /\  ( Base `  ndx )  e. 
 NN )
 
Theorembasfn 13468 The base set extractor is a function on  _V. (Contributed by Stefan O'Rear, 8-Jul-2015.)
 |- 
 Base  Fn  _V
 
Theorembasmex 13469 A structure whose base is inhabited is a set. (Contributed by Jim Kingdon, 18-Nov-2024.)
 |-  B  =  ( Base `  G )   =>    |-  ( A  e.  B  ->  G  e.  _V )
 
Theorembasmexd 13470 A structure whose base is inhabited is a set. (Contributed by Jim Kingdon, 28-Nov-2024.)
 |-  ( ph  ->  B  =  ( Base `  G )
 )   &    |-  ( ph  ->  A  e.  B )   =>    |-  ( ph  ->  G  e.  _V )
 
Theorembasm 13471* A structure whose base is inhabited is inhabited. (Contributed by Jim Kingdon, 14-Jun-2025.)
 |-  B  =  ( Base `  G )   =>    |-  ( A  e.  B  ->  E. j  j  e.  G )
 
Theoremslotm 13472* A structure with an inhabited slot is inhabited. (Contributed by Jim Kingdon, 24-Jul-2026.)
 |-  ( E  = Slot  ( E `  ndx )  /\  ( E `  ndx )  e.  NN )   =>    |-  ( A  e.  ( E `  G )  ->  E. j  j  e.  G )
 
Theoremrelelbasov 13473 Utility theorem: reverse closure for any structure defined as a two-argument function. (Contributed by Mario Carneiro, 3-Oct-2015.)
 |- 
 Rel  dom  O   &    |-  Rel  O   &    |-  S  =  ( X O Y )   &    |-  B  =  ( Base `  S )   =>    |-  ( A  e.  B  ->  ( X  e.  _V  /\  Y  e.  _V )
 )
 
Theoremreldmress 13474 The structure restriction is a proper operator, so it can be used with ovprc1 6125. (Contributed by Stefan O'Rear, 29-Nov-2014.)
 |- 
 Rel  dom ↾s
 
Theoremressvalsets 13475 Value of structure restriction. (Contributed by Jim Kingdon, 16-Jan-2025.)
 |-  ( ( W  e.  X  /\  A  e.  Y )  ->  ( W ↾s  A )  =  ( W sSet  <. ( Base ` 
 ndx ) ,  ( A  i^i  ( Base `  W ) ) >. ) )
 
Theoremressex 13476 Existence of structure restriction. (Contributed by Jim Kingdon, 16-Jan-2025.)
 |-  ( ( W  e.  X  /\  A  e.  Y )  ->  ( W ↾s  A )  e.  _V )
 
Theoremressmex 13477 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.)
 |-  R  =  ( W ↾s  A )   =>    |-  ( X  e.  R  ->  ( W  e.  _V  /\  A  e.  _V )
 )
 
Theoremressval2 13478 Value of nontrivial structure restriction. (Contributed by Stefan O'Rear, 29-Nov-2014.)
 |-  R  =  ( W ↾s  A )   &    |-  B  =  (
 Base `  W )   =>    |-  ( ( -.  B  C_  A  /\  W  e.  X  /\  A  e.  Y )  ->  R  =  ( W sSet  <. ( Base `  ndx ) ,  ( A  i^i  B ) >. ) )
 
Theoremressbasd 13479 Base set of a structure restriction. (Contributed by Stefan O'Rear, 26-Nov-2014.) (Proof shortened by AV, 7-Nov-2024.)
 |-  ( ph  ->  R  =  ( W ↾s  A ) )   &    |-  ( ph  ->  B  =  (
 Base `  W ) )   &    |-  ( ph  ->  W  e.  X )   &    |-  ( ph  ->  A  e.  V )   =>    |-  ( ph  ->  ( A  i^i  B )  =  ( Base `  R ) )
 
Theoremressbas2d 13480 Base set of a structure restriction. (Contributed by Mario Carneiro, 2-Dec-2014.)
 |-  ( ph  ->  R  =  ( W ↾s  A ) )   &    |-  ( ph  ->  B  =  (
 Base `  W ) )   &    |-  ( ph  ->  W  e.  X )   &    |-  ( ph  ->  A 
 C_  B )   =>    |-  ( ph  ->  A  =  ( Base `  R ) )
 
Theoremressbasssd 13481 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.)
 |-  ( ph  ->  R  =  ( W ↾s  A ) )   &    |-  ( ph  ->  B  =  (
 Base `  W ) )   &    |-  ( ph  ->  W  e.  X )   &    |-  ( ph  ->  A  e.  V )   =>    |-  ( ph  ->  (
 Base `  R )  C_  B )
 
Theoremressbasid 13482 The trivial structure restriction leaves the base set unchanged. (Contributed by Jim Kingdon, 29-Apr-2025.)
 |-  B  =  ( Base `  W )   =>    |-  ( W  e.  V  ->  ( Base `  ( W ↾s  B ) )  =  B )
 
Theoremstrressid 13483 Behavior of trivial restriction. (Contributed by Stefan O'Rear, 29-Nov-2014.) (Revised by Jim Kingdon, 17-Jan-2025.)
 |-  ( ph  ->  B  =  ( Base `  W )
 )   &    |-  ( ph  ->  W Struct  <. M ,  N >. )   &    |-  ( ph  ->  Fun  W )   &    |-  ( ph  ->  ( Base ` 
 ndx )  e.  dom  W )   =>    |-  ( ph  ->  ( W ↾s  B )  =  W )
 
Theoremressval3d 13484 Value of structure restriction, deduction version. (Contributed by AV, 14-Mar-2020.) (Revised by Jim Kingdon, 17-Jan-2025.)
 |-  R  =  ( S ↾s  A )   &    |-  B  =  (
 Base `  S )   &    |-  E  =  ( Base `  ndx )   &    |-  ( ph  ->  S  e.  V )   &    |-  ( ph  ->  Fun  S )   &    |-  ( ph  ->  E  e.  dom  S )   &    |-  ( ph  ->  A  C_  B )   =>    |-  ( ph  ->  R  =  ( S sSet  <. E ,  A >. ) )
 
Theoremresseqnbasd 13485 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.)
 |-  R  =  ( W ↾s  A )   &    |-  C  =  ( E `  W )   &    |-  ( E  = Slot  ( E `
  ndx )  /\  ( E `  ndx )  e. 
 NN )   &    |-  ( E `  ndx )  =/=  ( Base `  ndx )   &    |-  ( ph  ->  W  e.  X )   &    |-  ( ph  ->  A  e.  V )   =>    |-  ( ph  ->  C  =  ( E `  R ) )
 
Theoremressinbasd 13486 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.)
 |-  ( ph  ->  B  =  ( Base `  W )
 )   &    |-  ( ph  ->  A  e.  X )   &    |-  ( ph  ->  W  e.  V )   =>    |-  ( ph  ->  ( W ↾s  A )  =  ( W ↾s  ( A  i^i  B ) ) )
 
Theoremressressg 13487 Restriction composition law. (Contributed by Stefan O'Rear, 29-Nov-2014.) (Proof shortened by Mario Carneiro, 2-Dec-2014.)
 |-  ( ( A  e.  X  /\  B  e.  Y  /\  W  e.  Z ) 
 ->  ( ( W ↾s  A ) ↾s  B )  =  ( W ↾s  ( A  i^i  B ) ) )
 
Theoremressabsg 13488 Restriction absorption law. (Contributed by Mario Carneiro, 12-Jun-2015.)
 |-  ( ( A  e.  X  /\  B  C_  A  /\  W  e.  Y ) 
 ->  ( ( W ↾s  A ) ↾s  B )  =  ( W ↾s  B ) )
 
6.1.2  Slot definitions
 
Syntaxcplusg 13489 Extend class notation with group (addition) operation.
 class  +g
 
Syntaxcmulr 13490 Extend class notation with ring multiplication.
 class  .r
 
Syntaxcstv 13491 Extend class notation with involution.
 class  *r
 
Syntaxcsca 13492 Extend class notation with scalar field.
 class Scalar
 
Syntaxcvsca 13493 Extend class notation with scalar product.
 class  .s
 
Syntaxcip 13494 Extend class notation with Hermitian form (inner product).
 class  .i
 
Syntaxcts 13495 Extend class notation with the topology component of a topological space.
 class TopSet
 
Syntaxcple 13496 Extend class notation with "less than or equal to" for posets.
 class  le
 
Syntaxcoc 13497 Extend class notation with the class of orthocomplementation extractors.
 class  oc
 
Syntaxcds 13498 Extend class notation with the metric space distance function.
 class  dist
 
Syntaxcunif 13499 Extend class notation with the uniform structure.
 class  UnifSet
 
Syntaxchom 13500 Extend class notation with the hom-set structure.
 class  Hom
    < Previous  Next >

Page List
Jump to page: Contents  1 1-100 2 101-200 3 201-300 4 301-400 5 401-500 6 501-600 7 601-700 8 701-800 9 801-900 10 901-1000 11 1001-1100 12 1101-1200 13 1201-1300 14 1301-1400 15 1401-1500 16 1501-1600 17 1601-1700 18 1701-1800 19 1801-1900 20 1901-2000 21 2001-2100 22 2101-2200 23 2201-2300 24 2301-2400 25 2401-2500 26 2501-2600 27 2601-2700 28 2701-2800 29 2801-2900 30 2901-3000 31 3001-3100 32 3101-3200 33 3201-3300 34 3301-3400 35 3401-3500 36 3501-3600 37 3601-3700 38 3701-3800 39 3801-3900 40 3901-4000 41 4001-4100 42 4101-4200 43 4201-4300 44 4301-4400 45 4401-4500 46 4501-4600 47 4601-4700 48 4701-4800 49 4801-4900 50 4901-5000 51 5001-5100 52 5101-5200 53 5201-5300 54 5301-5400 55 5401-5500 56 5501-5600 57 5601-5700 58 5701-5800 59 5801-5900 60 5901-6000 61 6001-6100 62 6101-6200 63 6201-6300 64 6301-6400 65 6401-6500 66 6501-6600 67 6601-6700 68 6701-6800 69 6801-6900 70 6901-7000 71 7001-7100 72 7101-7200 73 7201-7300 74 7301-7400 75 7401-7500 76 7501-7600 77 7601-7700 78 7701-7800 79 7801-7900 80 7901-8000 81 8001-8100 82 8101-8200 83 8201-8300 84 8301-8400 85 8401-8500 86 8501-8600 87 8601-8700 88 8701-8800 89 8801-8900 90 8901-9000 91 9001-9100 92 9101-9200 93 9201-9300 94 9301-9400 95 9401-9500 96 9501-9600 97 9601-9700 98 9701-9800 99 9801-9900 100 9901-10000 101 10001-10100 102 10101-10200 103 10201-10300 104 10301-10400 105 10401-10500 106 10501-10600 107 10601-10700 108 10701-10800 109 10801-10900 110 10901-11000 111 11001-11100 112 11101-11200 113 11201-11300 114 11301-11400 115 11401-11500 116 11501-11600 117 11601-11700 118 11701-11800 119 11801-11900 120 11901-12000 121 12001-12100 122 12101-12200 123 12201-12300 124 12301-12400 125 12401-12500 126 12501-12600 127 12601-12700 128 12701-12800 129 12801-12900 130 12901-13000 131 13001-13100 132 13101-13200 133 13201-13300 134 13301-13400 135 13401-13500 136 13501-13600 137 13601-13700 138 13701-13800 139 13801-13900 140 13901-14000 141 14001-14100 142 14101-14200 143 14201-14300 144 14301-14400 145 14401-14500 146 14501-14600 147 14601-14700 148 14701-14800 149 14801-14900 150 14901-15000 151 15001-15100 152 15101-15200 153 15201-15300 154 15301-15400 155 15401-15500 156 15501-15600 157 15601-15700 158 15701-15800 159 15801-15900 160 15901-16000 161 16001-16100 162 16101-16200 163 16201-16300 164 16301-16400 165 16401-16500 166 16501-16600 167 16601-16700 168 16701-16800 169 16801-16900 170 16901-17000 171 17001-17100 172 17101-17200 173 17201-17300 174 17301-17400 175 17401-17403
  Copyright terms: Public domain < Previous  Next >