In this entry, I try to sum up my thoughts on foundations into 17 propositions. Some of these propositions are simply examples of a more general principle listed earlier. I didn’t want to elaborate too much on any of them, because I wanted them to be bite sized. Some of these will be entirely not obvious, but I think they’re all interesting. Some of the examples may need more explication by someone who understands the field referenced better than I do. Comments are welcome by those who wish to add something or ask for an elaboration.
Prop 1. We start with existents. By observing similarities between existents of a single class, we define a unit that represents or stands for that similarity with respect to a system of measurement (all measured inches bear something in common, the essence of that similarity is represented by the inch).
Prop 2. With units, we can measure. This yields the mental grouping (or the set) known as a quantity. Quantities abstract away the particular properties of the objects in the grouping, carrying only their system of measurement, their type, and their measure as defined by a unit.
Prop 3. Quantities bear similarities that carry between quantities of different types of objects. By dropping type and unit of measure, what remains is represented by a number. What 5 apples and 5 oranges have in common is exactly what the number 5 represents in reality. Note that the system of measurement cannot be dropped. There is a fundamental distinction between 5 apples and the quantity of time represented by 5 o’ clock (5 hours past noon). Ultimately, the number that is abstracted from 5 apples has different numeric qualities than the one abstracted 5 o’ clock.
Prop 4. All quantities are defined relative to a type, a unit of measure, and a system of measurement. The quantity of 5 apples is measured by its unit distance (measured in whole apples) from 0. 5 o’ clock is measured by its unit distance (hours) clockwise from 12. Therefore, numbers drop type and unit (the unit for all numbers becomes represented by 1), though the system of measurement is maintained (the computational process to derive their measurement by using 1 as a unit will always remain).
Prop 5. A computation is any human controlled process wherein each step of the process is chosen by from a definite number of possibilities in accordance with a finite set of rules defined based on the possible inputs from the previous step. The choice must always be made based on some quantitative difference between the possible inputs. The input to every such process must be some definite quantity, and the output of the process will always be a quantity, though not necessarily of the same type.
Prop 6. Addition, Multiplication, and Division are all computations. They can be performed in your head, or by a machine.
Prop 7. Every system of measurement is dependent on a computation. Every computation is performed based on the quantitative properties of the input. The output is always determined by the quantity of the input.
Prop 8. A mathematician’s primary interest is regarding the properties of numbers. Put more generally, mathematician’s strive to understand the properties of the results of computations with respect to the computations from which their derived.
Prop 9. Number Theory concerns itself with the properties of natural numbers, with respect to the properties of addition, multiplication, and division.
Prop 10. Algebra concerns itself with the properties of numbers derived from nonstandard versions of addition, multiplication, and division. The primary question is whether properties of numbers hold irrespective of the particular variant of addition, multiplication, and division used.
Prop 11. Geometry concerns itself with the properties of numbers that stand in relationship to other numbers with respect to physical measurements. A line can be thought of as the result of a series of measurements taken. The angle between two lines is a property two lines bear in relationship to each other. Here, the fact that these numbers were derived from a physical measurement on a plane is not dropped.
Prop 12. Logic is not concerned with numbers proper.
Prop 13. A computer scientist’s primary interest is regarding the properties of computations with respect to categories of quantities that are given to the process and that result from it. Natural questions that may be asked involve things such as whether a particular number will ever be the output of a particular computation, or whether a computation on a particular input ever terminate. Again, these properties are specifically properties of the computation, not the results. The fact that a computation may not halt on the input 5 says nothing of interest about the number 5, but it will speak volumes about the computation.
Prop 14. An algorithms specialist concerns himself with the properties of specific algorithms (or specific categories of algorithms). Typical questions may include whether the algorithm halts on certain inputs, whether we can guarantee it produces a desired result, and how long it will take on a broad category of inputs.
Prop 15. A language specialist concerns himself with the properties of computer languages, in which algorithms are written. Typical questions are whether a given language properly handles errors, whether a language is efficient for performing a standard set of tasks, and whether it is easy or difficult to prove properties of algorithms written in that language.
Prop 16. An AI specialist concerns himself with the ability to solve problems with a computer. Usually, AI specialists will concern themselves with the most difficult problems known for a computer; once a problem has been solved, the algorithm used will be analyzed by the algorithms specialist, and the language expert will attempt to design a language which will make it easiest to write and manage code that will perform the algorithm. They’re primarily concern is understanding the techniques that generalize over various algorithms that can successfully solve the most difficult problems.
Prop 17. A theorist concerns himself with the known limits of computation. What are the limits of what we can know and compute regarding algorithms as a whole? Can an algorithm written in one language be easily translated into another without an efficiency loss? What is the connection between an algorithm and the language/system it is written for in general? Are there classes of problems insolvable given restrictions on the language and time complexity allowed? If so, what do these problems have in common?