[ The Types Forum, http://lists.seas.upenn.edu/mailman/listinfo/types-list ]
> Consider a blockchain managing several different resources. Over time, new > resources may be added or deleted. Each input to or output from a > transaction is associated with a value, where each value consists of > associating zero or more resources with amounts, where the amounts are > natural numbers (that is, integers greater than or equal to zero). > > What kind of algebra do values correspond to? It seems similar to vector > spaces, except: > (a) adding or deleting resources increases or decreases the number of > dimensions in the vector space > (b) the scalars in the vector space are natural numbers rather than reals > > What algebra am I thinking of? Cheers, -- P Dear Phil, regarding the issue (b) you want to replace the FIELD of the real numbers with the SEMI-RING of natural numbers (N,+,*,0,1). As suggested by Meola the structure should be a module over a RIG, see https://ncatlab.org/nlab/show/module More precisely - a rig (F,*,+,1,0) for the scalars - a commutative monoid (V,+,0) for the vectors - an action *:FxV->V satisfying certain properties, in particular 0*v=0=f*0 When F is a field, one recovers the usual notion of vector space. A vector space V can be infinite dimensional. In the case of a module over a RIG, the definition of base B should be the usual one, namely a subset of B is a base for V iff - every finite subset of B is linearly independent - every element of V is the linear combination of a finite subset of B but the definition of LINEARLY INDEPENDENT has to be revised, to avoid the use of "negative". A finite subset {v_i|i:n} of V is lineraly independent <=> for every a,b:F^n if Sum_i a_i*v_i = Sum_i b_i*v_i, then a=b. In the module of over N proposed by Meola, ie the maps from the set of resourses to the rig N that have finite support, the base is unique, and there is an obvious definition of inner product, but I doubt you can do much with it. However, there are modules over N that have no base. For instance, the module Z over N, {1} is too small to be a base, and {1,-1} is too big. Best Regards Eugenio Moggi
