While I am working on theorems for matrices and polynomials, I have 
increasing problems to find adequate class variables to formulate the 
theorems appropriately. The available capital letters seem to be not 
sufficient anymore. Therefore I would like to propose to add additional 
class variables to set.mm.

In my latest pull request, I made already a proposal for such an extension:

  $( Declare variable symbols that will be used to represent classes which 
are
     elements of a collection or of a base set of an extensible structure,
     often having the same name. These variables should only be used for 
sets
     which are required in assumptions, i.e. either in antecedents, e.g.
     ` ( ( ph /\ .a. e. A ) -> ps ) ` , or in essential hypotheses
     ($e statements), e. g. ` $e |- ( ph -> .a. e. A ) $. ` .  Another use
     case for these variables is a situation in which variables are 
substituted
     by classes, e.g. on expanding definitions given as mappings:
     ` def $e |- I = ( p e. L |-> V ) $. ` and
     ` defval $p |- ( ( ph /\ .p. e. L ) -> ( I ` .p. ) = ... ` .  As a
     concrete example, see ~ mply1topmatval : In this example the class
     variable ` P ` is already in use, so the new class variable ` .p. ` 
can be
     used to substitue the set variable ` p ` used in the definition. $)
  $v .a. $.
  $v .b. $.
  $v .c. $.
  $v .m. $.
  $v .p. $.

  $( Let ` .a. ` be a class variable. $)
  csA $f class .a. $.

  $( Let ` .b. ` be a class variable. $)
  csB $f class .b. $.

  $( Let ` .c. ` be a class variable. $)
  csC $f class .c. $.

  $( Let ` .m. ` be a class variable. Usually used for representing a 
matrix:
     If ` A = ( N Mat R ) ` is the algebra of N x N matrices over (a ring)
     ` R ` and ` B = ( Base ` A ) ` is its base set (i.e. the set of all N 
x N
     matrices over ` R ` ), then ` .m. e. B ` is a special N x N matrix over
     ` R ` . $)
  csM $f class .m. $.

  $( Let ` .p. ` be a class variable. Usually used for representing a
     polynomial: If ` P = ( Poly1 ` R ) ` is the algebra of (univariate)
     polynomials over (a ring) ` R ` and ` B = ( Base ` P ) ` is its base 
set
     (i.e. the set of all univariate polynomials over ` R ` ), then
     ` .p. e. B ` is a special univariate polynomials over ` R ` . $)
  csP $f class .p. $.

The two dots are taken from the approach for class variables representing 
constants and operations (like .0. and .X. ), but also only one dot could 
be used (e.g. .a analogous to .+ ). 
Furthermore, I vacilate between using lower case or capital letters ( .a. 
versus .A. ) - lower case letters suggest that the represented classes 
should be sets, but capital letters make clear that these are variables for 
classes.

I think the five additional variables should be enough for the moment 
(actually I only need .m. and .p. for my current work).

Is there anybody else needing more class variables? How should they look 
like? Is my proposal acceptable, or is one of the alternatives preferred?

If accepted, the 5 class variables could be moved from my Mathbox into the 
main part (to the top of section "Class abstraction", where the other 
variables are declared, or into sections of the topics for which they are 
mainly used).

Alexander

-- 
You received this message because you are subscribed to the Google Groups 
"Metamath" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To view this discussion on the web visit 
https://groups.google.com/d/msgid/metamath/78ed6c02-9526-4eca-b0af-82aa30af401b%40googlegroups.com.

Reply via email to