1

I'm trying to read Anne Kaldewaij's book Programming: The Derivation of Algorithms and he begins the first chapter on "Predicate Calculus" with:

In programming, predicate logic is used as a calculus, as opposed to its use in other disciplines where logic plays a more static role.

I cannot see what does that sentence exactly means, my thoughts about it would be the following: Calculational approaches are a particular way to look at mathematics, or a particular way to use mathematics, so every area of mathematics can be approached as a "calculus", for example, you can see geometry from the standpoint of a calculational approach if you need to. (Symbolic) Logic can be seen in this calculational way in order to apply it to programming. But i have no idea of what calculational does it mean, and cannot find insights by googling only, so I would be grateful if someone can point out some resources or ideas that could help me to understand this. Thanks.

Tankut Beygu
  • 4,412

1 Answers1

0

Kaldewaij's statement points to the dual-aspect conception of logic going back to Leibniz's grand visionary projects calculus ratiocinator and lingua characteristica (the name from the sense of 'character' as alphabetic letter, graphic symbol). In the contemporary parlance, Leibniz's projects correspond to "logic as calculus" and "logic as language," two contrasting perspectives on what logic is and in what ways it can function, which the pioneering founders of modern logic were well aware of: "On the Purpose of Begriffsschrift" (for the original text see, "Über den Zweck der Begriffsschrift" in Begriffsschrift und andere Aufsätze), Frege says

But that reproach [Schröder's reproach that Frege had left Boole's achievements out of account], however, essentially overlooks the fact that my aim was different from Boole's. I did not want to present an abstract logic in formulas, but to express a content using written symbols in a more precise and clearer way than is possible with words.In fact, I did not want to create a mere "calculus ratiocinator", but rather a "lingua characterica"[sic., an error somehow; it should be characteristica] ​​in the Leibnizian sense, although I do recognize that deductive calculation as a necessary component of a conceptual writing system. If this was misunderstood, it is perhaps because I allowed the abstract logic to come too much to the fore in the execution.

As envisaged, calculus ratiocinator is a symbolic formal system that allows for the mechanical manipulation of symbols to perform reasoning. It aims to provide an algorithmic system for solving problems and deriving truths by calculation, much like we use arithmetic or algebra to compute numerical results. Hence, it manipulates symbols procedurally according to fixed syntactic rules.

As such, calculus ratiocinator prefigures many ideas in computational systems and computer-scientific tools related to reasoning, computation, and problem-solving. It provides the algorithmic engine detached from interpretation.

Lingua characteristica is a universal (applicable to all domains of knowledge), formal language that would represent all human knowledge and concepts precisely and unambiguously. It aims to provide a means of encoding all truths and relationships in a systematic and logical way, facilitating clear communication and discovery of new truths. It is semantically oriented; it focuses on the representation of concepts.

Lingua characteristica anticipates developments in formal semantics, formal ontologies, and artificial languages. A great variety of languages (programming, markup, etc.) in computer science/engineering, knowledge representation systems in artificial intelligence are stock examples.

Hence, in the logic as calculus (calculus ratiocinator) perspective, logic is actively employed as a computational tool to manipulate data and produce outcomes (enabling programs to make decisions, derive conclusions, verify hardware, debug software, etc.).

In the logic as language (lingua characteristica) perspective, logic is a medium for representing and communicating thought, aiming to capture and formalise relationships between ideas. It emphasises interpretation, context, and the way logical expressions correspond to real-world truths or concepts.

Specifically, predicate logic as a calculus operates as a calculus of relations that can be executed; logical formulas can be dynamically interpreted as queries or constraints that must be satisfied, whilst in other disciplines like mathematics or philosophy, it functions in a relatively static, descriptive role, representing relationships, focusing on analysis.

These are complementary aspects (not dichotomies) of an organic whole that invite us to see logic not as a monolithic discipline but as a field with multiple roles and perspectives that gain dominance over the others with respect to the demand it is expected to meet. Together, these concepts reflect Leibniz’s ambitious vision of a unified, formal framework for knowledge and reasoning.

Those interested in a historical account of interplay between them may wish to read Jean Van Heijenoort's paper "Logic as Calculus and Logic as Language" and Jan von Plato's critique of it, "Logic as Calculus and Logic as Language: Too Suggestive to be Truthful?".

Tankut Beygu
  • 4,412