Dennis Hackethal’s Blog
My blog about philosophy, coding, and anything else that interests me.
History of post ‘Simple Explanation of Mental Integration’
Versions are sorted from most recent to oldest with the original version at the bottom. Changes are highlighted relative to the next, i.e. older, version underneath. Only changed lines and their surrounding lines are shown, except for the original version, which is shown in full.
Revision 1 · · View this (the most recent) version (v2)
@@ -1,55 +1,55 @@ # Simple Explanation of Mental Integration *This article assumes basic knowledge of programming.* *Integration* is a concept from objectivist epistemology. The *Ayn Rand Lexicon* offers the following quotes for the entry on “Integration (Mental)”: > % source: Ayn Rand. *The Romantic Manifesto.* ‘Art and Cognition’ (p. 57), as quoted in the *Ayn Rand Lexicon* > % link: http://aynrandlexicon.com/lexicon/integration_(mental).html#order_2 > *Integration* is a cardinal function of man’s consciousness on all the levels of his cognitive development. First, his brain brings order into his sensory chaos by integrating sense data into percepts; this integration is performed automatically; it requires effort, but no conscious volition. His next step is the integration of percepts into concepts, as he learns to speak. Thereafter, his cognitive development consists in integrating concepts into wider and ever wider concepts, expanding the range of his mind. This stage is fully volitional and demands an unremitting effort. <!-- --> > % source: Ayn Rand. *Introduction to Objectivist Epistemology.* ‘Concept-Formation’ (p. 10), as quoted in the *Ayn Rand Lexicon* > % link: http://aynrandlexicon.com/lexicon/integration_(mental).html#order_3 > A concept is a mental integration of two or more units which are isolated according to a specific characteristic(s) and united by a specific definition. . . . [In concept-formation], the uniting involved is not a mere sum, but an *integration*, i.e., a blending of the units into a *single*, new *mental* entity which is used thereafter as a single unit of thought (but which can be broken into its component units whenever required). Before I continue, some disclaimers: I have not read the quoted works. I am only beginning to develop an interest in objectivist epistemology, so my thoughts on the topic are very much preliminary. Inspired by Karl Popper, I disagree with Rand’s rather empiricist and hardware-focused explanation of integration, and I suspect even the integration of sense data does require conscious volition, at least initially, in early childhood. But here, I wish to approach Rand’s concept of integration *in its own right* and offer a simple way of looking at it through the lens of programming. Put simply, integration means taking two or more mental units and putting them together to form a new concept. For example, repeat addition makes multiplication. The two joined concepts are 1) addition and 2) repetition. Put them together in specific ways, and you get multiplication. For example, one way to calculate 2 times 3 is: ```clojure (apply + (repeat 2 3)) ``` Another way: ```clojure (reduce + (repeat 2 3)) ``` In these examples, the two units of addition and repetition are *blended* into a new mental entity: multiplication. A mental unit is simply a program: a function in the sense of the lambda calculus. In programming, integration is typically referred to as *abstraction* or ‘abstracting away’ shared logic. For example, if you find yourself writing the same code over and over for repeated addition, you cut the corresponding lines, put them in a function called ‘multiply’, and simply call that function instead. Give the new entity a name and make it more generally applicable to any two positive integers, and voila, you have formed a new concept: ```clojure (defn multiply [a b] (reduce + (repeat a b))) ``` I think children basically do the same thing in their heads when they learn multiplication for the first time. Keep in mind that [the brain is a computer](https://veritula.com/discussions/133) – as such, it is programmable by the mind. Both `reduce` and `apply` abstract away additional underlying concepts, and both remain available directly if required. As in: despite the integration, our minds retain some public interface for invoking `repeat` and `+` directly. I [used to](https://youtu.be/DHR6roiZjQ8?t=1089) think of such underlying functions as necessarily “implicit” (really I meant ‘inexplicit’), but I now think that’s wrong: the public interface can often be invoked via language, which makes it explicit. (Side note: there’s some overlap between `reduce` and `repeat` because `reduce` itself depends on repetition, so maybe it’s better to use `apply` instead of `reduce`.) We don’t have visiblity into mental concepts like we do source code on an external computer – yet. Hopefully, one day we will develop the requisite technology. Integration is crucial for a properly functioning mind. Without a successful integration/abstraction of the concept of repetition, say, forming new concepts that depend on repetition is much harder. Getting fundamental concepts right is important because, by definition, they feature in many other, higher-level concepts. Imagine you don’t mentally integrate/abstract the concept of repetition. That means anytime you need to use repition in other concepts (ie in other code in your mind), you essentially copy/paste the underlying logic for reptition into those concepts. If you find want to improve your notion of repetition later on, you have to find and update it everywhere. That’s messy and error prone. Reusing integrated concepts is essential to learning and mastery. We can also see how Rand’s notion of the integration of “concepts into wider and ever wider concepts” maps onto ever higher levels of abstraction in code: integrate the concepts of multiplication and repetition, and you get powers. For example, 2 raised to the power of 3 is 2 * 2 * 2. Widening your concepts means “expanding the range of [your] mind.” To be clear, this process isn’t limited to math. Integration is typically *creative:* you need to think about how exactly you want to blend multiple mental units into a new, higher-level concept. Once created, a well-practiced integration becomes *automatic:* the mind can invoke the integrated mental unit directly, without breaking it into its components or really consciously thinking about them at all. I disagree with Rand that the integrated unit “can be broken into its component units *whenever required*” (emphasis mine) – some integrations, like riding a bike, are difficult to break into component units once fully automated. It’s not impossible, but the phrasing “whenever required” makes it sound easier than it really is in some cases. And I say integration is *typically* creative because, as you get more advanced, you develop meta ideas about how to integrate certain mental units, and then those meta ideas can handle such integration for you automatically. For instance, now that you’re already familiar with repeat addition and repeat multiplication, you can figure out repeat powers basically instantly. But even far-reaching meta ideas won’t cover all possible mental units that you could integrate, so *some* integrations will always require creativity. It’s no accident that programmers already understand the epistemological concept of integration, even if they have never heard of objectivist epistemology. There’s a deep underlying truth that I call the *equivalence principle*, which I explain in chapter 6 of [my book](https://www.windowonintelligence.com).
Original · · View this version (v1)
# Simple Explanation of Mental Integration *This article assumes basic knowledge of programming.* *Integration* is a concept from objectivist epistemology. The *Ayn Rand Lexicon* offers the following quotes for the entry on “Integration (Mental)”: > % source: Ayn Rand. *The Romantic Manifesto.* ‘Art and Cognition’ (p. 57), as quoted in the *Ayn Rand Lexicon* > % link: http://aynrandlexicon.com/lexicon/integration_(mental).html#order_2 > *Integration* is a cardinal function of man’s consciousness on all the levels of his cognitive development. First, his brain brings order into his sensory chaos by integrating sense data into percepts; this integration is performed automatically; it requires effort, but no conscious volition. His next step is the integration of percepts into concepts, as he learns to speak. Thereafter, his cognitive development consists in integrating concepts into wider and ever wider concepts, expanding the range of his mind. This stage is fully volitional and demands an unremitting effort. <!-- --> > % source: Ayn Rand. *Introduction to Objectivist Epistemology.* ‘Concept-Formation’ (p. 10), as quoted in the *Ayn Rand Lexicon* > % link: http://aynrandlexicon.com/lexicon/integration_(mental).html#order_3 > A concept is a mental integration of two or more units which are isolated according to a specific characteristic(s) and united by a specific definition. . . . [In concept-formation], the uniting involved is not a mere sum, but an *integration*, i.e., a blending of the units into a *single*, new *mental* entity which is used thereafter as a single unit of thought (but which can be broken into its component units whenever required). Before I continue, some disclaimers: I have not read the quoted works. I am only beginning to develop an interest in objectivist epistemology, so my thoughts on the topic are very much preliminary. Inspired by Karl Popper, I disagree with Rand’s rather empiricist and hardware-focused explanation of integration, and I suspect even the integration of sense data does require conscious volition, at least initially, in early childhood. But here, I wish to approach Rand’s concept of integration *in its own right* and offer a simple way of looking at it through the lens of programming. Put simply, integration means taking two or more mental units and putting them together to form a new concept. For example, repeat addition makes multiplication. The two joined concepts are 1) addition and 2) repetition. Put them together in specific ways, and you get multiplication. For example, one way to calculate 2 times 3 is: ```clojure (apply + (repeat 2 3)) ``` Another way: ```clojure (reduce + (repeat 2 3)) ``` In these examples, the two units of addition and repetition are *blended* into a new mental entity: multiplication. A mental unit is simply a program: a function in the sense of the lambda calculus. In programming, integration is typically referred to as *abstraction* or ‘abstracting away’ shared logic. For example, if you find yourself writing the same code over and over for repeated addition, you cut the corresponding lines, put them in a function called ‘multiply’, and simply call that function instead. Give the new entity a name and make it more generally applicable to any two positive integers, and voila, you have formed a new concept: ```clojure (defn multiply [a b] (reduce + (repeat a b))) ``` I think children basically do the same thing in their heads when they learn multiplication for the first time. Keep in mind that [the brain is a computer](https://veritula.com/discussions/133) – as such, it is programmable by the mind. Both `reduce` and `apply` abstract away additional underlying concepts, and both remain available directly if required. As in: despite the integration, our minds retain some public interface for invoking `repeat` and `+` directly. I [used to](https://youtu.be/DHR6roiZjQ8?t=1089) think of such underlying functions as necessarily “implicit” (really I meant ‘inexplicit’), but I now think that’s wrong: the public interface can often be invoked via language, which makes it explicit. (Side note: there’s some overlap between `reduce` and `repeat` because `reduce` itself depends on repetition, so maybe it’s better to use `apply` instead of `reduce`.) We don’t have visiblity into mental concepts like we do source code on an external computer – yet. Hopefully, one day we will develop the requisite technology. Integration is crucial for a properly functioning mind. Without a successful integration/abstraction of the concept of repetition, say, forming new concepts that depend on repetition is much harder. Getting fundamental concepts right is important because, by definition, they feature in many other, higher-level concepts. Imagine you don’t mentally integrate/abstract the concept of repetition. That means anytime you need to use repition in other concepts (ie in other code in your mind), you essentially copy/paste the underlying logic for reptition into those concepts. If you find want to improve your notion of repetition later on, you have to find and update it everywhere. That’s messy and error prone. Reusing integrated concepts is essential to learning and mastery. We can also see how Rand’s notion of the integration of “concepts into wider and ever wider concepts” maps onto ever higher levels of abstraction in code: integrate the concepts of multiplication and repetition, and you get powers. For example, 2 raised to the power of 3 is 2 * 2 * 2. Widening your concepts means “expanding the range of [your] mind.” To be clear, this process isn’t limited to math. Integration is typically *creative:* you need to think about how exactly you want to blend multiple mental units into a new, higher-level concept. Once created, a well-practiced integration becomes *automatic:* the mind can invoke the integrated mental unit directly, without breaking it into its components or really consciously thinking about them at all. I disagree with Rand that the integrated unit “can be broken into its component units *whenever required*” (emphasis mine) – some integrations, like riding a bike, are difficult to break into component units once fully automated. It’s not impossible, but the phrasing “whenever required” makes it sound easier than it really is in some cases. And I say integration is *typically* creative because, as you get more advanced, you develop meta ideas about how to integrate certain mental units, and then those meta ideas can handle such integration for you automatically. For instance, now that you’re already familiar with repeat addition and repeat multiplication, you can figure out repeat powers basically instantly. But even far-reaching meta ideas won’t cover all possible mental units that you could integrate, so *some* integrations will always require creativity. It’s no accident that programmers already understand the epistemological concept of integration, even if they have never heard of objectivist epistemology. There’s a deep underlying truth that I call the *equivalence principle*, which I explain in chapter 6 of [my book](https://www.windowonintelligence.com).