Skip to main content
Log in

Computer Science as Immaterial Formal Logic

  • Commentary
  • Published:
Philosophy & Technology Aims and scope Submit manuscript

Abstract

I critically review Raymond Turner’s Computational Artifacts – Towards a Philosophy of Computer Science by placing beside his position a rather different one, according to which computer science is a branch of, and is therefore subsumed by, immaterial formal logic.

This is a preview of subscription content, log in via an institution to check access.

Access this article

Price excludes VAT (USA)
Tax calculation will be finalised during checkout.

Instant access to the full article PDF.

Similar content being viewed by others

Notes

  1. Crisply used by Turner himself in the presentation of his logic TPL (§12.2).

  2. Turner will readily agree that \(I^{\forall E}_{1}\) and the larger specification of which it is usually a part when \(\mathscr{L}_{1}\) is presented makes use of formal languages, which are a crucial part of the seminal philosophy of computer science he gives and defends in (Turner 2018) (see in particular §7.2 therein). Details regarding the particular languages I use in this review are out of scope due to space constraints.

  3. In addition to natural deduction, which is seldom used in automated (deductive) reasoning (but see the seminal Pollock 1995), we e.g. have proof theories based on resolution (which is at the heart of Prolog). For classic coverage of resolution for automated reasoning, see (Wos et al. 1992).

  4. Formalized as follows, and, note, part of both zero-order (\(\mathscr{L}_{0}\)) and first-order (\(\mathscr{L}_{1}\)) logic:

    $$ \frac{\phi \rightarrow \psi; \psi \rightarrow \gamma}{ \phi \rightarrow \gamma} I^{HS}_{0/1}$$
  5. I suspect that Turner would say that he has in fact been occupied at times with what he calls program artifacts, defined in Chap. 5, p. 52. Unsurprisingly, I see program artifacts as having one foot in computer science, and another in computer engineering.

  6. This view is not to be identified with the view I adumbrate herein, but my view is clearly in the same spirit as the view Turner encapsulates in his overview. (My view can also be viewed as a broadening and abstraction of what Turner (in his Chap. 1 of Computational Artifacts) calls “the Dijkstra-Hoare core.”) One thing that prohibits identification is the fact that while my view of what computer science is falls generally in line with the computer-science-as-mathematics position as described by Turner, I am a thoroughgoing immaterialist (some might say a “Platonist,” but since Plato had no idea what, say, an infinite ordinal such as even ω is, the label would surely be inaccurate), and it is not clear that those Turner classifies under computer-science-as-mathematics (e.g., Dijkstra) are. For a nice treatment of the main ways of viewing what computer science fundamentally is, see a paper Turner himself draws from: (Eden 2007). It may be, by the way, that different views of computer science can be developed in terms of the relevant notion of information at the various levels of abstraction that computer science as a discipline requires (see Primiero 2016).

  7. A variant of Objection 1, pointed out to me by Henri Salha (I confessedly express the objection with a bit of a harder edge than what Henri wrote to me in personal communication), is as follows:

    Objection 1

    “Your logicist view of computer science is U.S./U.K.-based, alas. In Continental Europe, e.g. France, informatique théorique is often reserved to denote the scientific, theoretical (and small) part of all human activities related to — in the most general sense — computers. In the case of just informatique, what is referred to is the full set of such activities. Given this context, you simply disagree with Turner only on the scope of what we should count as computer science.”

    In reply, yes, I certainly do disagree with Turner (and apparently with the U.S./U.K. computing establishment) about the scope of what should count as true computer science. I am happy to admit that on the Continent, and perhaps elsewhere, my contra-Turner position might not have full traction—but I confess that I doubt that is the case. One reason is that I doubt informatique théorique is all and only thoroughgoingly logicist in e.g. France. (Theoretical computer science (as it is called) is incidentally not purely logicist in the U.S./U.K.) I also doubt that the generic informatique space includes substantial application-oriented activity that is logicist. Of course, I may be wrong: I am a lifelong New Yorker. But of this I am sure: The teaching of computer programming, especially in the US (where “computational thinking” is ill-advisedly taken to consist in thinking procedurally) K–12 system, is pretty much nothing more than to teach procedural programming, with a dash of object-oriented spice. This is e.g. revealed in (Rapaport 2019), recently reviewed in (Bringsjord 2018b).

  8. This may be a good place to bring to the reader’s attention that De Mol and Primiero (2015) provide a treatment of links between logic and the history/philosophy of computer science—but the role they see for logic is Turneresque. They e.g. write:

    … logic and technology work together, from the lowest hardware level, governed by Boolean circuits and arithmetical operations in the stack memory; through the structure of assignment, sequencing, branching and iteration operations defining modern high-level programming languages; up to the equivalent abstract formulations of recursive definitions for algorithms. (De Mol & Primiero 2015, p. 196)

    Following on this comes a lucid treatment of some of the roles of logic in computer science, but by now the reader will be able to predict that since my view, distilled, is that computer science is a branch of logic, and hence the role of logic is—put starkly—that not of contributor but rather ruler, De Mol and Primiero’s essay is, like Turner’s, ultimately at odds with my position, at least to a significant degree.

  9. For an impressive implementation of \(\mathbb {R}\), the reader can obtain and study Govindarajulu’s (2016) ShadowProver.

  10. One longstanding class of “fragment” logic machines (not, I confess, recognized as such until now; they fell under Gardner’s (1958) naïve sense of logic machine) corresponds to syllogistic reasoning. For example, a member of the class was physicalized by Marquand (1885). Formally, with more space available, we could specify and consider the logic machine \(\mathfrak {M}^{Org}_{1}\), which computes Aristotle’s tiny fragment \(\mathscr{L}^{Org}_{1}\) of \(\mathscr{L}_{1}\), set out in his Organon. The machine I have in mind has an inferential theory that includes from above \(I_{1}^{\forall E}\) and \(I_{0/1}^{HS}\), and \(I_{1}^{\forall I}\) (universal introduction), which, e.g., suffice for this machine’s automated reasoner to answer that Yes the syllogism Barbara is valid, and supply a confirming proof. See (Smith 2017) for an overview of Aristotle’s logic, and turn to (McKeon 1941) to study the primary source.

  11. Logic machines are obviously in most cases Delphic, and relate therefore analogically to the use of oracles in charting relative computability.

  12. Of course, how one might go about building the automated reasoner for \(\mathfrak {M}_{1}\) is a separate, and challenging, question.

  13. A very brief but sharp overview of \(\mathscr{L}_{\omega _{1} \omega }\) is given in Chap. IX §2 of (Ebbinghaus et al. 1994).

  14. Of course, sometimes no proof will be found, but e.g. a timeout notification will be supplied. For further details, see (Bringsjord 2018a). As wisely noted by Dowek (2015), there is no reason why an automated reasoner working in connection with Turing-undecidable logics can not be allowed to return a timeout message.

