Description: 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 (df-poset 18263) or a group (df-grp 18819)).
Note that Slot π΄ is implemented as "evaluation
at π΄". That is,
(Slot π΄βπ) is defined to be (πβπ΄), where π΄ will
typically be an index (which is implemented as a small natural number)
of a component of an extensible structure π. Each extensible
structure is a function defined on specific (natural number)
"slots",
and the function Slot π΄ extracts the structure's component
as a
function value at a particular slot (with index π΄).
The special "structure" ndx, defined
as the identity function
restricted to β, can be used to extract
the number π΄ from a
slot, since (Slot π΄βndx) = π΄ (see ndxarg 17126). 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 hard-coded, numeric value 1), and discourage using
the specific definition of slot extractors like Base =
Slot 1 (see
df-base 17142). Actually, these definitions are used in
two basic theorems
named *id (theorems of the form πΆ = Slot (πΆβndx)) and *ndx
(theorems of the form (πΆβndx) = π) only (see, for example,
baseid 17144 and basendx 17150), except additionally in the discouraged
theorem
baseval 17143 to demonstrate the representations of the
value of the base
set extractor. The *id theorems are implementation independent
equivalents of the definitions by the means of ndxid 17127, but the *ndx
theorems still depend on the hard-coded values of the indices.
Therefore, the usage of these *ndx theorems is also discouraged (for
more details see the section header comment mmtheorems.html#cnx 17127).
Example: The group operation is the second component, i.e., the
component in the second slot, of a group-like structure
πΊ =
{β¨(Baseβndx), π΅β©, β¨(+gβndx),
+
β©} (see
grpstr 17226). The slot extractor +g = Slot 2 (see df-plusg 17207)
applied on the structure πΊ provides the group operation
+ =
(+gβπΊ). Expanding the defintions, we get
+ = (Slot 2βπΊ) = (πΊβ2) = (πΊβ(+gβndx))
(for the
last equation, see plusgndx 17220).
The class Slot cannot be defined as
(π₯
β V β¦ (π β
V β¦ (πβπ₯))) because each Slot π΄
is a function on the proper class V so is itself
a proper class,
and the values of functions are sets (fvex 6902). 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.) |