Hello all,

I've been dabbling with formalizing a result in clone theory, requiring me to 
define the notion of a clone (which, so far as I know, is not already in 
set.mm). One aspect of this is the notion of a projection: For a set A, a 
natural number n > 0, and an integer 0 <= i < n, the i-th n-ary projection on A 
is the function p : A^n \to A given by

p(x_0, ..., x_i, ..., x_{n-1}) = x_i.

I have tried to capture this notion in Metamath (in the general case), but I 
would appreciate any feedback on my formulation, primarily with regards to 
simplicity and conventions in set.mm. Below, I give an outline of my proposed 
definition.

Firstly, I model the numbers n, i as ordinals for convenience; in particular, 
the condition that 0 <= i < n simply becomes i e. n, while the condition that n 
be positive is expressed as n e. ( _om \ 1o ).

Secondly, in desiring p to "pick out" the i-th argument, it appears to me that 
defining p as a traditional n-ary operation, with domain A^n, is impractical 
(correct me if I'm wrong). Instead, I've chosen to define p as a function on 
length-n sequences of elements in A; in Metamath, we would have p : ( A ^m n ) 
--> A. Thus, for some sequence of arguments x e. ( A ^m n ), the i-th argument 
would be given by ( x ` i ) for i e. n.

In total, I define a class proj which, when given a set A and suitable ordinals 
n, i, returns the i-th n-ary projection on A. Here's the full definition:

|- proj = ( a e. _V |-> ( n e. ( _om \ 1o ) , i e. n |-> ( x e. ( a ^m n ) |-> 
( x ` i ) ) ) )

I'd like to ask: Is my approach reasonable, or have I gone off the rails?

I hope the above is sufficiently clear, and I thank any suggestions in advance.

All the best,
Adrian

-- 
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 visit 
https://groups.google.com/d/msgid/metamath/174319635791.7.9068809461287120508.655573624%40passfwd.com.

Reply via email to