References

  • Arkoudas, K., & Bringsjord, S. (2007). Computers, Justification, and Mathematical Knowledge. Minds and Machines, 17(2), 185–202. http://kryten.mm.rpi.edu/ka_sb_proofs_offprint.pdf.

    Article  Google Scholar 

  • Benzmüller, C., & Paleo, B.W. (2014). Automating Gödel’s Ontological Proof of God’s Existence with Higher-order Automated Theorem Provers. In Schaub, T., Friedrich, G., O’Sullivan, B. (Eds.) Proceedings of the European Conference on Artificial Intelligence 2014 (ECAI 2014). http://page.mi.fu-berlin.de/cbenzmueller/papers/C40.pdf (pp. 93–98). Amsterdam: IOS Press.

  • Boolos, G.S., Burgess, J.P., Jeffrey, R.C. (2003). Computability and Logic, 4th edn. Cambridge: Cambridge University Press.

    Google Scholar 

  • Bringsjord, S. (2015). A Vindication of Program Verification. History and Philosophy of Logic, 36(3), 262–277. http://kryten.mm.rpi.edu/SB_progver_selfref_driver_final2_060215.pdf. This url goes to a preprint.

    Article  Google Scholar 

  • Bringsjord, S. (2018a). Introducing Pure General Logic Programming (PGLP). Paris: Agence Nationale de la Recherche (ANR). http://kryten.mm.rpi.edu/PRES/SBringsjord_PGLP_Bertinoro.pdf. The URL provided here goes to the slide deck for the lecture in which PGLP was introduced. In Bertinoro, Italy, at the conference center there owned by the University of Bologna. The deck provides details on PGLP.

  • Bringsjord, S. (2018b). Logicist Remarks on Rapaport on Philosophy of Computer Science+. Newsletter on Philosophy and Computers, 18(1), 28–31. http://kryten.mm.rpi.edu/SBonBR.pdf. The URL here is to a preprint only.

  • Bringsjord, S., Govindarajulu, N., Banerjee, S., Hummel, J. (2018). Do Machine-Learning Machines Learn?. In Müller V (Ed.) Philosophy and Theory of Artificial Intelligence 2017. http://kryten.mm.rpi.edu/SB_NSG_SB_JH_DoMachine-LearningMachinesLearn_preprint.pdf. This book is Vol.44 in the book series. The paper answers the question that is its title with a resounding No. A preprint of the paper can be found via the URL given here. (pp. 136–157). Berlin: Springer SAPERE.

  • De Mol, L., & Primiero, G. (2015). When Logic Meets Engineering: Introduction to Logical Issues in the History and Philosophy of Computer Science. History and Philosophy of Logic, 36(3), 195–204.

    Article  Google Scholar 

  • Dowek, G. (2015). Computation, Proof, Machine: Mathematics Enters a New Age. Cambrige: Cambridge University Press.

    Book  Google Scholar 

  • Ebbinghaus, H.D., Flum, J., Thomas, W. (1994). Mathematical Logic, 2nd edn. New York: Springer.

    Book  Google Scholar 

  • Eden, A. (2007). Three Paradigms of Computer Science. Minds and Machines, 17(2), 135–167.

    Article  Google Scholar 

  • Gardner, M. (1958). Logic Machines and Diagrams. New York: McGraw-Hill.

    Google Scholar 

  • Govindarajulu, N.S. (2016). ShadowProver. https://naveensundarg.github.io/prover/.

  • Govindarajulu, N., & Bringsjord, S. (2017). On Automating the Doctrine of Double Effect. In Sierra, C. (Ed.) Proceedings of the Twenty-Sixth International Joint Conference on Artificial Intelligence (IJCAI-17), International Joint Conferences on Artificial Intelligence. https://doi.org/10.24963/ijcai.2017/658 (pp. 4722–4730).

  • Marquand, A. (1885). A New Logical Machine. Proceedings of the American Academy of Arts and Sciences, 21, 303.

    Article  Google Scholar 

  • McKeon, R. (Ed.). (1941). The Basic Works of Aristotle. New York: Random House.

  • Pollock, J. (1995). Cognitive Carpentry: A Blueprint for How to Build a Person. Cambridge: MIT Press.

    Book  Google Scholar 

  • Primiero, G. (2016). Information in the Philosophy of Computer Science. In Floridi, L. (Ed.) The Routledge Hhandbook of Philosophy of Information (pp. 90–106). New York: Routledge.

  • Rapaport, W.J. (2019). Philosophy of Computer Science. http://www.cse.buffalo.edu/~rapaport/Papers/phics.pdf, Current draft in progress at the URL given here.

  • Ross, J. (1992). Immaterial Aspects of Thought. The Journal of Philosophy, 89(3), 136–150.

    Article  Google Scholar 

  • Smith, R. (2017). Aristotle’s Logic. In Zalta, E. (Ed.) The Stanford Encyclopedia of Philosophy. https://plato.stanford.edu/entries/aristotle-logic.

  • Turner, R. (2009). Computable Models. London: Springer.

    Book  Google Scholar 

  • Turner, R. (2018). Computational Artifacts: Towards a Philosophy of Computer Science. Berlin: Springer. This volume is in the Series Theory and Applications of Computability.

    Book  Google Scholar 

  • Turner, R., & Angius, N. (2017). The Philosophy of Computer Science. In Zalta, E. (Ed.) The Stanford Encyclopedia of Philosophy, http://plato.stanford.edu/entries/computer-science.

  • Wos, L., Overbeek, R., Lusk, E., Boyle, J. (1992). Automated Reasoning: Introduction and Applications. New York: McGraw Hill.

    Google Scholar 

