Section on philosophical terminology Lestrade The reason I propose reverting your edit is that this section on Thought Process is philosophical and ontological and not psychological As as example I quote from an interview with Bjarne Stroustrup Raising the Level of Abstraction Bjarne Stroustrup A high level of abstraction is good not just in C but in general We want to deal with problems at the level we are thinking about those problems Abstraction is a mechanism by which we understand things I believe raising the level of abstraction is fundamental in all practical intellectual endeavors I don t consider that a controversial statement but people sometimes consider it controversial because they think code at a higher level abstraction is necessarily less efficient The only code faster than the fastest code is no code By abstracting to matrix manipulation operations you give the compiler enough type information to enable it to eliminate many operations If you wish to add material on perception please add it to a new section