A computational definition of the notion of vectorial space
📝 Abstract
We usually define an algebraic structure by a set, some operations defined on this set and some propositions that the algebraic structure must validate. In some cases, we can replace these propositions by an algorithm on terms constructed upon these operations that the algebraic structure must validate. We show in this note that this is the case for the notions of vectorial space and bilinear operation. KEYWORDS: Rewrite system, vector space, bilinear operation, tensorial product, semantics, quantum programming languages, probabilistic programming languages.
💡 Analysis
We usually define an algebraic structure by a set, some operations defined on this set and some propositions that the algebraic structure must validate. In some cases, we can replace these propositions by an algorithm on terms constructed upon these operations that the algebraic structure must validate. We show in this note that this is the case for the notions of vectorial space and bilinear operation. KEYWORDS: Rewrite system, vector space, bilinear operation, tensorial product, semantics, quantum programming languages, probabilistic programming languages.
📄 Content
arXiv:0911.4051v1 [cs.LO] 20 Nov 2009 A computational definition of the notion of vectorial space Pablo Arrighi∗ Gilles Dowek† Abstract We usually define an algebraic structure by a set, some operations defined on this set and some propositions that the algebraic structure must validate. In some cases, we can replace these propositions by an algorithm on terms constructed upon these operations that the algebraic structure must validate. We show in this note that this is the case for the notions of vectorial space and bilinear operation. An algorithm defined by a confluent and terminating rewrite system R on terms of a language L is said to be valid in a structure M on the language L if for each rule l −→r and assignment φ, we have JlKφ = JrKφ. Thus, algorithms and theories play the same role with respect to the notion of model: like a theory, an algorithm may or may not be valid in a model. This notion of validity of an algorithm, like the notion of validity of a theory, can be used in two ways: to study the algorithms or to define algebraic structures as models of some algorithm. When a class of algebraic structures — such as the class of groups or that of rings — can be defined as the class of models of some equational theory T and this equational theory can be transformed into a rewrite system R, we have the following equivalence • A is a member of the class (i.e. is a group, a ring, …), • A is a model of the theory T , • A is a model of the algorithm R. In this case, we say that the class of algebraic structures has a computational definition. The goal of this note is to show that the class of vectorial spaces has such a computational definition, i.e. that the axioms of vectorial spaces can be oriented as a rewrite system. Moreover, the algorithm obtained this way is a well-known algorithm in linear algebra: it is an algorithm transforming any term expressing a vector into a linear combination of the unknowns. This algorithm is also central to the operational semantic of our functional programming language ∗Institut Gaspard Monge, 5 Bd Descartes, Champs-sur-Marne, 77574 Marne-la-Vall´ee Cedex 2, France, arrighi@univ-mlv.fr. † ´Ecole polytechnique and INRIA, LIX, ´Ecole polytechnique, 91128 Palaiseau Cedex, France, Gilles.Dowek@polytechnique.fr. for quantum computing Lineal [1], because in such languages a program and its input value form a term expressing a vector whose value, the output, is a linear combination of the base vectors. More generally, several algorithms used in linear algebra, such as matrix multiplication algorithms, transform a term expressing a vector with various constructs into a linear combination of base vectors. This algorithm is valid in all vectorial spaces and we show that it moreover completely defines the notion of vectorial space. The main difficulty to orient the theory of vectorial spaces is that this theory has a sort for vectors and a sort for scalars and that the scalars must form a field. The theory of fields is already difficult to orient, because division is a partial operation. However, there are many fields, for instance the field Q of rational numbers, whose addition and multiplication can be presented by a terminating and ground confluent rewrite system. Thus, we shall not consider an arbitrary vectorial space over an arbitrary field. Instead, we consider a given field K defined by a terminating and ground confluent rewrite system S and focus on K-vectorial spaces. Our rewrite system for vectors will thus be parametrized by a rewrite system for scalars and we will have to provide proofs of confluence and termination using minimal requirements on the scalar rewrite system. This leads to a new method to prove the confluence of a rewrite system built as the union of two systems. Moreover, this computational definition of the notion of vectorial space can be extended to define other algebraic notions such as bilinear operations. 1 Rewrite systems Definition 1.1 (Rewriting) Let L be a first-order language and R be a rewrite system on L. We say that a term t R-rewrites in one step to a term u if and only if there is an occurrence α in the term t, a rewrite rule l −→r in R, and a substitution σ such that t|α = σl and u = t[σr]α. Definition 1.2 (Associative-Commutative Rewriting) Let L be a first- order language containing binary function symbols f1, …, fn and R be a rewrite system on L. We say that a term t R/AC(f1, …, fn)-rewrites in one step to a term u if and only if there is a term t′, an occurrence α in the term t′, a rewrite rule l −→r in R, and a substitution σ such that t′ =AC t, t′ |α = σl and u =AC t′[σr]α. Remark: This notion must be distinguished from that of R,AC-rewriting [3] where a term t rewrites to a term u only when it has a subterm AC-equivalent to an instance of the left hand side of a rewrite rule. For instance with the rule x+x −→2.x the term t+(u+t) R/AC-rewrites to 2.t+u but is R, AC-normal. 2 2 Models Definition 2.1 (Algebra) Let L be a first-order language. An L-algebr
This content is AI-processed based on ArXiv data.