Naur Theory (Programming as Theory Building) A perspective on software development, introduced by Peter Naur, which posits that the primary activity of programming is not the creation of source code (the text), but rather the construction of a detailed mental model (the “theory”) within the programmer’s mind. This “theory” represents a complete understanding of the problem and its solution. The source code is considered an incomplete, secondary documentation of this internal theory, which explains why program comprehension and maintenance are difficult for those who do not possess this mental model.
CoT (Chain-of-Thought) Reasoning process where a Large Language Model (LLM) generates a series of intermediate, step-by-step “thinking” steps to solve a complex problem, rather than providing only the final answer. It is used to enhance a model’s performance on reasoning-intensive tasks, such as mathematics, coding, and scientific reasoning. This paper also notes that increasing the length of this reasoning process can lead to significant improvements.