Download references

Acknowledgments

I am indebted to France’s ANR, and specifically to the PROGRAMme project it supports, for the opportunity to interact with that project’s brilliant investigators (including special-editor Giuseppe Primiero) regarding the nature of computer science. Among that group, Henri Salha’s comments were particularly enlightening and stimulating, and I thank him. PROGRAMme is led by the sagacious and indefatigable Liesbeth De Mol, who in particular has taught me much. Another sponsor, AFOSR (Grant FA9550-17-1-0191), has made it possible for me to explore (with colleagues) high levels of computational intelligence, and the corresponding logic-machines hierarchy \(\mathfrak {LM} \) described herein; I am very grateful. I thank special-editor Giuseppe Primiero for having envisioned the forum of which this critical paper is a part, and for overseeing it masterfully. While his fundamental position is not one I embrace, the opportunity to discuss directly with Ray Turner has been invaluable, and perhaps additional oenologically spiced discussions will serve to convince him that the glorious non-physical universe of formal logic suffices for all he himself deeply values in computer science.

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Selmer Bringsjord.

Additional information

Publisher’s Note

Springer Nature remains neutral with regard to jurisdictional claims in published maps and institutional affiliations.

Rights and permissions

Reprints and permissions

About this article

Check for updates. Verify currency and authenticity via CrossMark

Cite this article

Bringsjord, S. Computer Science as Immaterial Formal Logic. Philos. Technol. 33, 339–347 (2020). https://doi.org/10.1007/s13347-019-00366-7

Download citation

  • Received:

  • Accepted:

  • Published:

  • Issue Date:

  • DOI: https://doi.org/10.1007/s13347-019-00366-7

Keywords

Navigation