The objective of this paper is two-fold. First we present a methodology for using a combination of computer assistance and human intervention to discover highly algebraic theorems in operator, matrix and linear systems engineering theory. Since the methodology allows limited human intervention, it is slightly less rigid than an algorithm. We call it a strategy. The second objective is to illustrate the methodology by deriving 4 theorems.
The presentation of the methodology is carried out in three steps. The first step is introducing an abstraction of the methodology which we call an idealized strategy. This abstraction facilitates a high level discussion of the ideas involved. Idealized strategies cannot be implemented on a computer. The second and third steps introduce approximations of these abstractions which we call prestrategy and strategy, respectively. The third step is introducing an approximation of these abstractions and is called a strategy. A strategy is more general than a prestrategy and, in fact, every prestrategy is a strategy.
The above mentioned approximations are implemented on a computer. We stress that, since there is a computer implementation, the reader can these techniques to attack their own algebra problems. Thus the paper might be of both practical and theoretical interest to analysts, engineers and algebraists.
Now we give the idea of a prestrategy. A prestrategy relies almost entirely on two commands which we call NCProcess1 and NCProcess2. These two commands are sufficiently powerful so that, in many cases, when one applies them repeatedly to a complicated collection of equations, they transform the collection of equations into an equivalent but substantially simpler collection of equations. A loose description of a prestrategy applied to a list of equations is:
When this procedure stops, it hopefully gives the ``canonical'' necessary conditions for the original equations to have a solution. As a final step we run NCProcess2 which aggressively eliminates redundant equations and partitions the output equations in a way which facilitates proving that the necessary conditions are also sufficient.
Many classical theorems in analysis can be viewed in terms of solving a collection of equations. We have found that this procedure actually discovers the classic theorem in a modest collection of classic cases involving factorization of engineering systems and matrix completion problems. One might regard the pursuit of determining which classical theorems in analysis can be proven with a strategy as an analog to classical euclidean geometry where a major question was what can be constructed with a compass and ruler. Here the goal is to determine which theorems in systems and operator theory could be discovered by repeatedly applying of NCProcess1 and NCProcess2 (or their successors) and the (human) selection of equations which are important.
The major practical challenge addressed here is finding operations which, when implemented in software, present the user with crucial algebraic information about his problem while not overwhelming him with too much redundant information.
This paper consists of two parts.
A description of strategies, a high-level description of the algorithms, a description of the applications to operator, matrix and linear system engineering theory and a description of how one would use a strategy to ``discover'' four different theorems are presented in the first part of the paper. Thus, one who seeks a conventional viewpoint for this rather unconventional paper might think of this as providing a unified proof of four different theorems. The theorems were selected for their diverse proofs, and because they are widely known (so many readers should be familiar with at least one of them).
The NCProcess commands use noncommutative Gröbner Basis algorithms which have emerged in the last decade, together with algorithms for removing redundant equations and a method for assisting a mathematician in writing a (noncommutative) polynomial as a composition of polynomials. The reader needs to know about Gröbner Basis to understand the first part of this paper.
Descriptions involving the theory of Gröbner Basis appear in the second part of the paper.